An Overview of Peer-to-Peer Sami Rollins
Outline What is P2P? Scope of P2P Applications File Sharing Applications System Design Challenges Approaches to P2P System Design Concluding Discussion
What is Peer-to-Peer (P2P)?
What is a peer? …an entity with capabilities similar to other entities in the system.
The Web Model Contact a server and download a web page. Server has all the resources and capabilities.
The P2P Model A peers resources are similar to the resources of the other participants P2P – peers communicating directly with other peers and sharing resources
P2P Application Taxonomy P2P Systems Distributed Computing File Sharing Gnutella Collaboration Jabber Platforms JXTA
Distributed Computing
Collaboration sendMessagereceiveMessagesendMessagereceiveMessage
Collaboration sendMessagereceiveMessagesendMessagereceiveMessage
Platforms Find Peers…Send Messages GnutellaInstant Messaging
P2P File Sharing Content exchange –Gnutella File systems –Oceanstore Filtering/mining –Opencola
Challenges Peer discovery and group management Data location and placement Reliable and efficient file delivery Security/privacy/anonymity/trust
Design Concerns Per-node state Bandwidth usage Search time Fault tolerance/resiliency
Approaches Centralized Flooding Document Routing
Centralized BobAlice JaneJud y
Centralized Benefits: –Efficient search –Limited bandwidth usage –No per-node state Drawbacks: –Central point of failure –Limited scale
Flooding Bob Alice Jane Judy Carl
Flooding Benefits: –No central point of failure –Limited per-node state Drawbacks: –Slow searches –Bandwidth intensive
Document Routing ?
Document Routing Benefits: –More efficient searching –Limited per-node state Drawbacks: –Limited fault-tolerance vs redundancy
Points of Discussion Do P2P applications/systems have common research questions? What are the killer apps for P2P systems? What are the benefits of choosing P2P?
An Overview of Peer-to-Peer Sami Rollins Mills College – 2/25/03
Modified version of slide from another presentation CAN: simple example n1
Modified version of slide from another presentation CAN: simple example 12
Modified version of slide from another presentation CAN: simple example 1 2 3
Modified version of slide from another presentation CAN: simple example
Modified version of slide from another presentation CAN: simple example
Modified version of slide from another presentation CAN: routing table
Modified version of slide from another presentation CAN: routing (a,b) (x,y)
Modified version of slide from another presentation CAN: node insertion Bootstrap node 1) Discover some node I already in CAN new node
Modified version of slide from another presentation CAN: node insertion I new node 1) discover some node I already in CAN
Modified version of slide from another presentation CAN: node insertion 2) pick random point in space I (p,q) new node
Modified version of slide from another presentation CAN: node insertion (p,q) 3) I routes to (p,q), discovers node J I J new node
Modified version of slide from another presentation CAN: node insertion new J 4) split Js zone in half… new owns one half
Remaining Problems?
Hard to handle highly dynamic environments Methods dont consider peer characteristics Usable services
P2P Goals/Benefits Cost sharing Resource aggregation Improved scalability/reliability Increased autonomy Anonymity/privacy Dynamism Ad-hoc communication