[Spread-users] Sending messages to a fixed set of servers

Christian Schnell lulli at cs.tu-berlin.de
Tue May 4 11:31:48 EDT 2004


Hello,

I came only recently across GCS in general and spread specifically, and 
I'm really impressed by your substantiated and so valueable work, really 
great.

I'm posting here because I'm looking for a specific extension to spread, 
here my sketchy requirements: A broadcast to a fixed set of servers, 
hiding the fact that any subset may not be reachable at the moment.

What I have in mind is a service that delivers a message not only to the 
servers of a configuration (like spread) but eventually also to all 
remaining servers of a fixed superset (it is assumed that later 
configurations provide the missing network routes). That service should 
hide the details of storing, tracking, exchanging and removing the 
postponed messages (messages can be removed from the local storage as 
soon as it can be concluded that they have been delivered globally).

Under the hood, the service provides some sort of lazy replication to 
synchronize the persistent message buffers of servers, all messages are 
delivered in consistent order to applications:
a) messages are delivered in the agreed order of their configuration,
b) successive configurations are processed in their sequential order and
c) non-sequential configurations in arbitrary order.

I would imagine this service to inform the application twice about each 
message: once on arrival of a message and once right before it is 
discarded (when it is clear that it has been delivered to all servers), 
that should perhaps be configurable with each single message. It might 
also be usefull if the service would tag messages as being either 'live' 
or 'replay' when delivering to the application.

Now my questions regarding all this:
- Do these requirements make sense to you? Has this been discussed here 
before?
- What would be the appropriate name for such a service?
- Any objections to implementing this as a layer on top of spread?
- Has this already been done with spread? Or with any other GCS?
- Does it make sense to start such an effort with spread or are there 
better ways to achive this?
- Anything else to learn from?

Thanks,
Christian




More information about the Spread-users mailing list