Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications [ps | pdf]

Ion Stoica, Robert Morris, David Liben-Nowell, David R. Karger, M. Frans Kaashoek, Frank Dabek, and Hari Balakrishnan


In IEEE/ACM Transactions on Networking, Volume 11, Issue 1, pp. 17-32, February 2003.

The most updated version of this and other Chord-related documents can be found on the Chord Project homepage.


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.


@Article{smlnkkdb:chord-ton2003,
  author = 	 {Ion Stoica
                  and Robert Morris
                  and David Liben-Nowell
                  and David R. Karger
                  and M. Frans Kaashoek
                  and Frank Dabek
                  and Hari Balakrishnan},
  title = 	 {Chord: A Scalable Peer-to-Peer Lookup 
                  Protocol for Internet Applications},
  journal = 	 {IEEE/ACM Transactions on Networking},
  year = 	 2003,
  volume =	 11,
  number =	 1,
  pages =	 {17--32},
  month =	 feb,
}


David Liben-Nowell

25 February 2003