AccessMyLibrary provides FREE access to millions of articles from top publications available through your library.
In October of 2002, IBM made two key announcements. The first was a vision of "e-business on demand," a blueprint for the future of computing, ebusiness on demand computing is characterized by four key traits--integration of systems, openness, virtualization of hardware and software resources, and autonomic computing. (1) The second announcement concerned autonomic computing itself--IBM announced an organization, and a cross-company initiative, to deliver autonomic computing systems. (2) How does autonomic computing relate to ease of use? This paper answers that question by describing a real-life example of an autonomic system with strong ease-of-use characteristics. This system, the IBM DB2* Universal Database* (UDB) Version 8.1 autonomic computing system, employs a number of usability features combined with autonomic technologies to deliver an administrative interface unlike anything else in the industry.
Autonomic computing and ease of use
Autonomic computing is all about self-managing systems. At the core of the autonomic computing initiative is the concept that computers need to be more self-configuring, self-healing, self-optimizing, and self-protecting in order to reduce the overall complexity of a system. Autonomic computing is described as a "closed loop" system, which includes a "monitor-analyze-plan-and-execute" process in order to make decisions.
From an ease-of-use perspective, autonomic computing offers a leap forward in the following ways:
Self-configuration. Rarely does an IT component work "out of the box." As part of the installation process, there is always a certain amount of configuration required by the user in order to allow the component to work appropriately within the environment in which it is installed. In an autonomic computing system, the system itself can configure its components. Maintaining the current state of a system's configuration (and that of each component) at all times, the system has the ability to predict the impact of a change to the configuration and learn from the results of such changes. It learns the ramifications of each change and decides when it is appropriate to make them.
Self-optimization. Today, much of an administrator's time is spent keeping a system "tuned" to changing workloads. What works today for one type of workload may no longer be optimal if the workload grows, shrinks, or changes. Manual optimization of systems is both time-consuming and difficult. Quite often it is based on human trial-and-error rather than careful analysis and planning. Using the principle of policy-based decision-making, an autonomic system tunes itself to meet a set of objectives defined in the policies. Policies direct autonomic systems in finding computational partners, prioritizing limited resources, maintaining security, and recovering from failures. Policy specification, though not a new field, takes on an entirely new significance within the context of autonomic computing.
Self-protection. The state of the art today in many system protection infrastructures involves the use of an alert mechanism to prompt an administrator's response when an intrusion detection system detects what appears to be a potential threat. By reducing or eliminating the role of the administrator in responding to these alerts and taking appropriate security measures automatically, autonomic systems can reduce the time required to re-establish system security.
Self-healing. In complex e-business infrastructures, it is critical for the system to have the ability to detect inter-component errors and perform "root cause analysis" to help correct them. Because of the heterogeneous nature of an e-business infrastructure spanning multiple components, there is no standard way to correlate and trace transactions across the system. Each component logs information in its own format, requiring the labor-intensive task of manually correlating events across the infrastructure. In an autonomic system, this information is logged and correlated at the system level, allowing the system to perform event correlation and root cause analysis.
One of the key ease-of-use values of an autonomic system derives from the ability to lower the burden of mundane tasks and allow the administrator to focus on higher-order problems and responsibilities.
Another key ease-of-use attribute of autonomic systems is the simplification of the administrator's interface. Autonomic computing allows for a less complex and less cluttered view of the system infrastructure because the display of much of what is currently presented to an administrator is no longer necessary. Examples of such simplifications include:
1. Allowing the system to self-query for information rather than prompting the administrator. Through the development of "autonomic widgets" for system consoles, autonomic systems will be able to query themselves for answers to questions that today must be answered by the administrator. Information about the system configuration, network settings (such as IP addresses), and system settings can all be gathered autonomically and not require human intervention.
2. Raising the threshold for alerts delivered to the administrator's console. Autonomic computing allows for advanced filtering of events and alerts that occur in the system. Through pattern recognition and similar technologies, an autonomic system can filter out "false positives" before they reach the console and handle many alerts automatically.
3. Allowing the system to act using learned behaviors. An autonomic system monitors the actions taken by administrators and "learns" from them; that is, when a certain event occurs and the administrator responds, this event/response association is learned. The next time such an event occurs, the system can make recommendations regarding what action to take in response. Over time, the system will be able to take many actions without needing human intervention.
Autonomic computing has potential problem areas with respect to ease of use, and systems need to be designed with care. Adding autonomic capabilities to a system can actually make the user experience more challenging--exactly the opposite of what was intended. As stated by Russell et al., " ... autonomic computing makes effective design of the user experience even more challenging and critical than it is now. The reason is that autonomic actions taken by the system must be understandable by the user and capable of review, revision, and alteration. Because such actions are often made autonomously, a heavy burden is placed on the ability of the system to explain what it is doing and why." (3)
As enterprises adopt and integrate more technology components and realize greater production efficiencies, their IT infrastructures grow in complexity. Quite simply, there is a growing amount of hardware and software to install and configure, many more elements that need to work together properly, and a great deal of pressure to keep it all up and running on a daily basis. It is interesting to note that in such complex, heterogeneous systems (as shown in Figure 1), the total cost of ownership (TCO) is increasingly dominated by human costs.
[FIGURE 1 OMITTED]
Through autonomic computing, system management is simplified not only by improved ease of use, but also by a marked reduction in problems caused through human error, and the subsequent reduction in human interaction required for corrective action. A brief examination of the causes of system crashes (though certainly only a subset of possible system errors) is illustrative. Recent projections suggest that the percentage of system failures caused by human error has grown since 1985 from 15 percent to an estimated 69 percent in 2001, as shown in Figure 2. Through autonomic computing, many of the configuration and maintenance operations that human administrators previously had to perform can be automated, resulting in fewer system failures (because the autonomic system will neither forget nor make random errors), and, therefore, a reduction in outages. Of course, autonomic systems can make mistakes as well. The advantage of autonomic computing is, in part, the notion of consistent control--that is, that the autonomic system never forgets and never suffers from random faults, as human administrators certainly do. Patterson et al. (4) suggest that the sharp increase in human-related causes for system crashes is …