A Generic Multicast Transport Service
to Support Disconnected Operation?y
Department of Computer Science, Cornell University, and UBILAB, Union Bank of Switzerland
Many mobile computing applications can profit from process groups and reliable multicast communication to maintain replicated data, but most operating systems available today fail in providing the primitive operations needed by such applications. In this paper we describe a highly configurable, Generic Multicast Transport Service (GTS), which supports the implementation of group-based applications in wide-area settings. GTS is unique in that it offers fault-tolerant, order-preserving multicast on arbitrary communication protocols, including e-mail. As another distinguishing mark, messages can be sent to processes even when they are temporarily unavailable, which permits disconnected operation and mobility. We further propose an object-oriented system design consisting of adaptor objects interconnected to form a protocol tree. Adaptor objects offer a common interface to dissimilar communication protocols, and make it easy to incorporate new protocols into GTS. Currently, GTS is being used in a cooperative software engineering environment and in other projects. GTS is available for anonymous ftp.
Keywords: Disconnected Operation, Replication, Message Spooling, Reliable Multicast, Wide Area Networks
Groupware, replicated file archives, and other kinds of distributed systems stimulate the need for struc-
?Research supported by grants from the Swiss National
Science Foundation, Siemens-Nixdorf, Union Bank of Switzerland,
yIn: Proceedings of the 2nd USENIX Symposium on Mobile and Location-Independent Computing, Ann Arbor MI, April 1995
turing activities around process groups [3, 15] and reliable, order-preserving multicast . We have developed a novel communication substrate, called the Generic Multicast Transport Service (GTS), which enables the implementation of process group-based applications in wide-area networks. As the main abstractions, GTS offers reliable order-preserving multicast, reliable point-to-point communication, and process groups. A variety of transport protocols are supported and new protocols can be incorporated into the service easily. GTS is unique in that it permits disconnected operation, encrypted communication, reconfiguration, and in that applications may transmit messages without waiting until they have been delivered.
In the GTS system model, processes become unresponsive due to failures or due to disconnected operation of portable equipment. In such situations, GTS will spool messages on non-volatile storage and deliver them to their recipients as soon as they become available and register with GTS again. Addressing is by Uniform Resource Locators similar to the World Wide Web.
1.2 Related Work
Examples of state-of-the-art toolkits offering process groups and reliable, order-preserving multicast are Consul , Electra , Horus , Isis , and Transis . These toolkits primarily aim to support applications running within one LAN. If a process has been unresponsive for a certain (usually short) period of time, their default behavior is to regard the process as faulty and to exclude it from the system. If a process or a whole group becomes unresponsive, applications cannot submit messages to it any more. Thus, periodic communication and disconnected operation are not adequately supported.
In contrast, GTS tolerates arbitrary communication delays and permits the sending of messages to