SE401:Group33:Research:Nick:Autonomic Computing 1

From Marks Wiki
Jump to navigation Jump to search

Home
The Vision of Autonomic computing

Autonomic computing —> computing systems that can manage themselves given high-level objectives from administrators

Self-management
The essence of autonomic computing systems is self-management, the intent of which is to free system administrators from the
details of system operation and maintenance and to provide users with a machine that runs at peak performance 24/7


Self-configuration
Installing, configuring, and integrating large, complex systems is challenging, time-consuming, and error-prone even for experts.
Autonomic systems will configure themselves automatically in accordance with high-level policies — representing business-level
objectives

Self-optimization
Autonomic systems will continually seek ways to improve their operation, identifying and seizing opportunities to make themselves more
efficient in performance or cost.

Self-healing
Autonomic computing systems will detect, diagnose, and repair localized problems resulting from bugs or failures in software and
hardware, perhaps through a regression tester.

Self-protection
Despite the existence of firewalls and intrusion detection tools, humans must at present decide how to protect systems from malicious
attacks and inadvertent cascading failures. Autonomic systems will be self-protecting in two senses. They will defend
the system as a whole against large-scale, correlated problems arising from malicious attacks
or cascading failures
that remain uncorrected by self-healing measures. They also will anticipate problems based on early reports from sensors and take
steps to avoid or mitigate them.

Architectural Considerations
Autonomic systems will be interactive collections of autonomic elements—individual system constituents that contain resources and
deliver services to humans and other autonomic elements. Autonomic elements will manage their internal behavior and their
relationships with other autonomic elements in accordance with policies that humans or other elements have established.

An autonomic element will typically consist of one or more managed elements coupled with a single autonomic manager that controls and
represents them.
The managed element will essentially be equivalent to what is found in ordinary nonautonomic systems,
although it can be adapted to enable the autonomic manager to monitor and control it. The managed element could be a hardware
resource, such as storage, a CPU, or a printer, or a software resource, such as a database, a directory service, or a large legacy
system.

Design, test, and verification
Programming an autonomic element will mean extending Web services or grid services with programming tools and techniques that aid in
managing relationships with other autonomic elements

Applying monitoring, audit, and verification tests at all the needed points without burdening systems with excessive bandwidth or
processing demands will be a challenge
. Technologies to allow statistical or sample-based testing in a dynamic environment may prove
helpful.