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, Tapestry and FRT-Chord.
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 hundreds of thousands of virtual nodes.
It enables large-scale emulation and fair comparison between algorithms.
Keywords: Overlay Networks, Peer-to-Peer (P2P),
Distributed Hash Table (DHT),
- October 29, 2012
- Version 0.10.4 released.
- Java 7 can build and run Overlay Weaver.
- Emulator works on multiple computers again (but few documents provided).
- A node does not appear on other nodes' routing tables while it is joining in an overlay (except Kademlia).
- Jetty was updated from 7.3.1 to 8.1.7.
- Berkeley DB Java Edition was updated from 4.1.10 to 5.0.58.
- November 18, 2010
- Version 0.10 released.
- A routing algorithm FRT-Chord was implemented.
- Performance of Emulator was improved.
- Interface to implement a routing algorithm (RoutingAlgorithm)
which has been used to implement Chord-like algorithms, was abolished.
- A bug in Mcast service related to callback was fixed.
- Jetty was updated from 7.1.6 to 7.2.0.
- Berkeley DB Java Edition was updated from 4.0.103 to 4.1.6.
- May 17, 2009
- Version 0.9.4 released.
- Web interface of DHT shell can show a routing path
on a geographical map (Google Maps).
Screenshots and demo page
Nodes on PlanetLab shows such a map:
- Fixed a bug in Pastry implementation.
It occasionally prevents a node from working on a real network.
- Berkeley DB Java Edition was updated from 3.3.75 to 3.3.82.
- March 31, 2009
- Demonstration videos provided on the "Screenshots, Video and Demo" page.
- "Overlay Visualizer"
- "DNS Emulation with over 500 nodes on PlanetLab"
- January 6, 2008
- DHT Access Tools 0.6 released.
- Put command accepts multiple key-value pairs.
- [More ...]