[chord] Why a key is stored at its successor node?

Manuel Urueña muruenya at it.uc3m.es
Wed Apr 16 14:55:39 EDT 2008


Hi,

I'm developing a small simulator to study a static Chord ring and since I'm 
just designing the routing part, I was wondering: Why a key is stored at its 
successor node instead of its predeccessor?

Since you always choose the fingers which are lesser than the target key, the 
only way to find the successor of a key is through its predeccessor, because 
it is the only node in the whole ring who knows for sure which is the 
successor of the key. 

Therefore, if the key is stored at the predeccessor node instead of the 
succesor one, the last routing hop between the predeccessor and the successor 
nodes could be saved.

Moreover, I've also seen in the Chord paper than the keys could be replicated 
in the following successors. Then, you can only find these copies if the 
first successor goes down, so these are backup copies to provide 
fault-tolerance.

On the other hand, if the key is replicated in some predeccessor nodes, these 
copies could be found earlier, during the routing process, lowering the 
average number of hops, and also providing load balancing among replicas.

Do you think these are good optimizations? or have I missed some drawbacks of 
storing keys at the predecessor nodes?

Thanks,
--Manuel

-- 
Manuel Uruen~a - Universidad Carlos III de Madrid
GPG FP: C20B 7F07 09E3 FB95 7AD9  D03A DA93 AA09 4EE2 675B
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : https://pdos.csail.mit.edu/pipermail/chord/attachments/20080416/9bcb19d6/attachment.pgp 


More information about the chord mailing list