Skip to content

mediachain/overlayweaver

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a fork of the Overlay Weaver project.

Overlay Weaver is a toolkit for developing and testing routing algorithms for overlay networks such as distributed hash tables.

The purpose of this fork is to explore and evaluate routing algorithms that support distributed similiarity search. Our main focus is currently on the Chord-based algorithm described in the paper Hamming DHT: Taming the Similarity Search by Villaca, et. al.

The implementation lives in HammingChord.java, although several changes have been made to various other classes / interfaces to support the getSimilar command, which should work with any routing algorithm.

Java 8 or later is required to build the project.

Most of the testing and evaluation code is written in clojure, with dependencies managed by leiningen.

lein run will start a DHT "shell" that accepts commands on standard input, and can connect to an overlay network running either locally or remotely.
See shell.clj for command line options.

Much of the clojure code is designed to be used at a REPL, so it's recommended that you set up a clojure editor with REPL integration. Cursive is an excellent (non-free) choice, as it offers very flexible debugging and editing tools for Java as well as clojure.

About

Overlay Weaver: An Overlay Construction Toolkit

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 91.6%
  • C 4.9%
  • Clojure 2.5%
  • Shell 0.4%
  • Batchfile 0.3%
  • Ruby 0.2%
  • Other 0.1%