Question

I want to create my own Chord implementation for P2P file sharing I followed an article which explained that every node has it's ID (hash of the IP for example)

my questions are:

  • how a new client join the network? there must be a server to manage it. right?
  • how you set for the new client the finger table?
Was it helpful?

Solution

how a new client join the network?

By advertising its presence to other peers.

there must be a server to manage it. right?

Either a server or a location (URL) where peers can fetch IP addresses of other peers. This location is updated by peers themselves with fresh data.

If you dig deeper in this issue, you'll face the NAT traversal issue.

how you set for the new client the finger table?

By knowing/fetching other peers' id and computing the 'finger' order.

OTHER TIPS

Chord authors have their own implementation published:

http://pdos.csail.mit.edu/chord/#downloads

You can check how they manage those questions.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top