Programs crash

Programs crash, people make mistakes, networks grow and change. That’s life, and Computer scientists are finally building systems that can deal with it. Today, IT organizations are faced with the burgeoning challenges of supporting the needs of the corporate enterprises with a reduced budgets and growing computing demands. For many enterprises, the challenge is compounded by complex architectures Even if people could somehow come up with enough skilled minds, the complexity is growing beyond human ability to manage it. These complexity situations have caused system management costs to escalate while budgets of corporate enterprises are shrinking. Solving this problem requires a new computing model, one that allows for efficiencies in IT infrastructure and resources. That’s when a new self-managing computing model came called Autonomic Computing, a term first used by IBM in 2001.
Autonomic computing is inspired by human autonomic nervous system. It creates systems that can manage themselves when given high-level objectives from administrators. Systems manage themselves according to an administrator’s needs. New elements integrate as effortlessly as a new cell establishes itself in the human body.
IBM has defined four basic properties for autonomic systems. These properties are Self-CHOP (self- configuration, self-optimization, self-healing and self-protection). Self-configuration uses adaptive algorithms to determine the optimum configurations like installation of new software releases, automatically and seamlessly. Self-optimization is the key to allocating e-utility-type resources, determining when an increase in processing cycles is needed, how much in needed, where they are needed, and for how long. Autonomous computing systems have the ability to discover and repair potential problems to ensure that the systems run smoothly and this property of these system is called Self-healing property. To implement Self-protection, an autonomic system protects itself from malicious attacks but also from end users who inadvertently make software changes, it uses sensors that are continuously feeding data to protection center which is processed and if any threats are found then some appropriate actions are taken upon that.
Just like two sides of coins, autonomic computing also has its pros and cons.
The main benefit of autonomic computing is reduced Total Cost of Ownership. Breakdowns will be less usual, thereby drastically reducing maintenance costs. Fewer crew will be required to manage the systems. Autonomic systems can also reduce the time for deploying new systems. Another benefit of this technology is that it provides server consolidation to maximize system availability, and reduces cost and human effort to manage huge server farms. Long term benefits of this will allow individuals and organizations to collaborate on complex problem solving. Autonomic computing find its application in many areas like electricity transmission system, train route management system, traffic control system etc.
Along with these benefits, autonomous systems also have some issues. Increasing system complexity is reaching a level beyond human ability to manage and secure. It also have some problems related to design and development which is further related to Hard and Soft Computing. Testing autonomic elements and checking that they behave correctly will be particularly challenging in large-scale systems because it will be harder to anticipate their environment, especially when it extends across multi-administrative enterprises. Another problem in Autonomic Computing is the measurement of automaticity of complex systems.
Autonomic computing is an emerging holistic approach to computer system development which aims to bring a new level of automation to IT systems. Computing research has evolved in many isolated research fields as (security, high performance, AI, network, agent systems etc.). Each discipline has managed to deliver computing systems that meet their target domains (e.g., High Performance Computing). Nonetheless, if the computing systems and application would require combining these capabilities; i.e., delivering computing systems that provide high performance, secure, fault-tolerance, intelligent computing systems and applications are not practically feasible and available. Autonomic computing is the emerging computing field that addresses all these issues in an integral way and can be viewed as the computing field that will converge all these disciplines in one field – Autonomic Computing.