Skip to main content
Log in

Deployment and dynamic reconfiguration planning for distributed software systems

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

The quality of software systems are determined in part by their optimal configurations. Optimal configurations are desired when the software is being deployed and during its lifetime. However, initial 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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

References

  • Agnew, B., Hofmeister, C. R., & Purtilo, J. (1994). Planning for change: A reconfiguration language for distributed systems. Distributed Systems Engineering, 1(5), 313–322.

    Article  Google Scholar 

  • Allen, J., & Koomen, J. (1983). Planning using a temporal world model. In Proceedings of 8th International Joint Conference On Artificial Intelligence, (pp. 741–747).

  • Allen, J. (1991). Planning as temporal reasoning. In Proceedings of Conference on knowledge representation and reasoning, (pp. 3–14).

  • Bacchus, F., & Ady, M. (2001). Planning with resources and concurrency: A forward chaining approach, International Joint Conference on Artificial Intelligence (IJCAI-2001), (pp. 417–424).

  • Batista, T., & Rodríguez, N. (2000). Dynamic reconfiguration of component-based applications. In Proceedings of the international symposium on software engineering for parallel and distributed systems (pp. 32–39). IEEE Computer Society

  • Berghoff, J., Drobnik, O., Lingnau, A., & Mönch, C. (1996). Agent-based configuration management of distributed applications. In Proceedings of the Third International Conference on Configurable Distributed Systems ICCDS ’96 (pp. 52–59). Maryland.

  • Carzaniga, A., Rosenblum, D. S., & Wolf, A. L. (2001). Design and evaluation of a wide-area event notification service. ACM Transactions on Computer Systems, 19(3), 332–383.

    Article  Google Scholar 

  • Cook, J. E., & Dage, J. A. (1999). Highly reliable upgrading of components. 21st International Conference on Software Engineering (ICSE99), Los Angeles, CA.

  • Doherty, P., & Kvarnström, J. (2001). TALplanner: A temporal logic based planner. AI Magazine, Fall Issue.

  • Edelkamp, S., & Helmert M. (2001). The model checking integrated planning system AI-Magazine (AIMAG), (pp. 67–71). Fall.

  • Endler, M., & Wei J. (1992). Programming generic dynamic reconfigurations for distributed applications, Proceedings of the international workshop on configurable distributed systems (pp. 68–79). London, IEE, March 92.

  • European Network of Excellence in AI Planning Web Site (http://planet.dfki.de/).

  • Fox, M., & Long, D. The third international planning competition: Temporal and metric planning. University of Durham, UK.

  • Garlan, D., Monroe, R., & Wile, D. (1997). Acme: An architecture description interchange language. Proceedings of CASCON 97 (pp. 169–183). Toronto, Ontario.

  • Garlan, D., Monroe, R. T., Wile, D (2000). Acme: Architectural description of component-based systems. In Gary T. Leavens and Murali Sitaraman (Eds.), Foundations of Component-Based Systems (pp. 47–68). Cambridge University Press.

  • Gerevini, A., & Serina, I. (2002). LPG: A planner based on planning graphs with action costs, In Proceedings of the Sixth International Conference on AI Planning and Scheduling (AIPS’02), (pp. 13–22). AAAI Press.

  • Heimbigner, D. M., & Wolf, A. L. (1996). Post-deployment configuration management. In Proceedings of the sixth international workshop on software configuration management, number 1167 in Lecture Notes in Computer Science (pp. 272–276). Springer-Verlag.

  • Kramer, J., & Magee, J. (1985). Dynamic configuration for distributed systems. IEEE Transactions on Software Engineering, SE-11(4), 424–436.

    Article  Google Scholar 

  • Magee, J., & Kramer, J. (1996). Self organizing software architectures. In Proceedings of the second inter-national software architecture workshop (pp. 35–38).

  • Mehta, N., Medvidovic, N., & Phadke, S. (1999). Towards a taxonomy of software connectors, technical report, Center for software engineering, University of Southern California, USC-CSE-99–529.

  • Muscettola, N. (1994). HSTS: Integrating planning and scheduling. Intelligent Scheduling. Morgan Kaufmann.

  • Paulo, J., Almeida, A., Wegdam, M., Ferreira Pires, L., & Sinderen, M. (2001). An approach to dynamic reconfiguration of distributed systems based on object-middleware. Proceedings of the 19th Brazilian Symposium on Computer Networks (SBRC 2001), Santa Catarina, Brazil.

  • Penberthy, J., & Weld, D. (1994). Temporal planning with continuous change. In Proceedings of 12th National Conference. Artificial Intelligence.

  • ECP-01 Planet Workshop on Automated Planning and Scheduling Technologies, 11 September 2001, Toledo, Spain (http://scom.hud.ac.uk/planet/ecp01_workshop/).

  • Russell, S., & Norvig, P. (1995). Artificial intelligence: A modern approach, Prentice Hall.

  • Rutherford, M. J., Anderson, K., Carzaniga, A., Heimbigner, D., & Wolf, A. L. (2002). Reconfiguration in the Enterprise JavaBean Component Model In Proceedings of the IFIP/ACM Working Conference on Component Deployment (pp. 67–81).Berlin.

    MATH  Google Scholar 

  • Shrivastava, S., & Wheater, S. (1998). Architectural support for dynamic reconfiguration of large scale distributed applications. The 4th International Conference on Configurable Distributed Systems (CDS’98), Annapolis, Maryland, USA, May 4–6.

  • Vere, S. (1983). Planning in time: Windows and durations for activities and goals IEEE Transactions on Pattern Analysis and Machine Intelligence, 5, 246–267.

    Article  Google Scholar 

Download references

Acknowledgements

This material is based in part upon work sponsored by DARPA, SPAWAR, and AFRL under Contracts N66001-00-8945, F30602-00-2-0608, and F49620-01-1-0282. The content does not necessarily reflect the position or the policy of the Government and no official endorsement is implied.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Naveed Arshad.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Arshad, N., Heimbigner, D. & Wolf, A.L. Deployment and dynamic reconfiguration planning for distributed software systems. Software Qual J 15, 265–281 (2007). https://doi.org/10.1007/s11219-007-9019-2

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-007-9019-2

Keywords

Navigation