Skip to Main Content
In structured peer-to-peer (p2p) systems, distributed hash tables (DHTs) often partition the ID space into disjoint intervals with each interval assigned to the corresponding node. While nodes join and leave dynamically, one of the hard challenges posed by DHTs is load balancing across the ID space. Tries are known to be a viable data structure such that a balanced trie implies balanced intervals in the ID space. We establish a distributed trie as a deployable overlay network that connects the IDs of participating nodes. We propose a decentralized, efficient, and low-cost algorithm that balances ID intervals in DHTs using the trie. Our scheme allows a node to join or leave the system at a low cost, R + Θ(log log n), where R denotes the message routing cost in DHTs and n is the number of nodes. Compared to the prior ID assignment schemes that require R + Θ(log n) at best for the same operations, our new algorithm reduces the additional cost incurred to maintain the ID space balanced by a factor of Θ(log n/log log n). In our analysis and experiments, we show that the ID space is indeed well-balanced such that the ratio between the largest interval and the smallest is at most 8 with high probability. Finally, we discuss applications of the distributed trie to item load balancing and the multiple choice paradigm.