Rinda and notifications example?

Hello,

I really tried to find some examples on Rinda. There is exactly one page (727) in the programming Ruby book. So here is what I understood:

1.
Rinda is based on top of DRb

2.
With DRb, you can have clients notified of changes using observers (a class mixin I think)

3.
Rinda allows you to have a server of tuples.

4.
Rinda needs one Rinda service process, one tuplespace process and then as many client processes as you want to connect to a tuplespace

5.
It seems rather simple to add tuples to the tuplespace then retrieve them using patterns

6.
It "looks like" you can get notified, but how?

7.
It "looks like" you can set durations (validity) to tuples, but how?

What I miss here is:

An example of a tuplespace program (client and server) where:

- you can register (or unregister) as observer for a given pattern
- add or delete a tuple
- get notified of an addition or a deletion (either from timestamp validity or because it has been deleted)

The idea is to have a tuplespace of all the status of the real time monitoring we do of our systems. It can be simple pings, more complexe HTTP/Get, etc... all this will be consolidated and we should be able to view "all the last situations on machine A" or "all the probes giving an error", etc...

Many thanks,

Alex

···

--
Alexander Lamb
Service d'Informatique Médicale
Hôpitaux Universitaires de Genève
Alexander.J.Lamb@sim.hcuge.ch
+41 22 372 88 62
+41 79 420 79 73

Hello,

I really tried to find some examples on Rinda. There is exactly one page (727) in the programming Ruby book. So here is what I understood:

1.
Rinda is based on top of DRb

Yes.

2.
With DRb, you can have clients notified of changes using observers (a class mixin I think)

It is no different than regular Ruby.

3.
Rinda allows you to have a server of tuples.

Yes

4.
Rinda needs one Rinda service process, one tuplespace process and then as many client processes as you want to connect to a tuplespace

You only need a TupleSpace. Rinda::RingFinder just makes things convenient, but the two don't have anything to do with each other.

5.
It seems rather simple to add tuples to the tuplespace then retrieve them using patterns

Yes.

6.
It "looks like" you can get notified, but how?

[ruby-talk:159065]

7.
It "looks like" you can set durations (validity) to tuples, but how?

Second argument to write/take/read/notify is either a duration or a Renewer.

What I miss here is:

An example of a tuplespace program (client and server) where:

- you can register (or unregister) as observer for a given pattern
- add or delete a tuple
- get notified of an addition or a deletion (either from timestamp validity or because it has been deleted)

There are some examples in sample/drb:

http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/sample/drb/

···

On Oct 26, 2005, at 1:16 AM, Alexander Lamb wrote:

The idea is to have a tuplespace of all the status of the real time monitoring we do of our systems. It can be simple pings, more complexe HTTP/Get, etc... all this will be consolidated and we should be able to view "all the last situations on machine A" or "all the probes giving an error", etc...

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