Design Patterns for Graceful Degradation

Graceful degradation describes the smooth change of some distinct system feature to a lower state as a response to an event that prevents the system from exhibiting that feature in its full state. Such system behavior has appeared in a variety of domains from image processing and telecommunications to shared memory multiprocessors and multi-modular memory systems. In each domain, graceful degradation has targeted a different system feature, e.g. image quality, voice quality, computational capacity, memory access throughput, etc. However, irrespectively of the system feature that has been gracefully degraded, the basic concepts behind the mechanisms responsible for this behavior have been similar. This paper presents a design pattern that captures the general idea behind graceful degradation, plus three more patterns that describe how to smoothly reach a lower system state under different circumstances.

[1]  Niraj K. Jha,et al.  Graceful Degradation in Algorithm-Based Fault Tolerant Multiprocessor Systems , 1997, IEEE Trans. Parallel Distributed Syst..

[2]  Valérie Issarny,et al.  A dynamic reconfiguration service for CORBA , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[3]  Charles P. Shelton,et al.  Improving system dependability with functional alternatives , 2004, International Conference on Dependable Systems and Networks, 2004.

[4]  Titos Saridakis,et al.  Design Patterns for Log-Based Rollback Recovery , 2003 .

[5]  Khalid Sayood,et al.  A robust coding scheme for packet video , 1992, IEEE Trans. Commun..

[6]  Fred B. Schneider,et al.  Inexact agreement: accuracy, precision, and graceful degradation , 1985, PODC '85.

[7]  Titos Saridakis,et al.  Design Patterns for Fault Containment , 2003, EuroPLoP.

[8]  Garth A. Gibson,et al.  RAID: high-performance, reliable secondary storage , 1994, CSUR.

[9]  Titos Saridakis Surviving errors in component-based software , 2005 .

[10]  Vladimir Cherkassky A measure of graceful degradation in parallel-computer systems , 1989 .

[11]  Sajal K. Das,et al.  A Prioritized Real-Time Wireless Call Degradation Framework for Optimal Call Mix Selection , 2002, Mob. Networks Appl..

[12]  Dhiraj K. Pradhan,et al.  Organization and analysis of a gracefully-degrading interleaved memory system , 1987, ISCA '87.

[13]  Brian Randell,et al.  System structure for software fault tolerance , 1975, IEEE Transactions on Software Engineering.

[14]  Titos Saridakis,et al.  A System of Patterns for Fault Tolerance , 2002, EuroPLoP.

[15]  Hermann Kopetz,et al.  Dependability: Basic Concepts and Terminology , 1992 .

[16]  Maurice Herlihy,et al.  Specifying Graceful Degradation , 1991, IEEE Trans. Parallel Distributed Syst..

[17]  Titos Saridakis Towards the Integration of Fault, Resource, and Power Management , 2004, SAFECOMP.

[18]  J. Bormans,et al.  3D computational graceful degradation , 2000, 2000 IEEE International Symposium on Circuits and Systems. Emerging Technologies for the 21st Century. Proceedings (IEEE Cat No.00CH36353).

[19]  Kang G. Shin,et al.  Optimal reconfiguration strategy for a degradable multimodule computing system , 1987, JACM.

[20]  Alexander Thomasian,et al.  A design study of a shared resource computing system , 1976, ISCA.

[21]  Paul M. Chau,et al.  Robust image transmission over CDMA channels , 2000, 2000 Digest of Technical Papers. International Conference on Consumer Electronics. Nineteenth in the Series (Cat. No.00CH37102).

[22]  Carl E. Landwehr,et al.  Basic concepts and taxonomy of dependable and secure computing , 2004, IEEE Transactions on Dependable and Secure Computing.

[23]  Arthur D. Friedman,et al.  Diagnostic And Computational Reconfiguration In Multiprocessor Systems , 1978, ACM Annual Conference.

[24]  Robert Hanmer,et al.  Patterns for Fault Tolerant Software , 2007 .

[25]  Klaus Renzel,et al.  Error Detection , 1997 .

[26]  Titos Saridakis,et al.  Design Patterns for Checkpoint-Based Rollback Recovery , 2003 .

[27]  Titos Saridakis Graceful Degradation for Component-Based Embedded Software , 2004, IASSE.