An Overview of Peer-to-Peer
Sami Rollinshttp://www.cs.ucsb.edu/~srollins
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 peer’s 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 ComputingSETI@home
File SharingGnutella
CollaborationJabber
PlatformsJXTA
Distributed Computing
Collaboration
sendMessage receiveMessage sendMessage receiveMessage
Collaboration
sendMessage receiveMessage sendMessage receiveMessage
Platforms
Find Peers … Send Messages
Gnutella Instant 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
CentralizedBob Alice
JaneJudy
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
001 012
212
305
332
212 ?
212 ?
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 Rollinshttp://www.cs.ucsb.edu/~srollins
Mills College – 2/25/03
Modified version of slide from another presentation
CAN: simple example
1 2 3 4 5 6 70
1
2
3
4
5
6
7
0
n1
Modified version of slide from another presentation
CAN: simple example
1 2
Modified version of slide from another presentation
CAN: simple example
1
2
3
Modified version of slide from another presentation
CAN: simple example
1
2
3
4
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
I
new node1) 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
newJ
4) split J’s zone in half… new owns one half
Remaining Problems?
Remaining Problems?
• Hard to handle highly dynamic environments
• Methods don’t consider peer characteristics
• Usable services
P2P Goals/Benefits
• Cost sharing
• Resource aggregation
• Improved scalability/reliability
• Increased autonomy
• Anonymity/privacy
• Dynamism
• Ad-hoc communication
Top Related