DRb, Rinda and Jini


(Aidan) #1

I’ve been experimenting with DRb and Rinda recently - a beautifully
elegant distributed computing model. English documentation is a scarce
resource though - a section each in Hal’s book and the Developer’s
guide. Does anyone know of other substantial resources? I see from
Masatoshi Seki’s site that there is a book available in Japan on DRb,
are there any plans to translate it?

Cards on the table, when it comes to distributed systems,I’m a Jini fan.
Jini offers a similarly elegant implementation of OO parallel
distributed computing, using similar techniques (both JavaSpaces and
Rinda are based on David Gelerntner’s Linda system). Yes, Jini is not
just for Toasters.

When comparing basic DRb and Jini, we see that Jini offers some extra’s

  • a distributed notification system, the leasing concept, transactions,
    coordinated multiple JavaSpaces, OO pattern matching in the space, a
    name service, a multi-casting location service and some commercial
    enterprise scale implementations ( intramission, gigaspaces …)

The downside to Jini is that Sun have more or less sidelined it
(reputedly so as not to hurt their big hit - J2EE)

An open set of questions:
Is anyone else interested in the subject?
Could we start a mailing list to collect information on the subject?
Would any Japanese/English bi-lingual readers bring the group up to
date on the status of DRb?
Is anyone interested in implementing some of the "missing components"
above (if indeed they are missing)?
How could DRb be made language independent?

Aidan


(Massimiliano Mirra) #2

A while ago I modified an XML marshalling module and put the tuple
space behind a TCP server (DRb was not in the equation). Objects
would be marshalled into XML, be associated to a tuple space
instruction (in, out, read), sent through the net, arrive to the
space, be unmarshalled and then hold the usual conversation with the
space, possibly with a tuple being sent back.

An extension to this was that objects sitting in the tuple space could
be proxied: method calls on the local proxy object were transparently
marshalled and sent to the space for the object to pick them up,
remote procedure call over the tuple space.

Since all the communication was done through XML, it only required
that the language the client is written in has got a module to marshal
objects in a format understandable by the server/space.

I did not release any code becase it was rough and limited and nobody
needed it. If you want it just let me know.

Massimiliano

···

On Thu, Jun 06, 2002 at 05:42:30PM +0900, Aidan wrote:

How could DRb be made language independent?


(Ned Konz) #3

Is anyone interested in implementing some of the “missing
components” above (if indeed they are missing)?

Perhaps. I need to make a Ruby/Squeak/possibly Perl system that can do
simple communications of relatively simple objects (no object
references).

My strategy was going to be to come up with a standard for marshalling
this kind of data. I’ve done it before with Smalltalk, and it’s
pretty simple to do.

Or one could use the SOAP marshalling.

I’ve been looking at Spread (http://www.spread.org), which could
provide the multicast/reliable communications plumbing for such a
thing. There are a couple of Ruby Spread modules already available
(presumably calling the C API, though it wouldn’t be too hard to
translate the Java implementation into Ruby).

How could DRb be made language independent?

By standardizing on a marshalling scheme?

···

On Thursday 06 June 2002 01:42 am, Aidan wrote:


Ned Konz
http://bike-nomad.com
GPG key ID: BEEA7EFE


(Pit) #4

On 6 Jun 2002, at 17:42, Aidan asked about interests in DRb, Rinda and Jini.

Hi Aidan,

Is anyone else interested in the subject?

I too am interested in distributed computing and especially in DRb,
Jini and tuplespaces. But besides lurking on the mailing lists I
currently don’t have time to actively participate.

Could we start a mailing list to collect information on the subject?

If there’s enough interest. I’d definitely be interested.

Is anyone interested in implementing some
of the “missing components” above (if indeed they are missing)?

I’d like to, but see above.

How
could DRb be made language independent?

Haven’t looked at the internals yet.

Please keep us informed about your next steps.

Regards,
Pit


(Aidan) #5

Aidan says:

I’ve been experimenting with DRb and Rinda recently - a beautifully
elegant distributed computing model. English documentation is a scarce
resource though -

Since several people seemed interested in further exploring distributed
Ruby - SOAP, XML-PRC, DRb, Rinda et al, I have just set up a dedicated
list at yahoo (since ruby-dbi have their list running there).

http://groups.yahoo.com/group/ruby-drb/

Subscribe:
ruby-drb-subscribe@yahoogroups.com
Post message:
ruby-drb@yahoogroups.com
Unsubscribe:
ruby-drb-unsubscribe@yahoogroups.com
List owner:
ruby-drb-owner@yahoogroups.com

I know Yahoo is advert wridden and not the perfect solution but as a
quick and dirty list with archiving and file storage, it can serve.

Aidan


(Pierre Brengard) #6

Pit Capitain wrote:

On 6 Jun 2002, at 17:42, Aidan asked about interests in DRb, Rinda and Jini.

Hi Aidan,

Is anyone else interested in the subject?

I too am interested in distributed computing and especially in DRb,
Jini and tuplespaces. But besides lurking on the mailing lists I
currently don’t have time to actively participate.

I am searching for some docs about Rinda. Are there any ?

Could we start a mailing list to collect information on the subject?

If there’s enough interest. I’d definitely be interested.

maybe a page on the RubyWiki could be a good start

Is anyone interested in implementing some
of the “missing components” above (if indeed they are missing)?

I’d like to, but see above.

How
could DRb be made language independent?

Haven’t looked at the internals yet.

Please keep us informed about your next steps.

Regards,
Pit

Pierre Brengard


(Aidan) #7

Massimiliano Mirra wrote:

How could DRb be made language independent?

A while ago I modified an XML marshalling module and put the tuple
space behind a TCP server (DRb was not in the equation). Objects
would be marshalled into XML, be associated to a tuple space
instruction (in, out, read), sent through the net, arrive to the
space, be unmarshalled and then hold the usual conversation with the
space, possibly with a tuple being sent back.

I did not release any code becase it was rough and limited and nobody
needed it. If you want it just let me know.

Sounds very interesting indeed. Publishing the code would be great.

You can either post it to me ( ahumphr at gmx dot de ) or to the list I
just set up

http://groups.yahoo.com/group/ruby-drb

Aidan

···

On Thu, Jun 06, 2002 at 05:42:30PM +0900, Aidan wrote: