Autonomic Computing Presented By: Renuka Kandimalla(2596547) Chaitanya Gotike(2594580) Nafia Hassan Halder(2604568) Contents Introduction Why Need Autonomic Computing? Characteristics Of Autonomic Computing Basic Elements Of Autonomic Computing Architecture Current Computing Vs Autonomic Computing Benefits What happen if does not have Autonomic Computing in future? Research Issues and Challenges Future directions of Autonomic Computing Conclusion Introduction • The word “autonomic ” is comes from autonomous which means self-governed or act independently. • It is inspired by the functioning of human autonomic nervous systems, which adjusts to many situations automatically without any intervention from human. • It tells our heart how fast to beat, Checks sugar and oxygen levels in blood. It monitors our body temperature, depending on external temperature , if it is hot outside we perspire, if it is cold we shiver.We do not tell ourselves to do these things,they just happen. As the name suggests autonomic systems are self governed and self-regulated systems , which are capable of making decisions on its own using high level policies. Paul Horn Senior Vice President IBM Autonomic Computing http://www.ibm.com/autonomic/ Introduction(cont..) Similarly , the autonomic computing systems would control the functioning of computer applications and system without intervention of user. Configuring the software automatically when it is installed in the system. If any application error is occured, system automatically recover itself after crash. Aim of autonomic computing is to create systems that run themselves , capable of high level functioning, while keeping the system’s complexity invisible to the user. Why need Autonomic Computing? In this rapid growing complex world,the odds to a complex computing system are high. Follow the evolution of computers from single machines to superscalar systems an unmistakable pattern emerges. Compare with the previous machines ,an incredible progress in almost every aspect of computing, for example micro processor power,storage capacity,communication speed drastically increased.Though it results sophisticated architectures but which demands million lines of code,some operating environments weigh in at 30 million lines of code developed by thousands ofprogrammers. Infact,growing complexity of IT infrastructure threatens the information technology which aims to provide best outcomes. Why need Autonomic Computing?(cont..) Until now the computer systems relied mainly on human intervention and administration to manage this complexity. • When we think about current rates of complexity expansion , there will not be enough skilled IT people to run these complex computing system . • Even if the people come up with enough skills , complexity is growing beyond the human ability to manage it. As computing evolves,overlapping connections,dependencies and interacting applications call for administrative decision making and responses faster than any human can deliver. Why need Autonomic Computing?(cont..) Identifying root causes of failures become more difficult, while finding the ways of improving system efficiency. Without new approaches things get worse. To solve this a new concept called Autonomic Computing was evolved. These systems posses autonomic behavior which enables the software to operate intelligently and dynamically,biasing decisions on IT policies and service requirements. Characteristics of Autonomic Computing IBM introduce eight basic characteristics of autonomic system that must posess,these are: 1.To be autonomic, a computing system needs to “know itself” Need detailed knowledge of its components , current status , ultimate capacity and connections with other systems to govern itself. It will need to know the extent of its “ownership” of resources , they can borrow or lend. Characteristics of Autonomic Computing 2.Self-configure and reconfigure System configuration must occur automatically by making dynamic adjustment to that configuration to handle changing environments optimally. 3.Optimise Operations – Autonomic computing systems should have capability of optimizing its tasks. Optimizing means system should prioritize the tasks and also it should use optimum path to complete the goal Also autonomic system should have ability to manage its resources(i.e., get more results by using less resources) Characteristics of Autonomic Computing 4. Able to recover - Autonomic systems must be able to recover from extraordinary events that might cause some of its parts to malfunction. System must be able to discover problems, then find an alternative way of utilizing resources or reconfiguring the system to keep functioning smoothly. Initially “healing” responses taken by autonomic system will follow rules generated by human experts. Later, more intelligence embedded in computing systems, they will begin to discover new rules on their own which helps to use system redundancy or additional resources to recover and achieve primary objective , completing task. Characteristics of Autonomic Computing 5.Must be expert in Self-Protection Autonomic system must detect,identify and protect itself against various types of attacks to maintain entire system security and integration. Like human immune system,it should have “digital immune system” that can detect suspicious code then automatically send it to a central analysis system finally distribute a cure to the computer system. To deal with the malicious attacks by hackers, intrusion system must automatically detect and alert system administrators to the attacks. Characteristics of Autonomic Computing 6.Be aware of its environment and adopt: An autonomic system must know its environment and the context surrounding activity then acts accordingly. System will find and generate rules for how best to interact with neighboring systems,it will tap available resources,even stops the use by other system underutilized elements,changing both itself and its environment in the process. 7.Functioning with a heterogeneous world Autonomic system must not exist in a hermetic environment An autonomic system must function in a heterogeneous world and implement open standards. Characteristics of Autonomic Computing 8.Hide Complexity Autonomic computing system will anticipate the optimized resources that are needed by keeping its complexity hidden. This is the ultimate goal of autonomic computing: Hide the marshalling of IT resources to reduce the gap between the business/personal goals of customers and the IT implementation necessary to achieve those goals,without involving the user intha implementation. Elements of Autonomic Computing The autonomic computing has four major elements: Self-configuring Self-optimizing Self-healing Self-protecting Self-configuring An autonomic computing system configures itself according to highlevel goals i.e.,by specifying what is desired, not necessarily how to accomplish it. Main idea: Software and hardware must have an ability to define themselves at any given movements. Example : The autonomous computing system must be able to install and set up software automatically. Self-configuring(cont..) An autonomous system will update new signatures for security levels and virus protection when working with the other autonomous components. For determining optimum configurations self configuration will use adaptive algorithms. Examples: Automatic installation of new software releases. Installation, testing and release of regular vendor service packs. Self-optimizing An autonomous system will be constantly monitoring predefined system goals to assure that all systems are running at optimum levels. Self optimization will be the key to allocating e-utility type resources. Self-optimizing(cont..) Many new and innovative techniques are needed for optimization to be successful for ex. Control theory. Examples: Calling for additional processing power from the e-utility when needed. releasing those additional cycles. Interfacing with other automatic modules to exchange data and files. Working with outside vendor software. Self-healing An autonomic system is able to automatically detect errors at runtime and recover from failures without any human interference. Self-healing systems will be able to take immediate action to resolve the issue, even if the further analysis is needed Fault-tolerance is an important aspect of self-healing. Self-healing(cont..) Typically, an autonomic system is said to be reactive to failures or early signs of a possible failure. Examples: Self-correcting job control language(JCL):when a job fails, the error or problems are identified and jobs rerun without human intervention If a database index fails then the files are automatically reindexed, tested and loaded back into production. Self-protecting • An autonomic system protects itself from malicious attacks but also from end users who inadvertently make software changes. e.g. by deleting an important file. Autonomic system solutions must address all aspects of systems at the platform, operating system, network and internet which involves secure implementation etc. Self-protecting(cont..) The system autonomously tunes itself to achieve security, privacy and data protection. • Thus, security is an important aspect of self-protection, not just in software, but also in hardware. Examples: Confirm the ability of backup and recovery resources that may be needed. Verification of network configurations inventories whether correct or not , if not take appropriate action. Implement tiered security levels. Resolve open security concerns. Autonomic computing Architecture In an autonomic environment, components work together , communicating with each other and with high –level management tools. Autonomic Computing Architecture (cont..) • The basic management element is a control loop which acts as manager of the resource and these can communicate and eventually will negotiate with each other. Control loop collects the information from the system and then makes decisions based on that data and then issues instructions. A control loop can provide functionality of autonomic computing such as: Installing software and upgrades. Requesting additional processing cycles when needed. Autonomic Computing Architecture (cont..) Restarting a system after a failure. Initiating backups after daily processing. Shutting down systems after detection of an intrusion. Control loop is divided into two basic elements: 1. Managed Resource 2. Autonomic Manager 1.Managed Resource: The managed resource is controlled through its sensors and effectors. The sensors provide mechanism to collect information about the state and state transitions of an element Autonomic Computing Architecture (cont..) The effectors are mechanisms that change the state of an element. 2.Autonomic manager: The autonomic manager is a component that implements the control loop. The monitor part provides the mechanisms that collect, aggregate, filter and report details which are collected from an element. The analyze part provides the mechanisms that correlate and model complex situations. The plan provides the mechanisms that structure the action needed to achieve goals and objectives. Autonomic Computing Architecture (cont..) The execute part provides the mechanisms that control the execution of plan and it will establish whether the commands completed their required actions. The architecture needs to work with the various computing technologies and standards that exist in the todays industry, such as Java Management Extensions(JME),common information model(CIM) as well as with new technologies that emerge in the future. Current Computing Vs Autonomic Computing Concept Current computing systems Autonomic sytems Selfconfiguration Installing, configuring, and integrating Systems get configured systems is time consuming and error automatically using high level prone. policies Selfoptimization Systems have hundreds of manually set, nonlinear tuning parameters, and their number increases with each release. Systems and components continually seeking opportunities to improve their own performance& efficiency. Self-healing Takes more time for programmers to determine the problems in large computing systems. These are automatically detects, diagnoses, and repairs localized software and hardware problems. Selfprotection Detection and recovery from attacks, cascading failure is manual. Automatically protects against malicious attacks or cascading failures. It uses early warnings to prevent system wide failures. Benefits of Autonomic Computing Simplified user experience through a more responsive, real time system. Reduced deployment and maintenance cost. Provides server consolidation to maximize system ability, and minimizes cost and human effort to manage large sever farms. Full use of idle processing power, including home PC's, through networked system. High product complexity from the end user. Makes products more reliable. What happen if does not have Autonomic Computing in Future? Complexity increases gradually, reaching unmanageable proportions. Further pressure will increase on IT staff to fix unfixable problems. Reliability and performance of systems will deteriorate so that business will suffer. Corporations will be required to increase their IT budgets, substantially lose their profits. If does not have Autonomic Computing in the future?(Cont…) Senior management will reject these astronomical budget request—Cycle of problems will continue. More and more skilled IT staff will be needed at substantial costs. The health of many IT staff will suffer. Research Issues and Challenges The research issues and challenges of autonomic computing span all levels, from the conceptual level to architecture, middleware, and application. Key research issues and challenges are: Conceptual Challenges Architecture Challenges Middleware Challenges Application Challenges Research Issues and Challenges (Cont…) Conceptual Challenges: Defining appropriate models for specifying, understanding, controlling, and implementing autonomic behavior. Adapting classical models theories for machine learning, optimization, and control. Designing statistical models of large networked system to share overall awareness. Research Issues and Challenges (Cont…) Architecture Challenges: System and software architectures, in which local as well as global autonomic behavior can be specified, implemented and monitored or controlled in a predictable manner remains a key challenge for the researchers. Research Issues and Challenges(Cont..) Middleware Challenges: The primary middleware level research challenge is providing the core services required to understand autonomic behavior in a reliable and scalable manner, in spite of uncertainty of the system and application. These includes • Discovery • Messaging • Security • Privacy • Trust Research Issues and Challenges(Cont..) Application Challenges: The key challenges at the application level are— Formulation and development of the systems Applications that are capable of managing themselves. Programming models, frameworks and middleware services that support autonomic elements. Future Direction of Autonomic Computing People will need to make progress along two tracks: First, Making individual system components autonomic and achieving autonomic behavior at the level of global enterprise IT system. Fully autonomic system is very difficult to build. Needs new technologies and innovation. Future Direction of Autonomic Computing(Cont..) Second, How to create overall or global awareness and management? Unless each component in the system can share information with each part and contribute some overall system awareness, the goal of autonomic computing cannot be achieved. Future Direction of Autonomic Computing(Cont..) How to create the proper “adaptive algorithms”– sets of rules that can take previous system experience and use that information to improve the rules. We can retain only significant information. How to design an architecture for autonomic systems ? To provide consistent interfaces and points of control while allowing the autonomic systems work on different modules or environments. List of recommendations to make Autonomic Computing more functional Develop autonomic tools and technologies on top of existing standards. Develop autonomic-based systems using multivendor approaches. SWOT analysis to assess the relative strengths, weakness, opportunities, and threats. Develop libraries of interaction protocols designed for specific autonomic behavior interactions. List of recommendations to make Autonomic Computing more functional (Cont..) Develop sophisticated and easy-to-use autonomic environments. To include support for design, test, maintenance, and visualization of autonomic-oriented systems. Develop tools for effective sharing and negotiation strategies. Develop autonomic-based eScience systems for the scientific community. Develop techniques for users. Specify preferences and desire outcomes in a complex environment. List of recommendations to make Autonomic Computing more functional (Cont..) Develop techniques to enable system to identify, create, and dissolve coalition while working on different modules. Develop more research works. To ensure the security and verifiability of autonomic system. Develop a catalog of early adopter case studies. Both successful and unsuccessful. Conclusion Achieving overall autonomic behavior remains an open and significant challenge, which will be accomplished through: a combination of process changes, skills evolution, new technologies and architecture, open industry standards.