Coyote: a system for constructing fine-grain configurable communication services

  • Authors:
  • Nina T. Bhatti;Matti A. Hiltunen;Richard D. Schlichting;Wanda Chiu

  • Affiliations:
  • Univ. of Arizona, Tucson;Univ. of Arizona, Tucson;Univ. of Arizona, Tucson;Univ. of Arizona, Tucson

  • Venue:
  • ACM Transactions on Computer Systems (TOCS)
  • Year:
  • 1998

Quantified Score

Hi-index 0.01

Visualization

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.