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.
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.