1 / 49

A Survey of Peer-to-Peer Content Distribution Technologies

A Survey of Peer-to-Peer Content Distribution Technologies. Stephanos Androutsellis-Theotokis and Diomidis Spinellis ACM Computing Surveys, December 2004 Presenter: Seung-hwan Baek Ja-eun Choi. Outline. Overview of P2P P2P Motivation P2P Characteristics & Benefits

regina
Télécharger la présentation

A Survey of Peer-to-Peer Content Distribution Technologies

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Survey of Peer-to-Peer Content Distribution Technologies StephanosAndroutsellis-Theotokis and DiomidisSpinellis ACM Computing Surveys, December 2004 Presenter: Seung-hwanBaek Ja-eun Choi

  2. Outline • Overview of P2P • P2P Motivation • P2P Characteristics & Benefits • P2P Application Types • P2P Classification • Unstructured: Gnutella, Kazaa, Napster • Structured: Freenet, Chord, CAN, Tapestry • Other Aspects • Conclusions

  3. P2P Motivation Client/Server Architecture: • Well known, powerful, reliable server is a data source • Clients request data from server • Very successful model WWW (HTTP), FTP, Web services, etc.

  4. P2P Motivation (Cont’d) Client/Server Limitation: • Scalability is hard to achieve • Presents a single point of failure • Requires administration • Unused resources at the network edge P2P systems try to address these limitations

  5. P2P Characteristics P2P Computing: • P2P computing is the sharing of computer resources and services by direct exchange between systems. • These resources and services include the exchange of information, processing cycles, cache storage, and disk storage for files. • P2P computing takes advantage of existing computing power, computer storage and networking connectivity, allowing users to leverage their collective power to the ‘benefit’ of all.

  6. P2P Characteristics (Cont’d) P2P Characteristics: • All nodes are both clients and servers • Provide and consume data • Any node can initiate a connection • No centralized data source Nodes collaborate directly with each other (not through well-known servers) • Network is dynamic Nodes enter and leave the network “frequently”

  7. P2P Benefits • Ease of administration • Nodes self-organize adaptively • No need to deploy servers to satisfy demand (c.f. scalability) • Built-in fault tolerance, replication, and load balancing • Scalability • Consumers of resources also donate resources • Aggregate resources grow naturally with utilization • Reliability • Geographic distribution • No single point of failure

  8. P2P Application Types • Direct real-time communication: instant messaging • Combine processing power of multiple distributed machines to perform complex computations: analysis of SETI data, prime computation • Distributed database systems • Store and distribute digital content: mp3 file sharing (Content Distribution)

  9. P2P Classification Architecture Types: • Unstructured • Structured • Loosely structured Here, By structure, we refer to whether overlay network is created non-deterministically or whether it’s created based on a specific rules

  10. P2P Classification (Cont’d) Data organization Centralization

  11. Unstructured Architectures • Placement of content is unrelated to overlay topology • Search mechanism is required. • Appropriate for case of highly-transient node population Degrees of centralization: • Purely Decentralized • Partially Centralized • Hybrid Decentralized

  12. Purely Decentralized download request registration reply registration reply query query query query query registration registration query registration • Purely Decentralized • No central coordination • Users (servents) connect to each other directly. • Gnutella architecture • Query: Flooding • Send messages to all neighbors • Response: Route back • Scalability Issues • With TTL, virtual horizon • Without TTL, unlimited flooding • E.g., Gnutella, FreeHaven

  13. Partially Centralized registration query reply request download query reply • Partially Centralized • Supernodes • Indexing & caching files of small subpart of the peer network • Peers are automatically elected to become supernodes. • Advantages • Reduced discovery time • Normal nodes will be lightly loaded. • E.g., Kazaa, Edutella, Gnutella (later version)

  14. Hybrid Decentralized resigtration reply query request download • Hybrid Decentralized • Central directory server • User connection info. • File & metadata info. • Advantages • Simple to implement • Locate files quickly and efficiently • Disadvantages • Vulnerable to technical failure • Inherently unscalable • E.g., Napster, Publius

  15. Outline • Overview of P2P • P2P Motivation • P2P Characteristics & Benefits • P2P Application Types • P2P Classification • Unstructured: Gnutella, Kazaa, Napster • Structured: Freenet, Chord, CAN, Tapestry • Other Aspects • Conclusions

  16. Structured Architectures • Features • Mapping of content and location • Scalable solution for exact-match queries • Examples • Freenet • Chord • CAN • Tapestry

  17. Freenet • Loosely Structured System • Chain mode propagation • Each node • Local data store • Dynamic routing table • ( node address, file key ) • Each file • Unique binary key

  18. Freenet (Cont’d) • Messages • Node ID, Timeout, Src ID, Dst ID • Message types • Data insert : key, data • Data request : key • Data reply : file • Data filed : failure location, reason

  19. Freenet (Cont’d) • Data Insert • Calculates a binary key • Sends a data insert message to itself • Receiving a Data Insert message • If not taken • Store the data • Forwards to the closest key’s owner • If taken • Returns the preexisting file

  20. Freenet (Cont’d) • Data Request • Chain mode propagation • Receiving a Data Request • If locally stored • The search stops and the data is forwarded back • If not • Forwards to the closest key’s owner

  21. Freenet (Cont’d) • Data Fail • Timeout (hops-to-live) • Receiving a Data Failed Message • Forwards the request to the next best node • After failed through all neighbors, Sends back data filed message to the request sender

  22. Freenet (Cont’d) • Data Reply • Includes the actual data • Passed back through the chain • The data is cached in all intermediate nodes • A subsequent request w/ the same key → served immediately • A request for a similar key → forwarded to the node that previously provided the data

  23. Freenet (Cont’d) • Indirect Files • A special class of lightweight files • Named according to search keywords • Contain pointers to the real file • Multiple files w/ the same key

  24. Freenet (Cont’d) • Indirect Files

  25. Freenet (Cont’d) • Properties • Nodes specialize in searching for similar keys • Nodes store similar keys • Similarity of keys does not reflect similarity of files • Routing does not reflect the underlying network topology

  26. Chord • Nodes and Files are identified by keys • m-bit identifiers • a deterministic hash function • Mapping File ID onto Node ID • Nodes store (key, data item) pairs

  27. Chord (Cont’d) • A Chord Identifier Circle

  28. Chord (Cont’d) • Simple Key Location

  29. Chord (Cont’d) • Scalable Key Location

  30. Chord (Cont’d) • Simple Key Location • Routing Information: Successor pointer • O( n ) • Scalable Key Location • Routing Information: Finger Table • O( logn )

  31. Chord (Cont’d) • Node Joining • Certain keys assigned to its successor are reassigned to it • Node Departing • Keys are reassigned to its successor

  32. Chord (Cont’d) • Node Joining • N26 joins the network

  33. CAN Content Addressable Network • Hash Table • Maps file names to their location • ( key K, value V ) pairs stored • Each node storing a part of the hash table • A “zone”

  34. CAN (Cont’d) • Virtual coordinate space • A zone corresponds to a segment of space • Key K is mapped onto a point P • A deterministic function • ( K, V ) is stored at the node responsible for P

  35. CAN (Cont’d) • Virtual coordinate space

  36. CAN (Cont’d) • Retrieve • Map K to P • Retrieve the value from the node covering P • Routing • Request is routed to the node covering P • Nodes maintain a routing table • Addresses of Nodes holding adjoining zones • Following the straight line path in the space

  37. CAN (Cont’d) • Routing

  38. CAN (Cont’d) • Node Joining • Allocatedits own portion of the space • By splitting the zone of an existing node • Node Departing • Hand over hash table entries to one of its neighbors

  39. Tapestry • Location and Routing Infrastructure • Self Administeration • Fault Tolerance • Stability • By bypassing failed routes and nodes • Plaxton Mesh • Routing mechanism • Location mechanism

  40. Tapestry (Cont’d) • Routing Mechanism • Neighbor Maps • Local routing maps • Incrementally route messages • Multiple levels • Level l → node ID matched w/ l digits • Multiple entries • The number equals to the base of the ID • Pointer to the closest node in the network

  41. Tapestry (Cont’d) • Neighbor Map of Node w/ ID 67493

  42. Tapestry (Cont’d) • Routing Path from 67493 to 34567 • xxxx7 → xxx67 → xx567 → x4567→ 34567

  43. Tapestry (Cont’d) • Location Mechanism • Root node • Provide a guaranteed node from which the object can be located • Assigned when an object is inserted • A globally consistent deterministic algorithm • When inserted • Server node Ns, object O, root node Nr • Message routed to Ns to Nr • (O, Ns) stored along the routing path

  44. Tapestry (Cont’d) • Location Mechanism • Location query • Messages destined for O • Initially routed toward to Nr • Meet a node containing (O, Ns) mapping

  45. Tapestry (Cont’d) • Advantages of Plexton Mesh • Simple fault-handling • Routing by choosing a node w/ a similar suffix • Scalability • w/ the only bottleneck (root nodes) • Limitations • The need for global knowledge • Assigning and identifying root nodes • The vulnerability of the root nodes

  46. Tapestry (Cont’d) • Extending Plaxton mesh’s Design • Plaxton mesh assumes a static node population • Tapestry adapts it to the transient population • Adaptibility • Fault tolerance • Optimizations

  47. Tapestry (Cont’d) • Optimizations • Back-pointers for dynamic node insertion • Flexible concept of distance between nodes • Maintain cached content for failures • Multiple roots to each object • Adapt to environment changes

  48. Other Aspects • Content Caching, Replication and Migration • Security • Provisions for Anonymity • Provisions for Deniability • Incentive Mechanisms and Accountability • Resource Management Capability • Semantic Grouping of Information

  49. Conclusions • Study of P2P Content Distribution Systems • Properties • Design features • Location and routing algorithms • Two Categories • Unstructured system • Structured system • Remains Open Research Problems

More Related