[chord] Routing interface to Chord?

Emil Sit sit at MIT.EDU
Mon Jul 25 10:45:04 EDT 2005


David,

On Sun, 03 July 2005 at 15:40 (-0400), David Bauer wrote:
> it seems that the interface is very much geared towards the distributed 
> hash functionality, and not basic routing.  Can you suggest what part of 
> the code I should look at, hook into, or modify in order to use Chord as a 
> message passing network, instead of a distributed hash table?

It would be perhaps worthwhile to think about re-implementing the
upcall functionality we once had but you are correct in noting that
there isn't really a good way to send messages to the successor
of a key in a single operation.  The upcall style API (not currently
implemented in our source tree) is logically described in:

    Frank Dabek, Ben Zhao, Peter Druschel, and Ion Stoica.
    Towards a common API for structured peer-to-peer overlays.
    In 2nd International Workshop on Peer-to-Peer Systems (IPTPS'02),
    February 2003.
    http://iptps03.cs.berkeley.edu/final-papers/api.ps

One option would be to use the neighbor management stuff from
the chord/ directory but re-implement the routing in much the
same way that dhash/dhash_fetchrec.C does.  Obviously, this is
far from ideal.

It's possible that the Pastry or Tapestry implementations do
support this sort of usage though.

-- 
Emil Sit / MIT CSAIL PDOS / http://pdos.csail.mit.edu/chord/  



More information about the chord mailing list