Evgeny
2018-10-16 07:52:34 UTC
Hi, IETF people! :)
Excuse my ignorance: I'm not a big specialist in Chord or DHTs in
general.
I would like to clarify one thing:
How is the total order [1] defined in the Chord ring? Is it a simple
order
of integer numbers? But in this case some nodes (the ones "closest to
zero")
will not have successors or predecessors and, thus, the ring will
always be
partitioned. If the order is defined using the "wrapping around zero",
then
any i'th successor of node X will be its j'th predecessor and, thus,
for example,
if there are only 3 nodes (besides X) and node X needs to keep 3
successors
and 3 predecessors, then X's successors list will be equal to its
predecessors list?
In other words, could someone please provide the exact definition, like:
x < y <=> when?
I feel, this is not an internal implementation detail, because a node
needs
to send its neighbors list and fingers table, so this should be
interoperable.
[1] https://en.wikipedia.org/wiki/Total_order
Excuse my ignorance: I'm not a big specialist in Chord or DHTs in
general.
I would like to clarify one thing:
How is the total order [1] defined in the Chord ring? Is it a simple
order
of integer numbers? But in this case some nodes (the ones "closest to
zero")
will not have successors or predecessors and, thus, the ring will
always be
partitioned. If the order is defined using the "wrapping around zero",
then
any i'th successor of node X will be its j'th predecessor and, thus,
for example,
if there are only 3 nodes (besides X) and node X needs to keep 3
successors
and 3 predecessors, then X's successors list will be equal to its
predecessors list?
In other words, could someone please provide the exact definition, like:
x < y <=> when?
I feel, this is not an internal implementation detail, because a node
needs
to send its neighbors list and fingers table, so this should be
interoperable.
[1] https://en.wikipedia.org/wiki/Total_order