Advertisment

Autonomic Computing

author-image
PCQ Bureau
New Update

To start with a cliché, computers have become a victim of their own success. In a bid to create machines that are faster, smaller and better, we have ushered in an era of complexity that is beyond the control and comprehension of mere mortals. 

Advertisment

IBM has started an initiative Autonomic Computing to design systems that can manage themselves. The term autonomic has its origins in biology. The autonomic computing initiative aims to create a system that can manage itself while hiding its complexity from the user. It could be told what is to be done and how. 

IBM's vision of autonomic computing defines 8 key elements:

The

system has recovered automatically Please continue working

Advertisment

Knows Itself



An autonomic system should have knowledge of its components, their current status and how they communicate with each other. This is an important aspect and the task is not as simple as it sounds.

While it's easy to identify what constitutes a system when the system is a PC or server, the problem comes when we move on to distributed systems. 

For example, consider a system to which users can connect via the Internet as well as mobile-phones and other mobile devices. Now where would you draw a line as to what's part of the system and what's not?

Advertisment
self management system
n It aims to create a

system that can manage itself while hiding its complexity from the user

n It will have the ability to protect itself and even heal itself

n It will be able to adapt to its environment. It will also define user policies

Configure Itself



An autonomic system should be able to make changes to its configuration dynamically, or on-the-fly. Such systems need to have the ability to sense their current state and environment and make adjustments accordingly with no, or little, human-intervention.

Heal Itself    



The system should have the ability to recover from small failures automatically without affecting the overall availability of the system. Mal-functioning of individual components or sub-systems should be handled carefully while minimizing the downtime. 

Advertisment

Improve Itself



This system doesn't settle for status quo. It is always looking for ways and means to improve the utilization of resources available to it and increase the overall efficiency of the system.

Protect Itself



Autonomic systems should define policies indicating which resources are available to users and which are off-limits. Such systems should also have the ability to shut-shop, preferably without affecting the normal working of the system, when they detect unauthorized access or an intrusion like a virus or a denial-of-service attack, to ensure that the extent of the damage is minimized.

Adapt Itself



An autonomic system should have the capability to learn about its environment and adapt itself accordingly. This would involve interacting with other systems to gain information about them and, if needed, negotiate for the use of their resources, or offer its own during low activity periods.

Advertisment

Open Itself



No autonomic computing solution can afford to restrict itself to products or technologies from a particular vendor. In the heterogeneous world of today a proprietary solution is definitely not the answer.

Hide Itself



These systems should be able to hide their complexity from the end user and facilitate closer relationship between the business and IT goals of the organization. In other words, the system should work quietly, attracting little attention.

How is it achieved?



We start at the lowest level, making the smallest components that go towards building up the system responsible for themselves. Then we move on to the sub-systems level and make each sub-system autonomous. The higher you move up, the more is the importance of holistic vision and ensuring proper co-ordination between lower-level components. This system ensures that during spikes of heavy workload on a particular sub-system, an increase in the CPU cycles allotted to it is accompanied by a corresponding increase in the amount of RAM, bandwidth and other resources.

Advertisment

The pyramid depicts the hierarchy in which autonomic technology will operate in a modern day organization. The bottom layer consists of resource elements of the organization such as the servers, the storage devices and personal computers. Moving up, these elements are grouped into composite resources to create larger self-managing systems. For example, consider servers, such as web server, that have been grouped together to provide a particular service and dynamically share the load. At the top, these composite resources are linked to actual business entities such as a customer care system. True autonomic activity occurs at this level, the organization gets to play with parameters it is familiar with business policies, schedules, and the likes — and it is upto the system to figure out how changes in one or more of these parameters have to be incorporated into the system by making relevant changes in the lower layers.

Artificial Intelligence might come up in the mind of many readers but this isn’t quite about emulating human thoughts, but, it lays more emphasis on control theory, adaptive algorithms and the like. A lot of advances that have been made in those fields would be helpful in realizing this vision. But much work towards making this dream a reality needs to be done. And not only IBM, but other companies are up for this challenge too. Sun’s N1 (see PCQuest, January 2003, page 66) isn’t too different from the concepts which we’ve seen here. 

The mantra of the future can very well turn out to be "Buy it, Install it, Forget it".

Kunal Dua

Advertisment