WO2013146252A1 - ソフトウェア延命時期決定システム、ソフトウェア延命時期決定方法、およびプログラム - Google Patents

ソフトウェア延命時期決定システム、ソフトウェア延命時期決定方法、およびプログラム Download PDF

Info

Publication number
WO2013146252A1
WO2013146252A1 PCT/JP2013/056957 JP2013056957W WO2013146252A1 WO 2013146252 A1 WO2013146252 A1 WO 2013146252A1 JP 2013056957 W JP2013056957 W JP 2013056957W WO 2013146252 A1 WO2013146252 A1 WO 2013146252A1
Authority
WO
WIPO (PCT)
Prior art keywords
software
state model
life extension
state
software life
Prior art date
Application number
PCT/JP2013/056957
Other languages
English (en)
French (fr)
Inventor
文雄 町田
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2013546520A priority Critical patent/JP5445726B1/ja
Priority to US14/122,148 priority patent/US20150347210A1/en
Publication of WO2013146252A1 publication Critical patent/WO2013146252A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

Definitions

  • the present invention relates to a software life extension time determination system, a software life extension time determination method, and a program.
  • An aging bug is known as a typical example of a software bug that occurs in the operation stage.
  • An aging bug is a bug that causes a deterioration phenomenon in the execution environment of software due to long-term continuous operation of software, and causes a significant performance degradation and system failure.
  • a bug in which memory consumption gradually increases due to continuous operation for a long time and a memory leak occurs is a kind of aging bug.
  • Another example of an aging bug is that the counter value in the program overflows beyond the limit value due to long-term continuous operation.
  • Patent Literature 1 and Patent Literature 2 describe software rejuvenation.
  • the software rejuvenation described in Patent Documents 1 and 2 is a technique that prevents failures and performance degradation by returning the operating environment of software that deteriorates due to aging to an initial state by reboot or reset. Specifically, it is often implemented by restarting an application server that runs software or an operating system (OS). Software rejuvenation can avoid or postpone IT system failures due to aging bugs. However, since it is necessary to stop and restart the software in the operating state, if the software is rejuvenated unnecessarily, the operating rate of the system is lowered.
  • an object of the present invention is to implement an optimum software aging countermeasure in consideration of both system availability (operation rate) and performance.
  • a software life extension time determination system includes an aging state model storage unit that stores a first state model representing a software state change due to software aging, and a second state that represents a software state change due to software life extension processing.
  • a software life extension state model storage unit for storing a model, a parameter input unit for receiving parameter values of the first state model and the second state model, and an evaluation for determining performance and availability values targeted by the system
  • An evaluation function storage unit for storing a function; a state model analysis unit for analyzing the first state model and the second state model using the parameter value and the evaluation function;
  • a software life extension time determination unit that determines whether or not to perform software life extension processing based on the analysis results of the first state model and the second state model.
  • a software life extension time determination system includes an aging state model storage unit that stores a first state model representing a software state change due to software aging, and a second state that represents a software state change due to software life extension processing.
  • a software life extension state model storage unit for storing a model; an evaluation function storage unit for storing an evaluation function for determining performance and availability values targeted by the system; the first state model; and the second state model;
  • a software life extension determination formula derivation unit that derives a software life extension determination formula based on the evaluation function, a parameter input unit that receives input of parameter values of the first state model and the second state model, and the parameter Software life extension processing is executed using the value and the software life extension judgment formula.
  • software survival time determination unit that determines the power sale period, but with a.
  • the software life extension time determination method includes a first state model representing a change in software state due to software aging, a second state model representing a change in software state due to a software life extension process, and the first state model. And a parameter value of the second state model and an evaluation function that determines performance and availability values targeted by the system, and the first state model and the second state model And a step of determining whether to perform software life extension processing based on the analysis result.
  • a program includes an aging state model storage unit that stores a first state model that represents a software state change due to software aging, and a second state model that represents a software state change due to software life extension processing.
  • Software life extension state model storage unit a parameter input unit for receiving parameter values of the first state model and the second state model, and an evaluation function for determining performance and availability values targeted by the system Using the parameter value and the evaluation function, the state model analysis unit for analyzing the first state model and the second state model, the first state model, and the Based on the analysis result of the second state model, it is determined whether or not software life extension processing is to be performed.
  • software survival time determination unit which is intended for causing to function.
  • FIG. 1 is a block diagram showing a configuration of a software life extension time determination system 10 according to Embodiment 1 of the present invention.
  • the software life extension time determination system 10 includes an aging state model storage unit 101, a software life extension state model storage unit 102, a parameter input unit 103, an evaluation function storage unit 104, a state model analysis unit 105, a software life extension time.
  • a determination unit 106 and a software life extension processing policy storage unit 107 are provided.
  • the software life extension time determination system 10 uses a dedicated or general-purpose computer having a CPU, a memory such as a ROM and a RAM, an external storage device for storing various information, an input interface, an output interface, a communication interface, and a bus connecting them. be able to.
  • the software life extension time determination system 10 may be configured by a single computer or may be configured by a plurality of computers connected to each other via a communication line.
  • the parameter input unit 103, the state model analysis unit 105, and the software life extension time determination unit 106 correspond to modules of functions realized by the CPU executing a predetermined program stored in a ROM or the like.
  • the aging state model storage unit 101, the software life extension state model storage unit 102, the evaluation function storage unit 104, and the software life extension processing policy storage unit 107 are implemented by an external storage device.
  • the aging state model storage unit 101 stores a model that captures state changes due to software aging.
  • the software life extension state model storage unit 102 stores a model that captures the behavior of software life extension processing.
  • the parameter input unit 103 receives input of model parameters such as a software failure rate and a recovery rate.
  • the evaluation function storage unit 104 stores an evaluation function for determining values of availability and performance targeted by the system.
  • the state model analysis unit 105 analyzes a transient state or a steady state of the state model, and obtains an evaluation function value based on the input parameter value.
  • the software life extension time determination unit 106 determines the execution of software life extension processing based on the result of the state model analysis.
  • the software life extension processing policy storage unit 107 stores a software life extension processing policy that holds the result determined by the software life extension time determination unit 106.
  • software life extension is a method for dealing with aging bugs.
  • Software rejuvenation prevents failures and performance degradation by restoring the software operating environment to the initial state by rebooting or resetting, while software life extension delays failures while maintaining the system operating state as much as possible. It is a technique to make it.
  • the process of reducing the workload and suppressing the increase in memory consumption and prolonging the time until the memory leak is a software life extension process. It is an example.
  • Such software life extension processing can be used in a therapeutic manner in the operation management of the software system, but it is desirable to use it systematically in consideration of system availability (operation rate) and performance. That is, when considering the availability and performance of the system, it is important to determine at which point the software life extension process is to be performed.
  • life extension processing involves costs such as a reduction in workload processing capacity and the addition of additional resources, so it is not appropriate to run software in a degenerate state (or overspecial state) for life extension from the beginning. Absent.
  • the failure rate of the system increases as the operating time continues, it is desirable to shift to a degenerated state (or add resources) at any point in time. As described above, it is desirable that the software life extension processing is performed at the most effective timing from the viewpoint of system availability and performance.
  • the state model analysis unit 105 acquires the evaluation function F from the evaluation function storage unit 104 (FIG. 2, step 1001).
  • the state model analysis unit 105 reads parameter values necessary for analysis via the parameter input unit 103 (step 1002).
  • the parameter value includes at least a software failure rate, an aging rate, a recovery rate, a life extension process execution rate, and a failure rate after the life extension process.
  • the state model analysis unit 105 acquires an aging state model from the aging state model storage unit 101 (step 1003), and analyzes the state model using the input parameter value (step 1004). For example, in a steady state analysis, a method of directly analyzing simultaneous equations, a method of numerical analysis using an iterative solution method, a method of analyzing by discrete event simulation, and the like can be applied.
  • the evaluation function value Fa in the aging state model is obtained by the state model analysis (step 1005).
  • the state model analysis unit 105 acquires a software life extension state model from the software life extension state model storage unit 102 (step 1006), and analyzes the state model in the same manner as step 1004 (step 1007).
  • An evaluation function value Fb is obtained by analysis (step 1008).
  • the state model analysis unit 105 compares the evaluation function values Fa and Fb (step 1009). If Fb is larger than Fa (Yes), the state model analysis unit 105 determines that the software life extension process is valid, and sets the software life extension process policy. It is set and stored in the software life extension processing policy storage unit 107 (step 1010).
  • the software life extension process is effective from the viewpoint of system availability (operation rate) and performance.
  • FIG. FIG. 3 is a flowchart of the operation of the software life extension time determination system 10 according to the second embodiment of the present invention.
  • variable parameters include software life extension execution rate (number of times software life extension processing is executed per unit time) and average software life extension processing execution interval.
  • the state model analysis unit 105 sequentially sets parameter values xi (1 ⁇ i ⁇ n) within the input domain X, and derives an evaluation function value Fb (xi) by state model analysis ( Steps 1023-1025). Steps 1023 to 1025 are repeated for all xi in the domain X (steps 1026 and 1027).
  • xi that maximizes the evaluation function value is obtained, and the value of i at this time is set to iopt (step 1028). Further, a software life extension processing policy for executing software life extension processing is set based on xiopt (step 1029).
  • an average software life extension process execution interval is obtained from the reciprocal of the rate, and a policy for executing the software life extension process is set based on the execution interval.
  • the software life extension process is performed by obtaining the optimum parameter value xiopt that maximizes or minimizes the target index by the state model analysis from the variable parameter domain indicating the life extension time. Since it is implemented, it is possible to determine the software life extension processing timing that optimizes system availability and performance.
  • FIG. FIG. 4 is a block diagram showing the configuration of the software life extension time determination system 30 according to the third embodiment of the present invention.
  • the same reference numerals as those in FIG. 1 represent similar components.
  • the software life extension time determination system 30 is different from the first embodiment in that a software life extension determination formula deriving unit 108 and a software life extension determination formula storage unit 109 are provided.
  • the software life extension determination formula deriving unit 108 is based on the aging state model acquired from the aging state model 101, the software life extension state model acquired from the software life extension state model storage unit 102, and the evaluation function acquired from the evaluation function storage unit 104.
  • the software life extension determination formula is derived and stored in advance, and is stored in the software life extension determination formula storage unit 109.
  • the software life extension time determination unit 106 determines the software life extension time based on the parameter value read via the parameter input unit 103 and the software life extension determination formula acquired from the software life extension determination formula storage unit 109.
  • the software life extension determination formula deriving unit 108 acquires the evaluation function F from the evaluation function storage unit 104 (FIG. 5, Step 2001), and acquires the aging state model from the aging state model storage unit 101 (Step 2002).
  • the software life extension judgment formula deriving unit 108 derives an evaluation function in the aging state model by formula analysis (step 2003).
  • the software life extension determination formula deriving unit 108 acquires the software life extension state model from the software life extension state model storage unit 102 (step 2004), and derives the analysis result Fb ( ⁇ ) of the evaluation function as in step 2003. (Step 2005).
  • the software life extension determination formula deriving unit 108 compares Fa ( ⁇ ) and Fb ( ⁇ ), derives a condition ⁇ x ( ⁇ ) for ⁇ such that Fa ( ⁇ ) ⁇ Fb ( ⁇ ), and determines the software life extension determination formula.
  • the data is stored in the storage unit 109 (step 2006).
  • the above processing can be performed in advance even before determining the software life extension processing time, that is, even when the parameter value is unknown.
  • the software life extension time determination unit 106 refers to the software life extension determination formula ⁇ x ( ⁇ ) (FIG. 6, step 2007).
  • the parameter value is read via the parameter input unit 103 (step 2008), and is input to the determination formula ⁇ x ( ⁇ ) for determination (step 2009).
  • a software life extension process execution policy is set (step 2010). If the condition is not satisfied, the life extension process is not performed (step 2011).
  • the conditions for enabling the software life extension process and the conditions for the parameter values for performing the optimum life extension process are derived and stored in advance by the expression analysis. For this reason, when determining the effectiveness of the life extension process, the determination process can be simplified if a parameter value is given, so that the determination process can be simplified. Moreover, in this embodiment, since the effectiveness of the life extension process can be determined only by the parameter value, the derived determination formula can be reused as a determination criterion in various systems.
  • FIG. 7 is a block diagram showing a configuration of the software life extension time determination system 40 according to the fourth embodiment of the present invention.
  • the software life extension time determination system 40 includes a software rejuvenation state model storage unit 110, an aging countermeasure determination unit 111, and a software rejuvenation processing policy storage unit 112. Is different.
  • the state model analysis unit 105 derives the evaluation functions Fa and Fb using the aging state model and the software life extension state model as in the first embodiment. Further, the state model analysis unit 105 acquires a software rejuvenation state model from the software rejuvenation state model storage unit 110, and derives a value Fc of the evaluation function F based on the input parameters.
  • the aging countermeasure determining unit 111 determines whether to extend software life or perform software rejuvenation from the evaluation of the magnitude relationship of Fa, Fb, Fc, or neither Determine. Depending on the status of the system, it may be more effective to perform software rejuvenation than to software life extension processing.
  • an effective means for dealing with software aging is determined in consideration of the software rejuvenation state model, so that aging countermeasures that are more effective in terms of system availability and performance are determined.
  • the means can be determined.
  • FIG. FIG. 8 is a block diagram showing a configuration of the software life extension time determination system 50 according to the fifth embodiment of the present invention.
  • the same reference numerals as those in FIG. 1 represent similar components.
  • the software life extension time determination system 50 is different from the first embodiment in that it includes a software operating state monitoring unit 113, a software execution device 114, and a software life extension processing execution unit 115.
  • the software execution device 114 is a device that executes software having a deterioration phenomenon due to aging, and the software operation state monitoring unit 113 monitors the operation state of the software in the software execution device 114.
  • the software operating state monitoring unit 113 determines a parameter value to be input to the model from monitoring information statistics, and supplies the parameter value to the parameter input unit 103.
  • the software life extension processing execution unit 115 refers to the software life extension processing policy set by the software life extension time determination unit 106 and performs software life extension processing on the software execution device 114 at the timing specified by the policy.
  • the software life extension process includes a load applied to software and a workload, a dynamic resource addition, a transition to a specified degenerate configuration, and the like.
  • the parameter value is determined based on the monitoring information of the operating software, and whether or not the software life extension process can be performed is determined dynamically. The effectiveness of the software life extension process can be determined.
  • FIG. 9 is an example in which a software aging state model is expressed using a continuous-time Markov chain (CTMC).
  • CTMC continuous-time Markov chain
  • the circle represents a state
  • the arrow represents a state transition path
  • the time taken for the state transition follows an exponential distribution with a labeled value as a parameter value.
  • State UP represents a normal operating state of software
  • state FP represents a state deteriorated by software aging
  • a state F represents a state in which a software failure has occurred due to the progress of aging.
  • Parameter values representing rates such as ⁇ 1, ⁇ 2, and ⁇ are equivalent to the inverse of the average transition time, and can be obtained from the software average aging state transition time, the average failure time, and the average recovery time.
  • the software operating state is the state UP and the state FP.
  • the availability of the system is expressed as the sum of the probability that this software is in the state UP and the probability that the software is in the state FP.
  • the probability of the state UP in the steady state PaiUP if indicated the probability of state FP and PaiFP, availability A N is determined by ⁇ UP + ⁇ FP.
  • the values of ⁇ UP and ⁇ FP can be obtained by steady state analysis of CTMC.
  • FIG. 10 is a diagram showing an example in which the behavior of software life extension processing is modeled by CTMC.
  • CTMC the software aging state model
  • it has a state LP after the life extension process is performed.
  • the state FP is transited to the state LP at the rate of ⁇
  • the state F is transited at the rate of ⁇ 3.
  • state LP state is also one of the software operation status
  • availability A L systems obtained by ⁇ UP + ⁇ FP + ⁇ LP.
  • values of ⁇ UP and ⁇ FP are different from the values of ⁇ UP and ⁇ FP of the software aging state model.
  • CTMC steady state analysis methods include a method of analytically solving a state equation, a method of solving by numerical analysis using an iterative method, and a method of solving by discrete time simulation.
  • an example of an analytical solution is shown.
  • a N and A L are respectively determined as shown in Equation 1 below.
  • ⁇ 3 ⁇ ⁇ 2 indicates that the software failure rate after the life extension process is smaller than the failure rate when the life extension process is not performed, and is consistent with intuitive judgment.
  • a model representing software aging or a model representing life extension processing is more complex, or when an evaluation function includes performance or cost, it is not always possible to make an intuitive determination.
  • FIG. 11 shows an example in which the state transition of software aging is modeled by a semi-Markov process (SMP).
  • State U represents an operating state
  • state F represents a software failure state.
  • the state transition time from the state U to the state F follows the probability distribution F f (t), and the state transition time representing the recovery from the state F to the state U follows the probability distribution F r (t).
  • Software failure has a failure rate that gradually increases due to aging, so a probability distribution of a type in which the failure rate increases with time (for example, a hypo-exponential distribution) is used.
  • the availability of this system is represented by the probability of being in the state U in a steady state and can be determined by the following equation.
  • FIG. 12 is a diagram showing an example in which the behavior of this system is modeled by SMP.
  • the model of FIG. 12 in addition to the software aging SMP model, the model has a state L after software life extension processing is performed.
  • the state transition time from the state U to the state L follows the probability distribution F pr (t), and the state transition time from the state L to the state F follows the probability distribution F f2 (t).
  • F pr the probability distribution
  • F f2 the probability distribution from the state U to the state L
  • An aging state model storage unit that stores a first state model representing software state change due to software aging;
  • a software life extension state model storage unit for storing a second state model representing a software state change due to software life extension processing;
  • a parameter input unit for receiving input of parameter values of the first state model and the second state model;
  • An evaluation function storage unit for storing an evaluation function for determining performance and availability values targeted by the system;
  • a state model analysis unit that analyzes the first state model and the second state model using the parameter value and the evaluation function;
  • a software life extension time determination system comprising: a software life extension time determination unit that determines whether or not to perform software life extension processing based on an analysis result of the first state model and the second state model.
  • An aging state model storage unit that stores a first state model representing software state change due to software aging;
  • a software life extension state model storage unit for storing a second state model representing a software state change due to software life extension processing;
  • An evaluation function storage unit for storing an evaluation function for determining performance and availability values targeted by the system;
  • a software life extension determination formula deriving unit for deriving a software life extension determination formula based on the first state model, the second state model, and the evaluation function;
  • a parameter input unit for receiving input of parameter values of the first state model and the second state model;
  • a software life extension time determination system comprising: a software life extension time determination unit that determines a time for performing software life extension processing using the parameter value and the software life extension determination formula.
  • Appendix 4 The software life extension time determination system according to any one of appendices 1 to 3, A software execution device for executing the software; A software operating state monitoring unit that monitors the operating state of the software in the software execution device and determines the parameter value based on the operating state; A software life extension time determination system further comprising: a software life extension processing execution unit that performs software life extension processing determined by the software life extension time determination system for the software execution device.
  • An aging state model storage unit for storing a first state model representing software state change due to software aging;
  • a software life extension state model storage unit for storing a second state model representing a software state change due to software life extension processing;
  • a parameter input unit for receiving input of parameter values of the first state model and the second state model;
  • An evaluation function storage unit for storing an evaluation function for determining performance and availability values targeted by the system;
  • a state model analysis unit that analyzes the first state model and the second state model using the parameter value and the evaluation function;
  • a program for functioning as a software life extension time determination unit that determines whether to perform software life extension processing based on the analysis results of the first state model and the second state model.
  • the present invention can be applied to a highly reliable design tool for a system for operating software continuously for a long period of time. It can also be applied to a system management tool that monitors the operating status of software and performs appropriate management operations.
  • Software life extension time determination system 101 Aging state model storage unit, 102 Software life extension state model storage unit, 103 Parameter input unit, 104 Evaluation function storage unit, 105 State model analysis unit, 106 Software life extension time determination 107, software life extension processing policy storage unit, 108 software life extension determination formula derivation unit, 109 software life extension determination formula storage unit, 110 software rejuvenation state model storage unit, 111 aging countermeasure determination unit, 112 software rejuvenation processing policy storage unit, 113 Software operation state monitoring unit, 114 Software execution device, 115 Software life extension processing execution unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

ソフトウェアのエージングによるソフトウェアの状態変化を表す第1の状態モデルを格納するエージング状態モデル記憶部と、ソフトウェア延命処理によるソフトウェアの状態変化を表す第2の状態モデルを格納するソフトウェア延命状態モデル記憶部と、第1の状態モデルおよび第2の状態モデルのパラメタ値の入力を受けるパラメタ入力部と、システムが目標とする性能や可用性の値を定める評価関数を格納する評価関数記憶部と、パラメタ値と評価関数を用いて、第1の状態モデルおよび第2の状態モデルを解析する状態モデル解析部と、第1の状態モデルおよび第2の状態モデルの解析結果に基づいてソフトウェア延命処理の実施を行うか否かを判定するソフトウェア延命時期決定部とを備える。

Description

ソフトウェア延命時期決定システム、ソフトウェア延命時期決定方法、およびプログラム
 本発明は、ソフトウェア延命時期決定システム、ソフトウェア延命時期決定方法、およびプログラムに関する。
 ソフトウェアのバグは、ITシステムの障害を引き起こす主要な要因の一つである。ソフトウェアの開発やテスト段階で完全にバグを取り除くことは難しく、運用段階においてソフトウェアのバグに起因したシステム障害が発生することは稀ではない。
 運用段階において発生するソフトウェアバグの典型例としてエージングバグが知られている。エージングバグとは、ソフトウェアの長期連続稼働により、ソフトウェアの実行環境に劣化現象を生じるバグであり、大幅な性能低下やシステム障害の原因となる。例えば、長時間連続稼働によってメモリ消費量が徐々に増え、メモリリークを生じるバグはエージングバグの一種である。また、プログラム内で持つカウンタの値が長時間の連続稼働によって制限値を超えてオーバーフローする例も、エージングバグの一種として捉えられる。
 このようなエージングバグは、ソフトウェア単体でのテストでは発見が容易ではなく、ソフトウェアの運用段階に入ってから顕在化する場合が多い。ITシステムとして統合されてからバグが発現すると、システム停止や性能低下などの問題を生じるばかりでなく、バグの発見や除去自体が難しくなる。
 エージングバグに対するソフトウェア運用時の対処法の例として、特許文献1や特許文献2には、ソフトウェア若化について記載されている。
