JP2011022959A - Process execution device and computer program, and process execution method - Google Patents

Process execution device and computer program, and process execution method Download PDF

Info

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
Application number
JP2009169862A
Other languages
Japanese (ja)
Inventor
Fumio Igarashi
史生 五十嵐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009169862A priority Critical patent/JP2011022959A/en
Publication of JP2011022959A publication Critical patent/JP2011022959A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To normally continue processing of a process by overcoming faults, even if there is a time difference from the occurrence of cause of the fault, until the actualization thereof. <P>SOLUTION: An execution unit 110 executes the process. A state memory unit 123 stores a state of the execution unit 110 about a plurality of intermediate points, respectively. When a fault occurs in the execution unit 110, a state-rewinding unit 133 returns a state of the execution unit 110 to a state in the intermediate point. When a fault further occurs in the execution unit 110, the state rewinding unit 133 returns a state of the execution unit 110 to a state, in further previous intermediate points. <P>COPYRIGHT: (C)2011,JPO&INPIT

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.

特開2003−15900号公報JP 2003-15900 A

障害の原因が障害顕在化よりも前に発生していた場合、障害がまだ顕在化していない後続系にも既に障害の原因が発生している可能性がある。その場合、後続系にも同じ障害が発生するため、障害を克服することができない。
この発明は、例えば上記のような課題を解決するためになされたものであり、障害の原因発生と障害顕在化との間に時差がある場合であっても、障害を克服し、正常に処理を続けることができるようにすることを目的とする。
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におけるプロセス実行装置100の全体構成の一例を示す全体構成図。1 is an overall configuration diagram illustrating an example of an overall configuration of a process execution device 100 according to Embodiment 1. FIG. 実施の形態1におけるプロセス実行装置100の外観の一例を示す斜視図。FIG. 3 is a perspective view illustrating an example of an appearance of a process execution device 100 according to the first embodiment. 実施の形態1におけるプロセス実行装置100のハードウェア資源の一例を示す図。FIG. 3 is a diagram illustrating an example of hardware resources of the process execution device 100 according to the first embodiment. 実施の形態1におけるプロセス実行装置100の機能ブロックの構成の一例を示すブロック構成図。FIG. 3 is a block configuration diagram illustrating an example of a functional block configuration of the process execution device 100 according to the first embodiment. 実施の形態1における障害処理S510の流れの一例を示すフローチャート図。FIG. 5 is a flowchart showing an example of a flow of failure processing S510 in the first embodiment. 実施の形態1におけるプロセス実行装置100の動作の一例を示す模式図。FIG. 3 is a schematic diagram illustrating an example of the operation of the process execution device 100 according to the first embodiment. 実施の形態1におけるプロセス実行装置100の動作の一例を示す模式図。FIG. 3 is a schematic diagram illustrating an example of the operation of the process execution device 100 according to the first embodiment. 実施の形態1におけるプロセス実行装置100の動作の一例を示す模式図。FIG. 3 is a schematic diagram illustrating an example of the operation of the process execution device 100 according to the first embodiment. 実施の形態1におけるプロセス実行装置100の動作の一例を示す模式図。FIG. 3 is a schematic diagram illustrating an example of the operation of the process execution device 100 according to the first embodiment. 実施の形態1におけるプロセス実行装置100の動作の一例を示す模式図。FIG. 3 is a schematic diagram illustrating an example of the operation of the process execution device 100 according to the first embodiment. 実施の形態2におけるプロセス実行装置100の機能ブロックの構成の一例を示すブロック構成図。FIG. 4 is a block configuration diagram showing an example of a functional block configuration of a process execution device 100 according to a second embodiment. 実施の形態2における障害処理S510の流れの一例を示すフローチャート図。FIG. 9 is a flowchart showing an example of a flow of failure processing S510 in the second embodiment. 実施の形態2におけるプロセス実行装置100の動作の一例を示す模式図。FIG. 10 is a schematic diagram illustrating an example of an operation of the process execution device 100 according to the second embodiment. 実施の形態2におけるプロセス実行装置100の動作の一例を示す模式図。FIG. 10 is a schematic diagram illustrating an example of an operation of the process execution device 100 according to the second embodiment. 実施の形態2におけるプロセス実行装置100の動作の一例を示す模式図。FIG. 10 is a schematic diagram illustrating an example of an operation of the process execution device 100 according to the second embodiment. 実施の形態2におけるプロセス実行装置100の動作の一例を示す模式図。FIG. 10 is a schematic diagram illustrating an example of an operation of the process execution device 100 according to the second embodiment. 実施の形態3におけるプロセス実行装置100の動作の一例を示す模式図。FIG. 9 is a schematic diagram illustrating an example of an operation of a process execution device 100 according to a third embodiment. 実施の形態4におけるプロセス実行装置100の動作の一例を示す模式図。FIG. 10 is a schematic diagram illustrating an example of an operation of a process execution device 100 according to a fourth embodiment. 実施の形態5におけるプロセス実行装置100の全体構成の一例を示す全体構成図。FIG. 6 is an overall configuration diagram illustrating an example of an overall configuration of a process execution device 100 according to a fifth embodiment. 実施の形態5における実行処理S550の流れの一例を示すフローチャート図。FIG. 20 is a flowchart showing an example of a flow of execution processing S550 in the fifth embodiment. 実施の形態5における系切替処理S590の流れの一例を示すフローチャート図。FIG. 20 is a flowchart showing an example of a flow of system switching processing S590 in the fifth embodiment. 実施の形態6における実行処理S550の流れの一例を示すフローチャート図。FIG. 20 is a flowchart showing an example of a flow of execution processing S550 in the sixth embodiment. 実施の形態6における系切替処理S590の流れの一例を示すフローチャート図。FIG. 20 is a flowchart showing an example of a flow of system switching processing S590 in the sixth embodiment. 実施の形態6における障害処理S510の流れの一例を示すフローチャート図。FIG. 20 is a flowchart showing an example of a flow of failure processing S510 in the sixth embodiment. 実施の形態6におけるプロセス実行装置100の動作の一例を示す模式図。FIG. 10 is a schematic diagram illustrating an example of an operation of a process execution device 100 according to a sixth embodiment. 実施の形態6におけるプロセス実行装置100の動作の一例を示す模式図。FIG. 10 is a schematic diagram illustrating an example of an operation of a process execution device 100 according to a sixth embodiment. 実施の形態6におけるプロセス実行装置100の動作の一例を示す模式図。FIG. 10 is a schematic diagram illustrating an example of an operation of a process execution device 100 according to a sixth embodiment.

実施の形態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 process execution apparatus 100 in this embodiment.
The process execution device 100 is a device that executes a predetermined process. The process execution device 100 includes an execution unit 110 and a failure processing unit 120.
The execution unit 110 is a main part of the process execution apparatus 100 and is a part that actually executes a process. The execution unit 110 inputs parameters necessary for executing the process from the outside, executes the process based on the input parameters, and outputs the execution result to the outside.
The failure processing unit 120 monitors the execution of the process in the execution unit 110, and performs processing for dealing with the failure when a failure occurs.

図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 process execution apparatus 100 in this embodiment.
The process execution device 100 includes a system unit 910, a display device 901 having a CRT (Cathode / Ray / Tube) or LCD (Liquid Crystal) display screen, a keyboard 902 (Key / Board: K / B), a mouse 903, an FDD 904 (Flexible). (Disk / Drive), compact disk device 905 (CDD), printer device 906, scanner device 907, and other hardware resources, which are connected by a cable or a signal line.
The system unit 910 is a computer, and is connected to the facsimile machine 932 and the telephone 931 with a cable, and is connected to the Internet 940 via a local area network 942 (LAN) and a gateway 941.

図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 process execution device 100 according to this embodiment.
The process execution apparatus 100 includes a CPU 911 (also referred to as a central processing unit, a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, and a processor) that executes a program. The CPU 911 is connected to the ROM 913, the RAM 914, the communication device 915, the display device 901, the keyboard 902, the mouse 903, the FDD 904, the CDD 905, the printer device 906, the scanner device 907, and the magnetic disk device 920 via the bus 912, and the hardware. Control the device. Instead of the magnetic disk device 920, a storage device such as an optical disk device or a memory card read / write device may be used.
The RAM 914 is an example of a volatile memory. The storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of a storage device or a storage unit. A communication device 915, a keyboard 902, a scanner device 907, an FDD 904, and the like are examples of an input unit and an input device.
Further, the communication device 915, the display device 901, the printer device 906, and the like are examples of an output unit and an output device.

通信装置915は、ファクシミリ機932、電話器931、LAN942等に接続されている。通信装置915は、LAN942に限らず、インターネット940、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。インターネット940或いはISDN等のWANに接続されている場合、ゲートウェイ941は不用となる。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
The communication device 915 is connected to a facsimile machine 932, a telephone 931, a LAN 942, and the like. The communication device 915 is not limited to the LAN 942, and may be connected to the Internet 940, a WAN (wide area network) such as ISDN, or the like. When connected to a WAN such as the Internet 940 or ISDN, the gateway 941 is unnecessary.
The magnetic disk device 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924. The programs in the program group 923 are executed by the CPU 911, the operating system 921, and the window system 922.

上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
The program group 923 stores programs that execute functions described as “˜units” in the description of the embodiments described below. The program is read and executed by the CPU 911.
The file group 924 includes information, data, signal values, variable values, and parameters that are described as “determination results of”, “calculation results of”, and “processing results of” in the description of the embodiments described below. Are stored as items of “˜file” and “˜database”. The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, output, printing, and display. Information, data, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory during the CPU operations of extraction, search, reference, comparison, operation, calculation, processing, output, printing, and display. Is remembered.
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 RAM 914 memory, the FDD 904 flexible disk, the CDD 905 compact disk, and the magnetic field. The data is recorded on a recording medium such as a magnetic disk of the disk device 920, another optical disk, a mini disk, and a DVD (Digital Versatile Disk). Data and signals are transmitted online via a bus 912, signal lines, cables, or other transmission media.

また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、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 ROM 913. Alternatively, it may be implemented only by software, only hardware such as elements, devices, substrates, wirings, etc., or a combination of software and hardware, and further a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD. The program is read by the CPU 911 and executed by the CPU 911. That is, the program causes the computer to function as “to part” described below. Alternatively, the procedure or method of “to part” described below is executed by a computer.

図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 process execution device 100 according to this embodiment.
The execution unit 110 includes an initialization execution unit 111, an internal state storage unit 112, a parameter input unit 113, a process execution unit 114, and a result output unit 115. The failure processing unit 120 includes a checkpoint determination unit 121, a state acquisition unit 122, a state storage unit 123, a failure determination unit 131, a rewind time determination unit 132, and a state rewind unit 133.

初期化実行部111は、CPU911を用いて、初期化処理を実行する。初期化実行部111は、例えば、プロセス実行装置100の起動時や再起動時などに、初期化処理を実行する。初期化処理において、初期化実行部111は、例えば、内部状態記憶部112が記憶したデータを初期化する。
内部状態記憶部112は、RAM914を用いて、実行部110の内部状態を表わすデータを記憶する。実行部110の内部状態には、例えば、内部変数の値や、スタックの状態などがある。
パラメータ入力部113は、CPU911を用いて、プロセスのパラメータを入力する。
処理実行部114は、CPU911を用いて、プロセスの処理を実行する。処理実行部114は、パラメータ入力部113が入力したパラメータや、内部状態記憶部112が記憶したデータが表わす内部状態などに基づいて、処理を実行する。処理実行部114が処理を実行した途中経過や次回のプロセス実行のために保持しておくべきデータなどは、内部状態記憶部112が記憶する。
結果出力部115は、CPU911を用いて、処理実行部114が処理を実行した結果を外部に出力する。
The initialization execution unit 111 uses the CPU 911 to execute initialization processing. The initialization execution unit 111 executes initialization processing, for example, when the process execution device 100 is started up or restarted. In the initialization process, the initialization execution unit 111 initializes the data stored in the internal state storage unit 112, for example.
The internal state storage unit 112 uses the RAM 914 to store data representing the internal state of the execution unit 110. Examples of the internal state of the execution unit 110 include an internal variable value and a stack state.
The parameter input unit 113 uses the CPU 911 to input process parameters.
The process execution unit 114 uses the CPU 911 to execute process processing. The process execution unit 114 executes the process based on the parameters input by the parameter input unit 113, the internal state represented by the data stored in the internal state storage unit 112, and the like. The internal state storage unit 112 stores the progress of the process executed by the process execution unit 114 and data to be held for the next process execution.
The result output unit 115 uses the CPU 911 to output the result of the process executed by the process execution unit 114 to the outside.

チェックポイント判定部121は、CPU911を用いて、実行部110におけるプロセスの処理がチェックポイントに到達したか否かを判定する。チェックポイントとは、プロセスを実行している途中の所定の時点(中間時点)のことである。例えば、プロセスが複数の工程を含む場合、1つの工程が終わるごとにチェックポイントを設ける。これにより、例えば、何らかの障害によりプロセスの実行が途中で止まってしまった場合でも、プロセスの処理がどの工程まで進んだかがわかる。   The checkpoint determination unit 121 uses the CPU 911 to determine whether the process of the execution unit 110 has reached the checkpoint. A checkpoint is a predetermined time (intermediate time) during the execution of a process. For example, when a process includes a plurality of steps, a checkpoint is provided every time one step is completed. Thereby, for example, even when the execution of the process is stopped halfway due to some trouble, it is possible to know to which process the process has progressed.

状態取得部122は、実行部110におけるプロセスの処理がチェックポイントに到達したとチェックポイント判定部121が判定した場合に、CPU911を用いて、内部状態記憶部112が記憶したデータをすべて取得する。
状態記憶部123は、磁気ディスク装置920を用いて、状態取得部122が取得したデータを記憶する。これにより、そのチェックポイントにおける実行部110の内部状態が記録される。何らかの障害によりプロセスの実行が途中で止まってしまった場合、状態記憶部123が記憶したデータを内部状態記憶部112に書き戻せば、そのチェックポイントの時点における状態に、実行部110の状態を戻すことができるので、その時点から処理を再開することができる。また、状態記憶部123は、各チェックポイントごとに、状態取得部122が取得したデータを記憶する。これにより、あるチェックポイントの時点における状態に、実行部110の状態を戻して処理を再開したがうまくいかなかったような場合、別のチェックポイントの時点における状態に、実行部110の状態を戻すことができる。
The state acquisition unit 122 acquires all the data stored in the internal state storage unit 112 using the CPU 911 when the checkpoint determination unit 121 determines that the process of the process in the execution unit 110 has reached the checkpoint.
The state storage unit 123 stores data acquired by the state acquisition unit 122 using the magnetic disk device 920. Thereby, the internal state of the execution unit 110 at the checkpoint is recorded. If the execution of the process is stopped halfway due to some trouble, the state stored in the state storage unit 123 can be written back to the internal state storage unit 112 to return the state of the execution unit 110 to the state at the time of the checkpoint. Can be resumed from that point. Further, the state storage unit 123 stores the data acquired by the state acquisition unit 122 for each check point. As a result, if the process is resumed by returning the state of the execution unit 110 to the state at the time of a certain checkpoint, but the operation is not successful, the state of the execution unit 110 is returned to the state at the time of another checkpoint. be able to.

障害判定部131は、CPU911を用いて、実行部110を監視し、何らかの障害により実行部110の処理が途中で止まっていないかを判定する。例えば、障害判定部131は、内部状態記憶部112が記憶したデータを監視して、正常な値であるか否かを判定し、異常値である場合に、実行部110に障害が発生していると判定する。あるいは、障害判定部131は、結果出力部115が結果を出力する間隔を監視して、前回の結果出力から所定の時間が経過しても、次の結果が出力されない場合に、実行部110に障害が発生していると判定する。   The failure determination unit 131 uses the CPU 911 to monitor the execution unit 110 and determines whether the processing of the execution unit 110 has stopped midway due to some failure. For example, the failure determination unit 131 monitors the data stored in the internal state storage unit 112 to determine whether the value is a normal value. If the value is an abnormal value, a failure has occurred in the execution unit 110. It is determined that Alternatively, the failure determination unit 131 monitors the interval at which the result output unit 115 outputs the result, and if the next result is not output even if a predetermined time has elapsed since the previous result output, the failure determination unit 131 sends the result to the execution unit 110. Determine that a failure has occurred.

巻戻時点判定部132は、CPU911を用いて、状態記憶部123が記憶した複数のチェックポイントの時点における状態のうち、どの時点における状態に、実行部110の状態を戻すかを判定する。   The rewind time determination unit 132 uses the CPU 911 to determine to which time the state of the execution unit 110 is to be returned from among the states at the plurality of check points stored in the state storage unit 123.

状態巻戻部133は、実行部110に障害が発生していると障害判定部131が判定した場合に、CPU911を用いて、巻戻時点判定部132が判定した時点における実行部110の状態を表わすデータを状態記憶部123から読み出し、内部状態記憶部112に書き込む。   When the failure determination unit 131 determines that a failure has occurred in the execution unit 110, the state rewinding unit 133 uses the CPU 911 to indicate the state of the execution unit 110 at the time point determined by the rewind time determination unit 132. Data to be represented is read from the state storage unit 123 and written to the internal state storage unit 112.

図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 failure processing unit 120 records the state of the execution unit 110 at the checkpoint, and when a failure occurs, returns the state of the execution unit 110 to the state at the checkpoint and attempts recovery. The failure process S510 includes a failure determination step S511, a checkpoint determination step S512, a state deletion step S521, a state acquisition step S522, a state storage step S523, a state determination step S524, a rewind time advance step S525, a rewind time point determination step S531, It includes a process interruption step S532, a state rewinding step S533, and a rewinding point retracting step S534.

障害判定工程S511において、障害判定部131は、CPU911を用いて、実行部110に障害が発生しているか否かを判定する。
障害が発生していると判定した場合、巻戻時点判定工程S531へ進む。
障害が発生していないと判定した場合、チェックポイント判定工程S512へ進む。
In the failure determination step S511, the failure determination unit 131 uses the CPU 911 to determine whether a failure has occurred in the execution unit 110.
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 checkpoint determination unit 121 uses the CPU 911 to determine whether the process of the execution unit 110 has reached the checkpoint.
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 state storage unit 123 uses the CPU 911 to delete the stored data. Since the last checkpoint is provided when the process execution is completed, the fact that the last checkpoint has been reached means that the execution of the process has been completed normally. Since it is no longer necessary to return the state of the execution unit 110 to the state at the previous checkpoint, the state storage unit 123 erases the stored data, frees up the storage area, and prepares for the next process execution.
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 state acquisition unit 122 uses the CPU 911 to acquire all the data stored in the internal state storage unit 112.
In the state storage step S523, the state storage unit 123 uses the magnetic disk device 920 to determine that the data acquired by the state acquisition unit 122 in the state acquisition step S522 has been reached by the checkpoint determination unit 121 in the checkpoint determination step S512. The data is stored as data corresponding to the determined checkpoint.

状態判定工程S524において、巻戻時点判定部132は、CPU911を用いて、チェックポイント判定工程S512でチェックポイント判定部121が到達したと判定したチェックポイントに対応するデータを、状態記憶部123がそれまで記憶していたか否かを判定する。これにより、今回の実行部110におけるプロセスの処理において、そのチェックポイントまで到達したのが初めてであるのか、それとも、そのチェックポイントを通過したのち、障害が発生して実行部110の状態を戻した結果、再びそのチェックポイントに到達したのかがわかる。
そのチェックポイントに到達したのが初めてであると判定した場合、巻戻時点前進工程S525へ進む。
そのチェックポイントに前にも到達したことがあると判定した場合、障害判定工程S511に戻る。
In the state determination step S524, the rewinding point determination unit 132 uses the CPU 911 to store data corresponding to the checkpoint determined by the checkpoint determination unit 121 in the checkpoint determination step S512. It is determined whether or not it has been stored. As a result, in the process of the process in the execution unit 110 this time, it is the first time that the check point has been reached, or after passing the check point, a failure occurs and the state of the execution unit 110 is returned. As a result, you can see if the checkpoint has been reached again.
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 CPU 911 to determine the checkpoint determined by the checkpoint determination unit 121 in the checkpoint determination step S512 as the rewind time. The rewind time determination unit 132 stores the determination result using the magnetic disk device 920.
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 CPU 911 to determine the checkpoint determined as the rewind time based on the stored determination result.
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 execution unit 110 before processing of the process in the execution unit 110 reaches the first checkpoint, or when the failure occurs, the execution unit 110 enters the state at the first checkpoint. This is the case when the processing is resumed by returning the status, but a failure occurs again. That is, there is no checkpoint to which the state of the execution unit 110 should be returned.
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 state rewinding unit 133 rewrites the data stored in the internal state storage unit 112 using the CPU 911, and interrupts the current process processing in the execution unit 110. This is because there is no checkpoint for returning the state of the execution unit 110, and thus the processing of the execution unit 110 cannot be continued any more. Thereafter, the process proceeds to the state erasing step S521.
The execution unit 110 discards the parameter input by the parameter input unit 113 and ends the process. The process execution unit 114 outputs a result of abnormal termination. Thereafter, when the parameter input unit 113 inputs the next parameter, the execution unit 110 starts processing the next process.

状態巻戻工程S533において、状態巻戻部133は、CPU911を用いて、巻戻時点判定工程S531で巻戻時点判定部132が判別したチェックポイントについて、状態記憶部123が記憶したデータを取得する。状態巻戻部133は、CPU911を用いて、取得したデータを内部状態記憶部112に書き込む。その後、巻戻時点後退工程S534へ進む。
実行部110は、内部状態記憶部112が記憶したデータが書き換えられたことにより、そのチェックポイントの時点における状態に戻り、その状態からプロセスの処理を再開する。
In the state rewinding step S533, the state rewinding unit 133 uses the CPU 911 to acquire the data stored in the state storage unit 123 for the check points determined by the rewinding time determining unit 132 in the rewinding time determining step S531. . The state rewinding unit 133 uses the CPU 911 to write the acquired data to the internal state storage unit 112. Thereafter, the process proceeds to the rewinding time step S534.
The execution unit 110 returns to the state at the time of the checkpoint when the data stored in the internal state storage unit 112 is rewritten, and resumes the processing of the process from that state.

巻戻時点後退工程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 CPU 911, and among the data stored in the state storage unit 123, the state rewinding unit 133 is stored in the internal state storage unit 112 in the state rewinding step S533. It is determined that the check point immediately before the check point corresponding to the written data is the rewinding time. When the checkpoint corresponding to the data written to the internal state storage unit 112 by the state rewinding unit 133 in the state rewinding step S533 is the first checkpoint, there is no previous checkpoint, so the rewinding time point The determination unit 132 determines that there is no check point that is the rewinding point. The rewind time determination unit 132 stores the determination result using the magnetic disk device 920.
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 process execution apparatus 100 in this embodiment.

プロセス開始時601において、パラメータ入力部113がパラメータを入力し、処理実行部114がプロセスの処理を開始する。この時点における状態記憶部123の記憶内容611は、空である。すなわち、状態記憶部123は、チェックポイントにおける状態を表わすデータをいずれも記憶していない。   At the start of the process 601, the parameter input unit 113 inputs parameters, and the process execution unit 114 starts processing the process. The storage content 611 of the state storage unit 123 at this time is empty. That is, the state storage unit 123 does not store any data representing the state at the checkpoint.

処理実行部114の処理が第一チェックポイント602まで到達すると、チェックポイント判定部121がそのことを判定し、内部状態記憶部112が記憶したデータを状態取得部122が取得して、第一チェックポイント602に対応するデータとして、状態記憶部123が記憶する。この時点における状態記憶部123の記憶内容612は、第一チェックポイント602における状態652だけである。
今回のプロセス処理において、処理実行部114の処理が第一チェックポイント602まで到達したのは初めてなので、巻戻時点判定部132は、第一チェックポイント602を巻戻時点と判定する。
When the process of the process execution unit 114 reaches the first check point 602, the check point determination unit 121 determines that, and the state acquisition unit 122 acquires the data stored in the internal state storage unit 112, and the first check The state storage unit 123 stores the data corresponding to the point 602. The storage content 612 of the state storage unit 123 at this time is only the state 652 at the first check point 602.
In this process, since the process of the process execution unit 114 has reached the first check point 602 for the first time, the rewind time determination unit 132 determines the first check point 602 as the rewind time.

処理実行部114の処理が第二チェックポイント603まで到達すると、チェックポイント判定部121がそのことを判定し、内部状態記憶部112が記憶したデータを状態取得部122が取得して、第二チェックポイント603に対応するデータとして、状態記憶部123が記憶する。この時点における状態記憶部123の記憶内容613は、第一チェックポイント602における状態652と、第二チェックポイント603における状態653との2つである。
今回のプロセス処理において、処理実行部114の処理が第二チェックポイント603まで到達したのは初めてなので、巻戻時点判定部132は、第二チェックポイント603を巻戻時点と判定する。
When the process of the process execution unit 114 reaches the second check point 603, the check point determination unit 121 determines that, the state acquisition unit 122 acquires the data stored in the internal state storage unit 112, and the second check point The state storage unit 123 stores the data corresponding to the point 603. The stored contents 613 of the state storage unit 123 at this time are two states, a state 652 at the first check point 602 and a state 653 at the second check point 603.
In this process, since the process of the process execution unit 114 has reached the second check point 603 for the first time, the rewind time determination unit 132 determines the second check point 603 as the rewind time.

処理実行部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 process execution unit 114 reaches the third checkpoint 604, the checkpoint determination unit 121 determines that, and the state acquisition unit 122 acquires the data stored in the internal state storage unit 112, and the third checkpoint The state storage unit 123 stores the data corresponding to the point 604. The stored contents 614 of the state storage unit 123 at this time are three states: a state 652 at the first check point 602, a state 653 at the second check point 603, and a state 654 at the third check point 604.
In this process, since the process of the process execution unit 114 has reached the third check point 604 for the first time, the rewind time determination unit 132 determines the third check point 604 as the rewind time.

このように、処理実行部114の処理が順調に進んでいくにつれ、状態記憶部123は、各チェックポイントにおける実行部110の状態を表わすデータを蓄積していく。また、巻戻時点判定部132が巻戻時点と判定するチェックポイントは、処理の進行に伴って進んでいく。   As described above, as the processing of the processing execution unit 114 proceeds smoothly, the state storage unit 123 accumulates data representing the state of the execution unit 110 at each checkpoint. Also, the check point that the rewind time determination unit 132 determines as the rewind time progresses as the process proceeds.

ここで、処理実行部114の処理が第四チェックポイント605に到達する前に、実行部110に障害が発生したと仮定する。障害判定部131がそのことを判定し、状態巻戻部133は、巻戻時点判定部132の判定結果に基づいて、実行部110の状態を第三チェックポイント604における状態654に戻す。処理実行部114は、第三チェックポイント604から処理を再開する。   Here, it is assumed that a failure has occurred in the execution unit 110 before the processing of the process execution unit 114 reaches the fourth check point 605. The failure determination unit 131 determines that, and the state rewinding unit 133 returns the state of the execution unit 110 to the state 654 at the third checkpoint 604 based on the determination result of the rewinding time determination unit 132. The process execution unit 114 resumes the process from the third check point 604.

図7は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。   FIG. 7 is a schematic diagram showing an example of the operation of the process execution device 100 in this embodiment.

処理実行部114が第三チェックポイント604から処理を再開した時点において、状態記憶部123の記憶内容615は、処理再開前の記憶内容614と同じである。巻戻時点判定部132は、一つ前のチェックポイント、すなわち第二チェックポイント603を巻戻時点と判定する。   When the process execution unit 114 resumes the process from the third check point 604, the storage content 615 of the state storage unit 123 is the same as the storage content 614 before the process is resumed. The rewind time determination unit 132 determines the previous check point, that is, the second check point 603, as the rewind time.

処理実行部114の処理が第四チェックポイント605に到達する前に、再び障害が発生したと仮定する。障害判定部131がそのことを判定し、状態巻戻部133は、巻戻時点判定部132の判定結果に基づいて、実行部110の状態を第二チェックポイント603における状態653に戻す。処理実行部114は、第二チェックポイント603から処理を再開する。   It is assumed that a failure has occurred again before the processing of the processing execution unit 114 reaches the fourth check point 605. The failure determination unit 131 determines that, and the state rewinding unit 133 returns the state of the execution unit 110 to the state 653 at the second checkpoint 603 based on the determination result of the rewinding time determination unit 132. The process execution unit 114 resumes the process from the second check point 603.

第三チェックポイント604に戻って処理をやり直したにも関わらず、再び障害が発生したということは、障害が顕在化したのは、第三チェックポイント604通過後であるが、障害の原因は、第三チェックポイント604到達前に発生していた可能性がある。
プロセス実行装置100は、再び障害が発生した場合、直前のチェックポイントではなく、その一つ前のチェックポイントに戻って、処理をやり直す。これにより、直前のチェックポイント到達前に障害の原因が発生していた場合であっても、障害を克服し、正常に処理を続けることができる。
Although the failure has occurred again despite returning to the third checkpoint 604 and the processing is started again, the failure has become apparent after the third checkpoint 604 has passed. It may have occurred before the third checkpoint 604 was reached.
When the failure occurs again, the process execution device 100 returns to the previous checkpoint instead of the previous checkpoint, and performs the process again. Thereby, even if the cause of the failure has occurred before the arrival of the immediately preceding checkpoint, the failure can be overcome and processing can be continued normally.

図8は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。   FIG. 8 is a schematic diagram showing an example of the operation of the process execution apparatus 100 in this embodiment.

処理実行部114が第二チェックポイント603から処理を再開した時点において、状態記憶部123の記憶内容616は、処理再開前の記憶内容615と同じである。巻戻時点判定部132は、更に一つ前のチェックポイント、すなわち、第一チェックポイント602を巻戻時点と判定する。   When the process execution unit 114 resumes the process from the second check point 603, the storage content 616 of the state storage unit 123 is the same as the storage content 615 before the process is resumed. The rewind time determination unit 132 determines that the previous check point, that is, the first check point 602 is the rewind time.

処理実行部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 process execution unit 114 reaches the third checkpoint 604 again, the checkpoint determination unit 121 determines that, and the state acquisition unit 122 acquires the data stored in the internal state storage unit 112, and the third The state storage unit 123 stores the data corresponding to the check point 604. The stored contents 617 of the state storage unit 123 at this time are three states: a state 652 at the first check point 602, a state 653 at the second check point 603, and a state 654 at the third check point 604. Among these, the state 654 at the third check point 604 is a state at the second arrival time.
In this process, since the process of the process execution unit 114 has reached the third check point 604 for the second time, the rewind time determination unit 132 cannot advance the rewind time. Therefore, the rewinding point remains the first check point 602.

処理実行部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 process execution unit 114 reaches the fourth check point 605. The failure determination unit 131 determines that, and the state rewinding unit 133 returns the state of the execution unit 110 to the state 652 at the first checkpoint 602 based on the determination result of the rewinding time determination unit 132. The process execution unit 114 resumes the process from the first check point 602.

このように、同じところで障害が繰り返し発生して処理が先に進まない場合、プロセス実行装置100は、処理を再開するチェックポイントを一つずつ前に戻していく。これにより、障害の原因が発生する前のチェックポイントから処理を再開できれば、障害を克服し、正常に処理を続けることができる。   As described above, when a failure repeatedly occurs at the same time and the process does not proceed, the process execution device 100 returns the checkpoint for restarting the process one by one. Thus, if the processing can be resumed from the check point before the cause of the failure, the failure can be overcome and the processing can be continued normally.

図9は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。   FIG. 9 is a schematic diagram showing an example of the operation of the process execution device 100 in this embodiment.

処理実行部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 process execution unit 114 resumes the process from the second check point 603, passes the third check point 604, and then reaches the fourth check point 605 without any failure at the same place. The check point determination unit 121 determines that, the state acquisition unit 122 acquires the data stored in the internal state storage unit 112, and the state storage unit 123 stores the data as data corresponding to the third check point 604. The stored contents 618 of the state storage unit 123 at this time point include the state 652 at the first check point 602, the state 653 at the second check point 603, the state 654 at the third check point 604, and the state at the fourth check point 605. 655 and four.
In this process, since the process of the process execution unit 114 has reached the fourth check point 605 for the first time, the rewind time determination unit 132 determines the fourth check point 605 as the rewind time.

処理実行部114の処理が最終チェックポイント606に到達する前に、またもや障害が発生したと仮定する。障害判定部131がそのことを判定し、状態巻戻部133は、巻戻時点判定部132の判定結果に基づいて、実行部110の状態を第四チェックポイント605における状態655に戻す。処理実行部114は、第四チェックポイント605から処理を再開する。   It is assumed that a failure has occurred again before the processing of the processing execution unit 114 reaches the final check point 606. The failure determination unit 131 determines that, and the state rewinding unit 133 returns the state of the execution unit 110 to the state 655 at the fourth checkpoint 605 based on the determination result of the rewinding time determination unit 132. The process execution unit 114 resumes the process from the fourth check point 605.

このように、繰り返し障害が発生した場合であっても、前に障害が発生した時点よりも後まで処理が進んだ場合には、前に発生していた障害の原因は除去され、新たな障害の原因が発生したと考えられる。この場合、プロセス実行装置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 process execution device 100 does not return to the previous checkpoint, but returns to the previous checkpoint and resumes processing.

図10は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。   FIG. 10 is a schematic diagram showing an example of the operation of the process execution device 100 in this embodiment.

第四チェックポイント605を通過したのち、障害が発生せずに、最終チェックポイント606に到達したと仮定する。チェックポイント判定部121がそのことを判定し、状態記憶部123は、記憶したデータを消去する。これにより、状態記憶部123の記憶内容619は、空になる。   Assume that after passing through the fourth checkpoint 605, the final checkpoint 606 has been reached without any failure. The check point determination unit 121 determines that, and the state storage unit 123 erases the stored data. Thereby, the storage content 619 of the state storage unit 123 becomes empty.

この実施の形態におけるプロセス実行装置100は、データを記憶する記憶装置(磁気ディスク装置920)と、データを処理する処理装置(CPU911)と、実行部110と、状態記憶部123と、状態巻戻部133とを有する。
上記実行部110は、上記処理装置を用いて、プロセスを実行する。
上記状態記憶部123は、上記記憶装置を用いて、上記実行部110が上記プロセスを実行している途中の複数の中間時点(チェックポイント)それぞれについて、上記中間時点における上記実行部110の状態を記憶する。
上記状態巻戻部133は、上記処理装置を用いて、上記実行部110に障害が発生した場合に、上記状態記憶部123が記憶した状態のうちいずれかの中間時点の状態に、上記実行部110の状態を戻し、上記実行部110に更に障害が発生した場合に、上記状態記憶部123が記憶した状態のうち、上記実行部110の状態を戻した中間時点よりも前の中間時点における状態に、上記実行部110の状態を戻す。
The process execution device 100 in this embodiment includes a storage device (magnetic disk device 920) for storing data, a processing device (CPU 911) for processing data, an execution unit 110, a state storage unit 123, and a state rewind. Part 133.
The execution unit 110 executes a process using the processing device.
The state storage unit 123 uses the storage device to indicate the state of the execution unit 110 at the intermediate time point for each of a plurality of intermediate time points (checkpoints) while the execution unit 110 is executing the process. Remember.
When the failure occurs in the execution unit 110 using the processing device, the state rewinding unit 133 moves the execution unit into a state at any intermediate point among the states stored in the state storage unit 123. 110, the state at the intermediate time point before the intermediate time point at which the state of the execution unit 110 is returned among the states stored in the state storage unit 123 when the execution unit 110 further fails. The state of the execution unit 110 is returned.

この実施の形態におけるプロセス実行装置100によれば、実行部110の状態を中間時点における状態に戻して処理をやり直しても再び障害が発生する場合に、実行部110の状態をそれよりも前の中間時点における状態に戻して処理をやり直すので、障害の原因が早い段階で発生していた場合であっても、それよりも前の中間時点から処理をやり直すことができ、障害を克服して、正常に処理を続けることができる。   According to the process execution device 100 in this embodiment, when a failure occurs again even if the state of the execution unit 110 is returned to the state at the intermediate time and the process is performed again, the state of the execution unit 110 is changed to the previous state. Since it returns to the state at the intermediate point and redoes the process, even if the cause of the failure occurred at an early stage, the process can be redone from the intermediate point before that, overcoming the obstacle, Processing can be continued normally.

この実施の形態におけるプロセス実行装置100において、上記状態巻戻部133は、上記処理装置を用いて、上記実行部110に更に障害が発生した場合であって、上記実行部110の状態を戻した中間時点よりも前の中間時点における状態を、上記状態記憶部123が記憶していない場合に、上記実行部110に上記プロセスの実行を中断させる。   In the process execution device 100 according to this embodiment, the state rewinding unit 133 uses the processing device to return the state of the execution unit 110 when the execution unit 110 further fails. When the state storage unit 123 does not store the state at the intermediate time point before the intermediate time point, the execution unit 110 interrupts the execution of the process.

この実施の形態におけるプロセス実行装置100によれば、更に前の中間時点における状態を状態記憶部123が記憶していない場合に、実行部110の処理を中断させるので、実行部110が入力したパラメータに異常があるなど、いくら処理をやり直しても障害が発生する場合に、処理の続行を断念し、次のプロセスの処理に移ることができる。   According to the process execution device 100 in this embodiment, since the processing of the execution unit 110 is interrupted when the state storage unit 123 does not store the state at the previous intermediate time point, the parameter input by the execution unit 110 If a failure occurs no matter how many times the process is re-executed, it is possible to abandon the continuation of the process and move on to the next process.

この実施の形態におけるプロセス実行装置100は、データを記憶する記憶装置(磁気ディスク装置920)とデータを処理する処理装置(CPU911)とを有するコンピュータを、上記プロセス実行装置100として機能させるコンピュータプログラムにより、実現することができる。   The process execution device 100 in this embodiment is a computer program that causes a computer having a storage device (magnetic disk device 920) for storing data and a processing device (CPU 911) for processing data to function as the process execution device 100. Can be realized.

この実施の形態におけるコンピュータプログラムによれば、実行部110の状態を中間時点における状態に戻して処理をやり直しても再び障害が発生する場合に、実行部110の状態をそれよりも前の中間時点における状態に戻して処理をやり直すので、障害の原因が早い段階で発生していた場合であっても、それよりも前の中間時点から処理をやり直し、障害を克服して、正常に処理を続けるプロセス実行装置100を得ることができる。   According to the computer program of this embodiment, when a failure occurs again even if the state of the execution unit 110 is returned to the state at the intermediate point and the process is performed again, the state of the execution unit 110 is changed to an intermediate point before that. The process is restarted and the process is restarted, so even if the cause of the failure occurs at an early stage, the process is restarted from the intermediate point before that, overcoming the failure and continuing normally. The process execution device 100 can be obtained.

この実施の形態におけるプロセス実行装置100が、プロセスを実行するプロセス実行方法は、以下の工程を有する。
上記処理装置が、上記プロセスを実行する(実行工程)。
上記記憶装置が、上記処理装置が上記プロセスを実行している途中の複数の中間時点(チェックポイント)それぞれについて、上記中間時点における状態を記憶する(状態記憶工程)。
上記処理装置が、上記プロセスの実行に障害が発生した場合に、上記記憶装置が記憶した状態のうちいずれかの中間時点の状態に、状態を戻す(第一状態巻戻工程)。
上記処理装置が、上記プロセスの実行に更に障害が発生した場合に、上記記憶装置が記憶した状態のうち、状態を戻した中間時点よりも前の中間時点における状態に、状態を戻す(第二状態巻戻工程)。
A process execution method in which the process execution apparatus 100 according to this embodiment executes a process includes the following steps.
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 process execution device 100 according to this embodiment.
The process execution apparatus 100 does not include the rewind time determination unit 132 described in the first embodiment, but includes a state deletion unit 134 instead.

状態巻戻部133は、障害判定部131が実行部110に障害が発生したと判定した場合に、状態記憶部123が記憶したデータのうち、最も新しいチェックポイントに対応するデータを状態記憶部123から読み出し、内部状態記憶部112に書き込む。これにより、実行部110の状態がそのチェックポイントの時点における状態に戻り、処理実行部114は、そのチェックポイントから処理を再開する。   When the failure determination unit 131 determines that a failure has occurred in the execution unit 110, the state rewinding unit 133 sets the data corresponding to the newest checkpoint among the data stored in the state storage unit 123. Is read from and written to the internal state storage unit 112. As a result, the state of the execution unit 110 returns to the state at the time of the checkpoint, and the process execution unit 114 resumes the process from the checkpoint.

状態削除部134は、状態記憶部123が記憶したデータを状態巻戻部133が内部状態記憶部112に書き込んで、実行部110の状態をあるチェックポイントの時点の状態に戻した場合に、CPU911を用いて、状態記憶部123が記憶したデータのなかから、状態記憶部123が内部状態記憶部112に書き込んだデータを削除する。
実行部110に再び障害が発生した場合、一回書き戻したデータは削除されているので、状態巻戻部133が、実行部110の状態を再び同じ状態に戻すことはない。
When the state rewinding unit 133 writes the data stored in the state storage unit 123 to the internal state storage unit 112 and returns the state of the execution unit 110 to the state at the time of a certain checkpoint, the state deletion unit 134 is the CPU 911. The data stored in the internal state storage unit 112 by the state storage unit 123 is deleted from the data stored in the state storage unit 123.
When the failure occurs again in the execution unit 110, the data that has been written back once is deleted, so the state rewinding unit 133 does not return the state of the execution unit 110 to the same state again.

図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 state rewinding unit 133 uses the CPU 911 to determine whether or not the state storage unit 123 stores data representing the state at any checkpoint.
When the state storage unit 123 determines that no data is stored, the process proceeds to the process interruption step S532.
When it is determined that the state storage unit 123 stores data, the process proceeds to the state rewinding step S533.

状態巻戻工程S533において、状態巻戻部133は、CPU911を用いて、状態記憶部123が記憶したデータのうち、一番後ろのチェックポイントに対応するデータを読み出し、内部状態記憶部112に書き込む。
その後、状態削除工程S535へ進む。
In the state rewinding step S533, the state rewinding unit 133 uses the CPU 911 to read data corresponding to the last checkpoint among the data stored in the state storage unit 123 and write the data to the internal state storage unit 112. .
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 CPU 911 to delete the data read by the state rewinding unit 133 in the state rewinding step S533 among the data stored in the state storage unit 123.
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 process execution device 100 in this embodiment.

プロセス開始時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 process 601, the storage content 621 of the state storage unit 123 is empty.
When the process of the process execution unit 114 reaches the first check point 602, the state 652 at the first check point 602 is added to the storage content 622 of the state storage unit 123.
When the process of the process execution unit 114 reaches the second check point 603, the state 653 at the second check point 603 is added to the storage content 623 of the state storage unit 123.
When the process of the process execution unit 114 reaches the third check point 604, the state 654 at the third check point 604 is added to the storage content 624 of the state storage unit 123.
Thus, as long as the process of the process execution unit 114 is proceeding smoothly, the content of the data stored in the state storage unit 123 is the same as in the case of the first embodiment.

処理実行部114の処理が第四チェックポイント605に到達する前に、障害が発生したと仮定する。状態記憶部123が記憶したデータのうち一番最後のデータは第三チェックポイント604に対応するデータなので、状態巻戻部133は、実行部110の状態を第三チェックポイント604における状態654に戻す。処理実行部114は、第三チェックポイント604から処理を再開する。   It is assumed that a failure has occurred before the process of the process execution unit 114 reaches the fourth check point 605. Since the last data among the data stored in the state storage unit 123 is data corresponding to the third check point 604, the state rewind unit 133 returns the state of the execution unit 110 to the state 654 at the third check point 604. . The process execution unit 114 resumes the process from the third check point 604.

図14は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。   FIG. 14 is a schematic diagram showing an example of the operation of the process execution device 100 in this embodiment.

処理実行部114が第三チェックポイント604から処理を再開すると、状態記憶部123が記憶したデータのなかから第三チェックポイント604に対応するデータを状態削除部134が削除する。状態記憶部123の記憶内容625は、第一チェックポイント602における状態652と、第二チェックポイント603における状態653との2つになる。   When the process execution unit 114 resumes processing from the third check point 604, the state deletion unit 134 deletes data corresponding to the third check point 604 from the data stored in the state storage unit 123. The storage contents 625 of the state storage unit 123 are in two states: a state 652 at the first check point 602 and a state 653 at the second check point 603.

処理実行部114の処理が第四チェックポイント605に到達する前に、再び障害が発生したと仮定する。状態記憶部123が記憶したデータのうち一番最後のデータは第二チェックポイント603に対応するデータなので、状態巻戻部133は、実行部110の状態を第二チェックポイント603における状態653に戻す。処理実行部114は、第二チェックポイント603から処理を再開する。   It is assumed that a failure has occurred again before the processing of the processing execution unit 114 reaches the fourth check point 605. Since the last data among the data stored in the state storage unit 123 is data corresponding to the second check point 603, the state rewinding unit 133 returns the state of the execution unit 110 to the state 653 at the second check point 603. . The process execution unit 114 resumes the process from the second check point 603.

このように、処理を再開した時点のデータを、状態削除部134が状態記憶部123から削除するので、同じところで再び障害が発生した場合、処理実行部114は、一つ前のチェックポイントに戻って、処理を再開する。これにより、直前のチェックポイントに到達するよりも前の時点で障害の原因が発生していた場合であっても、障害発生前の時点から処理を再開することができるので、障害を克服し、正常に処理を続けることができる。   In this way, since the state deletion unit 134 deletes the data at the time of restarting the process from the state storage unit 123, if a failure occurs again at the same point, the process execution unit 114 returns to the previous checkpoint. To resume processing. As a result, even if the cause of the failure has occurred before the previous checkpoint, the process can be restarted from the point before the failure, Processing can be continued normally.

図15は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。   FIG. 15 is a schematic diagram showing an example of the operation of the process execution device 100 in this embodiment.

処理実行部114が第二チェックポイント603から処理を再開すると、状態記憶部123が記憶したデータのなかから第二チェックポイント603に対応するデータを状態削除部134が削除する。状態記憶部123の記憶内容626は、第一チェックポイント602における状態652だけになる。   When the process execution unit 114 resumes the process from the second check point 603, the state deletion unit 134 deletes the data corresponding to the second check point 603 from the data stored in the state storage unit 123. The storage content 626 of the state storage unit 123 is only the state 652 at the first check point 602.

処理実行部114の処理が第三チェックポイント604に再び到達すると、状態記憶部123は、内部状態記憶部112が記憶したデータを、第三チェックポイント604に対応する新たなデータとして記憶する。状態記憶部123の記憶内容627は、第一チェックポイント602における状態652と、第三チェックポイント604における新しい状態654との2つになる。   When the process of the process execution unit 114 reaches the third check point 604 again, the state storage unit 123 stores the data stored in the internal state storage unit 112 as new data corresponding to the third check point 604. The stored contents 627 of the state storage unit 123 are two states: a state 652 at the first check point 602 and a new state 654 at the third check point 604.

処理実行部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 process execution unit 114 reaches the fourth check point 605. Since the last data among the data stored in the state storage unit 123 is data corresponding to the third check point 604, the state rewind unit 133 returns the state of the execution unit 110 to the state 654 at the third check point 604. . The process execution unit 114 resumes the process from the third check point 604.

同じところで障害が発生した場合であっても、直前のチェックポイントにおける状態が前回とは異なるので、障害の原因が異なる可能性がある。したがって、直前のチェックポイントから処理をやり直してみる価値がある。プロセス実行装置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 process execution device 100 returns to the previous checkpoint and redoes the process. When the state at the checkpoint is updated after passing through the checkpoint after that, the process execution device 100 returns to the checkpoint with the updated state. And redo the process. As a result, there is a case where it is possible to overcome the obstacle and continue processing normally without returning to the previous checkpoint.

図16は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。   FIG. 16 is a schematic diagram showing an example of the operation of the process execution device 100 in this embodiment.

処理実行部114が再び第三チェックポイント604から処理を再開すると、状態記憶部123が記憶したデータのなかから第三チェックポイント604に対応するデータを状態削除部134が、削除する。状態記憶部123の記憶内容628は、第一チェックポイント602における状態652だけになる。   When the process execution unit 114 resumes the process from the third check point 604 again, the state deletion unit 134 deletes data corresponding to the third check point 604 from the data stored in the state storage unit 123. The storage content 628 of the state storage unit 123 is only the state 652 at the first check point 602.

処理実行部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 processing execution unit 114 reaches the fourth check point 605. Since the last data among the data stored in the state storage unit 123 is data corresponding to the first check point 602, the state rewind unit 133 returns the state of the execution unit 110 to the state 652 at the first check point 602. . The process execution unit 114 resumes the process from the first check point 602.

状態が更新されたチェックポイントに戻って処理を再開しても、同じところで障害が発生する場合には、新たな障害の原因が発生したと考えるよりも、もっと前の時点に障害の原因があると考えるほうが妥当である。プロセス実行装置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 process execution device 100 returns to a checkpoint that is earlier than the checkpoint that was returned to and returns to the previous checkpoint. As a result, if the processing can be resumed from the time before the occurrence of the cause of the failure, the failure can be overcome and the processing can be continued normally.

この実施の形態におけるプロセス実行装置100において、上記状態巻戻部133は、上記処理装置(CPU911)を用いて、上記実行部110に障害が発生した場合に、上記状態記憶部123が記憶した状態のうち、最も新しい中間時点(チェックポイント)の状態に、上記実行部110の状態を戻す。
上記状態記憶部(状態削除部134)は、上記処理装置を用いて、記憶した状態のうち、上記状態巻戻部133が上記実行部110の状態を戻した中間時点の状態を削除する。
In the process execution device 100 according to this embodiment, the state rewinding unit 133 uses the processing device (CPU 911) to store the state stored in the state storage unit 123 when a failure occurs in the execution unit 110. Of these, the state of the execution unit 110 is returned to the state of the latest intermediate point (checkpoint).
The state storage unit (state deletion unit 134) uses the processing device to delete a state at an intermediate time point when the state rewinding unit 133 returns the state of the execution unit 110 among the stored states.

この実施の形態におけるプロセス実行装置100によれば、上記状態巻戻部133が上記実行部110の状態を戻した中間時点の状態を状態記憶部(状態削除部134)が削除するので、巻戻時点の管理が容易になる。また、繰り返し障害が発生したプロセスについて、状態記憶部123が記憶する状態の数が減るので、状態記憶部123が使用する記憶領域が少なくなる。   According to the process execution device 100 in this embodiment, the state storage unit (state deletion unit 134) deletes the state at the intermediate point when the state rewinding unit 133 returns the state of the execution unit 110. Time point management becomes easy. In addition, since the number of states stored in the state storage unit 123 is reduced for a process in which a failure repeatedly occurs, the storage area used by the state storage unit 123 decreases.

以上説明したシステム再起動装置(プロセス実行装置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 process execution device 100 in this embodiment is the same as that of the process execution device 100 described in the first embodiment or the second embodiment, the description thereof will be omitted and only different points will be described.

チェックポイント判定部121は、実行部110がプロセスの処理を開始した場合に、CPU911を用いて、実行部110におけるプロセスの処理がチェックポイントに到達したと判定する。すなわち、プロセスの開始時点に、最初のチェックポイントを設ける。
実行部110がプロセスの処理を開始すると、実行部110におけるプロセスの処理がチェックポイントに到達したとチェックポイント判定部121が判定するので、内部状態記憶部112が記憶したデータを状態取得部122が取得し、状態記憶部123が記憶する。
When the execution unit 110 starts processing a process, the checkpoint determination unit 121 uses the CPU 911 to determine that the process processing in the execution unit 110 has reached a checkpoint. That is, the first checkpoint is provided at the start of the process.
When the execution unit 110 starts processing the process, the checkpoint determination unit 121 determines that the process processing in the execution unit 110 has reached the checkpoint, so the state acquisition unit 122 uses the data stored in the internal state storage unit 112. Acquired and stored in the state storage unit 123.

図17は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。   FIG. 17 is a schematic diagram showing an example of the operation of the process execution device 100 in this embodiment.

処理実行部114がプロセスの処理を開始すると、実行部110の処理が第一チェックポイント602に到達したとチェックポイント判定部121が判定し、内部状態記憶部112が記憶したデータを状態取得部122が取得して、状態記憶部123が記憶する。したがって、プロセス開始の時点で、状態記憶部123は、記憶内容631として、プロセス開始時の状態652を表わすデータを記憶している。   When the process execution unit 114 starts processing the process, the checkpoint determination unit 121 determines that the process of the execution unit 110 has reached the first checkpoint 602, and the state acquisition unit 122 uses the data stored in the internal state storage unit 112. Is acquired and stored in the state storage unit 123. Therefore, at the time of starting the process, the state storage unit 123 stores data representing the state 652 at the start of the process as the storage content 631.

処理実行部114の処理が第二チェックポイント603に到達する前に障害が発生したと仮定する。状態記憶部123がプロセス開始時の状態652を記憶しているので、巻戻時点判定部132は、処理実行部114の状態をプロセス開始時の状態652に戻す。処理実行部114は、第一チェックポイント602(プロセス開始時点)から処理を再開する。   It is assumed that a failure has occurred before the process of the process execution unit 114 reaches the second check point 603. Since the state storage unit 123 stores the state 652 at the start of the process, the rewind time determination unit 132 returns the state of the process execution unit 114 to the state 652 at the start of the process. The process execution unit 114 resumes the process from the first check point 602 (process start time).

実施の形態1や実施の形態2におけるプロセス実行装置100は、プロセス開始直後など、最初のチェックポイントまで処理実行部114の処理が到達する前に障害が発生した場合、実行部110の状態を戻すべきチェックポイントが存在しないので、プロセスの処理を中断する。この実施の形態におけるプロセス実行装置100は、プロセス開始直後に障害が発生した場合であっても、実行部110の状態を戻すべきチェックポイント(プロセス開始時)が存在するので、その状態に実行部110の状態を戻して、処理を再開することができる。   The process execution device 100 according to the first embodiment or the second embodiment returns the state of the execution unit 110 when a failure occurs before the process of the process execution unit 114 reaches the first checkpoint, such as immediately after the start of the process. Since there is no checkpoint to be processed, the processing of the process is interrupted. In the process execution device 100 according to this embodiment, even if a failure occurs immediately after the start of the process, there is a checkpoint (at the start of the process) for returning the state of the execution unit 110. The state of 110 can be returned to resume the processing.

実施の形態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 process execution device 100 in this embodiment is the same as that of the process execution device 100 described in the first to third embodiments, only the differences will be described.

状態取得部122は、あらかじめ、CPU911を用いて、初期化実行部111が初期化処理を実行した直後に内部状態記憶部112が記憶しているデータ(以下「初期化状態データ」と呼ぶ。)を取得しておく。状態記憶部123は、あらかじめ、磁気ディスク装置920を用いて、状態取得部122が取得した初期化状態データを、プロセスの一番最初の時点に対応するデータとして記憶しておく。
また、状態記憶部123は、プロセス実行が終了した場合やプロセス実行が中断した場合、CPU911を用いて、記憶したデータを消去する。ただし、状態記憶部123は、初期化状態データだけは残し、CPU911を用いて、それ以外のデータを削除する。
The state acquisition unit 122 uses the CPU 911 in advance to store data stored in the internal state storage unit 112 immediately after the initialization execution unit 111 executes the initialization process (hereinafter referred to as “initialization state data”). Keep getting. The state storage unit 123 stores, in advance, the initialization state data acquired by the state acquisition unit 122 as data corresponding to the first time point of the process using the magnetic disk device 920.
Further, the state storage unit 123 uses the CPU 911 to erase the stored data when the process execution is completed or when the process execution is interrupted. However, the state storage unit 123 leaves only the initialization state data and deletes other data using the CPU 911.

図18は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。   FIG. 18 is a schematic diagram showing an example of the operation of the process execution device 100 in this embodiment.

実行部110がプロセスの処理を開始する前の時点において、状態記憶部123は、記憶内容632として、初期化状態651を表わすデータを記憶している。
したがって、プロセス開始直後に障害が発生した場合であっても、実行部110の状態を戻すべきチェックポイント(初期化実行時)が存在するので、その状態に実行部110の状態を戻して、処理を再開することができる。
また、もっとあとの時点で障害が発生し、実行部110の状態を戻して処理をやり直しても、障害を克服できない場合、プロセスの処理を開始した時点における実行部110の内部状態に障害の原因がある可能性がある。そのような場合、初期化処理を実行してからプロセスの処理を再開することにより、障害を克服でき、正常に処理を続けることができる。
Before the execution unit 110 starts processing the process, the state storage unit 123 stores data representing the initialization state 651 as the storage content 632.
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 execution unit 110 should be returned. Can be resumed.
Further, if a failure occurs at a later time and the failure cannot be overcome even if the state of the execution unit 110 is returned and the process is restarted, the cause of the failure is caused in the internal state of the execution unit 110 at the time when the process processing is started. There is a possibility. In such a case, by executing the initialization process and then restarting the process, the failure can be overcome and the process can be continued normally.

更に、実施の形態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 checkpoint determination unit 121 determines that the execution unit 110 has reached the checkpoint, the process execution unit 114 starts processing the process. Thus, the state storage unit 123 stores, as the storage content 633, data representing the initialization state 651 and the state 652 at the start of the process.
Therefore, a failure occurs immediately after the start of the process, and the state of the execution unit 110 is returned to the state at the start of the process and the processing is resumed. However, even if a failure occurs again, the state of the execution unit 110 is still changed. Since there is a checkpoint to be returned (at the time of initialization execution), the state of the execution unit 110 can be returned to that state, and the process can be resumed again.

この実施の形態におけるプロセス実行装置100において、上記状態記憶部123は、上記記憶装置(磁気ディスク装置920)を用いて、最初の中間時点(チェックポイント)における上記実行部110の状態として、上記実行部110を初期化した状態を記憶する。   In the process execution device 100 in this embodiment, the state storage unit 123 uses the storage device (magnetic disk device 920) as the state of the execution unit 110 at the first intermediate point (checkpoint). The state where the unit 110 is initialized is stored.

この実施の形態におけるプロセス実行装置100によれば、中間時点における状態に実行部110の状態を戻して処理をやり直しても障害を克服できない場合に、初期化した状態に実行部110の状態を戻して処理をやり直すので、プロセス開始時における実行部110の状態に障害の原因がある場合でも、障害を克服し、正常に処理を続けることができる。   According to the process execution device 100 in this embodiment, if the failure cannot be overcome even if the state of the execution unit 110 is returned to the state at the intermediate time and the process is performed again, the state of the execution unit 110 is returned to the initialized state. Therefore, even if there is a cause of failure in the state of the execution unit 110 at the start of the process, the failure can be overcome and processing can be continued normally.

なお、初期化実行部111が初期化処理を実行した直後の状態651を、状態記憶部123があらかじめ記憶しておくのではなく、状態記憶部123が記憶しているデータのなかに、実行部110の状態を戻すべきチェックポイントに対応するものがなくなった時点で、初期化実行部111が初期化処理を実行し、その後、処理実行部114がプロセスの処理を再開する構成としてもよい。   It should be noted that the state storage unit 123 does not store the state 651 immediately after the initialization execution unit 111 executes the initialization process, but instead stores the execution unit in the data stored in the state storage unit 123. The configuration may be such that the initialization execution unit 111 executes the initialization process when there is no corresponding checkpoint to which the state of 110 is to be returned, and then the process execution unit 114 resumes the process.

以上説明したシステム再起動装置(プロセス実行装置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 process execution device 100 in this embodiment.
The process execution apparatus 100 includes two execution units 110, two failure processing units 120, and a system switching unit 180.
The system switching unit 180 uses the CPU 911 to set one of the two execution units 110 as a regular system and the other as a standby system. The system switching unit 180 uses the CPU 911 to determine which execution unit 110 is the regular system, and notifies the execution unit 110 and the failure processing unit 120 of the determination result.
The system switching unit 180 uses the CPU 911 to input parameters and the like from the outside, and notifies the execution unit 110 of both the normal system and the standby system. In addition, the system switching unit 180 acquires the process execution result output by the regular system execution unit 110 and outputs the result to the outside.

それぞれの障害処理部120は、CPU911を用いて、対応する実行部110におけるプロセスの実行を監視し、障害が発生した場合にその障害に対処する処理を行う。実行部110が常用系である場合と待機系である場合とでは、障害に対する対処が異なる。障害処理部120は、CPU911を用いて、系切替部180からの通知に基づいて、対応する実行部110が常用系であるか待機系であるかを判断し、判断結果に基づいて、障害に対処する。
また、障害処理部120は、CPU911を用いて、実行部110における障害の発生状況などを系切替部180に通知する。系切替部180は、CPU911を用いて、障害処理部120からの通知に基づいて、いずれの実行部110を常用系とするかを判定する。
Each failure processing unit 120 uses the CPU 911 to monitor the execution of the process in the corresponding execution unit 110, and performs processing to deal with the failure when a failure occurs. The handling of the failure differs depending on whether the execution unit 110 is a regular system or a standby system. The failure processing unit 120 uses the CPU 911 to determine whether the corresponding execution unit 110 is a normal system or a standby system based on the notification from the system switching unit 180, and determines a failure based on the determination result. deal with.
Further, the failure processing unit 120 notifies the system switching unit 180 of the occurrence status of the failure in the execution unit 110 using the CPU 911. The system switching unit 180 uses the CPU 911 to determine which execution unit 110 is the regular system based on the notification from the failure processing unit 120.

図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 execution unit 110 executes a process. The execution process S550 includes a system determination step S551, an initialization step S552, and a process execution step S553.

系判定工程S551において、実行部110は、CPU911を用いて、系切替部180からの通知に基づいて、自身が常用系であるか待機系であるかを判定する。
常用系であると判定した場合、プロセス実行工程S553へ進む。
待機系であると判定した場合、初期化工程S552へ進む。
In the system determination step S551, the execution unit 110 uses the CPU 911 to determine whether it is a regular system or a standby system based on the notification from the system switching unit 180.
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 CPU 911.
In the process execution step S553, the execution unit 110 (process execution unit 114) executes a process using the CPU 911.

このように、常用系の実行部110は、前回のプロセス終了時の状態を引き継いで、次のプロセスを実行するのに対し、待機系の実行部110は、初期化処理を実行してから、次のプロセスを実行する。前回のプロセス終了時の状態に異常があることが原因で、常用系の実行部110に障害が発生した場合、待機系の実行部110は、正常にプロセスを実行できる。   In this way, the normal execution unit 110 takes over the state at the end of the previous process and executes the next process, whereas the standby execution unit 110 executes the initialization process, Perform the following process: If a failure occurs in the active execution unit 110 due to an abnormality in the state at the end of the previous process, the standby execution unit 110 can execute the process normally.

図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 system switching unit 180 manages the active system and the standby system, and performs system switching based on the failure occurrence status in the execution unit 110. The system switching process S590 includes a parameter input process S591, a regular system status determination process S592, a switching process S593, an old standby system status determination process S594, and a result output process S595.

パラメータ入力工程S591において、系切替部180は、CPU911を用いて、外部からパラメータを入力する。系切替部180は、CPU911を用いて、常用系・待機系を問わず、2つの実行部110に対して、入力したパラメータを通知する。
これにより、常用系の実行部110は、前回のプロセス終了時の状態を引き継いで、プロセスの実行を開始する。また、待機系の実行部110は、初期化処理実行ののち、プロセスの実行を開始する。なお、待機系の実行部110は、あらかじめ初期化処理を実行しておき、パラメータ入力後すぐに、プロセスの実行を開始する構成であってもよい。
In the parameter input step S591, the system switching unit 180 uses the CPU 911 to input parameters from the outside. The system switching unit 180 uses the CPU 911 to notify the two execution units 110 of the input parameters regardless of whether the system is a normal system or a standby system.
Thus, the regular execution unit 110 takes over the state at the end of the previous process and starts executing the process. The standby execution unit 110 starts executing the process after executing the initialization process. The standby execution unit 110 may be configured to execute an initialization process in advance and start the execution of the process immediately after inputting the parameters.

常用系状況判定工程S592において、系切替部180は、CPU911を用いて、常用系である実行部110におけるプロセスの実行状況を判定する。
プロセスの実行が終了したと判定した場合、結果出力工程S595へ進む。
プロセスの実行が中断したと判定した場合、切替工程S593へ進む。
プロセスの実行が終了も中断もしていないと判定した場合、常用系状況判定工程S592を繰り返す。
In the regular system status determination step S592, the system switching unit 180 uses the CPU 911 to determine the execution status of the process in the execution unit 110 that is the regular system.
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 execution unit 110, but there is no checkpoint to be returned, the failure processing unit 120 interrupts the execution of the process in the execution unit 110. The failure processing unit 120 notifies the system switching unit 180 of this using the CPU 911. The system switching unit 180 uses the CPU 911 to determine that the execution of the process in the execution unit 110 is interrupted based on the notification from the failure processing unit 120.
Further, when the execution of the process in the execution unit 110 is completed, the execution unit 110 outputs the result of the process execution. The system switching unit 180 uses the CPU 911 to acquire the result output by the execution unit 110 and determines that the execution of the process in the execution unit 110 has ended.

切替工程S593において、系切替部180は、CPU911を用いて、待機系の実行部110を常用系に切り替え、常用系の実行部110を待機系に切り替える。
旧待機系の実行部110は、この時点で既にプロセスの実行を開始している。場合によっては、既にプロセスの実行を終了し、結果を出力している場合もある。また、入力したパラメータに異常があった場合など、初期化処理実行後にプロセスを実行しても、やはり障害が発生する場合には、既にプロセスの実行を中断している場合もある。
In the switching step S <b> 593, the system switching unit 180 uses the CPU 911 to switch the standby execution unit 110 to the regular system, and switches the regular system execution unit 110 to the standby system.
The old standby execution unit 110 has already started executing the process at this point. In some cases, the execution of the process has already been completed and the result has been output. In addition, when a failure occurs even after executing the initialization process, such as when there is an abnormality in the input parameters, the execution of the process may already be interrupted.

旧待機系状況判定工程S594において、系切替部180は、CPU911を用いて、新常用系(=旧待機系)である実行部110におけるそのプロセスの実行状況を判定する。
そのプロセスの実行が終了していると判定した場合、結果出力工程S595へ進む。
そのプロセスの実行が中断していると判定した場合、パラメータ入力工程S591に戻る。すなわち、そのプロセスの続行を断念し、次のプロセスに備える。
そのプロセスの実行が終了も中断もしていないと判定した場合、旧待機系状況判定工程S594を繰り返す。
In the old standby system status determination step S594, the system switching unit 180 uses the CPU 911 to determine the execution status of the process in the execution unit 110 that is the new regular system (= old standby system).
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 system switching unit 180 uses the CPU 911 to acquire the result output by the execution unit 110 that is the regular system. Using the CPU 911, the system switching unit 180 outputs the acquired result to the outside.
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 execution unit 110 that is the active system starts executing the process, the execution unit 110 that is the standby system performs the process after the initialization process is executed. Is the output of the process execution apparatus 100. Thereby, obstacles can be overcome.
In addition, since the execution unit 110, which is a standby system, executes the process in advance, the delay due to the occurrence of a failure can be reduced. That is, the process execution device 100 can output the result without much delay.
In addition, when a parameter itself input by the process execution apparatus 100 is abnormal and a failure occurs due to the failure, a failure occurs in both the normal system and the (old) standby system, and the process cannot be continued. Even in such a case, if the execution unit 110, which is a standby system, executes the process in advance, it can be quickly detected that a failure has occurred. Therefore, it is possible to abandon the process early and move on to the next process. This is particularly effective when there is a lot of traffic and a process execution queue is generated.

なお、この例では、複数の実行部110に対応する複数の障害処理部120を設け、それぞれの障害処理部120が、それぞれ対応する実行部110を管理する構成について説明したが、一つの障害処理部120が、複数の実行部110を管理する構成であってもよい。   In this example, a configuration has been described in which a plurality of failure processing units 120 corresponding to a plurality of execution units 110 are provided, and each failure processing unit 120 manages a corresponding execution unit 110. The unit 120 may manage the plurality of execution units 110.

この実施の形態におけるプロセス実行装置100は、更に、複数の上記実行部110と、系切替部180とを有する。
上記実行部のうち第一の実行部110は、上記処理装置を用いて、常用系として、上記プロセスを実行する。
上記実行部のうち第二の実行部110は、上記処理装置を用いて、待機系として、上記プロセスを実行する。
上記状態記憶部123は、上記記憶装置を用いて、複数の上記実行部110それぞれについて、上記中間時点における上記実行部110の状態を記憶する。
上記系切替部180は、上記処理装置を用いて、上記第一の実行部110に障害が発生した場合に、上記第二の実行部110を常用系に切り替え、上記第一の実行部110を待機系に切り替える。
The process execution device 100 in this embodiment further includes a plurality of the execution units 110 and a system switching unit 180.
Among the execution units, the first execution unit 110 executes the process as a regular system using the processing device.
Of the execution units, the second execution unit 110 executes the process as a standby system using the processing device.
The state storage unit 123 stores the state of the execution unit 110 at the intermediate time point for each of the plurality of execution units 110 using the storage device.
The system switching unit 180 uses the processing device to switch the second execution unit 110 to a normal system when a failure occurs in the first execution unit 110, and switches the first execution unit 110. Switch to the standby system.

この実施の形態におけるプロセス実行装置100によれば、常用系である実行部110に障害が発生した場合に、待機系である実行部110を常用系に切り替えるので、早期に障害に対処することができる。   According to the process execution device 100 in this embodiment, when a failure occurs in the execution unit 110 that is the active system, the execution unit 110 that is the standby system is switched to the normal system, so that the failure can be dealt with early. it can.

この実施の形態におけるプロセス実行装置100において、上記第二の実行部110は、上記処理装置を用いて、待機系として、初期化処理を実行したのち、上記プロセスを実行する。
上記系切替部180は、上記処理装置を用いて、上記第一の実行部110に障害が発生した場合であって、上記状態巻戻部133が上記第一の実行部110の状態を戻すべき中間時点における状態を、上記状態記憶部123が記憶していない場合に、上記第二の実行部110を常用系に切り替え、上記第一の実行部110を待機系に切り替える。
In the process execution device 100 according to this embodiment, the second execution unit 110 executes the process after executing initialization processing as a standby system using the processing device.
The system switching unit 180 is a case where a failure has occurred in the first execution unit 110 using the processing device, and the state rewinding unit 133 should return the state of the first execution unit 110. When the state storage unit 123 does not store the state at the intermediate time point, the second execution unit 110 is switched to the regular system, and the first execution unit 110 is switched to the standby system.

この実施の形態におけるプロセス実行装置100によれば、常用系である実行部110に障害が発生する前に、待機系である実行部110が、初期化処理を実行したのちプロセスを実行するので、プロセス開始時の内部状態に異常があったことが原因で障害が発生した場合など初期化処理を実行すれば正常にプロセスを実行できる場合に、速やかに、障害を克服することができる。   According to the process execution device 100 in this embodiment, the execution unit 110 that is the standby system executes the process after executing the initialization process before a failure occurs in the execution unit 110 that is the active system. If the initialization process is executed, such as when a failure occurs due to an abnormality in the internal state at the start of the process, the failure can be quickly overcome when the process can be executed normally.

以上説明したシステム再起動装置を設けた二重系システム(プロセス実行装置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 process execution apparatus 100 in this embodiment is the same as that of the fifth embodiment, the description thereof will be omitted and only different points will be described.

図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 parameter input unit 113 acquires parameters from the system switching unit 180 using the CPU 911.
In the standby step S562, the process execution unit 114 uses the CPU 911 to determine whether or not the next step of the process may be executed.
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 process execution unit 114 reaches a checkpoint and the state acquisition unit 122 reads out the data stored in the internal state storage unit 112, the execution of the next step during reading is started. Since the data stored in the internal state storage unit 112 changes, it is necessary to wait until the reading is completed.
Further, when a failure occurs and the state rewinding unit 133 is writing data to the internal state storage unit 112, it is necessary to wait until the writing is completed.

更に、この実施の形態におけるプロセス実行装置100において、待機系の実行部110は、常用系の実行部110が次のチェックポイントに到達するまで、その一つ前のチェックポイントで待つ。待機系の実行部110は、系切替部180からの通知に基づいて、常用系の実行部110が次のチェックポイントに到達したか否かを判定する。
常用系の実行部110が問題なく次のチェックポイントまで到達するのを待ってから、待機系の実行部110がそのあとを追ってプロセスを実行するので、原則として、待機系の実行部110では、障害が発生しない。
Further, in the process execution apparatus 100 in this embodiment, the standby execution unit 110 waits at the previous checkpoint until the regular execution unit 110 reaches the next checkpoint. The standby execution unit 110 determines whether or not the regular execution unit 110 has reached the next check point based on the notification from the system switching unit 180.
Since the standby execution unit 110 waits for the normal execution unit 110 to reach the next check point without any problem, the standby execution unit 110 executes the process thereafter. No failure occurs.

ステップ実行工程S563において、処理実行部114は、CPU911を用いて、プロセスの次のステップを実行する。
チェックポイント判定工程S564において、処理実行部114は、CPU911を用いて、プロセスの実行がチェックポイントに到達したか否かを判定する。
まだチェックポイントに到達していないと判定した場合、ステップ実行工程S563に戻り、次のステップを実行する。
最後のチェックポイントに到達したと判定した場合、結果通知工程S565へ進む。
それ以外のチェックポイントに到達したと判定した場合、待機工程S562に戻り、内部状態記憶部112が記憶したデータを状態取得部122が読み出し終わるのを待つ。
In step execution step S563, the process execution unit 114 uses the CPU 911 to execute the next step of the process.
In checkpoint determination step S564, the process execution unit 114 uses the CPU 911 to determine whether the execution of the process has reached the checkpoint.
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 state acquisition unit 122 to finish reading the data stored in the internal state storage unit 112.

結果通知工程S565において、結果出力部115は、CPU911を用いて、処理実行部114がプロセスを実行した結果を、系切替部180に対して通知する。
その後、パラメータ取得工程S561に戻り、次のプロセスに備える。
In the result notification step S565, the result output unit 115 uses the CPU 911 to notify the system switching unit 180 of the result of the process execution unit 114 executing the process.
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 failure determination unit 131 determines that a failure has occurred in the execution unit 110 during the execution of the step execution step S563 or the checkpoint determination step S564, the state rewinding unit 133 forces the execution unit 110 to wait for the standby step S562. Return to. The execution unit 110 waits for the state rewinding unit 133 to finish writing data in the internal state storage unit 112.
In addition, when one of the steps is being executed, the failure determination unit 131 determines that a failure has occurred in the execution unit 110, and the state rewinding unit 133 determines that the execution of the process in the execution unit 110 is to be interrupted. The rewinding unit 133 forcibly returns the execution unit 110 to the parameter acquisition step S561.

図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 system switching unit 180 uses the CPU 911 to determine the execution status of the process in the execution unit 110 that is the regular system.
If it is determined that the process has been completed, the process proceeds to a result output step S595. The process execution device 100 ends the execution of the process normally.
If it is determined that the process execution has been interrupted, the process returns to the parameter input step S591. The process execution device 100 abandons execution of the process and prepares for the next process.
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 system switching unit 180 uses the CPU 911 to switch the execution unit 110 that is the active system to the standby system, and switches the execution unit 110 that is the standby system to the normal system.
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 failure processing unit 120 uses the CPU 911 to determine whether the corresponding execution unit 110 is the normal system or the standby system based on the notification from the system switching unit 180.
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 failure processing unit 120 uses the CPU 911 to determine whether or not the corresponding execution unit 110 (which is a standby system) can execute the process. The failure processing unit 120 uses the CPU 911 to notify the corresponding execution unit 110 of the determined result. The execution unit 110 determines whether to execute the next step or wait based on the notification from the failure processing unit 120.
If it is determined that the corresponding execution unit 110 can execute the process, the process proceeds to a checkpoint determination step S512.
If it is determined that the corresponding execution unit 110 is to be put on standby, the process returns to the system determination step S541.

状態判定工程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 CPU 911 to determine whether each of the two execution units 110 has reached the check point before that. For example, the rewind time determination unit 132 determines whether or not the state storage unit 123 of each of the two failure processing units 120 has stored data corresponding to the checkpoint so far. It is determined whether or not the checkpoint has been reached.
If neither of the two execution units 110 has reached the checkpoint before that time, and determines that this is the first time, the process proceeds to the rewind time advance step S525.
If any of the two execution units 110 determines that the checkpoint has been reached before that, the process returns to the system determination step S541.

巻戻時点前進工程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 CPU 911 to rewind the checkpoint immediately before the checkpoint determined that the checkpoint determination unit 121 has reached in the checkpoint determination step S512. It is determined that the return time. If the arrived checkpoint is the first checkpoint, there is no previous checkpoint, so the rewind time determination unit 132 determines that there is no checkpoint that will be the rewind time. The rewind time determination unit 132 stores the determination result using the magnetic disk device 920.
In addition, the rewinding time determination unit 132 of the other failure processing unit 120 uses the CPU 911 to determine the previous checkpoint as the rewinding time. If the reached checkpoint is the first or second checkpoint, there is no checkpoint two prior to that, so the other rewind time determination unit 132 still has a checkpoint that is the rewind time. Judge that it does not exist. Another rewind time determination unit 132 stores the determination result using the magnetic disk device 920.
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 CPU 911, and among the data stored in the state storage unit 123, the state rewinding unit 133 is stored in the internal state storage unit 112 in the state rewinding step S533. It is determined that the check point two before the check point corresponding to the written data is the rewinding point. When the checkpoint corresponding to the data written by the state rewinding unit 133 to the internal state storage unit 112 in the state rewinding step S533 is the first or second checkpoint, there is no checkpoint two prior to that. Therefore, the rewind time determination unit 132 determines that there is no check point that is the rewind time. The rewind time determination unit 132 stores the determination result using the magnetic disk device 920.
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 process execution device 100 in this embodiment.

プロセス開始時601において、常用系の実行部110では、パラメータ入力部113がパラメータを入力し、処理実行部114がプロセスの処理を開始する。待機系の実行部110では、常用系の処理実行部114の処理が第一チェックポイント602に到達するまで、処理実行部114がプロセスの処理を開始せずに待機する。   At the process start 601, in the regular execution unit 110, the parameter input unit 113 inputs parameters, and the process execution unit 114 starts processing the process. In the standby execution unit 110, the process execution unit 114 waits without starting the process until the processing of the regular process execution unit 114 reaches the first checkpoint 602.

常用系の処理実行部114の処理が第一チェックポイント602まで到達すると、待機系の処理実行部114がプロセスの処理を開始する。この時点において、常用系の状態記憶部123の記憶内容641aは、第一チェックポイント602における状態652aだけである。また、待機系の状態記憶部123の記憶内容641bは、空である。いずれかの処理実行部114の処理が第一チェックポイント602まで到達したのはこれが初めてであるが、第一チェックポイント602は最初のチェックポイントなので、常用系の巻戻時点判定部132は、巻戻時点がまだ存在しないと判定する。また、待機系の巻戻時点判定部132も、巻戻時点がまだ存在しないと判定する。   When the processing of the regular processing execution unit 114 reaches the first check point 602, the standby processing execution unit 114 starts processing the process. At this time, the storage content 641a of the regular state storage unit 123 is only the state 652a at the first checkpoint 602. In addition, the storage content 641b of the standby state storage unit 123 is empty. This is the first time that any one of the process execution units 114 has reached the first check point 602, but the first check point 602 is the first check point. It is determined that the return point does not exist yet. The standby rewinding time determination unit 132 also determines that the rewinding time does not exist yet.

待機系の処理実行部114の処理が第一チェックポイント602まで到達した時点で、常用系の処理実行部114は第二チェックポイント603にまだ到達していなかったとすると、待機系の処理実行部114は、常用系の処理実行部114の処理が第二チェックポイント603に到達するまで待機する。待機系の状態記憶部123の記憶内容642bは、第一チェックポイント602における状態652bだけである。第一チェックポイント602には、常用系の処理実行部114が既に到達しているので、待機系の巻戻時点判定部132は、巻戻時点を進めず、巻戻時点がまだ存在しないと判定したままの状態を保つ。   When the processing of the standby processing execution unit 114 reaches the first check point 602 and the normal processing execution unit 114 has not yet reached the second check point 603, the standby processing execution unit 114 Waits until the processing of the regular processing execution unit 114 reaches the second check point 603. The storage content 642b of the standby state storage unit 123 is only the state 652b at the first checkpoint 602. Since the normal process execution unit 114 has already reached the first checkpoint 602, the standby system rewind time determination unit 132 determines that the rewind time does not exist yet because the rewind time determination unit 132 does not advance. Keep it as it is.

常用系の処理実行部114の処理が第二チェックポイント603まで到達すると、待機系の処理実行部114がプロセスの処理を再開する。この時点において、常用系の状態記憶部123の記憶内容642aは、第一チェックポイント602における状態652aと第二チェックポイント603における状態653aとの2つになる。いずれかの処理実行部114の処理が第二チェックポイント603まで到達したは初めてなので、常用系の巻戻時点判定部132は、一つ前の第一チェックポイント602を巻戻時点と判定する。また、待機系の巻戻時点判定部132は、第一チェックポイント602より更に一つ前のチェックポイントが存在しないので、巻戻時点がまだ存在しないと判定する。   When the process of the regular process execution unit 114 reaches the second check point 603, the standby process execution unit 114 resumes the process. At this time, the storage contents 642a of the regular state storage unit 123 are two states, a state 652a at the first check point 602 and a state 653a at the second check point 603. Since the process of any of the process execution units 114 has reached the second check point 603 for the first time, the regular system rewind time determination unit 132 determines that the previous first check point 602 is the rewind time. In addition, the standby rewinding time determination unit 132 determines that there is no rewinding time yet because there is no checkpoint immediately before the first checkpoint 602.

待機系の処理実行部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 processing execution unit 114 reaches the third check point 604 earlier than the processing of the standby processing execution unit 114 reaches the second check point 603. The storage contents 643 a of the regular state storage unit 123 includes three states: a state 652 a at the first check point 602, a state 653 a at the second check point 603, and a state 654 a at the third check point 604. Since the process of any one of the processing execution units 114 has reached the third check point 604, the regular rewind time determination unit 132 determines that the previous second check point 603 is the rewind time. . In addition, the standby rewinding time determination unit 132 determines that the first checkpoint 602 immediately before the second checkpoint 603 is the rewinding time.

待機系の処理実行部114の処理が第二チェックポイント603まで到達した時点で、常用系の処理実行部114の処理は第三チェックポイント604を通過しているので、待機系の処理実行部114は待機せず、そのままプロセスの処理を続行する。待機系の状態記憶部123の記憶内容643bは、第一チェックポイント602における状態652bと第二チェックポイント603における状態653bとの2つになる。第一チェックポイント602には、常用系の処理実行部114が既に到達しているので、待機系の巻戻時点判定部132は、巻戻時点を進めず、第一チェックポイント602を巻戻時点と判定したままの状態を保つ。   When the processing of the standby processing execution unit 114 reaches the second check point 603, the processing of the normal processing execution unit 114 passes through the third check point 604. Does not wait and continues the process. The stored content 643b of the standby state storage unit 123 is in two states: a state 652b at the first check point 602 and a state 653b at the second check point 603. Since the normal system process execution unit 114 has already reached the first check point 602, the standby system rewind time determination unit 132 does not advance the rewind time, and rewinds the first check point 602. It keeps the state as judged.

常用系の処理実行部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 processing execution unit 114 reaches the fourth checkpoint 605. The system switching unit 180 switches between the normal system and the standby system.
The process execution unit 114 of the old standby system (new service system) continues the process processing as it is.
The old regular system (new standby system) state rewinding unit 133 returns the state of the execution unit 110 to the state 653 a at the second checkpoint 603 based on the determination result of the rewinding time determination unit 132. The process execution unit 114 of the old regular system (new standby system) resumes the process from the second checkpoint 603.

図26は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。   FIG. 26 is a schematic diagram showing an example of the operation of the process execution device 100 in this embodiment.

新待機系(旧常用系)の処理実行部114が第二チェックポイント603から処理を再開した時点において、巻戻時点判定部132は、第二チェックポイント603より2つ前のチェックポイントが存在しないので、巻戻時点が存在しないと判定する。   When the process execution unit 114 of the new standby system (old service system) resumes the processing from the second check point 603, the rewind time determination unit 132 does not have a check point two prior to the second check point 603. Therefore, it is determined that there is no rewinding point.

新常用系(旧待機系)の処理実行部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) process execution unit 114 reaches the third checkpoint 604, the storage content 644b of the new regular system status storage unit 123 is changed to the state 652b at the first checkpoint 602 and the first checkpoint 602. There are three states: a state 653b at the second checkpoint 603 and a state 654b at the third checkpoint 604. Since the processing execution unit 114 of the old service system (new standby system) has already reached the third checkpoint 604, the rewind time determination unit 132 of the new service system (old standby system) determines the rewind time point. The first check point 602 is kept in a state where the rewind time is determined without proceeding.

新常用系(旧待機系)の処理実行部114の処理が第四チェックポイント605に到達する前に、再び障害が発生したと仮定する。系切替部180は、常用系と待機系とを切り替える。
新新常用系(新待機系・旧常用系)の処理実行部114は、プロセスの処理をそのまま続行する。
新新待機系(新常用系・旧待機系)の状態巻戻部133は、巻戻時点判定部132の判定結果に基づいて、実行部110の状態を第一チェックポイント602における状態652bに戻す。新新待機系(新常用系・旧待機系)の処理実行部114は、第一チェックポイント602から処理を再開する。
It is assumed that a failure occurs again before the processing of the processing execution unit 114 of the new normal system (old standby system) reaches the fourth checkpoint 605. The system switching unit 180 switches between the normal system and the standby system.
The process execution unit 114 of the new / new service system (new standby system / old service system) continues the process.
The state rewinding unit 133 of the new / new standby system (new service system / old standby system) returns the state of the execution unit 110 to the state 652b at the first check point 602 based on the determination result of the rewinding time determination unit 132. . The process execution unit 114 of the new / new standby system (new service system / old standby system) restarts the process from the first checkpoint 602.

図27は、この実施の形態におけるプロセス実行装置100の動作の一例を示す模式図である。   FIG. 27 is a schematic diagram showing an example of the operation of the process execution device 100 in this embodiment.

新新待機系の処理実行部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 processing execution unit 114 of the new and new standby system resumes processing from the first check point 602, the rewind time determination unit 132 does not have a check point two prior to the first check point 602. It is determined that the time does not exist.
At this time, the storage content 645a of the state storage unit 123 of the new / new use system includes three states: a state 652a at the first check point 602, a state 653a at the second check point 603, and a state 654a at the third check point 604. One. In addition, the storage contents 645b of the state storage unit 123 of the new / new standby system include three states: a state 652b at the first check point 602, a state 653b at the second check point 603, and a state 654b at the third check point 604. is there.

したがって、いずれかの処理実行部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 process execution units 114 reaches the fourth check point 605.
If, before that, a failure occurs in the processing execution unit 114 of the new and new active system, the system switching unit 180 switches between the active system and the standby system. The process execution unit 114 of the new / new standby system (new / new use system) interrupts the process of the process because there is no checkpoint whose state should be returned.
Further, when a failure occurs in the processing execution unit 114 of the new / new / usual system (new / standby system), the system switching unit 180 switches between the normal system and the standby system. The process execution unit 114 of the new / new / new standby system (new / new / usual system / new / new standby system) interrupts the process of the process because there is no checkpoint whose state should be returned. Since the process execution unit 114 of the new / new / new-use system (new / new / standby system / new / new-use system) has already suspended the process, the system switching unit 180 abandons the continuation of the process, Prepare for the next process.

障害が発生せず、新新常用系の処理実行部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 processing execution unit 114 has reached the fourth checkpoint 605. The storage contents 646a of the new / usual state storage unit 123 include a state 652a at the first checkpoint 602, a state 653a at the second checkpoint 603, a state 654a at the third checkpoint 604, and a fourth checkpoint 605. There are four states with state 655a in FIG. Since the process of any one of the process execution units 114 has reached the fourth check point 605 for the first time, the rewind time determination unit 132 of the new and new service system sets the previous third check point 604 as the rewind time. judge. Further, the rewind time determination unit 132 of the new and new standby system determines that the second check point 603 immediately before the third check point 604 is the rewind time.

このように、障害発生に備え、常用系の実行部110のあとを追いかけて待機系の実行部110がプロセスの処理を実行するので、常用系の実行部110に障害が発生した場合、待機系を常用系に切り替えることにより、迅速に障害に対処することができる。
特に、障害が繰り返し発生し、2つ以上前のチェックポイントに戻って処理を再開する場合であっても、待機系の実行部110は、常に常用系の実行部110よりチェックポイント一つ後ろを追いかけているので、チェックポイント一つ分の遅延しか発生せず、処理のやり直しによる遅延を最小限に抑えることができる。
In this way, in preparation for the occurrence of a failure, the standby execution unit 110 follows the normal execution unit 110 and executes the processing of the process. Therefore, if a failure occurs in the normal execution unit 110, the standby system By switching to the regular system, it is possible to quickly cope with the failure.
In particular, even when a failure occurs repeatedly and returns to two or more previous checkpoints and resumes processing, the standby execution unit 110 always keeps one checkpoint behind the regular execution unit 110. Since it is chasing, only one checkpoint delay occurs, and the delay due to re-processing can be minimized.

この実施の形態におけるプロセス実行装置100において、上記第二の実行部110は、上記処理装置を用いて、待機系として、上記状態記憶部123が上記第一の実行部110について状態を記憶した中間時点(チェックポイント)よりも前の中間時点で待機する。
上記状態巻戻部133は、上記処理装置を用いて、上記系切替部180が上記第一の実行部110を常用系から待機系に切り替えた場合に、上記状態記憶部123が上記第二の実行部110について状態を記憶した中間時点よりも前の中間時点の状態に、上記第一の実行部110の状態を戻す。
In the process execution device 100 in this embodiment, the second execution unit 110 uses the processing device as a standby system, and the state storage unit 123 stores the state of the first execution unit 110 in the middle. Wait at an intermediate time before the time (checkpoint).
When the system switching unit 180 switches the first execution unit 110 from the regular system to the standby system using the processing device, the state rewinding unit 133 causes the state storage unit 123 to The state of the first execution unit 110 is returned to the state at the intermediate time point before the intermediate time point at which the state is stored for the execution unit 110.

この実施の形態におけるプロセス実行装置100によれば、常用系の実行部110より前の中間時点で待機系の実行部110が待機するので、障害発生時に系切替部180が常用系と待機系とを切り替えることにより、障害に迅速に対処することができる。また、待機系に切り替えられた旧常用系の実行部110は、それよりも前の中間時点に戻ってプロセスの処理をやり直すので、常用系に切り替えられた旧待機系の実行部110にも障害が発生した場合、系切替部180が再び常用系と待機系とを切り替えることにより、障害に迅速に対処することができる。   According to the process execution apparatus 100 in this embodiment, the standby execution unit 110 waits at an intermediate time before the normal execution unit 110, so that when the failure occurs, the system switching unit 180 causes the normal system and the standby system to It is possible to deal with a failure promptly by switching between. In addition, since the former active system execution unit 110 switched to the standby system returns to the intermediate point before that and performs the process again, the old standby system execution unit 110 switched to the normal system also fails. When this occurs, the system switching unit 180 switches between the normal system and the standby system again, so that the failure can be quickly dealt with.

以上説明したシステム再起動装置を設けた二重系システム(プロセス実行装置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または請求項2に記載のプロセス実行装置。   The said state memory | storage part memorize | stores the state which initialized the said execution part as the state of the said execution part in the first intermediate | middle time using the said memory | storage device. Process execution device. 上記状態巻戻部は、上記処理装置を用いて、上記実行部に更に障害が発生した場合であって、上記実行部の状態を戻した中間時点よりも前の中間時点における状態を、上記状態記憶部が記憶していない場合に、上記実行部に上記プロセスの実行を中断させることを特徴とする請求項1乃至請求項3のいずれかに記載のプロセス実行装置。   The state rewinding unit is a state where the execution unit further fails, and the state at the intermediate time point before the intermediate time point when the state of the execution unit is returned is The process execution apparatus according to claim 1, wherein when the storage unit does not store, the execution unit interrupts execution of the process. 上記プロセス実行装置は、更に、複数の上記実行部と、系切替部とを有し、
上記実行部のうち第一の実行部は、上記処理装置を用いて、常用系として、上記プロセスを実行し、
上記実行部のうち第二の実行部は、上記処理装置を用いて、待機系として、上記プロセスを実行し、
上記状態記憶部は、上記記憶装置を用いて、複数の上記実行部それぞれについて、上記中間時点における上記実行部の状態を記憶し、
上記系切替部は、上記処理装置を用いて、上記第一の実行部に障害が発生した場合に、上記第二の実行部を常用系に切り替え、上記第一の実行部を待機系に切り替えることを特徴とする請求項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.
上記状態記憶部は、上記処理装置を用いて、上記実行部が上記プロセスの実行を終了した場合に、記憶した上記実行部の状態を削除することを特徴とする請求項1乃至請求項7のいずれかに記載のプロセス実行装置。   The said state memory | storage part deletes the state of the said said execution part memorize | stored, when the said execution part complete | finishes execution of the said process using the said processing apparatus. The process execution apparatus in any one. データを記憶する記憶装置とデータを処理する処理装置とを有するコンピュータを、請求項1乃至請求項8のいずれかに記載のプロセス実行装置として機能させることを特徴とするコンピュータプログラム。   A computer program for causing a computer having a storage device for storing data and a processing device for processing data to function as the process execution device according to any one of claims 1 to 8. データを記憶する記憶装置とデータを処理する処理装置とを有するプロセス実行装置が、プロセスを実行するプロセス実行方法において、
上記処理装置が、上記プロセスを実行し、
上記記憶装置が、上記処理装置が上記プロセスを実行している途中の複数の中間時点それぞれについて、上記中間時点における状態を記憶し、
上記処理装置が、上記プロセスの実行に障害が発生した場合に、上記記憶装置が記憶した状態のうちいずれかの中間時点の状態に、状態を戻し、
上記処理装置が、上記プロセスの実行に更に障害が発生した場合に、上記記憶装置が記憶した状態のうち、状態を戻した中間時点よりも前の中間時点における状態に、状態を戻すことを特徴とするプロセス実行方法。
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.
JP2009169862A 2009-07-21 2009-07-21 Process execution device and computer program, and process execution method Pending JP2011022959A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (6)

* Cited by examiner, † Cited by third party
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