DOC PREVIEW
MTU CS 6461 - Deployment and Dynamic Reconfiguration Planning For Distributed Software Systems

This preview shows page 1-2-3 out of 8 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 8 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

1 Deployment and Dynamic Reconfiguration Planning For Distributed Software Systems Naveed Arshad Dennis Heimbigner Alexander. L Wolf Department of Computer Science University of Colorado at Boulder{arshad, dennis, alw} @ cs.colorado.edu AbstractInitial deployment and subsequent dynamic reconfiguration of a software system is difficult because of the interplay of many interdependent factors, including cost, time, application state, and system resources. As the size and complexity of software systems increases, procedures (manual or automated) that assume a static software architecture and environment are becoming untenable. We have developed a novel technique for carrying out the deployment and reconfiguration planning processes that leverages recent advances in the field of temporal planning. We describe a tool called Planit, which manages the deployment and reconfiguration of a software system utilizing a temporal planner. Given a model of the structure of a software system, the network upon which the system should be hosted, and a goal configuration, Planit will use the temporal planner to devise possible deployments of the system. Given information about changes in the state of the system, network and a revised goal, Planit will use the temporal planner to devise possible reconfigurations of the system. We present the results of a case study in which Planit is applied to a system consisting of various components that communicate across an application-level overlay network. 1. Introduction Deployment and dynamic reconfiguration of software systems pose a tough challenge because of the architectural complexity of modern, distributed software systems. A significant body of research exists that addresses the optimization of the deployment and dynamic reconfiguration process. However, software systems continue to evolve in the direction of ever increasing complexity, and distributed systems are becoming the norm. In this environment, existing techniques are beginning to reach their limit. Many systems now require a system administrator to manage and evolve large scripts that control the system. Dynamic reconfigurationthe reconfiguration of a system while it is executingonly exacerbates the problem. This facility is required in large distributed systems where it may not be possible or economical to stop the entire system to allow modification to part of its hardware or software [˪14]. Clearly there is a need for new tools and techniques that automate the process of deployment and dynamic reconfiguration of software systems. The dynamic reconfiguration process looks very much like the traditional control system model of “sense-plan-act”. For software systems, sensing involves the monitoring of the system and its environment to detect problems such as machine or component failures. Planning involves the construction of a plan to return the software system to normal or near normal functionality. Acting is the execution of the steps as defined in the plan. Each step in the plan effects a state transition. The plan as a whole causes a transition from the present state of the system to a desired state. The problem is that there are number of ways in which this state transition can be performed. All of these ways have different time, cost, and resource usage implications. Finding the optimal plan is difficult when all of these variables are taken into account. There has been a lot of work in the sensing and acting phases [˪3,4, 6, 15, 16, 28] but much less work on the problem of finding the optimal techniques for planning a reconfiguration [3, 18]. The artificial intelligence (AI) community has been dealing with this kind of problem for a long time, where it arises in robot motion planning, intelligent manufacturing, and operations research. AI provide automated planners that avoid traditional state-space search mechanisms like breadth first, depth first, or best first. Instead they use heuristics and other techniques for searching the plan space. Recently these planners have become powerful enough to be used in real-world applications. Moreover, they now accept more powerful input specifications and are able to optimize time, cost, and resource constraints. There is a flavor of planner called temporal planners that is specifically geared towards time optimization. In this paper we demonstrate the synergy between deployment, dynamic reconfiguration, and planning. Each planner requires a domain for the representation of the semantics of the possible transitions. Along with the domain, the planner requires a specification of the initial state and the goal state. We have developed an initial domain for the deployment and dynamic reconfiguration of software systems. We have developed a tool, Planit, which can monitor a software system and obtain events indicating some kind of state change. Depending on the state of the system, Planit develops an initial state of the system. If it requires a change in configuration, it develops a desired state of the system based on its possible configuration rules. It writes the initial and desired state in a problem file and gives it to the planner. The planner computes a plan for the transition between the initial state and the desired state and returns a plan. Planit receives and interprets this plan and disseminates the new configuration to the system for execution. Proceedings of the 15th IEEE International Conference on Tools with Artificial Intelligence (ICTAI’03) 1082-3409/03 $17.00 © 2003 IEEE2The technical part of the paper is organized as follows. Section 2 motivates the use of AI planning techniques for reconfiguration. Section 3 describes the domain of reconfiguration. Section 4 defines the reconfiguration process when using planning, and the operation of the underlying Planit system. Section 5 presents a case study and some performance measurements resulting from that study. 2. The Need for Planning There are several reasons that motivate the use of planning for deployment and dynamic reconfiguration of software systems with the help of AI techniques. The first reason is the dynamic nature of the environment for deployment and reconfiguration. Much of the prior work in reconfiguration (see Section 6) has implicitly assumed that the set of resources is fixed and available. For example, the set of machines is static and all of them are available; the set of deployed components is statically determined. In practice,


View Full Document

MTU CS 6461 - Deployment and Dynamic Reconfiguration Planning For Distributed Software Systems

Documents in this Course
Tapestry

Tapestry

13 pages

Load more
Download Deployment and Dynamic Reconfiguration Planning For Distributed Software Systems
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Deployment and Dynamic Reconfiguration Planning For Distributed Software Systems and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Deployment and Dynamic Reconfiguration Planning For Distributed Software Systems 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?