(57)【要約】【課題】システム障害発生時に現実の業務に対応した復旧を実施する。【解決手段】システム４にシステム障害が発生した場合に、このシステム４を復旧させるシステム復旧プログラム７は、コンピュータに、システム障害が発生した時点における現実の業務５の状態に対応してシステム４に対する複数種類の復旧方式を定義する復旧方式定義機能８と、システム４に対する復旧時に外部指示１５に基づいて定義された複数の復旧方式から実行すべき復旧方式を指定する復旧方式指定機能９と、この指定した復旧方式に従ってシステム４に対する復旧を実行する復旧実行機能１０とを実現させる。【選択図】    図１
2004280400.tif 000002
【特許請求の範囲】
【請求項１】
予め定められた手順で各プロセスを実行するとともに、各プロセスの実行過程で現実の業務に対して各種の指示を出すシステムにシステム障害が発生した場合に、このシステムを復旧させるシステム復旧プログラムにおいて、
コンピュータに、
前記システム障害が発生した時点における前記現実の業務の状態に対応して前記システムに対する複数種類の復旧方式を定義する復旧方式定義機能と、
前記システムに対する復旧時に外部指示に基づいて前記定義された複数の復旧方式から実行すべき復旧方式を指定する復旧方式指定機能と、
この指定した復旧方式に従って前記システムに対する復旧を実行する復旧実行機能とを実現させるためのシステム復旧プログラム。
【請求項２】
前記複数種類の復旧方式は、前記システム障害が発生した時点における前記現実の業務の状態に応じてシステムに入出される各種情報の入出力ポートを変更してから該当システムを起動する復旧方式を含むことを特徴とする請求項１記載のシステム復旧プログラム。
【請求項３】
前記復旧方式指定機能は、前記システムに対する復旧時に前記外部指示が入力されなかったとき、前記定義された複数の復旧方式から予め定められた特定の復旧方式を実行すべき復旧方式と指定することを特徴とする請求項１又は２記載のシステム復旧プログラム。
【請求項４】
コンピュータに、
前記システムにおける複数のプロセスの処理手順からなる業務トランザクション、及びこの業務トランザクションの各プロセスの実行過程でシステム上及び現実の業務上で障害が発生したときに実施する補償処理を定義する業務トランザクション定義機能と、
前記各業務トランザクションのシステム上及び現実の業務上での最新の処理状態を管理する業務トランザクション管理機能と
を実現させ、
前記復旧実行機能は、前記システムに対する復旧時に、業務トランザクションのシステム上及び現実の業務上での最新の処理状態に対応する補償処理を前記システムに対して実行することを特徴とする請求項１から３のいずれか１項記載のシステム復旧プログラム。
【請求項５】
予め定められた手順で各プロセスを実行するとともに、各プロセスの実行過程で現実の業務に対して各種の指示を出すシステムにシステム障害が発生した場合に、このシステムを復旧させるシステム復旧方法において、
前記システム障害が発生した時点における前記現実の業務の状態に対応して前記システムに対する複数種類の復旧方式を定義して記憶部に記憶し、
前記システムに対する復旧時に外部指示に基づいて前記記憶された複数の復旧方式から実行すべき復旧方式を指定し、
この指定した復旧方式に従って前記システムに対する復旧を実行することを特徴とするシステム復旧方法。
【請求項６】
前記複数種類の復旧方式は、前記システム障害が発生した時点における前記現実の業務の状態に応じてシステムに入出される各種情報の入出力ポートを変更してから該当システムを起動する復旧方式を含むことを特徴とする請求項５記載のシステム復旧方法。
【請求項７】
前記システムに対する復旧時に前記外部指示が入力されなかったとき、前記記憶された複数の復旧方式から予め定められた特定の復旧方式を実行すべき復旧方式と指定することを特徴とする請求項５又は６記載のシステム復旧方法。
【請求項８】
前記システムにおける複数のプロセスの処理手順からなる業務トランザクション、及びこの業務トランザクションの各プロセスの実行過程でシステム上及び現実の業務上で障害が発生したときに実施する補償処理を定義して記憶部に記憶し、
前記各業務トランザクションのシステム上及び現実の業務上での最新の処理状態を管理し、
前記システムに対する復旧時に、業務トランザクションのシステム上及び現実の業務上での最新の処理状態に対応する補償処理を前記記憶部から読出して、前記システムに対して実行することを特徴とする請求項５から７のいずれか１項記載のシステム復旧方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、予め定められた手順で各プロセスを実行するシステムにシステム障害が発生した場合に、このシステムを復旧させるシステム復旧プログラム、及びシステム復旧方法に関する。
【０００２】
【従来の技術】
各種プラントの制御システム、交通信号の制御システム、列車運行管理システムなど、各種システムの社会的役割は増大する一方である。システムの１日２４時間稼働、及び１年３６５日稼動への要望は強く、非特許文献１で述べられているようなコンピュータハードウェア（Ｈ／Ｗ）の多重化による高信頼性システム（ＨＡ  Ｈｉｇｈ  Ａｖａｉｌａｂｉｌｉｔｙ）などが使われることが多い。また、非特許文献２で述べられているようなストレージネットワーキング技術を利用した広域のリアルタイムでのデータの多重化も実現可能となっている。
【０００３】
これらの高信頼化技術を利用することで、システムの高可用性やシステムが物理的な被害を受けた場合のデータの保護については、かなりの程度実現可能である．
また、コンピュータシステムによる処理は、人間系の処理や工場における製造、物流等を含めた現実の業務の流れを示す業務フローの一部に組み込まれる例が増えており、現実の業務レベルでのトランザクション管理への要求は高まっている。なお、ここで言うトランザクションとは、一つの意味のある処理単位を示し、一般に複数のプロセスからなる。
【０００４】
このような背景から、非特許文献３に示すようなトランザクション技術を拡張する努力も実施されている。これらの拡張したトランザクション技術を利用することで、システム上の処理のみならず、人間系の処理を含めた業務全般の処理状況の把握が可能となる。
【０００５】
これらの多重化による高信頼性システムにおいては、稼働系のシステムに何らかのシステム障害が発生した場合においては、待機系のシステムを起動して、システム全体を短時間で復旧させるようにしている。
【０００６】
【非特許文献１】
南谷崇著、「フォールトトレラントコンピュータ」、電子情報通信学会編
コンピュータアーキテクチャシリーズ、オーム社、１９９１．２、ｐ１４３−１４９
【０００７】
【非特許文献２】
喜連川優編著、「ストレージネットワーキング」、オーム社出版局、２００２．７、ｐ１７−ｐ１８
【０００８】
【非特許文献３】
Ｍｅｈｍｅｔ  Ｓａｙａｌ  ｅｔ．ａｌ．，  “Ｉｎｔｅｇｒａｔｉｎｇ  Ｗｏｒｋｆｌｏｗ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍｓ  ｗｉｔｈ  Ｂｕｓｉｎｅｓｓ−ｔｏ−Ｂｕｓｉｎｅｓｓ  Ｉｎｔｅｒａｃｔｉｏｎ  Ｓｔａｎｄａｒｄｓ”，  ＩＥＥＥ  １８ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｄａｔａ  Ｅｎｇｉｎｅｅｒｉｎｇ（ＩＣＤＥ２００２）．  Ｓａｎ  Ｊｏｓｅ  Ｃａｌｉｆｏｒｎｉａ，  Ｕ．Ｓ．Ａ．  ２００２．３．
【０００９】
【発明が解決しようとする課題】
しかしながら、現実の業務の継続性（Ｂｕｓｉｎｅｓｓ  Ｃｏｎｔｉｎｕｉｔｙ）という観点で見ると、火災や震災等の災害やハッカー等の人為的な妨害などによるシステムにおけるサイトの破壊の際に、単にシステムが元の状態で復旧すれば良いわけではない。
【００１０】
例えば、生産拠点（工場）内にあるシステムの地震後の復旧を考えると、現実の業務である製品の製造に必要な工場の設備が被害を受けていたり、交通網の遮断により部品納入に影響を受けている可能性があり、状況に応じた復旧をすることが重要である。例えば、システムのみの被害であれば、システムが元の状態に戻ればよい。しかし、例えば部品の納入がしばらくの間制約を受けるのであれば、生産量を減らしたり、他の工場へ生産を振り替える必要がある。
【００１１】
前述した高信頼性システム（ＨＡ）やストレージネットワーキングを前提とした各種災害復旧ソフトウェアにおいては、システムを元の状態に戻すことのみが考えられており、現実の業務の進行状態に応じた復旧ができるものではない。
【００１２】
また、拡張したトランザクション技術を利用することで業務全体の復旧はある程度可能であるが、工場が災害を受けて製品が出荷できない状態になった場合の再生産などのように一度終了した業務の再実行などについては考慮されていない。
【００１３】
すなわち、システム上における業務トランザクションの各プロセスに対して、現実の業務における業務トランザクションの各プロセスは、一般に一定時間遅れて実施されるので、災害発生時においては、システム上におけるプロセスの進行状況と、現実の業務の進行状況とは一致しない。このような場合、現実の業務の進行状態に応じてシステムを復旧させ、必要なプロセスを実行する必要がある。
【００１４】
本発明は、このような事情に鑑みて成されたものであり、システム障害が発生し、このシステムを復旧させる場合において、人間系を含む現実の業務での障害の状況に応じたシステムの復旧を行うことが可能であり、災害発生後の現実の業務を円滑に再開できるシステム復旧プログラム、及びシステム復旧方法を提供することを目的とする。
【００１５】
【課題を解決するための手段】
上記課題を解消するために、本発明は、予め定められた手順で各プロセスを実行するとともに、各プロセスの実行過程で現実の業務に対して各種の指示を出すシステムにシステム障害が発生した場合に、このシステムを復旧させるシステム復旧プログラムである。そして、このシステム復旧プログラムは、コンピュータに、システム障害が発生した時点における現実の業務の状態に対応してシステムに対する複数種類の復旧方式を定義する復旧方式定義機能と、システムに対する復旧時に外部指示に基づいて定義された複数の復旧方式から実行すべき復旧方式を指定する復旧方式指定機能と、この指定した復旧方式に従ってシステムに対する復旧を実行する復旧実行機能とを実現させる。
【００１６】
このように構成されたシステム復旧プログラムにおいては、システム障害が発生して、このシステムを復旧させるときに、システム障害が発生した時点における現実の業務の状態に対応した復旧方式でシステムが復旧されるので、現実の業務の再開を円滑に実施できる。
【００１７】
また、別の発明は、上述した発明のシステム復旧プログラムにおける複数種類の復旧方式は、システム障害が発生した時点における現実の業務の状態に応じてシステムに入出される各種情報の入出力ポートを変更してから該当システムを起動する復旧方式を含む。
【００１８】
さらに、別の発明は、上述した発明のシステム復旧プログラムにおける復旧方式指定機能は、システムに対する復旧時に外部指示が入力されなかったとき、定義された複数の復旧方式から予め定められた特定の復旧方式を実行すべき復旧方式と指定する。
【００１９】
このように構成されたシステム復旧プログラムにおいては、システム障害発生時における現実の業務の状態が、予め定められたどの状態にも該当しない場合、予め定められた特定の復旧方式（デフォルト）でシステムが復旧される。
【００２０】
さらに、別の発明は、上述した発明のシステム復旧プログラムは、さらに、コンピュータに、システムにおける複数のプロセスの処理手順からなる業務トランザクション、及びこの業務トランザクションの各プロセスの実行過程でシステム上及び現実の業務上で障害が発生したときに実施する補償処理を定義する業務トランザクション定義機能と、各業務トランザクションのシステム上及び現実の業務上での最新の処理状態を管理する業務トランザクション管理機能とを実現させるる。そして、復旧実行機能は、システムに対する復旧時に、業務トランザクションのシステム上及び現実の業務上での最新の処理状態に対応する補償処理をシステムに対して実行する。
【００２１】
このように構成されたシステム復旧プログラムにおいては、システム障害発生時における業務トランザクションのシステム上及び現実の業務上での処理状態が把握できるので、この処理状態に応じた補償処理が実施される。よって、現実の業務の再開をより円滑に実施できる。
【００２２】
なお、上述した各発明のシステム復旧プログラムによって実施される各システム復旧方法においても、上述した各発明のシステム復旧プログラムとほぼ同じ作用効果を奏することが可能である。
【００２３】
【発明の実施の形態】
以下、本発明の各実施形態を図面を用いて説明する。
（第１実施形態）
図１は本発明の第１実施形態に係わるシステム復旧プログラム及びシステム復旧方法が適用されるシステム復旧装置の概略構成を示すブロック図である。
【００２４】
この第１実施形態のシステム復旧装置１は、メインシステム２とバックアップシステム３とで構成された復旧対象のシステム４に対する復旧を実行する。より具体的には、復旧対象のシステム４のメインシステム２に障害が発生した場合にバックアップシステム３を稼動してこのシステム４を復旧させる。なお、障害発生後のシステム４に対する復旧はバックアップシステム３というメインシステム２とは別のシステムを立上げるが、物理的被害が発生した場合を除きもとのメインシステム２を立上げ直すことによって、システム４を復旧させることも可能である。
【００２５】
なお、復旧対象のシステム４として、前述した高信頼性システム（ＨＡ）やストレージネットワーキングなどを利用した構成が一般的である。
【００２６】
そして、システム４は、予め定められた手順で各プロセスを実行するとともに、各プロセスの実行過程で現実の業務５に対して各種の指示を出す機能を有する。ここで、現実の業務５とは、前述たように、人間系の処理や工場における製造、物流等を含めた現実の業務であり、システム４からの指示に従って、各種の現実の処理を実行する。
【００２７】
コンピュータ等の一種の情報処理装置で構成されたシステム復旧装置１内に設けられたＨＤＤ等の記憶装置６内にシステム復旧プログラム７が記憶されている。このコンピュータ等のシステム復旧装置１は、このシステム復旧プログラム７を起動させることによって、復旧方式定義部８、復旧方式指定部９、復旧実行部１０が実現される。
【００２８】
復旧方式定義部８内には、記憶部に形成された復旧パターンテーブル１１、システム復旧装置１の管理者等の設定者１１の指示に従って複数種類の復旧方式としての復旧パターンを復旧パターンテーブル１１に設定する設定部１３が設けられている。
【００２９】
復旧パターンテーブル１１内には、図２に示すように、システム４にシステム障害が発生した時点における現実の業務５の状態に対応してシステム４に対する複数種類の復旧方式としての復旧パターンが前記設定者１２にて設定されて記憶保持されている。復旧パターン毎に、パターン番号、復旧実行部１０がシステム４に対して実施すべき事前処理コマンド、システム４内に設けられている今回の復旧で使用する構成定義ファイルのファイル名、システム４に対して実施すべき起動コマンドが定義されている。
【００３０】
例えば、復旧パターンＮｏ１は単純にシステム４のみ元の状態に復旧すればよい場合を定義している。この復旧パターンＮｏ１は、メインシステム２のハードウェア障害が発生した場合の復旧などに利用される復旧方式である。したがって、事前処理コマンド及び構成定義ファイル名は設定されていない。
【００３１】
復旧パターンＮｏ２はシステム４の入出力装置の構成を変更した上でシステム４を復旧する復旧方式ある。この復旧パターンＮｏ２は、メインシステム２のみでなく現実の業務５の実施拠点が地震などで物理的被害を受け、別の拠点で実際の業務を再開する場合などに利用される復旧方式である。具体的には、ｔｙｐｅ−ａ．ｃｆｇなる構成情報ファイルをパラメータとしてＩＯ−ｃｈａｎｇｅ．ｂａｔなる事前処理コマンドで入出力装置の構成を変更する。
【００３２】
復旧パターンＮｏ３はマニュアルモードでシステム４を復旧させる復旧方式である。この復旧パターンＮｏ３は、大規模あるいは複雑な被害状況の場合に１つ１つ人間系で現実の業務５の状況を確かめながら復旧させる場合に利用する復旧方式である。
【００３３】
復旧方式指定部９内には、復旧パターンテーブル１１に記憶された各復旧パターンを表示するパターン表示部１４と、このユーザ１５の指示に従って、表示された複数の復旧パターンのうちの１つの復旧パターンを選択する選択部１６が設けられている。
【００３４】
より具体的には、復旧方式指定部９は、図３の流れ図に従って、復旧パターンの選択処理を実施する。
まず、復旧方式定義部８の復旧パターンテーブル１１に記憶された各復旧パターンを表示する（Ｓ１）。このシステム復旧装置１のユーザ１５が復旧パターン番号（Ｎｏ）を指定入力すると（Ｓ２）、この復旧パターン番号（Ｎｏ）が復旧パターンテーブル１１に記憶された正常な復旧パターン番号（Ｎｏ）の場合（Ｓ３）、指定された復旧パターン番号（Ｎｏ）の実行すべき事前処理コマンド、構成定義ファイル名、実行すべき起動コマンドを復旧パターンテーブル１１から読出し、復旧実行部１０を起動する（Ｓ４）。
【００３５】
Ｓ３において、ユーザ１５から、復旧パターン番号（Ｎｏ）の入力が無かった場合（Ｅｎｔｅｒキーのみ入力）や無効な値（復旧パターンテーブル１１に定義されていないパターン番号（Ｎｏ）等）が入力された場合には（Ｓ３）、予め決めた特定の復旧パターンの番号（Ｎｏ）が入力されたものとして、この特定の復旧パターンの実行すべき事前処理コマンド、構成定義ファイル名、実行すべき起動コマンドを復旧パターンテーブル１１から読出し、復旧実行部１０を起動する（Ｓ５）。この実施形態においては、復旧パターンＮｏ１の復旧パターンを特定（デフォルト）の復旧パターンとしている。
【００３６】
復旧実行部１０は、復旧方式指定部９で指定された復旧パターンの示す復旧方式でシステム４に対する復旧を実行する。
【００３７】
より具体的には、復旧実行部１０は、図４の流れ図に従って、システム４に対する復旧を実行する。
復旧方式指定部９から指定された復旧パターン（復旧方式）の実行すべき事前処理コマンド、構成定義ファイル名、実行すべき起動コマンドを受取る（Ｑ１）。そして、最初に実行すべき事前処理コマンドで構成定義ファイル名をパラメータとしてシステム４を起動する（Ｑ２）。これにより、復旧後のシステム４の例えば入出力を変更する等のソフト的構成が変更される。そして実行すべき起動コマンドをシステム４に対して実行することにより、システム４が復旧する（Ｑ３）。
【００３８】
このように構成されたシステム復旧装置１においては、復旧パターンテーブル１１内には、システム４にシステム障害が発生した時点における現実の業務５の状態に対応してシステム４に対する複数種類の復旧方式としての復旧パターンが記憶保持されている。
【００３９】
したがって、現実の業務５と連動するシステム４にシステム障害が発生して、このシステム復旧装置１でこのシステム４を復旧させるときに、システム障害が発生した時点における現実の業務４の状態に対応した復旧方式（復旧パターン）でシステム４が復旧されるので、現実の業務５の再開を円滑に実施できる。
【００４０】
さらに、システム障害発生時における現実の業務５の状態が、予め定められたどの状態にも該当しない場合、予め定められた特定の復旧方式（デフォルト）である復旧パターン番号（Ｎｏ）１の「システムのみの復旧」の最も基本の復旧方式でシステム４が復旧される。したがって、システム障害発生時において、システム４が全く復旧されない事態を未然に回避できる。
【００４１】
また、システム障害が発生せずとも業務への不都合がしばしば発生するような場合に処理全体をやり直すあるいは別の処理をスムースに実行するのを可能とする。
【００４２】
（第２実施形態）
図５は本発明の第２実施形態に係わるシステム復旧プログラム及びシステム復旧方法が適用されるシステム復旧装置の概略構成を示すブロック図である。図１に示す第１実施形態のシステム復旧装置１と同一部分には同一符号を付して重複する部分の詳細説明は省略する。
【００４３】
この第１実施形態のシステム復旧装置１ａにおいては、システム復旧プログラム７ａを起動させることによって、復旧方式定義部８、復旧方式指定部９、復旧実行部１０ａに加えて、業務トランザクション定義部１７、業務トランザクション管理部１８が実現される。
【００４４】
業務トランザクション定義部１７内には、記憶部に形成された業務トランザクション定義テーブル１９、システム復旧装置１の管理者等の設定者１１の指示に従って複数種類の業務トランザクション等を業務トランザクション定義テーブル１９に設定する設定部２０が設けられている。
【００４５】
業務トランザクション定義テーブル１９内には、図６に示すように、システム４における複数のプロセスの処理手順からなる業務トランザクション、及びこの業務トランザクションの各プロセスの実行過程でシステム上及び現実の業務上で障害が発生したときに実施する補償処理が登録されている。
【００４６】
具体的に説明する。この業務トランザクション定義テーブル１９内においては、ｆ１とｆ２という２つの業務トランザクション２６が定義されている。ｆ１の業務トランザクション２６は、ａ，ｂ，ｃの３個のプロセス（またはアプリケーション）をａ→ｂ→ｃの順序で実行することを示す。ｆ２の業務トランザクション２６は、ｉ，ｊの２個のプロセス（処理またはアプリケーション）をｉ→ｊの順序で実行することを示す。
【００４７】
また、それぞれの業務トランザクション２６において、システム４上のエラーが発生した場合に実施する補償処理２７ａ、及び現実の業務５上のエラーが発生した場合に実施する補償処理２７ｂが登録されている。例えば、ｆ１の業務トランザクション２６場合で、システム４においてプロセスｂの実行中にエラーが発生した場合の（ｆ１―ｓｆ―ｂ）の障害コード２８に対して、ｘ，ｙの２つのプロセスを（ｘ→ｙ）の順序で実行する補償処理２７ａが登録されている。また、ｆ１の業務トランザクション２６場合で、現実の業務５においてプロセス（処理）ｃの実行中にエラーが発生した場合の（ｆ１―ｂｆ―ｃ）の障害コード２８に対して、ｂｘ，ｂｙ，ｂｚの３つのプロセス（処理）を（ｂｘ→ｂｙ→ｂｚ）の順序で実行する補償処理２７ｂが登録されている。
【００４８】
さらに、ｆ２の業務トランザクション２６場合、システム４においてプロセスｊの実行中にエラーが発生した場合の（ｆ２―ｓｆ―ｊ）の障害コード２８に対して、ｉ’，ｊ’の２つのプロセスを（ｉ’→ｊ’）の順序で実行する補償処理２７ａが登録されている。
【００４９】
業務トランザクション管理部１８内には、記憶部に形成された状態管理テーブル２１と、システム４における各業務トランザクション２６の実行状態を一定時間間隔で読取って、状態管理テーブル２１の該当業務トランザクション２６のシステム４におけるプロセス状態を最新のプロセス状態に更新するプロセス状態監視部２２が設けられている。さらに、この業務トランザクション管理部１８内には、業務実行者２４から入力された現実の業務５における各業務トランザクション２６の実行状態を用いて、状態管理テーブル２１の該当業務トランザクション２６の現実の業務５におけるプロセス（処理）状態を最新のプロセス（処理）状態に更新する業務状態取込部２３が設けられている。
【００５０】
状態管理テーブル２１内には、図７に示すように、各実行済み又は実行中の業務トランザクション２６のシステム４上及び現実の業務５上での最新の処理状態が記憶されている。
【００５１】
具体的には、業務トランザクション２６のインスタンスレベルでのＩＤ（インスタンスＩＤ）、業務トランザクションＩＤ、要求者（ユーザ１５）、プロセス状態情報、業務状態情報の各項目が設けられている。プロセス状態情報はプロセス４の業務トランザクション２６の実行状態を示し、実行済みプロセスとプロセス状態とで構成される。業務状態情報は現実の業務５の業務トランザクション２６の実行状態を示し、実行済み処理（プロセス）と業務状態（プロセス状態、処理状態）とで構成される。
【００５２】
インスタンスＩＤは、実行中の業務トランザクション２６のＩＤである。業務トランザクションＩＤは、業務トランザクション定義記憶部１７の業務トランザクション定義テーブル１９に定義された業務トランザクション２６のいずれを実行しているかを示す。要求者はこのインスタンスの要求者（ユーザ１５）である。したがって、同一の業務トランザクション２６が同一時間帯において複数回実行されたとしても、各業務トランザクション２６の実行状態を区別して管理することが可能である。
【００５３】
プロセス状態情報における実行済プロセスはシステム４上の該当業務トランザクション２６を構成する各プロセスにおける実行済プロセス名が記述される。いずれのプロセスも実行されていない場合は「−」となる。また、全プロセスが完了した場合には、最終プロセス名が記述される。
【００５４】
プロセス状態情報におけるプロセス状態は、該当プロセスの実行状態であり、「−」、「ｄｏｉｎｇ」、「ｄｏｎｅ」、「ｃｏｍｐｌｅｔｅｄ」のいずれかの値となる。「−」は実行前、「ｄｏｉｎｇ」は実行中、「ｄｏｎｅ」は実行終了、「ｃｏｍｐｌｅｔｅｄ」は全プロセスの終了を意味する。また，エラーが発生した場合は，「ｅｒｒｏｒ」が記述される。
【００５５】
また、業務状態情報における実行済処理（プロセス）は現実の業務５上の該当業務トランザクション２６を構成する各プロセス（処理）における実行済プロセス（処理）名が記述される。業務状態情報における業務（プロセス、処理）状態は、該当業務（プロセス、処理）の実行状態である。
【００５６】
この状態管理テーブル２１の記憶内容でも理解できるように、現実の業務５における業務トランザクション２６の実行状態は、システム４における同一の業務トランザクション２６の実行状態に対して時間遅れが生じている。
【００５７】
システム４に何らかの障害が発生して、システム４が停止すると、状態管理テーブル２１にシステム４停止時の状態が保全されることになる。
【００５８】
復旧実行部１０ａは、前述した第１実施形態の復旧実行部１０の機能に加えて、システム４に対する復旧時に、業務トランザクション２６のシステム４上及び現実の業務５上での最新の処理状態に対応する補償処理２７ａ、２７ｂを業務トランザクション定義テーブル１９から読出して、システム４に対して実行する機能を有する。
【００５９】
この復旧実行部１０ａは、図８に示す流れ図に従って、システム４に対する復旧を実行する。
復旧方式指定部９から指定された復旧パターン（復旧方式）の実行すべき事前処理コマンド、構成定義ファイル名、実行すべき起動コマンドを受取る（Ｐ１）。そして、最初に実行すべき事前処理コマンドで構成定義ファイル名をパラメータとしてシステム４を起動する（Ｐ２）。これにより、復旧後のシステム４の例えば入出力を変更する等のソフト的構成が変更される。そして実行すべき起動コマンドをシステム４に対して実行する（Ｐ３）。
【００６０】
次に、業務トランザクション管理部１８の図７に示す状態管理テーブル２１を参照して、実行途中状態の業務トランザクション２６を探す（Ｐ４）。探した業務トランザクション２６の障害コード２８を特定する。具体的には、該当業務トランザクション２６における実行中「ｄｏｉｎｇ」のプロセス又は処理から障害コード２８を作成する。この作成した障害コード２８に対応する補償処理２７ａ、２７ｂを業務トランザクション定義テーブル１９から読出して、システム４に対する障害発生時における補償処理を実施する（Ｐ５）。
【００６１】
状態管理テーブル２１に他の実行途中状態の業務トランザクション２６があれば（Ｐ６）、Ｐ４へ戻り、実行途中状態の業務トランザクション２６を探す。状態管理テーブル２１に他の実行途中状態の業務トランザクション２６がなければ、今回の処理を終了する。
【００６２】
このように構成された第２実施形態のシステム復旧装置１ａにおいては、第１実施形態のシステム復旧装置１と同様に、システム障害が発生した時点における現実の業務４の状態に対応した復旧方式（復旧パターン）でシステムが復旧されるので、現実の業務５の再開を円滑に実施できる。
【００６３】
さらに、この第２実施形態のシステム復旧装置１ａにおいては、システム障害発生時における業務トランザクション２６のシステム４上及び現実の業務５上でのそれぞれの処理状態が、状態管理テーブル２１を参照することによって把握できるので、この各処理状態に応じた補償処理２７ａ、２７ｂがシステム４に対して自動的に実施される。よって、現実の業務５の再開をより円滑に実施できる。
【００６４】
なお、第２実施形態においては、業務トランザクション定義部１７及び業務トランザクション管理部１８をシステム復旧装置１ａ内に設けたが、業務トランザクション定義部１７及び業務トランザクション管理部１８をメインシステム２内に構築することも可能である。
【００６５】
なお、上記各実施形態で説明した各構成要素は、自由に組合せてもよく、また複数の要素に分割してもよい。また、各実施形態におけるシステム復旧プログラム７、７ａは、複数のコンピュータ上に分散され、互いに連携しつつ動作してもよい。
【００６６】
さらに、システム復旧プログラム７、７ａは通信媒体により伝送してコンピュータに適用可能である。システム復旧プログラム７、７ａを読み込んだコンピュータは、システム復旧プログラム７、７ａによって動作が制御され、上述した機能を実現する。
【００６７】
【発明の効果】
以上説明したように、本発明のシステム復旧プログラム、及びシステム復旧方法においては、システム障害が発生し、このシステムを復旧させる場合において、人間系を含む現実の業務での障害の状況に応じたシステムの復旧を行うことが可能であり，災害発生後の現実の業務を円滑に再開できる。特に、生産拠点における生産管理システムなどのように、システムと現実の業務との間の関係が密な場合においてはより大きな効果を奏することが可能となる。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係わるシステム復旧プログラム及びシステム復旧方法が適用されるシステム復旧装置の概略構成を示すブロック図
【図２】同システム復旧装置内に形成された復旧パターンテーブルの記憶内容を示す図
【図３】同システム復旧装置内に設けられた復旧方式指定部の動作を示す流れ図
【図４】同システム復旧装置内に設けられた復旧方実行部の動作を示す流れ図
【図５】本発明の第２実施形態に係わるシステム復旧プログラム及びシステム復旧方法が適用されるシステム復旧装置の概略構成を示すブロック図
【図６】同システム復旧装置内に形成された業務トランザクション定義テーブルの記憶内容を示す図
【図７】同システム復旧装置内に形成された状態管理テーブルの記憶内容を示す図
【図８】同システム復旧装置内に設けられた復旧方実行部の動作を示す流れ図
【符号の説明】
１，１ａ…システム復旧装置、２…メインシステム、３…バックアップシステム、４…システム、５…現実の業務、６…記憶装置、７，７ａ…システム復旧プログラム、８…復旧方式定義部、９…復旧方式指定部、１０，１０ａ…復旧実行部、１１…復旧パターンテーブル、１２…設定者、１３，２０…設定部、１４…パターン表示部、１５…ユーザ、１６…パターン選択部、１７…業務トランザクション定義部、１８…業務トランザクション管理部、１９…業務トランザクション定義テーブル、２１…状態管理テーブル、２２…プロセス状態管理部、２３…業務状態取込部、２４…業務実行者、２６…業務トランザクション、２７ａ，２７ｂ…補償処理、２８…障害コード
【図１】
2004280400.tif 000003
【図２】
2004280400.tif 000004
【図３】
2004280400.tif 000005
【図４】
2004280400.tif 000006
【図５】
2004280400.tif 000007
【図６】
2004280400.tif 000008
【図７】
2004280400.tif 000009
【図８】
2004280400.tif 000010