[chord] Chord Protocol Semantics

Edward Tsai edwardt at ucla.edu
Thu Dec 4 13:53:31 EST 2003


Hi Frank,

So is it correct to assume that as a node knows about other nodes, that
knowledge is dropped into the "bag" and that if the node can get to another
node by looking inside its "bag", then it might not have to traverse the
Chord ring (by going 2^i hops away) - it can just skip directly to the node?

How correlated are the protocols (successor, finger table) provided in the
Chord Protocol paper with the LocationTable/"bag" model? I'm looking at the
p2psim code and see the location table code and studying it right now - any
additional material on it would help.

Also, what is the action taken when a node does a lookup for a document,
expecting it at a particular target node in its finger list / bag, but the
document is actually in a node that is a predecessor to the target node
(perhaps the requesting node hasn't done an update to know about the new
node yet).

Thanks.

-Edward


In practice, we use a third strategy. Each node keeps a "bag" of other
nodes it knows about called a location table. When the node requests a
finger or successor, the location table responds with the node it stores
that currently matches that description. There are no explicit lists of
fingers or sucessors.

In the location table case, joining is reduced to throwing a couple of
successors in the bag and starting the stabilization routines.

> Also, am I correct to assume that in the case of a chord "leave" that a
node
> will have to send commands to update all theirs?
>

We do not implement a "leave" protocol. Nodes simply exit the system.
The stabilization routines of other nodes will repair fingers and
successors as necessary.

--Frank
> Thanks.
>
> -Edward
>
> _______________________________________________
> chord mailing list
> chord at amsterdam.lcs.mit.edu
> https://amsterdam.lcs.mit.edu/mailman/listinfo/chord



More information about the chord mailing list