(57)【要約】      （修正有）【課題】多重化された計算機システムにおいて、通常稼動中の計算機の動作状態と復旧中の計算機の動作状態を一致させる。【解決手段】各計算機はタスク待ち合わせポイント管理テーブル１０５，２０５を備え、第１計算機１０１が故障から復旧する際、第２計算機２０１に通信線３を介してタスク待ち合わせポイント管理テーブル２０５に記録された待ち合わせポイントの取得要求を送信し、第２計算機２０１は、取得要求に応じて待ち合わせポイントを送信するとともに待ち合わせポイントにおいて自己のタスクを停止し、第１計算機１０１は待ち合わせポイントを受信するとともに待ち合わせポイントに基づいて自己のタスクの実行準備を行い、第２計算機２０１は、停止したタスクの次に実行するタスクの実行順序を第１計算機１０１に送信し、第１計算機１０１は実行順序を受信し、各計算機は、実行順序に基づいてタスクを実行してタスク処理を開始する。【選択図】図１
2010257243.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのタスク要素を有する複数のタスクを定められた順序で実行するように構成され、通信線を介して通信可能な複数の計算機が多重化して設けられた計算機システムにおいて、
前記複数の計算機のうち少なくとも１つの計算機が故障から復旧する際、該復旧中の計算機は、その他の通常稼動中の計算機から前記通信線を介して当該通常稼動中の計算機のタスクの動作状態を受信し、該タスクの動作状態に合わせて自己の前記タスクを実行することを特徴とする計算機システム。
【請求項２】
少なくとも１つのタスク要素を有する複数のタスクを定められた順序で実行するように構成され、通信線を介して通信可能な複数の計算機が多重化して設けられた計算機システムにおいて、
前記複数の計算機は、自己の複数のタスクがそれぞれ有する前記タスク要素の実行状態及び実行中のタスク要素の識別符号を含む動作状態情報を格納し、前記複数の計算機のうち少なくとも１つの計算機が故障から復旧する際、該復旧中の計算機は、その他の通常稼動中の計算機から前記通信線を介して当該通常稼動中の計算機の前記動作状態情報を受信し、該動作状態情報に基づいて自己の前記タスクを実行することを特徴とする計算機システム。
【請求項３】
少なくとも１つのタスク要素を有する複数のタスクを定められた順序で実行するように構成され、通信線を介して通信可能な複数の計算機が多重化して設けられた計算機システムにおいて、
前記複数の計算機は、自己の複数のタスクがそれぞれ有する前記タスク要素の実行状態及び自己の複数のタスクに共通する待機時間を待ち合わせポイントとして格納するとともに、該待ち合わせポイントと該待ち合わせポイントの次に実行する前記タスク要素の識別符号を含む動作状態情報を格納し、前記複数の計算機のうち少なくとも１つの計算機が故障から復旧する際、該復旧中の計算機は、その他の通常稼動中の計算機から前記通信線を介して当該通常稼動中の計算機の前記動作状態情報を受信し、該動作状態情報に基づいて自己の前記タスクを実行することを特徴とする計算機システム。
【請求項４】
請求項３に記載の計算機システムにおいて、
前記通常稼動中の計算機は、前記復旧中の計算機に前記動作状態情報を送信するとともに、当該動作状態情報の待ち合わせポイントにおいて自己のタスクを停止し、前記復旧中の計算機は前記動作状態情報に基づいて自己のタスクの実行準備を行った後、前記通常稼動中の計算機及び前記復旧中の計算機は、それぞれ自己の前記タスクを実行することを特徴とする計算機システム。
【請求項５】
複数のタスクを定められた順序で実行するように構成され、通信線を介して通信可能な複数の計算機が多重化して設けられた計算機システムにおいて、
前記計算機は前記タスク処理の全てが待機する時間を待ち合わせポイントとして記録する管理テーブルを備え、
前記計算機が故障から復旧する際、該復旧中の計算機はその他の通常稼動中の計算機に前記通信線を介して前記管理テーブルに記録された待ち合わせポイントの取得要求を送信し、前記通常稼動中の計算機は、該取得要求に応じて待ち合わせポイントを送信するとともに当該待ち合わせポイントに基づいて自己のタスクを停止し、前記復旧中の計算機は前記待ち合わせポイントを受信するとともに当該待ち合わせポイントに基づいて自己のタスクの実行準備を行い、前記通常稼動中の計算機は、前記停止したタスクの次に起動するタスクの実行順序を前記復旧中の計算機に送信し、前記復旧中の計算機は前記実行順序を受信し、該復旧中の計算機及び通常稼動中の計算機は、前記実行順序に基づいてタスクを実行することを特徴とする計算機システム。
【請求項６】
少なくとも１つのタスク要素を有する複数のタスクを定められた順序で実行するように構成され、通信線を介して通信可能な複数の計算機が多重化して設けられた計算機システムの前記複数の計算機のうち、少なくとも１つの計算機が故障から復旧する際、該復旧中の計算機が、その他の通常稼動中の計算機から前記通信線を介して当該通常稼動中の計算機のタスクの動作状態を受信し、該タスクの動作状態に合わせて自己の前記タスクを実行する計算機システムの復旧方法。
【請求項７】
少なくとも１つのタスク要素を有する複数のタスクを定められた順序で実行するように構成され、通信線を介して通信可能な複数の計算機が多重化して設けられた計算機システムの前記複数の計算機を、自己の複数のタスクがそれぞれ有する前記タスク要素の実行状態及び識別符号を含む動作状態情報を格納するように構成し、前記複数の計算機のうち少なくとも１つの計算機が故障から復旧する際、該復旧中の計算機は、その他の通常稼動中の計算機から前記通信線を介して当該通常稼動中の計算機の前記動作状態情報を受信し、該動作状態情報に基づいて自己の前記タスクを実行する計算機システムの復旧方法。
【請求項８】
少なくとも１つのタスク要素を有する複数のタスクを定められた順序で実行するように構成され、通信線を介して通信可能な複数の計算機が多重化して設けられた計算機システムの前記複数の計算機を、自己の複数のタスクがそれぞれ有する前記タスク要素の実行状態及び自己の複数のタスクに共通する待機時間を待ち合わせポイントとして格納するとともに、該待ち合わせポイントと該待ち合わせポイントの次に実行する前記タスク要素の識別符号を含む動作状態情報を格納するように構成し、前記複数の計算機のうち少なくとも１つの計算機が故障から復旧する際、該復旧中の計算機が、その他の通常稼動中の計算機から前記通信線を介して当該通常稼動中の計算機の前記動作状態情報を受信し、該動作状態情報に基づいて自己の前記タスクを実行する計算機システムの復旧方法。
【請求項９】
請求項８に記載の計算機システムにおいて、
前記通常稼動中の計算機は、前記復旧中の計算機に前記動作状態情報を送信するとともに、当該動作状態情報の待ち合わせポイントにおいて自己のタスクを停止し、前記復旧中の計算機は前記動作状態情報に基づいて自己のタスクの実行準備を行った後、前記通常稼動中の計算機及び前記復旧中の計算機が、それぞれ自己の前記タスクを実行する計算機システムの復旧方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の計算機が多重化して設けられた計算機システムに関する。
【背景技術】
【０００２】
パソコン等の計算機に障害が発生すると正常に処理が行えなくなるが、障害が発生した計算機と切り替わって他の計算機が処理を継続させるシステムとして多重化システムやフォールトトレラントシステムがある。
【０００３】
これらのシステムでは複数の計算機で同じ処理を行うことで、１台障害が発生しても計算機間で切り替えを行って障害が発生していない計算機で処理を継続させることができ、処理結果等のデータ引継ぎが不要となる。このように複数の計算機にて同じ処理を行うシステムとして、例えば、特許文献１がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−７２９８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１のシステムにおいて、ハードウェアの障害等で１台の計算機が停止し、残りの計算機で処理を継続している場合、障害が発生した計算機は、障害要因を特定し、ハードウェア交換等の処理を行った後、その計算機を起動し、再度、同じ処理を行うようにする必要がある。
【０００６】
復旧中の計算機は通常稼動中の計算機から処理の引継ぎを行う必要があるが、通常稼動中の計算機は通常の処理を継続して行っており、処理の内容が変わる。通常稼動中の計算機の動作状態と復旧中の計算機の動作状態は一致させることが好ましいことから、復旧中の計算機が引継ぎを行う場合は、通常稼動中の計算機を一旦停止させねばならず、通常稼動中の計算機の処理を妨げることになる。
【０００７】
本発明が解決しようとする課題は、多重化された計算機システムにおいて、通常稼動中の計算機の処理を妨げることなく、通常稼動中の計算機の動作状態と復旧中の計算機の動作状態を一致させることである。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明の計算機システムは、少なくとも１つのタスク要素を有する複数のタスクを定められた順序で実行するように構成され、通信線を介して通信可能な複数の計算機が多重化して設けられた計算機システムにおいて、複数の計算機のうち少なくとも１つの計算機が故障から復旧する際、その復旧中の計算機は、その他の通常稼動中の計算機から通信線を介して当該通常稼動中の計算機のタスクの動作状態を受信し、そのタスクの動作状態に合わせて自己のタスクを実行することを特徴とする。
【０００９】
本発明によれば、復旧中の計算機は、通常稼動中の計算機のタスクの動作状態を知ることができるので、それに合わせて自己のタスクを実行することで、通常稼動中の計算機の処理を妨げることなく、通常稼動中の計算機の動作状態と復旧中の計算機の動作状態を一致させることができる。
【００１０】
また、上記の計算機システムを具体的にすると、上記複数の計算機を、自己の複数のタスクがそれぞれ有するタスク要素の実行状態及び実行中のタスク要素の識別符号を含む動作状態情報を格納し、複数の計算機のうち少なくとも１つの計算機が故障から復旧する際、その復旧中の計算機は、その他の通常稼動中の計算機から通信線を介して当該通常稼動中の計算機の動作状態情報を受信し、その動作状態情報に基づいて自己のタスクを実行するように構成できる。
【００１１】
複数の計算機は、予め決められた順序に従ってタスクを実行しているので、実行中のタスク要素の識別符号が分かれば、復旧中の計算機は、通常稼動中の計算機の現在の動作状態を知ることができ、それに合わせて自己のタスクを実行することができる。なお、タスク要素の実行状態としては、例えば、処理時間及び各タスク間の待機時間の長さ等が挙げられる。処理時間や待機時間は、動作状態により変わりうるので、これらを含めることにより、復旧中の計算機は、通常稼動中の計算機と動作時間を合わせることができるので好ましい。
【００１２】
また、上記計算機システムにおいて、複数の計算機を、自己の複数のタスクがそれぞれ有するタスク要素の実行状態及び自己の複数のタスクに共通する待機時間を待ち合わせポイントとして格納するとともに、その待ち合わせポイントとその待ち合わせポイントの次に実行するタスク要素の識別符号を含む動作状態情報を格納し、複数の計算機のうち少なくとも１つの計算機が故障から復旧する際、その復旧中の計算機を、その他の通常稼動中の計算機から通信線を介して当該通常稼動中の計算機の動作状態情報を受信し、その動作状態情報に基づいて自己の前記タスクを実行するように構成することができる。
【００１３】
上記待ち合わせポイントは、一定時間経過した後に発生する待ちや、排他制御でのリソース解放後に発生する待ち、ネットワークでのパケットを受信した際に発生する待ち、また、他のタスクからの起動指示で発生する待ち等である。すなわち、待ち合わせポイントは、通常の処理の過程で必然的に発生する待ちを利用している。復旧中の計算機は、例えば、次に来る待ち合わせポイントを通常稼動中の計算機から知ることにより、その待ち合わせポイントに合わせてタスクを実行すれば、通常稼動中の計算機と動作状態を合わせることができる。また、通常稼動中の計算機の処理は妨げられることがないので、計算機システムの稼働率を高めることができる。
【００１４】
ここで、複数のタスクに共通する待機時間を待ち合わせポイントとするとは、複数のタスクが共通して上記の待ちに入っている時間であり、タスク全てが待機する時間を待ち合わせポイントとすると、動作状態を合わせやすくなるので好ましい。
【００１５】
また、待ち合わせポイントの次に実行するタスク要素とは、次に実行すべきタスク要素がどのタスク要素であるかを示すものである。例えば、タスクがタスク要素Ａ、Ｂから成り立ち、タスク要素Ａ、Ｂ間に待ち合わせポイントがあるような場合は、次に実行すべきタスク要素はタスク要素Ｂしかないため、復旧中の計算機に送信する必要はない。しかし、タスクが複数のタスク要素から成り立ち、各タスク要素が複数の待ちを有している場合、復旧中の計算機はどの待ち合わせポイントであるか分からず、次に実行すべきタスク要素が分からないので、通常稼動中の計算機が待ち合わせポイントの次に実行するタスク要素を送信する必要がある。
【００１６】
上記の場合において、通常稼動中の計算機を、復旧中の計算機に動作状態情報を送信するとともに、当該動作状態情報の待ち合わせポイントにおいて自己のタスクを停止し、復旧中の計算機は動作状態情報に基づいて自己のタスクの実行準備を行った後、通常稼動中の計算機及び復旧中の計算機は、それぞれ自己のタスクを実行するように構成することもできる。
【００１７】
これにより、通常稼動中の計算機と復旧稼動中の計算機を待ち合わせポイントから同時に同じ動作を開始することができ、通常稼動中の計算機と復旧稼動中の計算機の同期を取ることができる。なお、タスクの実行準備とは、上記の例で説明すると、復旧中の計算機は、タスク要素Ｂの実行準備を行うということを示す。
【発明の効果】
【００１８】
本発明によれば、多重化された計算機システムにおいて、通常稼動中の計算機の処理を妨げることなく、通常稼動中の計算機の動作状態と復旧中の計算機の動作状態を一致させることができる。
【図面の簡単な説明】
【００１９】
【図１】本発明に係る計算機システムを構成する計算機の構成図である。
【図２】タスクの状態遷移図である。
【図３】タスク待ち合わせポイント算出機構の動作を示すフローチャートである。
【図４】実行待ちタスク管理テーブルのデータ構造である。
【図５】タスク待ち合わせポイント管理テーブルのデータ構造である。
【図６】一致化対象決定機構の動作を示すフローチャートである。
【図７】タスク一致化処理を示すフローチャートである。
【図８】タスクステータス管理テーブルのデータ構造である。
【図９】タスク停止指示後の処理の動作を示すフローチャートである。
【図１０】タスク実行順序記録テーブルのデータ構造である。
【図１１】タスク実行準備後の処理の動作を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明の計算機システムについて、図面を参照して説明する。
【実施例】
【００２１】
図１は、実施例１の計算機システムの構成である。計算機システムは、複数のタスク要素を有する複数のタスクを定められた順序で実行するように構成され、通信線を介して通信可能な複数の計算機が多重化して設けられており、全ての計算機が同一の構成動作を行う。本実施例では、特に、２つの計算機、第１計算機１０１と第２計算機２０１について説明する。
【００２２】
第１計算機１０１は、ハードウェア等の障害が発生した後、ハードウェア等を交換して再起動を行い、処理準備中の実行待ち状態である復旧中の計算機であり、第２計算機２０１は、本体処理を行っている通常稼動中の計算機である。なお、前述したように、第１計算機１０１と第２計算機２０１の構成は同じであるが、説明の都合上、各計算機の動作に関する構成のみを図示し、図中の符号の先頭に「１」がつくものは、第１計算機の動作に関する構成であり、「２」がつくものは、第２計算機の動作に関する構成としている。
【００２３】
第１計算機１０１は、タスク１，２，３からなるタスク処理１０２、タスク実行状態一致化機構１０３、一致化対象決定機構１０４、タスク待ち合わせポイント管理テーブル１０５、タスク実行順序記録テーブル１０６を動作させる。
【００２４】
第２計算機２０１は、タスク１，２，３からなるタスク処理２０２、タスク状態取得機構２０３、タスク待ち合わせポイント算出機構２０４、タスク待ち合わせポイント管理テーブル２０５、タスク実行順序記録テーブル２０６、タスクステータス管理テーブル２０７、ｎ個の実行待ちタスク管理テーブル２０８を動作させる。また、第１計算機１０１と第２計算機２０１とは、通信線３を介して通信可能である。
【００２５】
図２は、図１のタスク処理１０２，２０２の通常稼動中の状態遷移図である。タスク処理１０２，２０２は、同じ動作を行う。タスク処理１０２のタスク１では、タスクの実行待ちポイント１１０，１１１の２つが存在し、タスク２では実行待ちポイント１１２，１１３の２つ、タスク３では実行待ちポイント１１４，１１５の２つが存在する。
【００２６】
タスク処理２０２のタスク１では、タスクの実行待ちポイント２１０，２１１の２つが存在し、タスク２では実行待ちポイント２１２，２１３の２つ、タスク３では実行待ちポイント２１４，２１５の２つが存在する。なお、図２は、２つの実行待ちポイントがある状態を示し、実行待ちポイントは２つ以上存在する状態もある。
【００２７】
この実行待ちポイントは、一定時間経過した後に発生する待ちや、排他制御でのリソース解放後に発生する待ち、ネットワークでのパケットを受信した際に発生する待ち、また、他のタスクからの起動指示で発生する待ち等がある。本実施例では、実行待ちポイント１１０，１１２，１１４，２１０，２１２，２１４は、処理準備中の待ちであり、実行待ちポイント１１１，１１３，１１５，２１１，２１３，２１５は、他のタスクからの起動指示で発生する待ちである。
【００２８】
タスク処理２０２では、タスク１は、処理ａを実行した後に、タスク２の起動を指示し、実行待ちポイント２１１を経た後に、再び処理ａを実行し、これを繰り返す。タスク２は、実行待ちポイント２１１中に、タスク１からの起動指示を受けた後、タスク３の起動を指示し、処理ｂを実行した後に、再び実行待ちポイント２１３に入り、これを繰り返す。タスク３は、実行待ちポイント２１５中に、タスク２からの起動指示を受けた後、処理ｃを実行し、タスク３の起動を指示した後、再び実行待ちポイント２１５に入り、これを繰り返す。タスク処理１０２も同様である。なお、処理ａ、ｂ、ｃ及びタスク１，２，３に対する起動指示は、タスクを構成するタスク要素である。
【００２９】
ここで、図１のタスク待ち合わせポイント算出機構２０４について説明する。待ち合わせポイント算出とは、第１計算機１０１及び第２計算機２０１のタスクをどの実行待ちポイントで待たせておくかを決定するものである。その決定方法を図２，３を参照して説明する。
【００３０】
タスク待ち合わせポイント算出機構２０４は、図２の第２計算機２０１のタスク１，２，３がもっとも実行待ちに入る頻度が高いポイントを、タスクの待ち合わせポイントに設定するために、タスクの実行待ちポイントを取得し、全タスクが実行待ちの状態にいるときのそれぞれのタスク実行待ちポイントを実行待ちタスク管理テーブル２０８に記録する。
【００３１】
実行待ちタスク管理テーブル２０８のデータ構造は、図４に示すようにタスク番号、実行待ちポイントで構成される。実行待ちポイントは２進数のｂｉｔフィールドで宣言され、タスク１が実行待ちポイント２１０であれば０００１を、実行待ちポイント２１１であれば００１０を、実行待ち状態でなければ００００を記録する。よって、全タスクが実行待ちである状態は、実行待ちタスク管理テーブル２０８の実行待ちポイントが全て００００でない状態である。
【００３２】
また、本実施例では、実行待ちタスク管理テーブル２０８は、１００個の同テーブルを持つ。タスク待ち合わせポイント算出機構２０４のタスク待ち合わせポイント算出処理は、３０分周期で起動し、待ち合わせポイントを決定する。タスク待ち合わせポイント算出機構２０４は、タスクの実行待ちポイントを取得（Ｓ３０１）し、実行待ちタスク管理テーブル２０８に記録する（Ｓ３０２）。この処理を３秒周期で（Ｓ３０３）１００回繰り返す。
【００３３】
実行待ちタスク管理テーブル２０８に１００回記録したことを確認（Ｓ３０４）し、１００回記録した場合は、１００個の実行待ちタスク管理テーブル２０８のデータ部をそれぞれ比較（Ｓ３０５）し、全てのタスクが実行待ちであるパターンのうち、もっとも多いパターンをタスク待ち合わせポイント管理テーブル２０５に記録する（Ｓ３０６）。
【００３４】
図２の状態遷移図では、タスク１，２，３の処理中の実行待ちポイントがそれぞれ１つの場合についてしか図示していないが、実行待ちポイントは複数あるので、図２の状態以外の状態もある。それぞれの状態について、全てのタスクが実行待ちである実行待ちポイントを比較して待ち合わせポイントを決定する。タスク待ち合わせポイント管理テーブル２０５のデータ構造は、図５に示すようにタスク番号、待ち合わせポイントで構成される。
【００３５】
Ｓ３０４で、記録数が１００回に満たない場合は、再びＳ３０１に戻る。このようなタスク待ち合わせポイント算出が、３０分周期で行われる（Ｓ３０７）。
【００３６】
このように構成される計算機システムの動作について、図６乃至９を参照して説明する。第１計算機１０１が復旧する場合、まず、タスク実行状態一致化機構１０３の一致化対象決定処理により、一致化を行う計算機の決定を行う。決定の処理フローを図６に示す。第１計算機１０１のタスク実行状態一致化機構１０３は、一致化を行う計算機の決定を行う（Ｓ６０１）。本実施例では、第２計算機２０２が対象となる。次に、一致化を行う計算機の生存確認を行い（Ｓ６０２、Ｓ６０３）、稼動中であれば一致化を開始し（Ｓ６０４）、稼動していなければ本実施例の場合は一致化は終了する。計算機が複数ある場合は、再びＳ６０１から一致化を行う計算機の決定を行う。
【００３７】
次に、第１計算機１０１のタスク実行状態一致化機構１０３は、図７のフローに従って処理を行う。タスク実行状態一致化機構１０３は、第２計算機２０１のタスク状態取得機構２０３に対し、通信線３を介してタスク待ち合わせポイント取得要求を送信する（Ｓ７０１）。第２計算機２０１のタスク状態取得機構２０３は、タスク待ち合わせポイント取得要求を受信する（Ｓ７０２）と、タスク待ち合わせポイント管理テーブル２０５から、前述した待ち合わせポイントを取得し、第１計算機１０１に送信する（Ｓ７０３）。
【００３８】
タスク待ち合わせポイントを受信（Ｓ７０４）したタスク実行状態一致化機構１０３は、受信した待ち合わせポイントを第１計算機１０１のタスク待ち合わせ管理テーブル１０５に記録（Ｓ７０５）し、取得した待ち合わせポイントで実行待ちになるように第１計算機のタスク１，２，３の実行準備を行う（Ｓ７０６）。
【００３９】
ここで、図２を参照すると、第２計算機２０１のタスク１，２，３のそれぞれの待ち合わせポイントが実行待ちポイント２１１，２１３，２１５の場合は、第１計算機１０１でも、実行待ちポイント１１１，１１３，１１５を待ち合わせポイントとしてタスクの実行準備が行われる。タスクの実行準備の例として、タスクを待ち合わせポイントまで実行させる方法がある。また、ローカルのデータを参照するような処理がある場合は、アプリケーションより待ち合わせポイントまでタスクの処理をスキップさせ、ミラーリングの技術よりローカルデータをコピーする方法が望ましい。
【００４０】
実行準備を終えたタスクは、待ち合わせポイントから動いてしまわないように停止する（Ｓ７０７）。このように第１計算機の全タスクの実行準備、停止をそれぞれの待ち合わせポイントまで行う。第２計算機２０１は、第１計算機１０１ヘのタスク待ち合わせポイントの送信が終了すると、自己のタスクの停止指示を行う（Ｓ７０８）。
【００４１】
ここで、第２計算機２０１のタスクの実行待ち状態は、タスクステータス管理テーブル２０７に記録される。タスクステータス管理テーブル２０７のデータ構造は、図８に示すように、タスク番号、実行待ちポイントで構成される。タスクステータス管理テーブル２０７は、各タスクが実行待ちに入る度に更新される。タスク停止指示（Ｓ７０８）を行った第２計算機２０１は、図９の処理フローに従う。
【００４２】
図９に示すように、タスク停止指示の有無を確認（Ｓ９０１）し、指示がある場合は、タスクステータス管理テーブル２０７が更新される度に、タスクステータス管理テーブル２０７とタスク待ち合わせポイント管理テーブル２０５を比較（Ｓ９０２）し、内容が一致しているかを確認（Ｓ９０３）し、タスクの実行の停止指示を行う（Ｓ９０４）。ここでは、第２計算機２０１のタスクが、待ち合わせポイントで停止しているかどうかを確認し、待ち合わせポイントで停止している場合は、次に実行すべきタスクの実行の停止指示を行っている。
【００４３】
次に、再び図７の処理フローを参照すると、第２計算機２０１は、第１計算機１０１のタスクが待ち合わせポイントに基づいて停止しているかの確認要求を送信する（Ｓ７０９）。第１計算機２０１は、自己のタスクが待ち合わせポイントに基づいて停止しているかの確認応答を送信する（Ｓ７１０）。第２計算機２０１は、確認応答を受信してタスクが停止しているかを確認（Ｓ７１１）し、タスクが停止していない場合は、再び自己のタスクを実行（Ｓ７１２）させ、タスクの停止指示（Ｓ７０８）へ戻る。タスクが停止している場合は、タスクの実行順序を記録したタスク実行順序記録テーブル２０６に記録されている実行順序を第１計算機１０１に送信する（Ｓ７１３）。
【００４４】
ここで、タスク実行順序記録テーブル２０６について説明する。タスク実行順序記録テーブル２０６のデータ構成は図１０のようになる。図１０の各データ部には、タスクの実行順にタスク番号が記録される。タスクは、実行準備を経て実行すると、タスク実行順序記録テーブル２０６の自タスク番号をクリアした後、タスク番号と待ち合わせポイントを更新する。
【００４５】
タスクの実行は、図１１の処理フローになる。まず、実行前にタスク実行順序記録テーブル２０６にタスクの実行順を記録する（Ｓ１１１１）。タスクの実行の停止指示を確認（Ｓ１１１２）し、タスクの実行停止指示がない場合は、タスクの実行を行う（Ｓ１１１３）。タスクの実行停止指示がある場合はタスクの実行は行われない。
【００４６】
再び図７の処理フローを参照すると、第１計算機１０１は、タスク実行順序を受信し、タスク実行順序を自己のタスク実行順序記録テーブル１０６に記録する（Ｓ７１４）。両計算機のタスク実行順序のコピーが完了すると、第２計算機２０１のタスクの実行指示により、計算機間で同時にタスクを実行させる（Ｓ７１５）。
【００４７】
以上説明したように、本実施例によれば、復旧中の第１計算機１０１は、例えば、次に来る待ち合わせポイント及びタスク番号を第２計算機２０１から知ることにより、その待ち合わせポイントに合わせてタスクを実行すれば、第２計算機２０１と動作状態を合わせることができる。また、通常稼動中の第２計算機２０１の処理は妨げられることがないので、計算機システムの稼働率を高めることができる。
【００４８】
以上、実施例について説明したが、本発明は、これらに限らず適宜構成を変更して適用することができる。例えば、図２のタスク処理を構成するタスクの数、実行待ちタスク管理テーブル２０８の数、図３の周期についても適宜変更することができる。また、図２の全てのタスクが実行待ちであるパターンが１つしかない場合は、タスク待ち合わせポイント算出をする必要はない。
【００４９】
また、本実施例では、第１計算機１０１と第２計算機２０１の同期をとるために、待ち合わせポイントに合わせて第２計算機２０１を停止させているが、第１計算機１０１と第２計算機２０１の動作状態をほぼ一致させるだけでよい場合は、停止させるは必要なく、例えば、第１計算機１０１は、次に来る待ち合わせポイントを第２計算機２０１から知ることにより、その待ち合わせポイントに合わせてタスクを実行すれば、第２計算機２０１と動作状態を合わせることができる。
【００５０】
さらに、通常稼動中でも復旧中でも、タスク要素の処理時間、待機時間等が変わらない場合は、待ち合わせポイントは必要なく、第１計算機１０１は、実行中のタスク番号を第２計算機２０１から知ることにより、第２計算機２０１と動作状態を合わせることができる。
【符号の説明】
【００５１】
１０１  第１計算機
１０３  タスク実行状態一致化機構
１０５，２０５  タスク待ち合わせポイント管理テーブル
１０６，２０６  タスク実行順序記録テーブル
２０１  第２計算機
２０３  タスク状態取得機構
２０４  タスク待ち合わせポイント算出機構
２０７  タスクステータス管理テーブル
２０８  実行待ちタスク管理テーブル
２１０，２１１，２１２，２１３，２１４，２１５  実行待ちポイント
【図１】
2010257243.tif 000003
【図２】
2010257243.tif 000004
【図３】
2010257243.tif 000005
【図４】
2010257243.tif 000006
【図５】
2010257243.tif 000007
【図６】
2010257243.tif 000008
【図７】
2010257243.tif 000009
【図８】
2010257243.tif 000010
【図９】
2010257243.tif 000011
【図１０】
2010257243.tif 000012
【図１１】
2010257243.tif 000013