More Resources

Comparing autonomic and proactive computing.


by Want, Roy^Pering, Trevor^Tennenhouse, David
IBM Systems Journal • March, 2003 •

Autonomic (1) and proactive (2) computing both provide solutions to issues that limit the growth of today's computing systems. In the 1990s, the ubiquitous computing vision (3) extended what has been traditionally called distributed systems, a field in which the application focus has been primarily office automation.

To date, the natural growth path for systems has been in supporting technologies such as data storage density, processing capability, and per-user network bandwidth, with growth increasing annually for 20 years by roughly a factor of 2 (disk capacity), 1.6 (Moore's Law), and 1.3 (personal networking; modem to DSL [Digital Subscriber Line]), respectively. The usefulness of Internet and intranet networks has fueled the growth of computing applications and in turn the complexity of their administration. The IBM autonomic vision seeks to solve some of the problems from this complexity by using eight principles of system design to overcome current limitations. These principles include the ability of systems to self-monitor, self-heal, self-configure, and improve their performance. Furthermore, systems should be aware of their environment, defend against attack, communicate with use of open standards, and anticipate user actions. The design principles can be applied both to individual components and to systems as a whole, the latter providing a holistic benefit that satisfies a larger number of users.

At Intel Research we enthusiastically support the aims of autonomic systems and at the same time consider how computing systems will be used in the future. To date, the familiar personal computer (PC) infrastructure has been applied most effectively in the realm of the office and the home. Going forward, we are intrigued by other areas of human endeavor that are ripe for the application of computer-based technology. Proactive computing extends our horizon by recognizing a need to monitor and shape the physical world, targeting professions that have complex real-world interactions but are currently limited by the degree of human involvement required. We are addressing some of the challenges that exist beyond the scope of earlier ubiquitous computer systems to enable future environments involving thousands of networked computers per person. Proactive system design is guided by seven underlying principles: connecting with the physical world, deep networking, macro-processing, dealing with uncertainty, anticipation, closing the control loop, and making systems personal.

An emphasis on human-supervised systems, rather than human-controlled or completely automatic systems, is an overarching theme within proactive computing. Computer-to-user ratios have been changing over time: 1:many turned into 1:1 with the advent of the PC in the 1980s, and into many:1 with the explosion of mobile devices in the new millennium. Currently, most people in the United States typically own (sometimes indirectly) many tens of computers, ranging from portable devices to consumer electronics. These systems compete for human attention, an increasingly scarce resource in modern living. Before the sheer number of devices overwhelms us, solutions need to be found to remove people from the control loop wherever possible, elevating their interaction to a supervisory role. One way would be to use pure artificial intelligence, a lofty goal that will not be attainable in the near future. Proactive computing, therefore, focuses on human-supervised operation, where the user stays out of the loop as much as possible until required to provide guidance in critical decisions.

A simple present-day example that illustrates a human-supervised system is a modern home central heating system. Such systems typically have a simple regime for morning, day, evening, and night temperature settings. Normally, the system operates untended and unnoticed; however, users can readily override these settings at any time if they feel hot or cold, or to address an impending energy crisis. Furthermore, if the system were instrumented with a sensor network and knowledge of a family's calendar, the temperature and energy consumption could be optimized proactively to allow for in-house microclimates, late workdays, and family vacations. However, extending this example to more complex systems is quite a challenge--most decisions do not simply become a selection between "too hot" or "too cold."

As illustrated in Figure 1, there is considerable intellectual overlap between research into autonomic and proactive systems. Both autonomic and proactive systems are necessary to provide us with tools to advance the design of computing systems in a wide range of new fields. In the following sections we provide an overview of the issues, technology directions, and examples of why both these visions are necessary.

[FIGURE 1 OMITTED]

Extending the application domain

Enabling a computing future that goes beyond the current in-home and in-office application domains will require the adoption of new design principles. Here we examine three of the seven proactive principles: connecting with the physical world, real-time/closed-loop operation, and techniques that allow computers to anticipate user needs. Readers interested in the remaining four are directed to a description of proactive computing on the Web at http://www.intel.com/research.

Connecting to the physical world. Most of our computing infrastructure to date connects personal computers through networks to arrays of servers. The resulting systems provide us with a virtual environment allowing us to author, process, and file information, which, through people, can have an indirect influence on the physical world. To enable a world in which computing aids us in our day-to-day tasks, the physical world must be instrumented so that computer systems can have direct and intimate knowledge of our environment, ultimately using that information to effect change. Corresponding examples are microclimate weather forecasts, monitoring road traffic, and determining where people might be located in an earthquake-damaged building.

Needless to say, there are a number of inherent problems in building such a system. First, there are pragmatic issues such as maintenance, connectivity, and finding suitable power supplies. Second, we are describing systems that, when applied on a city or national scale, have never before been built. The coordination and management issues take on a new level of difficulty; new protocols need to be created to enable appropriate data flow; and power management becomes a critical parameter for sensors that must operate from independent energy sources. Applying sensors to the physical world on a national or global scale is a daunting task, but as our societies become more complex and population densities increase, the payback will be worth it.

Scaling systems to a size large enough to monitor the physical world raises immediate problems of administration and utilization--the very problem that autonomic computing sets out to solve--and we cannot simply look to existing computer systems for guidance. However, by using simple nodes that can be individually and comprehensively characterized, it may be possible to learn more about the techniques required to maintain larger networks of conventional computers, informing both proactive and autonomic system builders. Multihop wireless sensor networks, such as the networks we are working on in collaboration with our colleagues at the University of California, Berkeley, (4,5) have exactly this characteristic.

Real-time and closed loop operation. If we expect our computers to become more integrated with the physical world, real-time response will become a critical factor that needs to be supported by all computer systems. In the 1960s, computer systems were either fully interactive, putting humans in the control loop, or completely inflexible, built on a dedicated control system. In order to integrate systems fully into real-world tasks, the systems must be able to respond faster than is possible with a person in the control loop: they must have real-time response to physical-world events.

If general-purpose computing systems were redesigned to make real-time guarantees, many new proactive applications would be possible and perhaps even begin to appear as mass-market shrink-wrapped software in major retail stores. However, the underlying issue is that most software systems make no guarantee of a real-time response, instead hiding behind layers of abstraction without considering the response time induced by varying conditions. Those of us familiar with the embedded systems world typically resort to specialized software based on real-time operating systems (RTOS) for critical control applications, capabilities that are not supported by most general platforms.

Anticipation. Anticipation is a cornerstone of proactive computing. For systems to be truly proactive, they need to in some sense predict the future. Our research is currently focusing on the use of context, statistical reasoning, and data-handling, all summarized below, as a baseline for anticipating a user's needs. Utilizing these techniques, and others, will allow systems to quickly handle real-world situations and provide the appropriate level of user interaction.


1  2  3  
COPYRIGHT 2003 All Rights Reserved. Reproduced with permission of the copyright holder. Further reproduction or distribution is prohibited without permission.
Copyright 2003, Gale Group. All rights reserved. Gale Group is a Thomson Corporation Company.
NOTE: All illustrations and photos have been removed from this article.


Browse by Journal Name:
Today on Entrepreneur
Related Video

e-Business & Technology
Franchise News
Business Book Sampler
Starting a Business
Sales & Marketing
Growing a Business
E-mail*:
Zip Code*: