Model Driven Upgrade Campaign Generation for Highly Available Systems

Highly available applications undergo upgrades like any software system. Because of the high availability requirement, such applications cannot be taken offline for performing the upgrade and then put back into service. The upgrade has to be performed while the application is providing services, and it has to avoid service outage as much as possible. The Service Availability Forum (SAF) has defined and standardized a set of middleware services to support high availability and enable application portability. Among these services, the Software Management Framework (SMF) is in charge of the upgrade, mainly through the execution of the upgrade campaign specification, which is seen as an orchestration of the upgrade. The structure and concepts of an upgrade campaign, like procedures, steps and upgrade methods, are defined in the standard. The way these concepts are applied to the elements of an application in a given campaign defines the orchestration of their upgrade and needs to be thought through. For this one has to take into account the dependencies between the elements of the application. Indeed, breaking these dependencies is the main source of outage during upgrade. In this paper we propose a model driven approach for the generation of upgrade campaign specifications taking into account these dependencies, the initial system configuration and the target one.

[1]  Haibo Chen,et al.  POLUS: A POwerful Live Updating System , 2007, 29th International Conference on Software Engineering (ICSE'07).

[2]  Richard F. Paige,et al.  The Epsilon Transformation Language , 2008, ICMT@TOOLS.

[3]  Fabio Kon,et al.  Dependence management in component-based distributed systems , 2000, IEEE Concurr..

[4]  Wilhelm Hasselbring,et al.  A Scenario-based Approach to Increasing Service Availability at Runtime Reconfiguration of Component-based Systems , 2007, 33rd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO 2007).

[5]  Richard F. Paige,et al.  Adding Spreadsheets to the MDE Toolkit , 2013, MoDELS.

[6]  Marten van Sinderen,et al.  Transparent dynamic reconfiguration for CORBA , 2001, Proceedings 3rd International Symposium on Distributed Objects and Applications.

[7]  Richard F. Paige,et al.  The Epsilon Object Language (EOL) , 2006, ECMDA-FA.

[8]  Giuseppe Pappalardo,et al.  Handling run-time updates in distributed applications , 2005, SAC '05.

[9]  Liuba Shrira,et al.  Scheduling and Simulation: How to Upgrade Distributed Systems , 2003, HotOS.

[10]  Richard F. Paige,et al.  Different models for model matching: An analysis of approaches to support model differencing , 2009, 2009 ICSE Workshop on Comparison and Versioning of Software Models.

[11]  Richard F. Paige,et al.  The Epsilon Generation Language , 2008, ECMDA-FA.

[12]  Hausi A. Müller,et al.  A framework for live software upgrade , 2002, 13th International Symposium on Software Reliability Engineering, 2002. Proceedings..

[13]  Cristiano Giuffrida,et al.  Safe and automatic live update for operating systems , 2013, ASPLOS '13.

[14]  Brice Morin,et al.  Leveraging Models From Design-time to Runtime. A Live Demo , 2009 .

[15]  Antoni Wolski,et al.  Rolling Upgrades for Continuous Services , 2004, ISAS.

[16]  Xuejun Chen Dependence management for dynamic reconfiguration of component-based distributed systems , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

[17]  Maria Toeroe,et al.  Ordering Upgrade Changes for Highly Available Component Based Systems , 2014, 2014 IEEE 15th International Symposium on High-Assurance Systems Engineering.

[18]  Anik Mishra Automated AMF Configuration Difference Generation , 2011 .