next up previous contents
Next: Update Objects Up: Implementation of Relay and Previous: Java

The Relay System

The Relay servers and caches that make up the Relay system are responsible for propagating updates to client applications to provide a consistent view of shared state. Updates are Java objects that encapsulate the entire state of an object. Relay servers are Java applications that receive updates and propagate them to clients, i.e., Relay caches and other Relay servers. Relay caches are Java objects which client applications instantiate to join the Relay system.

An overview of the operation of the Relay system might be helpful before describing the individual components. The following describes the flow of an update through the Relay system.

  1. User interacts with the client application to generate an update to the shared state.
  2. The client application notifies the Relay cache that an object has been updated.
  3. The Relay Cache sends the update to the Relay server.
  4. The Relay Server receives and applies the update.
  5. The update is propagated to all clients, including the client where the update originated and any other connected Relay servers.
  6. The Relay cache receives the update and determines if it should be applied.
  7. If the update is applied, the cache notifies the client application that cached data has changed.

Detailing the operation of the Relay system is easy if we break it down into three components: (1) Update objects, (2) Relay Servers, and (3) Relay caches.





Carmine F. Greco
Wed Mar 26 23:44:38 EST 1997