A System of Patterns for Fault Tolerance

Many fault tolerance techniques that have been devised, applied and improved over the past three decades represent general solutions to recurring problems in the design of fault tolerant computer systems. This document presents some of the best known such techniques, formatted as patterns and organized by a classification scheme into a system of patterns for fault tolerance. This pattern system reveals the relations among the presented patterns for fault tolerance and delineates a number of ways in which these patterns can be used to refine each other. In turn, these refinement relations create design frameworks for the development of fault tolerant systems with different efficiency and complexity characteristics.

[1]  Ralph Johnson Patterns and frameworks , 1998 .

[2]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture Volume 1: A System of Patterns , 1996 .

[3]  Russell L. Ramirez A design patterns experience report , 1998 .

[4]  Robert S. Hanmer,et al.  Fault-tolerant telecommunication system patterns , 1996 .

[5]  Valérie Issarny,et al.  Multi-view description of software architectures , 1998, ISAW '98.

[6]  Shivakant Mishra,et al.  Abstractions for Constructing Dependable Distributed Systems , 1992 .

[7]  H. Kopetz,et al.  Dependability: Basic Concepts and Terminology , 1992, Dependable Computing and Fault-Tolerant Systems.

[8]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[9]  Valérie Issarny,et al.  Developing Dependable Systems Using Software Architecture , 1999, WICSA.

[10]  Robbert van Renesse,et al.  Reliable Distributed Computing with the Isis Toolkit , 1994 .

[11]  Wei-Tek Tsai,et al.  Backup pattern: designing redundancy in object-oriented software , 1996 .

[12]  Richard D. Schlichting,et al.  Fail-stop processors: an approach to designing fault-tolerant computing systems , 1983, TOCS.

[13]  Fred B. Schneider,et al.  Implementing fault-tolerant services using the state machine approach: a tutorial , 1990, CSUR.

[14]  Dirk Riehle,et al.  Pattern Languages of Program Design 3 , 1997 .

[15]  Silvano Maffeis,et al.  The Object Group Design Pattern , 1996, COOTS.

[16]  Joseph W. Yoder,et al.  Architectural Patterns for Enabling Application Security , 1998 .