0% found this document useful (0 votes)
44 views

Newseminar Report

The document discusses autonomic computing, which aims to make computer systems self-configuring and self-managing. It describes some of the problems that led to the need for autonomic computing like increasing complexity of systems and difficulties managing system evolution. It outlines IBM's proposed solution of autonomic computing which is inspired by the human autonomic nervous system and aims to make systems self-managing and transparent to users. The document also discusses some of the foundations and key concepts of autonomic computing like control loops, autonomic elements, and IBM's architectural framework for autonomic systems.

Uploaded by

Sateesh Basapur
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

Newseminar Report

The document discusses autonomic computing, which aims to make computer systems self-configuring and self-managing. It describes some of the problems that led to the need for autonomic computing like increasing complexity of systems and difficulties managing system evolution. It outlines IBM's proposed solution of autonomic computing which is inspired by the human autonomic nervous system and aims to make systems self-managing and transparent to users. The document also discusses some of the foundations and key concepts of autonomic computing like control loops, autonomic elements, and IBM's architectural framework for autonomic systems.

Uploaded by

Sateesh Basapur
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 23

Autonomic Computing

CHAPTER 1

INTRODUCTION
Computer Systems develop organically. A computer system usually starts as a simple
clean system intended for a well defined environment and applications. However, in order to deal
with growth and new demands, storage computing and networking components are added,
replaced and removed from the system, while new applications are upgraded.

1.1 Overview of Autonomic Computing


Some changes to the system are intended to enhance its functionality, but result in loss of
performance or other undesired secondary effects. In order to improve performance or reliability,
resources are added or replaced. The particulars of such development cannot be anticipated, it
just happens the way it does. The autonomic computing effort aims to make systems selfconfiguring and self-managing. However, for the most part the focus has been on how to make
system components self-configuring and self-managing. Each such component has its own policy
for how to react to change in its environment.
Autonomic computing is not a new field but rather an amalgamation of selected theories
and practices from several existing areas including control theory, adaptive algorithms, software
agents, robotics, fault-tolerant computing, distributed and real-time systems, machine learning,
human-computer interaction (HCl), artificial intelligence, and many more. The future of
autonomic computing is heavily dependent on the developments and successes in several other
technology arenas that provide an infrastructure for autonomic computing systems including
Web and grid services, architecture platforms such as service-oriented architecture (SOA), Open
Grid Services Architecture (OGSA), and pervasive and ubiquitous computing.
Now we see the problem that gave rise to need for autonomic computing, the solution to
the problem using the autonomic computing and the benefits derived from the solution in detail.

1.2 Motivation
There are 2 main types of problems that gave rise to the need of autonomic computing.
Dr.Ambedkar Institute of Technology.

Autonomic Computing

They are as follows:


Complexity problem
Evolution problem
We see each of the problems in detail in upcoming sections.

1.2.1 Complexity Problem


The increasing complexity of computing systems is overwhelming the capabilities of
software developers and system administrators, who design, evaluate, integrate, and manage
these systems. Today, computing systems include very complex infrastructures and operate in
complex heterogeneous environments. With the proliferation of handheld devices, the everexpanding spectrum of users, and the emergence of the information economy with the advent of
the Web, computing vendors have difficulty providing an infrastructure to address all the needs
of users, devices, and applications. SOAs with Web services as their core technology have solved
many problems, but they have also raised numerous complexity issues. One approach to deal
with the business challenges arising from these complexity problems is to make the systems
more self-managed or autonomic. For a typical information system consisting of an application
server, a Web server, messaging facilities, and layers of middleware and operating systems, the
number of tuning parameters exceeds human comprehension and analytical capabilities. Thus,
major software and system vendors endeavor to create autonomic, dynamic, or self-managing
systems by developing methods, architecture models, middleware, algorithms, and
policies to mitigate the complexity problem.

1.2.2 Evolution Problem


By attacking the software complexity problem through technology simplification and
automation, autonomic computing also promises to solve selected software evolution problems.
Instrumenting software systems with autonomic technology will allow us to monitor or verify
requirements (functional or nonfunctional) over long periods of time. For example, selfmanaging systems will be able to monitor and control the brittleness of legacy systems, provide
automatic updates to evolve installed software, adapt safety- critical systems without halting
them, immunize computers against malware automatically, facilitate enterprise integration with

Dr.Ambedkar Institute of Technology.

Autonomic Computing

self-managing integration mechanisms, document architectural drift by equipping systems with


architecture analysis frameworks, and keep the values of quality attributes within desired ranges.

1.3 IBM Solution


IBM's proposed solution looks at the problem from the most important perspective: the
end user's. How do I/T customers want computing systems to function? They want to interact
with them intuitively, and they want to have to be far less involved in running them. Ideally, they
would like computing systems to pretty much take care of the mundane elements of management
bythemselves.
The most direct inspiration for this functionality that exists today is the autonomic
function of the human central nervous system. Autonomic controls use motor neurons to send
indirect messages to organs at a sub-conscious level. These messages regulate temperature,
breathing, and heart rate without conscious thought. The implications for computing are
immediately evident; a network of organized, "smart" computing components that give us what
we need, when we need it, without a conscious mental or even physical effort.
IBM has named its vision for the future of computing "autonomic computing." This new
paradigm shifts the fundamental definition of the technology age from one of computing, to one
defined by data. Access to data from multiple, distributed sources, in addition to traditional
centralized storage devices will allow users to transparently access information when and where
they need it. At the same time, this new view of computing will necessitate changing the
industry's focus on processing speed and storage to one of developing distributed networks that
are largely self-managing, self-diagnostic, and transparent to the user.

1.4 Organization of Report


In chapter 2 discussed some of the foundations and key concepts of autonomic
computing. Chapter 3 contains characteristics of autonomic system, chapter 4 contains
architectural details and issues and finally chapter 5 conclusion

Dr.Ambedkar Institute of Technology.

Autonomic Computing

CHAPTER 2

FOUNDATIONS AND KEY CONCEPTS


At the heart of an autonomic system is a control system, which is a combination of
components that act together to maintain actual system attribute values close to desired
specifications. Open-loop control systems (e.g., automatic toasters and alarm clocks) are
those in which the output has no effect on the input. Closed-loop control systems (e.g.,
thermostats or automotive cruise-control systems) are those in which the output has an effect on
the input in such a way as to maintain a desired output value.

2.1 The Ubiquitous Control Loop


An autonomic system embodies one or more closed control loops. The Ubiquitous
Control Loop is shown in figure 2.1. A closed-loop system includes some way to sense changes
in the managed element, so corrective action can be taken. The speed with which a simple
closed-loop control system moves to correct its output is described by its damping ratio and
natural frequency. Properties of a control system include spatial and temporal separability of the
controller from the controlled element, evolvability of the controller, and filtering of the
controlled resource.

Dr.Ambedkar Institute of Technology.

Autonomic Computing

Figure 2.1. Ubiquitous Control Loop


Numerous engineering products embody open-loop or closed-loop control systems. The
AC community often refers to the human autonomic nervous system (ANS) with its many
control loops as a prototypical example. The ANS monitors and regulates vital signs such as
body temperature, heart rate, blood pressure, pupil dilation, digestion blood sugar, breathing rate,
immune response, and many more involuntary, reflexive responses in our bodies. The ANS
consists of two separate divisions called the parasympathetic nervous system, which regulates
day-to-day internal processes and behaviours, and the sympathetic nervous system, which deals
with stressful situations. Studying the ANS might be instructive for the design of autonomic
software systems. For example, physically separating the control loops that deal with normal and
abnormal situations might be a useful design idea for autonomic software systems.

2.2 Autonomic Elements


Figure 2.2 shows the various autonomic elements and analysis engine:

Dr.Ambedkar Institute of Technology.

Autonomic Computing

Figure 2.2. The elements of Autonomic system


IBM researchers have established an architectural framework for autonomic systems. An
autonomic system consists of a set of autonomic elements that contain and manage resources and
deliver services to humans or other autonomic elements. An autonomic element consists of one
autonomic manager and one or more managed elements. At the core of an autonomic element is
a control loop that integrates the manager with the managed element. The autonomic manager
consists of sensors, effectors, and a five-component analysis and planning engine as depicted in
Figure 2.2. The monitor observes the sensors, filters the data collected from them, and then stores
Dr.Ambedkar Institute of Technology.

Autonomic Computing

the distilled data in the knowledge base. The analysis engine compares the collected data
against the desired sensor values also stored in the knowledge base. The planning engine
devises strategies to correct the trends identified by the planning engine. The execution engine
finally adjusts parameters of the managed element by means of effectors and stores the affected
values in the knowledge base.
An autonomic element manages its own internal state and its interactions with its
environment (i.e., other autonomic elements). An element's internal behaviour and its
relationships with other elements are driven by the goals and policies the designers have
built into the system. Autonomic elements can be arranged as strict hierarchies or graphs.
Touch points represent the interface between the autonomic manager and the managed
element. Through touch points, autonomic managers control a managed resource or another
autonomic element. It is imperative that touch points are standardized, so autonomic managers
can manipulate other autonomic elements in a uniform manner. That is, a single standard
manageability interface, as provided by a touch point, can be used to manage routers, servers,
application software, middleware, a Web service, or any other autonomic element. This is one of
the key values of AC: a single manageability interface, rather than the numerous sorts of
manageability interfaces that exist today, to manage various types of resources [Miller 05e].
Thus, a touch point constitutes a level of indirection and is the key to adaptability. A
manageability interface consists of a sensor and an effector interface. The sensor interface
enables an autonomic manager to retrieve information from the managed element through the
touch point using two interaction styles:
(1) request-response for solicited (queried) data retrieval and
(2) send-notification for unsolicited (event-driven) data retrieval.
The effector interface enables an autonomic manager to manage the managed element
through the touch point with two interaction types:
(1) perform-operation to control the behaviour (e.g., adjust parameters or send commands)
(2) solicit-response to enable call-back functions.
IBM has proposed interface standards for touch points and developed a simulator to aid the
development of autonomic managers. The Touch point Simulator can be used to simulate
different managed elements and resources and to verify standard interface compliance.

Dr.Ambedkar Institute of Technology.

Autonomic Computing

2.3 Policies
Autonomic elements can function at different levels of abstraction. At the lowest levels,
the capabilities and the interaction range of an autonomic element are limited and hard- coded.
At higher levels, elements pursue more flexible goals specified with policies, and the
relationships among elements are flexible and may evolve. Recently, Kephart and Walsh
proposed a unified framework for AC policies based on the well-understood notions of states and
actions.
In this framework, a policy will directly or indirectly cause an action to be taken that
transitions the system into a new state. Kephart and Walsh distinguish three types of AC policies,
which correspond to different levels of abstraction, as follows:

2.3.1 Action Policies


An action policy dictates the action that should be taken when the system is in a given
current state. Typically this action takes the form of "IF (condition) THEN (action)," where the
condition specifies either a specific state or a set of possible states that all satisfy the given
condition. Note that the state that will be reached by taking the given action is not specified
explicitly. Presumably, the author knows which state will be reached upon taking the
recommended action and deems this state more desirable than states that would be reached via
alternative actions. This type of policy is generally necessary to ensure that the system is
exhibiting rational behavior.

2.3.2 Goal Policies


Rather than specifying exactly what to do in the current state, goal policies specify either
a single desired state, or one or more criteria that characterize an entire set of desired states.
Implicitly, any member of this set is equally acceptable. Rather than relying on a human to
explicitly encode rational behaviour, as in action policies, the system generates rational
behaviour itself from the goal policy. This type of policy permits greater flexibility and frees
human policy makers from the "need to know" low-level details of system function, at the cost of
requiring reasonably sophisticated planning or modeling algorithms.
Dr.Ambedkar Institute of Technology.

Autonomic Computing

2.3.3 Utility-Function Policies


A utility-function policy is an objective function that expresses the value of each possible
state. Utility-function policies generalize goal policies. Instead of performing a binary
classification into desirable versus undesirable states, they ascribe a real-valued scalar
desirability to each state. Because the most desired state is not specified in advance, it is
computed on a recurrent basis by selecting the state that has the highest utility from the present
collection of feasible states. Utility-function policies provide more fine-grained and flexible
specification of behavior than goal and action policies. In situations in which multiple goal
policies would conflict (i.e., they could not be simultaneously achieved), utility-function policies
allow for unambiguous, rational decision making by specifying the appropriate tradeoff. On the
other hand, utility-function policies can require policy authors to specify a multidimensional set
of preferences, which may be difficult to elicit; furthermore they require the use of modeling,
optimization, and possibly other algorithms.

2.4 Issues of Trust


Dealing with issues of trust is critical for the successful design, implementation, and
operation of AC systems. Since an autonomic system is supposed to reduce human interference
or even take over certain heretofore human duties, it is imperative to make trust development a
core component of its design. Even when users begin to trust the policies hard-wired into lowlevel autonomic elements, it is a big step to gain their trust in higher level autonomic elements
that use these low-level elements as part of their policies. Autonomic elements are instrumented
to provide feedback to users beyond what they provide as their service. Deciding what kind of
feedback to provide and how to instrument the autonomic elements is a difficult problem. The
trust feedback required by users will evolve with the evolution of the autonomic system.
However, the AC field can draw experience from the automation and HCl communities to tackle
these problems. Autonomic systems can become more trustable by actively communicating with
their users. Improved interaction will also allow these systems to be more autonomous over
time, exhibiting increased initiative without losing the users' trust. Higher trustability and
usability should, in turn, lead to improved adoptability.
Dr.Ambedkar Institute of Technology.

Autonomic Computing

2.5 Evolution
Most existing systems cannot be redesigned and redeveloped from scratch to engineer
autonomic capabilities into them. Rather, self-management capabilities have to be added
gradually and incrementally to one component (i.e., architecture, subsystem, or service) at a
time.
With the proliferation of autonomic components, users will impose increasingly more
demands with respect to functional and nonfunctional requirements for automaticity. Thus, the
process of equipping software systems with autonomic technology will be evolutionary rather
than revolutionary. Moreover, the evolution of autonomic systems will happen at two levels :
1. The introduction of autonomic components into existing systems.
2. The change of requirements with the proliferation and integration of autonomic system
elements.

CHAPTER 3

CHARACTERSTICS OF AN AUTONOMIC SYSTEM


These are the main characteristics of the autonomic computing.

3.1 The Eight Elements

Dr.Ambedkar Institute of Technology.

10

Autonomic Computing

While the definition of autonomic computing will likely transform as contributing


