(57)【要約】【課題】情報処理装置において、障害の迅速な復旧または通知を低コストで可能にする技術を提供する。【解決手段】情報処理装置は、所定の処理を実行する前に、自身が処理を障害なく実行できる状態である、正常状態にあるか否かを判断する正常状態判断手段と、正常状態にないと判断されたのであれば、自身が正常状態に復旧することができる状態である、準正常状態であるか否かを判断する準正常状態判断手段と、準正常状態にあると判断されたならば、自身を正常状態に復旧する復旧手段と、準正常状態にないと判断されたのであれば、自身に異常がある旨を出力する出力手段と、正常状態にあると判断された場合、又は正常状態に復旧された場合、処理を実行する実行手段と、を有する。【選択図】図１
2010002979.tif 000002
【特許請求の範囲】
【請求項１】
所定の処理を実行する前に、自身が該処理を障害なく実行できる状態である、正常状態にあるか否かを判断する正常状態判断手段と、
前記正常状態判断手段により前記正常状態にないと判断されたのであれば、自身が前記正常状態に復旧することができる状態である、準正常状態であるか否かを判断する準正常状態判断手段と、
前記準正常状態判断手段により前記準正常状態にあると判断されたならば、自身を前記正常状態に復旧する復旧手段と、
前記準正常状態判断手段により前記準正常状態にないと判断されたのであれば、自身に異常がある旨を出力する出力手段と、
前記正常状態判断手段により前記正常状態にあると判断された場合、又は前記復旧手段により前記正常状態に復旧された場合、前記処理を実行する実行手段と、
を有する情報処理装置。
【請求項２】
前記正常状態の定義を示す正常状態情報を記憶する正常状態記憶手段を更に有し、
前記正常状態判断手段は、前記正常状態記憶手段から読み出した前記正常状態情報に基づいて、正常状態である否かを判断する、請求項１に記載の情報処理装置。
【請求項３】
前記準正常状態の定義を示す準正常状態情報を記憶する準正常状態記憶手段を更に有し、
前記準正常状態判断手段は、前記準正常状態記憶手段から読み出した前記準正常状態情報に基づいて、準正常状態である否かを判断する、請求項１又は２に記載の情報処理装置。
【請求項４】
前記処理は、順に実行される複数の処理のうちの１つであり、
前記正常状態判断手段は、前回の処理が正常に終了していれば、正常状態であると判断する、請求項１乃至３のいずれか1項に記載の情報処理装置。
【請求項５】
前記準正常状態判断手段は、前記処理が前回の処理の結果に基づく処理であれば、準正常状態でないと判断する、請求項４に記載の情報処理装置。
【請求項６】
前記準正常状態判断手段は、前記処理が前回の処理の結果に基づく処理であり、且つ前回の処理が正常に終了した後に前記正常状態に復旧できるのであれば、準正常状態であると判断する、請求項４に記載の情報処理装置。
【請求項７】
前記処理は、順に実行される複数の処理のうちの１つであり、
前記準正常状態判断手段は、前回の処理が日時を指定した処理であれば、準正常状態でないと判断する、請求項１乃至６のいずれか1項に記載の情報処理装置。
【請求項８】
前記復旧手段は、前記正常状態に復旧する前に、所定のデータを記憶手段に退避する、請求項１乃至７のいずれか1項に記載の情報処理装置。
【請求項９】
前記出力手段は、前記準正常状態判断手段により前記準正常状態にあると判断されたのであれば、該準正常状態にある旨を更に出力する、請求項１乃至８のいずれか1項に記載の情報処理装置。
【請求項１０】
所定の処理を実行する前に、自身が該処理を障害なく実行できる状態である、正常状態にあるか否かを判断し、
前記正常状態にないと判断されたのであれば、自身が前記正常状態に復旧することができる状態である、準正常状態であるか否かを判断し、
前記準正常状態にあると判断されたならば、自身を前記正常状態に復旧し、
前記準正常状態にないと判断されたのであれば、自身に異常がある旨を出力し、
前記正常状態にあると判断された場合、又は前記正常状態に復旧された場合、前記処理を実行する、情報処理方法。
【請求項１１】
コンピュータに、
所定の処理を実行する前に、自身が該処理を障害なく実行できる状態である、正常状態にあるか否かを判断する正常状態判断手順、
前記正常状態判断手順により前記正常状態にないと判断されたのであれば、自身が前記正常状態に復旧することができる状態である、準正常状態であるか否かを判断する準正常状態判断手順、
前記準正常状態判断手順により前記準正常状態にあると判断されたならば、自身を前記正常状態に復旧する復旧手順、
前記準正常状態判断手順により前記準正常状態にないと判断されたのであれば、自身に異常がある旨を出力する出力手順、及び
前記正常状態判断手段により前記正常状態にあると判断された場合、又は前記復旧手段により前記正常状態に復旧された場合、前記処理を実行する実行手順、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置において障害による被害の拡大を防止する技術に関する。
【背景技術】
【０００２】
トランザクション処理などの所定の処理を実行する情報処理装置において、予期せぬ障害によりシステムダウンが発生することがある。このシステムダウンを起した情報処理装置が自動復旧すればよいが、自動復旧しないこともある。システムダウンが生じたときに自動復旧しなくても情報処理装置が異常を通知すれば、オペレータが手動で復旧作業を行うことができる。
【０００３】
ところが、システムダウンにより強制的に実行中の処理が中断されるので、情報処理装置が異常を外部に通知することすらできない場合がある。異常の通知や自動復旧ができない場合は、障害が発生した装置に更に次の処理を実行させることによる多重障害が生じうる。
【０００４】
例えば、ある処理の結果に基づいて以降の処理を実行する場合、その処理の結果がシステムダウンにより破壊されていると、以降の処理にも連鎖的に障害が生じてしまう。
【０００５】
このような多重障害を防ぐため、特許文献１に記載の通信システムは、監視装置が中継局を監視し、中継局の障害を検知したとき、その監視装置が、障害が生じた中継局の復旧を行うことで、障害を早期に復旧させる。
【０００６】
そして、特許文献２に記載の通信システムは、基地局制御装置が基地局の障害を検知したとき、その基地局制御装置が、障害が生じた基地局の復旧を行う構成としている。
【特許文献１】特開２００１−８６０７４号公報
【特許文献２】特開２００３−７８９３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、オペレータが手動で復旧作業を行う場合は、人件費などの運用コストが増大し、オペレータの人為的なミスも生じやすい。
【０００８】
また、特許文献１および特許文献２に記載の通信システムは、障害が発生した装置とは別途に、障害の監視および復旧のための装置を必要とするので、運用コストが増大する。
【０００９】
本発明の目的は、情報処理装置において、障害の迅速な復旧または通知を低コストで可能にする技術を提供することである。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の情報処理装置は、所定の処理を実行する前に、自身が該処理を障害なく実行できる状態である、正常状態にあるか否かを判断する正常状態判断手段と、前記正常状態判断手段により前記正常状態にないと判断されたのであれば、自身が前記正常状態に復旧することができる状態である、準正常状態であるか否かを判断する準正常状態判断手段と、前記準正常状態判断手段により前記準正常状態にあると判断されたならば、自身を前記正常状態に復旧する復旧手段と、前記準正常状態判断手段により前記準正常状態にないと判断されたのであれば、自身に異常がある旨を出力する出力手段と、前記正常状態判断手段により前記正常状態にあると判断された場合、又は前記復旧手段により前記正常状態に復旧された場合、前記処理を実行する実行手段と、を有する。
【００１１】
本発明の情報処理方法は、所定の処理を実行する前に、自身が該処理を障害なく実行できる状態である、正常状態にあるか否かを判断し、前記正常状態にないと判断されたのであれば、自身が前記正常状態に復旧することができる状態である、準正常状態であるか否かを判断し、前記準正常状態にあると判断されたならば、自身を前記正常状態に復旧し、前記準正常状態にないと判断されたのであれば、自身に異常がある旨を出力し、前記正常状態にあると判断された場合、又は前記正常状態に復旧された場合、前記処理を実行する、情報処理方法である。
【００１２】
本発明のプログラムは、コンピュータに、所定の処理を実行する前に、自身が該処理を障害なく実行できる状態である、正常状態にあるか否かを判断する正常状態判断手順、前記正常状態判断手順により前記正常状態にないと判断されたのであれば、自身が前記正常状態に復旧することができる状態である、準正常状態であるか否かを判断する準正常状態判断手順、前記準正常状態判断手順により前記準正常状態にあると判断されたならば、自身を前記正常状態に復旧する復旧手順、前記準正常状態判断手順により前記準正常状態にないと判断されたのであれば、自身に異常がある旨を出力する出力手順、及び前記正常状態判断手段により前記正常状態にあると判断された場合、又は前記復旧手段により前記正常状態に復旧された場合、前記処理を実行する実行手順、を実行させるためのプログラムである。
【発明の効果】
【００１３】
本発明によれば、情報処理装置は、所定の処理を障害なく実行できる状態（正常状態）でなければ、正常状態に復旧できる状態（準正常状態）にあるか否かを判断し、準正常状態であれば、正常状態に復旧し、準正常状態でなければ、異常がある旨を出力し、正常状態にある場合又は復旧後に処理を実行する。このため、正常状態でなくとも、情報処理装置は外部の装置によらずに自ら正常状態に復旧するか、異常を通知するので、低コストで迅速な障害の復旧又は通知を行うことができる。
【発明を実施するための最良の形態】
【００１４】
本発明を実施するための実施形態について図面を参照して詳細に説明する。
【００１５】
図１は、本実施形態の情報処理装置１の構成を示すブロック図である。図１を参照すると、情報処理装置１は、パーソナルコンピュータ、ＡＴＭ（Automatic Teller Machine）などのコンピュータである。
【００１６】
情報処理装置１は、正常状態判断部１１、準正常状態判断部１３、リカバリ処理部１５、オペレータ通知部１７、およびトランザクション処理部１９を有する。
【００１７】
正常状態判断部１１は、スケジュール管理ファイル１１１、正常状態定義ファイル１１３、および異常検知プログラム１１５を有する。
【００１８】
図２は、スケジュール管理ファイル１１１の構成の一例を示す図である。スケジュール管理ファイル１１１は、情報処理装置１が行う情報処理のそれぞれについて、実行するタイミングを示す情報を含むファイルである。同図を参照すると、スケジュール管理ファイル１１１は、「実行タイミング」、「実行対象処理」、および「分類」を示す情報を含む。
【００１９】
「実行タイミング」は、「実行対象処理」を実行するタイミングであり、例えば、実行する時刻が設定される。「実行対象処理」は、「実行タイミング」で実行される処理である。「分類」は、「実行対象処理」の分類であり、例えば「前処理」、「主処理」、または「後処理」のいずれかが設定される。
【００２０】
「実行対象処理」の単位については、トランザクション処理やバッチ処理などに含まれるそれぞれの処理を1単位としてもよく、トランザクション処理等の複数の一連の処理を１つの単位としてもよい。また、独立して実行される個々の処理を一単位としてもよい。
【００２１】
例えば、「実行タイミング」が「１０：００」（午前１０時）のとき、「実行対象処理」として処理Ａ１が実行され、その処理の「分類」は、「前処理」である。「実行タイミング」が「１１：００」（午前１１時）のときには、「実行対象処理」として処理Ａ２が実行され、その処理の「分類」は、「主処理」である。
【００２２】
図３は、正常状態定義ファイル１１３の構成の一例を示す図である。正常状態定義ファイル１１３は、情報処理装置１の状態が正常状態であるか否かを判断するために使用するファイルである。「正常状態」とは、情報処理装置１が実行タイミングに対応する処理を障害なく実行できる状態である。
【００２３】
図３を参照すると、正常状態定義ファイル１１３は、「実行対象処理」と、「定義内容」を示す情報を含む。「定義内容」は、「実行対象処理」の実行タイミングにおける正常状態の定義である。例えば、正常状態定義ファイル１１３は、ＸＭＬ（eXtensible Markup Language）などで記述され、「実行対象処理」に対応するタグが定義され、このタグに「定義内容」を示す情報が埋め込まれる。
【００２４】
「定義内容」には、所定のファイルやテーブルの内容などの状態が記載される。また、ある処理の処理結果を、その処理以降の処理が使用する場合、それらの処理の「定義内容」には、正常状態と判断する条件の１つとして、使用するデータを更新する処理が正常に終了していることを記載する。
【００２５】
情報処理装置１は、各処理の実行タイミングで、その処理に対応するタグが定義する状態を、自身の状態と照合することにより、自身が正常状態であるか否かを判断する。
【００２６】
例えば、処理Ａ１、Ａ２、Ａ３の順で実行し、Ａ１がファイルＦ１を使用し、Ａ２が、Ａ１の処理結果を使用し、Ａ３がＡ２の処理結果を使用する場合について考える。この場合、「実行対象処理」の処理Ａ１には、「定義内容」として「ファイルＦ１が初期状態である」等が記載される。
【００２７】
処理Ａ１実行中に障害が生じて、その処理結果のデータが破壊された場合、処理Ａ２を実行すると、障害が連鎖的に生じうる。そこで、準正常状態判断部１３は、処理Ａ１が正常に終了するまでの間は、情報処理装置１の状態を、処理Ａ２を実行できない状態、すなわち、正常状態でない状態と判断する。この場合、「実行対象処理」の処理Ａ２には、「定義内容」として「処理Ａ１が正常に終了した。」等が記載される。正常に終了したか否かは、処理結果のデータが破壊されたか否かなどにより判断する。「実行対象処理」の処理Ａ３には、「定義内容」として「処理Ａ２が正常に終了した。」等が記載される。
【００２８】
異常検知プログラム１１５は、異常検知処理を実行するためのプログラムである。正常状態判断部１１は、異常検知処理において、現在時刻が、スケジュール管理ファイル１１１で「主処理」の「実行対象処理」に対応する「実行タイミング」であるか否かを判断する。
【００２９】
現在時刻が「主処理」の「実行タイミング」であれば、正常状態判断部１１は、その「実行タイミング」における「実行対象処理」に対応するタグに含まれるデータを正常状態定義ファイル１１３から読み出す。正常状態判断部１１は、読み出したデータを使用して、情報処理装置１が正常状態であるか否かを判断し、正常状態でなければ、後述する準正常状態判断処理を行う。
【００３０】
図１に戻り、準正常状態判断部１３は、準正常状態定義ファイル１３１、準正常状態判断プログラム１３３、および異常通知用ファイル１３５を有する。
【００３１】
準正常状態定義ファイル１３１は、情報処理装置１の状態が準正常状態、異常状態のいずれであるかを判断するために使用するファイルである。準正常状態定義ファイル１３１は、ＸＭＬなどで記述し、タグにより各処理の状態を定義する。
【００３２】
「準正常状態」とは、情報処理装置１が正常状態に復旧することができる状態である。ただし、単に、情報処理装置１が復旧する処理を実行できるだけでは、準正常状態に該当しない場合もある。例えば、復旧用のプログラムは正常に実行できるものの、データが破壊されていて、復旧用のプログラムを実行しても処理を実行できる状態（正常状態）に復旧できない場合は、正常状態に復旧できないので準正常状態に該当しない。
【００３３】
具体的には、正常状態でなく、実行タイミングに対応する処理が、前回の処理で更新されたデータを使用するものである場合、又は、正常状態でなく、前回の処理が日時を指定した処理である場合、準正常状態判断部１３は、準正常状態でないと判断する。これは、前回の処理が正常に終了していない（正常状態でない）場合、データが破壊されたり、日時が不正である可能性があり、データが破壊されたり、日時が不正なままで、実行対象の処理を実行すると障害が生じ得るためである。
【００３４】
但し、正常状態でなく、今回の処理が前回の処理結果に基づくものである場合であっても、前回の処理について復旧中であり、その復旧の完了後、今回の処理についても復旧できるのであれば、準正常状態判断部１３は、準正常状態と判断してもよい。
【００３５】
「異常状態」とは、正常状態でも準正常状態でもない状態である。
【００３６】
または、前回以前の処理が終了日時を示すデータなど、日時に基づくデータを更新するものであり、その前回の処理が正常に終了していない場合、そのデータを復旧せずに、実行対象の処理を実行すると障害が生じるので、準正常状態判断部１３は、準正常状態と判断する。
【００３７】
図４は、準正常状態定義ファイル１３１の構成の一例を示す図である。同図を参照すると、準正常状態定義ファイル１３１は、「実行対象処理」と、「定義内容」を示す情報を含む。「定義内容」は、「実行対象処理」の実行タイミングにおける準正常状態の定義である。例えば、正常状態定義ファイル１１３は、ＸＭＬなどで記述され、「実行対象処理」に対応するタグが定義され、このタグに。「定義内容」を示す情報が埋め込まれる。
【００３８】
「定義内容」には、所定のファイルやテーブルの内容などの状態が記載される。また、ある処理の処理結果を、その処理以降の処理が使用する場合、それらの処理の「定義内容」には、準正常状態と判断する条件の１つとして、使用するデータを更新する処理が正常に終了していないことを記載する。
【００３９】
情報処理装置１は、各処理の実行タイミングで、その処理に対応するタグが定義する状態を、自身の状態と照合することにより、自身が準正常状態であるか否かを判断する。
【００４０】
例えば、処理Ａ１、Ａ２、Ａ３の順で実行し、Ａ１がファイルＦ１を使用し、Ａ２が、Ａ１の処理結果を使用し、Ａ３がＡ２の処理結果を使用する場合について考える。この場合、「実行対象処理」の処理Ａ１には、「定義内容」として「ファイルＦ１が初期状態である」等が記載される。
【００４１】
処理Ａ１が正常に終了すれば、その後にＡ１の処理結果をＡ２が使用できるようになるので、情報処理装置１は、処理Ａ２を復旧後に実行できない状態（異常状態）ではない。そこで、準正常状態判断部１３は、Ａ１が正常に終了するまでは、Ａ２を準正常状態と判断し、Ａ１の終了後に正常状態と判断してＡ２を実行する。この場合、「実行対象処理」の処理Ａ２には、「定義内容」として「処理Ａ１が正常に終了していない。」等が記載される。「実行対象処理」の処理Ａ３には、「定義内容」として「処理Ａ２が正常に終了していない。」等が記載される。
【００４２】
準正常状態判断プログラム１３３は、準正常状態判断処理を実行するためのプログラムである。準正常状態判断部１３は、正常状態判断部１１により正常状態でないと判断されたとき、準正常状態判断処理を開始する。準正常状態判断部１３は、準正常状態判断処理において、準正常状態定義ファイル１３１を使用して情報処理装置１が準正常状態であるか否かを判断する。準正常状態であれば、準定常状態判断部１３は、後述するリカバリフラグをＯＮにする。また、準定常状態判断部１３は、準正常状態であるか否かの判断結果に基づいて異常通知用ファイル１３５を更新する。
【００４３】
図５は、異常通知用ファイル１３５の構成の一例を示す図である。異常通知用ファイル１３５は、情報処理装置１の状態（正常状態、準正常状態、または異常状態）を示す情報を格納するファイルである。同図を参照すると、異常通知用ファイル１３５は、「処理」、「想定内異常フラグ」、および「異常フラグ」を有する。
【００４４】
「処理」は、トランザクション処理部１９により実行される処理である。
【００４５】
「異常フラグ」は、異常状態であるか否かを示す情報である。初期状態では「ＯＦＦ」に設定され、準正常状態判断部１３により、異常状態である場合は「ＯＮ」、そうでない場合は「ＯＦＦ」に更新される。「想定内異常フラグ」は、準正常状態であるか否かを示す情報である。初期状態では「ＯＦＦ」に設定され、準正常状態判断部１３により、準正常状態である場合「ＯＮ」、そうでない場合「ＯＦＦ」に更新される。正常状態である場合、「異常フラグ」および「想定内異常フラグ」は「ＯＦＦ」である。
【００４６】
例えば、処理Ａ２が実行される前に、準正常状態判断部１３は、準正常状態であると判断したので、処理Ａ２の「想定内異常フラグ」は「ＯＦＦ」、「想定内異常フラグ」は「ＯＮ」に更新される。
【００４７】
図１に戻り、リカバリ処理部１５は、リカバリフラグ記憶部１５１、バックアップ対象定義ファイル１５３、バックアップ・リカバリプログラム１５５、バックアップテーブル記憶部１５７、バックアップファイル記憶部１５９、およびリカバリファイル記憶部１６１を有する。
【００４８】
図６は、リカバリフラグ記憶部１５１の構成の一例を示す図である。リカバリフラグ記憶部１５１は、各処理のリカバリフラグを記憶する。同図を参照すると、リカバリフラグ記憶部１５１は、「実行対象処理」および「リカバリフラグ」を示す情報を記憶する。「リカバリフラグ」とは、「実行対象処理」に対応付けて情報処理装置1を正常状態に復旧するリカバリ処理を実行中であるか否かを示す情報である。初期状態では、リカバリフラグに「ＯＦＦ」が設定され、復旧中である場合は、「ＯＮ」に更新される。
【００４９】
例えば、「実行対象処理」として処理Ａ２の実行タイミングで情報処理装置１が準正常状態であったとき、リカバリ処理部１５は、処理Ａ２を実行できるようにするためのリカバリ処理を開始し、処理Ａ１に対応する「リカバリフラグ」は「ＯＮ」に更新される。そして、リカバリ処理が終了したとき、「リカバリフラグ」は「ＯＦＦ」に更新される。
【００５０】
図７は、バックアップ対象定義ファイル１５３の構成の一例を示す図である。バックアップ対象定義ファイル１５３は、正常状態判断部１１により正常状態でないと判断されたときに退避すべき対象（ファイル、テーブルなど）を示す情報を格納するファイルである。同図を参照すると、バックアップ対象定義ファイル１５１は、「処理」、「退避対象テーブル」、および「退避対象ファイル」を示す情報を含む。
【００５１】
「処理」は、トランザクション処理部１９により実行される処理である。「退避対象テーブル」は、退避すべきテーブルの格納場所である。「退避対象ファイル」は、退避すべきファイルの格納場所である。
【００５２】
例えば、処理Ｂ１の直前の処理が、テーブルＴｂ１およびファイルＦ１を更新する場合、処理Ｂ１の実行タイミングで正常状態でないと判断されたとき、リカバリ処理部１５は、テーブルＴｂ１およびファイルＦ１を退避する。この場合、バックアップ対象定義ファイル１５３において、「処理Ｂ１」に対応付けて、「退避対象テーブル」には「テーブルＴｂＡ」の格納場所、「退避対象ファイル」には「ファイルＦ１」の格納場所が設定される。主処理でない「処理Ａ１」の実行前には、正常状態判断部１１により正常状態が判断されないので、対応する「退避対象テーブル」および「退避対象ファイル」は設定されない。
【００５３】
バックアップ・リカバリプログラム１５５は、リカバリ処理を実行するためのプログラムである。
【００５４】
リカバリ処理部１５は、リカバリ処理において、バックアップ対象定義ファイル１５３から、正常状態であるか否かが判断された処理に対応するバックアップ対象を読み出し、そのバックアップ対象をバックアップテーブル記憶部１５７またはバックアップテーブル１５９に格納する。復旧が終了したとき、リカバリ処理部１５は、その処理の主処理実行フラグをＯＮに更新する。
【００５５】
図８は、バックアップテーブル記憶部１５７の構成の一例を示す図である。バックアップテーブル記憶部１５７は、バックアップ対象のテーブルを記憶する。同図を参照すると、バックアップテーブル記憶部１５７は、複数のテーブルを格納している。
【００５６】
図９は、バックアップファイル記憶部１５９の構成の一例を示す図である。バックアップファイル記憶部１５９は、バックアップ対象のファイルを格納するファイルである。同図を参照すると、バックアップファイル記憶部１５９は、複数のファイルを格納している。
【００５７】
図１０は、リカバリファイル記憶部１６１の構成の一例を示す図である。リカバリファイル記憶部１６１は、正常状態でない情報処理装置１を正常状態に復旧するために使用するファイルを記憶する。同図を参照すると、リカバリファイル記憶部１６１は、複数のリカバリファイルを格納している。
【００５８】
例えば、リカバリファイル記憶部１６１は、「リカバリファイルＡ１」および「リカバリファイルＡ２」を含む複数のファイルを有する。「リカバリファイルＡ１」は、処理Ａ１を障害なく実行できる状態（正常状態）にない情報処理装置１を正常状態に復旧するために必要なファイルであり、「リカバリファイルＡ２」は、処理Ａ２について正常状態でない情報処理装置１を正常状態に復旧するために必要なファイルである。
【００５９】
リカバリ処理部１５は、リカバリ処理において、バックアップテーブル記憶部１５７およびバックアップファイル記憶部１５９にファイル等の退避を行った後、リカバリファイルＡ２を使用して、情報処理装置１を正常状態に復旧する。
【００６０】
退避したファイル等は、後で解析して一部が破壊されていれば復元したり、システムダウンの状況を分析するために使用する。また、情報処理装置１は、退避したファイル等が破壊されていないのであれば、退避したファイル等を書き戻してバックアップ直前の状態に戻すこともできる。
【００６１】
図１に戻り、オペレータ通知部１７は、異常通知用ファイル１３５の内容を出力し、情報処理装置の状態（正常状態、準正常状態、または異常状態）をオペレータに通知する。例えば、情報処理装置１の操作画面に、情報処理装置の状態を表示する。
【００６２】
なお、オペレータ通知部１７は、異常通知用ファイル１３５の内容を印刷してもよいし、他の装置に送信してもよい。
【００６３】
トランザクション処理部１９は、主処理実行フラグ記憶部１９１、トランザクション実行プログラム１９３、トランザクションテーブル記憶部１９５、およびトランザクションファイル記憶部１９７を有する。
【００６４】
図１１は、主処理実行フラグ記憶部１９１の構成の一例を示す図である。同図を参照すると、主処理実行フラグ記憶部１９１は、「実行対象処理」および「主処理実行フラグ」を示す情報を記憶する。主処理実行フラグは、主処理を実行するか否かを決定するための情報であり、「ＯＮ」または「ＯＦＦ」が設定される。主処理実行フラグは、初期状態では「ＯＦＦ」が設定され、「ＯＮ」が設定されたときのみ、トランザクション処理部１９が主処理を実行する。主処理でない「実行対象処理」については、主処理実行フラグは設定されない。
【００６５】
例えば、「実行対象処理」の処理Ａ２をトランザクション処理部１９が実行できる状態であるとき、準正常状態判断部１３により、Ａ１に対応する「主処理実行フラグ」に「ＯＮ」が設定される。前処理のＡ１には、主処理実行フラグは設定されない。処理Ａ２の実行中に、同時に処理Ｂ１を実行できる場合、準正常状態判断部１３により、Ｂ１に対応する「主処理実行フラグ」に「ＯＮ」が設定される。
【００６６】
トランザクション実行プログラム１９３は、所定のトランザクション処理を実行するためのプログラムである。
【００６７】
図１２は、トランザクションテーブル記憶部１９５の構成の一例を示す図である。トランザクションテーブル記憶部１９５は、トランザクション処理において更新対象となるテーブルを格納する。同図を参照すると、トランザクションテーブル記憶部１９５は、複数のテーブルを格納している。
【００６８】
図１３は、トランザクションファイル記憶部１９７の構成の一例を示す図である。トランザクションファイル記憶部１９７は、トランザクション処理において更新対象となるファイルを格納する。同図を参照すると、トランザクションファイル記憶部１９７は、複数のファイルを格納している。
【００６９】
トランザクション処理部１９は、トランザクション処理において、スケジュール管理ファイル１１１における実行タイミングにおいて、主処理実行フラグがＯＮである場合、すなわち、情報処理装置1が正常状態または復旧処理が行われた後である場合、対応する処理を実行する。そして、トランザクション処理部は、処理を実行した結果に基づいてトランザクションテーブル記憶部１９３およびトランザクションファイル記憶部１９５に記憶されたテーブルおよびファイルを更新する。
【００７０】
次に、図１４〜図１８を参照して、情報処理装置１の動作について説明する。
【００７１】
図１４は、情報処理装置１の動作を示すフローチャートである。この動作は、情報処理装置１において所定のアプリケーションが実行されたときに開始する。同図を参照すると、正常状態判断部１１は、異常検知処理を実行し（ステップＳ１）、続いてリカバリ処理部１５は、リカバリ処理を実行する（ステップＳ３）。オペレータ通知部１７は、異常通知用ファイル１３５に基づいて、オペレータに、情報処理装置１の状態（正常状態、準正常状態、または異常状態）を通知する（ステップＳ５）。そして、トランザクション処理部１９は、トランザクション処理を実行する（ステップＳ７）。
【００７２】
図１５は、異常検知処理を示すフローチャートである。同図を参照すると、正常状態判断部１１は、スケジュール管理ファイル１１１を読み出す（ステップＳ１１）。正常状態判断部１１は、スケジュール管理ファイル１１１において、現在時刻が、「主処理」の実行タイミングであるか否かを判断する（ステップＳ１３）。
【００７３】
実行タイミングであれば（ステップＳ１３：ＹＥＳ）、正常状態判断部１１は、正常状態定義ファイル記憶部１１３から、実行対象の処理に対応するタグに格納されたデータを読み出す（ステップＳ１５）。正常状態判断部１１は、読み出したデータを使用して、情報処理装置１が正常状態にあるか否かを判断する（ステップＳ１７）。
【００７４】
なお、正常状態判断部１１は、「主処理」のみならず、「前処理」、「後処理」の実行タイミングで、正常状態であるか否かを判断してもよい。
【００７５】
正常状態であれば（ステップＳ１７：ＹＥＳ）、正常状態判断部１１は、実行対象の処理に対応する主処理実行フラグをＯＮにする（ステップＳ１９）。
【００７６】
正常状態でなければ（ステップＳ１７：ＮＯ）、準正常状態判断部１３は、準正常状態判断処理を実行する（ステップＳ２１）。
【００７７】
実行タイミングでない場合（ステップＳ１３：ＮＯ）、またはステップＳ１９の後、あるいはステップＳ２１の後、異常状態判断部１１は、異常検知処理を終了する。
【００７８】
図１６は、準正常状態判断処理を示すフローチャートである。同図を参照すると、準正常状態判断部１３は、準正常状態定義ファイル記憶部１３１から、実行対象の処理に対応するタグに格納されたデータを読み出す（ステップＳ２１１）。準正常状態判断部１３は、読み出したデータを使用して、情報処理装置１が準正常状態にあるか否かを判断する（ステップＳ２１３）。
【００７９】
準正常状態であれば（ステップＳ２１３：ＹＥＳ）、準正常状態判断部１３は、実行対象の処理に対応する主処理実行フラグをＯＦＦにし、リカバリフラグをＯＮにする（ステップＳ２１５）。準正常状態判断部１３は、異常通知用ファイル１３５において、実行対象の処理に対応する「想定内異常フラグ」をＯＮにする（ステップＳ２１７）。
【００８０】
準正常状態でなければ（ステップＳ２１３：ＮＯ）、準正常状態判断部１３は、主処理実行フラグをＯＦＦにし（ステップＳ２１９）、異常通知用ファイル１３５において、実行対象の処理に対応する「想定内異常フラグ」をＯＮにする（ステップＳ２２１）。
【００８１】
ステップＳ２１７またはステップＳ２２１の後、準正常状態判断部１３は、準正常状態判断処理を終了する。
【００８２】
図１５は、リカバリ処理を示すフローチャートである。同図を参照すると、リカバリ処理部１５は、リカバリフラグ記憶部１５１において実行対象の処理に対応するリカバリフラグがＯＮであるか否かを判断する（ステップＳ３１）。リカバリフラグがＯＮであれば（ステップＳ３１：ＹＥＳ）、リカバリ処理部１５は、バックアップ対象定義ファイル１５１から、実行対象の処理に対応するテーブルおよびファイルの格納場所を読み出す（ステップＳ３３）。リカバリ処理部１５は、読み出した格納場所のテーブルおよびファイルをバックアップテーブル記憶部１５５およびバックアップファイル記憶部１５７に退避する（ステップＳ３５）。
【００８３】
リカバリ処理部１５は、リカバリファイル記憶部１５９から、実行対象の処理に対応するリカバリファイルを読み出す（ステップＳ３７）。リカバリ処理部１５は、読み出したリカバリファイルを使用して、情報処理装置１を正常状態に復旧する（ステップＳ３９）。
【００８４】
リカバリ処理部１５は、復旧が終了したか否かを判断する（ステップＳ４１）。復旧が終了したのであれば（ステップＳ４１：ＹＥＳ）、リカバリ処理部１５は、実行対象の処理に対応する主処理実行フラグをＯＮにし、リカバリフラグをＯＦＦにする（ステップＳ４３）。
【００８５】
リカバリフラグがＯＮでない場合（ステップＳ３１：ＮＯ）、復旧が終了していない場合（ステップＳ４１：ＮＯ）、またはステップＳ２１９７の後、リカバリ処理部１５は、リカバリ処理を終了する。
【００８６】
図１６は、トランザクション処理を示すフローチャートである。同図を参照すると、トランザクション処理部１９は、スケジュール管理テーブルにおいて、現在時刻が、「前処理」、「主処理」、または「後処理」の実行タイミングであるか否かを判断する（ステップＳ５１）。
【００８７】
実行タイミングであれば（ステップＳ５１：ＹＥＳ）、トランザクション処理部１９は、「主処理」の実行タイミングであるか否かを判断する（ステップＳ５３）。
【００８８】
「主処理」の実行タイミングであれば（ステップＳ５３：ＹＥＳ）、トランザクション処理部１９は、主処理実行フラグがＯＮであるか否かを判断する（ステップＳ５５）。
【００８９】
主処理実行フラグがＯＮである場合（ステップＳ５３：ＹＥＳ）、または「主処理」の実行タイミングでない場合（ステップＳ５１：ＮＯ）、トランザクション処理部１９は、実行タイミングにおいて実行対象の処理を行う。そして、トランザクション処理部１９は、処理結果に基づいてトランザクションテーブル記憶部１９３およびトランザクションテーブル記憶部１９５に格納されたテーブルやファイルを更新する（ステップＳ５７）。
【００９０】
主処理実行フラグがＯＮでない場合（ステップＳ５５：ＮＯ）、または「前処理」、「主処理」、または「後処理」のいずれの実行タイミングでもない場合（ステップＳ５１：ＮＯ）、あるいはステップＳ５７の後、トランザクション処理部１９は、トランザクション処理を終了する。
【００９１】
以上説明したように、本実施形態によれば、準正常状態判断部１３は、処理の実行タイミングで、処理を障害なく実行できる状態（正常状態）でなければ、正常状態に復旧できる状態（準正常状態）にあるか否かを判断し、準正常状態であれば、リカバリ処理部１５が正常状態に復旧し、準正常状態でなければ、オペレータ通知部１７が異常がある旨を出力し、トランザクション処理部１９が正常状態にある場合又は復旧後に処理を実行する。このため、正常状態でなくとも、情報処理装置１は外部の装置によらずに自ら正常状態に復旧するか、異常を通知するので、低コストで迅速な障害の復旧又は通知を行うことができる。
【００９２】
正常状態判断部１１および準正常状態判断部１３は、それぞれ正常状態定義ファイル１１３および準正常状態定義ファイル１３１の示す定義に基づいて、正常状態であるか否かおよび準正常状態であるか否かを判断する。このため、情報処理装置１は、正常状態定義ファイル１１３および準正常状態定義ファイル１３１を予め記憶しておけば、他の装置によらずに、自己が正常状態であるか否かを判断でき、低コストで多重障害を防ぐことができる。
【００９３】
正常状態判断部１１は、前回の処理が正常に終了していれば、正常状態であると判断するので、情報処理装置１は、処理を順に実行する構成において、多重障害を確実に防ぐことができる。
【００９４】
準正常状態判断部１３は、実行対象の処理が前回の処理の結果に基づいて実行される処理であり、前回の処理が正常に終了していなければ、準正常状態と判断するので、破壊されたデータを使用する処理を実行することによって、多重障害が生じる事態を防ぐことができる。
【００９５】
準正常状態判断部１３は、前回の処理が日時に基づく処理であり、前回の処理が正常に終了していなければ、準正常状態であると判断するので、日時の齟齬により生じる障害を防止することができる。
【００９６】
リカバリ処理部１５は、復旧前に、バックアップ対象のテーブルやファイルを退避しておくので、システムダウンによりデータが失われることがなくなる。
【００９７】
オペレータ通知部１７は、準正常状態である場合も、想定内異常フラグに基づいて異常を通知するので、復旧中であることをオペレータが認識できる結果、多重障害を防ぐことができる。
【００９８】
なお、図１４〜図１８で示した処理の一部又は全ては、コンピュータプログラムの実行により実現してもよいのは勿論である。
【図面の簡単な説明】
【００９９】
【図１】本実施形態の情報処理装置の構成を示すブロック図である。
【図２】本実施形態のスケジュール管理ファイルの構成の一例を示す図である。
【図３】本実施形態の正常状態定義ファイルの構成の一例を示す図である。
【図４】本実施形態の準正常状態定義ファイルの構成の一例を示す図である。
【図５】本実施形態の異常通知用ファイルの構成の一例を示す図である。
【図６】本実施形態のリカバリフラグ記憶部の構成の一例を示す図である。
【図７】本実施形態のバックアップ対象定義ファイルの構成の一例を示す図である。
【図８】本実施形態のバックアップテーブル記憶部の構成の一例を示す図である。
【図９】本実施形態のバックアップファイル記憶部の構成の一例を示す図である。
【図１０】本実施形態のリカバリファイル記憶部の構成の一例を示す図である。
【図１１】本実施形態の主処理フラグ記憶部の構成の一例を示す図である。
【図１２】本実施形態のトランザクションテーブル記憶部の構成の一例を示す図である。
【図１３】本実施形態のトランザクションファイル記憶部の構成の一例を示す図である。
【図１４】本実施形態の情報処理装置の動作を示すフローチャートである。
【図１５】本実施形態の異常検知処理を示すフローチャートである。
【図１６】本実施形態の準正常状態判断処理を示すフローチャートである。
【図１７】本実施形態のリカバリ処理を示すフローチャートである。
【図１８】本実施形態のトランザクション処理を示すフローチャートである。
【符号の説明】
【０１００】
１    情報処理装置
１１    正常状態判断部
１３    準正常状態判断部
１５    リカバリ処理部
１７    オペレータ処理部
１９    トランザクション処理部
１１１    スケジュール管理テーブル
１１３    正常状態定義ファイル
１１５    異常検知プログラム
１３１    準正常状態定義ファイル
１３３    準正常状態判断プログラム
１３５    異常通知用ファイル
１５１    リカバリフラグ記憶部
１５３    バックアップ対象定義ファイル
１５５    バックアップ・リカバリプログラム
１５７    バックアップテーブル記憶部
１５９    バックアップファイル記憶部
１６１    リカバリファイル記憶部
１９１    主処理フラグ記憶部
１９３    トランザクション実行プログラム
１９５    トランザクションテーブル記憶部
１９７    トランザクションファイル記憶部
Ｓ１〜Ｓ７、Ｓ１１〜Ｓ２１、Ｓ２１1〜Ｓ２２１、Ｓ３１〜Ｓ４３、Ｓ７１〜Ｓ７７    ステップ
【図１】
2010002979.tif 000003
【図２】
2010002979.tif 000004
【図３】
2010002979.tif 000005
【図４】
2010002979.tif 000006
【図５】
2010002979.tif 000007
【図６】
2010002979.tif 000008
【図７】
2010002979.tif 000009
【図８】
2010002979.tif 000010
【図９】
2010002979.tif 000011
【図１０】
2010002979.tif 000012
【図１１】
2010002979.tif 000013
【図１２】
2010002979.tif 000014
【図１３】
2010002979.tif 000015
【図１４】
2010002979.tif 000016
【図１５】
2010002979.tif 000017
【図１６】
2010002979.tif 000018
【図１７】
2010002979.tif 000019
【図１８】
2010002979.tif 000020