/Chord-Distributed-Hash-Table

An implementation of the basic functions of the Chord distributed hash table (DHT)

Primary LanguagePython

Chord Distributed Hash Table

An implementation of the basic functions of the Chord distributed hash table (DHT).

Author :

Sagar Vishwakarma (svishwa2@binghamton.edu)

State University of New York, Binghamton

File :

  1. ./gen-py/chord/*.py - Contains files used, generated by thrift
  2. ./chord.thrift - File used while generating above files by thrift
  3. ./init - Py File to initialize nodes of servers
  4. ./src/server.py - Py File contains implementation of stubs methods generated by thrift
  5. ./src/client.py - Py File contains implementation to test the stubs methods on server
  6. ./server.sh - Script to start all the servers based on argument from list in "./nodes" file
  7. ./client.sh - Script to test all the stubs methods on server based on arguments from list in "./operations" file

Run :

  • Open a terminal in project directory
  • Run all the servers at onces : ./server.sh -> then type the file name of nodes list
  • Run all operation using client at onces : ./client.sh -> then type the file name of operation list
  • Run individual client operations : python3 ./src/client.py
  • Type python3 ./src/client.py -h to know more about the arguments expected

Note :

  • Language & Framework : Python 3.5.2 & Thrift version 0.13.0
  • All the stubs methods are implemented and tested on the server side.