Newseminar Report
Newseminar Report
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.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
Autonomic Computing
Autonomic Computing
CHAPTER 2
Autonomic Computing
Autonomic Computing
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.
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:
Autonomic Computing
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
10
Autonomic Computing
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.
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-
Automated configuration of
configuration
Self-
is time prone.
automatically and seamlessly
Systems have hundreds of manually set, Components and systems continually
optimization
Self-healing
programmers weeks.
Detection of and recovery from attacks
Self-protection
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.
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
CHAPTER 4
16
Autonomic Computing
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.
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.
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.
19
Autonomic Computing
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
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?
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?
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
23