|
We have read IBM's
Autonomic Computing Manifesto, white papers and presentations on Hewlett Packard's Adaptive Infrastructure, and
about Sun's N1.
The picture they paint sounds great.
It also looks like a world far off in the future, as IBM suggests, the subject of
"grand computing challenge" research and funding.
The consensus at a
Comdex 2002 panel on autonomic computing was that for now system administrators may have to
settle for using autonomic computing technology to make mundane, day-to-day tasks easier.
-
"Autonomic computing advocates may
make lofty claims about self-healing IT infrastructures that save time and money, but for now
system administrators may have to settle for using the technology to make mundane, day-to-day tasks easier."
-
Experts: With autonomic computing, start small - By Eric B. Parizo, News Editor -
21 Nov 2002, SearchSystemsManagement.com
We will be the first to admit that
when we conceived the idea of our Automated Support Infrastructure (ASI) in 1998,
autonomic computing was the furthest thought from our mind.
All we wanted to do was develop a technology and products that would:
 |
Hide product complexity from the end user
|
 |
Make products highly reliable
|
 |
Insulate the user from
the system management, support and maintenance processes
|
Quoting from our first business plan:
-
"The company's software will make the network transparent. HandsFree Networks transforms the
network into a utility service. In addition to making it as reliable as one, the company makes it
as affordable"
Today, more than three years later, we are well on our way to achieving our goal. ASI:
 |
Can quickly and inexpensively automate
just about any software based task that can be performed on a device. Think automated problem resolution and
system management.
|
 |
Detects in real-time just about any event (and we mean that) that occurs on a device
|
 |
Includes a powerful
distribution and management infrastructure that enables real-time remote system management WITHOUT
involving the end user
|
This is where things get interesting because, as we will see, the three characteristics listed above
happen to be three of the core features of an autonomic computing system.
Why is autonomic computing
such a big deal?
Typically, real need is one of the best drivers of innovation and change.
This is also true in the case of autonomic computing.
In the words of Professor Salim Hariri of the University of Arizona:
-
"The explosive growth and integration of information technology devices and services into everyday life
has created a grand challenge research problem. How can we control, manage, secure, protect, optimize, integrate, and
maintain millions of users, trillions of heterogeneous devices (computing, networking, smart devices, etc.),
thousands of applications and services that operate at different speeds, use different technologies, and
used by different types of users. The increasing system complexity, size and heterogeneity is reaching a level
beyond human ability to design, control, integrate and manage."
-
Autonomic Computing: The New Era of Computing to Design, Control,
Manage and Optimize Large Scale Distributed Information Systems - Salim Hariri,
Autonomic Computing Laboratory, The University of Arizona, U.S.A.
What is autonomic computing?
Rather than "re-invent the wheel", we thought we would use IBM's cogent and thoughtful definition of
an autonomic computing system as the frame of reference for assessing the extent to which
ASI meets the requirement for an autonomic computing system today.
"
1 To be autonomic , a computing system needs to "know itself " - and
comprise components that 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 with 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 unpredictable conditions. System configuration or "setup" must occur
automatically, as must 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,
much as a conductor listens to an orchestra and adjusts its dynamic and
expressive characteristics to achieve a particular musical interpretation.
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. Instead of "growing"
replenishment parts, as our cells do, healing in a computing system means
calling into action redundant or underutilized elements to act as replacement parts.
(In a sense, this is akin to what our brain does when parts of it are damaged.)
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 knows its environment and the context
surrounding its activity, and acts accordingly. This is almost
self-optimization turned outward: an autonomic system 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. This context-sensitivity includes
improving service based on knowledge about the context of a transaction.
7 An autonomic computing system cannot exist in a hermetic environment.
While independent in its ability to manage itself, an autonomic computing system
must function in a heterogeneous world and implement open standards -
in other words, an autonomic computing system cannot, by definition,
be a proprietary solution.
8 Perhaps most critical for the user, an autonomic computing system will
anticipate the optimized resources needed while keeping its complexity hidden.
We know there are also many interim challenges: how to create the proper
"adaptive algorithms" -sets of rules that can take previous system experience and
use that information to improve the rules. Or how to balance what these algorithms
"remember" with what they ignore. We humans tend to be very good at the latter -
we call it "forgetting" - and at times it can be a good thing: we can retain only
significant information and not be distracted by extraneous data.
Still another problem to solve: how to design an architecture for autonomic systems that
provides consistent interfaces and points of control while allowing for a heterogeneous environment.
We could go on, as the list of problems is actually quite long,
but it is not so daunting as to render autonomic computing another dream of science fiction.
Realistically, such systems will be very difficult to build and will
require significant exploration of new technologies and innovations.
That 's why we view this as a Grand Challenge for the entire I/T industry.
We'll need to make progress along two tracks: making individual system
components autonomic, and achieving autonomic behavior at the level of
global enterprise i/t systems.
That second track may prove to be extremely challenging.
Unless each component in a system can share information with
every other part and contribute to some overall system awareness and
regulation, the goal of autonomic computing will not really be reached.
So one huge technical challenge entails figuring how to create this
"global" system awareness and management. Or to put it another way,
how do we optimize the entire stack of computing layers as a whole?
It's not something we currently know how to do.
"
Autonomic Computing : IBM's Perspective on the State of Information Technology
How ASI compares
Throughout the comparison that follows, we will frequently refer to ASI's fundamental characteristics
mentioned earlier in this document:
 |
ASI can quickly and inexpensively automate
just about any software based task that can be performed on a device.
|
 |
ASI detects in real-time just about any event (and we mean that) that occurs on a device
|
 |
ASI includes a
powerful distribution and management infrastructure that enables real-time remote system management
WITHOUT involving the end user.
|
Above all, an autonomic computing system needs to be very flexible and
adaptable because of the constantly changing environment it operates in.
Gone are the days of software that slowly evolves over long periods of time.
Technology like ASI's that quickly enables the automation a broad range of tasks,
from problem resolution to system management, makes the kind of adaptable
software necessary for autonomic computing possible.
That's why we highlight not only ASI's currently available Scrips but also its
underlying characteristics that make it ideal for keeping up with a
constantly changing environment.
We also emphasize ASI's focus on practical steps that let users begin
implementation of autonomic computing today, rather than wait for
solution of the "grand computing challenge" problems.
In this comparison, you will see that ASI can be used to transform not only
the more complex server level computers into autonomic computing systems but also, and especially,
the myriad of edge devices, including desktops and mobile systems.
Because of their volume and ever increasing complexity,
the latter are the ones that threaten to overwhelm IT staffs.
Now, let's see the extent to which ASI technology today satisfies the requirements for an
autonomic computing system as defined by IBM.
-
To be autonomic, a computing system needs to "know itself "
Even at this early stage in its development, ASI tracks the detailed hardware and
software configuration of any system it runs on, and its resources. What's more important,
ASI also tracks and reports any and all changes that occur.
This is not enough for truly autonomic computing.
ASI's powerful task automation technology makes it possible to
quickly automate any task that let systems share knowledge about
their configurations and resources enabling the sharing of resources where appropriate.
-
An autonomic computing system must configure and reconfigure itself under
varying and unpredictable conditions
Dynamic system reconfiguration in response to a changing environment is
a highly complex activity, particularly when it involves multiple systems.
Automated printer installation and removal is an example of how ASI makes it
possible for systems to configure and reconfigure themselves with minimal
human intervention. Other examples of the implementation of this autonomic
computing capability being planned or being implemented include:
- Automated user set up and migration
- Automated application or system configuration changes
-
An autonomic computing system never settles for the status quo -
it always looks for ways to optimize its workings
At this point, none of the ASI Scrips (automated problem resolutions and management procedures)
deliver this kind of capability when interpreted in the narrowest sense of the word. However,
the foundation for the development of system optimization Scrips is already present in ASI, namely:
- Real-time event driven mechanisms that make it possible for a system to monitor itself
- The capability to develop Scrips that take real-time action in response to
the feedback received from the event driven monitoring mechanisms
When optimization is viewed from a broader perspective,
ASI already includes Scrips that help optimize system performance in a
number of ways, including:
- Problem detection and resolution, and
- System maintenance
-
An autonomic computing system must perform something akin to healing
Real-time problem detection, diagnosis, and resolution WITHOUT end-user intervention is one of
ASI's core strengths and fundamental capabilities.
With ASI the resolution of any known software related problem can be automated.
Initial examples of this capability include:
- Connectivity problem resolutions covering all TCP/IP connectivity problems
- Time and date problem resolution
- Automated user lockout problem resolution
-
An autonomic computing system must be an expert in self-protection
Real-time event detection, flexibility, and the ability to
quickly adapt to a changing environment are particularly important for
effective self-protection. With ASI it's easy to quickly build mechanisms to
protect systems against specific types of intrusion and provide
more general-purpose protection functions. ASI already includes a
number of such automated procedures, including:
- Start-up environment control that prevents the unwanted addition of executables to run at system start-up
- E-mail attachment and file download filtering that cover all e-mail and
download sources on a system-by-system basis
- Program execution control that prevents the running of
specific executables or classes of executables on any one
system or group of systems on a network
-
An autonomic computing system knows its environment and the context surrounding
its activity, and acts accordingly
ASI detects all activity that takes place on systems where it is installed.
When necessary, knowledge about events is shared among systems.
ASI also monitors computing resources where it is not installed.
This fine-grained event detection and information-gathering capability
combined with the powerful ASI task automation technology, enables
the quick implementation of procedures that let a system adapt to
the changing environment it operates in.
With the ASI information gathering, event detection, and
task automation capabilities in place, all I/T staff have to do is
identify the actions that should be taken based on the changing
context systems operate in. ASI will automate them.
-
An autonomic computing system cannot, by definition, be a proprietary solution
ASI does not use any proprietary tools or environments for
the implementation or running of any of its components.
Scrips and the development environment necessary for their development are freely available.
-
An autonomic computing system will anticipate
the optimized resources needed while keeping its complexity hidden
One of ASI's original goals was to hide system complexity and
insulate users from system support and management processes.
Today, all ASI activities are completely transparent to the end-user, and
have minimal impact on system performance.
Practical autonomic computing
We would like to conclude this brief paper that describes how we think
ASI fits in the emerging world of autonomic computing with another quotation from
IBM's Autonomic Computing: IBM's Perspective on the State of Information Technology:
-
"We'll need to make progress along two tracks: making individual
system components autonomic, and achieving autonomic behavior at
the level of global enterprise i/t systems."
ASI represents a robust initial autonomic computing solution for individual systems today, and
provides a solid foundation for the implementation of enterprise wide autonomic computing systems.
©
2000-2005
HandsFree Networks All Rights Reserved.
Send mail
to webmaster@handsfreenetworks.com
with questions or comments about this web site.
This site
is best viewed with Microsoft
Internet Explorer 5 or Netscape
4 or later.
Site
designed by NewEnglandFilm.com
|