JP2011022959A - Process execution device and computer program, and process execution method - Google Patents
Process execution device and computer program, and process execution method Download PDFInfo
- Publication number
- JP2011022959A JP2011022959A JP2009169862A JP2009169862A JP2011022959A JP 2011022959 A JP2011022959 A JP 2011022959A JP 2009169862 A JP2009169862 A JP 2009169862A JP 2009169862 A JP2009169862 A JP 2009169862A JP 2011022959 A JP2011022959 A JP 2011022959A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- state
- execution
- execution unit
- processing
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Landscapes
- Retry When Errors Occur (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
この発明は、プロセス実行時に発生した障害に対処するプロセス実行装置に関する。 The present invention relates to a process execution apparatus that copes with a failure that occurs during process execution.
プロセス実行を二重化し、先行系の処理を少し遅れて追いかける形で後続系が処理を実行し、先行系に障害が発生した場合に備える技術がある。 There is a technique to prepare for a case where a failure occurs in the preceding system, with the subsequent system executing the process by duplicating the process execution and chasing the preceding system processing with a slight delay.
障害の原因が障害顕在化よりも前に発生していた場合、障害がまだ顕在化していない後続系にも既に障害の原因が発生している可能性がある。その場合、後続系にも同じ障害が発生するため、障害を克服することができない。
この発明は、例えば上記のような課題を解決するためになされたものであり、障害の原因発生と障害顕在化との間に時差がある場合であっても、障害を克服し、正常に処理を続けることができるようにすることを目的とする。
If the cause of the failure has occurred before the occurrence of the failure, there is a possibility that the cause of the failure has already occurred in the subsequent system where the failure has not yet been realized. In that case, since the same failure occurs in the subsequent system, the failure cannot be overcome.
The present invention has been made to solve the above-described problems, for example, and even when there is a time difference between the occurrence of the failure and the manifestation of the failure, the failure is overcome and processed normally. The purpose is to be able to continue.
この発明にかかるプロセス実行装置は、データを記憶する記憶装置と、データを処理する処理装置と、実行部と、状態記憶部と、状態巻戻部とを有し、
上記実行部は、上記処理装置を用いて、プロセスを実行し、
上記状態記憶部は、上記記憶装置を用いて、上記実行部が上記プロセスを実行している途中の複数の中間時点それぞれについて、上記中間時点における上記実行部の状態を記憶し、
上記状態巻戻部は、上記処理装置を用いて、上記実行部に障害が発生した場合に、上記状態記憶部が記憶した状態のうちいずれかの中間時点の状態に、上記実行部の状態を戻し、上記実行部に更に障害が発生した場合に、上記状態記憶部が記憶した状態のうち、上記実行部の状態を戻した中間時点よりも前の中間時点における状態に、上記実行部の状態を戻すことを特徴とする。
The process execution device according to the present invention includes a storage device that stores data, a processing device that processes data, an execution unit, a state storage unit, and a state rewind unit,
The execution unit executes a process using the processing device,
The state storage unit stores the state of the execution unit at the intermediate time point for each of a plurality of intermediate time points while the execution unit is executing the process using the storage device,
The state rewinding unit sets the state of the execution unit to a state at any intermediate point in the state stored in the state storage unit when a failure occurs in the execution unit using the processing device. In the event that a failure further occurs in the execution unit, the state of the execution unit is changed to a state at an intermediate time point before the intermediate point in time when the state of the execution unit is returned among the states stored in the state storage unit. It is characterized by returning.
この発明にかかるプロセス実行装置によれば、実行部の状態を中間時点における状態に戻して処理をやり直しても再び障害が発生する場合に、実行部の状態をそれよりも前の中間時点における状態に戻して処理をやり直すので、障害の原因が早い段階で発生していた場合であっても、それよりも前の中間時点から処理をやり直すことができ、障害を克服して、正常に処理を続けることができる。 According to the process execution device of the present invention, when a failure occurs again even if processing is performed again by returning the state of the execution unit to the state at the intermediate point, the state of the execution unit is changed to the state at the intermediate point before that. If the cause of the failure occurs at an early stage, the process can be restarted from an intermediate point before that, overcoming the failure and processing normally. You can continue.
実施の形態1.
実施の形態1について、図1〜図10を用いて説明する。
Embodiment 1 FIG.
The first embodiment will be described with reference to FIGS.
図1は、この実施の形態におけるプロセス実行装置100の全体構成の一例を示す全体構成図である。
プロセス実行装置100は、所定のプロセスを実行する装置である。プロセス実行装置100は、実行部110、障害処理部120を有する。
実行部110は、プロセス実行装置100の主要部であり、実際にプロセスを実行する部分である。実行部110は、外部からプロセスの実行に必要なパラメータなどを入力し、入力したパラメータに基づいてプロセスを実行し、実行した結果を外部に出力する。
障害処理部120は、実行部110におけるプロセスの実行を監視し、障害が発生した場合にその障害に対処する処理を行う。
FIG. 1 is an overall configuration diagram showing an example of the overall configuration of the
The
The
The
図2は、この実施の形態におけるプロセス実行装置100の外観の一例を示す斜視図である。
プロセス実行装置100は、システムユニット910、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置901、キーボード902(Key・Board:K/B)、マウス903、FDD904(Flexible・Disk・Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット910は、コンピュータであり、ファクシミリ機932、電話器931とケーブルで接続され、また、ローカルエリアネットワーク942(LAN)、ゲートウェイ941を介してインターネット940に接続されている。
FIG. 2 is a perspective view showing an example of the appearance of the
The
The system unit 910 is a computer, and is connected to the
図3は、この実施の形態におけるプロセス実行装置100のハードウェア資源の一例を示す図である。
プロセス実行装置100は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信装置915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。通信装置915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信装置915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
FIG. 3 is a diagram illustrating an example of hardware resources of the
The
The
Further, the
通信装置915は、ファクシミリ機932、電話器931、LAN942等に接続されている。通信装置915は、LAN942に限らず、インターネット940、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。インターネット940或いはISDN等のWANに接続されている場合、ゲートウェイ941は不用となる。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
The
The
上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
The
The
In addition, the arrows in the flowcharts described in the following description of the embodiments mainly indicate input / output of data and signals. The data and signal values are the
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
In the description of the embodiments described below, what is described as “to part” may be “to circuit”, “to device”, and “to device”, and “to step” and “to”. “Procedure” and “˜Process” may be used. That is, what is described as “˜unit” may be realized by firmware stored in the
図4は、この実施の形態におけるプロセス実行装置100の機能ブロックの構成の一例を示すブロック構成図である。
実行部110は、初期化実行部111、内部状態記憶部112、パラメータ入力部113、処理実行部114、結果出力部115を有する。障害処理部120は、チェックポイント判定部121、状態取得部122、状態記憶部123、障害判定部131、巻戻時点判定部132、状態巻戻部133を有する。
FIG. 4 is a block configuration diagram showing an example of a functional block configuration of the
The
初期化実行部111は、CPU911を用いて、初期化処理を実行する。初期化実行部111は、例えば、プロセス実行装置100の起動時や再起動時などに、初期化処理を実行する。初期化処理において、初期化実行部111は、例えば、内部状態記憶部112が記憶したデータを初期化する。
内部状態記憶部112は、RAM914を用いて、実行部110の内部状態を表わすデータを記憶する。実行部110の内部状態には、例えば、内部変数の値や、スタックの状態などがある。
パラメータ入力部113は、CPU911を用いて、プロセスのパラメータを入力する。
処理実行部114は、CPU911を用いて、プロセスの処理を実行する。処理実行部114は、パラメータ入力部113が入力したパラメータや、内部状態記憶部112が記憶したデータが表わす内部状態などに基づいて、処理を実行する。処理実行部114が処理を実行した途中経過や次回のプロセス実行のために保持しておくべきデータなどは、内部状態記憶部112が記憶する。
結果出力部115は、CPU911を用いて、処理実行部114が処理を実行した結果を外部に出力する。
The
The internal
The
The
The
チェックポイント判定部121は、CPU911を用いて、実行部110におけるプロセスの処理がチェックポイントに到達したか否かを判定する。チェックポイントとは、プロセスを実行している途中の所定の時点(中間時点)のことである。例えば、プロセスが複数の工程を含む場合、1つの工程が終わるごとにチェックポイントを設ける。これにより、例えば、何らかの障害によりプロセスの実行が途中で止まってしまった場合でも、プロセスの処理がどの工程まで進んだかがわかる。
The
状態取得部122は、実行部110におけるプロセスの処理がチェックポイントに到達したとチェックポイント判定部121が判定した場合に、CPU911を用いて、内部状態記憶部112が記憶したデータをすべて取得する。
状態記憶部123は、磁気ディスク装置920を用いて、状態取得部122が取得したデータを記憶する。これにより、そのチェックポイントにおける実行部110の内部状態が記録される。何らかの障害によりプロセスの実行が途中で止まってしまった場合、状態記憶部123が記憶したデータを内部状態記憶部112に書き戻せば、そのチェックポイントの時点における状態に、実行部110の状態を戻すことができるので、その時点から処理を再開することができる。また、状態記憶部123は、各チェックポイントごとに、状態取得部122が取得したデータを記憶する。これにより、あるチェックポイントの時点における状態に、実行部110の状態を戻して処理を再開したがうまくいかなかったような場合、別のチェックポイントの時点における状態に、実行部110の状態を戻すことができる。
The
The
障害判定部131は、CPU911を用いて、実行部110を監視し、何らかの障害により実行部110の処理が途中で止まっていないかを判定する。例えば、障害判定部131は、内部状態記憶部112が記憶したデータを監視して、正常な値であるか否かを判定し、異常値である場合に、実行部110に障害が発生していると判定する。あるいは、障害判定部131は、結果出力部115が結果を出力する間隔を監視して、前回の結果出力から所定の時間が経過しても、次の結果が出力されない場合に、実行部110に障害が発生していると判定する。
The
巻戻時点判定部132は、CPU911を用いて、状態記憶部123が記憶した複数のチェックポイントの時点における状態のうち、どの時点における状態に、実行部110の状態を戻すかを判定する。
The rewind time determination unit 132 uses the
状態巻戻部133は、実行部110に障害が発生していると障害判定部131が判定した場合に、CPU911を用いて、巻戻時点判定部132が判定した時点における実行部110の状態を表わすデータを状態記憶部123から読み出し、内部状態記憶部112に書き込む。
When the
図5は、この実施の形態における障害処理S510の流れの一例を示すフローチャート図である。
障害処理S510において、障害処理部120は、チェックポイントにおける実行部110の状態を記録し、障害が発生した場合に、チェックポイントにおける状態に、実行部110の状態を戻して、復旧を試みる。障害処理S510は、障害判定工程S511、チェックポイント判定工程S512、状態消去工程S521、状態取得工程S522、状態記憶工程S523、状態判定工程S524、巻戻時点前進工程S525、巻戻時点判定工程S531、処理中断工程S532、状態巻戻工程S533、巻戻時点後退工程S534を有する。
FIG. 5 is a flowchart showing an example of the flow of the failure processing S510 in this embodiment.
In failure processing S510, the
障害判定工程S511において、障害判定部131は、CPU911を用いて、実行部110に障害が発生しているか否かを判定する。
障害が発生していると判定した場合、巻戻時点判定工程S531へ進む。
障害が発生していないと判定した場合、チェックポイント判定工程S512へ進む。
In the failure determination step S511, the
If it is determined that a failure has occurred, the process proceeds to the rewind time determination step S531.
If it is determined that no failure has occurred, the process proceeds to checkpoint determination step S512.
チェックポイント判定工程S512において、チェックポイント判定部121は、CPU911を用いて、実行部110におけるプロセスの処理がチェックポイントに到達したか否かを判定する。
まだチェックポイントに到達していないと判定した場合、障害判定工程S511に戻る。
最後のチェックポイントに到達したと判定した場合、状態消去工程S521へ進む。なお、最後のチェックポイントは、プロセス実行が終了した時点に設けられているものとする。
それ以外のチェックポイントに到達したと判定した場合、状態取得工程S522へ進む。
In the checkpoint determination step S512, the
If it is determined that the check point has not yet been reached, the process returns to the failure determination step S511.
If it is determined that the last check point has been reached, the process proceeds to the state erasing step S521. It is assumed that the last checkpoint is provided when the process execution is completed.
When it is determined that the other check points have been reached, the process proceeds to state acquisition step S522.
状態消去工程S521において、状態記憶部123は、CPU911を用いて、記憶したデータを消去する。最後のチェックポイントは、プロセス実行が終了した時点に設けられているので、最後のチェックポイントに到達したということは、そのプロセスの実行が正常に終了したということを意味する。それ以前のチェックポイントにおける状態に、実行部110の状態を戻す必要がなくなるので、状態記憶部123は、記憶したデータを消去して、記憶領域を開放し、次回のプロセス実行に備える。
その後、障害処理S510を終了する。
In the state erasing step S521, the
Thereafter, the failure process S510 is terminated.
状態取得工程S522において、状態取得部122は、CPU911を用いて、内部状態記憶部112が記憶したデータをすべて取得する。
状態記憶工程S523において、状態記憶部123は、磁気ディスク装置920を用いて、状態取得工程S522で状態取得部122が取得したデータを、チェックポイント判定工程S512でチェックポイント判定部121が到達したと判定したチェックポイントに対応するデータとして記憶する。
In the state acquisition step S522, the
In the state storage step S523, the
状態判定工程S524において、巻戻時点判定部132は、CPU911を用いて、チェックポイント判定工程S512でチェックポイント判定部121が到達したと判定したチェックポイントに対応するデータを、状態記憶部123がそれまで記憶していたか否かを判定する。これにより、今回の実行部110におけるプロセスの処理において、そのチェックポイントまで到達したのが初めてであるのか、それとも、そのチェックポイントを通過したのち、障害が発生して実行部110の状態を戻した結果、再びそのチェックポイントに到達したのかがわかる。
そのチェックポイントに到達したのが初めてであると判定した場合、巻戻時点前進工程S525へ進む。
そのチェックポイントに前にも到達したことがあると判定した場合、障害判定工程S511に戻る。
In the state determination step S524, the rewinding point determination unit 132 uses the
If it is determined that the check point has been reached for the first time, the process proceeds to the rewind time advance step S525.
If it is determined that the checkpoint has been reached before, the process returns to the failure determination step S511.
巻戻時点前進工程S525において、巻戻時点判定部132は、CPU911を用いて、チェックポイント判定工程S512でチェックポイント判定部121が到達したと判定したチェックポイントを、巻戻時点と判定する。巻戻時点判定部132は、磁気ディスク装置920を用いて、判定した結果を記憶する。
その後、障害判定工程S511に戻る。
In the rewind time advance step S525, the rewind time determination unit 132 uses the
Thereafter, the process returns to the failure determination step S511.
巻戻時点判定工程S531において、巻戻時点判定部132は、CPU911を用いて、記憶した判定結果に基づいて、巻戻時点と判定したチェックポイントを判別する。
巻戻時点と判定したチェックポイントが存在しない場合、処理中断工程S532へ進む。これは、例えば、実行部110におけるプロセスの処理が最初のチェックポイントに到達するよりも前に実行部110に障害が発生した場合や、障害発生により、最初のチェックポイントにおける状態に実行部110の状態を戻して処理を再開したが、再び障害が発生した場合などである。すなわち、実行部110の状態を戻すべきチェックポイントが存在しない場合である。
巻戻時点と判定したチェックポイントが存在する場合は、状態巻戻工程S533へ進む。
In the rewind time determination step S531, the rewind time determination unit 132 uses the
If there is no checkpoint determined to be the rewind time, the process proceeds to the process interruption step S532. This is because, for example, when a failure occurs in the
If there is a checkpoint determined as the rewinding time, the process proceeds to the state rewinding step S533.
処理中断工程S532において、状態巻戻部133は、CPU911を用いて、内部状態記憶部112が記憶したデータを書き換えて、実行部110における今回のプロセス処理を中断させる。実行部110の状態を戻すべきチェックポイントが存在しないので、これ以上、実行部110の処理を続けることができないからである。その後、状態消去工程S521へ進む。
実行部110は、パラメータ入力部113が入力したパラメータを破棄して、プロセスの処理を終了する。処理実行部114は、異常終了したという結果を出力する。その後、パラメータ入力部113が次のパラメータを入力した場合、実行部110は、次のプロセスの処理を開始する。
In the processing interruption step S532, the
The
状態巻戻工程S533において、状態巻戻部133は、CPU911を用いて、巻戻時点判定工程S531で巻戻時点判定部132が判別したチェックポイントについて、状態記憶部123が記憶したデータを取得する。状態巻戻部133は、CPU911を用いて、取得したデータを内部状態記憶部112に書き込む。その後、巻戻時点後退工程S534へ進む。
実行部110は、内部状態記憶部112が記憶したデータが書き換えられたことにより、そのチェックポイントの時点における状態に戻り、その状態からプロセスの処理を再開する。
In the state rewinding step S533, the
The
巻戻時点後退工程S534において、巻戻時点判定部132は、CPU911を用いて、状態記憶部123が記憶したデータのうち、状態巻戻工程S533で状態巻戻部133が内部状態記憶部112に書き込んだデータに対応するチェックポイントよりも1つ前のチェックポイントを、巻戻時点であると判定する。状態巻戻工程S533で状態巻戻部133が内部状態記憶部112に書き込んだデータに対応するチェックポイントが最初のチェックポイントである場合、それよりも前のチェックポイントが存在しないので、巻戻時点判定部132は、巻戻時点となるチェックポイントが存在しないと判定する。巻戻時点判定部132は、磁気ディスク装置920を用いて、判定した結果を記憶する。
その後、障害判定工程S511に戻る。
In the rewinding time retraction process S534, the rewinding time determination unit 132 uses the
Thereafter, the process returns to the failure determination step S511.
図6は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。
FIG. 6 is a schematic diagram showing an example of the operation of the
プロセス開始時601において、パラメータ入力部113がパラメータを入力し、処理実行部114がプロセスの処理を開始する。この時点における状態記憶部123の記憶内容611は、空である。すなわち、状態記憶部123は、チェックポイントにおける状態を表わすデータをいずれも記憶していない。
At the start of the
処理実行部114の処理が第一チェックポイント602まで到達すると、チェックポイント判定部121がそのことを判定し、内部状態記憶部112が記憶したデータを状態取得部122が取得して、第一チェックポイント602に対応するデータとして、状態記憶部123が記憶する。この時点における状態記憶部123の記憶内容612は、第一チェックポイント602における状態652だけである。
今回のプロセス処理において、処理実行部114の処理が第一チェックポイント602まで到達したのは初めてなので、巻戻時点判定部132は、第一チェックポイント602を巻戻時点と判定する。
When the process of the
In this process, since the process of the
処理実行部114の処理が第二チェックポイント603まで到達すると、チェックポイント判定部121がそのことを判定し、内部状態記憶部112が記憶したデータを状態取得部122が取得して、第二チェックポイント603に対応するデータとして、状態記憶部123が記憶する。この時点における状態記憶部123の記憶内容613は、第一チェックポイント602における状態652と、第二チェックポイント603における状態653との2つである。
今回のプロセス処理において、処理実行部114の処理が第二チェックポイント603まで到達したのは初めてなので、巻戻時点判定部132は、第二チェックポイント603を巻戻時点と判定する。
When the process of the
In this process, since the process of the
処理実行部114の処理が第三チェックポイント604まで到達すると、チェックポイント判定部121がそのことを判定し、内部状態記憶部112が記憶したデータを状態取得部122が取得して、第三チェックポイント604に対応するデータとして、状態記憶部123が記憶する。この時点における状態記憶部123の記憶内容614は、第一チェックポイント602における状態652と、第二チェックポイント603における状態653と、第三チェックポイント604における状態654との3つである。
今回のプロセス処理において、処理実行部114の処理が第三チェックポイント604まで到達したのは初めてなので、巻戻時点判定部132は、第三チェックポイント604を巻戻時点と判定する。
When the process of the
In this process, since the process of the
このように、処理実行部114の処理が順調に進んでいくにつれ、状態記憶部123は、各チェックポイントにおける実行部110の状態を表わすデータを蓄積していく。また、巻戻時点判定部132が巻戻時点と判定するチェックポイントは、処理の進行に伴って進んでいく。
As described above, as the processing of the
ここで、処理実行部114の処理が第四チェックポイント605に到達する前に、実行部110に障害が発生したと仮定する。障害判定部131がそのことを判定し、状態巻戻部133は、巻戻時点判定部132の判定結果に基づいて、実行部110の状態を第三チェックポイント604における状態654に戻す。処理実行部114は、第三チェックポイント604から処理を再開する。
Here, it is assumed that a failure has occurred in the
図7は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。
FIG. 7 is a schematic diagram showing an example of the operation of the
処理実行部114が第三チェックポイント604から処理を再開した時点において、状態記憶部123の記憶内容615は、処理再開前の記憶内容614と同じである。巻戻時点判定部132は、一つ前のチェックポイント、すなわち第二チェックポイント603を巻戻時点と判定する。
When the
処理実行部114の処理が第四チェックポイント605に到達する前に、再び障害が発生したと仮定する。障害判定部131がそのことを判定し、状態巻戻部133は、巻戻時点判定部132の判定結果に基づいて、実行部110の状態を第二チェックポイント603における状態653に戻す。処理実行部114は、第二チェックポイント603から処理を再開する。
It is assumed that a failure has occurred again before the processing of the
第三チェックポイント604に戻って処理をやり直したにも関わらず、再び障害が発生したということは、障害が顕在化したのは、第三チェックポイント604通過後であるが、障害の原因は、第三チェックポイント604到達前に発生していた可能性がある。
プロセス実行装置100は、再び障害が発生した場合、直前のチェックポイントではなく、その一つ前のチェックポイントに戻って、処理をやり直す。これにより、直前のチェックポイント到達前に障害の原因が発生していた場合であっても、障害を克服し、正常に処理を続けることができる。
Although the failure has occurred again despite returning to the
When the failure occurs again, the
図8は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。
FIG. 8 is a schematic diagram showing an example of the operation of the
処理実行部114が第二チェックポイント603から処理を再開した時点において、状態記憶部123の記憶内容616は、処理再開前の記憶内容615と同じである。巻戻時点判定部132は、更に一つ前のチェックポイント、すなわち、第一チェックポイント602を巻戻時点と判定する。
When the
処理実行部114の処理が第三チェックポイント604に再び到達すると、チェックポイント判定部121がそのことを判定し、内部状態記憶部112が記憶したデータを状態取得部122が取得して、第三チェックポイント604に対応するデータとして、状態記憶部123が記憶する。この時点における状態記憶部123の記憶内容617は、第一チェックポイント602における状態652と、第二チェックポイント603における状態653と、第三チェックポイント604における状態654との3つである。このうち、第三チェックポイント604における状態654は、二回目の到達時における状態である。
今回のプロセス処理において、処理実行部114の処理が第三チェックポイント604まで到達したのは二回目なので、巻戻時点判定部132は、巻戻時点を進めない。したがって、巻戻時点は、第一チェックポイント602のままである。
When the process of the
In this process, since the process of the
処理実行部114の処理が第四チェックポイント605に到達する前に、三たび障害が発生したと仮定する。障害判定部131がそのことを判定し、状態巻戻部133は、巻戻時点判定部132の判定結果に基づいて、実行部110の状態を第一チェックポイント602における状態652に戻す。処理実行部114は、第一チェックポイント602から処理を再開する。
It is assumed that a failure has occurred three times before the process of the
このように、同じところで障害が繰り返し発生して処理が先に進まない場合、プロセス実行装置100は、処理を再開するチェックポイントを一つずつ前に戻していく。これにより、障害の原因が発生する前のチェックポイントから処理を再開できれば、障害を克服し、正常に処理を続けることができる。
As described above, when a failure repeatedly occurs at the same time and the process does not proceed, the
図9は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。
FIG. 9 is a schematic diagram showing an example of the operation of the
処理実行部114が第二チェックポイント603から処理を再開し、第三チェックポイント604を通過したのち、同じところでは障害が発生せず、第四チェックポイント605に到達したと仮定する。チェックポイント判定部121がそのことを判定し、内部状態記憶部112が記憶したデータを状態取得部122が取得して、第三チェックポイント604に対応するデータとして、状態記憶部123が記憶する。この時点における状態記憶部123の記憶内容618は、第一チェックポイント602における状態652と、第二チェックポイント603における状態653と、第三チェックポイント604における状態654と、第四チェックポイント605における状態655との4つである。
今回のプロセス処理において、処理実行部114の処理が第四チェックポイント605まで到達したのは初めてなので、巻戻時点判定部132は、第四チェックポイント605を巻戻時点と判定する。
It is assumed that the
In this process, since the process of the
処理実行部114の処理が最終チェックポイント606に到達する前に、またもや障害が発生したと仮定する。障害判定部131がそのことを判定し、状態巻戻部133は、巻戻時点判定部132の判定結果に基づいて、実行部110の状態を第四チェックポイント605における状態655に戻す。処理実行部114は、第四チェックポイント605から処理を再開する。
It is assumed that a failure has occurred again before the processing of the
このように、繰り返し障害が発生した場合であっても、前に障害が発生した時点よりも後まで処理が進んだ場合には、前に発生していた障害の原因は除去され、新たな障害の原因が発生したと考えられる。この場合、プロセス実行装置100は、更に前のチェックポイントに戻るのではなく、直前のチェックポイントに戻って、処理を再開する。
In this way, even if a failure occurs repeatedly, if the processing has progressed beyond the point at which the previous failure occurred, the cause of the previous failure is removed and a new failure It seems that the cause of this occurred. In this case, the
図10は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。
FIG. 10 is a schematic diagram showing an example of the operation of the
第四チェックポイント605を通過したのち、障害が発生せずに、最終チェックポイント606に到達したと仮定する。チェックポイント判定部121がそのことを判定し、状態記憶部123は、記憶したデータを消去する。これにより、状態記憶部123の記憶内容619は、空になる。
Assume that after passing through the
この実施の形態におけるプロセス実行装置100は、データを記憶する記憶装置(磁気ディスク装置920)と、データを処理する処理装置(CPU911)と、実行部110と、状態記憶部123と、状態巻戻部133とを有する。
上記実行部110は、上記処理装置を用いて、プロセスを実行する。
上記状態記憶部123は、上記記憶装置を用いて、上記実行部110が上記プロセスを実行している途中の複数の中間時点(チェックポイント)それぞれについて、上記中間時点における上記実行部110の状態を記憶する。
上記状態巻戻部133は、上記処理装置を用いて、上記実行部110に障害が発生した場合に、上記状態記憶部123が記憶した状態のうちいずれかの中間時点の状態に、上記実行部110の状態を戻し、上記実行部110に更に障害が発生した場合に、上記状態記憶部123が記憶した状態のうち、上記実行部110の状態を戻した中間時点よりも前の中間時点における状態に、上記実行部110の状態を戻す。
The
The
The
When the failure occurs in the
この実施の形態におけるプロセス実行装置100によれば、実行部110の状態を中間時点における状態に戻して処理をやり直しても再び障害が発生する場合に、実行部110の状態をそれよりも前の中間時点における状態に戻して処理をやり直すので、障害の原因が早い段階で発生していた場合であっても、それよりも前の中間時点から処理をやり直すことができ、障害を克服して、正常に処理を続けることができる。
According to the
この実施の形態におけるプロセス実行装置100において、上記状態巻戻部133は、上記処理装置を用いて、上記実行部110に更に障害が発生した場合であって、上記実行部110の状態を戻した中間時点よりも前の中間時点における状態を、上記状態記憶部123が記憶していない場合に、上記実行部110に上記プロセスの実行を中断させる。
In the
この実施の形態におけるプロセス実行装置100によれば、更に前の中間時点における状態を状態記憶部123が記憶していない場合に、実行部110の処理を中断させるので、実行部110が入力したパラメータに異常があるなど、いくら処理をやり直しても障害が発生する場合に、処理の続行を断念し、次のプロセスの処理に移ることができる。
According to the
この実施の形態におけるプロセス実行装置100は、データを記憶する記憶装置(磁気ディスク装置920)とデータを処理する処理装置(CPU911)とを有するコンピュータを、上記プロセス実行装置100として機能させるコンピュータプログラムにより、実現することができる。
The
この実施の形態におけるコンピュータプログラムによれば、実行部110の状態を中間時点における状態に戻して処理をやり直しても再び障害が発生する場合に、実行部110の状態をそれよりも前の中間時点における状態に戻して処理をやり直すので、障害の原因が早い段階で発生していた場合であっても、それよりも前の中間時点から処理をやり直し、障害を克服して、正常に処理を続けるプロセス実行装置100を得ることができる。
According to the computer program of this embodiment, when a failure occurs again even if the state of the
この実施の形態におけるプロセス実行装置100が、プロセスを実行するプロセス実行方法は、以下の工程を有する。
上記処理装置が、上記プロセスを実行する(実行工程)。
上記記憶装置が、上記処理装置が上記プロセスを実行している途中の複数の中間時点(チェックポイント)それぞれについて、上記中間時点における状態を記憶する(状態記憶工程)。
上記処理装置が、上記プロセスの実行に障害が発生した場合に、上記記憶装置が記憶した状態のうちいずれかの中間時点の状態に、状態を戻す(第一状態巻戻工程)。
上記処理装置が、上記プロセスの実行に更に障害が発生した場合に、上記記憶装置が記憶した状態のうち、状態を戻した中間時点よりも前の中間時点における状態に、状態を戻す(第二状態巻戻工程)。
A process execution method in which the
The said processing apparatus performs the said process (execution process).
The storage device stores a state at the intermediate time point for each of a plurality of intermediate time points (check points) in the middle of execution of the process by the processing device (state storage step).
When a failure occurs in the execution of the process, the processing device returns the state to a state at any intermediate point among the states stored in the storage device (first state rewinding step).
When the processing device further fails in the execution of the process, the processing device returns the state to the state at the intermediate time point before the intermediate time point when the state is returned among the states stored in the storage device (second State unwinding step).
この実施の形態におけるプロセス実行方法によれば、状態を中間時点における状態に戻して処理をやり直しても再び障害が発生する場合に、状態をそれよりも前の中間時点における状態に戻して処理をやり直すので、障害の原因が早い段階で発生していた場合であっても、それよりも前の中間時点から処理をやり直し、障害を克服して、正常に処理を続けることができる。 According to the process execution method in this embodiment, when a failure occurs again even if the state is returned to the state at the intermediate point and the process is performed again, the state is returned to the state at the intermediate point before that and the process is performed. Since the process is redone, even if the cause of the failure has occurred at an early stage, the process can be restarted from an intermediate point before that to overcome the failure and continue processing normally.
以上説明したシステム再起動装置(プロセス実行装置100)は、プロセスの処理途中にある複数のチェックポイントを検出するチェックポイント検出装置(チェックポイント判定部121)を備え、障害が発生したことを検出する障害発生検出装置(障害判定部131)を備え、障害発生時にシステム(実行部110)の再起動を行うプロセス再起動装置(状態巻戻部133)を備え、障害発生時におけるシステム再起動時にシステムを直近のチェックポイントの状態に戻して再起動を試み、再起動失敗時にはさらにチェックポイントを1つ前の状態に戻し、以後再起動が成功するまで再起動を試みる再起動試行装置(障害処理部120)を設ける。 The system restart apparatus (process execution apparatus 100) described above includes a checkpoint detection apparatus (checkpoint determination unit 121) that detects a plurality of checkpoints in the middle of process processing, and detects that a failure has occurred. A failure detection device (failure determination unit 131) is provided, a process restart device (state rewinding unit 133) that restarts the system (execution unit 110) when a failure occurs, and the system is restarted when the failure occurs. Is returned to the state of the most recent checkpoint and a restart is attempted. When the restart fails, the checkpoint is further returned to the previous state, and after that, a restart attempt device (failure processing unit) that tries to restart until the restart is successful. 120).
システム再起動装置は、プロセス処理を実行するプロセス処理部(実行部110)、チェックポイントにおいてメモリ内容のスナップショットを採取するチェックポイント処理部(状態取得部122)、採取したスナップショットを蓄積するスナップショット蓄積部(状態記憶部123)、プロセス処理中の障害発生を検出する障害検出部(障害判定部131)、障害発生時にプロセス処理部の再起動を指示する再起動指示部(巻戻時点判定部132)、スナップショット蓄積部のスナップショットデータをプロセス処理部に書き戻す状態復帰指示部(状態巻戻部133)を有する。 The system restart device includes a process processing unit (execution unit 110) that executes process processing, a checkpoint processing unit (state acquisition unit 122) that collects a snapshot of memory contents at a checkpoint, and a snap that accumulates the collected snapshot. Shot accumulation unit (state storage unit 123), failure detection unit (failure determination unit 131) for detecting occurrence of a failure during process processing, restart instruction unit (rewind time determination) for instructing restart of the process processing unit when a failure occurs Unit 132) and a state return instruction unit (state rewind unit 133) for writing back the snapshot data of the snapshot storage unit to the process processing unit.
プロセス処理部のプロセス処理には、任意の処理実行間隔でチェックポイントというポイントが埋め込まれている。プロセス処理部がプロセス処理を実行し、チェックポイントに達すると、チェックポイント処理部が呼び出される。チェックポイント処理部は、プロセス処理実行部(処理実行部114)の内部メモリ(内部状態記憶部112)の内容をダンプして、これをスナップショットとしてスナップショット蓄積部に保存する。こうして、スナップショット蓄積部には、時系列順にプロセス処理実行部の内部メモリ情報が蓄積される。
プロセス処理の実行中に障害が発生し、プロセス処理部のプロセス処理がダウンした場合、障害検出部が障害発生を検出する。障害検出した障害検出部は、再起動指示部にプロセス処理部を再起動するよう、指示を出す。再起動の指示を受けた再起動指示部は、状態復帰指示部に直近のスナップショットをプロセス処理部に書き戻すよう指示を出す。指示を受けた状態復帰指示部は、スナップショット蓄積部から直近のスナップショットを取り出し、プロセス処理部の内部のメモリに書きこむ。その後、再起動指示部は、プロセス処理部に再起動の指示を出す。再起動の指示を受けたプロセス処理部は、状態復帰指示部から受け取った内部のメモリ内容を元にプロセス処理を再起動させる。
このとき、もし再びプロセス処理実行部に障害が発生した場合、上記の手順で再び再起動の指示を出すことになるが、再起動指示部は、状態復帰指示部に対して、直近からさらに1つ前のスナップショットをプロセス処理部に書き戻すように指示を出して、プロセス処理部に再起動を指示する。以降、プロセス処理部が正常に動作するまで、スナップショットを順に以前のものに戻していく。
In the process processing of the process processing unit, check points are embedded at arbitrary processing execution intervals. When the process processing unit executes the process processing and reaches the checkpoint, the checkpoint processing unit is called. The checkpoint processing unit dumps the contents of the internal memory (internal state storage unit 112) of the process processing execution unit (processing execution unit 114), and stores this as a snapshot in the snapshot storage unit. Thus, the internal memory information of the process processing execution unit is stored in the snapshot storage unit in chronological order.
When a failure occurs during execution of the process processing and the process processing of the process processing unit goes down, the failure detection unit detects the occurrence of the failure. The failure detection unit that has detected the failure instructs the restart instruction unit to restart the process processing unit. Upon receiving the restart instruction, the restart instruction unit instructs the state return instruction unit to write back the latest snapshot to the process processing unit. Upon receiving the instruction, the state return instruction unit takes the latest snapshot from the snapshot storage unit and writes it in the memory inside the process processing unit. Thereafter, the restart instruction unit issues a restart instruction to the process processing unit. Upon receiving the restart instruction, the process processing unit restarts the process processing based on the internal memory contents received from the state return instruction unit.
At this time, if a failure occurs again in the process processing execution unit, the restart instruction is issued again according to the above procedure, but the restart instruction unit further adds 1 to the state return instruction unit from the latest. An instruction is issued to write back the previous snapshot to the process processing unit, and the process processing unit is instructed to restart. Thereafter, the snapshot is returned to the previous one in order until the process processing unit operates normally.
以上のように、プロセス処理に障害が発生した場合に再起動時に直近かまたはそれに近い状態にメモリ内容を戻してからプロセス処理の再起動を行うようにしているので、プロセス処理の再起動時に最初から処理をすることなく正常な処理状態に戻すことができ、再起動時間を短縮することができる。 As described above, when a failure occurs in the process processing, the memory contents are returned to the state at or near the time of the restart, and then the process processing is restarted. Thus, it is possible to return to a normal processing state without performing processing, and to shorten the restart time.
以上説明したシステム再起動装置(プロセス実行装置100)は、プロセスがチェックポイントに達した時点で、システムのメモリ状態やCPU状態などの情報をスナップショット蓄積部(状態記憶部123)に吸い上げ、そのプロセスの処理が終了するまで蓄積し続け、プロセスの終了と同時に上記情報を破棄するスナップショット管理部(状態記憶部123)を設ける。 When the process reaches the checkpoint, the system restart device (process execution device 100) described above sucks information such as the memory state and CPU state of the system into the snapshot storage unit (state storage unit 123). A snapshot management unit (state storage unit 123) is provided that continues to accumulate until the processing of the process is completed, and discards the information at the same time as the end of the process.
システム再起動装置は、プロセス処理を実行するプロセス処理部(実行部110)、チェックポイントにおいてメモリ内容のスナップショットを採取するチェックポイント処理部(状態取得部122)、採取したスナップショットを蓄積するスナップショット蓄積部(状態記憶部123)、プロセス処理中の障害発生を検出する障害検出部(障害判定部131)、障害発生時にプロセス処理部の再起動を指示する再起動指示部(巻戻時点判定部132)、スナップショット蓄積部のスナップショットデータをプロセス処理部に書き戻す状態復帰指示部(状態巻戻部133)、プロセス処理のスナップショットの蓄積の指示や、スナップショットが必要なくなった際にスナップショットの破棄を指示するスナップショット管理部(状態記憶部123)を有する。 The system restart device includes a process processing unit (execution unit 110) that executes process processing, a checkpoint processing unit (state acquisition unit 122) that collects a snapshot of memory contents at a checkpoint, and a snap that accumulates the collected snapshot. Shot accumulation unit (state storage unit 123), failure detection unit (failure determination unit 131) for detecting occurrence of a failure during process processing, restart instruction unit (rewind time determination) for instructing restart of the process processing unit when a failure occurs Section 132), a state return instruction section (state rewind section 133) for writing back the snapshot data of the snapshot storage section to the process processing section, a process processing snapshot storage instruction, or a snapshot is no longer necessary Snapshot management unit (state storage unit 1) for instructing to discard a snapshot Having three).
プロセス処理部のプロセス処理には任意の処理間隔でチェックポイントが挿入されている。このチェックポイントにプロセス処理が到達すると、スナップショット管理部が動作し、以下の動作を行う。
チェックポイントがプロセス処理の最初にあった場合、プロセスの状態のスナップショットを取得し、入力情報をキーにしてスナップショット管理部に新規登録を行う。
チェックポイントがプロセス処理の中間にあった場合、プロセスの状態のスナップショットを取得し、入力情報をキーにしてスナップショット管理部に追加登録を行う。
チェックポイントがプロセス処理の終端にあった場合、入力情報をキーに登録されているスナップショットを全て破棄する。
Checkpoints are inserted at arbitrary processing intervals in the process processing of the process processing unit. When the process process reaches this checkpoint, the snapshot management unit operates and performs the following operations.
When the checkpoint is at the beginning of the process processing, a snapshot of the process state is acquired and newly registered in the snapshot management unit using the input information as a key.
If the checkpoint is in the middle of process processing, a snapshot of the process state is acquired, and additional registration is performed in the snapshot management unit using the input information as a key.
When the checkpoint is at the end of process processing, all snapshots registered with the input information as a key are discarded.
以上のように、プロセスの処理途中に設けたチェックポイントを通過する際にプロセスの状態のスナップショットを登録、削除することにより、プロセスに直接関連付けられるスナップショットのみを蓄積できることから、スナップショット蓄積部に蓄積されるデータ量を抑えることができる。 As described above, by registering and deleting a snapshot of the process state when passing through a checkpoint provided during the process of the process, only the snapshot directly associated with the process can be accumulated. The amount of data stored in can be reduced.
以上説明したシステム再起動装置(プロセス実行装置100)は、スナップショット蓄積部(状態記憶部123)に蓄積した全てのチェックポイントの状態に戻して再起動を試みたが再起動失敗した場合、その入力データ自体を無効として破棄し、次の入力データでプロセス処理を再開する入力データ判断装置(状態巻戻部133)を設ける。 When the system restart device (process execution device 100) described above attempts to restart by returning to the state of all checkpoints stored in the snapshot storage unit (state storage unit 123), An input data judging device (state rewinding unit 133) is provided that discards the input data itself as invalid and restarts the process processing with the next input data.
システム再起動装置は、プロセス処理を実行するプロセス処理部(実行部110)、チェックポイントにおいてメモリ内容のスナップショットを採取するチェックポイント処理部(状態取得部122)、採取したスナップショットを蓄積するスナップショット蓄積部(状態記憶部123)、プロセス処理中の障害発生を検出する障害検出部(障害判定部131)、障害発生時にプロセス処理部の再起動を指示する再起動指示部(巻戻時点判定部132)、スナップショット蓄積部のスナップショットデータをプロセス処理部に書き戻す状態復帰指示部(状態巻戻部133)、全てのスナップショットを使用して再起動を試みたが失敗した際に入力データを破棄して次の入力データで再起動を行う入力データ破棄判断部(巻戻時点判定部132)を有する。 The system restart device includes a process processing unit (execution unit 110) that executes process processing, a checkpoint processing unit (state acquisition unit 122) that collects a snapshot of memory contents at a checkpoint, and a snap that accumulates the collected snapshot. Shot accumulation unit (state storage unit 123), failure detection unit (failure determination unit 131) for detecting occurrence of a failure during process processing, restart instruction unit (rewind time determination) for instructing restart of the process processing unit when a failure occurs Unit 132), a state return instruction unit (state rewind unit 133) for writing back the snapshot data of the snapshot storage unit to the process processing unit, and input when an attempt to restart using all snapshots fails An input data discard determination unit (rewind time determination unit 132 that discards data and restarts with the next input data. Having.
プロセス処理部のプロセスが障害を起こして再起動指示部がスナップショットでシステムの状態を復旧しながら再起動を行うが再起動失敗を繰り返し、スナップショット蓄積部に蓄積されている最後のスナップショットを使用して再起動を行う。このとき、次のチェックポイントまでプロセス処理部のプロセスが実行された場合は、プロセス再起動が成功したと判断し、通常の動作を行う。もし次のチェックポイントまでに再起動に失敗した場合、状態復帰指示部は、入力データ判断部に再起動失敗の通知を行う。通知を受けた入力データ破棄判断部は、再起動指示部に現在の入力データを破棄し次の入力データでプロセス再起動を行うよう指示する。プロセス再起動の指示を受けた再起動指示部は、現在プロセス処理部に渡している入力データを破棄し、次の入力データをプロセス処理部に渡し、プロセスの再起動を行う。プロセス処理部は、現在の入力データを破棄し次の入力データでプロセスの処理を実行する。 When the process in the process processing unit fails and the restart instruction unit restarts while restoring the system status with the snapshot, the restart fails repeatedly, and the last snapshot stored in the snapshot storage unit Use to reboot. At this time, if the process of the process processing unit is executed up to the next check point, it is determined that the process restart is successful, and normal operation is performed. If the restart fails by the next check point, the state return instruction unit notifies the input data determination unit of the restart failure. Upon receiving the notification, the input data discard determination unit instructs the restart instruction unit to discard the current input data and restart the process with the next input data. Upon receiving the process restart instruction, the restart instruction unit discards the input data currently being passed to the process processing unit, passes the next input data to the process processing unit, and restarts the process. The process processing unit discards the current input data and executes the process with the next input data.
以上のように、全てのスナップショットを使ってプロセスの再起動を試して失敗した場合でも現在の入力データを破棄して次のデータで処理続行するため、プロセス再起動時間を短縮でき、効率よくシステムを稼動することができる。 As mentioned above, even if the process restart is attempted using all snapshots and fails, the current input data is discarded and processing continues with the next data, so the process restart time can be shortened and efficient. The system can be operated.
実施の形態2.
実施の形態2について、図11〜図16を用いて説明する。
なお、実施の形態1と共通する部分については、同一の符号を付し、説明を省略する。
Embodiment 2. FIG.
The second embodiment will be described with reference to FIGS.
In addition, about the part which is common in Embodiment 1, the same code | symbol is attached | subjected and description is abbreviate | omitted.
図11は、この実施の形態におけるプロセス実行装置100の機能ブロックの構成の一例を示すブロック構成図である。
プロセス実行装置100は、実施の形態1で説明した巻戻時点判定部132を有さず、その代わり、状態削除部134を有する。
FIG. 11 is a block configuration diagram showing an example of a functional block configuration of the
The
状態巻戻部133は、障害判定部131が実行部110に障害が発生したと判定した場合に、状態記憶部123が記憶したデータのうち、最も新しいチェックポイントに対応するデータを状態記憶部123から読み出し、内部状態記憶部112に書き込む。これにより、実行部110の状態がそのチェックポイントの時点における状態に戻り、処理実行部114は、そのチェックポイントから処理を再開する。
When the
状態削除部134は、状態記憶部123が記憶したデータを状態巻戻部133が内部状態記憶部112に書き込んで、実行部110の状態をあるチェックポイントの時点の状態に戻した場合に、CPU911を用いて、状態記憶部123が記憶したデータのなかから、状態記憶部123が内部状態記憶部112に書き込んだデータを削除する。
実行部110に再び障害が発生した場合、一回書き戻したデータは削除されているので、状態巻戻部133が、実行部110の状態を再び同じ状態に戻すことはない。
When the
When the failure occurs again in the
図12は、この実施の形態における障害処理S510の流れの一例を示すフローチャート図である。
障害処理S510は、実施の形態1で説明した状態判定工程S524、巻戻時点前進工程S525、巻戻時点後退工程S534を有さず、その代わり、状態削除工程S535を有する。
FIG. 12 is a flowchart showing an example of the flow of the failure process S510 in this embodiment.
The failure process S510 does not include the state determination step S524, the rewind time advance step S525, and the rewind time retreat step S534 described in the first embodiment, but has a state deletion step S535 instead.
巻戻時点判定工程S531において、状態巻戻部133は、CPU911を用いて、いずれかのチェックポイントにおける状態を表わすデータを状態記憶部123が記憶しているか否かを判定する。
状態記憶部123がデータを記憶していないと判定した場合、処理中断工程S532へ進む。
状態記憶部123がデータを記憶していると判定した場合、状態巻戻工程S533へ進む。
In the rewinding time determination step S531, the
When the
When it is determined that the
状態巻戻工程S533において、状態巻戻部133は、CPU911を用いて、状態記憶部123が記憶したデータのうち、一番後ろのチェックポイントに対応するデータを読み出し、内部状態記憶部112に書き込む。
その後、状態削除工程S535へ進む。
In the state rewinding step S533, the
Then, it progresses to state deletion process S535.
状態削除工程S535において、状態削除部134は、CPU911を用いて、状態記憶部123が記憶したデータのうち、状態巻戻工程S533で状態巻戻部133が読み出したデータを削除する。
その後、障害判定工程S511に戻る。
In the state deletion step S535, the state deletion unit 134 uses the
Thereafter, the process returns to the failure determination step S511.
図13は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。
FIG. 13 is a schematic diagram showing an example of the operation of the
プロセス開始時601において、状態記憶部123の記憶内容621は、空である。
処理実行部114の処理が第一チェックポイント602まで到達すると、状態記憶部123の記憶内容622に、第一チェックポイント602における状態652が追加される。
処理実行部114の処理が第二チェックポイント603まで到達すると、状態記憶部123の記憶内容623に、第二チェックポイント603における状態653が追加される。
処理実行部114の処理が第三チェックポイント604まで到達すると、状態記憶部123の記憶内容624に、第三チェックポイント604における状態654が追加される。
このように、処理実行部114の処理が順調に進んでいる限り、状態記憶部123が記憶するデータの内容は、実施の形態1の場合と同じである。
At the time of starting the
When the process of the
When the process of the
When the process of the
Thus, as long as the process of the
処理実行部114の処理が第四チェックポイント605に到達する前に、障害が発生したと仮定する。状態記憶部123が記憶したデータのうち一番最後のデータは第三チェックポイント604に対応するデータなので、状態巻戻部133は、実行部110の状態を第三チェックポイント604における状態654に戻す。処理実行部114は、第三チェックポイント604から処理を再開する。
It is assumed that a failure has occurred before the process of the
図14は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。
FIG. 14 is a schematic diagram showing an example of the operation of the
処理実行部114が第三チェックポイント604から処理を再開すると、状態記憶部123が記憶したデータのなかから第三チェックポイント604に対応するデータを状態削除部134が削除する。状態記憶部123の記憶内容625は、第一チェックポイント602における状態652と、第二チェックポイント603における状態653との2つになる。
When the
処理実行部114の処理が第四チェックポイント605に到達する前に、再び障害が発生したと仮定する。状態記憶部123が記憶したデータのうち一番最後のデータは第二チェックポイント603に対応するデータなので、状態巻戻部133は、実行部110の状態を第二チェックポイント603における状態653に戻す。処理実行部114は、第二チェックポイント603から処理を再開する。
It is assumed that a failure has occurred again before the processing of the
このように、処理を再開した時点のデータを、状態削除部134が状態記憶部123から削除するので、同じところで再び障害が発生した場合、処理実行部114は、一つ前のチェックポイントに戻って、処理を再開する。これにより、直前のチェックポイントに到達するよりも前の時点で障害の原因が発生していた場合であっても、障害発生前の時点から処理を再開することができるので、障害を克服し、正常に処理を続けることができる。
In this way, since the state deletion unit 134 deletes the data at the time of restarting the process from the
図15は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。
FIG. 15 is a schematic diagram showing an example of the operation of the
処理実行部114が第二チェックポイント603から処理を再開すると、状態記憶部123が記憶したデータのなかから第二チェックポイント603に対応するデータを状態削除部134が削除する。状態記憶部123の記憶内容626は、第一チェックポイント602における状態652だけになる。
When the
処理実行部114の処理が第三チェックポイント604に再び到達すると、状態記憶部123は、内部状態記憶部112が記憶したデータを、第三チェックポイント604に対応する新たなデータとして記憶する。状態記憶部123の記憶内容627は、第一チェックポイント602における状態652と、第三チェックポイント604における新しい状態654との2つになる。
When the process of the
処理実行部114の処理が第四チェックポイント605に到達する前に、三たび障害が発生したと仮定する。状態記憶部123が記憶したデータのうち一番最後のデータは第三チェックポイント604に対応するデータなので、状態巻戻部133は、実行部110の状態を第三チェックポイント604における状態654に戻す。処理実行部114は、第三チェックポイント604から処理を再開する。
It is assumed that a failure has occurred three times before the process of the
同じところで障害が発生した場合であっても、直前のチェックポイントにおける状態が前回とは異なるので、障害の原因が異なる可能性がある。したがって、直前のチェックポイントから処理をやり直してみる価値がある。プロセス実行装置100は、前のチェックポイントに戻って処理をやり直し、それよりも後のチェックポイントを通過してそのチェックポイントにおける状態が更新された場合には、状態が更新されたチェックポイントに戻って、処理をやり直す。これにより、更に前のチェックポイントに戻らなくても、障害を克服し、正常に処理を続けることができる場合がある。
Even if a failure occurs at the same time, the cause of the failure may be different because the state at the previous checkpoint is different from the previous one. Therefore, it is worth trying again from the previous checkpoint. The
図16は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。
FIG. 16 is a schematic diagram showing an example of the operation of the
処理実行部114が再び第三チェックポイント604から処理を再開すると、状態記憶部123が記憶したデータのなかから第三チェックポイント604に対応するデータを状態削除部134が、削除する。状態記憶部123の記憶内容628は、第一チェックポイント602における状態652だけになる。
When the
処理実行部114の処理が第四チェックポイント605に到達する前に、四たび障害が発生したと仮定する。状態記憶部123が記憶したデータのうち一番最後のデータは第一チェックポイント602に対応するデータなので、状態巻戻部133は、実行部110の状態を第一チェックポイント602における状態652に戻す。処理実行部114は、第一チェックポイント602から処理を再開する。
It is assumed that a failure has occurred four times before the processing of the
状態が更新されたチェックポイントに戻って処理を再開しても、同じところで障害が発生する場合には、新たな障害の原因が発生したと考えるよりも、もっと前の時点に障害の原因があると考えるほうが妥当である。プロセス実行装置100は、前に戻ったチェックポイントよりも更に前のチェックポイントに戻り、処理をやり直す。これにより、障害の原因発生前の時点から処理を再開することができれば、障害を克服し、正常に処理を続けることができる。
If you return to a checkpoint with an updated state and resume processing, but a failure occurs at the same point, the cause of the failure is at an earlier point in time than if a new cause of failure occurred It is more reasonable to think. The
この実施の形態におけるプロセス実行装置100において、上記状態巻戻部133は、上記処理装置(CPU911)を用いて、上記実行部110に障害が発生した場合に、上記状態記憶部123が記憶した状態のうち、最も新しい中間時点(チェックポイント)の状態に、上記実行部110の状態を戻す。
上記状態記憶部(状態削除部134)は、上記処理装置を用いて、記憶した状態のうち、上記状態巻戻部133が上記実行部110の状態を戻した中間時点の状態を削除する。
In the
The state storage unit (state deletion unit 134) uses the processing device to delete a state at an intermediate time point when the
この実施の形態におけるプロセス実行装置100によれば、上記状態巻戻部133が上記実行部110の状態を戻した中間時点の状態を状態記憶部(状態削除部134)が削除するので、巻戻時点の管理が容易になる。また、繰り返し障害が発生したプロセスについて、状態記憶部123が記憶する状態の数が減るので、状態記憶部123が使用する記憶領域が少なくなる。
According to the
以上説明したシステム再起動装置(プロセス実行装置100)は、障害発生時にシステム(実行部110)を直近のチェックポイントの状態に戻して再起動を試みたが再起動失敗した場合、そのチェックポイントで取得した情報は無効として破棄するチェックポイント情報破棄判断部(状態削除部134)を設ける。 The system restart device (process execution device 100) described above attempts to restart the system (execution unit 110) by returning the system (execution unit 110) to the state of the most recent check point when a failure occurs. A checkpoint information discard determination unit (state deletion unit 134) that discards the acquired information as invalid is provided.
システム再起動装置は、プロセス処理を実行するプロセス処理部(実行部110)、チェックポイントにおいてメモリ内容のスナップショットを採取するチェックポイント処理部(状態取得部122)、採取したスナップショットを蓄積するスナップショット蓄積部(状態記憶部123)、プロセス処理中の障害発生を検出する障害検出部(障害判定部131)、障害発生時にプロセス処理部の再起動を指示する再起動指示部(状態巻戻部133)、スナップショット蓄積部のスナップショットデータをプロセス処理部に書き戻す状態復帰指示部(状態巻戻部133)、障害発生時にスナップショットが必要なくなった際にスナップショットの破棄を指示するチェックポイント情報破棄判断部(状態削除部134)を有する。 The system restart device includes a process processing unit (execution unit 110) that executes process processing, a checkpoint processing unit (state acquisition unit 122) that collects a snapshot of memory contents at a checkpoint, and a snap that accumulates the collected snapshot. Shot accumulation unit (state storage unit 123), failure detection unit (failure determination unit 131) for detecting occurrence of a failure during process processing, restart instruction unit (state rewinding unit) for instructing restart of the process processing unit when a failure occurs 133), a state return instructing unit (state rewinding unit 133) for writing back the snapshot data of the snapshot accumulating unit to the process processing unit, and a checkpoint for instructing to discard the snapshot when a snapshot is no longer necessary when a failure occurs An information discard determination unit (state deletion unit 134) is included.
障害検出部で検出した障害に対し、状態復帰指示部は、スナップショット蓄積部からスナップショットを取り出してプロセス処理部の状態を復帰するとともに、チェックポイント破棄判断部に再起動するスナップショットとして登録する。この状態で、再起動指示部からの指示でプロセスの再起動を行い、プロセスが次のチェックポイントに到達することによりプロセスが正常に動作したという判断を状態復帰指示部からチェックポイント情報破棄判断部に通知し、チェックポイント破棄判断部は当該スナップショットは有効として、スナップショット蓄積部に当該スナップショットを保持するように指示する。もし、プロセスの再起動時、次のチェックポイントに到達することなくプロセスに障害が発生した場合、状態復帰指示部は、チェックポイント破棄判断部に再起動が失敗したことを通知する。チェックポイント破棄判断部は、当該スナップショットは問題ありと判断して、スナップショット蓄積部に当該スナップショットを破棄する。 In response to a failure detected by the failure detection unit, the state return instruction unit retrieves a snapshot from the snapshot storage unit to return the state of the process processing unit and registers it as a snapshot to be restarted in the checkpoint discard determination unit. . In this state, the process is restarted in accordance with an instruction from the restart instruction unit, and the determination that the process has normally operated when the process reaches the next checkpoint is made from the state return instruction unit to the checkpoint information discard determination unit And the checkpoint discard determination unit instructs the snapshot storage unit to hold the snapshot as valid. If a failure occurs in the process without reaching the next checkpoint when the process is restarted, the state return instruction unit notifies the checkpoint discard determination unit that the restart has failed. The checkpoint discard determination unit determines that the snapshot has a problem and discards the snapshot in the snapshot storage unit.
以上のように、スナップショット蓄積部に無効なスナップショットの情報を蓄積することがなくなり、新たなチェックポイントを通過しながら複数回障害発生して再起動を行うことになっても、スナップショット蓄積部からは常に時系列の逆順でスナップショットを取り出せばよいことになり、再起動時のスナップショット取り出しを効率よく行うことができる。 As described above, invalid snapshot information is no longer stored in the snapshot storage unit, and even if a failure occurs multiple times and restarts while passing through a new checkpoint, the snapshot is stored. From this section, it is always necessary to take out snapshots in the reverse order of time series, and it is possible to efficiently take out snapshots at the time of restart.
実施の形態3.
実施の形態3について、図17を用いて説明する。
この実施の形態におけるプロセス実行装置100の構成は、実施の形態1または実施の形態2で説明したプロセス実行装置100と同様なので、説明を省略し、異なる点のみを説明する。
Embodiment 3 FIG.
The third embodiment will be described with reference to FIG.
Since the configuration of the
チェックポイント判定部121は、実行部110がプロセスの処理を開始した場合に、CPU911を用いて、実行部110におけるプロセスの処理がチェックポイントに到達したと判定する。すなわち、プロセスの開始時点に、最初のチェックポイントを設ける。
実行部110がプロセスの処理を開始すると、実行部110におけるプロセスの処理がチェックポイントに到達したとチェックポイント判定部121が判定するので、内部状態記憶部112が記憶したデータを状態取得部122が取得し、状態記憶部123が記憶する。
When the
When the
図17は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。
FIG. 17 is a schematic diagram showing an example of the operation of the
処理実行部114がプロセスの処理を開始すると、実行部110の処理が第一チェックポイント602に到達したとチェックポイント判定部121が判定し、内部状態記憶部112が記憶したデータを状態取得部122が取得して、状態記憶部123が記憶する。したがって、プロセス開始の時点で、状態記憶部123は、記憶内容631として、プロセス開始時の状態652を表わすデータを記憶している。
When the
処理実行部114の処理が第二チェックポイント603に到達する前に障害が発生したと仮定する。状態記憶部123がプロセス開始時の状態652を記憶しているので、巻戻時点判定部132は、処理実行部114の状態をプロセス開始時の状態652に戻す。処理実行部114は、第一チェックポイント602(プロセス開始時点)から処理を再開する。
It is assumed that a failure has occurred before the process of the
実施の形態1や実施の形態2におけるプロセス実行装置100は、プロセス開始直後など、最初のチェックポイントまで処理実行部114の処理が到達する前に障害が発生した場合、実行部110の状態を戻すべきチェックポイントが存在しないので、プロセスの処理を中断する。この実施の形態におけるプロセス実行装置100は、プロセス開始直後に障害が発生した場合であっても、実行部110の状態を戻すべきチェックポイント(プロセス開始時)が存在するので、その状態に実行部110の状態を戻して、処理を再開することができる。
The
実施の形態4.
実施の形態4について、図18を用いて説明する。
この実施の形態におけるプロセス実行装置100の構成は、実施の形態1〜実施の形態3で説明したプロセス実行装置100と同様なので、異なる点のみを説明する。
Embodiment 4 FIG.
The fourth embodiment will be described with reference to FIG.
Since the configuration of the
状態取得部122は、あらかじめ、CPU911を用いて、初期化実行部111が初期化処理を実行した直後に内部状態記憶部112が記憶しているデータ(以下「初期化状態データ」と呼ぶ。)を取得しておく。状態記憶部123は、あらかじめ、磁気ディスク装置920を用いて、状態取得部122が取得した初期化状態データを、プロセスの一番最初の時点に対応するデータとして記憶しておく。
また、状態記憶部123は、プロセス実行が終了した場合やプロセス実行が中断した場合、CPU911を用いて、記憶したデータを消去する。ただし、状態記憶部123は、初期化状態データだけは残し、CPU911を用いて、それ以外のデータを削除する。
The
Further, the
図18は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。
FIG. 18 is a schematic diagram showing an example of the operation of the
実行部110がプロセスの処理を開始する前の時点において、状態記憶部123は、記憶内容632として、初期化状態651を表わすデータを記憶している。
したがって、プロセス開始直後に障害が発生した場合であっても、実行部110の状態を戻すべきチェックポイント(初期化実行時)が存在するので、その状態に実行部110の状態を戻して、処理を再開することができる。
また、もっとあとの時点で障害が発生し、実行部110の状態を戻して処理をやり直しても、障害を克服できない場合、プロセスの処理を開始した時点における実行部110の内部状態に障害の原因がある可能性がある。そのような場合、初期化処理を実行してからプロセスの処理を再開することにより、障害を克服でき、正常に処理を続けることができる。
Before the
Therefore, even if a failure occurs immediately after the start of the process, there is a checkpoint (at the time of initialization execution) to which the state of the
Further, if a failure occurs at a later time and the failure cannot be overcome even if the state of the
更に、実施の形態3と同様、プロセスの開始時にも、実行部110がチェックポイントに到達したとチェックポイント判定部121が判定する構成であれば、処理実行部114がプロセスの処理を開始した時点で、状態記憶部123は、記憶内容633として、初期化状態651とプロセス開始時における状態652との2つを表わすデータを記憶している。
したがって、プロセス開始直後に障害が発生し、プロセス開始時の状態に実行部110の状態を戻して処理を再開したが、再び障害が発生した場合であっても、まだ更に実行部110の状態を戻すべきチェックポイント(初期化実行時)が存在するので、その状態に実行部110の状態を戻して、もう一度、処理を再開することができる。
Further, as in the third embodiment, when the process is started, if the
Therefore, a failure occurs immediately after the start of the process, and the state of the
この実施の形態におけるプロセス実行装置100において、上記状態記憶部123は、上記記憶装置(磁気ディスク装置920)を用いて、最初の中間時点(チェックポイント)における上記実行部110の状態として、上記実行部110を初期化した状態を記憶する。
In the
この実施の形態におけるプロセス実行装置100によれば、中間時点における状態に実行部110の状態を戻して処理をやり直しても障害を克服できない場合に、初期化した状態に実行部110の状態を戻して処理をやり直すので、プロセス開始時における実行部110の状態に障害の原因がある場合でも、障害を克服し、正常に処理を続けることができる。
According to the
なお、初期化実行部111が初期化処理を実行した直後の状態651を、状態記憶部123があらかじめ記憶しておくのではなく、状態記憶部123が記憶しているデータのなかに、実行部110の状態を戻すべきチェックポイントに対応するものがなくなった時点で、初期化実行部111が初期化処理を実行し、その後、処理実行部114がプロセスの処理を再開する構成としてもよい。
It should be noted that the
以上説明したシステム再起動装置(プロセス実行装置100)は、スナップショット蓄積部(状態記憶部123)に蓄積した全てのチェックポイントの状態に戻して再起動を試みたが再起動失敗した場合、そのプロセスの内部で保持しているデータに異常があると判断して内部データを全て初期化し、同じ入力データでプロセス処理を再開する内部データ初期化装置(初期化実行部111)を設ける。 When the system restart device (process execution device 100) described above attempts to restart by returning to the state of all checkpoints stored in the snapshot storage unit (state storage unit 123), An internal data initialization device (initialization execution unit 111) is provided that determines that there is an abnormality in the data held in the process, initializes all internal data, and resumes process processing with the same input data.
システム再起動装置は、プロセス処理を実行するプロセス処理部(実行部110)、チェックポイントにおいてメモリ内容のスナップショットを採取するチェックポイント処理部(状態取得部122)、採取したスナップショットを蓄積するスナップショット蓄積部(状態記憶部123)、プロセス処理中の障害発生を検出する障害検出部(障害判定部131)、障害発生時にプロセス処理部の再起動を指示する再起動指示部(状態巻戻部133)、スナップショット蓄積部のスナップショットデータをプロセス処理部に書き戻す状態復帰指示部(状態巻戻部133)、全てのスナップショットを使用して再起動を試みたが失敗した際に内部情報を全て初期化して再起動を行う内部データ初期化部(初期化実行部111)を有する。 The system restart device includes a process processing unit (execution unit 110) that executes process processing, a checkpoint processing unit (state acquisition unit 122) that collects a snapshot of memory contents at a checkpoint, and a snap that accumulates the collected snapshot. Shot accumulation unit (state storage unit 123), failure detection unit (failure determination unit 131) for detecting occurrence of a failure during process processing, restart instruction unit (state rewinding unit) for instructing restart of the process processing unit when a failure occurs 133), a state return instructing unit (state rewinding unit 133) for writing back the snapshot data of the snapshot storage unit to the process processing unit, and internal information when restart is attempted using all snapshots but fails. Has an internal data initialization unit (initialization execution unit 111) that initializes and restarts.
プロセス処理部のプロセスが障害を起こして再起動指示部がスナップショットでシステムの状態を復旧しながら再起動を行うが再起動失敗を繰り返し、スナップショット蓄積部に蓄積されている最後のスナップショットを使用して再起動を行う。このとき、次のチェックポイントまでプロセス処理部のプロセスが実行された場合は、プロセス再起動が成功したと判断し、通常の動作を行う。もし次のチェックポイントまでに再起動に失敗した場合、状態復帰指示部は内部データ初期化部に再起動失敗の通知を行う。通知を受けた内部データ初期化部は、プロセス初期化に対してプロセス処理に使用する内部情報を全て初期値にするように指示をする。その後、再起動指示部にプロセス再起動を指示する。プロセス再起動の指示を受けた再起動指示部は、現在の入力データをプロセス処理部に与えてプロセスの起動を指示ずる。プロセスの起動指示を受けたプロセス処理部は再起動指示部から入力データを受け取り、プロセスの処理を開始する。 When the process in the process processing unit fails and the restart instruction unit restarts while restoring the system status with the snapshot, the restart fails repeatedly, and the last snapshot stored in the snapshot storage unit Use to reboot. At this time, if the process of the process processing unit is executed up to the next check point, it is determined that the process restart is successful, and normal operation is performed. If the restart fails by the next checkpoint, the state return instruction unit notifies the internal data initialization unit of the restart failure. Upon receiving the notification, the internal data initialization unit instructs the process initialization to set all internal information used for process processing to initial values. Thereafter, the restart instruction unit is instructed to restart the process. Upon receiving the process restart instruction, the restart instruction unit gives the current input data to the process processing unit and instructs the process start. Upon receiving the process start instruction, the process processing unit receives input data from the restart instruction unit and starts processing the process.
以上のように、全てのスナップショットを使ってプロセスの再起動を試して失敗した場合でもプロセス自体の内部情報を初期化することによりシステムをダウンさせることなくプロセスの再起動を行うことができるため、システム全体の再起動時間を短縮でき、効率よくシステムを稼動することができる。 As mentioned above, even if you try to restart the process using all snapshots and fail, it is possible to restart the process without bringing down the system by initializing the internal information of the process itself The restart time of the entire system can be shortened, and the system can be operated efficiently.
実施の形態5.
実施の形態5について、図19〜図21を用いて説明する。
なお、実施の形態1〜実施の形態4と共通する部分については、同一の符号を付し、説明を省略する。
Embodiment 5 FIG.
The fifth embodiment will be described with reference to FIGS.
In addition, about the part which is common in Embodiment 1- Embodiment 4, the same code | symbol is attached | subjected and description is abbreviate | omitted.
図19は、この実施の形態におけるプロセス実行装置100の全体構成の一例を示す全体構成図である。
プロセス実行装置100は、2つの実行部110、2つの障害処理部120、系切替部180を有する。
系切替部180は、CPU911を用いて、2つの実行部110のうち、いずれか一方を常用系とし、他方を待機系とする。系切替部180は、CPU911を用いて、いずれの実行部110を常用系とするかを判定し、判定した結果を実行部110や障害処理部120に対して通知する。
系切替部180は、CPU911を用いて、外部からパラメータなどを入力して、常用系・待機系双方の実行部110に対して通知する。また、系切替部180は、常用系の実行部110が出力したプロセス実行の結果を取得し、外部に出力する。
FIG. 19 is an overall configuration diagram showing an example of the overall configuration of the
The
The
The
それぞれの障害処理部120は、CPU911を用いて、対応する実行部110におけるプロセスの実行を監視し、障害が発生した場合にその障害に対処する処理を行う。実行部110が常用系である場合と待機系である場合とでは、障害に対する対処が異なる。障害処理部120は、CPU911を用いて、系切替部180からの通知に基づいて、対応する実行部110が常用系であるか待機系であるかを判断し、判断結果に基づいて、障害に対処する。
また、障害処理部120は、CPU911を用いて、実行部110における障害の発生状況などを系切替部180に通知する。系切替部180は、CPU911を用いて、障害処理部120からの通知に基づいて、いずれの実行部110を常用系とするかを判定する。
Each
Further, the
図20は、この実施の形態における実行処理S550の流れの一例を示すフローチャート図である。
実行処理S550において、実行部110は、プロセスを実行する。実行処理S550は、系判定工程S551、初期化工程S552、プロセス実行工程S553を有する。
FIG. 20 is a flowchart showing an example of the flow of the execution process S550 in this embodiment.
In the execution process S550, the
系判定工程S551において、実行部110は、CPU911を用いて、系切替部180からの通知に基づいて、自身が常用系であるか待機系であるかを判定する。
常用系であると判定した場合、プロセス実行工程S553へ進む。
待機系であると判定した場合、初期化工程S552へ進む。
In the system determination step S551, the
When it is determined that the system is the regular system, the process proceeds to the process execution step S553.
If it is determined that the system is a standby system, the process proceeds to the initialization step S552.
初期化工程S552において、実行部110(初期化実行部111)は、CPU911を用いて、初期化処理を実行する。
プロセス実行工程S553において、実行部110(処理実行部114)は、CPU911を用いて、プロセスを実行する。
In the initialization step S552, the execution unit 110 (initialization execution unit 111) executes an initialization process using the
In the process execution step S553, the execution unit 110 (process execution unit 114) executes a process using the
このように、常用系の実行部110は、前回のプロセス終了時の状態を引き継いで、次のプロセスを実行するのに対し、待機系の実行部110は、初期化処理を実行してから、次のプロセスを実行する。前回のプロセス終了時の状態に異常があることが原因で、常用系の実行部110に障害が発生した場合、待機系の実行部110は、正常にプロセスを実行できる。
In this way, the
図21は、この実施の形態における系切替処理S590の流れの一例を示すフローチャート図である。
系切替処理S590において、系切替部180は、常用系・待機系を管理し、実行部110における障害の発生状況に基づいて、系の切替えを行う。系切替処理S590は、パラメータ入力工程S591、常用系状況判定工程S592、切替工程S593、旧待機系状況判定工程S594、結果出力工程S595を有する。
FIG. 21 is a flowchart showing an example of the flow of the system switching process S590 in this embodiment.
In the system switching process S590, the
パラメータ入力工程S591において、系切替部180は、CPU911を用いて、外部からパラメータを入力する。系切替部180は、CPU911を用いて、常用系・待機系を問わず、2つの実行部110に対して、入力したパラメータを通知する。
これにより、常用系の実行部110は、前回のプロセス終了時の状態を引き継いで、プロセスの実行を開始する。また、待機系の実行部110は、初期化処理実行ののち、プロセスの実行を開始する。なお、待機系の実行部110は、あらかじめ初期化処理を実行しておき、パラメータ入力後すぐに、プロセスの実行を開始する構成であってもよい。
In the parameter input step S591, the
Thus, the
常用系状況判定工程S592において、系切替部180は、CPU911を用いて、常用系である実行部110におけるプロセスの実行状況を判定する。
プロセスの実行が終了したと判定した場合、結果出力工程S595へ進む。
プロセスの実行が中断したと判定した場合、切替工程S593へ進む。
プロセスの実行が終了も中断もしていないと判定した場合、常用系状況判定工程S592を繰り返す。
In the regular system status determination step S592, the
If it is determined that the process has been completed, the process proceeds to a result output step S595.
When it is determined that the execution of the process is interrupted, the process proceeds to the switching step S593.
If it is determined that the process has not been completed or interrupted, the routine status determination step S592 is repeated.
例えば、実施の形態1で説明したように、実行部110に障害が発生したが、状態を戻すべきチェックポイントが存在しない場合、障害処理部120が、実行部110におけるプロセスの実行を中断させる。障害処理部120は、CPU911を用いて、そのことを系切替部180に通知する。系切替部180は、CPU911を用いて、障害処理部120からの通知に基づいて、実行部110におけるプロセスの実行が中断したと判定する。
また、実行部110におけるプロセスの実行が終了した場合、実行部110は、プロセス実行の結果を出力する。系切替部180は、CPU911を用いて、実行部110が出力した結果を取得し、実行部110におけるプロセスの実行が終了したと判定する。
For example, as described in the first embodiment, when a failure has occurred in the
Further, when the execution of the process in the
切替工程S593において、系切替部180は、CPU911を用いて、待機系の実行部110を常用系に切り替え、常用系の実行部110を待機系に切り替える。
旧待機系の実行部110は、この時点で既にプロセスの実行を開始している。場合によっては、既にプロセスの実行を終了し、結果を出力している場合もある。また、入力したパラメータに異常があった場合など、初期化処理実行後にプロセスを実行しても、やはり障害が発生する場合には、既にプロセスの実行を中断している場合もある。
In the switching step S <b> 593, the
The old
旧待機系状況判定工程S594において、系切替部180は、CPU911を用いて、新常用系(=旧待機系)である実行部110におけるそのプロセスの実行状況を判定する。
そのプロセスの実行が終了していると判定した場合、結果出力工程S595へ進む。
そのプロセスの実行が中断していると判定した場合、パラメータ入力工程S591に戻る。すなわち、そのプロセスの続行を断念し、次のプロセスに備える。
そのプロセスの実行が終了も中断もしていないと判定した場合、旧待機系状況判定工程S594を繰り返す。
In the old standby system status determination step S594, the
If it is determined that the execution of the process has been completed, the process proceeds to a result output step S595.
If it is determined that the execution of the process is interrupted, the process returns to the parameter input step S591. That is, abandon the continuation of the process and prepare for the next process.
If it is determined that the execution of the process has not been terminated or interrupted, the old standby system status determination step S594 is repeated.
結果出力工程S595において、系切替部180は、CPU911を用いて、常用系である実行部110が出力した結果を取得する。系切替部180は、CPU911を用いて、取得した結果を外部に出力する。
その後、パラメータ入力工程S591に戻り、次のプロセスに備える。
In the result output step S595, the
Thereafter, the process returns to the parameter input step S591 to prepare for the next process.
このように、常用系である実行部110がプロセスの実行を開始した時点における状態に異常があったことが原因で障害が発生した場合、待機系である実行部110が初期化処理実行後にプロセスを実行した結果を、プロセス実行装置100の出力とする。これにより、障害を克服することができる。
また、待機系である実行部110が先行してプロセスを実行しておくので、障害が発生したことによる遅延を少なくすることができる。すなわち、プロセス実行装置100は、あまり遅延することなく、結果を出力することができる。
また、プロセス実行装置100が入力したパラメータ自体に異常があり、それが原因で障害が発生する場合には、常用系でも(旧)待機系でも障害が発生し、プロセスを続行することができない。そのような場合でも、待機系である実行部110が先行してプロセスを実行しておくことにより、いずれにしても障害が発生することを早く検知できる。したがって、そのプロセスの続行を早期に断念し、次のプロセスに移ることができる。これは、トラフィックが多く、プロセスの実行待ち行列が発生するような場合に、特に有効である。
As described above, when a failure occurs due to an abnormality in the state at the time when the
In addition, since the
In addition, when a parameter itself input by the
なお、この例では、複数の実行部110に対応する複数の障害処理部120を設け、それぞれの障害処理部120が、それぞれ対応する実行部110を管理する構成について説明したが、一つの障害処理部120が、複数の実行部110を管理する構成であってもよい。
In this example, a configuration has been described in which a plurality of
この実施の形態におけるプロセス実行装置100は、更に、複数の上記実行部110と、系切替部180とを有する。
上記実行部のうち第一の実行部110は、上記処理装置を用いて、常用系として、上記プロセスを実行する。
上記実行部のうち第二の実行部110は、上記処理装置を用いて、待機系として、上記プロセスを実行する。
上記状態記憶部123は、上記記憶装置を用いて、複数の上記実行部110それぞれについて、上記中間時点における上記実行部110の状態を記憶する。
上記系切替部180は、上記処理装置を用いて、上記第一の実行部110に障害が発生した場合に、上記第二の実行部110を常用系に切り替え、上記第一の実行部110を待機系に切り替える。
The
Among the execution units, the
Of the execution units, the
The
The
この実施の形態におけるプロセス実行装置100によれば、常用系である実行部110に障害が発生した場合に、待機系である実行部110を常用系に切り替えるので、早期に障害に対処することができる。
According to the
この実施の形態におけるプロセス実行装置100において、上記第二の実行部110は、上記処理装置を用いて、待機系として、初期化処理を実行したのち、上記プロセスを実行する。
上記系切替部180は、上記処理装置を用いて、上記第一の実行部110に障害が発生した場合であって、上記状態巻戻部133が上記第一の実行部110の状態を戻すべき中間時点における状態を、上記状態記憶部123が記憶していない場合に、上記第二の実行部110を常用系に切り替え、上記第一の実行部110を待機系に切り替える。
In the
The
この実施の形態におけるプロセス実行装置100によれば、常用系である実行部110に障害が発生する前に、待機系である実行部110が、初期化処理を実行したのちプロセスを実行するので、プロセス開始時の内部状態に異常があったことが原因で障害が発生した場合など初期化処理を実行すれば正常にプロセスを実行できる場合に、速やかに、障害を克服することができる。
According to the
以上説明したシステム再起動装置を設けた二重系システム(プロセス実行装置100)は、常用系で通常の処理を行うと同時に待機系で内部データを初期化させたプロセスで入力データを処理し、障害発生時にスナップショット蓄積部(状態記憶部123)に蓄積される全てのチェックポイントの状態からの再起動に失敗した場合に、待機系の出力データを有効なデータとする出力データ切り替え装置(系切替部180)を設ける。 The dual system (process execution device 100) provided with the system restart device described above performs normal processing in the normal system and simultaneously processes input data in a process in which internal data is initialized in the standby system. An output data switching device (system) that makes the output data of the standby system valid data when the restart from all checkpoint states accumulated in the snapshot accumulation unit (status storage unit 123) fails when a failure occurs A switching unit 180) is provided.
システム再起動装置は、常用系のプロセス処理を実行するプロセス処理部(実行部110)、常用系のチェックポイントにおいてメモリ内容のスナップショットを採取するチェックポイント処理部(チェックポイント判定部121)、常用系の採取したスナップショットを蓄積するスナップショット蓄積部(状態記憶部123)、常用系のプロセス処理中の障害発生を検出する障害検出部(障害判定部131)、常用系の障害発生時にプロセス処理部の再起動を指示する再起動指示部(巻戻時点判定部132)、常用系のスナップショット蓄積部のスナップショットデータをプロセス処理部に書き戻す状態復帰指示部(状態巻戻部133)、常用系の全てのスナップショットを使用して再起動を試みたが失敗した際に系の切り替えを通知する系切り替え通知部、待機系のチェックポイントにおいてメモリ内容のスナップショットを採取するチェックポイント処理部(状態取得部122)、待機系の採取したスナップショットを蓄積するスナップショット蓄積部(状態記憶部123)、系の切り替え通知を受信する系切り替え受信部、常用系のシステムから系切り替えの通知があった場合に待機系に系切り替えの通知を行う系切り替え部(系切替部180)、待機系でプロセスの内部情報の初期化を指示する内部データ初期化部(初期化実行部111)を有する。 The system restart device includes a process processing unit (execution unit 110) that executes normal process processing, a checkpoint processing unit (checkpoint determination unit 121) that collects a snapshot of memory contents at a normal checkpoint, A snapshot storage unit (state storage unit 123) for storing snapshots collected by the system, a failure detection unit (failure determination unit 131) for detecting occurrence of a failure during normal system process processing, and process processing when a failure occurs in the normal system A restart instructing unit (rewind time determining unit 132) for instructing restart of the unit, a state return instructing unit (state rewinding unit 133) for writing back the snapshot data of the regular snapshot storage unit to the process processing unit, Notify system switchover when failed to restart using all snapshots of regular system but failed A switching notification unit, a checkpoint processing unit (state acquisition unit 122) that collects a snapshot of memory contents at a checkpoint of a standby system, a snapshot storage unit (state storage unit 123) that accumulates snapshots collected by a standby system, A system switching receiving unit for receiving a system switching notification, a system switching unit (system switching unit 180) for notifying the standby system of a system switching when a system switching notification is received from the active system, and a process in the standby system An internal data initialization unit (initialization execution unit 111) for instructing initialization of internal information is included.
常用系のプロセス処理部が入力データを入力として処理を行うとき、待機系のプロセス処理部も同様に同じ入力データで処理を行う。ただし、常用系のプロセス処理部は通常の場合と同様にプロセス処理部の内部データを保持したまま実行するのに対して、待機系のプロセス処理部は内部データを初期化してから入力データを入力して処理を実行する点が異なる。
常用系のプロセス処理部が障害を起こして再起動指示部がスナップショットでシステムの状態を復旧しながら再起動を行うが再起動失敗を繰り返し、スナップショット蓄積部に蓄積されている最後のスナップショットを使用して再起動を行う。このとき、次のチェックポイントまでプロセス処理部のプロセスが実行された場合は、プロセス再起動が成功したと判断し、通常の動作を行う。もし次のチェックポイントまでに再起動に失敗した場合、障害検出部は、常用系での処理続行を断念し、系切り替え部に系の切り替えを通知するとともに自身を待機系にする。系の切り替え通知を受け取った系切り替え部は、現在、待機系の系切り替え受信部に対し、常用系に移行するよう通知を行う。待機系の系切り替え受信部は受け取った系切り替え通知をプロセス処理部に通知し、常用系として必要な処理部を起動して常用系に移行する。
When the regular process processing unit performs processing with input data as input, the standby process processing unit similarly performs processing with the same input data. However, the normal process processing unit executes the process processing unit while retaining the internal data as usual, whereas the standby process processing unit inputs the input data after initializing the internal data. The difference is that the process is executed.
The last snapshot that is accumulated in the snapshot accumulation unit after a failure occurs in the active process processing unit and the restart instruction unit restarts while restoring the system status with the snapshot, but the restart fails repeatedly Use to restart. At this time, if the process of the process processing unit is executed up to the next check point, it is determined that the process restart is successful, and normal operation is performed. If the restart fails before the next checkpoint, the failure detection unit abandons the continuation of processing in the normal system, notifies the system switching unit of system switching and makes itself a standby system. The system switching unit that has received the system switching notification notifies the standby system switching receiving unit to shift to the regular system. The standby system switching reception unit notifies the received system switching notification to the process processing unit, activates a processing unit necessary for the active system, and shifts to the normal system.
以上のように、待機系であらかじめプロセス処理部の内部情報を初期化した状態で処理を実行させておくことにより、常用系で全てのスナップショットを使ってプロセスの再起動を試して失敗した場合でも、系を切り替えることによりプロセス自体の内部情報を初期化することと同等の処理を迅速に行わせることができるため、システム全体の再起動時間を短縮でき、効率よくシステムを稼動することができる。 As described above, when the process is executed with the internal information of the process processing unit initialized in advance on the standby system, the process restarts using all snapshots in the normal system and fails. However, by switching the system, processing equivalent to initializing the internal information of the process itself can be performed quickly, so the restart time of the entire system can be shortened and the system can be operated efficiently. .
実施の形態6.
実施の形態6について、図22〜図27を用いて説明する。
この実施の形態におけるプロセス実行装置100の構成は、実施の形態5と同様なので、説明を省略し、異なる点のみを説明する。
Embodiment 6 FIG.
The sixth embodiment will be described with reference to FIGS.
Since the configuration of the
図22は、この実施の形態における実行処理S550の流れの一例を示すフローチャート図である。
実行処理S550は、パラメータ取得工程S561、待機工程S562、ステップ実行工程S563、チェックポイント判定工程S564、結果通知工程S565を有する。
FIG. 22 is a flowchart showing an example of the flow of the execution process S550 in this embodiment.
The execution process S550 includes a parameter acquisition step S561, a standby step S562, a step execution step S563, a checkpoint determination step S564, and a result notification step S565.
パラメータ取得工程S561において、パラメータ入力部113は、CPU911を用いて、系切替部180からパラメータを取得する。
待機工程S562において、処理実行部114は、CPU911を用いて、プロセスの次のステップを実行してよいか否かを判定する。
次のステップへ進んでよいと判定した場合、ステップ実行工程S563へ進む。
次のステップに進まずに待つべきと判定した場合、待機工程S562を繰り返す。
In the parameter acquisition step S561, the
In the standby step S562, the
If it is determined that the process can proceed to the next step, the process proceeds to step execution step S563.
When it is determined that the process should wait without proceeding to the next step, the standby process S562 is repeated.
次のステップを実行してはいけない場合には、いくつかの場合がある。例えば、処理実行部114の処理がチェックポイントに到達し、内部状態記憶部112が記憶しているデータを、状態取得部122が読み出している場合、読み出し中に次のステップの実行を開始すると、内部状態記憶部112が記憶しているデータが変わってしまうので、読み出しが終わるまで待つ必要がある。
また、障害が発生して、状態巻戻部133が内部状態記憶部112にデータを書き込んでいる場合も、書き込みが終わるまで待つ必要がある。
There are several cases where the next step should not be performed. For example, when the process of the
Further, when a failure occurs and the
更に、この実施の形態におけるプロセス実行装置100において、待機系の実行部110は、常用系の実行部110が次のチェックポイントに到達するまで、その一つ前のチェックポイントで待つ。待機系の実行部110は、系切替部180からの通知に基づいて、常用系の実行部110が次のチェックポイントに到達したか否かを判定する。
常用系の実行部110が問題なく次のチェックポイントまで到達するのを待ってから、待機系の実行部110がそのあとを追ってプロセスを実行するので、原則として、待機系の実行部110では、障害が発生しない。
Further, in the
Since the
ステップ実行工程S563において、処理実行部114は、CPU911を用いて、プロセスの次のステップを実行する。
チェックポイント判定工程S564において、処理実行部114は、CPU911を用いて、プロセスの実行がチェックポイントに到達したか否かを判定する。
まだチェックポイントに到達していないと判定した場合、ステップ実行工程S563に戻り、次のステップを実行する。
最後のチェックポイントに到達したと判定した場合、結果通知工程S565へ進む。
それ以外のチェックポイントに到達したと判定した場合、待機工程S562に戻り、内部状態記憶部112が記憶したデータを状態取得部122が読み出し終わるのを待つ。
In step execution step S563, the
In checkpoint determination step S564, the
If it is determined that the check point has not yet been reached, the process returns to the step execution step S563 to execute the next step.
If it is determined that the last checkpoint has been reached, the process proceeds to a result notification step S565.
If it is determined that another check point has been reached, the process returns to the standby step S562, and waits for the
結果通知工程S565において、結果出力部115は、CPU911を用いて、処理実行部114がプロセスを実行した結果を、系切替部180に対して通知する。
その後、パラメータ取得工程S561に戻り、次のプロセスに備える。
In the result notification step S565, the
Then, it returns to parameter acquisition process S561 and prepares for the next process.
ステップ実行工程S563あるいはチェックポイント判定工程S564を実行中に、実行部110に障害が発生したと障害判定部131が判定した場合、状態巻戻部133は、実行部110を強制的に待機工程S562に戻す。実行部110は、状態巻戻部133が内部状態記憶部112にデータを書き込み終わるのを待つ。
また、いずれかの工程を実行中に、実行部110に障害が発生したと障害判定部131が判定し、実行部110におけるプロセスの実行を中断させると状態巻戻部133が判定した場合、状態巻戻部133は、実行部110を強制的にパラメータ取得工程S561に戻す。
When the
In addition, when one of the steps is being executed, the
図23は、この実施の形態における系切替処理S590の流れの一例を示すフローチャート図である。
系切替処理S590は、パラメータ入力工程S591、常用系状況判定工程S592、切替工程S593、結果出力工程S595を有する。
FIG. 23 is a flowchart showing an example of the flow of the system switching process S590 in this embodiment.
The system switching process S590 includes a parameter input process S591, a regular system status determination process S592, a switching process S593, and a result output process S595.
常用系状況判定工程S592において、系切替部180は、CPU911を用いて、常用系である実行部110におけるプロセスの実行状況を判定する。
プロセスの実行が終了したと判定した場合、結果出力工程S595へ進む。プロセス実行装置100は、そのプロセスの実行を正常に終了する。
プロセスの実行が中断したと判定した場合、パラメータ入力工程S591に戻る。プロセス実行装置100は、そのプロセスの実行を断念し、次のプロセスに備える。
プロセスの実行が終了も中断もしていない場合のうち、プロセスの実行に障害が発生していると判定した場合は、切替工程S593へ進む。
プロセスの実行が終了も中断もしていない場合のうち、プロセスが正常に実行されていると判定した場合、常用系状況判定工程S592を繰り返す。
In the regular system status determination step S592, the
If it is determined that the process has been completed, the process proceeds to a result output step S595. The
If it is determined that the process execution has been interrupted, the process returns to the parameter input step S591. The
If it is determined that a failure has not occurred in the process execution, the process proceeds to the switching step S593.
When it is determined that the process has been normally executed out of the cases where the execution of the process has not been terminated or interrupted, the regular system status determination step S592 is repeated.
切替工程S593において、系切替部180は、CPU911を用いて、常用系である実行部110を待機系に切り替え、待機系である実行部110を常用系に切り替える。
その後、常用系状況判定工程S592に戻る。
In the switching step S593, the
Thereafter, the process returns to the regular system status determination step S592.
図24は、この実施の形態における障害処理S510の流れの一例を示すフローチャート図である。
障害処理S510は、実施の形態1で説明した工程に加えて、系判定工程S541、待機判定工程S542を有する。
FIG. 24 is a flowchart showing an example of the flow of the failure process S510 in this embodiment.
The failure processing S510 includes a system determination step S541 and a standby determination step S542 in addition to the steps described in the first embodiment.
系判定工程S541において、障害処理部120は、CPU911を用いて、系切替部180からの通知に基づいて、対応する実行部110が常用系であるか待機系であるかを判定する。
常用系であると判定した場合、障害判定工程S511へ進む。
待機系であると判定した場合、待機判定工程S542へ進む。
In the system determination step S541, the
When it is determined that the system is the regular system, the process proceeds to the failure determination step S511.
When it determines with it being a standby system, it progresses to standby determination process S542.
待機判定工程S542において、障害処理部120は、CPU911を用いて、対応する(待機系である)実行部110にプロセスの実行をさせてよいか否かを判定する。障害処理部120は、CPU911を用いて、対応する実行部110に判定した結果を通知する。実行部110は、障害処理部120からの通知に基づいて、次のステップを実行するか待機するかを判定する。
対応する実行部110にプロセスの実行をさせてよいと判定した場合、チェックポイント判定工程S512へ進む。
対応する実行部110を待機させると判定した場合、系判定工程S541に戻る。
In the standby determination step S542, the
If it is determined that the
If it is determined that the
状態判定工程S524において、巻戻時点判定部132は、CPU911を用いて、2つの実行部110それぞれについて、それより前にそのチェックポイントに到達したことがあるか否かを判定する。例えば、巻戻時点判定部132は、2つの障害処理部120それぞれの状態記憶部123が、そのチェックポイントに対応するデータをそれまで記憶していたか否かを判定することにより、それより前にそのチェックポイントに到達したことがあるか否かを判定する。
2つの実行部110のいずれもが、それより前にそのチェックポイントに到達したことがなく、今回が初めてであると判定した場合、巻戻時点前進工程S525へ進む。
2つの実行部110のいずれかが、それより前にそのチェックポイントに到達したことがあると判定して場合、系判定工程S541に戻る。
In the state determination step S524, the rewinding time determination unit 132 uses the
If neither of the two
If any of the two
巻戻時点前進工程S525において、巻戻時点判定部132は、CPU911を用いて、チェックポイント判定工程S512でチェックポイント判定部121が到達したと判定したチェックポイントの1つ前のチェックポイントを、巻戻時点と判定する。到達したチェックポイントが最初のチェックポイントである場合、それよりも1つ前のチェックポイントが存在しないので、巻戻時点判定部132は、巻戻時点となるチェックポイントがまだ存在しないと判定する。巻戻時点判定部132は、磁気ディスク装置920を用いて、判定した結果を記憶する。
また、もう一つの障害処理部120の巻戻時点判定部132は、CPU911を用いて、更にその1つ前のチェックポイントを巻戻時点と判定する。到達したチェックポイントが最初あるいは2番目のチェックポイントである場合、それよりも2つ前のチェックポイントが存在しないので、もう一つの巻戻時点判定部132は、巻戻時点となるチェックポイントがまだ存在しないと判定する。もう一つの巻戻時点判定部132は、磁気ディスク装置920を用いて、判定した結果を記憶する。
その後、系判定工程S541に戻る。
In the rewind time advance step S525, the rewind time determination unit 132 uses the
In addition, the rewinding time determination unit 132 of the other
Thereafter, the process returns to the system determination step S541.
巻戻時点後退工程S534において、巻戻時点判定部132は、CPU911を用いて、状態記憶部123が記憶したデータのうち、状態巻戻工程S533で状態巻戻部133が内部状態記憶部112に書き込んだデータに対応するチェックポイントよりも2つ前のチェックポイントを、巻戻時点であると判定する。状態巻戻工程S533で状態巻戻部133が内部状態記憶部112に書き込んだデータに対応するチェックポイントが最初もしくは2番目のチェックポイントである場合、それよりも2つ前のチェックポイントが存在しないので、巻戻時点判定部132は、巻戻時点となるチェックポイントが存在しないと判定する。巻戻時点判定部132は、磁気ディスク装置920を用いて、判定した結果を記憶する。
その後、系判定工程S541に戻る。
In the rewinding time retraction process S534, the rewinding time determination unit 132 uses the
Thereafter, the process returns to the system determination step S541.
図25は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。
FIG. 25 is a schematic diagram showing an example of the operation of the
プロセス開始時601において、常用系の実行部110では、パラメータ入力部113がパラメータを入力し、処理実行部114がプロセスの処理を開始する。待機系の実行部110では、常用系の処理実行部114の処理が第一チェックポイント602に到達するまで、処理実行部114がプロセスの処理を開始せずに待機する。
At the process start 601, in the
常用系の処理実行部114の処理が第一チェックポイント602まで到達すると、待機系の処理実行部114がプロセスの処理を開始する。この時点において、常用系の状態記憶部123の記憶内容641aは、第一チェックポイント602における状態652aだけである。また、待機系の状態記憶部123の記憶内容641bは、空である。いずれかの処理実行部114の処理が第一チェックポイント602まで到達したのはこれが初めてであるが、第一チェックポイント602は最初のチェックポイントなので、常用系の巻戻時点判定部132は、巻戻時点がまだ存在しないと判定する。また、待機系の巻戻時点判定部132も、巻戻時点がまだ存在しないと判定する。
When the processing of the regular
待機系の処理実行部114の処理が第一チェックポイント602まで到達した時点で、常用系の処理実行部114は第二チェックポイント603にまだ到達していなかったとすると、待機系の処理実行部114は、常用系の処理実行部114の処理が第二チェックポイント603に到達するまで待機する。待機系の状態記憶部123の記憶内容642bは、第一チェックポイント602における状態652bだけである。第一チェックポイント602には、常用系の処理実行部114が既に到達しているので、待機系の巻戻時点判定部132は、巻戻時点を進めず、巻戻時点がまだ存在しないと判定したままの状態を保つ。
When the processing of the standby
常用系の処理実行部114の処理が第二チェックポイント603まで到達すると、待機系の処理実行部114がプロセスの処理を再開する。この時点において、常用系の状態記憶部123の記憶内容642aは、第一チェックポイント602における状態652aと第二チェックポイント603における状態653aとの2つになる。いずれかの処理実行部114の処理が第二チェックポイント603まで到達したは初めてなので、常用系の巻戻時点判定部132は、一つ前の第一チェックポイント602を巻戻時点と判定する。また、待機系の巻戻時点判定部132は、第一チェックポイント602より更に一つ前のチェックポイントが存在しないので、巻戻時点がまだ存在しないと判定する。
When the process of the regular
待機系の処理実行部114の処理が第二チェックポイント603に到達するよりも早く、常用系の処理実行部114の処理が第三チェックポイント604まで到達したとする。常用系の状態記憶部123の記憶内容643aは、第一チェックポイント602における状態652aと、第二チェックポイント603における状態653aと、第三チェックポイント604における状態654aとの3つになる。いずれかの処理実行部114の処理が第三チェックポイント604まで到達したのは初めてなので、常用系の巻戻時点判定部132は、一つ前の第二チェックポイント603を巻戻時点と判定する。また、待機系の巻戻時点判定部132は、第二チェックポイント603より更に一つ前の第一チェックポイント602を、巻戻時点と判定する。
Assume that the processing of the standby
待機系の処理実行部114の処理が第二チェックポイント603まで到達した時点で、常用系の処理実行部114の処理は第三チェックポイント604を通過しているので、待機系の処理実行部114は待機せず、そのままプロセスの処理を続行する。待機系の状態記憶部123の記憶内容643bは、第一チェックポイント602における状態652bと第二チェックポイント603における状態653bとの2つになる。第一チェックポイント602には、常用系の処理実行部114が既に到達しているので、待機系の巻戻時点判定部132は、巻戻時点を進めず、第一チェックポイント602を巻戻時点と判定したままの状態を保つ。
When the processing of the standby
常用系の処理実行部114の処理が第四チェックポイント605に到達する前に、障害が発生したと仮定する。系切替部180は、常用系と待機系とを切り替える。
旧待機系(新常用系)の処理実行部114は、プロセスの処理をそのまま続行する。
旧常用系(新待機系)の状態巻戻部133は、巻戻時点判定部132の判定結果に基づいて、実行部110の状態を第二チェックポイント603における状態653aに戻す。旧常用系(新待機系)の処理実行部114は、第二チェックポイント603から処理を再開する。
It is assumed that a failure has occurred before the processing of the regular
The
The old regular system (new standby system)
図26は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。
FIG. 26 is a schematic diagram showing an example of the operation of the
新待機系(旧常用系)の処理実行部114が第二チェックポイント603から処理を再開した時点において、巻戻時点判定部132は、第二チェックポイント603より2つ前のチェックポイントが存在しないので、巻戻時点が存在しないと判定する。
When the
新常用系(旧待機系)の処理実行部114の処理が第三チェックポイント604まで到達すると、新常用系の状態記憶部123の記憶内容644bは、第一チェックポイント602における状態652bと、第二チェックポイント603における状態653bと、第三チェックポイント604における状態654bとの3つになる。第三チェックポイント604には、旧常用系(新待機系)の処理実行部114が既に到達しているので、新常用系(旧待機系)の巻戻時点判定部132は、巻戻時点を進めず、第一チェックポイント602を巻戻時点を判定したままの状態を保つ。
When the processing of the new regular system (old standby system)
新常用系(旧待機系)の処理実行部114の処理が第四チェックポイント605に到達する前に、再び障害が発生したと仮定する。系切替部180は、常用系と待機系とを切り替える。
新新常用系(新待機系・旧常用系)の処理実行部114は、プロセスの処理をそのまま続行する。
新新待機系(新常用系・旧待機系)の状態巻戻部133は、巻戻時点判定部132の判定結果に基づいて、実行部110の状態を第一チェックポイント602における状態652bに戻す。新新待機系(新常用系・旧待機系)の処理実行部114は、第一チェックポイント602から処理を再開する。
It is assumed that a failure occurs again before the processing of the
The
The
図27は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。
FIG. 27 is a schematic diagram showing an example of the operation of the
新新待機系の処理実行部114が第一チェックポイント602から処理を再開した時点において、巻戻時点判定部132は、第一チェックポイント602より2つ前のチェックポイントが存在しないので、巻戻時点が存在しないと判定する。
この時点において、新新常用系の状態記憶部123の記憶内容645aは、第一チェックポイント602における状態652aと、第二チェックポイント603における状態653aと、第三チェックポイント604における状態654aとの3つである。また、新新待機系の状態記憶部123の記憶内容645bは、第一チェックポイント602における状態652bと、第二チェックポイント603における状態653bと、第三チェックポイント604における状態654bとの3つである。
At the time when the
At this time, the
したがって、いずれかの処理実行部114の処理が第四チェックポイント605に到達するまで、巻戻時点判定部132は、巻戻時点を進めない。
もし仮に、その前に、新新常用系の処理実行部114に障害が発生したとすると、系切替部180が常用系と待機系とを切り替える。新新新待機系(新新常用系)の処理実行部114は、状態を戻すべきチェックポイントが存在しないので、そのプロセスの処理を中断する。
更に、新新新常用系(新新待機系)の処理実行部114にも障害が発生すると、系切替部180が常用系と待機系とを切り替える。新新新新待機系(新新新常用系・新新待機系)の処理実行部114は、状態を戻すべきチェックポイントが存在しないので、そのプロセスの処理を中断する。新新新新常用系(新新新待機系・新新常用系)の処理実行部114が既にそのプロセスの処理を中断しているので、系切替部180は、そのプロセスの続行を断念し、次のプロセスに備える。
Therefore, the rewind time determination unit 132 cannot advance the rewind time until the process of any of the
If, before that, a failure occurs in the
Further, when a failure occurs in the
障害が発生せず、新新常用系の処理実行部114の処理が第四チェックポイント605まで到達したと仮定する。新新常用系の状態記憶部123の記憶内容646aは、第一チェックポイント602における状態652aと、第二チェックポイント603における状態653aと、第三チェックポイント604における状態654aと、第四チェックポイント605における状態655aとの4つになる。いずれかの処理実行部114の処理が第四チェックポイント605まで到達したのは初めてなので、新新常用系の巻戻時点判定部132は、一つ前の第三チェックポイント604を巻戻時点と判定する。また、新新待機系の巻戻時点判定部132は、第三チェックポイント604の更に一つ前の第二チェックポイント603を巻戻時点と判定する。
It is assumed that no failure has occurred and the processing of the new / new normal
このように、障害発生に備え、常用系の実行部110のあとを追いかけて待機系の実行部110がプロセスの処理を実行するので、常用系の実行部110に障害が発生した場合、待機系を常用系に切り替えることにより、迅速に障害に対処することができる。
特に、障害が繰り返し発生し、2つ以上前のチェックポイントに戻って処理を再開する場合であっても、待機系の実行部110は、常に常用系の実行部110よりチェックポイント一つ後ろを追いかけているので、チェックポイント一つ分の遅延しか発生せず、処理のやり直しによる遅延を最小限に抑えることができる。
In this way, in preparation for the occurrence of a failure, the
In particular, even when a failure occurs repeatedly and returns to two or more previous checkpoints and resumes processing, the
この実施の形態におけるプロセス実行装置100において、上記第二の実行部110は、上記処理装置を用いて、待機系として、上記状態記憶部123が上記第一の実行部110について状態を記憶した中間時点(チェックポイント)よりも前の中間時点で待機する。
上記状態巻戻部133は、上記処理装置を用いて、上記系切替部180が上記第一の実行部110を常用系から待機系に切り替えた場合に、上記状態記憶部123が上記第二の実行部110について状態を記憶した中間時点よりも前の中間時点の状態に、上記第一の実行部110の状態を戻す。
In the
When the
この実施の形態におけるプロセス実行装置100によれば、常用系の実行部110より前の中間時点で待機系の実行部110が待機するので、障害発生時に系切替部180が常用系と待機系とを切り替えることにより、障害に迅速に対処することができる。また、待機系に切り替えられた旧常用系の実行部110は、それよりも前の中間時点に戻ってプロセスの処理をやり直すので、常用系に切り替えられた旧待機系の実行部110にも障害が発生した場合、系切替部180が再び常用系と待機系とを切り替えることにより、障害に迅速に対処することができる。
According to the
以上説明したシステム再起動装置を設けた二重系システム(プロセス実行装置100)は、常用系が通常の処理を行っている間は、待機系は常に一つ前のチェックポイントで待機するようにし、障害発生時には待機系から常用系に切り替わった系が処理実行を行い、待機系に切り替わった系はさらに一つ前のチェックポイントまで戻って待機する系切り替え装置(系切替部180)を設ける。 In the dual system (process execution device 100) provided with the system restart device described above, the standby system always waits at the previous checkpoint while the normal system is performing normal processing. When a failure occurs, a system that has been switched from the standby system to the normal system performs processing, and the system that has switched to the standby system is further provided with a system switching device (system switching unit 180) that returns to the previous checkpoint and waits.
システム再起動装置は、常用系のプロセス処理を実行するプロセス処理部(実行部110)、常用系のチェックポイントにおいてメモリ内容のスナップショットを採取するチェックポイント処理部(状態取得部122)、常用系の採取したスナップショットを蓄積するスナップショット蓄積部(状態記憶部123)、常用系のプロセス処理中の障害発生を検出する障害検出部(障害判定部131)、常用系の障害発生時にプロセス処理部の再起動を指示する再起動指示部(巻戻時点判定部132)、常用系のスナップショット蓄積部のスナップショットデータをプロセス処理部に書き戻す状態復帰指示部(状態巻戻部133)、常用系の全てのスナップショットを使用して再起動を試みたが失敗した際に系の切り替えを通知する系切り替え通知部、待機系のチェックポイントにおいてメモリ内容のスナップショットを採取するチェックポイント処理部(状態取得部122)、待機系の採取したスナップショットを蓄積するスナップショット蓄積部(状態記憶部123)、系の切り替え通知を受信する系切り替え受信部、常用系のシステムから系切り替えの通知があった場合に待機系に系切り替えの通知を行う系切り替え部(系切替部180)、常用系より遅延させて待機系でプロセスを実行させる処理依頼遅延部を有する。 The system restart device includes a process processing unit (execution unit 110) that executes normal process processing, a checkpoint processing unit (state acquisition unit 122) that collects a snapshot of memory contents at a normal checkpoint, and a normal system A snapshot storage unit (state storage unit 123) for storing the snapshots collected, a failure detection unit (failure determination unit 131) for detecting a failure during normal process processing, and a process processing unit when a failure occurs in the normal system A restart instructing unit (rewind time determining unit 132) for instructing restart of the state, a state return instructing unit (state rewinding unit 133) for writing back the snapshot data of the regular snapshot accumulation unit to the process processing unit, A system switchover notification that notifies the system switchover when an attempt to restart using all snapshots of the system fails. A checkpoint processing unit (state acquisition unit 122) that collects a snapshot of memory contents at a checkpoint of a standby system, a snapshot storage unit (state storage unit 123) that accumulates snapshots collected by a standby system, A system switching receiving unit that receives a switching notification, a system switching unit (system switching unit 180) that notifies the standby system of a system switching notification when there is a system switching notification from the active system, and is delayed from the active system and waits A processing request delay unit for executing the process in the system;
常用系のプロセス処理部が入力データを入力として処理を行うとき、待機系のプロセス処理部も同様に同じ入力データで処理を行う。ただし、常用系のプロセス処理部は入力データが与えられた時点で直ちに処理を開始するのに対して、待機系のプロセス処理部は入力データが与えられたとき、最低限常用系が最初のチェックポイントを通過する程度のある一定の時間を遅延させてから処理を実行する点が異なる。
常用系のプロセス処理部および待機系のプロセス処理部は、それぞれチェックポイントを通過する際にスナップショットをそれぞれ常用系のスナップショット蓄積部及び待機系のスナップショット蓄積部に蓄積する。ここで、常用系のプロセス処理部が障害を起こし、障害検出部が障害を検出したとき、障害検出部は系切り替え通知部に系の切り替えを通知し、待機系に必要な処理部を起動して自身の系を待機系に移行する。系切り替え通知部は、系切り替え部を経由して系切り替え受信部に待機系を常用系に切り替えるように通知を行い、系切り替え受信部は、待機系のプロセス処理部に常用系として処理するよう通知を行う。このときプロセス処理部は、内部情報と入力データのチェックを行い、内部情報に問題があれば内部情報の初期化を行い、入力データに問題があれば入力データを破棄する。また、常用系から待機系に切り替えた系については、スナップショット2つ分を戻してプロセスの状態を復旧し、内部情報と入力データのチェックを前記と同様に行ってからプロセス処理を再開する。
When the regular process processing unit performs processing with input data as input, the standby process processing unit similarly performs processing with the same input data. However, the normal process processing unit starts processing immediately when input data is given, whereas the standby process processing unit starts with the first check when the input data is given. The difference is that the processing is executed after a certain period of time that passes the point is delayed.
The normal process processing unit and the standby process processing unit store snapshots in the normal system snapshot storage unit and the standby system snapshot storage unit, respectively, when they pass the checkpoint. Here, when a failure occurs in the normal process processing unit and the failure detection unit detects a failure, the failure detection unit notifies the system switching notification unit of the system switching and starts up the processing unit necessary for the standby system. Shift their own system to the standby system. The system switching notifying unit notifies the system switching receiving unit via the system switching unit to switch the standby system to the active system, and the system switching receiving unit processes the standby system process processing unit as the normal system. Make a notification. At this time, the process processing unit checks the internal information and the input data, initializes the internal information if there is a problem with the internal information, and discards the input data if there is a problem with the input data. For the system switched from the regular system to the standby system, two snapshots are restored to restore the process state, and the internal information and input data are checked in the same manner as described above, and then the process processing is resumed.
以上のように、待機系の処理をチェックポイント一つ分程度遅延させて実行させ、障害発生時には系を切り替えて入力データや内部情報のチェックをしながらプロセスを再起動させることにより、プロセスの再起動を迅速に行うことができ、さらに待機系ではさらにもう一つ分チェックポイントを戻した状態から再起動を行うため、繰り返し障害が発生した場合でも、再び系を切り替えることにより迅速にプロセスの再起動を行うことができる。 As described above, the standby process is delayed by about one checkpoint, and when a failure occurs, the process is restarted by switching the system and checking the input data and internal information. The system can be started quickly, and the standby system is restarted after returning one more checkpoint. Therefore, even if a failure occurs repeatedly, the process can be quickly restarted by switching the system again. You can start up.
100 プロセス実行装置、110 実行部、111 初期化実行部、112 内部状態記憶部、113 パラメータ入力部、114 処理実行部、115 結果出力部、120 障害処理部、121 チェックポイント判定部、122 状態取得部、123 状態記憶部、131 障害判定部、132 巻戻時点判定部、133 状態巻戻部、134 状態削除部、180 系切替部、601 プロセス開始時、602 第一チェックポイント、603 第二チェックポイント、604 第三チェックポイント、605 第四チェックポイント、606 最終チェックポイント、611〜646 記憶内容、651〜655 状態、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信装置、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 ファクシミリ機、940 インターネット、941 ゲートウェイ、942 LAN。 100 process execution device, 110 execution unit, 111 initialization execution unit, 112 internal state storage unit, 113 parameter input unit, 114 process execution unit, 115 result output unit, 120 fault processing unit, 121 checkpoint determination unit, 122 status acquisition Unit, 123 state storage unit, 131 failure determination unit, 132 rewind time determination unit, 133 state rewind unit, 134 state deletion unit, 180 system switching unit, 601 process start time, 602 first check point, 603 second check Point, 604 third check point, 605 fourth check point, 606 final check point, 611-646 stored contents, 651-655 status, 901 display device, 902 keyboard, 903 mouse, 904 FDD, 905 CDD, 906 printer device, 907 CANA device, 910 system unit, 911 CPU, 912 bus, 913 ROM, 914 RAM, 915 communication device, 920 magnetic disk device, 921 OS, 922 window system, 923 program group, 924 file group, 931 telephone, 932 facsimile machine 940 Internet, 941 Gateway, 942 LAN.
Claims (10)
上記実行部は、上記処理装置を用いて、プロセスを実行し、
上記状態記憶部は、上記記憶装置を用いて、上記実行部が上記プロセスを実行している途中の複数の中間時点それぞれについて、上記中間時点における上記実行部の状態を記憶し、
上記状態巻戻部は、上記処理装置を用いて、上記実行部に障害が発生した場合に、上記状態記憶部が記憶した状態のうちいずれかの中間時点の状態に、上記実行部の状態を戻し、上記実行部に更に障害が発生した場合に、上記状態記憶部が記憶した状態のうち、上記実行部の状態を戻した中間時点よりも前の中間時点における状態に、上記実行部の状態を戻すことを特徴とするプロセス実行装置。 A storage device for storing data, a processing device for processing data, an execution unit, a state storage unit, and a state rewinding unit;
The execution unit executes a process using the processing device,
The state storage unit stores the state of the execution unit at the intermediate time point for each of a plurality of intermediate time points while the execution unit is executing the process using the storage device,
The state rewinding unit sets the state of the execution unit to a state at any intermediate point in the state stored in the state storage unit when a failure occurs in the execution unit using the processing device. In the event that a failure further occurs in the execution unit, the state of the execution unit is changed to a state at an intermediate time point before the intermediate point in time when the state of the execution unit is returned among the states stored in the state storage unit. Is a process execution device.
上記状態記憶部は、上記処理装置を用いて、記憶した状態のうち、上記状態巻戻部が上記実行部の状態を戻した中間時点の状態を削除することを特徴とする請求項1に記載のプロセス実行装置。 The state rewinding unit sets the state of the execution unit to the state of the newest intermediate time among the states stored in the state storage unit when a failure occurs in the execution unit using the processing device. Return,
The said state memory | storage part deletes the state of the intermediate | middle time point in which the said state rewinding part returned the state of the said execution part among the memorize | stored states using the said processing apparatus. Process execution device.
上記実行部のうち第一の実行部は、上記処理装置を用いて、常用系として、上記プロセスを実行し、
上記実行部のうち第二の実行部は、上記処理装置を用いて、待機系として、上記プロセスを実行し、
上記状態記憶部は、上記記憶装置を用いて、複数の上記実行部それぞれについて、上記中間時点における上記実行部の状態を記憶し、
上記系切替部は、上記処理装置を用いて、上記第一の実行部に障害が発生した場合に、上記第二の実行部を常用系に切り替え、上記第一の実行部を待機系に切り替えることを特徴とする請求項1乃至請求項4のいずれかに記載のプロセス実行装置。 The process execution device further includes a plurality of the execution units and a system switching unit.
The first execution unit of the execution units executes the process as a regular system using the processing device,
The second execution unit among the execution units executes the process as a standby system using the processing device,
The state storage unit stores the state of the execution unit at the intermediate time point for each of the plurality of execution units using the storage device.
The system switching unit switches the second execution unit to a normal system and switches the first execution unit to a standby system when a failure occurs in the first execution unit using the processing device. The process execution apparatus according to claim 1, wherein the process execution apparatus is provided.
上記状態巻戻部は、上記処理装置を用いて、上記系切替部が上記第一の実行部を常用系から待機系に切り替えた場合に、上記状態記憶部が上記第二の実行部について状態を記憶した中間時点よりも前の中間時点の状態に、上記第一の実行部の状態を戻すことを特徴とする請求項5に記載のプロセス実行装置。 The second execution unit waits at an intermediate time point before the intermediate time point when the state storage unit stores the state of the first execution unit as a standby system using the processing device,
When the system switching unit switches the first execution unit from the regular system to the standby system, the state storage unit uses the processing device to state the state storage unit with respect to the second execution unit. The process execution device according to claim 5, wherein the state of the first execution unit is returned to the state of the intermediate time point before the intermediate time point in which is stored.
上記系切替部は、上記処理装置を用いて、上記第一の実行部に障害が発生した場合であって、上記状態巻戻部が上記第一の実行部の状態を戻すべき中間時点における状態を、上記状態記憶部が記憶していない場合に、上記第二の実行部を常用系に切り替え、上記第一の実行部を待機系に切り替えることを特徴とする請求項5または請求項6に記載のプロセス実行装置。 The second execution unit executes the process after executing the initialization process as a standby system using the processing device,
The system switching unit is a state at an intermediate time when the state rewinding unit should return the state of the first execution unit when a failure occurs in the first execution unit using the processing device. When the state storage unit does not store, the second execution unit is switched to the regular system, and the first execution unit is switched to the standby system. The process execution device described.
上記処理装置が、上記プロセスを実行し、
上記記憶装置が、上記処理装置が上記プロセスを実行している途中の複数の中間時点それぞれについて、上記中間時点における状態を記憶し、
上記処理装置が、上記プロセスの実行に障害が発生した場合に、上記記憶装置が記憶した状態のうちいずれかの中間時点の状態に、状態を戻し、
上記処理装置が、上記プロセスの実行に更に障害が発生した場合に、上記記憶装置が記憶した状態のうち、状態を戻した中間時点よりも前の中間時点における状態に、状態を戻すことを特徴とするプロセス実行方法。 In a process execution method in which a process execution device having a storage device for storing data and a processing device for processing data executes the process,
The processing device executes the process,
The storage device stores the state at the intermediate time point for each of a plurality of intermediate time points while the processing device is executing the process,
When the processing device fails in the execution of the process, the processing device returns the state to the state at any intermediate point among the states stored in the storage device,
When the processing device further fails in the execution of the process, the processing device returns the state to a state at an intermediate time point before the intermediate time point when the state is returned among the states stored in the storage device. Process execution method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009169862A JP2011022959A (en) | 2009-07-21 | 2009-07-21 | Process execution device and computer program, and process execution method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009169862A JP2011022959A (en) | 2009-07-21 | 2009-07-21 | Process execution device and computer program, and process execution method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011022959A true JP2011022959A (en) | 2011-02-03 |
Family
ID=43632956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009169862A Pending JP2011022959A (en) | 2009-07-21 | 2009-07-21 | Process execution device and computer program, and process execution method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011022959A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140004702A (en) * | 2011-02-18 | 2014-01-13 | 아브 이니티오 테크놀로지 엘엘시 | Restarting processes |
JP2014505958A (en) * | 2011-02-18 | 2014-03-06 | アビニシオ テクノロジー エルエルシー | Resuming the data processing system |
-
2009
- 2009-07-21 JP JP2009169862A patent/JP2011022959A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140004702A (en) * | 2011-02-18 | 2014-01-13 | 아브 이니티오 테크놀로지 엘엘시 | Restarting processes |
JP2014505958A (en) * | 2011-02-18 | 2014-03-06 | アビニシオ テクノロジー エルエルシー | Resuming the data processing system |
JP2014509012A (en) * | 2011-02-18 | 2014-04-10 | アビニシオ テクノロジー エルエルシー | Resume process |
JP2017041263A (en) * | 2011-02-18 | 2017-02-23 | アビニシオ テクノロジー エルエルシー | Restarting processes |
JP2017062838A (en) * | 2011-02-18 | 2017-03-30 | アビニシオ テクノロジー エルエルシー | Restarting data processing systems |
KR101835458B1 (en) * | 2011-02-18 | 2018-04-19 | 아브 이니티오 테크놀로지 엘엘시 | Method, system and computer-readable storage medium for restarting data processing systems |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9244775B2 (en) | Reducing reading of database logs by persisting long-running transaction data | |
CN101641681A (en) | Self-managed processing device | |
JP5305040B2 (en) | Server computer switching method, management computer and program | |
US20080201470A1 (en) | Network monitor program executed in a computer of cluster system, information processing method and computer | |
CN112131046B (en) | Data caching method, system, equipment and medium | |
WO2012119432A1 (en) | Method for improving stability of computer system, and computer system | |
JP2006012004A (en) | Hot standby system | |
US8880552B2 (en) | Database system and database control method | |
JP2010176303A (en) | Batch processing system, information terminal apparatus for use in the same, and method for recovering batch processing | |
JP2011022959A (en) | Process execution device and computer program, and process execution method | |
CN113626262A (en) | BMC recovery method, system, equipment and medium | |
CN106911508B (en) | DNS configuration recovery method and device | |
CN113467919A (en) | Process management method, system and storage medium based on block chain | |
JP6269199B2 (en) | Management server, failure recovery method, and computer program | |
US9195548B2 (en) | Information processing method and apparatus for recovering state of system | |
JP5459472B2 (en) | Failure recovery apparatus, failure recovery method, and program | |
CN110515553B (en) | Volume deleting method and device | |
JP2005209029A (en) | Application management system, application management method and program for performing the same | |
CN110427280B (en) | Cache management method, system, computer equipment and storage medium | |
JP5466740B2 (en) | System failure recovery method and system for virtual server | |
JP7000797B2 (en) | Startup management device, startup management system, startup management method, and startup management program | |
JP2001109635A (en) | Method for dealing with fault and computer system readable recording medium | |
JP2500598B2 (en) | Automatic failure recovery method for network management system | |
CN112711467B (en) | Partition timeout processing method, partition timeout processing device, computer equipment and storage medium | |
JP2003256399A (en) | Control method for switching in hot standby system |