Skip to main content

Part of the book series: Lecture Notes in Computer Science ((TPLOP,volume 5770))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. 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)

    Article  Google Scholar 

  2. 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)

    Google Scholar 

  3. 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)

    Article  Google Scholar 

  4. Chen, Y.-C., Sayood, K., Nelson, D.J.: A Robust Coding Scheme for Packet Video. IEEE Transactions on Communications 40(9), 1491–1501 (1992)

    Article  Google Scholar 

  5. Cherkassky, V., Malek, M.: A Measure of Graceful Degradation in Parallel-Computer Systems. IEEE Transactions on Reliability 38(1), 76–81 (1989)

    Article  MathSciNet  Google Scholar 

  6. 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)

    Google Scholar 

  7. Dang, P.P., Chau, P.M.: Robust Image Transmission over CDMA Channels. IEEE Transactions on Consumer Electronics 46(3), 664–672 (2000)

    Article  Google Scholar 

  8. Hanmer, R.S.: Patterns for Fault Tolerant Software. Wiley Software Patterns Series. John Wiley & Sons, Chichester (2007)

    Google Scholar 

  9. Herlihy, M.P., Wing, J.M.: Specifying Graceful Degradation. IEEE Transactions on Parallel and Distributed Systems 2(1), 93–104 (1991)

    Article  Google Scholar 

  10. 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)

    Google Scholar 

  11. Lee, Y.-H., Shin, K.G.: Optimal Reconfiguration Strategy for a Degradable Multimodule Computing System. Journal of the ACM 34(2), 326–348 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  12. 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)

    Google Scholar 

  13. Randell, B.: System Structure for Software Fault Tolerance. IEEE Transactions on Software Engineering 1(2), 220–232 (1975)

    Google Scholar 

  14. Renzel, K.: Error Detection. In: Proceedings of the 2nd European Conference on Pattern Languages of Programs (1997)

    Google Scholar 

  15. Saheban, F., Friedman, A.D.: Diagnostic and Computational Reconfiguration in Multiprocessor Systems. In: Proceedings of the ACM Annual Conference, pp. 68–78 (1978)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. 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)

    Article  Google Scholar 

  22. 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)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics