newseminar-report - copy.docx

Upload: sateesh-basapur

Post on 09-Mar-2016

228 views

Category:

Documents


0 download

TRANSCRIPT

Autonomic computing

Autonomic Computing

CHAPTER 1INTRODUCTION

Computer Systems develop organically. A computer system usually starts as a simple clean system intended for a well defined environment and applications. However, in order to deal with growth and new demands, storage computing and networking components are added, replaced and removed from the system, while new applications are upgraded.

1.1 Overview of Autonomic ComputingSome changes to the system are intended to enhance its functionality, but result in loss of performance or other undesired secondary effects. In order to improve performance or reliability, resources are added or replaced. The particulars of such development cannot be anticipated, it just happens the way it does. The autonomic computing effort aims to make systems self-configuring and self-managing. However, for the most part the focus has been on how to make system components self-configuring and self-managing. Each such component has its own policy for how to react to change in its environment.Autonomic computing is not a new field but rather an amalgamation of selected theoriesand practices from several existing areas including control theory, adaptive algorithms, software agents, robotics, fault-tolerant computing, distributed and real-time systems, machine learning, human-computer interaction (HCl), artificial intelligence, and many more. The future of autonomic computing is heavily dependent on the developments and successes in several other technology arenas that provide an infrastructure for autonomic computing systems including Web and grid services, architecture platforms such as service-oriented architecture (SOA), Open Grid Services Architecture (OGSA), and pervasive and ubiquitous computing.Now we see the problem that gave rise to need for autonomic computing, the solution to the problem using the autonomic computing and the benefits derived from the solution in detail.

1.2 Motivation There are 2 main types of problems that gave rise to the need of autonomic computing.They are as follows:Complexity problemEvolution problemWe see each of the problems in detail in upcoming sections.

1.2.1 Complexity ProblemThe increasing complexity of computing systems is overwhelming the capabilities ofsoftware developers and system administrators, who design, evaluate, integrate, and manage these systems. Today, computing systems include very complex infrastructures and operate in complex heterogeneous environments. With the proliferation of handheld devices, the ever-expanding spectrum of users, and the emergence of the information economy with the advent of the Web, computing vendors have difficulty providing an infrastructure to address all the needs of users, devices, and applications. SOAs with Web services as their core technology have solved many problems, but they have also raised numerous complexity issues. One approach to deal with the business challenges arising from these complexity problems is to make the systems more self-managed or autonomic. For a typical information system consisting of an application server, a Web server, messaging facilities, and layers of middleware and operating systems, the number of tuning parameters exceeds human comprehension and analytical capabilities. Thus, major software and system vendors endeavor to create autonomic, dynamic, or self-managingsystems by developing methods, architecture models, middleware, algorithms, andpolicies to mitigate the complexity problem.

1.2.2 Evolution ProblemBy attacking the software complexity problem through technology simplification and automation, autonomic computing also promises to solve selected software evolution problems. Instrumenting software systems with autonomic technology will allow us to monitor or verify requirements (functional or nonfunctional) over long periods of time. For example, self-managing systems will be able to monitor and control the brittleness of legacy systems, provide automatic updates to evolve installed software, adapt safety- critical systems without halting them, immunize computers against malware automatically, facilitate enterprise integration with self-managing integration mechanisms, document architectural drift by equipping systems with architecture analysis frameworks, and keep the values of quality attributes within desired ranges.

1.3 IBM SolutionIBM's proposed solution looks at the problem from the most important perspective: the end user's. How do I/T customers want computing systems to function? They want to interact with them intuitively, and they want to have to be far less involved in running them. Ideally, they would like computing systems to pretty much take care of the mundane elements of management bythemselves. The most direct inspiration for this functionality that exists today is the autonomic function of the human central nervous system. Autonomic controls use motor neurons to send indirect messages to organs at a sub-conscious level. These messages regulate temperature, breathing, and heart rate without conscious thought. The implications for computing are immediately evident; a network of organized, "smart" computing components that give us what we need, when we need it, without a conscious mental or even physical effort.IBM has named its vision for the future of computing "autonomic computing." This new paradigm shifts the fundamental definition of the technology age from one of computing, to one defined by data. Access to data from multiple, distributed sources, in addition to traditional centralized storage devices will allow users to transparently access information when and where they need it. At the same time, this new view of computing will necessitate changing the industry's focus on processing speed and storage to one of developing distributed networks that are largely self-managing, self-diagnostic, and transparent to the user.

1.4 Organization of ReportIn chapter 2 discussed some of the foundations and key concepts of autonomic computing. Chapter 3 contains characteristics of autonomic system, chapter 4 contains architectural details and issues and finally chapter 5 conclusion

CHAPTER 2FOUNDATIONS AND KEY CONCEPTS

At the heart of an autonomic system is a control system, which is a combination of components that act together to maintain actual system attribute values close to desired specifications. Open-loop control systems (e.g., automatic toasters and alarm clocks) arethose in which the output has no effect on the input. Closed-loop control systems (e.g.,thermostats or automotive cruise-control systems) are those in which the output has an effect on the input in such a way as to maintain a desired output value. 2.1 The Ubiquitous Control LoopAn autonomic system embodies one or more closed control loops. The Ubiquitous Control Loop is shown in figure 2.1. A closed-loop system includes some way to sense changes in the managed element, so corrective action can be taken. The speed with which a simple closed-loop control system moves to correct its output is described by its damping ratio and natural frequency. Properties of a control system include spatial and temporal separability of the controller from the controlled element, evolvability of the controller, and filtering of the controlled resource.

Figure 2.1. Ubiquitous Control LoopNumerous engineering products embody open-loop or closed-loop control systems. The AC community often refers to the human autonomic nervous system (ANS) with its many control loops as a prototypical example. The ANS monitors and regulates vital signs such as body temperature, heart rate, blood pressure, pupil dilation, digestion blood sugar, breathing rate, immune response, and many more involuntary, reflexive responses in our bodies. The ANS consists of two separate divisions called the parasympathetic nervous system, which regulates day-to-day internal processes and behaviours, and the sympathetic nervous system, which deals with stressful situations. Studying the ANS might be instructive for the design of autonomic software systems. For example, physically separating the control loops that deal with normal and abnormal situations might be a useful design idea for autonomic software systems.

2.2 Autonomic ElementsFigure 2.2 shows the various autonomic elements and analysis engine:

Figure 2.2. The elements of Autonomic system

IBM researchers have established an architectural framework for autonomic systems. An autonomic system consists of a set of autonomic elements that contain and manage resources and deliver services to humans or other autonomic elements. An autonomic element consists of one autonomic manager and one or more managed elements. At the core of an autonomic element is a control loop that integrates the manager with the managed element. The autonomic manager consists of sensors, effectors, and a five-component analysis and planning engine as depicted in Figure 2.2. The monitor observes the sensors, filters the data collected from them, and then stores the distilled data in the knowledge base. The analysis engine compares the collected dataagainst the desired sensor values also stored in the knowledge base. The planning enginedevises strategies to correct the trends identified by the planning engine. The execution engine finally adjusts parameters of the managed element by means of effectors and stores the affected values in the knowledge base.An autonomic element manages its own internal state and its interactions with its environment (i.e., other autonomic elements). An element's internal behaviour and its relationships with other elements are driven by the goals and policies the designers havebuilt into the system. Autonomic elements can be arranged as strict hierarchies or graphs.Touch points represent the interface between the autonomic manager and the managedelement. Through touch points, autonomic managers control a managed resource or another autonomic element. It is imperative that touch points are standardized, so autonomic managers can manipulate other autonomic elements in a uniform manner. That is, a single standard manageability interface, as provided by a touch point, can be used to manage routers, servers, application software, middleware, a Web service, or any other autonomic element. This is one of the key values of AC: a single manageability interface, rather than the numerous sorts of manageability interfaces that exist today, to manage various types of resources [Miller 05e]. Thus, a touch point constitutes a level of indirection and is the key to adaptability. A manageability interface consists of a sensor and an effector interface. The sensor interface enables an autonomic manager to retrieve information from the managed element through the touch point using two interaction styles:(1) request-response for solicited (queried) data retrieval and(2) send-notification for unsolicited (event-driven) data retrieval.The effector interface enables an autonomic manager to manage the managed elementthrough the touch point with two interaction types:(1) perform-operation to control the behaviour (e.g., adjust parameters or send commands)(2) solicit-response to enable call-back functions.IBM has proposed interface standards for touch points and developed a simulator to aid the development of autonomic managers. The Touch point Simulator can be used to simulate different managed elements and resources and to verify standard interface compliance.

