论文部分内容阅读
Recently, the phenomenon of "software aging", one in which the performance of a software system gradually degrades with time and even finally leads to the whole system failure, has frequently been reported. The aging phenomenon is ubiquitous in all kinds of software systems and hard to eliminate thoroughly. A proactive technique called "software rejuvenation" has been proposed to counter the aging problem and increase the software availability.
The main problem of this preventive technique is, how to schedule it.Some former researches worked on the time-based (or say model-based) methods, which were straightforward but seem to be not so effective. While the new approach based on actual measurement of system resource usage and ac tivity to detect and estimate the trend of aging proved better in many cases. Estimating the resource exhaustion time makes it possible for software reju venation to be initiated or better planned, so that the system availability is maximized in the face of time-varying workload and system behavior.
Much research work in this measurement-based approach has been well done. But most of it concentrated merely on the exploring and comparison of the possible effect by the measurement-based estimation. All the work stop just after the comparisons of estimated future data and actually measured data. No further discussion and work about real rejuvenation action espe cially the design and implementation of real software rejuvenation systems or tools has been reported. In fact, we think it is another very important re search topic for software rejuvenation. This paper details our research work to bridge this gap. At the beginning, we present our exploring on the concepts of software rejuvenation. For there is scarcely any research in China of this aspect yet, we give out a not-so-short survey on this area, which is not only a presentation but also comprehension of our thinking and understanding.
Then, some further theoretical problems are specifically discussed, most of them are of concepts or methodology and have never been definitely discussed by others before.
Finally, an important part is the design and implementation of an elementary software rejuvenation system, inside of which all our ideas about the design and implementation are embodied and presented.
For its careful design in full generalization, customization, extensibility,this elementary system can be further developed to be used in many aspects such as a test-bed of various algorithms and modes of rejuvenation in the coming research, a practical tool system for real world applications and even a prototype or reference of some commercial rejuvenation tools.