特開平08-095814号公報 特許3737695号公報
 特許文献1,2に記載されているソフトウェア若化は、エージングにより劣化するソフトウェアの稼働環境をリブートやリセットによって初期状態に戻すことにより、障害や性能低下を未然に防ぐ技術である。具体的にはソフトウェアを稼働させるアプリケーションサーバやオペレーティングシステム(OS)の再起動などによって実施されることが多い。ソフトウェア若化により、エージングバグによるITシステムの障害を回避あるいは延期できる。しかし、稼働状態にあるソフトウェアを一端停止して再稼働させる必要があるため、不必要にソフトウェア若化を実施するとシステムの稼働率の低下を招く。
 そこで、本発明の目的は、システムの可用性(稼働率)と性能の両方を考慮して、最適なソフトウェアエージング対策を実施することである。
 本発明に係るソフトウェア延命時期決定システムは、ソフトウェアのエージングによるソフトウェアの状態変化を表す第1の状態モデルを格納するエージング状態モデル記憶部と、ソフトウェア延命処理によるソフトウェアの状態変化を表す第2の状態モデルを格納するソフトウェア延命状態モデル記憶部と、前記第1の状態モデルおよび前記第2の状態モデルのパラメタ値の入力を受けるパラメタ入力部と、システムが目標とする性能や可用性の値を定める評価関数を格納する評価関数記憶部と、前記パラメタ値と前記評価関数を用いて、前記第1の状態モデルおよび前記第2の状態モデルを解析する状態モデル解析部と、
 前記第1の状態モデルおよび前記第2の状態モデルの解析結果に基づいてソフトウェア延命処理の実施を行うか否かを判定するソフトウェア延命時期決定部と、を備えたものである。
 本発明に係るソフトウェア延命時期決定システムは、ソフトウェアのエージングによるソフトウェアの状態変化を表す第1の状態モデルを格納するエージング状態モデル記憶部と、ソフトウェア延命処理によるソフトウェアの状態変化を表す第2の状態モデルを格納するソフトウェア延命状態モデル記憶部と、システムが目標とする性能や可用性の値を定める評価関数を格納する評価関数記憶部と、前記第1の状態モデルと、前記第2の状態モデルと、前記評価関数に基づいて、ソフトウェア延命判定式を導出するソフトウェア延命判定式導出部と、前記第1の状態モデルおよび前記第2の状態モデルのパラメタ値の入力を受けるパラメタ入力部と、前記パラメタ値と前記ソフトウェア延命判定式を用いて、ソフトウェア延命処理の実施を行う時期を決定するソフトウェア延命時期決定部と、を備えたものである。
 本発明に係るソフトウェア延命時期決定方法は、ソフトウェアのエージングによるソフトウェアの状態変化を表す第1の状態モデル、およびソフトウェア延命処理によるソフトウェアの状態変化を表す第2の状態モデル、前記第1の状態モデルおよび前記第2の状態モデルのパラメタ値と、システムが目標とする性能や可用性の値を定める評価関数と、を用いて解析する工程と、前記第1の状態モデルおよび前記第2の状態モデルの解析結果に基づいてソフトウェア延命処理の実施を行うか否かを判定する工程と、を備えたものである。
 本発明に係るプログラムは、コンピュータを、ソフトウェアのエージングによるソフトウェアの状態変化を表す第1の状態モデルを格納するエージング状態モデル記憶部と、ソフトウェア延命処理によるソフトウェアの状態変化を表す第2の状態モデルを格納するソフトウェア延命状態モデル記憶部と、前記第1の状態モデルおよび前記第2の状態モデルのパラメタ値の入力を受けるパラメタ入力部と、システムが目標とする性能や可用性の値を定める評価関数を格納する評価関数記憶部と、前記パラメタ値と前記評価関数を用いて、前記第1の状態モデルおよび前記第2の状態モデルを解析する状態モデル解析部と、前記第1の状態モデルおよび前記第2の状態モデルの解析結果に基づいてソフトウェア延命処理の実施を行うか否かを判定するソフトウェア延命時期決定部と、して機能させるためのものである。
 本発明によれば、システムの稼働率と性能の両方を考慮して、最適なソフトウェアエージング対策を実施することができる。