2.3 PoliciesAutonomic elements can function at different levels of abstraction. At the lowest levels,the capabilities and the interaction range of an autonomic element are limited and hard- coded. At higher levels, elements pursue more flexible goals specified with policies, and the relationships among elements are flexible and may evolve. Recently, Kephart and Walsh proposed a unified framework for AC policies based on the well-understood notions of states and actions.In this framework, a policy will directly or indirectly cause an action to be taken that transitions the system into a new state. Kephart and Walsh distinguish three types of AC policies, which correspond to different levels of abstraction, as follows:

2.3.1 Action Policies An action policy dictates the action that should be taken when the system is in a given current state. Typically this action takes the form of "IF (condition) THEN (action)," where the condition specifies either a specific state or a set of possible states that all satisfy the given condition. Note that the state that will be reached by taking the given action is not specified explicitly. Presumably, the author knows which state will be reached upon taking the recommended action and deems this state more desirable than states that would be reached via alternative actions. This type of policy is generally necessary to ensure that the system is exhibiting rational behavior.

2.3.2 Goal PoliciesRather than specifying exactly what to do in the current state, goal policies specify either a single desired state, or one or more criteria that characterize an entire set of desired states. Implicitly, any member of this set is equally acceptable. Rather than relying on a human to explicitly encode rational behaviour, as in action policies, the system generates rational behaviour itself from the goal policy. This type of policy permits greater flexibility and frees human policy makers from the "need to know" low-level details of system function, at the cost of requiring reasonably sophisticated planning or modeling algorithms.

2.3.3 Utility-Function Policies A utility-function policy is an objective function that expresses the value of each possible state. Utility-function policies generalize goal policies. Instead of performing a binary classification into desirable versus undesirable states, they ascribe a real-valued scalar desirability to each state. Because the most desired state is not specified in advance, it is computed on a recurrent basis by selecting the state that has the highest utility from the presentcollection of feasible states. Utility-function policies provide more fine-grained and flexible specification of behavior than goal and action policies. In situations in which multiple goal policies would conflict (i.e., they could not be simultaneously achieved), utility-function policies allow for unambiguous, rational decision making by specifying the appropriate tradeoff. On the other hand, utility-function policies can require policy authors to specify a multidimensional set of preferences, which may be difficult to elicit; furthermore they require the use of modeling, optimization, and possibly other algorithms.

2.4 Issues of TrustDealing with issues of trust is critical for the successful design, implementation, and operation of AC systems. Since an autonomic system is supposed to reduce human interference or even take over certain heretofore human duties, it is imperative to make trust development a core component of its design. Even when users begin to trust the policies hard-wired into low-level autonomic elements, it is a big step to gain their trust in higher level autonomic elements that use these low-level elements as part of their policies. Autonomic elements are instrumented to provide feedback to users beyond what they provide as their service. Deciding what kind of feedback to provide and how to instrument the autonomic elements is a difficult problem. The trust feedback required by users will evolve with the evolution of the autonomic system. However, the AC field can draw experience from the automation and HCl communities to tackle these problems. Autonomic systems can become more trustable by actively communicating with their users. Improved interaction will also allow these systems to be more autonomous overtime, exhibiting increased initiative without losing the users' trust. Higher trustability and usability should, in turn, lead to improved adoptability.

2.5 Evolution Most existing systems cannot be redesigned and redeveloped from scratch to engineerautonomic capabilities into them. Rather, self-management capabilities have to be added gradually and incrementally to one component (i.e., architecture, subsystem, or service) at a time.With the proliferation of autonomic components, users will impose increasingly moredemands with respect to functional and nonfunctional requirements for automaticity. Thus, the process of equipping software systems with autonomic technology will be evolutionary rather than revolutionary. Moreover, the evolution of autonomic systems will happen at two levels :1. The introduction of autonomic components into existing systems.2. The change of requirements with the proliferation and integration of autonomic system elements.

CHAPTER 3CHARACTERSTICS OF AN AUTONOMIC SYSTEM

These are the main characteristics of the autonomic computing.3.1 The Eight ElementsWhile the definition of autonomic computing will likely transform as contributing technologies mature, the following list suggests eight defining characteristics of an autonomic system as defined by IBM: 1.) An autonomic computing system needs to "know itself" - its components must 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 to 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 in the future, even unpredictable) conditions. System configuration or "setup" must occur automatically, as well as 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.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.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 must know its environment and the context surrounding its activity, and act accordingly. It 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.7.) An autonomic computing system cannot exist in a hermetic environment. While independent in its ability to manage itself, it 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.) An autonomic computing system will anticipate the optimized resources needed while keeping its complexity hidden. It must marshal I/T resources to shrink the gap between the business or personal goals of the user, and the I/T implementation necessary to achieve those goals -- without involving the user in that implementation.

3.2 Self Management Aspects of an Autonomic System The essence of autonomic computing systems is self-management, the intent of which is to free system administrators from the details of system operation and maintenance and to provide users with a machine that runs at peak performance 24/7.Like their biological namesakes, autonomic systems will maintain and adjust their operation in the face of changing components, workloads, demands, and external conditions and in the face of hardware or software failures, both innocent and malicious. The autonomic system might continually monitor its own use, and check for component upgrades, for example. If it deems the advertised features of the upgrades worthwhile, the system will install them, reconfigure itself as necessary, and run a regression test to make sure all is well. When it detects errors, the system will revert to the older version while its automatic problem-determination algorithms try to isolate the source of the error. IBM frequently cites four aspects of self-management, which Table 3.1 summarizes. Early autonomic systems may treat these aspects as distinct, with different product teams creating solutions that address each one separately. Ultimately, these aspects will be emergent properties of a general architecture, and distinctions will blur into a more general notion of self-maintenance.The journey toward fully autonomic computing will take many years, but there are several important and valuable milestones along the path. At first, automated functions will merely collect and aggregate information to support decisions by human administrators. Later, they will serve as advisors, suggesting possible courses of action for humans to consider. As automation technologies improve, and our faith in them grows, that will entrust autonomic systems with makingand acting onlower-level decisions. Over time, humans will need to make relatively less frequent predominantly higher-level decisions, which the system will carry out automatically via more numerous, lower level decisions and actions.Ultimately, system administrators and end users will take the benefits of autonomic computing for granted. Self-managing systems and devices will seem completely natural and unremarkable, as will automated software and middleware upgrades. The detailed migration patterns of applications or data will be as uninteresting to us as the details of routing a phone call through the telephone network.Table 3.1. Four aspects of self-management as they are now and would be with autonomic computing Concept

Current Computing Autonomic Computing

Self-configurationCorporate data centres have multiple data and platforms. Installing, configuring and integrating the systems is time prone.Automated configuration of components and systems follows high-level policies. Rest of system adjusts automatically and seamlessly

Self-optimizationSystems have hundreds of manually set, nonlinear tuning parameters, and their number increases with each release.Components and systems continually seek opportunities to improve their own performance and efficiency.

Self-healingProblem determination in large, complex systems can take a team of programmers weeks.System automatically detects, diagnoses, and repairs localized software and hardware problems.

