Coyote
- 1 November 1998
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computer Systems
- Vol. 16 (4) , 321-366
- https://doi.org/10.1145/292523.292524
Abstract
Communication-oriented abstractions such as atomic multicast, group RPC, and protocols for location-independent mobile computing can simplify the development of complex applications built on distributed systems. This article describes Coyote, a system that supports the construction of highly modular and configurable versions of such abstractions. Coyote extends the notion of protocol objects and hierarchical composition found in existing systems with support for finer-grain microprotocol objects and a nonhierarchical composition scheme for use within a single layer of a protocol stack. A customized service is constructed by selecting microprotocols based on their semantic guarantees and configuring them together with a standard runtime system to form a composite protocol implementing the service. This composite protocol is then composed hierarchically with other protocols to form a complete network subsystem. The overall approach is described and illustrated with examples of services that have been constructed using Coyote, including atomic multicast, group RPC, membership, and mobile computing protocols. A prototype implementation based on extending x -kernel version 3.2 running on Mach 3.0 with support for microprotocols is also presented, together with performance results from a suite of microprotocols from which over 60 variants of group RPC can be constructed.Keywords
This publication has 30 references indexed in Scilit:
- A configurable membership serviceIEEE Transactions on Computers, 1998
- A metaobject architecture for fault-tolerant distributed systems: the FRIENDS approachIEEE Transactions on Computers, 1998
- TotemCommunications of the ACM, 1996
- Unreliable failure detectors for reliable distributed systemsJournal of the ACM, 1996
- Experience with modularity in consulSoftware: Practice and Experience, 1993
- Reaching agreement on processor-group membrship in synchronous distributed systemsDistributed Computing, 1991
- Lightweight causal and atomic group multicastACM Transactions on Computer Systems, 1991
- Understanding transactions in the operating system contextACM SIGOPS Operating Systems Review, 1991
- Broadcast protocols for distributed systemsIEEE Transactions on Parallel and Distributed Systems, 1990
- Preserving and using context information in interprocess communicationACM Transactions on Computer Systems, 1989