Opendht: a public dht service

  • Authors:
  • John Kubiatowicz;Sean Christopher Rhea

  • Affiliations:
  • University of California, Berkeley;University of California, Berkeley

  • Venue:
  • Opendht: a public dht service
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

The distributed hash table, or DHT, is a distributed system that provides a traditional hash table's simple put/get interface using a peer-to-peer overlay network. DHTs deliver incremental scalability in the number of nodes, high availability, and low latency. We present the Bamboo DHT and the OpenDHT public DHT service. Bamboo supports low-latency under very high churn rates; with session times as short as six minutes, a 1000-node Bamboo network on ModelNet is still able to average around one half second per get operation. Bamboo also supports reliable, high-performance storage on a 200-300 node PlanetLab deployment. It provides very high availability as measured over months, and it maintains very low get latencies despite the presence of arbitrarily slow nodes. Furthermore, Bamboo is resilient to non-transitivity in the underlying network, a requirement for long-term use on the Internet. OpenDHT is a public DHT service designed to ease the deployment and maintenance of DHT-based applications. By providing an existing deployment with a simple put/get interface over RPC, OpenDHT allows the construction of DHT applications in tens of lines of code. OpenDHT provides a simple, secure put/get/remove interface, and it also supports more sophisticated features such as anycast, multicast, and range search using client-side libraries. Furthermore, OpenDHT guarantees a fair share of storage to each client in the system, while preventing any client from going long periods without being able to perform any puts at all. At the time of this writing, OpenDHT has been running as a public service on PlanetLab for over 16 months.