Overlay Weaver

An Overlay Construction Toolkit


Overlay Weaver is an overlay construction toolkit, which supports overlay algorithm designers in addition to application developers.

For application developers, the toolkit provides a common API for higher-level services such as distributed hash table (DHT) and multicast. Applications relying on the common API depend no specific transport protocol, database implementation and routing algorithm.

The toolkit provides multiple routing algorithms, Chord, Kademlia, Koorde, Pastry and Tapestry. These algorithms could be implemented only in hundreds lines of code because of routing layer decomposition. Routing layer under the higher-level services has been decomposed into multiple components, routing driver, routing algorithm and messaging service. The decomposition also facilitates implementation of a new algorithm. A newly implemented algorithm can be tested, evaluated and compared on emulator, which can host tens of thousands of virtual nodes. It enables large-scale emulation and fair comparison between algorithms.

Keywords: Peer-to-Peer (P2P), Overlay Network, Distributed Hash Table (DHT), Large-scale Emulation

News

June 19, 2008
Version 0.8.8 released.
  • Prevents most cases of accidental termination of a DHT node by heap overflow.
  • Jetty was updated from 6.1.10 to 6.1.11.
  • Berkeley DB Java Edition was updated from 3.2.76 to 3.3.62.
May 24, 2008
Version 0.8.7 released.
  • An experiment confirmed that an Emulator can host 150,000 nodes with 1750 megabytes of heap (java -Xmx1750m).
  • Reduces memory consumption of Kademlia, Pastry and Tapestry implementations, DHT shell, Mcast shell and Messaging service for Emulator.
  • Jetty was updated from 6.1.9 to 6.1.10.
January 6, 2008
DHT Access Tools 0.6 released.
  • Put command accepts multiple key-value pairs.
[More ...]