technologies mature, the following list suggests eight defining characteristics of an autonomic
system as defined by IBM:
1.) An autonomic computing system needs to "know itself" - its components must also possess a
system identity. Since a "system" can exist at many levels, an autonomic system will need
detailed knowledge of its components, current status, ultimate capacity, and all connections to
other systems to govern itself. It will need to know the extent of its "owned" resources, those it
can borrow or lend, and those that can be shared or should be isolated.
2.) An autonomic computing system must configure and reconfigure itself under varying (and in
the future, even unpredictable) conditions. System configuration or "setup" must occur
automatically, as well as dynamic adjustments to that configuration to best handle changing
environments.
3.) An autonomic computing system never settles for the status quo - it always looks for ways to
optimize its workings. It will monitor its constituent parts and fine-tune workflow to achieve
predetermined system goals.
4.) An autonomic computing system must perform something akin to healing - it must be able to
recover from routine and extraordinary events that might cause some of its parts to malfunction.
It must be able to discover problems or potential problems, then find an alternate way of using
resources or reconfiguring the system to keep functioning smoothly.
5.) A virtual world is no less dangerous than the physical one, so an autonomic computing system
must be an expert in self-protection. It must detect, identify and protect itself against various
types of attacks to maintain overall system security and integrity.
6.) An autonomic computing system must know its environment and the context surrounding its
activity, and act accordingly. It will find and generate rules for how best to interact with
neighboring systems. It will tap available resources, even negotiate the use by other systems of
its underutilized elements, changing both itself and its environment in the process -- in a word,
adapting.
7.) An autonomic computing system cannot exist in a hermetic environment. While independent
in its ability to manage itself, it must function in a heterogeneous world and implement open
standards -- in other words, an autonomic computing system cannot, by definition, be a
proprietary solution.
Dr.Ambedkar Institute of Technology.

11

Autonomic Computing

8.) An autonomic computing system will anticipate the optimized resources needed while
keeping its complexity hidden. It must marshal I/T resources to shrink the gap between the
business or personal goals of the user, and the I/T implementation necessary to achieve those
goals -- without involving the user in that implementation.

3.2 Self Management Aspects of an Autonomic System


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.
Like their biological namesakes, autonomic systems will maintain and adjust their
operation in the face of changing components, workloads, demands, and external conditions and
in the face of hardware or software failures, both innocent and malicious. The autonomic system
might continually monitor its own use, and check for component upgrades, for example. If it
deems the advertised features of the upgrades worthwhile, the system will install them,
reconfigure itself as necessary, and run a regression test to make sure all is well. When it detects
errors, the system will revert to the older version while its automatic problem-determination
algorithms try to isolate the source of the error.
IBM frequently cites four aspects of self-management, which Table 3.1 summarizes.
Early autonomic systems may treat these aspects as distinct, with different product teams
creating solutions that address each one separately. Ultimately, these aspects will be emergent
properties of a general architecture, and distinctions will blur into a more general notion of selfmaintenance.
The journey toward fully autonomic computing will take many years, but there are
several important and valuable milestones along the path. At first, automated functions will
merely collect and aggregate information to support decisions by human administrators. Later,
they will serve as advisors, suggesting possible courses of action for humans to consider. As
automation technologies improve, and our faith in them grows, that will entrust autonomic
systems with makingand acting onlower-level decisions. Over time, humans will need to
make relatively less frequent predominantly higher-level decisions, which the system will carry
out automatically via more numerous, lower level decisions and actions.
Dr.Ambedkar Institute of Technology.

12

Autonomic Computing

Ultimately, system administrators and end users will take the benefits of autonomic
computing for granted. Self-managing systems and devices will seem completely natural and
unremarkable, as will automated software and middleware upgrades. The detailed migration
patterns of applications or data will be as uninteresting to us as the details of routing a phone call
through the telephone network.
Table 3.1. Four aspects of self-management as they are now and would be with autonomic
computing
Concept

Current Computing

Autonomic Computing

Self-

Corporate data centres have multiple

Automated configuration of

configuration

data and platforms. Installing,

components and systems follows high-

configuring and integrating the systems

level policies. Rest of system adjusts

Self-

is time prone.
automatically and seamlessly
Systems have hundreds of manually set, Components and systems continually

optimization

nonlinear tuning parameters, and their

seek opportunities to improve their own

Self-healing

number increases with each release.


Problem determination in large,

performance and efficiency.


System automatically detects,

complex systems can take a team of

diagnoses, and repairs localized

programmers weeks.
Detection of and recovery from attacks

software and hardware problems.


System automatically defends against

and cascading failures is manual.

malicious attacks or cascading failures.

Self-protection

It uses early warning to anticipate and


prevent system wide failures.
Now we see each of the above mentioned aspects in detail:

3.2.1 Self-Configuration
Installing, configuring, and integrating large, complex systems is challenging, timeconsuming,and error-prone even for experts. Most large Websites and corporate data centres are
haphazard accretions of servers, routers, databases, and other technologies on different platforms
from different vendors. It can take teams of expert programmers months to merge two systems
or to install a major e-commerce application such as SAP.

Dr.Ambedkar Institute of Technology.

13

Autonomic Computing

Autonomic systems will configure themselves automatically in accordance with highlevel policiesrepresenting business-level objectives, for examplethat specify what is desired,
not how it is to be accomplished. When a component is introduced, it will incorporate itself
seamlessly, and the rest of the system will adapt to its presencemuch like a new cell in the
body or a new person in a population. For example, when a new component is introduced into an
autonomic accounting system, as in Figure 2.1, it will automatically learn about and take into
account the composition and configuration of the system. It will register itself and its capabilities
so that other components can either use it or modify their own behaviour appropriately.

3.2.2 Self-Optimization
Complex middleware, such as Web Sphere, or database systems, such as Oracle or DB2,
may have hundreds of tuneable parameters that must be set correctly for the system to perform
optimally, yet few people know how to tune them. Such systems are often integrated with other,
equally complex systems. Consequently, performance-tuning one large subsystem can have
unanticipated effects on the entire system.
Autonomic systems will continually seek ways to improve their operation, identifying
and seizing opportunities to make themselves more efficient in performance or cost. Just as
muscles become stronger through exercise, and the brain modifies its circuitry during learning,
autonomic systems will monitor, experiment with, and tune their own parameters and will learn
to make appropriate choices about keeping functions or outsourcing them. They will proactively
seek to upgrade their function by finding, verifying, and applying the latest updates.

3.2.3 Self-Healing
IBM and other IT vendors have large departments devoted to identifying, tracing, and
Determining the root cause of failures in complex computing systems. Serious customer
problems can take teams of programmers several weeks to diagnose and fix, and sometimes the
problem disappears mysteriously without any satisfactory diagnosis.
Autonomic computing systems will detect, diagnose, and repair localized problems
resulting from bugs or failures in software and hardware, perhaps through a regression tester, as
in Figure 1. Using knowledge about the system configuration, a problem-diagnosis component
Dr.Ambedkar Institute of Technology.

14

Autonomic Computing

(based on a Bayesian-network, for example) would analyze information from log files, possibly
supplemented with data from additional monitors that it has requested.
The system would then match the diagnosis against known software patches (or alert a
human programmer if there are none), install the appropriate patch, and retest.

3.2.4 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.
Other than the above mentioned 4 important aspects.
The following are the 2 other important aspects which are important for an autonomic system:

3.2.5 Reflexivity
An autonomic system must have detailed knowledge of its components, current status,
capabilities, limits, boundaries, interdependencies with other systems, and available resources.
Moreover, the system must be aware of its possible configurations and how they affect particular
nonfunctional requirements.

3.2.6 Adaptability
At the core of the complexity problem addressed by the AC initiative is the problem of
evaluating complex tradeoffs to make informed decisions. Most of the characteristics listed
above are founded on the ability of an autonomic system to monitor its performance and its
environment and respond to changes by switching to a different behavior. At the core of this
ability is a control loop.
Sensors observe an activity of a controlled process, a controller component decides what
has to be done, and then the controller component executes the required operations through a set
Dr.Ambedkar Institute of Technology.

15

Autonomic Computing

of actuators. The adaptive mechanisms to be explored will be inspired by work on machine


learning, multi-agent systems, and control theory.
Figure 3.1 shows the characteristics of an autonomic machine:

Figure 3.1. Autonomic Characteristics

CHAPTER 4

ARCHITECTURAL CONSIDERATIONS AND ISSUES


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

Dr.Ambedkar Institute of Technology.

16

Autonomic Computing

4.1 System Architecture


System self-management will arise at least as much from the myriad interactions among
autonomic elements as it will from the internal self-management of the individual autonomic
elementsjust as the social intelligence of an ant colony arises largely from the interactions
among individual ants. A distributed, service-oriented infrastructure will support autonomic
elements and their interactions.

Figure 4.1. Structure of an autonomic element.


As Figure 4.1 shows, 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 no autonomic
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. At the
highest level, the managed element could be an e-utility, an application service, or even an
individual business.
The autonomic manager distinguishes the autonomic element from its nonautonomic
counterpart. By monitoring the managed element and its external environment, and constructing

Dr.Ambedkar Institute of Technology.

17

Autonomic Computing

and executing plans based on an analysis of this information, the autonomic manager will relieve
humans of the responsibility of directly managing the managed element.
Fully autonomic computing is likely to evolve as designers gradually add increasingly
sophisticated autonomic managers to existing managed elements. Ultimately, the distinction
between the autonomic manager and the managed element may become merely conceptual rather
than architectural, or it may melt awayleaving fully integrated, autonomic elements with welldefined behaviours and interfaces, but also with few constraints on their internal structure.
Each autonomic element will be responsible for managing its own internal state and
behaviour and for managing its interactions with an environment that consists largely of signals
and messages from other elements and the external world. An elements internal behaviour and
its relationships with other elements will be driven by goals that its designer has embedded in it,
by other elements that have authority over it, or by subcontracts to peer elements with its tacit or
explicit consent. The element may require assistance from other elements to achieve its goals. If
so, it will be responsible for obtaining necessary resources from other elements and for dealing
with exception cases, such as the failure of a required resource.

4.2 Multilevel Structure


Autonomic elements will function at many levels, from individual computing
components such as disk drives to small-scale computing systems such as workstations or
servers to entire automated enterprises in the largest autonomic system of allthe global
economy.
At the lower levels, an autonomic elements range of internal behaviours and
relationships with other elements, and the set of elements with which it can interact, may be
relatively limited and hard-coded. Particularly at the level of individual components, wellestablished techniquesmany of which fall under the rubric of fault tolerancehave led to the
development of elements that rarely fail, which is one important aspect of being autonomic.
Decades of developing fault-tolerance techniques have produced such engineering feats as the
IBM z Series servers, which have a mean time to failure of several decades.
At the higher levels, fixed behaviours, connections, and relationships will give way to
increased dynamism and flexibility. All these aspects of autonomic elements will be expressed in
Dr.Ambedkar Institute of Technology.

18

Autonomic Computing

more high-level, goal-oriented terms, leaving the elements themselves with the responsibility for
resolving the details on the fly.
Hard-coded behaviours will give way to behaviours expressed as high-level objectives,
such as maximize this utility function, or find a reputable message translation service.
Hardwired connections among elements will give way to increasingly less direct specifications
of an elements partnersfrom specification by physical address to specification by name and
finally to specification by function, with the partners identity being resolved only when it is
needed. Hard-wired relationships will evolve into flexible relationships that are established via
negotiation. Elements will automatically handle new modes of failure, such as contract violation
by a supplier, without human intervention.
While service-oriented architectural concepts like Web and grid services 2,3 will play
fundamental role, a sufficient foundation for autonomic computing requires more.
First, as service providers, autonomic elements will not unquestioningly honour requests for
service, as would typical Web services or objects in an object-oriented environment. They will
provide a service only if providing it is consistent with their goals.
Second, as consumers, autonomic elements will autonomously and proactively issue
requests to other elements to carry out their objectives. Finally, autonomic elements will have
complex life cycles, continually carrying on multiple threads of activity, and continually sensing
and responding to the environment in which they are situated.
Autonomy, proactivity, and goal-directed interactivity with their environment are
distinguishing characteristics of software agents. Viewing autonomic elements as agents and
autonomic systems as multivalent systems makes it clear that agent-oriented architectural
concepts will be critically important.
The following are short-term IT related benefits of autonomic computing.

4.3 Short-term IT Related Benefits

