A survey of autonomic computing—degrees, models, and applications

Autonomic Computing is a concept that brings together many fields of computing with the purpose of creating computing systems that self-manage. In its early days it was criticised as being a “hype topic” or a rebadging of some Multi Agent Systems work. In this survey, we hope to show that this was not indeed ‘hype’ and that, though it draws on much work already carried out by the Computer Science and Control communities, its innovation is strong and lies in its robust application to the specific self-management of computing systems. To this end, we first provide an introduction to the motivation and concepts of autonomic computing and describe some research that has been seen as seminal in influencing a large proportion of early work. Taking the components of an established reference model in turn, we discuss the works that have provided significant contributions to that area. We then look at larger scaled systems that compose autonomic systems illustrating the hierarchical nature of their architectures. Autonomicity is not a well defined subject and as such different systems adhere to different degrees of Autonomicity, therefore we cross-slice the body of work in terms of these degrees. From this we list the key applications of autonomic computing and discuss the research work that is missing and what we believe the community should be considering.

[1]  Peter Braun,et al.  A policy based QoS management system for the IntServ/DiffServ based Internet , 2002, Proceedings Third International Workshop on Policies for Distributed Systems and Networks.

[2]  Eric Jul,et al.  The Laundromat Model for Autonomic Cluster Computing , 2006, 2006 IEEE International Conference on Autonomic Computing.

[3]  N. Nisan,et al.  Globally distributed computation over the Internet-the POPCORN project , 1998, Proceedings. 18th International Conference on Distributed Computing Systems (Cat. No.98CB36183).

[4]  Salim Hariri,et al.  Autonomic power and performance management for computing systems , 2006, 2006 IEEE International Conference on Autonomic Computing.

[5]  Yixin Diao,et al.  ABLE: A toolkit for building multiagent autonomic systems , 2002, IBM Syst. J..

[6]  Gail E. Kaiser,et al.  Ravages of Time: Synchronized Multimedia for Internet-Wide Process-Centered Software Engineering Environments , 2000 .

[7]  Leon J. Osterweil,et al.  Containment units: a hierarchically composable architecture for adaptive systems , 2002, SIGSOFT '02/FSE-10.

[8]  Kang-Won Lee,et al.  Policy management for networked systems and applications , 2005, 2005 9th IFIP/IEEE International Symposium on Integrated Network Management, 2005. IM 2005..

[9]  Nicholas R. Jennings,et al.  Intelligent agents: theory and practice , 1995, The Knowledge Engineering Review.

[10]  Julie A. McCann,et al.  Adaptive middleware for context-aware applications in smart-homes , 2004, MPAC '04.

