240 likes | 376 Views
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications. Ennan Zhai enzhai@pku.edu.cn Dec. 11th 2008. Abstract. T he problem that Peer-to-Peer applications are confronted is to efficiently locate the node that stores a particular data item.
E N D
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications Ennan Zhai enzhai@pku.edu.cn Dec. 11th 2008
Abstract T he problem that Peer-to-Peer applications are confronted is to efficiently locate the node that stores a particular data item. This presentation will show the famous structure P2P network lookup protocol Chord and the detail of the protocol. Before Chord introduction, let’s recall the history of P2P network development together.
History • The Centralized and Hybrid P2P Network • Napster - P2P Trailblazer • Shawn Fanning. 1999 • BitTorrent – A New Hybrid P2P System • Bram Cohen. 2002
History • The Centralized and Hybrid P2P Network • Napster - P2P Trailblazer • Shawn Fanning. 1999 • BitTorrent – A New Hybrid P2P System • Bram Cohen. 2002
History • The Centralized and Hybrid P2P Network • Napster - P2P Trailblazer • Shawn Fanning. 1999 • BitTorrent – A New Hybrid P2P System • Bram Cohen. 2002
History • Unstructured P2P Networks • Gnutella – Pure Unstructured P2P Network • J. Frankel and T. Pepper. 2003 • KaZaA – SuperNode-based Unstructured P2P Network • Niklas and Friis. 2000. • eMule – Two layers Unstructured P2P Network • Merkur. 2002
History • Unstructured P2P Networks • Gnutella – Pure Unstructured P2P Network • J. Frankel and T. Pepper. 2003 • KaZaA – SuperNode-based Unstructured P2P Network • Niklas and Friis. 2000. • eMule – Two layers Unstructured P2P Network • Merkur. 2002
History • Unstructured P2P Networks • Gnutella – Pure Unstructured P2P Network • J. Frankel and T. Pepper. 2003 • KaZaA – SuperNode-based Unstructured P2P Network • Niklas and Friis. 2000. • eMule – Two layers Unstructured P2P Network • Merkur. 2002
History • Unstructured P2P Networks • Gnutella – Pure Unstructured P2P Network • J. Frankel and T. Pepper. 2003 • KaZaA – SuperNode-based Unstructured P2P Network • Niklas and Friis. 2000. • eMule – Two layers Unstructured P2P Network • Merkur. 2002
History • Structured P2P Networks • Chord • I. Stoica et al. ACM SIGCOMM’01. • CAN • S. Ratnasamy et al. ACM SIGCOMM’01. • Pastry • A. Rowstron and P. Druschel. Middleware’01
History • Structured P2P Networks • Tapestry • B. Zhao et al. 2001 • Kademlia • P. Maymounkov and D. Mazieres. IPTPS’02.
Chord Introduction • Load Balance • Decentralization • Scalability of Model • Availability
Node Joins We must keep • Each node’s successor is correctly maintained. • For every key k, node successor(k) is responsible for k.
Node Joins • Initialize the predecessor and fingers of node n. • Update the fingers and predecessors of existing nodes to reflect the addition of n. • Notify the higher layer software so that it can transfer state associated with keys that node n is now responsible for.
Failures and Replication • Successor-list • Replication • Temporary Storage
Conclusion • Easy and Accuracy • Efficiency • Stabilization • Reliability
Thank you Ennan Zhai enzhai@pku.edu.cn Dec. 11st 2008