Distributed Hash Table
A Distributed Hash Table (DHT) is a decentralized system that provides the functionality of a hash table, i.e., insertion and retrieval of key-value pairs. Each node in the system stores a part of the hash table. The nodes are interconnected in a structured overlay network, which enables efficient delivery of the key lookup and key insertion requests from the requestor to the node storing the key. To guarantee robustness to arrivals and departures of nodes, the overlay network topology is maintained and the key-value pairs are replicated to several nodes.
Every DHT defines its key space. For example, in many DHTs the keys are 160-bit integers, which is the output of the popular SHA1 hash function. Each node in the system has a specific location in the key space and stores the key-value pairs that are close to that location. The different DHT systems vary in the exact algorithms for deciding which node should store which key .
The DHT relies on a...
- 1.Rhea SC, Geels D, Roscoe T, Kubiatowicz J. Handling churn in a DHT. In: Proceedings of the USENIX 2004 Annual Technical Conference; 2004. p. 127–40.Google Scholar