Issue No.11 - November (2009 vol.58)
Javier Alonso , Universitat de Politecnica de Catalunya, Spain
Jordi Torres , Universitat de Politecnica de Catalunya and Barcelona Supercomputing Center, Spain
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TC.2009.119
In this paper, we present an approach for software rejuvenation based on automated self-healing techniques that can be easily applied to off-the-shelf Application Servers. Software aging and transient failures are detected through continuous monitoring of system data and performability metrics of the application server. If some anomalous behavior is identified, the system triggers an automatic rejuvenation action. This self-healing scheme is meant to disrupt the running service for a minimal amount of time, achieving zero downtime in most cases. In our scheme, we exploit the usage of virtualization to optimize the self-recovery actions. The techniques described in this paper have been tested with a set of open-source Linux tools and the XEN virtualization middleware. We conducted an experimental study with two application benchmarks (Tomcat/Axis and TPC-W). Our results demonstrate that virtualization can be extremely helpful for fail-over and software rejuvenation in the occurrence of transient failures and software aging.
Software rejuvenation, software aging, virtualization, self-healing.
Javier Alonso, Jordi Torres, "Using Virtualization to Improve Software Rejuvenation", IEEE Transactions on Computers, vol.58, no. 11, pp. 1525-1538, November 2009, doi:10.1109/TC.2009.119