Skip to main content
Log in

Achieving self-healing in service delivery software systems by means of case-based reasoning

  • Published:
Applied Intelligence Aims and scope Submit manuscript

Abstract

Self-healing, i.e. the capability of a system to autonomously detect failures and recover from them, is a very attractive property that may enable large-scale software systems, aimed at delivering services on a 24/7 fashion, to meet their goals with little or no human intervention. Achieving self-healing requires the elicitation and maintenance of domain knowledge in the form of 〈service failure diagnosis, repair plan〉 patterns, a task which can be overwhelming. Case-Based Reasoning (CBR) is a lazy learning paradigm that largely reduces this kind of knowledge acquisition bottleneck. Moreover, the application of CBR for failure diagnosis and remediation in software systems appears to be very suitable, as in this domain most errors are re-occurrences of known problems. In this paper, we describe a CBR approach for providing large-scale, distributed software systems with self-healing capabilities, and demonstrate the practical applicability of our methodology by means of some experimental results on a real world application.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Ganek AG, Corbi TA (2003) The dawning of the autonomic computing era. IBM Syst J 42(1):5–18

    Article  Google Scholar 

  2. Kephart JO, Chess DM (2003) The vision of autonomic computing. IEEE Comput 36:41–50

    Google Scholar 

  3. Brewer E (2001) Lessons from giant-scale services. IEEE Internet Comput 5(4):46–55

    Article  Google Scholar 

  4. Oppenheimer D, Patterson D (2002) Architecture and dependability of large-scale Internet services. IEEE Internet Comput 41–49

  5. Anglano C, Montani S (2005) Achieving self-healing in autonomic software systems: a case-based reasoning approach. In: Czap H, Unland R, Branki C, Tianfield H (eds) Proceedings of the international conference on self-organization and adaptation of multi-agent and grid systems (SOAS), Glasgow, December 2005, IOS, Amsterdam, pp 267–281

    Google Scholar 

  6. Arshad N, Heimbigner D, Wolf A (2004) A planning based approach to failure recovery in distributed systems. In: Proceedings of 2nd ACM workshop on self-healing systems (WOSS ’04), Newport Beach, CA, USA, October 2004. ACM, New York

    Google Scholar 

  7. Brodie M, Ma S, Lohman G, Syeda-Mahmood T, Mignet L, Modani N, Champlin J, Sohn P (2005) Quickly finding known software problems via automated symptom matching. In: Proceedings of the 2nd international conference on autonomic computing, Seattle, WA, USA, June 2005

  8. Garlan D, Schmerl B (2002) Model-based adaptation for self-healing systems. In: Proceedings of 1st ACM workshop on self-healing systems (WOSS ’02), Charleston, SC, USA, November 2002. ACM, New York

    Google Scholar 

  9. Littman M, Nguyen T, Hirsh H (2003) Cost-sensitive fault remediation for autonomic computing. In: Proceedings of IJCAI workshop on AI and autonomic computing: developing a research agenda for self-managing computer systems, Acapulco, Mexico, August 2003

  10. Sterrit R (2004) Autonomic networks: engineering the self-healing property. Eng Appl Artif Intell 17:727–739

    Article  Google Scholar 

  11. Dong X, Hariri S, Xue L, Chen H, Zhang M, Pavuluri S, Rao S (2003) Autonomia: an autonomic computing environment. In: Proceedings of the 2003 international conference on performance, computing, and communications. IEEE Computer Society, Los Alamitos

    Google Scholar 

  12. Aamodt A, Plaza E (1994) Case-based reasoning: foundational issues, methodological variations and systems approaches. AI Commun 7:39–59

    Google Scholar 

  13. Oppenheimer D, Ganapathi A, Patterson D (2003) Why do Internet services fail, and what can be done about it? In: Proceedings of 4th usenix symposium on Internet technologies and systems (USITS ’03), Seattle, WA, USA, March 2003

  14. Montani S, Anglano C (2006) Case-based reasoning for autonomous service failure diagnosis and remediation in software systems. In: Roth-Berghofer T.R. et al. (eds) Proceedings of the European conference on case-based reasoning (ECCBR) 2006. Lecture notes in artificial intelligence, vol 4106. Springer, Berlin, pp 489–503

    Google Scholar 

  15. Joshi KR, Hiltunen MA, Sanders WH, Schlichting RD (2005) Automatic model-driver recovery in distributed systems. In: Proceedings of 24th IEEE symposium on reliable distributed systems (SRDS 05). IEEE, New York

    Google Scholar 

  16. Console L, Friedrich G, Theseider-Dupre D (1993) Model-based diagnosis meets error diagnosis in logic programming. In: Proceedings of the IJCAI, Chambery, France, pp 1494–1499

  17. Wotawa F (2002) On the relationship between model-based debugging and program slicing. Artif Intell 135:125–143

    Article  MATH  MathSciNet  Google Scholar 

  18. Friedrich G, Stumptner M, Wotawa F (1999) Model-based diagnosis of hardware design. Artif Intell 111:3–39

    Article  MATH  MathSciNet  Google Scholar 

  19. Koshgoftaar TM, Seliya N, Sunsaresh N (2006) An empirical study of predicting software faults with case-based reasoning. Soft Qual J 14:85–111

    Article  Google Scholar 

  20. Avizienis A, Laprie J, Randell B, Landwehr C (2004) Basic concepts and taxonomy of dependable and secure computing. IEEE Trans Dependable Secur Comput 1(1):11–33

    Article  Google Scholar 

  21. Kaiser G, Parekh J, Gross P, Valetto G (2003) Kenesthetics extreme an external infrastructure for monitoring distributed legacy systems. In: Proceedings of 5th IEEE international active middleware workshop, Seattle, WA, USA, June 2003. IEEE Computer Society, Los Alamitos

    Google Scholar 

  22. Nunez H, Sanchez-Marre M (2004) Instance-based learning techniques of unsupervised features weighting do not perform so badly! In: Lopez de Mantaras R, Saitta L (eds) Proceedings of the European conference on artificial intelligence (ECAI). IOS, Amsterdam, pp 102–108

    Google Scholar 

  23. Wilson DR, Martinez TR (1997) Improved heterogeneous distance functions. J Artif Intell Res 6:1–34

    MATH  MathSciNet  Google Scholar 

  24. Schmidt R, Montani S, Bellazzi R, Portinale L, Gierl L (2001) Case-based reasoning for medical knowledge-based systems. Int J Med Inf 64(2-3):355–367

    Article  Google Scholar 

  25. Gierl L, Stengel-Rutkowski S (1994) Integrating consultation and semi-automatic knowledge acquisition in a prototype-based architecture: Experiences with dysmorphic syndromes. Artif Intell Med 6:29–49

    Article  Google Scholar 

  26. The Rubis Project Home Page. http://rubis.objectweb.org

  27. The cURL and libcurl Home Page. http://curl.haxx.se

  28. Quinlan JR (1993) C4.5: Programs for machine learning. Morgan, San Mateo

    Google Scholar 

  29. The C4.5 Distribution Page. http://www2.cs.uregina.ca/~dbd/cs831/notes/ml/dtrees/c4.5/c4.5r8.tar.gz

  30. Hammond KJ (1989) Case-based planning: viewing planning as a memory task. Academic, New York

    Google Scholar 

  31. Aha D, Daniels J (eds) (1998) Proceedings of the AAAI workshop on CBR integrations. AAAI, Menlo Park

    Google Scholar 

  32. Freuder E (ed) (1998) Proceedings of the AAAI spring symposium on multi-modal reasoning. AAAI, Menlo Park

    Google Scholar 

  33. Bonissone PP, Dutta S (1990) Integrating case-based and rule-based reasoning: the possibilistic connection. In: Proceedings of 6th conference on uncertainty in artificial intelligence, Cambridge, MA, USA, July 1990

  34. Surma J, Vanhoof K (1995) Integration rules and cases for the classification task. In: Veloso M, Aamodt A (eds) Proceedings of the 1st international conference on case-based reasoning, Lecture notes in computer science, vol 1010. Sesimbra, Portugal, October 1995. Springer, Berlin, pp 325–334

    Chapter  Google Scholar 

  35. Macchion D, Vo D (1993) A hybrid knowledge-based system for technical diagnosis learning and assistance. In: Wess S, Althoff K, Richter M (eds) Proceedings of the 1st European workshop on case-based reasoning, Kaiserslautern, Germany, November 1993. Lecture notes in computer science, vol 837. Springer, Berlin, pp 301–312

    Google Scholar 

  36. Branting LK, Porter BW (1991) Rules and precedents as complementary warrants. In: Proceedings of 9th national conference on artificial intelligence, Anaheim, CA, USA, July 1991. AAAI, Menlo Park

    Google Scholar 

  37. Rissland E, Skalak D (1989) Combining case-based and rule-based reasoning: a heuristic approach. In: Sridharan NS (ed) Proceedings of 11th international joint conference on artificial intelligence, pp 524–530

  38. Bichindaritz I, Kansu E, Sullivan K (1998) Case-based reasoning in care-partner: Gathering evidence for evidence-based medical practice. In: Smyth B, Cunningham P (eds) Proceedings 4th European workshop on case-based reasoning, Dublin, Ireland, September 1998. Lecture notes in computer science, vol 1488. Springer, Berlin, pp 334–345

    Chapter  Google Scholar 

  39. Xu LD (1996) An integrated rule- and case-based approach to AIDS initial assessment. Int J Biomed Comput 40:197–207

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stefania Montani.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Montani, S., Anglano, C. Achieving self-healing in service delivery software systems by means of case-based reasoning. Appl Intell 28, 139–152 (2008). https://doi.org/10.1007/s10489-007-0047-1

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10489-007-0047-1

Keywords

Navigation