Skip to content

Α realistic implementation of basics functions of the Chord protocol

License

Notifications You must be signed in to change notification settings

EiriniRouchota/Chord-Simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Chord-Simulation

📌 Μία ρεαλιστική υλοποίηση βασικών λειτουργιών του πρωτοκόλλου Chord όπως αναλύονται στο [1]. Υλοποίηση με sockets και threading.

Υλοποιημένες Λειτουργίες

  • insert a new (key/value) pair in the Chord ring
  • delete a (key/value) pair from the Chord ring
  • update value in an existing (key/value) pair
  • perform an exact match in the network (Lookup)
  • display current Chord ring configuration
  • add a new Node (Join) in the Chord ring
  • delete an existing Node (Leave) from the Chord ring
  • run a complete benchmark on the current Chord ring

How to run

usage: Chord.py [-h] [-n N] [-fn FN] [-d D] [-fr FR] [-fs FS]

Implementing Chord

optional arguments:

  -h, --help  show this help message and exit
  -n 	N        N is number of initial numbers of nodes withing Chord ring
  -fn 	FN      FN is the input csv file name to read data from
  -d 	D        D is the number of data records to be loaded from the input csv file
  -fr 	FR      FR is the number of the stored successor failure recovery. If
                not set no failure recovery action will be used
  -fs 	FS      FS is the name of the file in which statistics will be written

Statistical Analysis

 python stats.py statistics.csv

Screenshots

image

image

Ρεαλιστική Προσέγγιση

  1. Προφανής επέκτασή της σε πραγματικό δίκτυο με υπολογιστές που ο καθένας έχει τη δική του διεύθυνση (ip, port) επικοινωνίας.
  2. Η υλοποίηση με threads απεικονίζει κατάλληλα την παράλληλη εκτέλεση διαφόρων λειτουργιών τόσο μέσα σε κάθε κόμβο όσο και σε όλους τους κόμβους ταυτόχρονα. Ο μόνος περιορισμός σε αυτό προέρχεται από το λειτουργικό σύστημα και τον υπολογιστή στον οποίο εκτελείται η προσομοίωση.

Τo be done

  • Ολοκλήρωση failure recovery
  • Επέκταση σε δίκτυο με πραγματικούς υπολογιστές

Βιβλιογραφία

[1] ION STOICA AND ROBERT MORRIS AND DAVID LIBEN-NOWELL AND DAVID R. KARGER AND M. FRANS KAASHOEK AND FRANK DABEK AND HARI BALA-KRISHNAN, Chord: A scalable peer-to-peer lookup protocol for Internet applica-tions, IEEE/ACM Transactions on Networking, Vol 11/2003, ISSN: 10636692, Is-sue1, DOI: 10.1109/TNET.2002.808407,

[2] STOICA, I., MORRIS, R., KARGER, D., KAASHOEK, M. F., AND BALAKRISHNAN, H. Chord: A scalable peer-to-peer lookup service for internet applications. Tech. Rep. TR-819, MIT LCS, March 2001. https://www.pdos.lcs.mit.edu/chord/papers/.

License & copyright

Licensed under the MIT License

Documentation report available

Further information ❓ Don't hesitate to contact me !

About

Α realistic implementation of basics functions of the Chord protocol

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages