Distributed Hash in Ruby?

Discussion in 'Ruby' started by martinus, Jan 27, 2005.

  1. martinus

    martinus Guest

    Hi,

    Has anyone ever implemented a distributed hash protool (like e.g. Chord
    http://www.pdos.lcs.mit.edu/chord/) in Ruby? I could not find anything
    like this in RAA.

    martinus
     
    martinus, Jan 27, 2005
    #1
    1. Advertising

  2. martinus

    Dido Sevilla Guest

    On Thu, 27 Jan 2005 23:30:55 +0900, martinus <> wrote:
    > Hi,
    >
    > Has anyone ever implemented a distributed hash protool (like e.g. Chord
    > http://www.pdos.lcs.mit.edu/chord/) in Ruby? I could not find anything
    > like this in RAA.


    I have, using Distributed Ruby. It's more or less complete, but
    probably has a few bugs here and there, but it seems to work properly
    in my limited tests. Maybe I ought to make a RubyForge project for
    this soon... If you're interested in playing with it I can send you
    such code as I have at the moment.
     
    Dido Sevilla, Jan 28, 2005
    #2
    1. Advertising

  3. martinus

    martinus Guest

    A rubyforge project would be nice. I do not need it right now, but at
    some point in the not-so-far future :)

    martinus
     
    martinus, Jan 28, 2005
    #3
  4. martinus

    Eric Hodel Guest

    --Apple-Mail-10--210126427
    Content-Transfer-Encoding: 7bit
    Content-Type: text/plain; charset=US-ASCII; format=flowed

    On 27 Jan 2005, at 06:30, martinus wrote:

    > Hi,
    >
    > Has anyone ever implemented a distributed hash protool (like e.g. Chord
    > http://www.pdos.lcs.mit.edu/chord/) in Ruby? I could not find anything
    > like this in RAA.


    Ruby has a Linda-like TupleSpace built-in from Rinda.

    While I don't have an explicit example, one is used as part of the
    example code here:

    http://segment7.net/projects/ruby/drb/rinda/ringserver.html

    --
    Eric Hodel - - http://segment7.net
    FEC2 57F1 D465 EB15 5D6E 7C11 332A 551C 796C 9F04

    --Apple-Mail-10--210126427
    content-type: application/pgp-signature; x-mac-type=70674453;
    name=PGP.sig
    content-description: This is a digitally signed message part
    content-disposition: inline; filename=PGP.sig
    content-transfer-encoding: 7bit

    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.2.4 (Darwin)

    iD8DBQFB+qgsMypVHHlsnwQRArlCAJ9OtEXiIK4F6YcFX0bkGUs8a+9SzACgrvMy
    byHpskdjKC64L8yKXCNlLTE=
    =fqH8
    -----END PGP SIGNATURE-----

    --Apple-Mail-10--210126427--
     
    Eric Hodel, Jan 28, 2005
    #4
  5. Eric Hodel ha scritto:
    > On 27 Jan 2005, at 06:30, martinus wrote:
    >
    >> Hi,
    >>
    >> Has anyone ever implemented a distributed hash protool (like e.g. Chord
    >> http://www.pdos.lcs.mit.edu/chord/) in Ruby? I could not find anything
    >> like this in RAA.

    >
    >
    > Ruby has a Linda-like TupleSpace built-in from Rinda.
    >
    > While I don't have an explicit example, one is used as part of the
    > example code here:
    >
    > http://segment7.net/projects/ruby/drb/rinda/ringserver.html
    >


    I think what he's looking for is quite different from TupleSpaces.
    I think it is more similar to overnet/emule-kademlia (actually I think
    thos were built on chord's concepts).

    the idea is to be able to access a file/object based on a standard hash
    withouth the need to traverse a complex peer graph, using a distributed
    partially replicated hash table.
    Related to this, I guess building bindings for the emule base libraries
    would be the path of less resistence.
     
    gabriele renzi, Jan 28, 2005
    #5
  6. martinus

    martinus Guest

    Protocols like chord are full distributed networsk with no servers,
    which an be used for discovery. Something like a distributed DNS.
    That's exactly what I want, I do not want to write a download
    application.

    martinus
     
    martinus, Jan 29, 2005
    #6
  7. martinus ha scritto:
    > Protocols like chord are full distributed networsk with no servers,
    > which an be used for discovery. Something like a distributed DNS.
    > That's exactly what I want, I do not want to write a download
    > application.
    >


    I understood this, but since the kademlia protocol implemented in emule
    allows you to do this, I thought it could be helpful. You can safely
    ignore the download part, and still use the object discovery stuff.
    Btw, if you just care about a LAN you can use Rinda::Ring
    Just my two cents.
     
    gabriele renzi, Jan 29, 2005
    #7
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. BG Simp
    Replies:
    3
    Views:
    437
    Terry Reedy
    Aug 27, 2006
  2. rp
    Replies:
    1
    Views:
    556
    red floyd
    Nov 10, 2011
  3. Dido Sevilla
    Replies:
    0
    Views:
    185
    Dido Sevilla
    Feb 5, 2005
  4. Eyal Oren

    Bug in Hash#hash? (Ruby 1.8.4)

    Eyal Oren, Sep 20, 2006, in forum: Ruby
    Replies:
    6
    Views:
    128
    Rick DeNatale
    Sep 21, 2006
  5. Srijayanth Sridhar
    Replies:
    19
    Views:
    640
    David A. Black
    Jul 2, 2008
Loading...

Share This Page