0% found this document useful (0 votes)
57 views1 page

From One Host Is Printed On Another, and Echoed Back, For Example - After Converting From Lowercase To Uppercase)

The document outlines specifications for a distributed hash table (DHT) implementation including that it will have up to 100 nodes arranged in a circular format, nodes will store data based on hash keys, and will know only their two neighbors; it then describes four iterations for developing the DHT where the first is a basic client-server program, the second extends this to pass messages between neighbors in the DHT, the third locates data given a key, and the fourth handles new nodes joining the DHT.

Uploaded by

LIBERTY GAMIRA
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views1 page

From One Host Is Printed On Another, and Echoed Back, For Example - After Converting From Lowercase To Uppercase)

The document outlines specifications for a distributed hash table (DHT) implementation including that it will have up to 100 nodes arranged in a circular format, nodes will store data based on hash keys, and will know only their two neighbors; it then describes four iterations for developing the DHT where the first is a basic client-server program, the second extends this to pass messages between neighbors in the DHT, the third locates data given a key, and the fourth handles new nodes joining the DHT.

Uploaded by

LIBERTY GAMIRA
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

DHT implementation [Released May 16, 2019]

Develop a distributed hash table (DHT) implementation with the following specifications

1. There is a maximum all 100 nodes in the DHT implementation. The nodes have IDs
between 0 and 99 (i.e. a DHT space with 100 nodes)
2. The data to be stored in this system is in the form of text strings whose hash keys fall in
the same key space (0 - 99)
3. The nodes are arranged in a circular format, from 0 - 99, but plan for a sparse system,
e.g. a system with only 3 nodes (IDs 0, 41 and 80)
4. Hash keys are stored at a node whose ID is greater than or equal to the hash key.
5. A node only knows about two neighbours, one on either side (except for the first and
second nodes).
6. If data is to be entered in the DHT system, it is forwarded to the correct node for storage,
based on specification (4) above
7. If a new node wishes to join the DHT system, it will make a request to any participant
and will be directed to the place where it can join (between a higher ID and a lower ID) -
you may assume that there are no ID collisions.
Iteration 1: Create a Client and Server program in your favourite language and show that the
client and server programs can exchange messages. (Echo program where information sent
from one host is printed on another, and echoed back, for example - after converting from
lowercase to uppercase)

Iteration 2: Join DHT (5 - 55 - 99 - 0 - 5) message (88, 75, 3)


● Send Echo req: Extend the original Client-Server to multiple clients and servers that can
extend messages between themselves and only their immediate neighbours (based on
ID value). In this iteration, you should demonstrate the following functions
● Send echo request
● Send Echo reply
(In these cases, a node should print out what it is doing at any given time ( e.g. print the
ID of the echo request/reply originator when the message arrives)
● Inject a message into the DHT. As the message is passed around the DHT participants,
they should print out what they are doing with the message (e.g. passing it on, storing it,
etc)
Iteration 3: Find the location of a message given its key and send the key to the requesting
node.
Iteration 4: Join a DHT

Due Dates:
Iteration 1: Submit by Saturday, June 16
Iteration 2: TBA
Iteration 3: TBA
Iteration 4: TBA

You might also like