[Spread-users] Sending messages to a fixed set of servers
lulli at cs.tu-berlin.de
Tue May 4 11:31:48 EDT 2004
I came only recently across GCS in general and spread specifically, and
I'm really impressed by your substantiated and so valueable work, really
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
- 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?
More information about the Spread-users