Giter VIP home page Giter VIP logo

zht's People

Contributors

mghlarsen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

zht's Issues

Heartbeats

Add Heartbeat broadcast and monitoring to judge as to peer activity and connectivity.

Bucket Balancing

Implement a basic Bucket Balancing scheme (something better than every peer holding a copy of every bucket).

Persistence

Add data persistence abilities and peer restart.

Cached Lookups

Implement Caching of Lookups including watching for updates of cached keys.

Documentation

The ZHT code is undocumented. Also, the speculative documentation could use some refining.

  • Document current ZHT code
  • Convert all existing docs to reStructured Text
  • Find a good solution for properly generating pretty documentation

Test Coverage

ZHT is woefully untested... since the whole thing is still pretty small, cover everything with test cases.

Add License Information, Copyright Headers

Before ZHT can be made public, a licensing decision needs to be made official.

  • Add LICENSE file, have it included in the generated documentation.
  • Add AUTHORS file.
  • Add copyright notice to source files.

Multiple Tablespaces

Add support for multiple tablespaces existing and protocol handling of updates and queries across multiple tablespaces.

Security Controls

Add security features including authentication/authorization, integrity and confidentitality.

Protocol Restructuring

The current protocol makes heavy use of ZMQ multipart messages. This should be converted to use protocol buffers. The idea here is that it provides message format versioning automatically, and that it's fast and compact. Some parts of the wire protocol will still need to consist of strings (the header for PUB messages, for instance), but the rest will not and should be converted.

Remote Queries

Being able to extract information from remote nodes is a necessary prerequisite for bucket balancing. For now, have the shell implement a rget command which will make a request to the a peer that owns the bucket for that key.

Automatic Peering

Change ZHT to automatically connect to other known peers rather than requiring manual intervention.

Control Tablespace

Change ZHT control information to be a implemented as a synchronized tablespace.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.