本発明の実施の形態1による、ソフトウェア延命時期決定システムの構成を示すブロック図。 本発明の実施の形態1による、ソフトウェア延命時期決定システムの動作のフローチャート。 本発明の実施の形態2による、ソフトウェア延命時期決定システムの動作のフローチャート。 本発明の実施の形態3による、ソフトウェア延命時期決定システムの構成を示すブロック図。 本発明の実施の形態3による、ソフトウェア延命時期決定システムの動作のフローチャート。 本発明の実施の形態3による、ソフトウェア延命時期決定システムの動作のフローチャート。 本発明の実施の形態4による、ソフトウェア延命時期決定システムの構成を示すブロック図。 本発明の実施の形態5による、ソフトウェア延命時期決定システムの構成を示すブロック図。 本発明の実施例を説明する図。 本発明の実施例を説明する図。 本発明の実施例を説明する図。 本発明の実施例を説明する図。
実施の形態1.
 次に、本発明を実施するための形態について、図面を参照して詳細に説明する。
 図1は、本発明の実施の形態1によるソフトウェア延命時期決定システム10の構成を示すブロック図である。図1に示すように、ソフトウェア延命時期決定システム10は、エージング状態モデル記憶部101、ソフトウェア延命状態モデル記憶部102、パラメタ入力部103、評価関数記憶部104、状態モデル解析部105、ソフトウェア延命時期決定部106、およびソフトウェア延命処理ポリシ記憶部107を備えている。
 ソフトウェア延命時期決定システム10は、CPU、ROMやRAM等のメモリ、各種の情報を格納する外部記憶装置、入力インタフェース、出力インタフェース、通信インタフェース及びこれらを結ぶバスを備える専用又は汎用のコンピュータを適用することができる。なお、ソフトウェア延命時期決定システム10は、単一のコンピュータにより構成されるものであっても、通信回線を介して互いに接続された複数のコンピュータにより構成されるものであってもよい。
 パラメタ入力部103、状態モデル解析部105、ソフトウェア延命時期決定部106は、CPUがROM等に格納された所定のプログラムを実行することにより実現される機能のモジュールに相当する。エージング状態モデル記憶部101、ソフトウェア延命状態モデル記憶部102、評価関数記憶部104、ソフトウェア延命処理ポリシ記憶部107は、外部記憶装置により実装される。
 エージング状態モデル記憶部101は、ソフトウェアのエージングによる状態変化を捉えたモデルを格納している。
 ソフトウェア延命状態モデル記憶部102は、ソフトウェア延命処理の振る舞いを捉えたモデルを格納している。
 パラメタ入力部103は、ソフトウェア障害率や復旧率などのモデルのパラメタの入力を受ける。
 評価関数記憶部104は、システムが目標とする可用性や性能の値を定めるための評価関数を格納している。
 状態モデル解析部105は、状態モデルの過渡状態や定常状態を解析し、入力されたパラメタの値に基づいて評価関数の値を求める。
 ソフトウェア延命時期決定部106は、状態モデル解析の結果に基づいてソフトウェア延命処理の実施を判定する。
 ソフトウェア延命処理ポリシ記憶部107は、ソフトウェア延命時期決定部106が決定した結果を保持するソフトウェア延命処理ポリシを格納する。
 ここで、ソフトウェア延命とはエージングバグに対する対処方法である。ソフトウェア若化が、ソフトウェアの稼働環境をリブートやリセットによって初期状態に戻すことにより、障害や性能低下を未然に防ぐのに対し、ソフトウェア延命は、システムの稼働状態をできるだけ維持しつつ、障害を先送りさせる手法である。
 例えば、メモリ消費量の増加がソフトウェアにかかるワークロードに依存する場合、ワークロードを削減することでメモリ消費量の増加を抑制してメモリリークに至る時間を先延ばしする処理は、ソフトウェア延命処理の一例である。
 また、仮想化技術によって実現された仮想サーバ上では、動的にメモリ容量を追加することが可能であるため、メモリの一時的な追加によってメモリリークの障害を先延ばしすることもソフトウェア延命処理の一例である。
 このようなソフトウェア延命処理は、ソフトウェアシステムの運用管理において対処療法的に利用することができるが、システムの可用性(稼働率)や性能を考慮して計画的に利用することが望ましい。すなわち、システムの可用性や性能を考慮した場合には、どの時点でソフトウェア延命処理を実施するかの判断が重要である。
 具体的には、延命処理はワークロード処理量の低下や追加リソースの投入などのコストを伴うため、初めから延命のための縮退状態(あるいはオーバースペックな状態)でソフトウェアを稼働させることは適当ではない。一方、稼働時間の継続に伴ってシステムの故障率は高まるため、何れかの時点において縮退状態へ移行(あるいはリソースを追加)することが望ましい。このように、ソフトウェアの延命処理は、システムの可用性や性能の観点からもっとも効果的なタイミングで実施するのが望ましい。
 次に、図2を用いてソフトウェア延命時期決定システム10の動作について説明する。
 まず、状態モデル解析部105は、評価関数記憶部104から評価関数Fを取得する(図2、ステップ1001)。
 次に、状態モデル解析部105は、パラメタ入力部103を介して解析のために必要なパラメタ値を読み込む(ステップ1002)。パラメタ値は、少なくとも、ソフトウェアの障害率、エージングレート、復旧率、延命処理実行レート、および延命処理後の障害率を含む。
 次に、状態モデル解析部105は、エージング状態モデル記憶部101からエージング状態モデルを取得し(ステップ1003)、入力されたパラメタ値を用いて状態モデルの解析を行う(ステップ1004)。例えば、定常状態の解析では、連立方程式を直接式解析する方法や、反復解法を用いて数値解析する方法や、離散事象シミュレーションによって解析する方法などが適用できる。状態モデル解析により、エージング状態モデルにおける評価関数値Faを求める(ステップ1005)。
 次に、状態モデル解析部105は、ソフトウェア延命状態モデル記憶部102からソフトウェア延命状態モデルを取得し(ステップ1006)、ステップ1004と同様に状態モデルの解析を行う(ステップ1007)。
 状態モデルの解析には、エージング状態モデルの解析で用いた手法と同じ手法を用いる。解析により評価関数値Fbを求める(ステップ1008)。次に、状態モデル解析部105は、評価関数値FaとFbを比較し(ステップ1009)、FbがFaよりも大きければ(Yes)ソフトウェア延命処理が有効であると判断し、ソフトウェア延命処理ポリシを設定してソフトウェア延命処理ポリシ記憶部107に格納する(ステップ1010)。
 より小さな評価関数値Fが望ましい場合は、FbがFaより小さい場合にソフトウェア延命処理が有効であると判断する。ソフトウェア延命処理が有効でない場合は、ソフトウェア延命処理を実施しない(ステップ1011)。
 以上のように、本実施形態によれば、エージング状態モデルの状態モデル解析結果Faと、ソフトウェア延命状態モデルの状態モデル解析結果Fbとの比較結果に基づいて、ソフトウェア延命を行うか否かを判定するようにしたので、システムの可用性(稼働率)や性能の観点からソフトウェア延命処理が有効かどうかを判定することができる。
実施の形態2.
 図3は本発明の実施の形態2によるソフトウェア延命時期決定システム10の動作のフローチャートである。
 実施の形態2では、まず、状態モデル解析部105は、パラメタ入力部103を介して延命時期を表す可変パラメタの定義域X=(x1,x2,… ,xn)を読み込む(ステップ1021)。可変パラメタの例としては、ソフトウェア延命実行レート(単位時間あたりのソフトウェア延命処理実行回数)や平均ソフトウェア延命処理実施間隔などがある。
 次に、状態モデル解析部105は、入力された定義域Xの範囲でパラメタ値xi(1≦i≦n)を順番に設定し、状態モデル解析によって評価関数値Fb(xi)を導出する(ステップ1023~1025)。定義域X内の全てのxiについてステップ1023~1025を繰り返す(ステップ1026,1027)。
 全てのxiについて評価関数値Fb(xi)を導出したら、評価関数値が最大となるxiを求め、このときのiの値をioptとする(ステップ1028)。さらに、xioptに基づいてソフトウェア延命処理を実行するソフトウェア延命処理ポリシを設定する(ステップ1029)。
 例えば、パラメタxiがソフトウェア延命処理実行レートを表す場合は、レートの逆数から平均ソフトウェア延命処理実行間隔を求め、この実行間隔に基づいてソフトウェア延命処理を実行するポリシを設定する。
 以上のように、本実施形態によれば、延命時期を表す可変パラメタの定義域から、状態モデル解析により目標とする指標を最大化あるいは最小化する最適なパラメタ値xioptを求めてソフトウェア延命処理を実施するようにしたので、システムの可用性や性能を最適化するソフトウェア延命処理時期を決定することができる。
実施の形態3.
 図4は、本発明の実施の形態3によるソフトウェア延命時期決定システム30の構成を示すブロック図である。図1と同一の符号は同様の構成要素を表している。
 図4に示すように、ソフトウェア延命時期決定システム30は、ソフトウェア延命判定式導出部108と、ソフトウェア延命判定式記憶部109を備えている点が実施の形態1と異なっている。
 ソフトウェア延命判定式導出部108は、エージング状態モデル101から取得したエージング状態モデルと、ソフトウェア延命状態モデル記憶部102から取得したソフトウェア延命状態モデル、および評価関数記憶部104から取得した評価関数に基づいて、事前にソフトウェア延命判定式を導出して格納し、ソフトウェア延命判定式記憶部109に格納しておく。ソフトウェア延命時期決定部106は、パラメタ入力部103を介して読み込んだパラメタ値とソフトウェア延命判定式記憶部109から取得したソフトウェア延命判定式に基づいて、ソフトウェア延命時期を決定する。
 図5、図6を用いてソフトウェア延命時期決定システム30の動作について説明する。
 まず、ソフトウェア延命判定式導出部108は、評価関数記憶部104から評価関数Fを取得し(図5、ステップ2001)、エージング状態モデル記憶部101からエージング状態モデルを取得する(ステップ2002)。
 次に、ソフトウェア延命判定式導出部108は、エージング状態モデルにおける評価関数を式解析により導出する(ステップ2003)。評価関数は入力パラメタΘ=(θ1, θ2, …, θn)の関数Fa(Θ)として表される。
 次に、ソフトウェア延命判定式導出部108は、ソフトウェア延命状態モデル記憶部102からソフトウェア延命状態モデルを取得し(ステップ2004)、ステップ2003と同様に、評価関数の解析結果Fb(Θ)を導出する(ステップ2005)。
 ソフトウェア延命判定式導出部108は、次にFa(Θ)とFb(Θ)を比較し、Fa(Θ)<Fb(Θ)となるΘに関する条件σx(Θ)を導出し、ソフトウェア延命判定式記憶部109に格納する(ステップ2006)。
 以上の処理は、ソフトウェア延命処理時期の決定を行う前、すなわちパラメタ値が未知の場合でも事前に行うことができる。
 次に、延命処理の有効性を判定する必要が生じた際には、ソフトウェア延命時期決定部106がソフトウェア延命判定式σx(Θ)を参照する(図6、ステップ2007)。
 次に、パラメタ入力部103を介してパラメタ値を読み込み(ステップ2008)、判定式σx(Θ)に入力し、判定を行う(ステップ2009)。
 判定の結果Fa(Θ)<Fb(Θ)となる条件が満たされればソフトウェア延命処理実施ポリシを設定する(ステップ2010)。条件が満たされなければ延命処理は実施しない(ステップ2011)。
 以上のように、本実施形態によれば、ソフトウェア延命処理が有効となる条件や最適な延命処理を実施するパラメタ値に関する条件を事前に式解析によって導出して格納するようにした。このため、延命処理の有効性の判定時には、パラメタ値を与えれば判定が可能になるので、判定処理を簡略化することができる。また、本実施形態では、パラメタ値のみで延命処理の有効性を判定できるため、導出した判定式を様々なシステムでの判定基準として再利用することができる。
実施の形態4.
 図7は、本発明の実施の形態4によるソフトウェア延命時期決定システム40の構成を示すブロック図である。図1と同一の符号は同様の構成要素を表している。
 図7に示すように、ソフトウェア延命時期決定システム40は、ソフトウェア若化状態モデル記憶部110、エージング対処決定部111、およびソフトウェア若化処理ポリシ記憶部112を備えている点が実施の形態1と異なっている。
 実施の形態4によるソフトウェア延命時期決定システム40の動作について説明する。
 状態モデル解析部105は、実施の形態1と同様にエージング状態モデルおよびソフトウェア延命状態モデルを用いて評価関数Fa,Fbを導出する。さらに、状態モデル解析部105は、ソフトウェア若化状態モデル記憶部110からソフトウェア若化状態モデルを取得し、入力パラメタに基づいて評価関数Fの値Fcを導出する。
 さらに、エージング対処決定部111において、図2のステップ1009と同様に、Fa、Fb、Fcの大小関係の評価から、ソフトウェア延命を実施するか、ソフトウェア若化を実施するか、どちらも実施しないかを判定する。システムの状況によっては、ソフトウェア延命処理よりもソフトウェア若化を実施した方が有効な場合もある。
 以上のように、本実施形態によれば、ソフトウェア若化状態モデルも考慮してソフトウェアエージングに対処する有効な手段を判定するようにしたので、システムの可用性や性能の観点でより有効なエージング対処手段を判定できる。
実施の形態5.
 図8は、本発明の実施の形態5によるソフトウェア延命時期決定システム50の構成を示すブロック図である。図1と同一の符号は同様の構成要素を表している。
 図8に示すように、ソフトウェア延命時期決定システム50は、ソフトウェア稼働状態監視部113、ソフトウェア実行装置114、およびソフトウェア延命処理実施部115を備えている点が実施の形態1と異なっている。
 ソフトウェア実行装置114は、エージングによる劣化現象のあるソフトウェアを実行させる装置であり、ソフトウェア稼働状態監視部113は、ソフトウェア実行装置114におけるソフトウェアの稼働状態を監視する。
 ソフトウェア稼働状態監視部113は、監視情報の統計からモデルに入力するパラメタ値を決定し、パラメタ入力部103に供給する。
 一方、ソフトウェア延命処理実施部115は、ソフトウェア延命時期決定部106によって設定されたソフトウェア延命処理ポリシを参照し、ソフトウェア実行装置114に対して、ポリシで指定されたタイミングでソフトウェア延命処理を実施する。具体的には、ソフトウェア延命処理は、ソフトウェアに与える負荷やワークロードの削減、動的なリソースの追加、指定された縮退構成への移行などを含む。
 以上のように、本実施形態によれば、稼働中のソフトウェアの監視情報に基づいてパラメタ値を決定してソフトウェア延命処理の実施可否を判定するようにしたので、稼働状況に応じて動的にソフトウェア延命処理の有効性を判定することができる。
 次に、本発明の実施例について、具体例を用いて説明する。
 図9は、連続時間マルコフ連鎖(CTMC)を用いてソフトウェアエージング状態モデルを表現した例である。図中の丸は状態を、矢印は状態の遷移パスを表しており、状態の遷移にかかる時間はラベル付けされた値をパラメタ値とする指数分布に従うものとする。
 状態UPはソフトウェアの正常な稼働状態を表し、状態FPはソフトウェアエージングにより劣化した状態を表す。状態Fはエージングの進行によってソフトウェア障害が発生した状態を表している。
 状態UPから状態FPへはλ1のレートで遷移し、状態FPから状態Fへはλ2のレートで遷移し、状態Fから状態UPへはμのレートで遷移する。λ1、λ2、μなどのレートを表すパラメタ値は、平均遷移時間の逆数と等価であり、ソフトウェア平均エージング状態遷移時間、平均故障時間、平均復旧時間から求めることができる。
 例えば、障害後に正常な稼働状態に復帰するまでにかかる時間が平均2時間であったとすると、μ=1/2となる(単位は[1/hour])。このモデルにおいて、ソフトウェア稼働状態であるのは状態UPと状態FPである。
 したがって、システムの可用性はこのソフトウェアが状態UPにある確率と状態FPにある確率の和で表される。定常状態における状態UPの確率をπUP、状態FPの確率をπFPと表せば、可用性AはπUP+πFPで求まる。πUP、πFPの値はCTMCの定常状態解析により求めることができる。
 図10は、ソフトウェア延命処理の振る舞いをCTMCでモデル化した例を示す図である。ソフトウェアエージング状態モデルのCTMCに加え、延命処理を実施した後の状態LPを持つ。ソフトウェア延命処理によって状態FPから状態LPにδのレートで遷移し、最終的に状態Fにλ3のレートで遷移する。
 状態LP状態もソフトウェア稼働状態の一つであるため、システムの可用性AはπUP+πFP+πLPで求まる。ただし、πUP、πFPの値はソフトウェアエージング状態モデルのπUP、πFPの値とは異なる。
 CTMCの定常状態の解析手法としては、状態方程式を解析的に解く方法、反復解法によって数値解析により解く方法、離散時間シミュレーションによって解く方法がある。ここでは解析的に解く場合の例を示す。図9のCTMCと図10のCTMCについて式解析によって定常状態を解析すると、AおよびAはそれぞれ下記の式1、2のように求まる。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
 パラメタ値としてλ1=1/(24*20)、λ2=1/(24*10)、λ3=1/(24*15)、δ=1/24、m=1を入力すると、A=0.998613、A=0.998795と求まる。
 この結果、A<Aであるため、ソフトウェア延命処理は可用性の観点で有効であると判断できる。
 次に、ソフトウェア延命処理実行レートδの候補としてδ1=1/12、δ2=1/24、δ3=1/48がある状況を考える。パラメタ値を変えて可用性を評価するとA(δ1)=0.998803、A(δ2)=0.998795、A(δ3)=0.998782となり、δ1のとき可用性が最も高くなることがわかる。したがって、δ1の延命処理実行レートで延命処理を実施するポリシを設定することで、可用性を最大化できる。
 次に、ソフトウェア延命処理が有効となる条件を考慮する。ソフトウェア延命処理が可用性の観点で有効となるのはA≧Aが満たされる場合である。この条件に式1、式2を当てはめて式を整理するとλ3≦λ2の条件と等価であることが求まる。この条件をソフトウェア延命判定式として用いることで、様々な状況でソフトウェア延命処理を実施する判断の基準として用いることができる。
 λ3≦λ2は、延命処理後のソフトウェア故障率が、延命処理を実施しない場合の故障率と比べて小さいことを表しており、直観的な判断とも一致する。ソフトウェアエージングを表すモデルや延命処理を表すモデルがより複雑である場合や、評価関数が性能やコストなどを含んだ場合などは、直観的に判断できるとは限らない。
 図11はソフトウェアエージングの状態遷移をセミマルコフ過程(SMP)でモデル化した例である。状態Uが稼働状態を表し、状態Fがソフトウェア障害状態を表す。状態Uから状態Fへの状態遷移時間は確率分布F(t)に従い、状態Fから状態Uへの復旧を表す状態遷移時間は確率分布F(t)に従う。
 ソフトウェアの障害はエージングによって徐々に故障率が高くなるため時間の経過に伴って障害率が増加する種類の確率分布が用いられる(例えばhypo-exponential分布)。このシステムの可用性は定常状態で状態Uにある確率で表され、以下の式で求めることができる。
Figure JPOXMLDOC01-appb-M000003
 次に、エージング状態を特定せず、ソフトウェアが稼働してから一定時間Tが経過した後にソフトウェア延命処理を実施する場合を考える。エージング状態を特定する必要がないため、ソフトウェア延命処理の実施が容易であるが、適切な延命処理実施時期を判断することが難しい。
 図12は、このシステムの振る舞いをSMPでモデル化した例を示す図である。図12のモデルでは、ソフトウェアエージングのSMPモデルに加え、ソフトウェア延命処理を実施した後の状態Lを持つ。状態Uから状態Lへの状態遷移時間は確率分布Fpr(t)に従い、状態Lから状態Fへの状態遷移時間は確率分布Ff2(t)に従う。ここで、状態Uから状態Lへの遷移は決定的であり、単位ステップ関数u(t)を用いてu(t-T)と表されるものとする。すなわち、時刻t=Tで決定的に状態遷移が発生する場合を考えると、このシステムにおける可用性はソフトウェアが状態Uにあるか状態Lにある確率で表されるため、以下の式で求めることができる。
Figure JPOXMLDOC01-appb-M000004
 F(t)、F(t)、Ff2(t)に対して特定の確率分布を仮定し、与えられたパラメタ入力値をモデルに与えて式3と式4を評価することで、ソフトウェア延命処理が有効であるか否かを判定することが可能となる。また、Tの値を変化させて可用性を評価することにより、可用性を最大化するTを特定することができる。特に以下の式5の条件が満たされるとき、0<T<∞の範囲で可用性を最大化するToptが存在する。この場合、Toptは以下の式6を満たす値として求められる。
Figure JPOXMLDOC01-appb-M000005
Figure JPOXMLDOC01-appb-M000006
 この出願は、2012年3月30日に出願された日本出願特願2012-80198を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 上記の実施の形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)ソフトウェアのエージングによるソフトウェアの状態変化を表す第1の状態モデルを格納するエージング状態モデル記憶部と、
 ソフトウェア延命処理によるソフトウェアの状態変化を表す第2の状態モデルを格納するソフトウェア延命状態モデル記憶部と、
 前記第1の状態モデルおよび前記第2の状態モデルのパラメタ値の入力を受けるパラメタ入力部と、
 システムが目標とする性能や可用性の値を定める評価関数を格納する評価関数記憶部と、
 前記パラメタ値と前記評価関数を用いて、前記第1の状態モデルおよび前記第2の状態モデルを解析する状態モデル解析部と、
 前記第1の状態モデルおよび前記第2の状態モデルの解析結果に基づいてソフトウェア延命処理の実施を行うか否かを判定するソフトウェア延命時期決定部と、を備えたソフトウェア延命時期決定システム。
(付記2)ソフトウェアのエージングによるソフトウェアの状態変化を表す第1の状態モデルを格納するエージング状態モデル記憶部と、
 ソフトウェア延命処理によるソフトウェアの状態変化を表す第2の状態モデルを格納するソフトウェア延命状態モデル記憶部と、
 システムが目標とする性能や可用性の値を定める評価関数を格納する評価関数記憶部と、
 前記第1の状態モデルと、前記第2の状態モデルと、前記評価関数に基づいて、ソフトウェア延命判定式を導出するソフトウェア延命判定式導出部と、
 前記第1の状態モデルおよび前記第2の状態モデルのパラメタ値の入力を受けるパラメタ入力部と、
 前記パラメタ値と前記ソフトウェア延命判定式を用いて、ソフトウェア延命処理の実施を行う時期を決定するソフトウェア延命時期決定部と、を備えたソフトウェア延命時期決定システム。
(付記3)付記1に記載のソフトウェア延命時期決定システムであって、
 前記状態モデル解析部は、
 前記パラメタ値と前記評価関数を用いて、ソフトウェア若化処理によるソフトウェアの状態変化を表す第3の状態モデルをさらに解析し、
 前記第1の状態モデル、前記第2の状態モデル、および前記第3の状態モデルの解析結果に基づいて、ソフトウェア延命処理またはソフトウェア若化処理の実施を行うか否かを判定するエージング対処決定部と、を備えたソフトウェア延命時期決定システム。
(付記4)付記1から3のいずれか1項に記載のソフトウェア延命時期決定システムであって、
 ソフトウェアを実行させるソフトウェア実行装置と、
 前記ソフトウェア実行装置における前記ソフトウェアの稼働状態を監視し、前記稼動状態に基づいて、前記パラメタ値を決定するソフトウェア稼働状態監視部と、
 前記ソフトウェア実行装置に対し、前記ソフトウェア延命時期決定システムで決定されたソフトウェア延命処理を実施するソフトウェア延命処理実施部と、をさらに備えたソフトウェア延命時期決定システム。
(付記5)ソフトウェアのエージングによるソフトウェアの状態変化を表す第1の状態モデル、およびソフトウェア延命処理によるソフトウェアの状態変化を表す第2の状態モデル、前記第1の状態モデルおよび前記第2の状態モデルのパラメタ値と、システムが目標とする性能や可用性の値を定める評価関数と、を用いて解析する工程と、
 前記第1の状態モデルおよび前記第2の状態モデルの解析結果に基づいてソフトウェア延命処理の実施を行うか否かを判定する工程と、を備えたソフトウェア延命時期決定方法。
(付記6)コンピュータを、
 ソフトウェアのエージングによるソフトウェアの状態変化を表す第1の状態モデルを格納するエージング状態モデル記憶部と、
 ソフトウェア延命処理によるソフトウェアの状態変化を表す第2の状態モデルを格納するソフトウェア延命状態モデル記憶部と、
 前記第1の状態モデルおよび前記第2の状態モデルのパラメタ値の入力を受けるパラメタ入力部と、
 システムが目標とする性能や可用性の値を定める評価関数を格納する評価関数記憶部と、
 前記パラメタ値と前記評価関数を用いて、前記第1の状態モデルおよび前記第2の状態モデルを解析する状態モデル解析部と、
 前記第1の状態モデルおよび前記第2の状態モデルの解析結果に基づいてソフトウェア延命処理の実施を行うか否かを判定するソフトウェア延命時期決定部と、して機能させるためのプログラム。
 本発明は、ソフトウェアを長期連続稼働させるためのシステムの高信頼設計ツールに適用できる。また、ソフトウェアの稼働状況を監視して適切な管理操作を実施するシステム管理ツールにも適用できる。
 10,30,40,50 ソフトウェア延命時期決定システム、101 エージング状態モデル記憶部、102 ソフトウェア延命状態モデル記憶部、103 パラメタ入力部、104 評価関数記憶部、105 状態モデル解析部、106 ソフトウェア延命時期決定部、107 ソフトウェア延命処理ポリシ記憶部、108 ソフトウェア延命判定式導出部、109 ソフトウェア延命判定式記憶部、110 ソフトウェア若化状態モデル記憶部、111 エージング対処決定部、112 ソフトウェア若化処理ポリシ記憶部、113 ソフトウェア稼働状態監視部、114 ソフトウェア実行装置、115 ソフトウェア延命処理実施部

Claims (6)

  1.  ソフトウェアのエージングによるソフトウェアの状態変化を表す第1の状態モデルを格納するエージング状態モデル記憶部と、
     ソフトウェア延命処理によるソフトウェアの状態変化を表す第2の状態モデルを格納するソフトウェア延命状態モデル記憶部と、
     前記第1の状態モデルおよび前記第2の状態モデルのパラメタ値の入力を受けるパラメタ入力部と、
     システムが目標とする性能や可用性の値を定める評価関数を格納する評価関数記憶部と、
     前記パラメタ値と前記評価関数を用いて、前記第1の状態モデルおよび前記第2の状態モデルを解析する状態モデル解析部と、
     前記第1の状態モデルおよび前記第2の状態モデルの解析結果に基づいてソフトウェア延命処理の実施を行うか否かを判定するソフトウェア延命時期決定部と、を備えたソフトウェア延命時期決定システム。
  2.  ソフトウェアのエージングによるソフトウェアの状態変化を表す第1の状態モデルを格納するエージング状態モデル記憶部と、
     ソフトウェア延命処理によるソフトウェアの状態変化を表す第2の状態モデルを格納するソフトウェア延命状態モデル記憶部と、
     システムが目標とする性能や可用性の値を定める評価関数を格納する評価関数記憶部と、
     前記第1の状態モデルと、前記第2の状態モデルと、前記評価関数に基づいて、ソフトウェア延命判定式を導出するソフトウェア延命判定式導出部と、
     前記第1の状態モデルおよび前記第2の状態モデルのパラメタ値の入力を受けるパラメタ入力部と、
     前記パラメタ値と前記ソフトウェア延命判定式を用いて、ソフトウェア延命処理の実施を行う時期を決定するソフトウェア延命時期決定部と、を備えたソフトウェア延命時期決定システム。
  3.  請求項1に記載のソフトウェア延命時期決定システムであって、
     前記状態モデル解析部は、
     前記パラメタ値と前記評価関数を用いて、ソフトウェア若化処理によるソフトウェアの状態変化を表す第3の状態モデルをさらに解析し、
     前記第1の状態モデル、前記第2の状態モデル、および前記第3の状態モデルの解析結果に基づいて、ソフトウェア延命処理またはソフトウェア若化処理の実施を行うか否かを判定するエージング対処決定部と、を備えたソフトウェア延命時期決定システム。
  4.  請求項1から3のいずれか1項に記載のソフトウェア延命時期決定システムであって、
     ソフトウェアを実行させるソフトウェア実行装置と、
     前記ソフトウェア実行装置における前記ソフトウェアの稼働状態を監視し、前記稼動状態に基づいて、前記パラメタ値を決定するソフトウェア稼働状態監視部と、
     前記ソフトウェア実行装置に対し、前記ソフトウェア延命時期決定システムで決定されたソフトウェア延命処理を実施するソフトウェア延命処理実施部と、をさらに備えたソフトウェア延命時期決定システム。
  5.  ソフトウェアのエージングによるソフトウェアの状態変化を表す第1の状態モデル、およびソフトウェア延命処理によるソフトウェアの状態変化を表す第2の状態モデル、前記第1の状態モデルおよび前記第2の状態モデルのパラメタ値と、システムが目標とする性能や可用性の値を定める評価関数と、を用いて解析する工程と、
     前記第1の状態モデルおよび前記第2の状態モデルの解析結果に基づいてソフトウェア延命処理の実施を行うか否かを判定する工程と、を備えたソフトウェア延命時期決定方法。
  6.  コンピュータを、
     ソフトウェアのエージングによるソフトウェアの状態変化を表す第1の状態モデルを格納するエージング状態モデル記憶部と、
     ソフトウェア延命処理によるソフトウェアの状態変化を表す第2の状態モデルを格納するソフトウェア延命状態モデル記憶部と、
     前記第1の状態モデルおよび前記第2の状態モデルのパラメタ値の入力を受けるパラメタ入力部と、
     システムが目標とする性能や可用性の値を定める評価関数を格納する評価関数記憶部と、
     前記パラメタ値と前記評価関数を用いて、前記第1の状態モデルおよび前記第2の状態モデルを解析する状態モデル解析部と、
     前記第1の状態モデルおよび前記第2の状態モデルの解析結果に基づいてソフトウェア延命処理の実施を行うか否かを判定するソフトウェア延命時期決定部と、して機能させるためのプログラム。
PCT/JP2013/056957 2012-03-30 2013-03-13 ソフトウェア延命時期決定システム、ソフトウェア延命時期決定方法、およびプログラム WO2013146252A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013546520A JP5445726B1 (ja) 2012-03-30 2013-03-13 ソフトウェア延命時期決定システム、ソフトウェア延命時期決定方法、およびプログラム
US14/122,148 US20150347210A1 (en) 2012-03-30 2013-03-13 Software life extension time determination system, software life extension time determination method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-080198 2012-03-30
JP2012080198 2012-03-30

Publications (1)

Publication Number Publication Date
WO2013146252A1 true WO2013146252A1 (ja) 2013-10-03

Family

ID=49259518

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/056957 WO2013146252A1 (ja) 2012-03-30 2013-03-13 ソフトウェア延命時期決定システム、ソフトウェア延命時期決定方法、およびプログラム

Country Status (3)

Country Link
US (1) US20150347210A1 (ja)
JP (1) JP5445726B1 (ja)
WO (1) WO2013146252A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0895814A (ja) * 1994-09-08 1996-04-12 At & T Corp ソフトウエアの更新のための装置及び方法
JP2009199478A (ja) * 2008-02-25 2009-09-03 Hitachi Ltd メモリミラーリング自動構成制御方式
JP2011048590A (ja) * 2009-08-26 2011-03-10 Ricoh Co Ltd 画像形成装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0895814A (ja) * 1994-09-08 1996-04-12 At & T Corp ソフトウエアの更新のための装置及び方法
JP2009199478A (ja) * 2008-02-25 2009-09-03 Hitachi Ltd メモリミラーリング自動構成制御方式
JP2011048590A (ja) * 2009-08-26 2011-03-10 Ricoh Co Ltd 画像形成装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
TADASHI DOHI: "Analysis of software cost models with rejuvenation, High Assurance Systems Engineering, 2000", FIFTH IEEE INTERNATIONAL SYMPOSIUM ON HIGH ASSURANCE SYSTEMS ENGINEERING, 2000, HASE 2000, 15 November 2000 (2000-11-15), pages 25 - 34 *
TADASHI DOHI: "Determination of Cost-Effective Preventive Maintenance Schedule for a Telecommunication Software System", THE TRANSACTIONS OF THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS, vol. J85-A, no. 2, 1 February 2002 (2002-02-01), pages 197 - 206 *
YENNUN HUANG: "Software rejuvenation: analysis, module and applications", FAULT-TOLERANT COMPUTING, 1995. FTCS-25. TWENTY-FIFTH INTERNATIONAL SYMPOSIUM ON DIGEST OF PAPERS, 27 June 1995 (1995-06-27), pages 381 - 390 *

Also Published As

Publication number Publication date
JPWO2013146252A1 (ja) 2015-12-10
US20150347210A1 (en) 2015-12-03
JP5445726B1 (ja) 2014-03-19

Similar Documents

Publication Publication Date Title
US9329981B2 (en) Testing program, testing method, and testing device
EP4016308B1 (en) Systems and methods for micro-scheduler testing framework
US20150161385A1 (en) Memory Management Parameters Derived from System Modeling
US9128747B2 (en) Methods and systems for optimizing the performance of software applications at runtime
US20130283090A1 (en) Monitoring and resolving deadlocks, contention, runaway cpu and other virtual machine production issues
US9600795B2 (en) Measuring process model performance and enforcing process performance policy
US11171852B2 (en) Computer system productivity monitoring
US9396095B2 (en) Software verification
US20110016455A1 (en) Power Profiling for Embedded System Design
da Silva et al. Self-healing of workflow activity incidents on distributed computing infrastructures
US10318731B2 (en) Detection system and detection method
Kim et al. Smartphone analysis and optimization based on user activity recognition
US20160306670A1 (en) Dynamically choosing data to collect in a system
Soualhia et al. ATLAS: An adaptive failure-aware scheduler for hadoop
US11354201B2 (en) Effective selection of a virtual machine to be moved outside influence range of a failure
Mouallem et al. A fault-tolerance architecture for kepler-based distributed scientific workflows
JP5445726B1 (ja) ソフトウェア延命時期決定システム、ソフトウェア延命時期決定方法、およびプログラム
CN113141407B (zh) 一种页面资源加载方法、装置和电子设备
JP6103060B2 (ja) 管理装置、管理方法及びプログラム
Wu et al. Modeling the virtual machine launching overhead under fermicloud
Pinto et al. Hadoop cluster monitoring and fault analysis in real time
CN104268057A (zh) 一种Android平台下的模块化系统的监控系统及方法
WO2016038802A1 (ja) 情報処理装置、情報処理方法、及び、記録媒体
Li et al. Selective checkpointing for minimizing recovery energy and efforts of smartphone apps
Gavua et al. ASM-based Formal Model for Analysing Cloud Auto-Scaling Mechanisms

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2013546520

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13767413

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14122148

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 13767413

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE