Logo PTI
Polish Information Processing Society
Logo RICE

Annals of Computer Science and Information Systems, Volume 10

Proceedings of the Second International Conference on Research in Intelligent and Computing in Engineering

Designing Graceful Degradation in Software Systems

DOI: http://dx.doi.org/10.15439/2017R15

Citation: Proceedings of the Second International Conference on Research in Intelligent and Computing in Engineering, Vijender Kumar Solanki, Vijay Bhasker Semwal, Rubén González Crespo, Vishwanath Bijalwan (eds). ACSIS, Vol. 10, pages 171179 ()

Full text

Abstract. Graceful degradation is an aspect of a fault tolerant software system, where in case of some failures, system functionality is reduced to a smaller set of services/functionalities that can be performed by the system. During the period of graceful degradation, system runs and offers only the minimal set of critical services, thus avoiding total outages. This paper discusses some design approaches which can be used in a software system to handle graceful degradation. It also proposes and discusses the design of the ‘Capability Determination Model' (CDM), and how this model can be used to build and implement an IT software system with graceful degradation. This paper presents a high level design of the CDM and how different aspects of graceful degradation can be built into a software system using this model (CDM).Working of different components of CDM is also discussed. In the end, this paper talks about some of the alternatives of graceful degradation design and challenges associated with designing software systems with graceful degradation.

References

  1. Titos Saridakis . Design Patterns for Graceful Degradation - http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.105.996&rep=rep1&type=pdf
  2. Towards Robust Distributed Systems , http://www.eecs.berkeley.edu/~brewer/cs262b-2004/PODC-keynote.pdf
  3. Rad aideh, Moh’d A.. Architecture of Reliable Web Applications Software . http://www.igi-global.com/book/architecture-reliable-web-applications-software/78
  4. Circuit Breaker Design Pattern - https://en.wikipedia.org/wiki/Circuit_breaker_design_pattern
  5. Bulkhead design Pattern - http://stackoverflow.com/questions/30391809/what-is-bulkhead-pattern-used-by-hystrix
  6. ActiveMQ - http://activemq.apache.org/
  7. IBM WebSphere MQ - http://www-03.ibm.com/software/products/en/ibm-mq