(57)【特許請求の範囲】
【請求項１】
複数のコンピュータが共有リソースを有し、かつ複数のコンピュータのそれぞれが他の
コンピュータの動作を監視するための監視手段と、他のコンピュータを停止するためのリ
セット手段とを有し、もって前記複数台のコンピュータの一つが実行系として前記共有リ
ソースを用いる処理を実行するとき、前記共有リソースの排他制御が行われ、他のコンピ
ュータは前記実行系のコンピュータの予備系として機能するクラスタ構成コンピュータの
系切替方法であって、
各コンピュータが
どのコンピュータがクラスタ内の他のコンピュータをリセットするかの優先度を一意に決
定する手続き１と、
前記監視手段によるハートビート検出が途絶えたコンピュータを障害系として検知した場
合に、前記優先度に基づいて障害系にリセットを発行するまでのリセット遅延時間を設定
する手続き２と、
前記手続き２で設定されたリセット遅延時間が経過すると障害系をリセットする手続き３
と、
前記手続き３を実行した場合に、他のコンピュータに障害系のリセット完了を通知する手
続き４と、
障害の発生を検知してから前記リセット遅延時間が経過するまでの間に、他のコンピュー
タから障害系のリセット完了の通知を受けた場合に、前記リセット遅延時間によるタイミ
ングを無効にして、障害系へのリセットを停止する手続き５とをもつことを特徴とする系切替方法。
【請求項２】
前記手続き１では、障害系にリセットを発行するまでの前記リセット遅延時間の指定を
受けて前記優先度を決定することを特徴とする請求項１に記載の系切替方法。
【請求項３】
前記手続き１では、リセットを行う系の順番の指定を受けて前記優先度とし決定するこ
とを特徴とする請求項１に記載の系切替方法。
【請求項４】
前記手続き３を実行したコンピュータが前記障害系の処理を引き継ぐことを特徴とする
請求項１の系切替方法。
【請求項５】
各コンピュータは、前記手続き３を実行した場合に、障害系の処理を引き継ぐ予備系を
定める手続き６を更に有し、前記手続き６によって定められたコンピュータが、他のコン
ピュータから前記障害系のリセット完了の通知を受けたことを契機として、障害系の処理
を引き継ぐことを特徴とする請求項１に記載の系切替方法。
【請求項６】
所定の記憶リソースを共有する複数のコンピュータを有し、かつ該複数のコンピュータ
のそれぞれが、他のコンピュータの状態を監視するための監視手段と、他のコンピュータ
を停止するためのリセット手段とを備えたクラスタ構成コンピュータシステムであって、
前記複数のコンピュータは、どのコンピュータが他のコンピュータをリセットするかの優
先度が一意に決定され、
各コンピュータは、
現用系であるコンピュータの障害発生を前記監視手段により検知したとき、自コンピュー
タに決定された前記優先度の値に応じて定められるリセット遅延時間をタイマに設定する
手段、
他コンピュータから障害発生による現用系コンピュータのリセットの完了が通知されると
前記タイマを停止させる手段、
前記タイマが前記設定されたリセット遅延時間の経過を検知したことを条件に前記障害が
発生した現用系コンピュータに対しリセットを指示し、かつリセットの完了を他のコンピ
ュータに通知する手段、及び
他コンピュータからリセットが指示されると自コンピュータを強制的に停止させる手段、
を有することを特徴とするクラスタ構成コンピュータシステム。
【請求項７】
前記リセット遅延時間を各コンピュータに個別に設定するインターフェースをもつこと
を特徴とする請求項６のクラスタ構成コンピュータシステム。
【請求項８】
前記複数のコンピュータはリセットを実施する順番の指定を受けて該順番を前記優先度
としてそれぞれ設定する手段と、予め設定されたリセットの時間間隔と各コンピュータに
設定された前記優先度とからそれぞれの前記リセット遅延時間を決定する手段を有するこ
とを特徴とする請求項６のクラスタ構成コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はアプリケーションシステムを構築する障害許容性のあるコンピュータシステムに関し、特にアプリケーションを実行中であるコンピュータのプログラムもしくはオペレーティングシステムに障害があった時に、その実行中のアプリケーションを別のコンピュータに引き継がせる系切替機能を有するプログラムを持つコンピュータシステムに関する。
【背景技術】
【０００２】
高信頼性を必要とするコンピュータシステムでは、処理（アプリケーション）を実行する現用系コンピュータと、現用系に障害が発生した際に処理を引き継ぐ予備系コンピュータとを含む構成をとる。現用系で発生した障害の検出から予備系に処理を引き継ぐ手続きはクラスタプログラムによって提供される。さらに、アプリケーションがディスク上のデータを利用する場合には、ディスクは現用系と予備系との間で共有される構成をとる。現用系障害時に予備系が処理を引き継ぐためには、クラスタを構成するコンピュータから予備系となるコンピュータを決定することと、アプリケーションやオペレーティングシステム（OS）が使用している資源のうち、同時に利用することのできない資源（共有リソース）、例えば、共有ディスクやIPアドレスを引き継ぐことが必要となる。さらに、予備系が現用系の障害を監視するパスが遮断される障害（ネットワークスプリット）が生じた場合であっても、現用系と予備系が同時に共有リソースを利用しないように保証することが、さらなる高信頼性を実現するためには必要である。
【０００３】
クラスタ構成において、共有ディスクを排他的に引き継ぐことで、処理を引き継ぐ予備系を決定する方法が多くのクラスタプログラムで行われており、その例として、文献１と特許文献２がある。特許文献１では、予備系から現用系を停止させるための機構を利用し、予備系が現用系をリセットすることによって、現用系が所有する共有リソースを解放させ、予備系が解放された共有リソースを所有することで、共有リソースを排他制御する技術が記載される。
【０００４】
次に、非特許文献１では、現用系で障害が発生し、系切替を行なう場合に、クラスタプログラムがSCSIコマンドのRESERVEとRESETとを利用し、共有ディスクへのアクセス権限を排他制御する技術が記載される。ここで、RESERVEはディスクへのアクセス権限を予約するコマンドであり、ある計算機によってRESERVE予約されたディスクは他の計算機からのアクセスとRESERVEを拒否するコマンドである。一方、RESETは、ディスクのアクセス権限を解放するコマンドであり、RESERVEされたディスクのアクセス権限を解放するコマンドである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平10−207855号公報  共有ディスク型多重系システム
【非特許文献】
【０００６】
【非特許文献１】マイクロソフト社  サポート技術情報  ３０９１８６
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１では、クラスタ構成のコンピュータシステムにおいて、予備系は、現用系の監視が出来なくなった場合には、現用系を停止させることで、共有リソースの排他制御を実現している。しかし、お互いが相手の予備系であるような２台からなるクラスタにおいて、ネットワークスプリット時が生じた場合には、互いに相手の系をリセットしようとするため、全ての系がリセットされてしまう可能性がある。従って、ネットワークスプリット時には処理が中断してしまい、高可用性が実現できないという問題がある。
【０００８】
また、予備系は現用系をリセットするが、現用系が予備系をリセットすることはない。従って、現用系とそれを引き継ぐ予備系2台（予備系1、予備系２）から構成されるクラスタを考えた場合、ネットワークスプリットにより、現用系と予備系１からなる２台のクラスタと、予備系２とに分離するようなケースにおいては、予備系２は、現用系をリセットし、系切替を行なう。一方で、予備系１も、予備系２により現用系がリセットされたことで、現用系の障害を検知し、系切替を実行してしまう。そのため、予備系１と予備系２が同時に現用系になり、共有リソースの二重アクセスが生じてしまうという問題がある。
【０００９】
また、非特許文献１では、クラスタ構成のコンピュータシステムにおいて、予備系は、現用系の監視が出来なくなった場合には、共有ディスクに対する現用系の制御権をSCSIコマンドのRESETにより強制的に解放させる処理と、その後、任意の予備系がSCSIのRESERVEコマンドを発行することで解放された共有ディスクの制御権を獲得する処理とからなり、この二つの処理によって、共有ディスクを引継ぐ系、すなわち、処理を引き継ぐ系が決定する。ここで、後者のRESERVEによる処理が、前者のRESETによる処理によって無効化されてしまうと、一度、ある予備系がRESERVEによって引継ぎが行なわれた処理を、別の予備系が引き継ぎ直すという過剰な系切り替えが生じてしまうため、これを防ぐために、前者のRESETによる処理から、後者のRESERVEによる処理が行なわれるまでの間は、全ての予備系がRESETコマンドを発行し終えることが保証できるために十分な時間が必要となる。従って、ネットワークスプリットが実際に起きているかどうかに関わらず、系切替時間が一定時間遅延してしまう問題がある。
【００１０】
また、この方式では、ネットワークスプリットが生じた場合であっても、系切り替えを行なうことが可能であるが、共有ディスク以外の共有リソースの引継ぎに、例えばIPアドレスの引継ぎを行なうためにさらなる処理が必要であり、系切り替えが完了するまでに要する時間が増大し、系切り替え時間が遅くなる問題がある。
【課題を解決するための手段】
【００１１】
本発明は、現用／待機系コンピュータを含む高可用性コンピュータシステムであって、現用／待機系が少なくとも一つのリソースを共有し、各コンピュータ間が互いの障害を監視するためのハートビートパスと、互いの系を停止させるためのリセットパスとを兼ね備えているコンピュータシステムにおいて、系切替を実現する機能を提供する。たとえば、共有されるリソースは、ディスク装置である。
【００１２】
本発明では、各コンピュータが他系をリセットするためのリセット命令を発行する順番を決定するための指標（リセット優先度）を有する。リセット優先度は、コンピュータシステム内で一意に決定される値からなる。たとえば、各系のコンピュータのIPアドレスの順に優先度が定まる。現用系以外のクラスタ内の各コンピュータは、現用系コンピュータが監視できなくなるような障害が発生した場合に、それぞれ自己のコンピュータのリセット優先度に基づいてリセット発行までの遅延時間をタイマに設定する。
【００１３】
タイマが設定されたリセット遅延時間の経過を検出した場合、その系は、障害となった現用系（障害系）にリセットを発行する。各系に設定されるリセット遅延時間は、各系が同時にリセットを行うことが生じない時間差を持つ。たとえば、各系のリセット遅延時間の間に、リセットを実行し、リセットが成功あるいは失敗したことが確定するまでに生じる一定の時間差を用いるのが好ましい。
【００１４】
つぎに、ある系によって障害系のリセットが行われると、障害系の動作を停止させ、共有リソースの使用を終了させる。この動作の停止処理は、たとえば、電源オフであったり、あるいは、ＯＳのシャットダウンであったりしてもよい。さらに、リセットを発行した系（リセット系）は、障害系のリセットをその他の系に対して通知する。この障害系のリセット通知を受けた系は、その障害系に対するリセットタイマを停止させる。このようにして、同じマシンに対して、リセットが複数回行われることを防ぐ。
【００１５】
障害系がリセットされた後、障害系の処理を引き継ぐ予備系が共有リソースを引き継ぎ、障害系で行なわれていた処理を引き継ぐ。ここで、予備系コンピュータの決定は、障害系をリセットしたリセット系が行なう方式でもよいし、リセット系が別のコンピュータに通知を行い、そのコンピュータが行なう方式でもよい。
【発明の効果】
【００１６】
このようにして、クラスタ構成のコンピュータシステムにおいて、正常に動作している系があれば、その系のうち、最上位のリセット優先度を有する系によって、必ず障害系がリセットされ、さらに、障害系の処理を引き継ぐべき予備系も、リセット系を含め必ず一つ存在することになるため、予備系に系切り替えされることで処理が引継がれる高可用性システムが実現される。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施例において、系切替が行なわれる場合におけるクラスタ構成のコンピュータシステムモデルの高位のシステムブロック図である。
【図２】本発明の実施例において、クラスタプログラムが管理するクラスタ状態管理表の構成を示した図である。
【図３】本発明の実施例において、クラスタプログラムが他系の監視時に行なう処理を説明した処理フロー図である。
【図４】本発明の実施例において、クラスタプログラムが系切替を行なう処理を説明した処理フロー図である。
【図５】本発明の実施例において、クラスタプログラムがリセットを行う優先度を定義する優先度定義の構成を示した図である。
【図６】本発明の実施例において、クラスタプログラムがリセットを行うタイミングについて説明したシーケンス図である。
【発明を実施するための形態】
【００１８】
本発明に関する図と説明は、本発明を鮮明に理解するのに適当な要素を示すために簡単化されており、発明を実施するのに支障ない範囲で既知の要素等は省略していることを理解されたい。本技術中で従来技術の中には、本発明を実装するために他の要素が望ましく、かつ／または、必要とされると思われるものが幾つかある。しかし、技術中のこれらの要素は既知であり、本発明の理解を容易にするものではないので、ここでは説明しない。以下では、添付の図に関して詳細に説明していく。
【００１９】
図１・図２は、本発明における現用／予備系コンピュータのシステムブロックを簡易に示したものである。説明を分かりやすくするために、各プログラムのラベルとして4桁の数字を用いている。また、数字は現用系コンピュータと待機系コンピュータは同一のプログラムに対して同じ下３桁の数字を用い、千の位は現用系コンピュータ（系Ａ）で１を、予備系コンピュータ（系Ｂ、系Ｃ）ではそれぞれ２、３で表している。以下では、先に各プログラムについて説明する。この説明では、各コンピュータのプログラムは現用系コンピ ュータ上のプログラム番号で説明しているが、待機系コンピュータ上の対応したプログラムの説明も兼ねる。さらに、以降の図2において同様の番号を用いているものがあるが、それらについては特に説明がない場合、図１の説明と同様である。
【００２０】
図1では、系Ａは、外部との通信を送受信するための装置として、ネットワークアダプタ（ＮＩＣ）1103、1104、1105と、リセット部1106とを持つ。また、ソフトウェアプログラムとして、オペレーティングシステム（ＯＳ）1105、アプリケーション1102、クラスタプログラム1110を持つ。ＮＩＣ1103は、アプリケーション1102が外部と通信するために用いられ、ＮＩＣ1104はクラスタプログラム1110がお互いの系の監視するための通信に用いられ、ＮＩＣ1105は、クラスタプログラム1110が他系をリセットするために用いられる。ここで、ＮＩＣ1103と1104は理解のために別としたが、同一であっても良い。
【００２１】
次に、リセット部1106は、他系のクラスタプログラム1210、1310からのリセットを受け、系Ａを停止させる機能を持つ。この系の停止機能として、例えば、ＯＳ1105に対して、強制停止を行うことで実現する。クラスタプログラム1110は、３つのモジュールを有する。以降、クラスタプログラムの説明のため、図２を用いて、説明する。
【００２２】
（1）監視部1111は、自系のアプリケーション1102が正常動作するか監視する機能と、通信部1112を介して、他系のクラスタプログラム1210、1310の状態を監視する機能とをもつ。
【００２３】
（2）通信部1102は、前記ＮＩＣ1104を介して、他系のクラスタプログラム1210、1310と通信する機能と、系切替部1113からの要求によって他系のリセット部1206、1306に対してリセット指示を行う通信機能とをもつ。
【００２４】
（3）系切替部1113は、前記監視部1111によって得られた各系の状態に基づいて、障害が生じている系に対して前期通信部1112を介してリセットを指示する機能と、リセットが成功した場合に、前記通信部1112を用いて他系のクラスタプログラム1210、1310に障害系のリセット成功を通知する機能を持つ。さらに、他系のクラスタプログラム1210、1310から障害系のリセット成功を通知された場合に、自系が障害系の処理を引き継ぐ必要がある予備系である場合には、障害系の処理を引き継ぐ機能とを有する。クラスタプログラム1110、1210、1310のより詳細な処理については、図３を用いて後述する。
【００２５】
さらに、前記系切替部1113は、クラスタの状態を管理するためのクラスタ状態管理表1114を持つ。図２は、本発明によるクラスタ状態管理表を表したものである。図２では、クラスタ状態管理表は、５つの情報を有する。
（1）各系を一意に識別するための系識別子21と、
（2）前記監視部1111によって監視された状態を表す系状態22、
（3）各系がリセットを発行する順序を表すリセット優先度23、
（4）他系をリセットする場合に、そのリセット指示の通信先となる他系のリセット部1206、1306を識別するためのリセット先識別子24、
（5）各系のリセットをどのタイミングで指示するかを表すリセットタイマ25である。
【００２６】
ここで、リセットタイマ25には、障害系が検出されてから自系が障害系に対してリセットを発行するまでの遅延時間（リセット遅延時間）が格納される。ある障害が発生し、それにより例えば系Ｃ及のハートビート検出が不可能になった場合、各系にて各々のタイマに設定されるリセット遅延時間は差を有する。つまり、複数の系でそれぞれトリガされるリセット指示の発行タイミングが時間間隔を有するように、各系それぞれ個別のリセット遅延時間が格納される。実施例では、具体的には前記リセット優先度23に基づいた順番で、リセットが行われるように各系個別のリセット遅延時間が格納される。
【００２７】
たとえば、自系より優先度が一つ高い系がリセットを指示し、リセットが行われることが保証される一定以上の時間差であれば、リセット優先度23に則ったリセットが行われることが保証できる。したがって、各系のタイマに設定されるリセット遅延時間は、各系に設定されたリセット優先度に応じて、システムハードウエアに即した系ごとの時間差を有す るように設定すれば良い。リセット間隔定義1116、1216、1316はこの時間差の情報を保持するものである。また別の方法では、このリセット間隔定義1116、1216、1316に対しそれぞれ直接その系のリセット遅延時間をユーザが設定するようにしても良い。
【００２８】
また、リセット優先度23は、クラスタを構成する全ての系で、重複がなく、一意に定まる値を用いればよい。例えば、ユーザが静的に与える場合には、クラスタプログラム1110に対して、優先度定義1115で与える方法がある。図５は、優先度定義1115を示したものである。優先度定義1115には、系識別子51とリセット優先度52が含まれる。前記系識別子51は、前記系識別子21と同一の値であっても良いし、一意に前記計識別子21に対応する値であれば良い。
【００２９】
また、前記リセット優先度52も、前記リセット優先度識別子23と同一の値であっても良いし、前記リセット優先度52を用いて、前記リセット優先度23を一意に決定する値であれば良い。例えば、ＩＰアドレスをリセット優先度52に用いた場合には、その大小関係を用いることで、リセット優先度23が一意に定まる。また、ユーザが前期優先度定義1115によって静的に与える以外に、クラスタプログラムが動的に定める方法を用いても良く、この場合も、前記優先度定義1115に含まれる情報を用いても良い。
【００３０】
さらに、状態管理表1114における系の追加削除は次のように行なわれる。まず、クラスタプログラム1110が前記監視部1111によって、新たな系のクラスタプログラムとの監視を開始したことを契機として、新たな系が表に加えられる。一方、クラスタプログラム1110が前記系切替部1113によって、障害系をリセットした場合、あるいは、他系のクラスタプログラムがクラスタプログラム1110に対して、障害系をリセットしたことを通知してきた場合に、障害系の削除が行なわれる。
【００３１】
本実施例では、説明を容易にするために、系切替部1113が一つのクラスタ状態管理表1114を持つ例を示しているが、クラスタ状態管理表に含まれる各情報21〜25は、幾つかの表に分割して管理してもよいし、さらには、系切替部以外のクラスタプログラム内にあっても良い。図３、図４は、本発明によるクラスタプログラムの処理のフローを表しており、図３は、監視部1111を中心とした系の障害監視動作を、図４は系切替部1113を中心とした系切り替え動作を表している。以下、図１、図２と対応づけながら、詳細に説明する。
【００３２】
まず、クラスタプログラム1110は実行されると、互いの系の障害を監視する。まず、前記監視部1111が定期的に前記通信部1112を介して、他のクラスタプログラム1210、1310と通信することで、他系の系監視を行なう。ステップ31によって得られた各系の状態は、前記状態管理表1114中の系識別子21に対応する系状態22に登録される（ステップ301）。
【００３３】
次に、前記ステップ301によって得られた各系の系状態22を参照することで、障害の発生した系（障害系）が存在するかどうかを判断する（ステップ302）。もし、障害系が存在していない場合には、全系が正常に動作しているため、ステップ301に戻り、定期的に障害監視を継続する。一方、障害系が存在する場合には、前記監視部1111が系切替部1113を呼び出し（図中点線）、系切替部のステップ401が実行される（ステップ303）。監視部1111は、ステップ303を実行後、再び、ステップ301に戻り、再びクラスタ内の他系の状態を監視を行なう。
【００３４】
一方、前記ステップ303で行われた系切替部への指示は、ステップ401で判断される。ステップ401では、新たな障害系が発生するかどうかを判断し、もし、新たな障害系がある場合は、系切替部1113が前記管理表1114のリセット優先度23を参照する(ステップ402)。続いて、前記のリセット優先度に基づいて、自系が障害系をリセットするまでの時間を状態管理表1114のリセットタイマ25に設定し（ステップ403）、ステップ404が行なわれる。一方、ステップ401で、新たな障害系が存在しない場合には、そのままステップ404が行なわれる。
【００３５】
ステップ404では、ステップ403で設定されたリセットタイマの時間が経過したかどうかを判断する。もし、リセットを発行する時間になった場合には、前記状態管理表1114からリセット対象となる系識別子21のリセット先識別子24に示される他系のリセット部1206、1306に対して、通信部1112を介して、リセットを指示する(ステップ405)。ここで、リセットを受け取ったリセット部1206、1306は、自系の動作を停止させることで、共有リソースの使用を停止する。自系の動作を停止させる方法は、たとえば、電源オフであったり、あるいは、ソフトウェアリセットであったり、ＯＳのシャットダウンであったり、ＯＳをハングアップさせる処理であってもよい。
【００３６】
ステップ405で、リセットに成功した後、系切替部1113は、通信部1112を介して、他系のクラスタプログラムに対して、障害系のリセットを行ったことを通知する(ステップ406)。さらに、状態管理表1114中からリセットされた障害系のリセットタイマ25をクリアし(ステップ407)、再度ステップ401へと戻る。
【００３７】
一方、ステップ404で、まだステップ403で設定されたリセットタイマの時間が経過していない場合には、続いて、リセット完了が他系から行われたかどうかを判断する(ステップ408)。これは、自系よりもリセット優先度が高い他系が存在する場合に、その他系のクラスタプログラムが先に前記ステップ404〜407を実行するため、すでに障害系がリセットされている場合があるためである。従って、もし、他系のクラスタプログラムからリセット完了通知があった場合には、リセットされた障害系のリセットタイマをクリアし（ステップ407）、リセット済みの障害系を再度リセットしないようにしてから、ステップ401へと戻る。
【００３８】
一方、上記ステップ408において、他系のクラスタプログラムからリセット完了通知がない場合には、まだ障害系がリセットされていないため、何も行わず、再びステップ401へと戻る。図６は、本発明によって実現されるリセットが行われるタイミングについて示した図である。図６の縦軸は時間経過になっており、時間経過によるリセット処理を表す。また、図６の左は共有リソースの所有者、すなわち、現用系がどの系かを表しており、図６の右は各系でのリセット処理を表している。
【００３９】
また、説明の簡略化のため、図６は、リセット優先度が高い順番に系Ａ・系Ｂ・系Ｃという３台からなるクラスタにおいて、ネットワークスプリットが発生した場合について示している。時刻Ｔ０にネットワークスプリットが発生すると、リセット優先度に基づいて、系Ａ、系Ｂ、系Ｃのリセットタイマは、それぞれ時刻Ｔ１、Ｔ２、Ｔ３が設定される。各系が正常である場合には、それぞれ、設定された時間に、自系からみて障害となっている系に対してリセットを行う。
【００４０】
例えば、系Ａからみて系Ｂ、系Ｃが障害であるため、時刻Ｔ１に系Ａは、それぞれをリセットする(矢印601、602)。仮に、系Ａがリセットを行えないような障害が同時に発生していた場合には、時刻Ｔ１に系Ｂがリセットを行う(矢印603、604)。同様に系Ｂもリセットが行えないような障害が生じていれば、時刻Ｔ２には、系Ｃがリセットを行う（矢印605、606）ゆえに、時刻Ｔ０〜Ｔ２までは系Ａが、時刻Ｔ２〜Ｔ３までは系Ｂが、時刻Ｔ３〜Ｔ４までは系Ｃが共有リソースを所有することとなり、系切替が行なわれる。時刻Ｔ４以降になる場合は、リセットパスが正常でない場合であるので、本発明の対象外である。以上に述べた本発明の実施例によれば、以下のような効果がある。
【００４１】
まず、リセットパスを持つクラスタ構成の高可用性コンピュータシステムにおいて、系監視用のハートビートが失われた場合には、リセット優先度に従って、障害系をリセットすることにより、リセットを行った系が存在するクラスタ内の系だけが、共有リソースを利用することを保証するため、ネットワークスプリット時でも、系切替を実現することが可能となる。さらに、リセット優先度が最も高い系が障害にならない場合であれば、その系が障害系をすぐにリセットすることにより、高速な系切替を実現可能である。
【００４２】
さらに、ユーザが優先度定義をクラスタプログラムに静的に定義することで、リセット優先度を自由に設定し、系切替先を制御した系切替を実現可能である。さらに、ユーザがリセット間隔をクラスタプログラムに定義することで、リセットが行なわれるタイミングを制御することが可能である。
【産業上の利用可能性】
【００４３】
本発明によれば、現用系コンピュータの監視ができなくなった場合に、リセット優先度の高い系が存在するクラスタに系切替を実現することができるので、高速な系切替を可能とし、高可用性コンピュータシステムとして広く実施されることが期待される。
【符号の説明】
【００４４】
1101,1201,1301 コンピュータ
1102,1202,1302 アプリケーション
1103,1104,1105,1203,1204,1205,1303,1304,1305 ネットワークアダプタ（NIC）
1106,1206,1306 リセット部
1107,1207,1307 オペレーティングシステム（OS）
1110,1210,1310 クラスタプログラム
1111,1211,1311 監視部
1112,1212,1312 通信部
1113,1213,1313 系切替部
1114,1214,1314 クラスタ 状態管理表
1115,1215,1315 優先度定義
1116,1216,1316 リセット間隔定義
21,51 系識別子
22 系状態
23,52 リセット優先度
24 リセット先識別子
25 リセットタイマ。
【図１】
0005561308.tif 000002
【図２】
0005561308.tif 000003
【図３】
0005561308.tif 000004
【図４】
0005561308.tif 000005
【図５】
0005561308.tif 000006
【図６】
0005561308.tif 000007