A software replication model for rejuvenation transparency to clients in a single computer environment (2006)

Software aging related failures in the operational phase can be prevented by applying proactive software rejuvenation. Proactive rejuvenation is a process of gracefully terminating an application and immediately restarting it at a clean internal state. This process incurs periods of application unavailability during rejuvenation. Two policies were established to abate the effects of the application unavailability. First was to perform the periodic rejuvenations during scheduled rejuvenation windows. Second was to schedule the rejuvenation windows during the low system usage periods to reduce the per-unit cost of the downtime. This practice restricted the use of software rejuvenation during the peak workload periods when the software aging effect may be at its greatest. This research, therefore, addressed the unavailability associated with software rejuvenation in the single computer environment. 
A new software rejuvenation model was formulated in this research that achieved rejuvenation transparency to the clients in a single-computer environment. This goal was accomplished by formulating the new hot-standby rejuvenation model. The new hot-standby rejuvenation model was synthesized by augmenting the software rejuvenation method with the entity redundancy in the form of hot-passive software replication. 
This research was based on prior works that applied software rejuvenation in the redundant hardware environments. SRN modeling formalism was used as the modeling technique. Two sets of experiments were conducted to validate the new hot-standby rejuvenation models formulated in this research. First set investigated the effect of the new rejuvenation models on the unavailability characteristics of the single component application architecture. Second set performed the same investigation using the loosely coupled multiple component application architecture. 
Experiment results in this research showed that the new hot-standby rejuvenation models can achieve rejuvenation transparency to the clients. The new models achieved the effects of rejuvenation by switching the aged active replica with the standby replica in the robust state. Furthermore, the results of the two experiments demonstrated that the new hot-standby rejuvenation method can provide significant improvement to the software unavailability. 
A major implication of this research is the expanded use of software rejuvenation in the single computer environment. When using the new rejuvenation method, the proactive rejuvenation can be performed anytime as needed without restraint in a single computer environment. Applications that cannot tolerate service interruptions can use the new proactive rejuvenation model in a single computer environment. Another implication is the significant unavailability improvement produced by the new rejuvenation model in application systems where the current rejuvenation method provided small improvement. 
A future research recommendation is to characterize the overhead of the new rejuvenation models. Another is to investigate a method of routinely capturing application failure rate, repair rate, and rejuvenation completion rate, and store these rates as part of the application history. These rates can then be used to calculate the optimum rejuvenation interval and the unavailability improvement ratio.