Self-protectionDetection of and recovery from attacks and cascading failures is manual.System automatically defends against malicious attacks or cascading failures. It uses early warning to anticipate and prevent system wide failures.

Now we see each of the above mentioned aspects in detail:

3.2.1 Self-ConfigurationInstalling, configuring, and integrating large, complex systems is challenging, time-consuming,and error-prone even for experts. Most large Websites and corporate data centres are haphazard accretions of servers, routers, databases, and other technologies on different platforms from different vendors. It can take teams of expert programmers months to merge two systems or to install a major e-commerce application such as SAP.Autonomic systems will configure themselves automatically in accordance with high-level policiesrepresenting business-level objectives, for examplethat specify what is desired, not how it is to be accomplished. When a component is introduced, it will incorporate itself seamlessly, and the rest of the system will adapt to its presencemuch like a new cell in the body or a new person in a population. For example, when a new component is introduced into an autonomic accounting system, as in Figure 2.1, it will automatically learn about and take into account the composition and configuration of the system. It will register itself and its capabilities so that other components can either use it or modify their own behaviour appropriately.

3.2.2 Self-OptimizationComplex middleware, such as Web Sphere, or database systems, such as Oracle or DB2, may have hundreds of tuneable parameters that must be set correctly for the system to perform optimally, yet few people know how to tune them. Such systems are often integrated with other, equally complex systems. Consequently, performance-tuning one large subsystem can have unanticipated effects on the entire system.Autonomic systems will continually seek ways to improve their operation, identifying and seizing opportunities to make themselves more efficient in performance or cost. Just as muscles become stronger through exercise, and the brain modifies its circuitry during learning, autonomic systems will monitor, experiment with, and tune their own parameters and will learn to make appropriate choices about keeping functions or outsourcing them. They will proactively seek to upgrade their function by finding, verifying, and applying the latest updates.

3.2.3 Self-HealingIBM and other IT vendors have large departments devoted to identifying, tracing, and Determining the root cause of failures in complex computing systems. Serious customer problems can take teams of programmers several weeks to diagnose and fix, and sometimes the problem disappears mysteriously without any satisfactory diagnosis.Autonomic computing systems will detect, diagnose, and repair localized problems resulting from bugs or failures in software and hardware, perhaps through a regression tester, as in Figure 1. Using knowledge about the system configuration, a problem-diagnosis component (based on a Bayesian-network, for example) would analyze information from log files, possibly supplemented with data from additional monitors that it has requested.The system would then match the diagnosis against known software patches (or alert a human programmer if there are none), install the appropriate patch, and retest.

3.2.4 Self-ProtectionDespite the existence of firewalls and intrusion-detection tools, humans must at present decide how to protect systems from malicious attacks and inadvertent cascading failures. Autonomic systems will be self-protecting in two senses. They will defend the system as a whole against large-scale, correlated problems arising from malicious attacks or cascading failures that remain uncorrected by self-healing measures. They also will anticipate problems based on early reports from sensors and take steps to avoid or mitigate them.Other than the above mentioned 4 important aspects. The following are the 2 other important aspects which are important for an autonomic system:

3.2.5 ReflexivityAn autonomic system must have detailed knowledge of its components, current status, capabilities, limits, boundaries, interdependencies with other systems, and available resources. Moreover, the system must be aware of its possible configurations and how they affect particular nonfunctional requirements.

3.2.6 AdaptabilityAt the core of the complexity problem addressed by the AC initiative is the problem of evaluating complex tradeoffs to make informed decisions. Most of the characteristics listed above are founded on the ability of an autonomic system to monitor its performance and its environment and respond to changes by switching to a different behavior. At the core of this ability is a control loop.Sensors observe an activity of a controlled process, a controller component decides what has to be done, and then the controller component executes the required operations through a set of actuators. The adaptive mechanisms to be explored will be inspired by work on machine learning, multi-agent systems, and control theory.Figure 3.1 shows the characteristics of an autonomic machine:

Figure 3.1. Autonomic Characteristics

CHAPTER 4ARCHITECTURAL CONSIDERATIONS AND ISSUESAutonomic systems will be interactive collections of autonomic elementsindividual system constituents that contain resources and deliver services to humans and other autonomic elements. Autonomic elements will manage their internal behaviour and their relationships with other autonomic elements in accordance with policies that humans or other elements have established.

4.1 System ArchitectureSystem self-management will arise at least as much from the myriad interactions among autonomic elements as it will from the internal self-management of the individual autonomic elementsjust as the social intelligence of an ant colony arises largely from the interactions among individual ants. A distributed, service-oriented infrastructure will support autonomic elements and their interactions.

Figure 4.1. Structure of an autonomic element.As Figure 4.1 shows, an autonomic element will typically consist of one or more managed elements coupled with a single autonomic manager that controls and represents them. The managed element will essentially be equivalent to what is found in ordinary no autonomic systems, although it can be adapted to enable the autonomic manager to monitor and control it. The managed element could be a hardware resource, such as storage, a CPU, or a printer, or a software resource, such as a database, a directory service, or a large legacy system. At the highest level, the managed element could be an e-utility, an application service, or even an individual business. The autonomic manager distinguishes the autonomic element from its nonautonomic counterpart. By monitoring the managed element and its external environment, and constructing and executing plans based on an analysis of this information, the autonomic manager will relieve humans of the responsibility of directly managing the managed element.Fully autonomic computing is likely to evolve as designers gradually add increasingly sophisticated autonomic managers to existing managed elements. Ultimately, the distinction between the autonomic manager and the managed element may become merely conceptual rather than architectural, or it may melt awayleaving fully integrated, autonomic elements with well-defined behaviours and interfaces, but also with few constraints on their internal structure.Each autonomic element will be responsible for managing its own internal state and behaviour and for managing its interactions with an environment that consists largely of signals and messages from other elements and the external world. An elements internal behaviour and its relationships with other elements will be driven by goals that its designer has embedded in it, by other elements that have authority over it, or by subcontracts to peer elements with its tacit or explicit consent. The element may require assistance from other elements to achieve its goals. If so, it will be responsible for obtaining necessary resources from other elements and for dealing with exception cases, such as the failure of a required resource.

4.2 Multilevel StructureAutonomic elements will function at many levels, from individual computing components such as disk drives to small-scale computing systems such as workstations or servers to entire automated enterprises in the largest autonomic system of allthe global economy.At the lower levels, an autonomic elements range of internal behaviours and relationships with other elements, and the set of elements with which it can interact, may be relatively limited and hard-coded. Particularly at the level of individual components, well-established techniquesmany of which fall under the rubric of fault tolerancehave led to the development of elements that rarely fail, which is one important aspect of being autonomic. Decades of developing fault-tolerance techniques have produced such engineering feats as the IBM z Series servers, which have a mean time to failure of several decades.At the higher levels, fixed behaviours, connections, and relationships will give way to increased dynamism and flexibility. All these aspects of autonomic elements will be expressed in more high-level, goal-oriented terms, leaving the elements themselves with the responsibility for resolving the details on the fly.Hard-coded behaviours will give way to behaviours expressed as high-level objectives, such as maximize this utility function, or find a reputable message translation service. Hardwired connections among elements will give way to increasingly less direct specifications of an elements partnersfrom specification by physical address to specification by name and finally to specification by function, with the partners identity being resolved only when it is needed. Hard-wired relationships will evolve into flexible relationships that are established via negotiation. Elements will automatically handle new modes of failure, such as contract violation by a supplier, without human intervention.While service-oriented architectural concepts like Web and grid services 2,3 will play fundamental role, a sufficient foundation for autonomic computing requires more.First, as service providers, autonomic elements will not unquestioningly honour requests for service, as would typical Web services or objects in an object-oriented environment. They will provide a service only if providing it is consistent with their goals. Second, as consumers, autonomic elements will autonomously and proactively issue requests to other elements to carry out their objectives. Finally, autonomic elements will have complex life cycles, continually carrying on multiple threads of activity, and continually sensing and responding to the environment in which they are situated.Autonomy, proactivity, and goal-directed interactivity with their environment are distinguishing characteristics of software agents. Viewing autonomic elements as agents and autonomic systems as multivalent systems makes it clear that agent-oriented architectural concepts will be critically important.

The following are short-term IT related benefits of autonomic computing.4.3 Short-term IT Related Benefits Simplified user experience through a more responsive, real-time system. Cost-savings - scale to use. Scaled power, storage and costs that optimize usage across both hardware and software. Full use of idle processing power, including home PC's, through networked system. Natural language queries allow deeper and more accurate returns. Seamless access to multiple file types. Open standards will allow users to pull data from all potential sources by re-formatting on the fly. Stability. High availability. High security system. Fewer system or network errors due to self-healing Improved computational capacity

The following are long-term benefits of autonomic computing.4.4 Long-term/ Higher Order Benefits Realize the vision of enablement by shifting available resources to higher-order business. Embedding autonomic" capabilities in client or access devices, servers, storage systems, middleware, and the network itself. Constructing autonomic federated systems. Achieving end-to-end service level management." Accelerated implementation of new capabilities Collaboration and global problem-solving. Distributed computing allows for more immediate sharing of information and processing power to use complex mathematics to solve problems. Massive simulation - weather, medical - complex calculations like protein folding, which require processors to run 24/7 for as long as a year at a time.4.5 ChallengesTo create autonomic systems researchers must address key challenges with varying levels of complexity. They are System identity: Before a system can transact with other systems it must know the extent of its own boundaries. How will we design our systems to define and redefine themselves in dynamic environments? Interface design: With a multitude of platforms running, system administrators face a, How will we build consistent interfaces and points of control while allowing for a heterogeneous environment? Translating business policy into I/T policy: The end result needs to be transparent to the user. How will we create human interfaces that remove complexity and allow users to interact naturally with I/T systems? Systemic approach: Creating autonomic components is not enough. How can we unite a constellation of autonomic components into a federated system? Standards: The age of proprietary solutions is over. How can we design and support open standards that will work? Adaptive algorithms: New methods will be needed to equip our systems to deal with changing environments and transactions. How will we create adaptive algorithms to take previous system experience and use that information to improve the rules? Improving network-monitoring functions to protect security, detect potential threats and achieve a level of decision-making that allows for the redirection of key activities or data. Smarter microprocessors that can detect errors and anticipate failures.

CHAPTER 5CONCLUSIONThe time is right for the emergence of self-managed or autonomic systems. Over the past decade, we have come to expect that "plug-and-play" for Universal Serial Bus (USB) devices, such as memory sticks and cameras, simply works even for technophobic users. Today, users demand and crave simplicity in computing solutions.With the advent of Web and grid service architectures, we begin to expect that an average user can provide Web services with high resiliency and high availability. The goal of building a system that is used by millions of people each day and administered by a half-time person, as articulated by Jim Gray of Microsoft Research, seems attainable with the notion of automatic updates. Thus, autonomic computing seems to be more than just a new middleware technology; in fact, it may be a solid solution for reining in the complexity problem.Historically, most software systems were not designed as self-managing systems. Retrofitting existing systems with self-management capabilities is a difficult problem. Even if autonomic computing technology is readily available and taught in computer science and engineering curricula, it will take another decade for the proliferation of autonomicity in existing systems.

REFERENCES[1] Autonomic Computing: IBM's perspective on the state of information technology.

[2] Jeffery O. Kelhart and David M. Chess (2003) "The vision of autonomic computing"

[3] http ://www.Research.ibm.com/autonomic/research/index.html

[4] http://autonomiccomputing.org/

[5] http://www.ibm.com/developerworks/autonomic

[6] http://en.wikipedia.org/wiki/Autonomic_Computing

Dr.Ambedkar Institute of Technology.20