(57)【特許請求の範囲】
【請求項１】
ネットワークを通じて接続される現用系装置と待機系装置とを有し、
前記現用系装置は、
現用系の処理を実行する現用系プロセスと、
前記現用系プロセスの資源使用量を記憶する現用側プロセス情報記憶部と、
定期的に、前記現用系プロセスの資源使用量を調査し、該調査結果に基づいて前記現用側プロセス情報記憶部に記憶される前記現用系プロセスの資源使用量を更新すると共に前記待機系装置へ送信する現用側プロセス情報共有部と
を有し、
前記待機系装置は、
前記現用系プロセスの資源使用量を記憶する待機側プロセス情報記憶部と、
前記現用系装置から定期的に受信する前記現用系プロセスの資源使用量に基づいて前記待機側プロセス情報記憶部に記憶される前記現用系プロセスの資源使用量を更新する待機側プロセス情報共有部と、
前記待機側プロセス情報記憶部に記憶される前記現用系プロセスの資源使用量を定期的に参照し、自プロセスの資源使用量が前記現用系プロセスの資源使用量以上となるように資源を獲得し、前記獲得した資源を使用して業務にかかる処理は実行しない待機プロセスと、
前記現用系プロセスの処理の引継に使用する引継用プロセスと、
前記現用系プロセスの引継要求があった際、前記待機プロセスに対して終了要求を送信し、前記待機プロセスが終了すると、前記引継用プロセスを起動する待機プロセス管理部と
を有するクラスタシステム。
【請求項２】
現用系装置にネットワークを通じて接続される待機系装置において、
前記現用系装置で実行される現用系プロセスの資源使用量を記憶するプロセス情報記憶部と、
前記現用系装置から定期的に受信する前記現用系プロセスの資源使用量に基づいて前記プロセス情報記憶部に記憶される前記現用系プロセスの資源使用量を更新するプロセス情報共有部と、
前記プロセス情報記憶部に記憶される前記現用系プロセスの資源使用量を定期的に参照し、自プロセスの資源使用量が前記現用系プロセスの資源使用量以上となるように資源を獲得し、前記獲得した資源を使用して業務にかかる処理は実行しない待機プロセスと、
前記現用系プロセスの処理の引継に使用する引継用プロセスと、
前記現用系プロセスの引継要求があった際、前記待機プロセスに対して終了要求を送信し、前記待機プロセスが終了すると、前記引継用プロセスを起動する待機プロセス管理部と
を有する待機系装置。
【請求項３】
前記待機プロセス管理部は、前記現用系プロセスの引継要求が発生する以前に前記待機プロセスを起動する
請求項２に記載の待機系装置。
【請求項４】
前記待機プロセスは、前記終了要求を受けたときは所定の値を終了コードに設定して自プロセスを終了し、前記資源の獲得に失敗したときは前記値と異なる値を前記終了コードに設定して自プロセスを終了し、
前記待機プロセス管理部は、前記待機プロセスの終了コードの値によって、前記現用系プロセスの処理の引継の可否を判定する
請求項２または３に記載の待機系装置。
【請求項５】
現用系装置にネットワークを通じて接続され、前記現用系装置で実行される現用系プロセスの資源使用量を記憶するプロセス情報記憶部と、待機プロセス管理部と、プロセス情報共有部と、前記現用系プロセスの処理の引継に使用する引継用プロセスとを有する待機系装置が実行する制御方法であって、
前記プロセス情報共有部が、前記現用系装置から定期的に受信する前記現用系プロセスの資源使用量に基づいて前記プロセス情報記憶部に記憶される前記現用系プロセスの資源使用量を更新し、
前記待機プロセス管理部が、獲得した資源を使用して業務にかかる処理は実行しない待機プロセスを起動し、
前記待機プロセスが、前記プロセス情報記憶部に記憶される前記現用系プロセスの資源使用量を定期的に参照し、自プロセスの資源使用量が前記現用系プロセスの資源使用量以上となるように資源を獲得し、
前記待機プロセス管理部が、前記現用系プロセスの引継要求があった際、前記待機プロセスに対して終了要求を送信し、前記待機プロセスが終了すると、前記引継用プロセスを起動する
待機系装置の制御方法。
【請求項６】
現用系装置にネットワークを通じて接続され、前記現用系装置で実行される現用系プロセスの資源使用量を記憶するプロセス情報記憶部と、前記プロセス情報記憶部に記憶される前記現用系プロセスの資源使用量を定期的に参照し、自プロセスの資源使用量が前記現用系プロセスの資源使用量以上となるように資源を獲得し、前記獲得した資源を使用して業務にかかる処理は実行しない待機プロセスと、前記現用系プロセスの処理の引継に使用する引継用プロセスとを有するコンピュータを、
前記現用系装置から定期的に受信する前記現用系プロセスの資源使用量に基づいて前記プロセス情報記憶部に記憶される前記現用系プロセスの資源使用量を更新するプロセス情報共有部と、
前記現用系プロセスの引継要求があった際、前記待機プロセスに対して終了要求を送信し、前記待機プロセスが終了すると、前記引継用プロセスを起動する待機プロセス管理部と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、現用系装置と待機系装置とがネットワークによって接続されるクラスタシステムに関する。
【背景技術】
【０００２】
現用系装置と待機系装置とがネットワークによって接続されるクラスタシステムにおいて、現用系装置の故障あるいは障害または定期保守時に、現用系装置で実行されている処理業務を待機系装置に引継がせることが行われている。しかし、引継ぎが確実に行われるとは限られないため、システムの信頼性の低下を招いている。
【０００３】
処理業務の引継ぎに失敗する要因は幾つか存在し、その最大の要因に、待機系装置における資源不足がある。現用系装置で実行されていた処理業務を待機系装置で引継ぐためには、その処理業務を実行するために現用系装置で使用していた資源量（例えばメモリ量やディスク容量など）以上の資源量を待機系装置で獲得する必要がある。しかし、ホットスタンバイ構成を採らないクラスタシステムでは、引継ぎが必要となった時点で待機系装置で引継ぎ用のプロセスを起動して資源の獲得を行うため、その時点における待機系装置側の資源不足により十分な量の資源を獲得できない状況が発生する。
【０００４】
そこで、待機系装置側の資源不足に起因して業務処理の引継ぎが失敗するのを防止するために、以下のような技術が提案されている（例えば特許文献１参照）。まず、現用系装置は、定期的に資源の使用量を検出して待機系装置へ通知する。待機系装置は、通知された資源の使用量と待機系装置側の資源の使用可能量とを比較し、自装置の資源の使用可能量が通知された現用系装置の資源使用量よりも小さい場合は障害発生と判断し、異常を通知する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３２４８４８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１等に記載される上述した技術によれば、待機系装置側の資源不足に起因する引継ぎ失敗のリスクを低減することができる。しかし、引継ぎに必要十分な資源が待機系装置側に存在するか否かを監視するだけでは、引継ぎに必要な量の資源をその引継ぎ時点まで確保しておくことは困難である。その理由は、引継ぎとは何の関係もない他のプロセスに資源が割り当てられてしまう可能性があるためである。
【０００７】
本発明の目的は、上述したような課題、すなわち、待機系装置側で引継ぎに必要な量の資源をその引継ぎ時点まで確保しておくことは困難である、という課題を解決することにある。
【課題を解決するための手段】
【０００８】
本発明の一形態にかかるクラスタシステムは、
ネットワークを通じて接続される現用系装置と待機系装置とを有し、
上記現用系装置は、
現用系の処理を実行する現用系プロセスと、
上記現用系プロセスの資源使用量を記憶する現用側プロセス情報記憶部と、
定期的に、上記現用系プロセスの資源使用量を調査し、該調査結果に基づいて上記現用側プロセス情報記憶部に記憶される上記現用系プロセスの資源使用量を更新すると共に上記待機系装置へ送信する現用側プロセス情報共有部と
を有し、
上記待機系装置は、
上記現用系プロセスの資源使用量を記憶する待機側プロセス情報記憶部と、
上記現用系装置から定期的に受信する上記現用系プロセスの資源使用量に基づいて上記待機側プロセス情報記憶部に記憶される上記現用系プロセスの資源使用量を更新する待機側プロセス情報共有部と、
上記待機側プロセス情報記憶部に記憶される上記現用系プロセスの資源使用量を定期的に参照し、自プロセスの資源使用量が上記現用系プロセスの資源使用量以上となるように資源を獲得する待機プロセスと、
上記現用系プロセスの引継要求があった際、上記現用系プロセスの処理の引継に使用する引継用プロセスを起動する前に、引継ぎに必要な量の資源を確保するために上記待機プロセスに対して終了要求を送信する待機プロセス管理部と
を有する。
【発明の効果】
【０００９】
本発明は上述したような構成を有するため、待機系装置側で引継ぎに必要な量の資源をその引継ぎ時点まで確保しておくことができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施形態にかかるクラスタシステムのブロック図である。
【図２】本発明の第１の実施形態にかかるクラスタシステムの処理の一例を示すフロー図である。
【図３】本発明の第２の実施形態にかかるクラスタシステムのブロック図である。
【図４】本発明の第２の実施形態にかかるクラスタシステムにおける待機系のブロック図である。
【図５】本発明の第２の実施形態にかかるクラスタシステムにおけるプロセス起動処理の一例を示すフロー図である。
【図６】本発明の第２の実施形態にかかるクラスタシステムにおける待機系装置がプロセス引継要求を受け付けたときに実施する処理の一例を示すフロー図である。
【図７】本発明の第２の実施形態にかかるクラスタシステムにおける待機プロセスの処理の一例を示すフロー図である。
【図８】本発明の第３の実施形態にかかるクラスタシステムにおけるプロセス起動処理の一例を示すフロー図である。
【発明を実施するための形態】
【００１１】
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第１の実施形態]
図１を参照すると、本発明の第１の実施形態にかかるクラスタシステムは、現用系装置１００と待機系装置２００とがネットワーク３００によって接続されている。
【００１２】
現用系装置１００は、処理業務を実行する機能を有するサーバ装置などの情報処理装置である。待機系装置２００は、現用系装置１００の故障あるいは障害または定期保守時に、現用系装置１００で実行されている処理業務を引継ぐ機能を有するサーバ装置などの情報処理装置である。
【００１３】
現用系装置１００は、ハードウェアとして、通信Ｉ／Ｆ部（通信インターフェース部）１０１、記憶部１０２、およびプロセッサ１０３を有する。
【００１４】
通信Ｉ／Ｆ部１０１は、専用のデータ通信回路からなり、ネットワーク３００を介して接続された待機系装置２００などの各種装置との間でデータ通信を行う機能を有している。
【００１５】
記憶部１０２は、ハードディスクやメモリなどの記憶装置からなり、プロセッサ１０３における各種処理に必要な処理情報やプログラム１０２Ｐを記憶する機能を有している。プログラム１０２Ｐは、プロセッサ１０３に読み込まれて実行されることにより各種処理部を実現するプログラムであり、通信Ｉ／Ｆ部１０１などのデータ入出力機能を介して外部装置（図示せず）や記憶媒体（図示せず）から予め読み込まれて記憶部１０２に保存される。記憶部１０２で記憶される主な処理情報として、現用系プロセス情報１０２Ａがある。
【００１６】
現用系プロセス情報１０２Ａは、現用系装置１００で処理業務を実行する現用系プロセス１０３Ａの資源使用量を表している。現用系プロセス１０３Ａは、プロセッサ１０３で実行される。資源使用量としては、例えばメモリ量やディスク量などがある。
【００１７】
プロセッサ１０３は、ＣＰＵなどのマイクロプロセッサとその周辺回路を有し、記憶部１０２からプログラム１０２Ｐを読み込んで実行することにより、上記ハードウェアとプログラム１０２Ｐとを協働させて各種処理部を実現する機能を有している。プロセッサ１０３で実現される主な処理部として、プロセス情報共有部１０３Ｂがある。
【００１８】
プロセス情報共有部１０３Ｂは、定期的に、現用系プロセス１０３Ａの資源使用量を調査し、その調査結果に基づいて現用系プロセス情報１０２Ａに記憶される現用系プロセス１０３Ａの資源使用量を更新する機能を有する。またプロセス情報共有部１０３Ｂは、現用系プロセス情報１０２Ａから現用系プロセス１０３Ａの資源使用量を定期的に読み出してネットワーク３００を通じて待機系装置２００へ送信する機能を有する。
【００１９】
待機系装置２００は、ハードウェアとして、通信Ｉ／Ｆ部（通信インターフェース部）２０１、記憶部２０２、およびプロセッサ２０３を有する。
【００２０】
通信Ｉ／Ｆ部２０１は、専用のデータ通信回路からなり、ネットワーク３００を介して接続された現用系装置１００などの各種装置との間でデータ通信を行う機能を有している。
【００２１】
記憶部２０２は、ハードディスクやメモリなどの記憶装置からなり、プロセッサ２０３における各種処理に必要な処理情報やプログラム２０２Ｐを記憶する機能を有している。プログラム２０２Ｐは、プロセッサ２０３に読み込まれて実行されることにより各種処理部を実現するプログラムであり、通信Ｉ／Ｆ部２０１などのデータ入出力機能を介して外部装置（図示せず）や記憶媒体（図示せず）から予め読み込まれて記憶部２０２に保存される。記憶部２０２で記憶される主な処理情報として、現用系プロセス情報２０２Ａがある。
【００２２】
現用系プロセス情報２０２Ａは、現用系装置１００で処理業務を実行する現用系プロセス１０３Ａの資源使用量を表す現用系プロセス情報１０２Ａのコピーである。
【００２３】
プロセッサ２０３は、ＣＰＵなどのマイクロプロセッサとその周辺回路を有し、記憶部２０２からプログラム２０２Ｐを読み込んで実行することにより、上記ハードウェアとプログラム２０２Ｐとを協働させて各種処理部を実現する機能を有している。プロセッサ２０３で実現される主な処理部として、プロセス情報共有部２０３Ｂと待機プロセス管理部２０３Ｃとがある。
【００２４】
プロセス情報共有部２０３Ｂは、現用系装置１００からネットワーク３００を通じて定期的に受信する現用系プロセス１０３Ａの資源使用量に基づいて、現用系プロセス情報２０２Ａに記憶される現用系プロセス１０３Ａの資源使用量を更新する機能を有する。
【００２５】
待機プロセス管理部２０３Ｃは、現用系プロセス１０３Ａで実行されている処理業務を引継ぐための引継用プロセス２０３Ｄを起動する機能と、この引継用プロセス２０３Ｄで必要な量の資源を引継ぎ時点で確保できるように事前に待機プロセス２０３Ａを起動する機能とを有する。
【００２６】
待機プロセス２０３Ａは、現用系プロセス情報２０２Ａに記憶される現用系プロセス１０３Ａの資源使用量を定期的に参照し、自プロセスの資源使用量が現用系プロセス１０３Ａの資源使用量以上となるように資源を獲得する機能を有する。ただし、待機プロセス２０３Ａは、獲得した資源を使用して業務にかかる処理は実行しない。
【００２７】
また待機プロセス管理部２０３Ｃは、例えばネットワーク３００を通じて現用系装置１００から現用系プロセス１０３Ａの引継要求があった際、引継用プロセス２０３Ｄを起動する直前に、待機プロセス２０３Ａに対して終了要求を送信する機能を有する。
【００２８】
次に、本実施形態にかかるクラスタシステムの動作を図１および図２を参照して説明する。
【００２９】
初期の状態では、現用系装置１００側で現用系プロセス１０３Ａとプロセス情報共有部１０３Ｂとが動作している。また待機系装置２００側では、待機プロセス２０３Ａとプロセス情報共有部２０３Ｂと待機プロセス管理部２０３Ｃとが動作している。
【００３０】
現用系プロセス１０３Ａは、業務処理に必要な資源を適宜に獲得しながら、業務処理を実行している（図２のＳ１００）。現用系装置１００のプロセス情報共有部１０３Ｂは、現用系プロセス１０３Ａの稼働中に定期的に、現用系プロセス１０３Ａの資源使用量を調査して現用系プロセス情報１０２Ａに保存すると共に待機系装置２００へ送信する（Ｓ１０１）。
【００３１】
待機系装置２００のプロセス情報共有部２０３Ｂは、現用系装置１００から現用系プロセスの資源使用量を受信すると、現用系プロセス情報２０２Ａに反映する（Ｓ１０２）。これによって、待機系装置２００側の現用系プロセス情報２０２Ａは、現用系装置１００側の現用系プロセス情報１０２Ａに一致するようになる。
【００３２】
他方、待機系装置２００の待機プロセス２０３Ａは、定期的に、現用系プロセス情報２０２Ａに記憶される現用系プロセス１０３Ａの資源使用量を参照し、自プロセスの資源使用量が現用系プロセス１０３Ａの資源使用量以下にならないように、資源を適宜獲得する（Ｓ１０３）。例えば待機プロセス２０３Ａは、現在の自プロセスのメモリ量が、現用系プロセス１０３Ａのメモリ量を下回っていれば、不足している分のメモリ量を新たに獲得する。他の種類の資源についても、その資源量が現用系プロセス１０３Ａの資源使用量を下回らないようにする。他方、待機プロセス２０３Ａは、現在の自プロセスのメモリ量が、現用系プロセス１０３Ａのメモリ量を超えていれば、超過している量の全て或いは超過している量の一部を解放する。他の種類の資源についても、その資源量が現用系プロセス１０３Ａの資源使用量に比べて多い場合には超過している量の全て或いは一部を解放する。但し、現用系プロセス１０３Ａの資源使用量に比べて自プロセスの資源量が多い場合に、超過している量の全部あるいは一部を解放する処理は実施しなくてもよい。
【００３３】
さて、現用系装置１００に故障が発生するなどして、現用系プロセス１０３Ａで実行されていた処理業務を待機系装置２００で引継ぐべき要求が発生すると（Ｓ１０４）、待機系装置２００の待機プロセス管理部２０３Ｃは、引継用プロセス２０３Ｄを起動する直前に、待機プロセス２０３Ａに対して終了要求を送信する（Ｓ１０５）。これに応じて待機プロセス２０３Ａは、自プロセスを終了する（Ｓ１０６）。これによって、待機プロセス２０３Ａが確保していた資源は解放される。その後、待機プロセス管理部２０３Ｃは、引継用プロセス２０３Ｄを起動する（Ｓ１０７）。引継用プロセス２０３Ｄは、現用系プロセス１０３Ａで実行されていた処理業務を引継ぐために必要な資源を獲得し、処理の引継ぎを行う（Ｓ１０８）。引継用プロセス２０３Ｄが起動する直前に、待機プロセス２０３Ａが獲得していた資源は解放されている。また解放された資源の量は、現用系プロセス１０３Ａの資源使用量以上である。従って、引継用プロセス２０３Ｄは、支障なく資源を獲得することができる。このため、資源不足に起因して引継ぎが失敗することはなくなる。
【００３４】
このように本実施形態によれば、待機系装置側で引継ぎに必要な量の資源をその引継ぎ時点まで確保しておくことができる。その理由は、現用系プロセス１０３Ａの稼働中に、その資源使用量と同等以上の量の資源を確保する待機プロセスを待機系装置２００で稼働させておき、現用系プロセス１０３Ａの処理業務の引継要求が発生したとき、待機系装置２００で引継用プロセス２０３Ｄを起動する直前に待機プロセス２０３Ａを停止させるためである。
【００３５】
なお、本実施形態では、待機プロセス管理部２０３Ｃは、引継要求が発生する以前に待機プロセス２０３Ａを起動している（Ｓ１０９）。その場合、待機系プロセス管理部２０３Ｃは、現用系プロセス１０３Ａの起動と同時に待機系プロセス２０３Ａを起動することが望ましい。
【００３６】
[第２の実施形態]
[本実施形態の特徴]
本実施形態では、ホットスタンバイに対応していないプロセスでも、クラスタウェアの既存技術を組み合わせることにより、コストをかけずに、ホットスタンバイの特徴である確実なプロセス引継を実現する。
【００３７】
[本実施形態が解決しようとする課題]
クラスタシステムにおいて、待機系装置でプロセスを常駐させる代表的な技術としてホットスタンバイがある。ホットスタンバイは、現用系と待機系で同じプロセスが動作しているため、プロセスが起動しないという理由で引継に失敗することがない、という特徴を有する。以後この特徴を「プロセス引継の確実性」と呼ぶ。この特徴を実現するための課題は大きく分けて、以下の二点ある。
【００３８】
（課題１）プロセスがホットスタンバイに対応するためには相応のコストがかかる。
（課題２）クラスタウェアはプロセス引継の機能を有するが、プロセス引継の確実性を保証していない。
【００３９】
他方、ホットスタンバイに対応するプロセスは、次の二点の機能を有する。
（ａ）現用系のプロセスに障害が発生したときに、待機系であらかじめ稼動しているプロセスに処理を引き継ぐ機能。
（ｂ）複数の装置で同時にプロセスを稼動させたときに共有データを破壊から保護する機能。
【００４０】
ホットスタンバイを実現するためにはプロセスがホットスタンバイに対応する必要があり、対応には相応のコストがかかる。これが（課題１）である。
【００４１】
一方、クラスタウェアは次の二点の機能を有する。
（ｃ）現用系のプロセスに障害が発生したときに、待機系でプロセスを起動して処理を引き継ぐ機能。
（ｄ）複数の装置で同時にプロセスが稼動しないように制御することにより、共有データを破壊から保護する機能。
【００４２】
クラスタウェアは、プロセス側に対応コストがかからないという点がホットスタンバイに比べて優れている。しかし、クラスタウェアはホットスタンバイと比べて、現用系と待機系でプロセスを同時稼動できない、という違いがある。この違いが原因となり、クラスタウェアはプロセス引継の確実性を実現できていない。クラスタウェアがプロセス引継の確実性を実現するためには上述（ｂ）の機能を実現する必要がある。しかし、プロセス側に対応コストをかけずに（ｂ）の機能を実現することは、課題１と相反するために困難と考えられていた。これが（課題２）である。
【００４３】
[課題を解決するための手段]
本実施形態では、現用系のプロセスの資源利用状況を待機系で擬似的に再現することにより、共有データ保護を満たしながら、プロセス引継の確実性を実現する。
【００４４】
プロセスの資源利用状況はプロセスの外部からでもＯＳのインタフェースを用いて調べることができる。本実施形態は、この事実を利用して、待機系で現用系のプロセスと同じ資源利用状況を再現する。そして本実施形態は、クラスタウェアの既存技術を組み合わせることにより、プロセス側に対応コストをかけることなく、待機系で必要な資源の確保を行い、ホットスタンバイの特徴の一つであるプロセス引継の確実性を実現する。
【００４５】
[本実施形態の構成]
本実施形態にかかるクラスタシステムの構成について、図３を参照して説明する。
【００４６】
図３において、クラスタ構成装置１１および２１は、独立した筐体に収められた処理装置である。
【００４７】
クラスタ構成装置１１は、クラスタシステムにおける現用系の装置である。プロセス引継手段１２、プロセス１５、プロセス情報１６などから構成される。
【００４８】
クラスタ構成装置２１は、クラスタシステムにおける待機系の装置である。プロセス引継手段２２、待機プロセス２５、プロセス情報２７などから構成される。
【００４９】
プロセス引継手段１２および２２は、クラスタ構成装置１１もしくは２１に障害が発生したときにクラスタ構成装置１１もしくは２２のプロセスを引き継ぐ機能を有する。プロセス引継手段１２および２２は、待機プロセス管理手段１３および２３、およびプロセス情報共有手段１４および２４などから構成される。
【００５０】
待機プロセス管理手段１３および２３は、プロセス１５を引継ぐときに必要になる資源を確保するため、待機プロセス２５の生成、消滅を管理する。クラスタ構成装置２１において、待機プロセス２５を生成する。また、プロセス引継時には待機プロセス２５を終了させ、それをもってプロセス１５の引継に必要な資源を解放する。
【００５１】
プロセス情報共有手段１４は、プロセス１５の資源利用状況を採取し、プロセス情報１６に情報を記録する。さらに、ネットワーク３１を経由してプロセス情報１６をクラスタ構成装置２１に送信する。プロセス情報共有手段２４は、プロセス情報１６を受信して、プロセス情報２７に保存する。
【００５２】
プロセス１５はクラスタ構成装置１１に存在し、業務に係る処理を行う。待機プロセス２５はクラスタ構成装置２１に存在し、業務に係る処理は行わない。プロセス１５と待機プロセス２５は、待機プロセス管理手段１３および２３によって存在を管理されており、クラスタ構成装置１１および２１内で同時に存在しないように制御される。
【００５３】
待機プロセス２５は、資源獲得手段２６によってクラスタ構成装置２１内の資源を獲得し、プロセス引継時までその資源獲得状態を維持する。資源獲得手段２６は、プロセス情報２７より資源獲得量を決定し、資源を獲得する。これにより、待機プロセス２５の資源獲得量をプロセス１５の資源獲得量に揃える。
【００５４】
プロセス情報１６および２７は、プロセス１５の資源利用状況を記録したファイルである。
【００５５】
本実施形態の全体構成は図３で示したとおりである。本実施形態の特徴となるのは、待機プロセス２５がプロセス情報２７を用いて、クラスタ構成装置１１のプロセス１５と同様の資源利用状況を、クラスタ構成装置２１で動的に再現することである。
【００５６】
クラスタ構成装置２１の構成の詳細を図４に示す。
【００５７】
プロセス情報２７は、プロセス情報共有手段２４により定期的に更新される。これにより、クラスタ構成装置１１で稼動するプロセス１５の資源利用状況をクラスタ構成装置２１で把握することができる。
【００５８】
資源獲得手段２６は、資源獲得量の確認手段２８を有する。資源獲得量の確認手段２８は、定期的に更新されるプロセス情報２７を参照し、待機プロセス２５の資源獲得量を決定する。資源獲得量の確認手段２８によって、待機プロセス２５は、クラスタ構成装置１１で稼動するプロセス１５と同様の資源利用状況を動的に再現することができる。
【００５９】
[本実施形態の動作]
プロセス引継手段１２および２２のプロセス起動処理フローを図５に示す。待機系のクラスタ引継手段２２の場合は待機プロセス２５を起動する（Ｓ２）、という処理がクラスタウェアの既存技術との差分である。
【００６０】
図５を参照すると、現用系のプロセス引継手段１２は、プロセス１５を起動する（Ｓ１、Ｓ３）。その後、プロセス引継要求が発生すると（Ｓ４）、プロセス１５を終了する（Ｓ６、Ｓ８）。
【００６１】
他方、待機系のプロセス引継手段２２は、待機系プロセス２５を起動する（Ｓ１、Ｓ２）。その後、プロセス引継要求が発生すると（Ｓ４）、図６に示す処理を実行する（Ｓ６、Ｓ７）。
【００６２】
起動された待機プロセス２５の処理フローを図７に示す。待機プロセス２５は、終了要求（終了を要求するシグナル）を受信したか否かを判定する（Ｓ２１）。終了要求を受信していない場合、プロセス情報２７に記録された資源利用状況を一回分読み込む（Ｓ２２）。プロセス情報２７に記録された全ての資源利用状況の読み込みを終了していれば（Ｓ２３でＹＥＳ）、一定時間だけ待ち合わせを行った後（Ｓ２４）、ステップＳ２１に戻る。
【００６３】
プロセス情報２７から一回分の資源利用状況の読み込みに成功すれば（Ｓ２３でＮＯ）、読み込んだ資源量と獲得済み資源量とを比較し、獲得済み資源量が読み込んだ資源量より少なければ（Ｓ２５でＹＥＳ）、プロセス情報２７の資源量と等しくなるように資源を獲得する（Ｓ２６）。そして、獲得に成功すれば（Ｓ２７でＹＥＳ）、ステップＳ２１に戻る。他方、獲得に失敗すれば（Ｓ２７でＮＯ）、終了コードに値１を設定し（Ｓ２８）、自プロセス２５を終了する（Ｓ３０）。
【００６４】
また待機プロセス２５は、終了要求を受信すると（Ｓ２１でＹＥＳ）、終了コードに値０を設定し（Ｓ２９）、自プロセス２５を終了する（Ｓ３０）。
【００６５】
図５のステップＳ７の処理のフロー、すなわちプロセス引継手段２２がプロセス引継手段１２からプロセス引継要求を受け付けたときに実施する処理フローを図６に示す。まずプロセス引継手段２２は、待機プロセス２５に終了を要求するシグナルを送信し（Ｓ１１）、待機プロセス２５の終了を待ち合わせる（Ｓ１２）。そして、待機プロセス２５の終了コードの値が１か０かを判別する（Ｓ１３）。終了コードの値が０であれば、プロセス引継判定の値をＯＫとし（Ｓ１４）、プロセス引継手段１２にプロセス引継判定の値を返す（Ｓ１６）。その後、クラスタウェアによる既存の技術によって引継用プロセスが待機系のクラスタ構成装置２１に生成され、処理業務の引継ぎが実施される。他方、終了コードの値が０以外であれば、プロセス引継判定の値をＮＧとし（Ｓ１５）、プロセス引継手段１２にプロセス引継判定の値を返す（Ｓ１６）。
【００６６】
[本実施形態の効果]
本実施形態によれば、ホットスタンバイに対応していないプロセスでも、プログラミングすることなく、クラスタ構成装置２１でプロセス１５に対応する引継用プロセスを稼動させるときに必要な資源をあらかじめ確保することができる。その理由は、クラスタ構成装置１１でプロセス１５の資源利用状況を採取し、プロセス情報共有手段１４および２４の間で共有し、その情報に基づいて待機プロセス２５が資源獲得を行うためである。
【００６７】
また本実施形態によれば、クラスタ構成装置２１においてプロセス１５を稼動させるために必要な資源量が不足している場合、プロセス１５が引き継がれないように予防することができる。その理由は、待機プロセス２５による資源獲得処理を通じて、クラスタ構成装置２１でプロセス１５に対応する引継用プロセスが稼動可能かどうかをチェックしているためである。
【００６８】
[第３の実施形態]
本実施形態では、第２の実施形態における図５の処理に代えて図８に示す処理を行う。本実施形態では、プロセス引継要求が発生した後に、待機系のクラスタ構成装置２１で待機プロセス２５を起動し（Ｓ９）、その後に図６に示す処理を実行する。すなわち、本実施形態は、プロセス引継手段２２がプロセス引継要求を受けた時に、待機プロセス２５による資源獲得処理を実施して、プロセス引継が可能か否かを確認するようにしている。
【符号の説明】
【００６９】
１００…現用系装置
１０１…通信Ｉ／Ｆ部
１０２…記憶部
１０２Ａ…現用系プロセス情報
１０２Ｐ…プログラム
１０３…プロセッサ
１０３Ａ…現用系プロセス
１０３Ｂ…プロセス情報共有部
２００…待機系装置
２０１…通信Ｉ／Ｆ部
２０２…記憶部
２０２Ａ…現用系プロセス情報
２０２Ｐ…プログラム
２０３…プロセッサ
２０３Ａ…待機プロセス
２０３Ｂ…プロセス情報共有部
２０３Ｃ…待機プロセス管理部
２０３Ｄ…引継用プロセス
３００…ネットワーク
【図１】
0006024138.tif 000002
【図２】
0006024138.tif 000003
【図３】
0006024138.tif 000004
【図４】
0006024138.tif 000005
【図５】
0006024138.tif 000006
【図６】
0006024138.tif 000007
【図７】
0006024138.tif 000008
【図８】
0006024138.tif 000009