More Resources

Dealing with ghosts: managing the user experience of autonomic computing.


by Russell, Daniel M.^Maglio, Paul P.^Dordick, Rowan^Neti, Chalapathy
IBM Systems Journal • March, 2003 •

Autonomic computing systems manage themselves, taking self-directed action when deemed appropriate and making choices about what needs to be done and how exactly to do it. Choices are made and actions are taken in the hope of reducing overall system complexity and cost. Yet, this idea of autonomic computing is not entirely new or surprising. For instance, computer systems have been managing their resource pools for years: memory is allocated and freed on a regular basis without human intervention, program components are brought into service and taken out of service when appropriate, memory is monitored for errors and corrected on-the-fly deep within random access memory, and communication channels are monitored for mistakes, which are automatically corrected when they arise. Nevertheless, computing systems are now so large and complex that moment-by-moment human management is often the dominant cost. (1,2) There is a need for computing systems to take care of themselves at a higher level, eliminating much of what is done today by human monitoring, maintenance, and control.

The key analogy of autonomic computing is that of the autonomic nervous system, which takes care of many low-level functions in animals. For example, pupils dilate, stomachs balance enzyme and acid levels, and body posture and balance are maintained under a wide variety of conditions. Although humans are sometimes aware of the functioning of the autonomic nervous system, autonomic functions are, for the most part, unconscious and self-regulating.

Autonomic body functions are implemented by a mostly separate system of nerves--the sympathetic and parasympathetic nerves, associated ganglia, and a few others--a system that has been refined and debugged by evolution. Behaviors created by the autonomic nervous system are primarily direct responses to internally and externally sensed environmental conditions. Breathing and heart rate are modulated by levels of carbon dioxide and other chemical signals in the blood. The "fight-or-flight" response is a rapid, coordinated release of hormones to prepare the body for sudden immediate action required in response to a perceived threat.

Although the autonomic nervous system is finely honed and wonderfully responsive, it has become what it is in response to evolutionary pressures. In many ways, it is a system that best fits hunter-gatherers on an African savanna. The fight-or-flight response, so useful when confronted with an immediate threat requiring rapid physical response, is often inappropriate in the modern world. As humans, we suffer from constant pulls on the chain of our autonomic nervous system--stressors in our environment invoke this system in ways that end up causing stress-related disorders. Rather than constantly confronting relatively short-term physical threats, modern life calls for more calm, measured responses over a long period, such as those required when sitting before a computer screen, while driving a car, performing difficult surgery, or awaiting the results of a grant review. (3,4) Yet given extended periods of stress, the autonomic nervous system interacts with other systems, both internal and external, to produce less than optimal results. Of course, the autonomic nervous system is merely a metaphor, suggesting sophisticated self-managing and self-regulating systems, rather than a biologically plausible guide for design. But if we are not careful in developing autonomic computer systems, we might design ourselves into the same fate: self-regulating systems that suffer from unintended and unforeseen interactions that lead to undesirable results. In particular, we focus here on the human-computer interaction aspects of this new kind of system, or the user experience of autonomic computing.

In what follows, we tell our story in four parts. First, we consider how users might view autonomic systems, arguing that as systems become more automatic, they often become less understandable. Second, we describe autonomic computing from the perspective of the system, arguing that a three-layer model describes nearly all autonomic systems. Third, we examine several existing systems that have autonomic properties, and we learn some lessons about what works and does not work from the user's perspective. Finally, based on this analysis, we discuss several challenges that will be faced by autonomic system designers.

The user view of autonomic computing: Ghosts in the machine

When systems manage their own very high-level tasks, their behaviors and the interaction of their behaviors might be unpredictable and inscrutable, complicated, and hidden from view. From a user's perspective, an autonomic system might seem to have "magical" properties, where things happen without apparent or determinate causes. The basic issue for users of autonomic systems will be understandability, which depends on the complexity of the system and the user's trust that the system will behave in the way it has behaved previously. Complexity results from the interactions of a variety of systems and unexpected behaviors. Trust reflects the relationship between user and computer, the history the two share, what the user knows about the ability of the system to control things, what the user has seen the system do, and how well the system has explained its actions and decisions, among others.

Human-computer interaction is a kind of "joint activity," just as human-human conversation is a shared activity between participants in a conversation. (5) To accomplish some computational task, a person works with a computer, each side--human and machine--contributing something to the process and over time building up a shared understanding or common ground. There is recent evidence that when persons interact with computers at higher and higher levels (e.g., verbally), the persons assume "human" sorts of common ground at the start. (6,7) If this expectation is not met--and yet the computer seems to be a high-level participant in some joint activity--it might well seem as though there is a "ghost in the machine," one that users must understand to be effective participants themselves. Thus, being "magical" is what is just out of reach of understanding.

The phrase "ghost in the machine" comes from Ryle, (8) who pejoratively described the Cartesian view of mental states as the "ghost" that inhabits physical brains, doing invisible work with perceivable consequences. In fact, Ryle argued convincingly against the Cartesian view of a mind-body dualism, showing that the distinction between mind and body was based on a category-mistake, supposing that the mind is the same kind of entity as the body or brain and so must be explained in the same way. Ryle comes to the view that minds are not like brains but, rather, minds are simply what brains do, made of a constellation of interacting abilities and skills. Now, Ryle may further inspire us in the structure of our argument. If a modest goal of autonomic computing is to eliminate common and time-consuming user tasks, then computational processes can replace some user tasks. If we take the supposition further, imagining that the ultimate goal of autonomic computing is to eliminate all user tasks, then it follows that user tasks and computational processes are wholly interchangeable; that is, what users do and what computers do are relatively the same. Is this a reasonable conclusion? We think not. Though it may be argued that thought is a computational process and, therefore, that user activities and computational activities amount to the same kind of activity, from a human-computer interaction perspective, it may also be argued that users and computers serve different purposes: computers are tools that enable users to accomplish certain jobs. In this case, user and computer are different kinds of entities: controller and controlled. Moreover, if we suppose that humans and computers have different abilities--do different things more or less easily than each other--then it is appropriate to distribute the computational load between users and computers. For instance, people are good at many kinds of visual pattern recognition, whereas computers are good at counting and correlating. Given these different abilities, it might be best to have a computational process analyze some data and then display the data to users who can easily pick out patterns. This approach is the one taken by work in data visualization. The bottom line is that it makes sense to combine the processing of people and machines to create a more effective overall computation than can be done by either one alone.


1  2  3  4  5  6  
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*: