Modelling and dynamic behaviour analysis of the software rejuvenation system with periodic impulse

ABSTRACT Software rejuvenation is a policy to counter the phenomenon of software ageing. However, how to implement software rejuvenation is still an important issue. In this paper, periodic impulse control is proposed as an effective tool to perform software rejuvenation and improve the availability of software system. First, we formulate the software rejuvenation system with periodic impulse by a group of coupled differential equations with impulsive action. Then the well-posedness of the system is demonstrated by using operator semigroup theory. At the end of the paper, numerical examples are shown to illustrate the dynamic behaviour of the system and the relationship between the system instantaneous availability and the impulsive indexes, including impulse interval and impulse strength, which yields that the system availability can be improved by adjusting the impulsive indexes.


Introduction
The failure of computers is mainly due to the failure of the software rather than the hardware [1]. Nowadays a software comes in multiple releases to keep it updated, relevant in the market, and patch/fix the vulnerabilities. Common experience suggests that the most software failures, called Mandelbugs, are transient in nature [2][3][4]. Since all ageing-related bugs are Mandelbugs, it must be tolerated in the operational phase of software system regardless of the software version [5,6]. Software ageing refers to the phenomenon that the failure rate and/or performance decline of a long-running software system is caused by the activation and spread of ageing-related bugs [7], such as Apache web server [1], telecommunication switching and billing system [8], cloud computing infrastructure [9] and Android operating systems [10]. The fault-error-failure chains shown in [11] suggested that the activation of ageing-related bugs will lead to the system shift from a correct state to a failure-prone one. After a long period of execution or a large number of accumulated errors, such bugs can lead to ageing-related failures that can result in economic loss or endanger human life [12].
The research on the software rejuvenation system is already well developed. Huang et al. [13] proposed a methodology of software rejuvenation to counter software ageing, as shown in Figure 1, and modelled the four-state process as a continuous time Markov chain, and then derived the steady-state system availability with the state transition probability following negative exponential distribution. Figure 1 describes the state transition diagram of the software rejuvenation system, where O is normal operation state, P stands for the failure probable state, F refers to the failure state and R is the software rejuvenation state. Dohi et al. [14] presented the system availability with the state transition probability following general distribution. Xu et al. [15] analysed the asymptotic stability system with C 0 -semigroup. In the context of Huang et al.'s model [13], Garg et al. [16] introduced the concept of periodic rejuvenation to deal with the deterministic interval between continuous rejuvenation. Dohi et al. [17] and Suzuki et al. [18] showed that Huang et al.'s model [13] and Garg et al.'s model [16] can be extended to the semi-Markov process and the Markov regenerative process, respectively, and then estimate the optimal failure time of the software rejuvenation. Xu [19] modelled the behaviour of software system by a group of ordinary and partial equations and proved that the system is well posed with the theory of strong continuous semigroup. Dohi et al. [20] considered the optimal software rejuvenation policies maximizing the interval reliability using the Markov regenerative process formalism and deduced the optimal software rejuvenation timing. Koutras and Platis [21] developed a multi-objective optimization strategy to optimize the system overall performance capability.
Impulse systems arising from the real world describes the dynamic processes of sudden discontinuous jumps, which can be modelled by impulse differential equations of [22]. Impulse control is a newly developed control theory based on impulse differential equations, in which a continuously evolving state is modified by discrete control action [23]. As we all know, periodic motion is a very important phenomenon, not only in natural science, but also in climate, food supplement, population, sustainable development and other social sciences [24][25][26][27]. The existence of almost periodic solutions for impulse systems has been considered in [28,29]. Wang et al. [30] studied the stability and periodic optimal control of a class of impulsive periodic system in the Banach space. The existence of periodic solutions of impulsive differential equations is obtained by proving the boundedness of solutions in [31][32][33]. By using continuous time-varying and discontinuous Lyapunov functions, Briat [34] researched the stability and control of linear periodic impulse systems. By fixed point theorem and constructing a Lyapunov function, Zhou et al. [35] established some sufficient conditions to ensure the permanence and uniformly asymptotic stability of positive almost periodic solutions for a class of impulsive prey-predator model.
Discontinuous periodic rejuvenation is a discrete control action for a continuously evolving state, which can be considered as an impulse control problem. Analysing dynamic behaviour of systems is an important topic for studying dynamical system [36], and requires solving the well-posed problem, including the existence and uniqueness of system solutions and the stability of the system [37,38]. As one of the important branches of functional analysis, operator semigroup theory is a useful tool to study the well-posedness of the abstract equation [39]. For the software system whose sojourn time in each state follows an exponential distribution [13,34,40], modelled it as a Markov chain and governed by a group of ordinary differential equations, so that the dynamical solution exists and tends to the steady-state solution. However, for the sojourn time in at least one state of the system does not follow an exponential distribution, it is debatable whether the system is still well-posed. In the real-world, the repair time usually follows a general distribution rather than an exponential distribution [18,41,42], in which case the system loses its Markovian character. Supplementary variable method can change the non-Markovian nature of the system to Markovian by introducing a new variable [43]. Moreover, [43][44][45] developed the Chapman-Kolmogorov differential equation for queueing system, Polytube industry and evaporation system, respectively, where the boundary equation is given directly. To make our model more practical, in the same context of [40], this paper will model the system and improve the system availability by means of supplementary variable method and operator semigroup theory, respectively, based on the assumption that the repair time follows a general distribution.
The rest part of this paper is organized as follows. Section 2 formulates the software rejuvenation system with periodic impulse by a group of coupled differential equations with impulsive action and transforms the system into an abstract Cauchy problem in Banach space. The existence and uniqueness of system solutions and stability of the system are investigated in section 3. Section 4 gives numerical examples to illustrate the dynamic behaviour of the system and the relationship between the system availability and impulsive indexes, which yields that the system availability can be improved by adjusting the impulsive indexes. Section 5 concludes the paper.

System formulation
In this section, we will establish the mathematical model of the software rejuvenation system with periodic impulse and transform the system into an abstract Cauchy problem. The software rejuvenation system with periodic impulse discussed in this paper has three states: good, failure probable and failure, as shown in Figure 2. For simplicity, we define XðtÞ; t � 0 as the state of the system at time t: XðtÞ; 0; normal operation state 1; failure probable state 2; failure state 8 <

:
The system from state 0 to state 1, from state 0 to state 2, and from state 1 to state 2 are exponentially distributed with rates β; α 0 ; α 1 , respectively. μðxÞ stands for the time-dependent repair rate with an elapsed repair time x when the device in state 2. ηð0 < η � 1Þ and 1 À η mean the rejuvenation rate and the non-rejuvenation rate in failure probable state, respectively.
In this model, the system in state 0 can either enter the state 1 with rate β due to software ageing or go into the state 2 with rate α 0 due to failure. The system in state 1 can fail with rate α 1 and go to state 2, or rejuvenate the device with rate η and go to state 0, or non-rejuvenate the device with rate 1 À η and still stay at state 1. In state 2, the system will be repaired and returned to state 0 with rate μðxÞ.
We make the following assumptions: μðxÞ < 1; In order to modelling the software rejuvenation system with periodic impulse, we first modelled the software system without impulse rejuvenation, namely η ¼ 0, as shown in Figure 3. Let p 0 ðtÞ stand for the probability that the device is in good state at time t; p 1 ðtÞ stand for the probability that the device is in failure probable state at time t; p 2 ðt; xÞ stand for the probability density (with respect to the repair time) that the failed device is in failure state and has an elapsed repair time of x at time t. Then, for p 0 ðt þ hÞ, we have Differentiate (2) with respect to h, dp 0 ðtÞ dt ¼ For p 1 ðt þ hÞ, we have Differentiate (4) with respect to h, dp 1 ðtÞ dt ¼ βp 0 ðtÞ À α 1 p 1 ðtÞ: For p 2 ðt; xÞ, consider the function representing the probability of failure that, at time t, have elapsed time less than or equal to x. Then, we have, for h > 0, The second term on the right in (6) gives the input of all new failure devices in the time interval ½t; t þ h�. The third term on the right of (6) gives the loss from the initial group of Nðt; xÞ and from the new failure devices, through the time interval ½t; t þ h�. By using the substitution integral method for the third term in (6), we obtain Differentiate (7) with respect to h, and set h ¼ 0, From (9), setting x ¼ 0, then and differentiating (9) with respect to x, So the system can be formulated as dp 0 ðtÞ with the boundary condition The initial values satisfy p 0 ð0Þ þ p 1 ð0Þ þ p 2 ð0; xÞ ¼ 1: Define the state space X ¼ R 2 � L 1 ½0; 1Þ with k �k X ¼ j � j þ j � jþ k �k L 1 ½0;1Þ < 1, which is obviously the Banach space, and the system operators in X and its domain as follows, Let P ðtÞ ¼ ððp 0 ðtÞ; p 1 ðtÞ; p 2 ðt; �ÞÞ T , the system (12) can be described as an abstract Cauchy problem in X: On this basis, we consider a discrete time set fτ n g; n ¼ 1; 2; � � � that is equidistant with impulse interval δ of impulsive jump instants, which satisfy Without loss of generality, we assume that "ε > 0, P ðtÞ is left continuous for t 2 ðnδ À ε; nδ�; n ¼ 1; 2; � � � . Since η represents the impulse ratio in failure probable state, we have p 0 ððnδÞ þ Þ ¼ p 0 ðnδÞ þ ηp 1 ðnδÞ; Then, which is obviously DðCÞ ¼ X.
Thus, the software rejuvenation system with periodic impulse can be expressed as,

Well-posedness of system (17)
In this subsection, we will prove the well-posedness of the software rejuvenation system with periodic impulse (17) by using operator semigroup theory.
To be self-contained, we introduce the following Theorem 3.1.
Theorem 3.1 [46]. Let A be a densely defined resolvent positive operator. If DðAÞ þ is then A is the generator of a positive C 0 -semigroup. Moreover, sðAÞ ¼ ωðAÞ.

Numerical examples
In this section, based on the Theorem 3.3, numerical examples will be presented to illustrate the dynamic behaviour of the system (17) and the relationship between the system availability and impulsive indexes, including impulse interval δ and impulse strength η.

Dynamic behaviour of the software rejuvenation system with periodic impulse
To simulate the dynamic behaviour of the software rejuvenation system with periodic impulse (17), we first analyse the dynamic behaviour of the software system without impulse rejuvenation (15) based on discrete method.
Then define impulse operator of the asymptotic system (27) as ; and let impulse strength η ¼ 0:8 and impulse interval δ ¼ 1, the dynamic behaviours of the software rejuvenation system with periodic impulse are depicted in Figure 6. Figure 6 clearly presents the interval dynamical solutions p 0 ðtÞ; p 1 ðtÞ and � p 2 ðtÞ ¼ R l 0 p 2 ðt; xÞdx of the software rejuvenation system with periodic impulse based on equation (21). From Figure 6, we find that once the interval initial values of the system are determined, the interval dynamical solutions can be obtained according to the given semigroup TðtÞ.

The relationship between the system instantaneous availability and impulsive indexes
In this subsection, we give some numerical examples to illustrate the relationship between the instantaneous availability of the system (17) and the impulsive indexes based on equation (22). Let impulse interval δ ¼ 1, Figures 7 and 8 describe the instantaneous availability of the system (17) with different impulse strength η at t 2 ½0; 6� and at t 2 ðn; n þ 1�; n ! 1, respectively. In Figure 7, we find that there exists an optimal value for time t to maximize the system instantaneous availability at a given time interval ðn; n þ 1�; n ¼ 1; 2; 3; 4; 5. As can be seen from the Figure 8, when n ! 1, the instantaneous availability is directly proportional to the impulse strength η. In addition, it is obvious that the instantaneous availability of the software rejuvenation system with periodic impulse (0 < η � 1) is significantly higher than that of the system without periodic impulse (η ¼ 0). Let impulse strength η ¼ 0:8, Figures 9 and 10 illustrate the instantaneous availability of the system (17) with different impulse interval δ. In Figure 9, we find that there exists an optimal value for time t to maximize the system instantaneous availability at a given time interval ðnδ; ðn þ 1Þδ�; n ¼ 1; 2; 3; � � � . From Figure 10, we can see that when n ! 1, the instantaneous availability is inversely proportional to the impulse interval δ.
Based on the relationship between the availability of the system (17) and impulsive indexes, that is, the instantaneous availability is directly proportional to the impulse strength η and inversely proportional to the impulse interval δ when n ! 1, we can improve the system instantaneous availability by adjusting the impulsive indexes, such as increasing the system impulse strength or decreasing the system impulse interval.
In addition, a brief description of the algorithm in this section is given as follows:  � Step 3: The dynamical behaviour of the software system without impulse rejuvenation can be depicted by calculating P m ðtÞ ¼ e ðAþBÞ m tP 0 . � Step 4: Input impulse operator C m , then the dynamical behaviour of the software rejuvenation system with periodic impulse can be depicted based on equation (21).
� Step 5: Instantaneous availability with different impulse strength and impulse interval of the software rejuvenation system with periodic impulse can be depicted according to equation (22).

Conclusion
This paper discussed the modelling and dynamic behaviour of the software rejuvenation system with periodic impulse under the assumption that the repair time follows a general distribution. In the system modelling, the elapsed repair time x as a parameter was introduced into the software system without impulse rejuvenation, and the system was then modelled as a set of coupled differential equations by using the supplementary variable method, where the boundary condition of the equations can be derived. On this basis, a group of coupled differential equations with impulsive action can be used to model the software rejuvenation system with periodic impulse after considering the equidistant impulses. Moreover, the equations of the software rejuvenation system without or with periodic impulse were transformed into an abstract Cauchy problem.
It is well known that operator semigroup theory is a useful tool to study the wellposedness of abstract equation. In the theoretical part, the well-posedness of the software rejuvenation system with periodic impulse, as an important theoretical basis for studying the impulse system behaviour, is analysed using operator semigroup theory, in which the existence and uniqueness of the system solution was proved by the theory of cofinal and resolvent positive operator, and the interval asymptotic stability of the system was obtained by analysing the spectral distribution of the operator ðI þ CÞTðδÞ. In addition, the expression of the system instantaneous availability is given.
In the numerical examples, we took the virtual machine as an example to depict the dynamic behaviour of the software rejuvenation system with periodic impulse and the relationship between the system availability and impulsive indexes. It is shown that the instantaneous availability is directly proportional to the impulse strength and inversely proportional to the impulse interval when n ! 1. Therefore, the impulse strength and impulse interval can be used as effective tools to improve the system availability.

Disclosure statement
No potential conflict of interest was reported by the authors. Appendix A: Prove that the system operator AþB is the generator of a positive C 0 -semigroup TðtÞ Firstly, we prove that DðA þ BÞ is dense in X. To this end, we prove that fγ 2 CjReγ > 0orγ ¼ ia; a 2 Rnf0gg belongs to the resolvent set of the system operator A þ B. For any Reγ > 0 or γ ¼ ia; a 2 Rnf0g;G ¼ ðg 0 ; g 1 ; g 2 ðxÞÞ T 2 X, consider the resolvent equation