More Resources

Autonomic personal computing.


by Bantz, David F.^Bisdikian, Chatschik^Challener, David^Karidis, John P. ^Mastrianni, Steve^Mohindra, Ajay^Shea, Dennis G.^Vanover, Michael
IBM Systems Journal • March, 2003 •

Autonomic personal computing is defined here as personal computing on autonomic computing systems. It shares the goals of personal computing--responsiveness, ease of use, and flexibility--with those of autonomic computing--simplicity of use, availability, and security. In most cases these goals are complementary. For example, autonomic computing enhances ease of use because it eliminates or simplifies some user responsibilities. But personal computing implies flexibility of location and of the hardware and software configuration, and this complicates the job of achieving autonomic behavior. It is easier to configure, heal, optimize, and protect a system in an environment that does not change. If we can achieve autonomic behavior while still meeting the unique needs of personal computing, millions of users will benefit worldwide.

The intention of this paper, then, is to identify the unique demands and opportunities of autonomic computing with personal devices. Our ground rules are that we seek to achieve autonomic behavior of a personal computing system--personal computers (PCs) and their peers, networks, and servers--not just the PC alone. We also limit our focus to application platforms, not to applications themselves. This distinction is somewhat equivocal and quantitative, however, because yesterday's applications are often tomorrow's platforms.

In what follows, we first look deeper into the meaning of the autonomic attributes of personal computing, which are different from fault-tolerant attributes. We then categorize technologies as they relate to achieving autonomic behavior in different variations: within the PC, in PC communities, and in more general systems that include servers. We give some examples of the state of the art and identify missing or incomplete capabilities. We describe some general considerations for an architecture that supports autonomic personal computing, identify some issues, and suggest a direction for future research and development.

Autonomic personal computing

A computing system is autonomic if it possesses at least one of four attributes: self-configuring, self-healing, self-optimizing, and self-protecting. Autonomic personal computing exhibits and constrains these attributes in unique ways.

Self-configuring. A system is self-configuring to the extent that it automates the installation and setup of its own software in a manner responsive to the needs of the platform, the user, the peer group, and the enterprise. Personal computing often involves user-initiated configuration change, and a self-configuring system understands the implications of these changes and accommodates them automatically.

Self-healing. A system is self-healing to the extent that it monitors its own platform, detects errors or situations that may later manifest themselves as errors, and automatically initiates remediation. Fault tolerance (1) is one aspect of self-healing behavior, although the cost constraints of personal computing often preclude the redundancy required by many fault-tolerant solutions.

Self-optimizing. A system is self-optimizing to the extent that it automatically optimizes its use of its own resources. This optimization must be done with respect to criteria relevant to the needs of a specific user, his or her peer group, and the enterprise. Resource management (2) is one aspect of self-optimizing behavior.

Self-protecting. A system is self-protecting to the extent that it automatically configures and tunes itself to achieve security, privacy, function, and data protection goals. This behavior is of very high value to personal computing, which is exposed to insecure networks, an insecure physical environment, frequent hardware and software configuration changes, and often inadequately trained end users who may be operating under conditions of high stress. Security (3) is one aspect of self-protecting behavior.

Examples of current autonomic personal computing behavior

Autonomic behavior is not new; computing systems have incorporated various forms of autonomic behavior for many years. Autonomic function creates autonomic behavior.

First, we introduce a categorization of autonomic function in terms of where it is implemented, and then we discuss several examples that exhibit autonomic behavior in current practice.

Autonomic function can be implemented locally, drawing on locally maintained measurements and knowledge. It can be implemented among members of a peer group, sharing measurements and knowledge particular to that group. It can also be implemented using globally available network-resident resources, in which case, measurements and knowledge are maintained for all clients. In the most general case, autonomic functions are implemented in all three ways, with different functions having a preferred implementation, resulting in the following categories:

* Local autonomic function--Locally, autonomic decisions can be made using knowledge that the personal computer stores or can obtain by itself, for example, from its Common Information Model (CIM) (4) database. Local functions include automatic auditing of software configurations, local backup, surveys of the connectivity environment, and power management.

* Peer group autonomic function--Peer group functions require the cooperation of a local community. They include spontaneous grid computing services and knowledge sharing.

* Network-based autonomic function-Network-based functions enhance and extend the core autonomy of the PC. Examples include software updating, backup and restore, virus updates, and mobility support services.

Local autonomic function. Microsoft Corporation has included some local autonomic features in the Windows ** XP (5) operating system, and many other autonomic features are provided by third-party utilities. Although an exhaustive review is beyond the scope of this paper, in the following subsections we describe some examples of local autonomic behavior that can be found in current practice.

Installation, configuration, and maintenance. The life cycle of a personal computer begins when it is delivered, set up, and personalized to the needs of its new user. Part of this personalization involves creating a replicable software configuration appropriate to the needs of a group of users (imaging), and part involves selectively moving the user's data and preferences from a previous platform to the new one (migration).

Technology now exists for simplifying the imaging process. In IBM's ImageUltra, a single hardware-independent super-image is created and distributed to the PC. The super-image adapts to the platform and is customized to user needs based on a key. This key, which may be specific to a particular user or common to a group, is either distributed electronically or entered manually by the user or an administrator. A utility program transforms the super-image into the final one.

Once the system has the correct image, the user's specific information, settings, and application files need to be transferred. Windows XP includes a utility for accomplishing this transfer, with a good deal of human intervention. IBM has a comparable solution (the System Migration Agent) for Microsoft operating systems prior to Windows XP. The core logic for this product is still central to IBM'S large enterprise solution for automating the migration of user content for large numbers of systems. The Ghost ** product from Symantec Corporation also implements image capture, redeployment, and migration.

Change management deals with updates to system and application software after the initial installation. The Microsoft XP Automatic Update mechanism works well for updates that can be applied without special considerations, but some enterprises require tight policy-driven control over their configurations. The IBM Update Connector supports either user-initiated or centrally administrated updates. The CNET Networks, Inc. CatchUp is a personal Web-based service that automatically analyzes the software configuration of a system and identifies needed updates.

Break/fix primarily concerns situations in which the system was once in the correct state and needs to return to that state or one close to it. The Microsoft Windows Installer saves a valid state for the core of the operating system and for selected applications. The saved state is accessible to the user, and thus vulnerable to user error or to a security breach. IBM's solution, Rapid Restore Pc, saves the complete state on a hidden partition of the hard drive of a system. Both of these solutions have only limited autonomic behavior because they require informed human intervention.

Communications. Some automation of communications tasks has become possible because of networking support services based on open standards. Using the Dynamic Host Configuration Protocol (DHCP) and domain name system (DNS) services, client devices self-configure in a network based on Transmission Control Protocol/Internet Protocol (TCP/IP).

Unfortunately, other parameters are not generally available from these services. Mail server addresses, Web proxy addresses and types, security settings such as for virtual personal networks, and wireless access point settings all require manual intervention to configure today.


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*: