25
peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

Embed Size (px)

Citation preview

Page 1: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing

Peer-to-Peer Computing: Introduction

Page 2: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 2

Introduction• Peer-to-peer (P2P):

– Systems/applications that employ distributed resources to perform a critical function in a decentralised manner

Resources:– Computing power– Data (storage space or contents)– Bandwidth– Presence (computer, human, resource)

Functions:– Distributed computing– Data/content sharing– Communication/collaboration

Decentralisation:– Algorithms– Data/meta-data– Both

Page 3: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

• Evolution of network computing:

peer-to-peer and agent-based computing 3

Introduction (Cont’d)

Clients

Servers

Client-Server Silos

Clients

Servers

Internet Computing

Internet

Peer-to-Peer

Page 4: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 4

Introduction (Cont’d)• P2P systems

– May retain centralisation in some parts– Typically reside on the edges of Internet– Also found in ad-hoc networks

• P2P computing is an alternative to– Centralised– Client/server

models of computing

peersclients

server

Page 5: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 5

A bit of history• P2P is a natural evolution:

– Software engineering trends towards distributed systems

– Availability of powerful networked computers and inexpensive bandwidth

• P2P is not new (although the term is…)• Early attempts:

– USENET (1979) for newsgroups (still in use…)– FidoNet (1984) for exchanging message among

different BBS systems (still in use…)

Page 6: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 6

Why P2P?• Cost sharing or reduction

– Servers bear the brunt of costs in DS• Improve scalability and reliability

– More peers can be added at will– If a peer fails to deliver, another steps in…

• Resource aggregation and interoperability– E.g., distributed file systems

• Increase autonomy • Promote anonymity and privacy• Support highly dynamic environments• Enable ad-hoc communication/collaboration

Page 7: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 7

Some terminology…• Client:

– Computing entity that initiates requests– Not able to serve requests

• Server:– Computing entity that serves requests– Not able to initiate requests

• Peer:– Computing entity with similar capabilities as other entities in the

system• P2P Model:

– Peers share their resources with a limited interaction with a centralised server

– Peers are simultaneously client and servers

Page 8: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 8

A case study: Napster• P2P network (http://www.napster.com)• History:

– Born in 1999 (universities notice first…)– Mid 2001: shut down service– 2002: all but gone!

• Members can:– Connect directly to other member’s computers– Search hard drives for digital music files

Page 9: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 9

A case study: Napster (Cont’d)• How it works:

Napster’s Computer

Participant’s computer

Local MP3 FilesParticipant’s

computer

Local MP3 Files

Index of MP3 files and addresses of participants

Participant’s computer

Local MP3 Files

Page 10: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 10

A case study: Napster (Cont’d)• How it works:

Napster’s Computer

Participant’s computer

Local MP3 FilesParticipant’s

computer

Local MP3 Files

Index of MP3 files and addresses of participants

Participant’s computer

Local MP3 Files

1. Send local file information to Napster

Page 11: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 11

A case study: Napster (Cont’d)• How it works:

Napster’s Computer

Participant’s computer

Local MP3 FilesParticipant’s

computer

Local MP3 Files

Index of MP3 files and addresses of participants

Participant’s computer

Local MP3 Files1. Send local file information to Napster

Page 12: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 12

A case study: Napster (Cont’d)• How it works:

Napster’s Computer

Participant’s computer

Local MP3 FilesParticipant’s

computer

Local MP3 Files

Index of MP3 files and addresses of participants

Participant’s computer

Local MP3 Files

1. Send local file information to Napster

Page 13: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 13

A case study: Napster (Cont’d)• How it works:

Napster’s Computer

Participant’s computer

Local MP3 FilesParticipant’s

computer

Local MP3 Files

Index of MP3 files and addresses of participants

Participant’s computer

Local MP3 Files

2. Request to search a target file

Page 14: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 14

A case study: Napster (Cont’d)• How it works:

Napster’s Computer

Participant’s computer

Local MP3 FilesParticipant’s

computer

Local MP3 Files

Index of MP3 files and addresses of participants

Participant’s computer

Local MP3 Files

3. Address of Participant with the target file

Page 15: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 15

A case study: Napster (Cont’d)• How it works:

Napster’s Computer

Participant’s computer

Local MP3 FilesParticipant’s

computer

Local MP3 Files

Index of MP3 files and addresses of participants

Participant’s computer

Local MP3 Files

4. Send a request to transfer target file

Page 16: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 16

A case study: Napster (Cont’d)• How it works:

Napster’s Computer

Participant’s computer

Local MP3 FilesParticipant’s

computer

Local MP3 Files

Index of MP3 files and addresses of participants

Participant’s computer

Local MP3 Files5. Transfer target file

Page 17: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 17

A case study: Napster (Cont’d)• File download directly between members’

computers, bypassing the central computer• Central computer necessary for initial contact,

though.• Over 36 million people joined Napster• Limitation: only music files• Legal issues concerning copyrighted material being

freely distributed:– Napster never stored any MP3 files!– It provided means for people to exchange such files,

though…

Page 18: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 18

P2P applications• Three (3) main classes of P2P applications have

emerged:– Parallelisable– Content and file management– Collaborative

Page 19: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 19

P2P parallelisable applications• Large task is split into subtasks which are

performed by peers.• Principle:

– Idle time of computers can be used to solve complex problems.

• In some cases, same task is performed by different peers using different parameters

• Examples:– SETI@Home (Search for Extra-Terrestrial Intelligence)– Intel’s Philanthropic Peer-to-Peer Program (“Progress

thru Processors”)

Page 20: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 20

P2P content & file management• Storage and retrieval of information on/from peers• Peers can search for and download files that other

peers have made available• Current systems rely on users to

– Choose which peer to download file from– Retry if download fails

• Examples:– Napster (www.napster.com)– Gnutella (www.gnutella.com)

Page 21: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 21

P2P collaborative applications• Allow users to collaborate in real-time• Do not rely on central servers to collect and relay

information• Examples:

– Instant messaging (ICQ, AOL, MSN, Yahoo!)– Co-authoring tools (Distributed Powerpoint)– Massive Multiplayer Online Games (MMOG)

Page 22: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 22

P2P: target environments• Target environments:

– Internet, intranets and ad-hoc networks• Most frequently:

– Personal computers connected to the Internet• New trend:

– P2P for ad-hoc networks of handheld devices

Page 23: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 23

P2P markets• Three main markets:

– Consumer– Enterprise– Public

Consumer:– Content and file sharing– Instant messaging– Games

Enterprise:– B2B– Finances– Entertainment (e.g. VOD)

Public:– Information sharing– Education

Page 24: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 24

P2P: an informal architecture• P2P

– is not syndicated,– hence there is not one unique architecture

Page 25: Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction

peer-to-peer and agent-based computing 25

P2P: an informal architecture• One possible architecture is:

communication

discovery

security resource aggregation reliability

scheduling meta-data messaging management

tools applications services

locating and routing

Application-specific Layer

Class-specific Layer

Robustness Layer

Group management Layer

Communication Layer