Chords

Introductory Paper
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications
Theory
Chord is a protocol and algorithm for a peer-to-peer distributed hash table
Problem
In a peer-to-peer network, data is stored in different computers. A user needs to find out which computer the data is stored at before accessing it.
Solution
- Nodes (each computer in the network) and keys are assigned an m-bit identifier using Consistent Hashing.
- There are
Ids available - if m=8, total possible ids =
= 256
- There are
- The SHA-1 algorithm is the base hashing function for consistent hashing
- Using the Chord lookup protocol, nodes and keys are arranged in an identifier circle that has at most
to nodes.

- Sites are then organized in a logical ring according to their IDs.
- Keys are also hashed into the same identifier space, and the key (and the corresponding value) is stored at its successor, i.e., the node with next higher ID.
- The expected number of hops is O(log n) where n is the number of nodes in the Chord ring.

Avoiding the linear search --source
