1 / 20

Effizientes Routing in P2P Netzwerken

Effizientes Routing in P2P Netzwerken. Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications. Dennis Schade. Outline. Short introduction to P2P systems Chord System Model Chord Algorithm Simulation Results Future Work. Basic principles sharing ressources

ita
Download Presentation

Effizientes Routing in P2P Netzwerken

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. Effizientes Routing in P2P Netzwerken Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications Dennis Schade

  2. Outline • Short introduction to P2P systems • Chord System Model • Chord Algorithm • Simulation Results • Future Work

  3. Basic principles sharing ressources decentralization self-organization Main advantages no Single Point of Failure load balancing scalability Main problems load balancing decentralization self-organization availability scalability efficient node localization Introduction to P2P Systems

  4. Addressing data Data addressed by a Hashtable • calculating hashvalues for keys • storing reference to data identified by hashvalues In P2P systems the hashtable is • partitioned • distributed over peers Such a hashtable is called distributed hashtable (DHT)

  5. Chord: A Scalable Peer-to-peer Lookup Protocol • Efficient node localization • Distributed lookup protocol • Only one operation: given a key, Chord maps the key onto a node • Simplicity, provable performance, proven correctness

  6. The Chord System Model • Every node has an unique identifier • Identifiers are arranged on a identifier circle modulo 2m • m is called exponent of the ring • Nodes know their successor and predecessor

  7. The Chord System Model • key k is assigned to the node whose identifier is equal to or greater than k • this node is called successor(k) • it is the first node clockwise from k. • lookup(k) returns responsible peer

  8. The Chord algorithm -Simple node localization // ask node n to find the successor of id n.lookup(id) if (id  (n; successor]) return successor; else // forward query around the circle return successor.lookup(id); Number of messages linear in number of nodes

  9. The Chord algorithm –Scalable node localization • Each node holds additional routing information to accelerate lookups • nodes have a so called finger table with up to m entries • ith finger table entry at node x points to the first node y that succeds x‘s ID by at least 2i-1 • y = lookup(x.ID + 2i-1)

  10. Example: Scalable node localization finger[i] = lookup(x.ID + 2i-1)

  11. The Chord algorithm –Scalable node localization • search in finger table for the node n which most immediatly precedes key k • n.lookup(k) Number of messages: O(log N)

  12. The Chord algorithm –Node joins and stabilization ? (1) (2) (3)

  13. The Chord algorithm –Node joins and stabilization Stabilization protocol for a node x: • x.stabilize(): • ask successor y for its predecessor p • if p (x; y] then p is x‘s new successor • x.notify(): • notify x‘s successor p of x‘s existence • notified node may change predecessor to x

  14. The Chord algorithm –Node joins and stabilization (1) (2) (3)

  15. fingertable stabilizer ftableupdate lookup Mediator server clients Implementation Overview N56

  16. Implementation Demonstration

  17. Simulation & test results Test conditions • fully populated chord ring of size 8, 16 and 32 • correct fingertables • no node joins • no node departure • communication over loopback device

  18. Simulation & test results Test results • number of forwardings in O(log N) • bandwidth usage (TCP) ≤ 1 KB/s • bandwidth usage (UDP) ≤ 2.5 KB/s • average lookup time is ≤ 50 ms

  19. Future work • Impact on lookups • random node joins and departures • incorrect finger tables • improvements in communication protocol • support of node distances • S-Chord

  20. Questions & Discussion Thank you for attention! Questions?

More Related