Autonomic computing |
Autonomic
computing aims at providing systems and applications with
self-management capabilities, including self-configuration (automatic
configuration according to a specified policy), self-optimization
(continuous performance monitoring), self-healing (detecting defects
and failures, and taking corrective actions), and self-protection
(taking preventive measures and defending against malicious attacks).
These functions are performed by feedback control loops.
The
overall, generic model of a feedback control loop for autonomic
computing (see e.g., [Kephart 03]) is represented on the adjacent
figure. It is composed of three steps.
In
order to achieve these tasks, the system relies on a knowledge base
(K), which represents information on the controlled system.
We propose an architecture-based
approach for a specific form of the above scheme. The knowledge base K,
used by all the above steps of a control loop, is based on a
semi-formal description of the structure of the controlled system
(components, bindings, placement), using a component model. The
description is causally connected to the managed system, i.e., any
modification of the system is reflected on the description, and
vice-versa. These changes may be caused by the system administrators,
by the effect of the control loops, or by external events, such as
failures or attacks.
The semi-formal language
used for this description is an Architecture Description Language
(ADL), targeted to our component model, Fractal.
This model allows the hierarchical composition of complex systems, and
provides an extensible interface for managing the components. Using
this model has the following benefits.
We have designed and implemented Jade,
an experimental framework for autonomic computing based on the above
principles (see the description for more details). Using this
framework, we are investigating three aspects of self-management (self-optimization, self repair, and self-protection), using a cluster-based J2EE server as the target system.
A common base for these capabilities is a framework for dynamic configuration and deployment . Other experiments are under way, including the application of the principles of Jade to large scale P2P networks.
[Kephart 03] Kephart, J.O. and Chess, D. M. (2003). The vision of autonomic computing. IEEE Computer Magazine, 36(1):41-50.
|