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.
Similar content being viewed by others
References
Ganek AG, Corbi TA (2003) The dawning of the autonomic computing era. IBM Syst J 42(1):5–18
Kephart JO, Chess DM (2003) The vision of autonomic computing. IEEE Comput 36:41–50
Brewer E (2001) Lessons from giant-scale services. IEEE Internet Comput 5(4):46–55
Oppenheimer D, Patterson D (2002) Architecture and dependability of large-scale Internet services. IEEE Internet Comput 41–49
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
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
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
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
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
Sterrit R (2004) Autonomic networks: engineering the self-healing property. Eng Appl Artif Intell 17:727–739
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
Aamodt A, Plaza E (1994) Case-based reasoning: foundational issues, methodological variations and systems approaches. AI Commun 7:39–59
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
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
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
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
Wotawa F (2002) On the relationship between model-based debugging and program slicing. Artif Intell 135:125–143
Friedrich G, Stumptner M, Wotawa F (1999) Model-based diagnosis of hardware design. Artif Intell 111:3–39
Koshgoftaar TM, Seliya N, Sunsaresh N (2006) An empirical study of predicting software faults with case-based reasoning. Soft Qual J 14:85–111
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
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
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
Wilson DR, Martinez TR (1997) Improved heterogeneous distance functions. J Artif Intell Res 6:1–34
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
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
The Rubis Project Home Page. http://rubis.objectweb.org
The cURL and libcurl Home Page. http://curl.haxx.se
Quinlan JR (1993) C4.5: Programs for machine learning. Morgan, San Mateo
The C4.5 Distribution Page. http://www2.cs.uregina.ca/~dbd/cs831/notes/ml/dtrees/c4.5/c4.5r8.tar.gz
Hammond KJ (1989) Case-based planning: viewing planning as a memory task. Academic, New York
Aha D, Daniels J (eds) (1998) Proceedings of the AAAI workshop on CBR integrations. AAAI, Menlo Park
Freuder E (ed) (1998) Proceedings of the AAAI spring symposium on multi-modal reasoning. AAAI, Menlo Park
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
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
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
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
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
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
Xu LD (1996) An integrated rule- and case-based approach to AIDS initial assessment. Int J Biomed Comput 40:197–207
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10489-007-0047-1