Previous work on consistent hashing assumed that nodes were aware of most other nodes in the system, making it impractical to scale to large number of nodes. In contrast, each Chord node needs “routing” information about only a few other nodes. Because the routing table is distributed, a node resolves the hash function by communicating with a few other nodes. In the steady state, in an -node system, each node maintains information only about other nodes, and resolves all lookups via messages to other nodes. Chord maintains its routing information as nodes join and leave the system; with high probability each such event results in no more than .