Simplified user experience through a more responsive, real-time system.

Cost-savings - scale to use.

Scaled power, storage and costs that optimize usage across both hardware and software.

Full use of idle processing power, including home PC's, through networked system.

Dr.Ambedkar Institute of Technology.

19

Autonomic Computing

Natural language queries allow deeper and more accurate returns.

Seamless access to multiple file types. Open standards will allow users to pull data from
all potential sources by re-formatting on the fly.

Stability. High availability. High security system. Fewer system or network errors due to
self-healing

Improved computational capacity

The following are long-term benefits of autonomic computing.

4.4 Long-term/ Higher Order Benefits

Realize the vision of enablement by shifting available resources to higher-order business.

Embedding autonomic" capabilities in client or access devices, servers, storage systems,


middleware, and the network itself. Constructing autonomic federated systems.

Achieving end-to-end service level management."

Accelerated implementation of new capabilities

Collaboration and global problem-solving. Distributed computing allows for more


immediate sharing of information and processing power to use complex mathematics to
solve problems.

Massive simulation - weather, medical - complex calculations like protein folding, which
require processors to run 24/7 for as long as a year at a time.

4.5 Challenges
To create autonomic systems researchers must address key challenges with varying levels
of complexity. They are

System identity: Before a system can transact with other systems it must know the extent
of its own boundaries. How will we design our systems to define and redefine themselves
in dynamic environments?

Interface design: With a multitude of platforms running, system administrators face a,


How will we build consistent interfaces and points of control while allowing for a
heterogeneous environment?

Dr.Ambedkar Institute of Technology.

20

Autonomic Computing

Translating business policy into I/T policy: The end result needs to be transparent to the
user. How will we create human interfaces that remove complexity and allow users to
interact naturally with I/T systems?

Systemic approach: Creating autonomic components is not enough. How can we unite a
constellation of autonomic components into a federated system?

Standards: The age of proprietary solutions is over. How can we design and support open
standards that will work?

Adaptive algorithms: New methods will be needed to equip our systems to deal with
changing environments and transactions. How will we create adaptive algorithms to take
previous system experience and use that information to improve the rules?

Improving network-monitoring functions to protect security, detect potential threats and


achieve a level of decision-making that allows for the redirection of key activities or data.

Smarter microprocessors that can detect errors and anticipate failures.

CHAPTER 5

CONCLUSION
The time is right for the emergence of self-managed or autonomic systems. Over the past
decade, we have come to expect that "plug-and-play" for Universal Serial Bus (USB) devices,
such as memory sticks and cameras, simply works even for technophobic users. Today, users
demand and crave simplicity in computing solutions.
With the advent of Web and grid service architectures, we begin to expect that an average
user can provide Web services with high resiliency and high availability. The goal of building a
system that is used by millions of people each day and administered by a half-time person, as
Dr.Ambedkar Institute of Technology.

21

Autonomic Computing

articulated by Jim Gray of Microsoft Research, seems attainable with the notion of automatic
updates. Thus, autonomic computing seems to be more than just a new middleware technology;
in fact, it may be a solid solution for reining in the complexity problem.
Historically, most software systems were not designed as self-managing systems.
Retrofitting existing systems with self-management capabilities is a difficult problem. Even if
autonomic computing technology is readily available and taught in computer science and
engineering curricula, it will take another decade for the proliferation of autonomicity in existing
systems.

REFERENCES
[1] Autonomic Computing: IBM's perspective on the state of information technology.
[2] Jeffery O. Kelhart and David M. Chess (2003) "The vision of autonomic computing"
[3] http ://www.Research.ibm.com/autonomic/research/index.html
[4] http://autonomiccomputing.org/
[5] http://www.ibm.com/developerworks/autonomic
Dr.Ambedkar Institute of Technology.

22

Autonomic Computing

[6] http://en.wikipedia.org/wiki/Autonomic_Computing

Dr.Ambedkar Institute of Technology.

23

You might also like