[11]  Xiaosong Ma,et al.  Governor: Autonomic Throttling for Aggressive Idle Resource Scavenging , 2005, Second International Conference on Autonomic Computing (ICAC'05).

[12]  Wendi Heinzelman,et al.  Energy-efficient communication protocol for wireless microsensor networks , 2000, Proceedings of the 33rd Annual Hawaii International Conference on System Sciences.

[13]  Vincent H. Berk,et al.  Implementing Large-Scale Autonomic Server Monitoring Using Process Query Systems , 2005, Second International Conference on Autonomic Computing (ICAC'05).

[14]  Gail E. Kaiser,et al.  Retrofitting Autonomic Capabilities onto Legacy Systems , 2006, Cluster Computing.

[15]  Mukesh K. Mohania,et al.  Management of Conflicting Obligations in Self-Protecting Policy-Based Systems , 2005, Second International Conference on Autonomic Computing (ICAC'05).

[16]  Jeffrey O. Kephart,et al.  An artificial intelligence perspective on autonomic computing policies , 2004, Proceedings. Fifth IEEE International Workshop on Policies for Distributed Systems and Networks, 2004. POLICY 2004..

[17]  Nagarajan Kandasamy,et al.  Self-optimization in computer systems via on-line control: application to power management , 2004 .

[18]  Michael Dahlin,et al.  Towards Self-Configuring Hardware for Distributed Computer Systems , 2005, Second International Conference on Autonomic Computing (ICAC'05).

[19]  S RosenblumDavid,et al.  An Architecture-Based Approach to Self-Adaptive Software , 1999 .

[20]  Petr Jan Horn,et al.  Autonomic Computing: IBM's Perspective on the State of Information Technology , 2001 .

[21]  Jorge Lobo,et al.  A Policy Description Language , 1999, AAAI/IAAI.

[22]  Prashant J. Shenoy,et al.  Dynamic Provisioning of Multi-tier Internet Applications , 2005, Second International Conference on Autonomic Computing (ICAC'05).

[23]  Jing Xu,et al.  Towards Autonomic Virtual Applications in the In-VIGO System , 2005, Second International Conference on Autonomic Computing (ICAC'05).

[24]  Bradley R. Schmerl,et al.  Using Architectural Style as a Basis for System Self-repair , 2002, WICSA.

[25]  David Sinreich,et al.  An architectural blueprint for autonomic computing , 2006 .

[26]  Gail E. Kaiser,et al.  Kinesthetics eXtreme: an external infrastructure for monitoring distributed legacy systems , 2003, 2003 Autonomic Computing Workshop.

[27]  Krysia Broda,et al.  Policy Conflict Analysis Using Free Variable Tableaux for Access Control in Web Services Environments , 2005 .

[28]  Michael J. Ward,et al.  Utility-aware Resource Allocation in an Event Processing System , 2006, 2006 IEEE International Conference on Autonomic Computing.

[29]  David E. Culler,et al.  Market-based Proportional Resource Sharing for Clusters , 2000 .

[30]  Elizabeth M. Belding-Royer,et al.  AODV routing protocol implementation design , 2004, 24th International Conference on Distributed Computing Systems Workshops, 2004. Proceedings..

[31]  Emil C. Lupu,et al.  An Adaptive Policy-Based Framework for Network Services Management , 2003, Journal of Network and Systems Management.

[32]  Alan Lippman Video coding for multiple target audiences , 1998, Electronic Imaging.

[33]  Julie A. McCann,et al.  Using real-time dependability in adaptive service selection , 2005, Joint International Conference on Autonomic and Autonomous Systems and International Conference on Networking and Services - (icas-isns'05).

[34]  Michael Gertz,et al.  Bend, Don’t Break: Using Reconfiguration to Achieve Survivability , 2000 .

[35]  Klara Nahrstedt,et al.  2K: a distributed operating system for dynamic heterogeneous environments , 2000, Proceedings the Ninth International Symposium on High-Performance Distributed Computing.

[36]  共立出版株式会社 コンピュータ・サイエンス : ACM computing surveys , 1978 .

[37]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[38]  Peyman Oreizy,et al.  Architecture-based runtime software evolution , 1998, Proceedings of the 20th International Conference on Software Engineering.

[39]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..

[40]  Anton A. Bougaev Pattern recognition based tools enabling autonomic computing. , 2005, Second International Conference on Autonomic Computing (ICAC'05).

[41]  Kevin Skadron,et al.  Power-aware QoS management in Web servers , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[42]  Rajarshi Das,et al.  Utility functions in autonomic systems , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[43]  Jim Dowling,et al.  Building autonomic systems using collaborative reinforcement learning , 2006, Knowl. Eng. Rev..

[44]  Charles E. Perkins,et al.  Highly dynamic Destination-Sequenced Distance-Vector routing (DSDV) for mobile computers , 1994, SIGCOMM.

[45]  Richard Anthony Emergent graph colouring , 2006 .

[46]  Jaijit Bhattacharya,et al.  Policy driven data administration , 2002, Proceedings Third International Workshop on Policies for Distributed Systems and Networks.

[47]  Eric M. Dashofy,et al.  An infrastructure for the rapid development of XML-based architecture description languages , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[48]  Pierre Glize,et al.  An adaptive multi-agent tool for electronic commerce , 2000, Proceedings IEEE 9th International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (WET ICE 2000).

[49]  Julie A. McCann,et al.  Connectionless probabilistic (CoP) routing: an efficient protocol for mobile wireless ad-hoc sensor networks , 2005, PCCC 2005. 24th IEEE International Performance, Computing, and Communications Conference, 2005..

[50]  Gail E. Kaiser,et al.  Using process technology to control and coordinate software adaptation , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[51]  E. Mainsah Autonomic computing: the next era of computing , 2002 .

[52]  Bradley R. Schmerl,et al.  Exploiting architectural design knowledge to support self-repairing systems , 2002, SEKE '02.

[53]  Dennis Heimbigner,et al.  Reconfiguration in the Enterprise JavaBean Component Model , 2002, Component Deployment.

[54]  J. A. McCann,et al.  Kendra : Internet Distribution & Delivery System an introductory paper , 1998 .

[55]  Jeffrey S. Chase,et al.  Weatherman: Automated, Online and Predictive Thermal Mapping and Management for Data Centers , 2006, 2006 IEEE International Conference on Autonomic Computing.

[56]  Rajarshi Das,et al.  A Hybrid Reinforcement Learning Approach to Autonomic Resource Allocation , 2006, 2006 IEEE International Conference on Autonomic Computing.

[57]  Gail E. Kaiser,et al.  A case study in software adaptation , 2002, WOSS '02.

[58]  Dejan S. Milojicic,et al.  QMON: QoS- and Utility-Aware Monitoring in Enterprise Systems , 2006, 2006 IEEE International Conference on Autonomic Computing.

[59]  Daniel A. Menascé,et al.  Resource Allocation for Autonomic Data Centers using Analytic Performance Models , 2005, Second International Conference on Autonomic Computing (ICAC'05).

[60]  Emil C. Lupu,et al.  Conflicts in Policy-Based Distributed Systems Management , 1999, IEEE Trans. Software Eng..

[61]  Gail E. Kaiser,et al.  Self-managing systems: a control theory foundation , 2005, 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05).

[62]  George Candea,et al.  JAGR: an autonomous self-recovering application server , 2003, 2003 Autonomic Computing Workshop.

[63]  Renato J. O. Figueiredo,et al.  Autonomic Feature Selection for Application Classification , 2006, 2006 IEEE International Conference on Autonomic Computing.

[64]  Morris Sloman,et al.  Policy driven management for distributed systems , 1994, Journal of Network and Systems Management.

[65]  Peter Norvig,et al.  Artificial intelligence - a modern approach, 2nd Edition , 2003, Prentice Hall series in artificial intelligence.

[66]  David Abramson,et al.  Grid Resource Management, Scheduling and Computational Economy , 2000 .

[67]  Jeffrey S. Chase,et al.  Learning Application Models for Utility Resource Planning , 2006, 2006 IEEE International Conference on Autonomic Computing.

[68]  David Abramson,et al.  A Computational Economy for Grid Computing and its Implementation in the Nimrod-G Resource Brok , 2001, Future Gener. Comput. Syst..

[69]  Michael Anthony Bauer,et al.  Issues in Managing Soft QoS Requirements in Distributed Systems Using a Policy-Based Framework , 2001, POLICY.

[70]  Hideki Yoshida,et al.  A Self-Healing Technique based on Encapsulated Operation Knowledge , 2006, 2006 IEEE International Conference on Autonomic Computing.

[71]  Jeff Magee,et al.  Self-organising software architectures for distributed systems , 2002, WOSS '02.

[72]  Richard S. Sutton,et al.  Reinforcement Learning: An Introduction , 1998, IEEE Trans. Neural Networks.

[73]  Nicholas R. Jennings,et al.  On agent-based software engineering , 2000, Artif. Intell..

[74]  Andreas Willig,et al.  Protocols and Architectures for Wireless Sensor Networks , 2005 .

[75]  Linda Dailey Paulson,et al.  Computer System, Heal Thyself , 2002, Computer.

[76]  John H. Bailey,et al.  Usable autonomic computing systems: the administrator's perspective , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[77]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[78]  Leon J. Osterweil,et al.  Using Little-JIL to coordinate agents in software engineering , 2000 .

[79]  Saleem N. Bhatti,et al.  Enabling QoS adaptation decisions for Internet applications , 1999, Comput. Networks.

[80]  Deborah Estrin,et al.  Directed diffusion: a scalable and robust communication paradigm for sensor networks , 2000, MobiCom '00.

[81]  Emil C. Lupu,et al.  An Event Service Supporting Autonomic Management of Ubiquitous Systems for e-Health , 2006, 26th IEEE International Conference on Distributed Computing Systems Workshops (ICDCSW'06).

[82]  Philip R. Cohen,et al.  Towards a fault-tolerant multi-agent system architecture , 2000, AGENTS '00.

[83]  Michael L. Littman,et al.  Reinforcement learning for autonomic network repair , 2004 .

[84]  Volker Markl,et al.  LEO: An autonomic query optimizer for DB2 , 2003, IBM Syst. J..

[85]  Morris Sloman,et al.  Constructing Distributed Systems in Conic , 1989, IEEE Trans. Software Eng..

[86]  Gail E. Kaiser,et al.  An Active Events Model for Systems Monitoring , 2001 .

[87]  Sotirios Terzis,et al.  A self-managing infrastructure for ad-hoc situation determination , 2006 .

[88]  Tad Hogg,et al.  Spawn: A Distributed Computational Economy , 1992, IEEE Trans. Software Eng..

[89]  James M. Purtilo,et al.  Dynamic reconfiguration in distributed systems: adapting software modules for replacement , 1993, [1993] Proceedings. The 13th International Conference on Distributed Computing Systems.

[90]  Emil C. Lupu,et al.  Ponder: A Language for Specifying Security and Management Policies for Distributed Systems , 2000 .

[91]  James H. Aylor,et al.  Computer for the 21st Century , 1999, Computer.

[92]  Barry Smyth,et al.  PACT: personal autonomic computing tools , 2005, 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05).

[93]  Alan Scheller-Wolf,et al.  Analysis of cycle stealing with switching times and thresholds , 2005, Perform. Evaluation.

[94]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .

[95]  Naranker Dulay,et al.  Specifying Distributed Software Architectures , 1995, ESEC.

[96]  Deborah Estrin,et al.  Next Century Challenges: Mobile Networking for Smart Dust , 1999, MobiCom 1999.

[97]  Jenna Burrell,et al.  Vineyard computing: sensor networks in agricultural production , 2004, IEEE Pervasive Computing.

[98]  David Garlan,et al.  Using Gauges for Architecture-Based Monitoring and Adaptation , 2001 .

[99]  Richard S. Sutton,et al.  Introduction to Reinforcement Learning , 1998 .

[100]  Emil C. Lupu,et al.  Conflict Analysis for Management Policies , 1997, Integrated Network Management.

[101]  Sheng Ma,et al.  Quickly Finding Known Software Problems via Automated Symptom Matching , 2005, Second International Conference on Autonomic Computing (ICAC'05).

[102]  Julie A. McCann,et al.  Context as autonomic intelligence in a ubiquitous computing environment , 2007, Int. J. Internet Protoc. Technol..

[103]  David A. Maltz,et al.  DSR: the dynamic source routing protocol for multihop wireless ad hoc networks , 2001 .

[104]  Richard N. Taylor,et al.  Towards architecture-based self-healing systems , 2002, WOSS '02.

[105]  Vincent W. Freeh,et al.  Boosting Data Center Performance Through Non-Uniform Power Allocation , 2005, Second International Conference on Autonomic Computing (ICAC'05).

[106]  Bradley R. Schmerl,et al.  Model-based adaptation for self-healing systems , 2002, WOSS '02.

[107]  Dennis G. Shea,et al.  Autonomic personal computing , 2003, IBM Syst. J..

[108]  Gail E. Kaiser,et al.  An Approach to Autonomizing Legacy Systems , 2002 .

[109]  L. Buşoniu Evolutionary function approximation for reinforcement learning , 2006 .

[110]  P. Pandurang Nayak,et al.  Remote Agent: To Boldly Go Where No AI System Has Gone Before , 1998, Artif. Intell..