Publication | Closed Access
Software rejuvenation: analysis, module and applications
919
Citations
10
References
2002
Year
Unknown Venue
Software MaintenanceEngineeringSoftware SystemsComputer ArchitectureSoftware EngineeringSoftware ReuseFault ToleranceThreshold ConditionsSoftware AnalysisSoftware AgingSystems EngineeringSoftware Re-engineeringComputer EngineeringDistributed SystemsComputer ScienceSoftware DesignHigh Availability SoftwareOperating SystemsDistributed ComputingProgram AnalysisSoftware TestingClean Internal StateReal-time SystemsHigh AvailabilitySoftware RejuvenationReusabilityCode ReuseSystem Software
Software rejuvenation is the concept of gracefully terminating an application and immediately restarting it at a clean internal state. In a client-server type of application where the server is intended to ran perpetually for providing a service to its clients, rejuvenating the server process periodically during the most idle time of the server increases the availability of that service. In a long-running computation-intensive application, rejuvenating the application periodically and restarting it at a previous checkpoint increases the likelihood of successfully completing the application execution. We present a model for analyzing software rejuvenation in such continuously-running applications and express downtime and costs due to downtime during rejuvenation in terms of the parameters in that model. Threshold conditions for rejuvenation to be beneficial are also derived. We implemented a reusable module to perform software rejuvenation. That module can be embedded in any existing application on a UNIX platform with minimal effort. Experiences with software rejuvenation in a billing data collection subsystem of a telecommunications operations system and other continuously-running systems and scientific applications in AT&T are described.< <ETX xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">></ETX>
| Year | Citations | |
|---|---|---|
Page 1
Page 1