Distributed Hash in Ruby?

D

Dido Sevilla

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.
 
M

martinus

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

martinus
 
E

Eric Hodel

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

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 - (e-mail address removed) - 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--
 
G

gabriele renzi

Eric Hodel ha scritto:
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.
 
M

martinus

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
 
G

gabriele renzi

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.
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,053
Latest member
BrodieSola

Latest Threads

Top