Supporting customized failure models for distributed software

, and

Published under licence by IOP Publishing Ltd
, , Citation Matti A Hiltunen et al 1999 Distrib. Syst. Engng. 6 103 DOI 10.1088/0967-1846/6/3/302

0967-1846/6/3/103

Abstract

The cost of employing software fault tolerance techniques in distributed systems is strongly related to the type of failures to be tolerated. For example, in terms of the amount of redundancy required and execution time, tolerating a processor crash is much cheaper than tolerating arbitrary (or Byzantine) failures. This paper describes an approach to constructing configurable services for distributed systems that allows easy customization of the type of failures to tolerate. Using this approach, it is possible to configure custom services across a spectrum of possibilities, from a very efficient but unreliable server group that does not tolerate any failures, to a less efficient but reliable group that tolerates crash, omission, timing, or arbitrary failures. The approach is based on building configurable services as collections of software modules called micro-protocols. Each micro-protocol implements a different semantic property or property variant, and interacts with other micro-protocols using an event-driven model provided by a runtime system. In addition to facilitating the choice of failure model, the approach allows service properties such as message ordering and delivery atomicity to be customized for each application.

Export citation and abstract BibTeX RIS

Please wait… references are loading.
10.1088/0967-1846/6/3/302