Abstract
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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Avizienis, A., Laprie, J.-C., Randell, B., Landwehr, C.: Basic Concepts and Taxonomy of Dependable and Secure Computing. IEEE Transactions on Dependable and Secure Computing 1(1), 11–33 (2004)
Bidan, C., Issarny, V., Saridakis, T., Zarras, A.: A Dynamic Reconfiguration Service for CORBA. In: Proceedings of the 4th International Conference on Configurable Distributed Systems, pp. 35–42 (1998)
Chen, P.M., Lee, E.K., Gibson, G.A., Katz, R.H., Patterson, D.A.: RAID: High-Performance, Reliable Secondary Storage. ACM Computing Surveys 26(2), 145–185 (1994)
Chen, Y.-C., Sayood, K., Nelson, D.J.: A Robust Coding Scheme for Packet Video. IEEE Transactions on Communications 40(9), 1491–1501 (1992)
Cherkassky, V., Malek, M.: A Measure of Graceful Degradation in Parallel-Computer Systems. IEEE Transactions on Reliability 38(1), 76–81 (1989)
Cheung, K., Sohi, G., Saluja, K., Pradhan, D.: Organization and Analysis of a Gracefully-Degrading Interleaved Memory System. In: Proceedings of the 14th Annual International Symposium on Computer Architecture, pp. 224–231 (1987)
Dang, P.P., Chau, P.M.: Robust Image Transmission over CDMA Channels. IEEE Transactions on Consumer Electronics 46(3), 664–672 (2000)
Hanmer, R.S.: Patterns for Fault Tolerant Software. Wiley Software Patterns Series. John Wiley & Sons, Chichester (2007)
Herlihy, M.P., Wing, J.M.: Specifying Graceful Degradation. IEEE Transactions on Parallel and Distributed Systems 2(1), 93–104 (1991)
Lafruit, G., Nachtergaele, L., Denolf, K., Bormans, J.: 3D Computational Graceful Degradation. In: Proceedings of the IEEE International Symposium on Circuits and Systems, pp. 3.547–3.550 (2000)
Lee, Y.-H., Shin, K.G.: Optimal Reconfiguration Strategy for a Degradable Multimodule Computing System. Journal of the ACM 34(2), 326–348 (1987)
Mahaney, S.R., Schneider, F.B.: Inexact Agreement: Accuracy, Precision, and Graceful Degradation. In: Proceedings of the 4th Annual ACM Symposium on Principles of Distributed Computing, pp. 237–249 (1985)
Randell, B.: System Structure for Software Fault Tolerance. IEEE Transactions on Software Engineering 1(2), 220–232 (1975)
Renzel, K.: Error Detection. In: Proceedings of the 2nd European Conference on Pattern Languages of Programs (1997)
Saheban, F., Friedman, A.D.: Diagnostic and Computational Reconfiguration in Multiprocessor Systems. In: Proceedings of the ACM Annual Conference, pp. 68–78 (1978)
Saridakis, T.: Graceful Degradation for Component-Based Embedded Software. In: Proceedings of the 13th International Conference on Intelligent and Adaptive Systems and Software Engineering, pp. 175–182 (2004)
Saridakis, T.: Towards the Integration of Fault, Resource, and Power Management. In: Proceedings of the 23rd International Conference on Computer Safety, Reliability and Security, pp. 72–86 (2004)
Saridakis, T.: Surviving Errors in Component-Based Software. In: Proceedings of the 31st Euromicro Conference on Software Engineering and Advances Applications – Component-Based Software Engineering Track (2005)
Shelton, C.P., Koopman, P.: Improving System Dependability with Functional Alternatives. In: Proceedings of the International Conference on Dependable Systems and Networks, pp. 295–304 (2004)
Thomasian, A., Avizienis, A.: A Design Study of a Shared Resource Computing System. In: Proceedings of the 3rd Annual Symposium on Computer Architecture, pp. 105–112 (1976)
Yajnik, S., Jha, N.K.: Graceful Degradation in Algorithm-Based Fault Tolerant Multiprocessor Systems. IEEE Transactions on Parallel and Distributed Systems 8(2), 137–153 (1997)
Zaruba, G.V., Chlamtac, I., Das, S.K.: A Prioritized Real-Rime Wireless Call Degradation Framework for Optimal Call Mix Selection. Mobile Networks and Applications 7(2), 143–151 (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Saridakis, T. (2009). Design Patterns for Graceful Degradation. In: Noble, J., Johnson, R. (eds) Transactions on Pattern Languages of Programming I. Lecture Notes in Computer Science, vol 5770. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-10832-7_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-10832-7_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-10831-0
Online ISBN: 978-3-642-10832-7
eBook Packages: Computer ScienceComputer Science (R0)