Peer-to-Peer Content Sharing
E N D
Presentation Transcript
P2P File Sharing Benefits • Why use a P2P model for a file sharing application?
Research Areas • Peer discovery and group management • Data placement and searching • Reliable and efficient file exchange • Security/privacy/anonymity/trust
Design Concerns • Group Management • Per-node state • Load balancing • Fault tolerance/resiliency • Search • Bandwidth usage • Time to locate item • Success rate • Fault tolerance/resiliency
Approaches • Centralized • Unstructured • Structured (Distributed Hash Tables)
Centralized Bob Alice • Napster model • Benefits: • Drawbacks: Judy Jane
Centralized Bob Alice • Napster model • Benefits: • Low per-node state • Limited bandwidth usage • Short location time • High success rate • Fault tolerant • Drawbacks: • Central point of failure • Limited scale • Possibly unbalanced load Judy Jane
Unstructured Carl Jane • Gnutella model • Benefits: • Drawbacks: Bob Alice Judy
Unstructured Carl Jane • Gnutella model • Benefits: • Limited per-node state • Fault tolerant • Drawbacks: • High bandwidth usage • Long time to locate item • No guarantee on success rate • Possibly unbalanced load Bob Alice Judy
Structured 001 012 • FreeNet, Chord, CAN, Tapestry, Pastry model • Benefits: • Drawbacks: 212 ? 212 ? 332 212 305
Structured 001 012 • FreeNet, Chord, CAN, Tapestry, Pastry model • Benefits: • Manageable per-node state • Manageable bandwidth usage and time to locate item • Guaranteed success • Drawbacks: • Possibly unbalanced load • Harder to support fault tolerance 212 ? 212 ? 332 212 305
Improvements: SuperPeers • KaZaA model • Hybrid centralized and unstructured • Advantages and disadvantages?
Other Improvements • Caching indices • Push vs pull • Building communities/directed search • Replication of content • Enables load balancing – how?