- Autonomic Computing
Autonomic Computing is an initiative started by
IBMin 2001. Its ultimate aim is to develop computer systems capable of self-management, to overcome the rapidly growing complexity of computing systems management, and to reduce the barrier that that complexity poses to further growth.
"Autonomy-oriented computation" is paradigm proposed by Jiming Liu, in 2001 that uses artificial systems imitating
social animals' collective behaviours to solve hard computational problems. For example, ant colony optimizationcould be studied in this paradigm. [Xiaolong Jin and Jiming Liu, " [http://www.springerlink.com/openurl.asp?genre=article&issn=0302-9743&volume=2969&spage=151 From Individual Based Modeling to Autonomy Oriented Computation] ", in Matthias Nickles, Michael Rovatsos, and Gerhard Weiss (editors), "Agents and Computational Autonomy: Potential, Risks, and Solutions", pages 151–169, Lecture Notes in Computer Science, vol. 2969, Springer, Berlin, 2004. ISBN 978-3-540-22477-8.]
The problem of growing complexity
Self-management means different things in different fields:The number of computing devices in use is forecast to grow at 38% per annum and the average complexity of each is increasing [http://www.research.ibm.com/autonomic] . Currently this volume and complexity is managed by highly skilled humans; but the demand for skilled IT personnel is already outstripping supply, with labour costs exceeding equipment costs by a ratio of up to 18:1 [‘Trends in technology’, survey, Berkeley University of California, USA, March 2002] . Computing systems have brought great benefits of speed and automation but there is now an overwhelming economic need to automate their maintenance.
In ‘The Vision of Autonomic Computing’ [IEEE Computer Magazine, Jan 2003] , Kephart and Chess warn that the dream of interconnectivity of computing systems and devices could become the “nightmare of
pervasive computing” in which architects are unable to anticipate, design and maintain the complexityof interactions. They state the essence of autonomic computing is system self-management, freeing administrators from low-level task management while delivering more optimal system behavior.
A general problem of modern distributed computing systems is that their
complexity, and in particular the complexity of their management, is becoming a significant limiting factor in their further development. Large companies and institutions are employing large-scale computer networks for communication and computation. The distributed applications running on these computer networks are diverse and deal with many different tasks, ranging from internal control processes to presenting web content and to customer support.
Mobile computingis pervading these networks at an increasing speed: employees need to communicate with their companies while they are not in their office. They do so by using laptops, PDAs, or mobile phoneswith diverse forms of wirelesstechnologies to access their companies' data.
This creates an enormous complexity in the overall computer network which is hard to control manually by one or more human operators. Manual control is time-consuming, expensive, and error-prone. The manual effort needed to control a growing networked computer system tends to increase very quickly.
80% of such problems in infrastructure happen at the client specific application and database layer. Most 'autonomic' service providers guarantee only up to the basic plumbing layer (power, hardware, operating system, network and basic database parameters).
A possible solution could be to enable modern, networked computing systems to manage themselves without direct human intervention. The "Autonomic Computing Initiative" (ACI) aims at providing the foundation for autonomic systems. It is inspired by the
autonomic nervous systemof the human body. This nervous system controls important bodily functions (e.g. respiration, heart rate, and blood pressure) without any conscious intervention.
In a self-managing Autonomic System, the human operator takes on a new role: He does not control the system directly. Instead, he defines general policies and rules that serve as an input for the self-management process. For this process, IBM has defined the following four functional areas:
* Self-Configuration: Automatic configuration of components;
* Self-Healing: Automatic discovery, and correction of faults;
* Self-Optimization: Automatic monitoring and control of resources to ensure the optimal functioning with respect to the defined requirements;
* Self-Protection: Proactive identification and protection from arbitrary attacks.
IBM defined five evolutionary levels, or the [http://www-03.ibm.com/autonomic/levels.shtml Autonomic deployment model] , for its deployment: Level 1 is the basic level that presents the current situation where systems are essentially managed manually. Levels 2 - 4 introduce increasingly automated management functions, while level 5 represents the ultimate goal of autonomic, self-managing systems.
A basic concept that shall be applied in Autonomic Systems are
closed control loops. This well-known concept stems from Process ControlTheory. Essentially, a closed control loop in a self-managing system monitors some resource (software or hardware component) and autonomously tries to keep its parameters within a desired range.
According to the visionaries from IBM, hundreds or even thousands of these control loops are expected to work in a large-scale self-managing computer system.
* [http://www.ibm.com/autonomic IBM Autonomic Computing Website]
* [http://www-128.ibm.com/developerworks/autonomic/ IBM developerWorks Autonomic Computing articles and tutorials]
* [http://www-03.ibm.com/autonomic/pdfs/AC_Practical_Roadmap_Whitepaper.pdf Practical Autonomic Computing - Roadmap to Self Managing Technology]
* [http://www-03.ibm.com/developerworks/blogs/page/DaveBartlett Autonomic computing blog]
* [http://www.whitestein.com/autonomic-technology-platform Whitestein Technologies - provider of development and integration environment for autonomic computing software]
* [http://www.appliedautonomics.com Applied Autonomics provides Autonomic Web Services]
* [http://www.ipsoft.com IPsoft service providers delivering Autonomic Computing]
* [http://www.enigmatec.net Enigmatec Website - providers of autonomic computing software]
* [http://www.handsfreenetworks.com Handsfree Networks - providers of autonomic computing software]
* [http://www.ana-project.org/ ANA Project: Autonomic Network Architecture Research Project, funded by the European Union]
* [http://sardes.inrialpes.fr/jade.html JADE - A framework for developing autonomic administration software]
* [http://www.bsc.es/autonomic Barcelona Supercomputing Center - Autonomic Systems and eBusiness Platforms]
* [http://www.fp7-socrates.org/ SOCRATES: Self-Optimization and Self-Configuration in Wireless Networks]
* [http://www.dyscas.org/ Dynamically Self Configuring Automotive Systems]
* [http://users.encs.concordia.ca/~ac/assl/ Autonomic System Specification Language (ASSL): A framework for specifying and generating autonomic systems]
* [ftp://ftp.informatik.uni-stuttgart.de/pub/library/medoc.ustuttgart_fi/DIP-2787/DIP-2787.pdf Explanation of Autonomic Computing and its usage for business processes (IBM)]
Wikimedia Foundation. 2010.