[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Distributed Hash in Ruby?

martinus

1/27/2005 2:31:00 PM

Hi,

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

martinus

6 Answers

Dido Sevilla

1/28/2005 6:55:00 AM

0

On Thu, 27 Jan 2005 23:30:55 +0900, martinus <martin.ankerl@gmail.com> wrote:
> Hi,
>
> Has anyone ever implemented a distributed hash protool (like e.g. Chord
> http://www.pdos.lcs.mit....) 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.


martinus

1/28/2005 1:32:00 PM

0

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

martinus

Eric Hodel

1/28/2005 9:02:00 PM

0

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....) 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://se.../projects/ruby/drb/rinda/rings...

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

gabriele renzi

1/28/2005 10:53:00 PM

0

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....) 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/rings...
>

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.

martinus

1/29/2005 1:38:00 PM

0

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

gabriele renzi

1/29/2005 2:14:00 PM

0

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.