Chord: a scalable peer-to-peer lookup protocol for internet applications

A fundamental problem that confronts peer-to-peer applications is the efficient location of the node that stores a desired data item. This paper presents Chord, a distributed lookup protocol that addresses this problem. Chord provides support for just one operation: given a key, it maps the key onto a node. Data location can be easily implemented on top of Chord by associating a key with each data item, and storing the key/data pair at the node to which the key maps. Chord adapts efficiently as nodes join and leave the system, and can answer queries even if the system is continuously changing. Results from theoretical analysis and simulations show that Chord is scalable: Communication cost and the state maintained by each node scale logarithmically with the number of Chord nodes.

[1]  Stanley A. Kurzban,et al.  Operating systems principles , 1975 .

[2]  Larry Carter,et al.  Universal Classes of Hash Functions , 1979, J. Comput. Syst. Sci..

[3]  P. Mockapetris,et al.  Development of the Domain Name System , 1988, CCRV.

[4]  James H. Burrows,et al.  Secure Hash Standard , 1995 .

[5]  Rajeev Motwani,et al.  Randomized Algorithms , 1995, SIGA.

[6]  David R. Karger,et al.  Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the World Wide Web , 1997, STOC '97.

[7]  Rajmohan Rajaraman,et al.  Accessing Nearby Copies of Replicated Objects in a Distributed Environment , 1997, SPAA '97.

[8]  Daniel M. Lewin,et al.  Consistent hashing and random trees : algorithms for caching in distributed networks , 1998 .

[9]  Franz J. Hauck,et al.  Algorithmic Design of the Globe Wide-Area Location Service , 1998, Comput. J..

[10]  Andrew V. Goldberg,et al.  A prototype implementation of archival Intermemory , 1999, DL '99.

[11]  Ian Clarke,et al.  A Distributed Decentralised Information Storage and Retrieval System , 1999 .

[12]  David R. Karger,et al.  A scalable location service for geographic ad hoc routing , 2000, MobiCom '00.

[13]  Andrew S. Tanenbaum,et al.  The Globe Distribution Network , 2000, USENIX Annual Technical Conference, FREENIX Track.

[14]  Ben Y. Zhao,et al.  OceanStore: an architecture for global-scale persistent storage , 2000, SIGP.

[15]  I. Clarke,et al.  A distributed anonymous information storage and retrievalsystem , 2000 .

[16]  Ian Clarke,et al.  Freenet: A Distributed Anonymous Information Storage and Retrieval System , 2000, Workshop on Design Issues in Anonymity and Unobservability.

[17]  Russ Bubley,et al.  Randomized algorithms , 1995, CSUR.

[18]  Hui Zhang,et al.  Towards global network positioning , 2001, IMW '01.

[19]  Peter Druschel,et al.  Pastry: Scalable, distributed object location and routing for large-scale peer-to- , 2001 .

[20]  Ben Y. Zhao,et al.  An Infrastructure for Fault-tolerant Wide-area Location and Routing , 2001 .

[21]  Mark Handley,et al.  A scalable content-addressable network , 2001, SIGCOMM '01.

[22]  David R. Karger,et al.  Wide-area cooperative storage with CFS , 2001, SOSP.

[23]  Frank Dabek,et al.  A cooperative file system , 2001 .

[24]  D. Andersen,et al.  Resilient overlay networks , 2002, CCRV.

[25]  Antony I. T. Rowstron,et al.  Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems , 2001, Middleware.

[26]  David R. Karger,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM '01.

[27]  Ben Y. Zhao,et al.  Tapestry: An Infrastructure for Fault-tolerant Wide-area Location and , 2001 .

[28]  Chuang-Hue Moh,et al.  ConChord: Cooperative SDSI Certificate Storage and Name Resolution , 2002, IPTPS.

[29]  David R. Karger,et al.  Analysis of the evolution of peer-to-peer systems , 2002, PODC '02.

[30]  Scott Shenker,et al.  Internet indirection infrastructure , 2002, SIGCOMM 2002.

[31]  Robert Tappan Morris,et al.  Serving DNS Using a Peer-to-Peer Lookup Service , 2002, IPTPS.

[32]  Robert Tappan Morris,et al.  Security Considerations for Peer-to-Peer Distributed Hash Tables , 2002, IPTPS.

[33]  David R. Karger,et al.  Observations on the Dynamic Evolution of Peer-to-Peer Networks , 2002, IPTPS.

[34]  Krishna P. Gummadi,et al.  Canon in G major: designing DHTs with hierarchical structure , 2004, 24th International Conference on Distributed Computing Systems, 2004. Proceedings..

[35]  Scott Shenker,et al.  Spurring Adoption of DHTs with OpenHash, a Public DHT Service , 2004, IPTPS.