(57)【特許請求の範囲】
【請求項１】
ネットワーク上の複数のノードが、他のノードが提供する機能を代理するノード代理システムにおいて、
前記複数のノードの各ノードが、
前記各ノードの起動を管理する起動管理手段であって、前記各ノード内に設定された情報に基づいて正常な稼働を監視する他のノードを決定し、前記各ノードが正常な稼働を監視する他のノードを決定することにより、前記複数のノードにおいて、第１のノードが他の第２のノードの正常な稼働を監視するよう設定され、該第２のノードが該第１のノードまたは更に他の第３のノードの正常な稼働を監視するよう設定され、以降このような監視の関係を順次形成して１つの閉ループ形態の論理的な監視ネットワークを構築し、その結果、該第１のノードも該第１のノード以外によって監視されるように各ノードの起動を管理する起動管理手段と、
監視対象のノードの障害を検知し、該監視対象のノードが提供していた機能及び、該監視対象のノードが監視していた他のノードの監視を代理して行う障害監視・代理手段と、
を有することを特徴とするノード代理システム。
【請求項２】
前記起動管理手段は、前記各ノードの監視を設定する際に、該正常な稼働の監視が該各ノードの提供する個々の機能単位に行い、
前記障害監視・代理手段は、前記監視対象のノードが提供していた機能の代理を個々の機能単位に行うこと、
を特徴とする請求項１記載のノード代理システム。
【請求項３】
更に、アドレス記憶手段を有し、
前記起動管理手段は、前記複数のノードのアドレスに関する情報として、各ノードの実アドレスと仮想アドレスを前記アドレス記憶手段内に記憶し、
前記起動管理手段における監視の設定、前記障害監視・代理手段における障害の検知、及び前記障害監視・代理手段における監視の代理が、前記実アドレスを使用して行われ、
前記障害監視・代理手段における前記監視対象のノードの機能の代理が、前記仮想アドレスを使用して行われること、
を特徴とする請求項１に記載のノード代理システム。
【請求項４】
更に、アドレス記憶手段を有し、
前記起動管理手段は、前記複数のノードの前記アドレスに関する情報として、各ノードの実アドレスと仮想アドレスを所定のノード順に前記アドレス記憶手段内に記憶し、
前記起動管理手段における監視の設定、前記障害監視・代理手段における障害の検知、及び前記障害監視・代理手段における監視の代理が、前記実アドレスを使用して行われ、
前記障害監視・代理手段における前記監視対象のノードの機能の代理が、前記仮想アドレスを使用して行われること
を特徴とする請求項１に記載のノード代理システム。
【請求項５】
前記起動管理手段は、
前記実アドレスと前記仮想アドレスを、それぞれ１つのエントリとして前記アドレス記憶手段内に記憶させる手段と、
各ノードの監視対象のノードを設定する際に、
該アドレス記憶手段内で、監視する側のノードのアドレスに関するエントリが最終エントリでない場合、該エントリより後で、かつそのエントリから最も近くにある、実アドレスを含むエントリを探し、該実アドレスを有するノードを監視対象のノードと決定し、
該アドレス記憶手段内で、監視する側のノードのアドレスに関するエントリが最終エントリである場合、先頭のエントリの実アドレスを有するノードを監視対象のノードと決定する手段と、
を有することを特徴とする請求項４に記載のノード代理システム。
【請求項６】
前記障害監視・代理手段は、
前記監視対象のノードの障害を検知したノードが、該監視対象のノードが提供していた機能及び、該監視対象のノードが監視していた他のノードの監視を代理して行っている間に、該監視対象のノードの障害が復旧したかどうかを検知する検知手段と、
前記監視対象のノードの障害を検知したノードが、該検知手段により該監視対象のノードの復旧を検知した場合に、該監視対象のノードが提供していた機能及び、該監視対象のノードが監視していた他のノードの監視を、該監視対象のノードに再開させる制御手段と、
を有することを特徴とする請求項１に記載のノード代理システム。
【請求項７】
前記障害監視・代理手段によって検知される事象には、前記各ノードの休止が含まれること、
を特徴とする請求項１に記載のノード代理システム。
【請求項８】
前記障害監視・代理手段は、前記障害の監視または代理を、事前に定められたスケジュール情報に基づいて実行し、
該スケジュール情報が、前記ネットワーク上に配置されたスケジュール情報記憶手段に記憶されていること、
を特徴とする請求項１に記載のノード代理システム。
【請求項９】
ネットワーク上の複数のノードが、他のノードが提供する機能を代理するノード代理システムにおいて、
前記複数のノードの各ノードが、
前記各ノードの起動を管理する起動管理手段であって、前記各ノード内に設定された情報に基づいて正常な稼働を監視する他のノードを決定し、前記各ノードが正常な稼働を監視する他のノードを決定することにより、前記複数のノードにおいて、第１のノードが他の第２のノードの正常な稼働を監視するよう設定され、該第２のノードが該第１のノードまたは更に他の第３のノードの正常な稼働を監視するよう設定され、以降このような監視の関係を順次形成して１つの閉ループ形態の論理的な監視ネットワークを構築し、その結果、該第１のノードも該第１のノード以外によって監視されるように各ノードの起動を管理する起動管理手段を有し、
該複数のノードのうち１つをマスタノードとし、その他のノードの少なくとも１つをスレーブノードとして設定し、
前記マスタノードは、該マスタノードから該少なくとも１つのスレーブノードに対して資源を複製させ、該複製の間に、該マスタノードに、該スレーブノードの提供していた機能を代理して行わせる資源複製手段を有する
ことを特徴とするノード代理システム。
【請求項１０】
前記資源複製手段は、前記マスタノードから前記スレーブノードに対して資源を複製する際に、前記マスタノードに、前記スレーブノードが監視していた他のノードの監視を代理させること、
を特徴とする請求項９に記載のノード代理システム。
【請求項１１】
前記起動管理手段は、前記各ノードの監視を設定する際に、該正常な稼働の監視を該各ノードの提供する個々の機能単位に設定し、
前記資源複製手段は、前記マスタノードに、前記スレーブノードが提供していた機能の代理を個々の機能単位に行わせること、
を特徴とする請求項９に記載のノード代理システム。
【請求項１２】
更に、アドレス記憶手段を有し、
前記起動管理手段は、前記複数のノードのアドレスに関する情報として、各ノードの実アドレスと仮想アドレスを前記アドレス記憶手段内に記憶し、
前記資源複製手段は、前記スレーブノードの機能の代理を、前記仮想アドレスを使用して行うこと、
を特徴とする請求項９に記載のノード代理システム。
【請求項１３】
更に、アドレス記憶手段を有し、
前記起動管理手段は、前記複数のノードのアドレスに関する情報として、各ノードの実アドレスと仮想アドレスを、所定のノード順に前記アドレス記憶手段内に記憶し、
前記資源複製手段は、前記スレーブノードの機能の代理を、前記仮想アドレスを使用して行うこと、
を特徴とする請求項９に記載のノード代理システム。
【請求項１４】
前記起動管理手段は、
前記実アドレスと前記仮想アドレスを、それぞれ１つのエントリとして前記アドレス記憶手段内に記憶させる手段と、
各ノードの監視対象のノードを設定する際に、
該アドレス記憶手段内で、監視する側のノードのアドレスに関するエントリが最終エントリでない場合、該エントリより後で、かつそのエントリから最も近くにある、実アドレスを含むエントリを探し、該実アドレスを有するノードを監視対象のノードと決定し、
該アドレス記憶手段内で、監視する側のノードのアドレスに関するエントリが最終エントリである場合、先頭のエントリ、または該エントリより後で、かつそのエントリから最も近くにある、実アドレスを含むエントリを探し、該実アドレスに対応するノードを監視対象のノードと決定する手段と、
を有することを特徴とする請求項１３に記載のノード代理システム。
【請求項１５】
前記資源複製手段は、
前記マスタノードから前記少なくとも１つのスレーブノードに対する資源の複製が終了した場合に、該マスタノードによって代理されていた、該スレーブノードの提供していた機能  を、該スレーブノードに行わせるようにすること、
を特徴とする請求項９に記載のノード代理システム。
【請求項１６】
更に、前記資源複製手段の実行を、前記ネットワークに接続されているノードから指示する資源複製指示手段を、
有することを特徴とする請求項９に記載のノード代理システム。
【請求項１７】
前記資源複製手段は、
事前に定められたスケジュール情報に基づいて処理を実行し、
該スケジュール情報が、前記ネットワーク上に配置されたスケジュール情報記憶手段に記憶されていること、
を特徴とする請求項９に記載のノード代理システム。
【請求項１８】
更に、前記スケジュール情報を、前記ネットワークに接続されているノードからの指示によって、前記スケジュール情報記憶手段内に記憶させるスケジュール指定手段を、
有することを特徴とする請求項１７に記載のノード代理システム。
【請求項１９】
更に、前記各ノードのアドレスに関する情報を、前記ネットワークに接続されているノードからの指示によって、前記アドレス記憶手段内に記憶させるノード設定手段を、
有することを特徴とする請求項３、４、１２または１３に記載のノード代理システム。
【請求項２０】
前記指示を行う前記ネットワークに接続されているノードが制御用ノードであり、該指示がマスタノードに対して行われること、
を特徴とする請求項１６、１７、または１９に記載のノード代理システム。
【請求項２１】
前記資源複製手段が、前記スレーブノードに対する資源の複製を、所定の数の前記スレーブノード毎に、監視方向順に行うこと、
を特徴とする請求項９に記載のノード代理システム。
【請求項２２】
更に、前記各ノードの状態、及び前記各ノードの機能がどのノードによって代理されているかを全てのノードに関して一覧表示する表示手段を、
有することを特徴とする請求項１または９に記載のノード代理システム。
【請求項２３】
更に、前記各ノードの状態を必要に応じて変更する制御手段を、
有することを特徴とする請求項１または９に記載のノード代理システム。
【請求項２４】
更に、前記各ノードの状態、及び前記各ノードの機能がどのノードによって代理されているかを全てのノードに関して一覧表示する表示手段と、
前記各ノードの状態を、該表示手段により表示された一覧表示画面を介して、必要に応じて変更する制御手段と、
を有することを特徴とする請求項１または９に記載のノード代理システム。
【請求項２５】
ネットワーク上の複数のノードが、他のノードの障害を監視するノード監視システムにおいて、
前記複数のノードの各ノードが、
前記各ノードの起動を管理する起動管理手段であって、前記各ノード内に設定された情報に基づいて正常な稼働を監視する他のノードを決定し、前記各ノードが正常な稼働を監視する他のノードを決定することにより、前記複数のノードにおいて、第１のノードが他の第２のノードの正常な稼働を監視するよう設定され、該第２のノードが該第１のノードまたは更に他の第３のノードの正常な稼働を監視するよう設定され、以降このような監視の関係を順次形成して１つの閉ループ形態の論理的な監視ネットワークを構築し、その結果、該第１のノードも該第１のノード以外によって監視されるように各ノードの起動を管理する起動管理手段と、
監視対象のノードの障害を検知し、該監視対象のノードが監視していた他のノードの監視を代理して行う障害監視手段と、
を有することを特徴とするノード監視システム。
【請求項２６】
前記起動管理手段は、前記各ノードの監視を設定する際に、該正常な稼働の監視が該各ノードの提供する個々の機能単位に行い、
前記障害監視手段は、前記監視対象のノードの障害を該機能単位に行うこと、を特徴とする請求項２５に記載のノード監視システム。
【請求項２７】
更に、アドレス記憶手段を有し、
前記起動管理手段は、前記複数のノードのアドレスに関する情報として、各ノードの実アドレスと仮想アドレスを前記アドレス記憶手段内に記憶し、
前記起動管理手段における監視の設定、前記障害監視手段における障害の検知が、前記実アドレスを使用して行われること、
を特徴とする請求項２５に記載のノード監視システム。
【請求項２８】
更に、アドレス記憶手段を有し、
前記起動管理手段は、前記複数のノードの前記アドレスに関する情報として、各ノードの実アドレスと仮想アドレスを所定のノード順に前記アドレス記憶手段内に記憶し、
前記起動管理手段における監視の設定、前記障害監視手段における障害の検知が、前記実アドレスを使用して行われること、
を特徴とする請求項２５に記載のノード監視システム。
【請求項２９】
前記起動管理手段は、
前記実アドレスと前記仮想アドレスを、それぞれ１つのエントリとして前記アドレス記憶手段内に記憶させる手段と、
各ノードの監視対象のノードを設定する際に、
該アドレス記憶手段内で、監視する側のノードのアドレスに関するエントリが最終エントリでない場合、該エントリより後で、かつそのエントリから最も近くにある、実アドレスを含むエントリを探し、該実アドレスを有するノードを監視対象のノードと決定し、
該アドレス記憶手段内で、監視する側のノードのアドレスに関するエントリが最終エントリである場合、先頭のエントリの実アドレスを有するノードを監視対象のノードと決定する手段と、
を有することを特徴とする請求項２８に記載のノード監視システム。
【請求項３０】
前記障害監視手段は、前記障害の監視を、事前に定められたスケジュール情報に基づいて実行し、
該スケジュール情報が、前記ネットワーク上に配置されたスケジュール情報記憶手段に記憶されていること、
を特徴とする請求項２５に記載のノード監視システム。
【請求項３１】
前記マスタノードが、
前記スレーブノードに、該スレーブノードが提供している少なくとも１つの該機能の停止を指示し、該スレーブノードの該機能を代理する機能代理手段と、
該機能代理手段により機能を代理した該スレーブノードに複製用の最新の資源を送信し、該スレーブノードに該最新の資源を複製する資源複製手段と、
該資源複製手段の処理終了後に、該スレーブノードに該機能を再開させる制御手段と、
を有することを特徴とする請求項９に記載のノード代理システム。
【請求項３２】
前記スレーブノードが、
該マスタノードの指示を受けて、自身の機能を該マスタノードに代理してもらう被代理手段と、
該マスタノードに自身の機能を代理してもらっている間に、該マスタノードから受信する最新の資源を運用資源として複製する資源複製手段と、
該資源複製手段による資源複製処理終了後に、該マスタノードによる自身の機能の代理の終了を受けて、自身の機能を再開する機能再開手段と、
を有することを特徴とする請求項９に記載のノード代理システム。
【請求項３３】
前記制御ノードが、
スケジュールデータの入力画面を表示する表示手段と、
該表示手段により表示される該入力画面を介して該スケジュールデータを入力するための入力手段と、
該入力手段を介して入力された該スケジュールデータを該マスタノードに送信する手段と、
を有することを特徴とする請求項２０に記載のノード代理システム。
【請求項３４】
前記マスタノードが、
該制御用ノードからスケジュールデータを受信する受信手段と、
該受信手段により受信されたスケジュールデータに基づいて、自身及び該スレーブノードの運用を制御する制御手段と、
を有することを特徴とする請求項２０に記載のノード代理システム。
【請求項３５】
前記スレーブノードが、
該マスタノードから所定の運用を指示する通知を受信する受信手段と、
該受信手段が受信した通知により指示される運用を実行する運用手段と、
を有することを特徴とする請求項２０に記載のノード代理システム。
【請求項３６】
前記制御用ノードが、
該マスタノードまたは該スレーブノードの運用状態を一覧表示する表示手段と、
該表示手段により表示される該運用状態の一覧表示を介して該マスタノードまたは該スレーブノードの運用状態を変更する制御情報を入力するための制御情報入力手段と、
該入力手段を介して入力された該制御情報を該マスタノードに送信する手段と、
を有することを特徴とする請求項２０に記載のノード代理システム。
【請求項３７】
前記制御用ノードが、
該マスタノードから、該マスタノードまたは該スレーブノードの運用状態に関する情報を取得する取得手段と、
該取得手段によって取得された該運用状態に関する情報に基づいて、該マスタノードまたは該スレーブノードの運用状態を一覧表示する表示手段を、
有することを特徴とする請求項２０に記載のノード代理システム。
【請求項３８】
前記マスタノードが、
該マスタノード及び該スレーブノードのうち少なくとも１つに関する運用状態情報を収集する収集手段と、
該収集手段によって収集された該運用状態情報を、前記制御用ノードに通知する通知手段と、
を有することを特徴とする請求項２０に記載のノード代理システム。
【請求項３９】
前記スレーブノードが、
該マスタノードから、運用状態の報告依頼通知を受信する受信手段と、
該受信手段が該報告依頼通知を受信した場合に、その応答として、前記マスタノードに、自身の運用状態を通知する通知手段を有することを特徴とする請求項２０に記載のノード代理システム。
【請求項４０】
前記マスタノードが、
該制御用ノードから該マスタノードまたは該スレーブノードの運用状態を変更する制御情報を受信する受信手段と、
該制御情報に基づいて、自身及び該スレーブノードの運用を制御する制御手段と、
を有することを特徴とする請求項２０に記載のノード代理システム。
【請求項４１】
前記スレーブノードが、
該マスタノードから所定の運用を指示する通知を受信する受信手段と、
該受信手段が受信した通知により指示される運用を実行する運用手段と、
を有することを特徴とする請求項２０に記載のノード代理システム。
【請求項４２】
前記制御用ノードが、
各ノードに関する情報を入力するための入力手段と、
該入力手段によって入力された該情報を該マスタノードに送信する送信手段と、
を有することを特徴とする請求項２０に記載のノード代理システム。
【請求項４３】
前記各ノードに関する情報が、マスタ種別、該ネットワーク上のアドレス、監視対象のノードのアドレス、監視サービスの内容、または代理運用の有無のうち、少なくとも１つの情報を含むこと、
を特徴とする請求項４２に記載のノード代理システム。
【請求項４４】
前記マスタノードが、
各ノードに関する情報を該制御用ノードから受信するための受信手段と、
該受信手段によって受信された該情報を記憶する記憶手段と、
を有することを特徴とする請求項２０に記載のノード代理システム。
【請求項４５】
前記各ノードに関する情報が、マスタ種別、該ネットワーク上のアドレス、監視対象のノードのアドレス、監視サービスの内容、または代理運用の有無のうち、少なくとも１つの情報を含むこと、
を特徴とする請求項４４に記載のノード代理システム。
【請求項４６】
前記スレーブノードが、
所定のタイミングで、前記各ノードに関する情報を記憶した該マスタノードの前記記憶手段から、該情報を受信するための受信手段と、
該受信手段によって受信された該情報を記憶する記憶手段と、
を有することを特徴とする請求項２０に記載のノード代理システム。
【請求項４７】
前記各ノードに関する情報が、マスタ種別、該ネットワーク上のアドレス、監視対象のノードのアドレス、監視サービスの内容、または代理運用の有無のうち、少なくとも１つの情報を含むこと、
を特徴とする請求項４６に記載のノード代理システム。
【請求項４８】
ネットワーク上の複数のノードが、他のノードが提供する機能を代理するノード代理方法において、
前記複数のノードの各ノードが、
前記各ノードの起動を管理する起動管理ステップであって、前記各ノード内に設定された情報に基づいて正常な稼働を監視する他のノードを決定し、前記各ノードが正常な稼働を監視する他のノードを決定することにより、前記複数のノードにおいて、第１のノードが他の第２のノードの正常な稼働を監視するよう設定され、該第２のノードが該第１のノードまたは更に他の第３のノードの正常な稼働を監視するよう設定され、以降このような監視の関係を順次形成して１つの閉ループ形態の論理的な監視ネットワークを構築し、その結果、該第１のノードも該第１のノード以外によって監視されるように各ノードの起動を管理する起動管理ステップと、
監視対象のノードの障害を検知し、該監視対象のノードが提供していた機能及び、該監視対象のノードが監視していた他のノードの監視を代理して行う障害監視・代理ステップと、
を有することを特徴とするノード代理方法。
【請求項４９】
ネットワーク上の複数のノードが、他のノードが提供する機能を代理するノード代理方法において、
前記複数のノードの各ノードが、
前記各ノードの起動を管理する起動管理ステップであって、前記各ノード内に設定された情報に基づいて正常な稼働を監視する他のノードを決定し、前記各ノードが正常な稼働を監視する他のノードを決定することにより、前記複数のノードにおいて、第１のノードが他の第２のノードの正常な稼働を監視するよう設定され、該第２のノードが該第１のノードまたは更に他の第３のノードの正常な稼働を監視するよう設定され、以降このような監視の関係を順次形成して１つの閉ループ形態の論理的な監視ネットワークを構築し、その結果、該第１のノードも該第１のノード以外によって監視されるように各ノードの起動を管理する起動管理ステップを有し、
該複数のノードのうち１つをマスタノードとし、その他のノードの少なくとも１つをスレーブノードとして設定し、
前記マスタノードは、該マスタノードから該少なくとも１つのスレーブノードに対して資源を複製させ、該複製の間に、該マスタノードに、該スレーブノードの提供していた機能を代理して行わせる資源複製ステップを有する
ことを特徴とするノード代理方法。
【請求項５０】
ネットワーク上の複数のノードが、他のノードの障害を監視するノード監視方法において、
前記複数のノードの各ノードが、
前記各ノードの起動を管理する起動管理ステップであって、前記各ノード内に設定された情報に基づいて正常な稼働を監視する他のノードを決定し、前記各ノードが正常な稼働を監視する他のノードを決定することにより、前記複数のノードにおいて、第１のノードが他の第２のノードの正常な稼働を監視するよう設定され、該第２のノードが該第１のノードまたは更に他の第３のノードの正常な稼働を監視するよう設定され、以降このような監視の関係を順次形成して１つの閉ループ形態の論理的な監視ネットワークを構築し、その結果、該第１のノードも該第１のノード以外によって監視されるように各ノードの起動を管理する起動管理ステップと、
監視対象のノードの障害を検知し、該監視対象のノードが監視していた他のノードの監視を代理して行う障害監視ステップと、
を有することを特徴とするノード監視方法。
【請求項５１】
ネットワーク上の複数のノードが、他のノードが提供する機能を代理するノード代理方法を実現するプログラムを記録した記録媒体であって、
前記複数のノードの各ノードに、
前記各ノードの起動を管理する起動管理ステップであって、前記各ノード内に設定された情報に基づいて正常な稼働を監視する他のノードを決定し、前記各ノードが正常な稼働を監視する他のノードを決定することにより、前記複数のノードにおいて、第１のノードが他の第２のノードの正常な稼働を監視するよう設定され、該第２のノードが該第１のノードまたは更に他の第３のノードの正常な稼働を監視するよう設定され、以降このような監視の関係を順次形成して１つの閉ループ形態の論理的な監視ネットワークを構築し、その結果、該第１のノードも該第１のノード以外によって監視されるように各ノードの起動を管理する起動管理ステップ
と、
前記各ノードにおいて監視対象のノードの障害を検知し、該障害を検知したノードが、該監視対象のノードが提供していた機能及び、該監視対象のノードが監視していた他のノードの監視を代理して行う障害監視・代理ステップを、
実行させるプログラムを記録した該コンピュータが読み取り可能な記録媒体。
【請求項５２】
ネットワーク上の複数のノードが、他のノードが提供する機能を代理するノード代理方法を実現するプログラムを記録した記録媒体であって、
前記複数のノードの各ノードに、
前記各ノードの起動を管理する起動管理ステップであって、前記各ノード内に設定された情報に基づいて正常な稼働を監視する他のノードを決定し、前記各ノードが正常な稼働を監視する他のノードを決定することにより、前記複数のノードにおいて、第１のノードが他の第２のノードの正常な稼働を監視するよう設定され、該第２のノードが該第１のノードまたは更に他の第３のノードの正常な稼働を監視するよう設定され、以降このような監視の関係を順次形成して１つの閉ループ形態の論理的な監視ネットワークを構築し、その結果、該第１のノードも該第１のノード以外によって監視されるように各ノードの起動を管理する起動管理ステップを実行させ、
該複数のノードのうち１つをマスタノードとし、その他のノードの少なくとも１つをスレーブノードとして設定し、
前記マスタノードに、該マスタノードから該少なくとも１つのスレーブノードに対して資源を複製させ、該複製の間に、該マスタノードに、該スレーブノードの提供していた機能を代理して行わせる資源複製ステップを実行させる
プログラムを記録した該コンピュータが読み取り可能な記録媒体。
【請求項５３】
ネットワーク上の複数のノードが、他のノードの障害を監視するノード監視方法を実現するプログラムを記録した記録媒体であって、
前記複数のノードの各ノードに、
前記各ノードの起動を管理する起動管理ステップであって、前記各ノード内に設定された情報に基づいて正常な稼働を監視する他のノードを決定し、前記各ノードが正常な稼働を監視する他のノードを決定することにより、前記複数のノードにおいて、第１のノードが他の第２のノードの正常な稼働を監視するよう設定され、該第２のノードが該第１のノードまたは更に他の第３のノードの正常な稼働を監視するよう設定され、以降このような監視の関係を順次形成して１つの閉ループ形態の論理的な監視ネットワークを構築し、その結果、該第１のノードも該第１のノード以外によって監視されるように各ノードの起動を管理する起動管理ステップと、
監視対象のノードの障害を検知し、該監視対象のノードが監視していた他のノードの監視を代理して行う障害監視ステップを、
実行させるプログラムを記録した該コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のノードが接続されたネットワークにおいて、障害等により停止したノードの機能を代理するシステムに関し、より詳しくは、ネットワーク監視によって停止していることが検出されたノード、または指示によって停止されたノードの機能を自動的に代理するシステムに関する。
【０００２】
【従来の技術】
近年、コンピュータの急速な普及に伴い、多くの処理がコンピュータによって行われるようになってきている。こうしたコンピュータ化は、大量のデータ処理を効率的にするだけでなく、ネットワークを介して、多くの情報を世界中の様々な場所に向けて速く伝達できる。その結果、特にネットワークによってインターネットや社内ＬＡＮ等に接続されたコンピュータは、産業活動を始めとする多くの活動に関して、不可欠な存在となっている。
【０００３】
こうして、ネットワークやそのネットワークに接続されたコンピュータ・ノードの重要性が増大するにつれて、ネットワーク上で様々な機能を提供する該ノードの障害を早期に検知し、迅速に適切な対処を行うシステムの必要性が高まってきている。
【０００４】
ノードの監視を行う従来の監視装置は、監視対象のノードが固定的に設定されたものである。前記監視装置は、所定の間隔で監視対象のノード（１つまたは複数）に信号を送信し、該ノードがその信号に応答して前記監視装置に応答信号を返信してくることを確認することによって、該ノードが正常に稼働していることを判断する。この信号は一般にハートビート信号と呼ばれ、こうしたノードの確認は、通常ヘルスチェックまたはアライブチェックと呼ばれる。ヘルスチェックまたはアライブチェックは、前述した単純な方法のみでなく、必要に応じて、アプリケーション・レベル等の様々なレベルで行われ、ノードが提供する特定の機能が正常かどうかを確認することもできる。
【０００５】
また、前記監視装置は、監視専用の装置（ノード）として配置されることが多く、そのノード自体に障害が発生した場合は、該監視装置を監視している装置（ノード）はなく、当然ながら他のノード等に、該監視装置が停止したことを通知することはできない。
【０００６】
監視対象のノードに対しては、事前に待機系（バックアップ）のノードが準備されることが多く、監視対象のノードに障害が発生した時点で待機系のノードに完全に切り替えられるというハードウエア的な２重化方法がとられる。待機系のノードは、監視対象のノードの通常運用時、即ち運用系である監視対象のノードが正常に稼働している間は、待機系としての性格上、例えば、監視対象のノードの監視という処理以外は何も機能しないことが多く、そのために、その待機系ノードの資源や能力を充分に活用できていない。
【０００７】
また、現状ではネットワーク上に存在する複数のノードの状態を一元管理し、その運用を制御するには、制御手順、及びノード相互間における定義の設定が複雑であり、高価な専用システムを必要とする。
【０００８】
また更に、ネットワークを介して、例えば、不特定多数のユーザに、ある資源を提供する資源サーバとして機能するノードにおいては、その資源の内容（コンテンツ）を更新する必要がある場合に、該ノードが提供するサービスを一時的に停止せざるを得ない状況が生じていた。
【０００９】
【発明が解決しようとする課題】
前述の通り、従来の監視装置では、監視を行うノード自身は監視対象とならず、そのノードに障害が発生した場合に、その事実を他のノードに通知することができない。
【００１０】
更に、監視対象のノードを２重化するためには、そのノード専用の待機系（バックアップ）のノードが必要であり、監視対象のノードが正常に稼働している間は、待機系のノードの資源や能力が有効に活用されていない。
【００１１】
また、ネットワーク上に存在する複数のノードの状態を一元管理し、その運用を制御するには、制御手順、及びノード相互間における定義の設定が複雑であり、高価な専用システムが必要である。
【００１２】
更に、資源サーバとして機能するノードの資源の内容を更新する場合には、前記ノードが提供するサービスを一時的に停止せざるを得なかった。
そこで、本発明は、前記課題を解決するために、ネットワーク上の複数のノードのうち１つをマスタノード、残りの少なくとも１つをスレーブノードとして設定し、ノードの障害の検知、スケジュールの発生、または資源複製の依頼通知等による各種イベントの発生に応答して、該イベントにより停止したノードが提供していた機能を他のノードが代理し、または該イベントにより停止したノードが監視していたノードを他のノードが監視するように制御可能なシステムを提供することを目的とする。
【００１３】
さらに本発明は、制御用のノードを使用して、複数のノードの状態を一元管理し、その運用を制御するシステムを安価に提供することを目的とする。
【００１４】
【課題を解決するための手段】
上記本発明の課題を解決するための請求項１に記載のノード代理システムは、ネットワーク上の複数のノードがそれぞれ提供する機能を代理するノード代理システムにおいて、前記複数のノードにおいて、第１のノードが他の第２のノードの正常な稼働を監視するよう設定し、該第２のノードが該第１のノードまたは更に他の第３のノードの正常な稼働を監視するよう設定し、以降このような監視の関係を順次形成して１つの閉ループ形態の論理的な監視ネットワークを構築し、その結果、該第１のノードも該第１のノード以外によって監視されるように各ノードの起動を管理する起動管理手段と、前記各ノードにおいて監視対象のノードの障害を検知し、該障害を検知したノードが、該監視対象のノードが提供していた機能及び、該監視対象のノードが監視していた他のノードの監視を代理して行う障害監視・代理手段を有するように構成される。これによって、他のノードを有効に使用してノードの監視を行うことができ、あるノードに障害が生じても、そのノードの機能が動的に、そのノードを監視しているノードで代理されるため、システム資源を有効に活用しながら、システム全体の安全性を向上させることができる。
【００１５】
請求項９に記載のノード代理システムは、ネットワーク上の複数のノードがそれぞれ提供する機能を代理するノード代理システムにおいて、前記複数のノードにおいて、第１のノードが他の第２のノードの正常な稼働を監視するよう設定し、該第２のノードが該第１のノードまたは更に他の第３のノードの正常な稼働を監視するよう設定し、以降このような監視の関係を順次形成して１つの閉ループ形態の論理的な監視ネットワークを構築し、その結果、該第１のノードも該第１のノード以外によって監視されるように各ノードの起動を管理する起動管理手段と、該複数のノードのうち１つをマスタノードとし、その他のノードの少なくとも１つをスレーブノードとして設定し、該マスタノードから該少なくとも１つのスレーブノードに対して資源を複製させ、該複製の間に、該マスタノードに、該スレーブノードの提供していた機能を代理して行わせる資源複製手段を有するように構成される。これによって、ノードに資源の更新が必要になった場合でも、そのノードを停止させる必要がなく、資源の更新の間でも、利用ユーザに機能（サービス）を無停止で提供できる。
【００１６】
請求項２５に記載のノード監視システムは、ネットワーク上の複数のノードが、他のノードの障害を監視するノード監視システムにおいて、前記複数のノードにおいて、第１のノードが他の第２のノードの正常な稼働を監視するよう設定し、該第２のノードが該第１のノードまたは更に他の第３のノードの正常な稼働を監視するよう設定し、以降このような監視の関係を順次形成して１つの閉ループ形態の論理的な監視ネットワークを構築し、その結果、該第１のノードも該第１のノード以外によって監視されるように各ノードの起動を管理する起動管理手段と、前記各ノードにおいて監視対象のノードの障害を検知し、該障害を検知したノードが、該監視対象のノードが監視していた他のノードの監視を代理して行う障害監視手段を有するように構成される。これによって、システム内で運用されている全てのノードについて監視を行うことができ、信頼性の高い監視システムを構築することができる。
【００１７】
【発明の実施の形態】
以下に、本発明の実施の形態の例について、図面を参照して説明する。尚、各図において、同一または類似のものには同一の参照番号または、記号を付与して説明する。
【００１８】
図１は、本発明の実施例のノード代理システム１００のシステム構成を示すブロック図である。ノード代理システム１００は、マスタノード１１０、複数のスレーブノード１２０（スレーブノード１（１２０Ａ）、スレーブノード２（１２０Ｂ）、スレーブノード３（１２０Ｃ）．．．）、制御用ノード１３０、及びネットワーク１４０を含む。
【００１９】
なお、以降の説明においては、スレーブノードを一般的あるいは集合的に表現する場合には、スレーブノード１２０という用語を用い、個別のスレーブノードを特定して表現する場合には、スレーブノード１、スレーブノード２などの用語を用いることとする。
【００２０】
前記マスタノード１１０、複数のスレーブノード１２０及び制御用ノード１３０は、それぞれ前記ネットワーク１４０に接続されいる。ここでネットワーク１４０は、多くのユーザ・コンピュータ・ノードと接続可能なインターネット、社内ＬＡＮ、ＭＡＮ、ＷＡＮ等あらゆる形態や規模のネットワークを含むものである。
【００２１】
前記実施例のノード代理システム１００においては、ネットワーク１４０上の複数のノードのうち１つをマスタノード１１０、その他をスレーブノード１２０とする。以降の説明において単に「ノード」という場合には、マスタノード１１０及びスレーブノード１２０の両方を含む一般的な概念のノードを指すものとする。また、マスタノード１１０及びスレーブノード１２０とは別に、制御用ノード１３０を任意に設定することができる。ネットワーク１４０上の各ノードには、ネットワーク１４０上で各ノードを一意に識別するためのアドレスを有することができる。このうち、実アドレスは、ノード固有の各ハードウエアに対応するアドレスであり、仮想アドレスは、通常各ノードで提供される機能がネットワーク通信等の処理で使用する、一時的に設定可能な一意のアドレスである。ノード間でのデータ及び命令の送受信は、どちらのアドレスを用いても行うことができる。
【００２２】
本実施例では、上記実アドレス、仮想アドレスとして、それぞれ実ＩＰアドレス、仮想ＩＰアドレスが用いられているが、これは近年のインターネットの普及に伴い特に一般的となったＴＣＰ／ＩＰプロトコルにおいて用いられるＩＰアドレスを例示のために用いたに過ぎず、所定のネットワーク上で、あるプロトコルを使用することによって該ネットワークに接続されたノードを特定することができる限り、他の種類のアドレスについて応用することができる。
【００２３】
本実施例のマスタノード１１０は、処理部１１１及びマスタ用データ１１２を備える。処理部１１１は、起動管理機能１１１Ａ、障害監視・代理機能１１１Ｂ、及び資源複製機能１１１Ｃ等の各機能を有する。また、マスタ用データ１１２は、アドレス管理テーブル１１２Ａ、監視アドレスリスト１１２Ｂ、及びスケジュールテーブル１１２Ｃ等を含む。
【００２４】
前記起動管理機能１１１Ａは、マスタノード１１０の起動時に前記アドレス管理テーブル１１２Ａ内のアドレスを参照して、そのノードがマスタノードとして機能し、特定のアドレスのノードを監視するよう設定する。
【００２５】
前記障害監視・代理機能１１１Ｂは、マスタノード１１０が他のスレーブノード１２０の障害を検知した場合に、該障害によって停止したスレーブノード１２０が提供していた機能と、該スレーブノード１２０が監視すべきノードの監視を引き継いで実行する。
【００２６】
前記資源複製機能１１１Ｃは、資源複製を行う対象のスレーブノード１２０に資源複製依頼通知を送信し、該通知の受信により各スレーブノード１２０が停止すると、その各スレーブノード１２０が提供していた機能（サービス）及び他のノードの監視を他のスレーブノード１２０またはマスタノード１１０に代理させ、その間にマスタノード１１０で保持する最新の資源を各スレーブノード１２０に複製させる。
【００２７】
次に、マスタ用データ１１２内の各データについて説明する。アドレス管理テーブル１１２Ａは、各エントリが図２に示されるようなアドレス名とＩＰアドレスからなるテーブルである。アドレス名がマスタ仮想ＩＰアドレスのエントリに対応するＩＰアドレスは例えば、１７２．１６．０．１であり、これは、マスタノード１１０として機能するために使用されるアドレスである。アドレス名がノード１実ＩＰアドレスのエントリに対応するＩＰアドレスは例えば、１７２．１６．１．１であり、アドレス名がノード１仮想ＩＰアドレスのエントリに対応するＩＰアドレスは例えば、１７２．１６．２．１である。これらのＩＰアドレスは、あるノード（例えば、マスタノード１１０）の実ＩＰアドレスと仮想ＩＰアドレスである。  アドレス名がノード２実ＩＰアドレスのエントリに対応するＩＰアドレスは例えば、１７２．１６．１．２であり、アドレス名がノード２仮想ＩＰアドレスに対応するエントリのＩＰアドレスは例えば、１７２．１６．２．２である。これらのＩＰアドレスは、別のノード（例えば、スレーブノード１２０の１つであるスレーブノード１）の実ＩＰアドレスと仮想ＩＰアドレスであり、以降のエントリに、同様に、各ノードに割り当てられた実ＩＰアドレスと仮想ＩＰアドレスの組が設定されている。
【００２８】
監視アドレスリスト１１２Ｂは、そのノード（ここではマスタノード１１０）が監視する実ＩＰアドレスを格納する。通常は、前記アドレス管理テーブル１１２Ａ上のマスタノード１１０の仮想ＩＰアドレス（ノード１仮想ＩＰアドレス）が設定されたエントリの次のエントリの実ＩＰアドレス、即ちスレーブノード１のノード実ＩＰアドレスが含まれているが、その監視対象の実ＩＰアドレスに障害が発生した場合は、その障害の発生したノードが監視すべきノードの実ＩＰアドレスもこのリストに含まれるようになる。
【００２９】
スケジュールテーブル１１２Ｃは、後述する制御用ノード１３０のスケジュール指定機能１３１Ｂによって指定されたスケジュールをノード毎に記憶する。このスケジュールは、いつ、どのノードにどのような作業を行わせるかを定義するものである。このテーブル１１２Ｃは、事前に指定されて、マスタノード１１０内、制御用ノード１３０内、またはその他の適当な場所に格納されていてもよい。
【００３０】
本実施例のスレーブノード１２０は、処理部１２１及びスレーブ用データ１２２を備える。処理部１２１は、起動管理機能１２１Ａ、障害監視・代理機能１２１Ｂ、及び資源複製機能１２１Ｃ等の各機能を含む。また、スレーブ用データ１２２は、アドレス管理テーブル１２２Ａ、及び監視アドレスリスト１２２Ｂを含む。
【００３１】
図１に示すように、スレーブノード１２０はスレーブノード１（１２０Ａ）以外に、複数設定することができるが（例えば、スレーブノード２（１２０Ｂ）、スレーブノード３（１２０Ｃ）．．．）、これらの構成はスレーブノード１（１２０Ａ）について示するものと同様である。以下では、スレーブノード１（１２０Ａ）について説明する。
【００３２】
前記起動管理機能１２１Ａは、スレーブノード１２０の起動時にマスタノード１１０内のアドレス管理テーブル１１２Ａを取得・参照し、または自身のノード内のアドレス管理テーブル１２２Ａを参照し、そのノードがスレーブノード１２０として機能し、特定のアドレスのノードを監視するよう設定する。この時、マスタノード１１０のアドレス管理テーブル１１２Ａを取得・参照した場合、この内容はスレーブノード１２０内のアドレス管理テーブル１２２Ａとして保存される。
【００３３】
前記障害監視・代理機能１２１Ｂは、他のノードの障害を検知した場合に、障害によって停止したノードが提供していた機能と、該ノードが監視すべきノードの監視を引き継いで実行する。停止したノードがマスタノード１１０である場合は、そのスレーブノード１２０はマスタノード１１０としても機能するよう設定される。
【００３４】
前記資源複製機能１２１Ｃは、マスタノード１１０から資源複製依頼通知を受信すると、自身のノードを停止させる。そして、自己の資源を、マスタノード１１０から受信する資源に更新した後、マスタノード１１０によって代理されていた自身のノードが提供すべき機能を再開させる。
【００３５】
次に、スレーブ用データ１２２内の各データについて説明する。アドレス管理テーブル１２２Ａは、前述のように、マスタノード１１０のマスタ用データ１１２内のアドレス管理テーブル１１２Ａからコピーされたものであり、前記テーブル１１２Ａと同じ内容、及び構成を有する。
【００３６】
監視アドレスリスト１２２Ｂは、そのノード（ここではスレーブノード１２０）が監視するノードの実ＩＰアドレスを格納する。通常は、前記アドレス管理テーブル（１１２Ａまたは１２２Ａ）の該ノードの仮想ＩＰアドレス（例えば、ノード２仮想ＩＰアドレス）が設定されたエントリの次のエントリの実ＩＰアドレス（例えば、ノード３実ＩＰアドレス）が含まれているが、その監視対象のノードに障害が発生した場合は、その障害の発生したノードが監視すべきノードの実ＩＰアドレスもこのリストに含まれるようになる。
【００３７】
次に、本実施例の制御用ノード１３０について説明する。制御用ノード１３０は、処理部１３１、表示部１３２、及び入力部１３３を備える。処理部１３１は、資源複製指示機能１３１Ａ、スケジュール指定機能１３１Ｂ、ノード設定機能１３１Ｃ、及びノード状態表示・制御機能１３１Ｄ等の機能を含んでいる。
【００３８】
資源複製指示機能１３１Ａは、所望の資源をマスタノード１１０からスレーブノード１２０に複製させるために、制御用ノード１３０の表示部１３２に資源複製指示画面を表示させ、該画面を介して、システム管理者などのユーザが、入力部１３３から、マスタノード１１０に対し、指定されたスレーブノード１２０に対する資源複製処理を実行するように指示することを可能とするためのインタフェースを提供する。資源複製指示機能１３１Ａは該ユーザからの指示に従い、前述のマスタノード１１０の資源複製機能１１１Ｃ、及びスレーブノード１２０の資源複製機能１２１Ｃを起動させて資源の複製を行わせる。
【００３９】
スケジュール指定機能１３１Ｂは、システム管理者などのユーザが、いつ、どのノードにどのような作業を行わせるかといったスケジュールを入力するための指定画面を、制御用ノード１３０の表示部１３２に表示させ、該指定画面を介して、該ユーザが入力部１３３から上記スケジュールを入力できるためのインタフェース機能を提供する。スケジュール指定機能１３１Ｂは、該インタフェースを介して該ユーザにより設定されたスケジュールを、ネットワーク１４０を介してマスタノード１１０のスケジュールテーブル１１２Ｃに記憶させ、マスタノード１１０に対し、該スケジュールに従って、指定された時刻に、指定された作業を指定されたノードに実行させる。
【００４０】
ノード設定機能１３１Ｃは、システム管理者などのユーザが、各ノードに対して、そのノードをマスタノード１１０として設定するかどうかや、そのノードの実ＩＰアドレス、仮想ＩＰアドレス（マスタ仮想ＩＰアドレス、ノード仮想ＩＰアドレス）、及び監視対象の実ＩＰアドレス等を設定するために用いられるノード設定画面を、制御用ノード１３０の表示部１３２に表示させ、該ユーザが、該ノード設定画面に対して、入力部１３３から上記設定情報を入力できるためのインタフェースを提供する。該ユーザにより設定された内容は、マスタノード１１０のアドレス管理テーブル１１２Ａ等に反映される。
【００４１】
ノード状態表示・制御機能１３１Ｄは、各ノードが正常に運用されているか、または代理運用されているかといった状態を表示部１３２に表示し、その表示画面を介して各ノードを停止させるなどの変更を可能とする。ノード状態表示・制御機能１３１Ｄは、制御用ノード１３０の表示部１３２にノード状態表示・制御画面を表示し、システム管理者などのユーザがその画面を介して、入力部１３３から入力した指定情報に従って、各ノードの運用をマスタノード１１０等を介して制御する。
【００４２】
表示部１３２は通常、ＣＲＴディスプレイなどの表示装置であり、入力部１３３は、前記表示部１３２上の表示画面に対して指示を行うためのキーボードやマウスなどの入力装置である。
【００４３】
次に、図３〜図１２を用いて、本実施例をより詳細に説明する。
図３には、本実施例による監視が行われている態様が概念的に示されている。まず、ノード１をマスタノード１１０と定義し、ノード２〜ノード６はそれぞれスレーブノード１〜スレーブノード５と定義する。この例では、ノード１はノード２を監視し、ノード２はノード３を監視し、ノード３はノード４を監視し、以降同様に次のノードを監視するように設定されている。これは、前述のアドレス管理テーブル１１２Ａ、１２２Ａにおいて、各ノードの仮想ＩＰアドレスが設定されたエントリの次のエントリの実ＩＰアドレスを有するノードを監視する（ただし、最後のエントリのノードはアドレス管理テーブル１１２Ａ、１２２Ａの先頭のエントリ（マスタ仮想ＩＰアドレス）の次のエントリの実ＩＰアドレスを有するノードを監視する）という規則に従うようになっている。
【００４４】
図３においては、ノード１〜ノード６は、各ノードの監視の方向を示した実線の矢印で接続され、一見、各ノードが全体としてリング状に接続されているように見えるが、これはあくまでも監視状態を表す論理的接続形態であって、各ノードがリング型のＬＡＮで物理的に接続されていることを表しているわけではないことに注意すべきである。各ノードは、リング型、スター型、バス型、及びその他の任意のトポロジーのネットワーク接続形態で接続されうる。また、監視は、監視対象のノードの実ＩＰアドレスを用いて行われるので、ノード間を接続する形態や経路には関係ない。
【００４５】
図４は、マスタノード１１０及びスレーブノード１２０の起動管理機能１１１Ａ、１２１Ａの処理フローを示すものである。マスタノード１１０及びスレーブノード１２０は、電源投入時または再起動時に、自身のノードがマスタノード１１０として設定されているか、またはスレーブノード１２０として設定されているかを判定する（ステップＳ１０１）。これは、各ノードの記憶装置内に、自身のノードがマスタノード１１０であることを示すマスタ識別情報があるかどうかを判断することによって、またはデータサーバ等の共有記憶域内等に記憶された、マスタノード１１０がどのノードであるかを示すマスタ識別情報に基づいて判断することなどによって行われる。この情報（不図示）は、前述のように、制御用ノード１３０のノード設定機能１３１Ｃによって設定される。
【００４６】
電源投入または再起動されたノードがマスタノード１１０かどうか判定され、マスタノード１１０であった場合（ステップＳ１０１、Ｙｅｓ）、マスタノード立ち上げ処理に進む（ステップＳ１０２）。マスタノード立ち上げ処理においては、基本的に通常の立ち上げ処理（ＯＳの起動やネットワークインタフェースボードのイニシャライズ等）が行われる。次に、ステップＳ１０３に進み、仮想ＩＰアドレス処理を行う。この処理は、マスタノード１１０に関するアドレス設定を行うものであり、詳細については、図５を用いて後で説明する。この処理が終わると、そのノードが通常行う処理の実行を開始する（ステップＳ１０４）。
【００４７】
ノードがスレーブノード１２０である場合（ステップＳ１０１、Ｎｏ）、スレーブノード立ち上げ処理に進む（ステップＳ１０５）。スレーブノード立ち上げ処理においては、基本的に通常の立ち上げ処理（ＯＳの起動やネットワークインタフェースボードのイニシャライズ等）が行われる。次に、ステップＳ１０６に進み、仮想ＩＰアドレス処理を行う。この処理は、スレーブノード１２０に関するアドレス設定を行うものであり、詳細については、図５を用いて後で説明する。この処理が終わると、そのノードが通常行う処理の実行を開始する（ステップＳ１０７）。
【００４８】
ステップＳ１０４及びステップＳ１０７における通常処理は、ノードのシャットダウン等により終了する。
図５には、図４のマスタノード１１０の仮想ＩＰアドレス処理（ステップＳ１０３）、及びスレーブノード１２０の仮想ＩＰアドレス処理（ステップＳ１０６）に関する詳細なフローが示されている。最初に、ステップＳ２０１で、ノードがマスタノード１１０かスレーブノード１２０かの判断が行われる。
【００４９】
ノードがスレーブノード１２０であると判断された場合（ステップＳ２０１、Ｎｏ）、ステップＳ２０２において、マスタノード１１０のアドレス管理テーブル１１２Ａから、自身のノードの実ＩＰアドレスに対応する仮想ＩＰアドレスを取得する。ここでは説明を簡単にするために、ステップＳ２０２が処理される時点でマスタノード１１０が有効に稼働していることを前提としている。この時点でマスタノード１１０が存在しないか、または正常に稼働していない場合は、マスタノード１１０が稼働していないことを他のノードに通知したり、マスタノード１１０の稼働を待ったり、または他のいずれかのノードでマスタノード１１０を稼働させるなど、必要に応じた対処を行うことができる。また、マスタノード１１０が稼働していないことによって、マスタノード１１０に接続されたアドレス管理テーブル１１２Ａを参照する事もできなくなるが、このような場合には、スレーブノード１２０のアドレス管理テーブル１２２Ａを使用することができる。  その後、ステップＳ２０３において、その仮想ＩＰアドレス宛に確認パケットを送信する。次に、そのパケットに対する応答の有無が判定され（ステップＳ２０４）、該パケットに対する応答があった場合（ステップＳ２０４、Ｙｅｓ）、その仮想ＩＰアドレスは既に他のノードで使用されていることになり、当該ノードでの使用はできない。その場合、処理はステップＳ２０５に進み、この事象を通知するような所定のエラー処理を行う。このエラー処理については、様々な態様が考えられるが、詳細な説明は省略する。
【００５０】
上記パケットに対する応答がない場合（ステップＳ２０５、Ｎｏ）、その仮想ＩＰアドレスは他のノードで使用されていないことを示し、従って、ステップＳ２０６で前記仮想ＩＰアドレスを有効にする。この仮想ＩＰアドレスを有効にすることによって、当該ノードにネットワーク１４０等を介して接続された他のノードは、当該ノードに対し、この仮想ＩＰアドレスを使用してアクセスする事ができる。逆に、当該ノードにおいて、この仮想ＩＰアドレスを無効にすれば、他のノードが、その仮想ＩＰアドレスを使用することができ、もはや、その仮想ＩＰアドレスを使用しては、当該ノードにアクセスする事ができない。
【００５１】
次に、アドレス管理テーブル１１２Ａから監視対象のノードの実ＩＰアドレスを取得し（ステップＳ２０７）、その実ＩＰアドレスが正常に稼働しているかどうかをヘルスチェックにより確認する（ステップＳ２０８）。こうしたヘルスチェックは、図４の通常処理（ステップＳ１０７）に進んでも、所定の間隔で行われる。
【００５２】
この時点での監視対象は、前記アドレス管理テーブル１１２Ａにおいて、各ノードに対応する仮想ＩＰアドレスが設定されたエントリの次のエントリに設定された実ＩＰアドレスを有するノードである。ここでスレーブノード１２０はノード２からノード６であるとしているので、図２に示すアドレス管理テーブル１１２Ａの例では、ノード２がノード３実ＩＰアドレス有するノードを、ノード３がノード４実ＩＰアドレスを有するノード監視し、以降同様に監視対象が決定され、最後にノード６はノード１実ＩＰアドレスを有するノード（即ちマスタノード１１０）の監視を行うことになる。
【００５３】
ノードがマスタノード１１０であると判断された場合（ステップＳ２０１、Ｙｅｓ）、ステップＳ２０９において、マスタノード１１０のアドレス管理テーブル１１２Ａから、自身のノードの実ＩＰアドレスに対応する仮想ＩＰアドレスとマスタ仮想ＩＰアドレスを取得する。
【００５４】
次に、ステップＳ２１０において、その自身のノードの実ＩＰアドレスに対応する仮想ＩＰアドレスとマスタ仮想ＩＰアドレス宛に確認パケットを送信する。次に、それらのパケットに対する応答の有無が判定され（ステップＳ２１１）、いずれかの仮想ＩＰアドレスへのパケットに対して応答があった場合（ステップＳ２１１、Ｙｅｓ）、その仮想ＩＰアドレスは既に他のノードで使用されていることになり、当該ノードでの使用はできない。その場合、処理はステップＳ２１２に進み、ステップＳ２０４と同様の所定のエラー処理を行う。このエラー処理については、詳細な説明を省略する。
【００５５】
前記両パケットに対する応答がない場合（ステップＳ２１１、Ｙｅｓ）、それらの仮想ＩＰアドレスは他のノードで使用されていないことを示し、従って、ステップＳ２１３で前記マスタ仮想ＩＰアドレスを有効にし、ステップＳ２１４で前記仮想ＩＰアドレスを有効にする。これらの仮想ＩＰアドレスを有効にすることによって、当該ノードにネットワーク１４０等を介して接続された他のノードは、当該ノードに対し、これらの仮想ＩＰアドレスを使用してアクセスする事ができる。逆に、当該ノードにおいて、これらの仮想ＩＰアドレスを無効にすれば、他のノードが、それらの仮想ＩＰアドレスを使用することができ、もはや、それらの仮想ＩＰアドレスを使用しては、当該ノードにアクセスする事ができない。
【００５６】
次に、アドレス管理テーブル１１２Ａから監視対象のノードの実ＩＰアドレスを取得し（ステップＳ２１５）、その実ＩＰアドレスが有効であるかどうかをヘルスチェックにより確認する（ステップＳ２１６）。こうしたヘルスチェックは、図４の通常処理（ステップＳ１０４）に進んでも、所定の間隔で行われる。
【００５７】
この時点での監視対象のノードは、前記アドレス管理テーブル１１２Ａにおいて、当該ノードの仮想ＩＰアドレスが設定されているエントリの次のエントリの実ＩＰアドレスを有するノードである。ここではマスタノード１１０をノード１としているので、図２に示すアドレス管理テーブル１１２Ａの例では、マスタノード１１０は、ノード２実アドレスを有するノード（ノード２）の監視を行うことになる。
【００５８】
図５に示す処理がネットワーク１４０上の各ノードについて行われ、図４の通常処理（ステップＳ１０４、ステップＳ１０７）に戻ると、本実施例の正常稼働状態となる。各ノードは、それぞれの監視対象ノードの実ＩＰアドレスに対して定期的にヘルスチェックを行い、各ノードの障害やその他の異常を監視する。
【００５９】
次に、図６を参照して障害時の処理フローを説明する。このフローは、各ノードの障害等を検知した際に起動されるプロセスのフローを示すものであり、処理を完了した時点でプロセスを終了する。
【００６０】
障害発生の第１のパターンは、スレーブノード１２０に障害が発生した場合の例である。ここでは、ノード３が障害になり、その後さらにノード４も障害になり、その後ノード４が障害のままノード３の障害が復旧する場合を考える。
【００６１】
ノード３で障害が発生すると、ノード３を監視していたノード２が、その異常を検知する（ステップＳ３０１）。そこでノード２は、マスタノード１１０のアドレス管理テーブル１１２Ａから、ノード３に対応する仮想ＩＰアドレス（ノード３仮想ＩＰアドレス）を取得する（ステップＳ３０２）。次に、ノード２において、障害の発生したノード３の仮想ＩＰアドレスを有効にする（ステップＳ３０３）。これによって、ノード２は、本来ノード３が提供していた機能を代理して行うことができるようになる。
【００６２】
次に、ノード２は、自身のアドレス管理テーブル１２２Ａまたはマスタノード１１０のアドレス管理テーブル１１２Ａから、ノード３が監視していたノード４の実ＩＰアドレス（即ち、アドレス管理テーブル１１２Ａにおいて、ノード３仮想ＩＰアドレスが設定されているエントリの次のエントリのノード４実ＩＰアドレス）を取得し（ステップＳ３０４）、その実ＩＰアドレスをノード２の監視アドレスリスト１２２Ｂに加える（ステップＳ３０５）。これによって、ノード２は、ノード３が本来監視すべきノード４の障害も監視することになり、これ以降ノード３が復旧するまで、ノード４実ＩＰアドレス（ノード４）に対し所定の間隔でハートビート信号を送信する。
【００６３】
ノード２は次に、ステップＳ３０６に進み、監視対象のノードの中で、最もノード２から遠いノード、即ちここではノード４の実ＩＰアドレス（ノード４実ＩＰアドレス）がハートビート信号に応答するかどうか判定する。「最もノード２から遠いノード」というのは、前記アドレス管理テーブル１１２Ａでの配列において、ノード２が監視しているノードのうち、ノード２実ＩＰアドレスが設定されているエントリから最も遠いエントリに実ＩＰアドレスが設定されているノードと言う意味であり、換言するならば、図３に示す論理ネットワークにおいて、監視方向の最後に位置する監視対象ノードである。この時点でノード２はノード３とノード４を監視しており、図２または図３から理解されるように、ノード２から最も遠いのはノード４である。
【００６４】
なお、ノード２がマスタノード１１０（ノード１）及び他のスレーブノード１２０（ノード３〜６）の監視を行うとした場合、図３から容易に理解されるように、最も遠いノードはノード１である。
【００６５】
ステップＳ３０６でノード４実ＩＰアドレスがハートビート信号に応答する場合（ステップＳ３０６、Ｙｅｓ）、即ちノード４が正常に稼働している場合、その他の監視対象のノードの実ＩＰアドレス（ここではノード３実ＩＰアドレス）がハートビート信号に応答するか判定する（ステップＳ３０７）。応答がない場合（ステップＳ３０７、Ｎｏ）、即ち依然としてノード３に障害が生じている場合、ステップＳ３０６の判定に戻り、また次にステップＳ３０７の判定を行い、監視対象のノードの状況が変わらない限り、これら２つの判定を繰り返す。
【００６６】
この状況で、ノード４に障害が発生すると、このことがステップＳ３０６で検知され（ステップＳ３０６、Ｎｏ）、ステップＳ３０１に進み、前述と同様に、ノード４の代理を行うための設定がなされる。ノード２は、ステップＳ３０２で、自身のアドレス管理テーブル１２２Ａまたはマスタノード１１０のアドレス管理テーブル１１２Ａから、ノード４に対応する仮想ＩＰアドレス（ノード４仮想ＩＰアドレス）を取得する。次に、ノード２において、障害の発生したノード４の仮想ＩＰアドレスを有効にする（ステップＳ３０３）。これによって、ノード２は、ノード３の機能に加えて、本来ノード４が提供していた機能を代理して行うことができるようになる。
【００６７】
次に、ノード２は、マスタノード１１０のアドレス管理テーブル１１２Ａから、ノード４が監視していたノード５の実ＩＰアドレス（即ち、アドレス管理テーブル１１２Ａにおいて、ノード４仮想ＩＰアドレスが設定されているエントリの次のエントリのノード５実ＩＰアドレス）を取得し（ステップＳ３０４）、その実ＩＰアドレスをノード２の監視アドレスリスト１２２Ｂに加える（ステップＳ３０５）。これによって、ノード２は、ノード３が本来監視すべきノード４の障害の監視に加え、ノード４が本来監視すべきノード５の障害も監視することになり、これ以降、ノード３及びノード４の両方が障害の間、ノード３実ＩＰアドレス（ノード３）、ノード４実ＩＰアドレス（ノード４）及びノード５実ＩＰアドレス（ノード５）に対し所定の間隔でハートビート信号を送信する。
【００６８】
ノード２は次に、ステップＳ３０６に進み、監視対象のノードの中で、最もノード２から遠いノード、即ちここではノード５の実ＩＰアドレス（ノード５実ＩＰアドレス）がハートビート信号に応答するかどうか判定する。「最もノード２から遠い」という意味は前述した通りである。
【００６９】
ステップＳ３０６でノード５実ＩＰアドレスがハートビート信号に応答する場合（ステップＳ３０６、Ｙｅｓ）、即ちノード５が正常に稼働している場合、その他の監視対象のノードの実ＩＰアドレス（ここではノード３実ＩＰアドレスとノード４実ＩＰアドレス）がハートビート信号に応答するか判定する（ステップＳ３０７）。応答がない場合（ステップＳ３０７、Ｎｏ）、即ち依然としてノード３及びノード４の両方に障害が生じている場合、ステップＳ３０６の判定に戻り、また次にステップＳ３０７の判定を行い、監視対象のノードの状況が変わらない限り、この２つの判定を繰り返す。
【００７０】
次に、ノード３及びノード４の両方が障害である状態から、ノード３が復旧し、正常に稼働するようになった場合を考える。ノード３が正常な稼働を開始すると、ノード３実ＩＰアドレスが有効になり、ノード２は、前記ステップＳ３０７の判定において、そのことを検知する（ステップＳ３０７、Ｙｅｓ）。その後、ノード２は、有効にしている仮想ＩＰアドレスのうち、応答があったノード３及び、ノード３より遠いノードの機能を代理しているノードの仮想ＩＰアドレス（即ち、ここではノード３仮想ＩＰアドレスとノード４仮想ＩＰアドレス）を無効にして、ノード３とノード４の機能の代理を終了する（ステップＳ３０８）。さらに、監視アドレスリスト１２２Ｂから、応答があったノード３より遠いノードの実ＩＰアドレス、即ちノード４の実ＩＰアドレス（ノード４実ＩＰアドレス）とノード５の実ＩＰアドレス（ノード５実ＩＰアドレス）を削除し（ステップＳ３０９）、ノード２が、これらのノードの監視を行わないようにする。
【００７１】
ステップＳ３０８とステップＳ３０９の処理は、ここでは、ノード３の復旧によって、依然として障害中のノード４の機能の代理とノード４が監視すべきノード５の監視をアドレス管理テーブル１１２Ａにおいてより近いノード３に任せてしまおうと言うものである。ノード３は障害から復旧して起動されると、図５に関して説明したように、自身のアドレス管理テーブル１２２Ａまたはマスタノード１１０のアドレス管理テーブル１１２Ａから自身のノードの実ＩＰアドレスに対応する仮想ＩＰアドレス（ノード３仮想ＩＰアドレス）と監視対象のノードの実ＩＰアドレス（ノード４実ＩＰアドレス）を取得し、すぐに、ノード４が障害であることを検知し、図６に示す前述の代理処理のプロセスを開始する。
【００７２】
その後ノード２は、ステップＳ３１０において、監視対象の実ＩＰアドレスが１つになったか（監視対象のノードが１つになったか）、即ちノード２が本来の正常状態に戻ったかを判定し、１つでなければ（ステップＳ３１０、Ｎｏ）ステップＳ３０６の判定に戻り、１つであれば（ステップＳ３１０、Ｙｅｓ）当該プロセスを終了し、通常のノード監視に戻る。
【００７３】
障害発生の第２のパターンは、マスタノード１１０に障害が発生した場合の例である。ここでは、ノード１が障害になり、その後ノード１の障害が復旧する場合を考える。ノード１で障害が発生すると、ノード１を監視していたスレーブノード１２０のノード６が、その異常を検知する（ステップＳ３０１）。そこでノード６は、ノード６のアドレス管理テーブル１２２Ａから、ノード１に対応する仮想ＩＰアドレス（ノード１仮想ＩＰアドレス）及びマスタ仮想ＩＰアドレスを取得する（ステップＳ３０２）。次に、ノード６において、障害の発生したノード１の仮想ＩＰアドレス及びマスタ仮想ＩＰアドレスを有効にする（ステップＳ３０３）。この時、これらの仮想ＩＰアドレスが既に使用されているようなことがあれば、所定のエラー処理を行うように設定できる。これによって、ノード６は、本来ノード１が提供していた機能とマスタノード１１０としての機能を代理して行うことができるようになる。
【００７４】
次に、ノード６は、ノード６のアドレス管理テーブル１２２Ａから、ノード１が監視していたノード２の実ＩＰアドレス（即ち、アドレス管理テーブル１２２Ａにおいて、ノード１仮想ＩＰアドレスが設定されているエントリの次のエントリのノード２実ＩＰアドレス）を取得し（ステップＳ３０４）、その実ＩＰアドレスをノード６の監視アドレスリスト１２２Ｂに加える（ステップＳ３０５）。これによって、ノード６は、ノード１が本来監視すべきノード２の障害も監視することになり、これ以降ノード１が復旧するまで、ノード２実ＩＰアドレス（ノード２）に対し所定の間隔でハートビート信号を送信する。
【００７５】
ノード６は次に、ステップＳ３０６に進み、ノード２実ＩＰアドレスがハートビート信号に応答するかどうか判定する。ステップＳ３０６でノード２実ＩＰアドレスがハートビート信号に応答する場合（ステップＳ３０６、Ｙｅｓ）、即ちノード２が正常に稼働している場合、その他の監視対象のノードの実ＩＰアドレス（ここではノード１実ＩＰアドレス）がハートビート信号に応答するか判定する（ステップＳ３０７）。応答がない場合（ステップＳ３０７、Ｎｏ）、即ち依然としてノード１に障害が生じている場合、ステップＳ３０６の判定に戻り、また次にステップＳ３０７の判定を行い、監視対象のノードの状況が変わらない限り、この２つの判定を繰り返す。
【００７６】
この状況で、ノード１の障害が復旧して正常な稼働を開始すると、ノード１実ＩＰアドレスが有効になり、ノード６は、前記ステップＳ３０７の判定において、そのことを検知する（ステップＳ３０７、Ｙｅｓ）。その後、ノード６は、有効にしている仮想ＩＰアドレスのうち、応答があったノード１の仮想ＩＰアドレスとマスタ仮想ＩＰアドレスを無効にして、ノード１とマスタノード１１０の機能の代理を終了する（ステップＳ３０８）。さらに、監視アドレスリスト１２２Ｂから、応答があったノード１より遠い監視対象のノードの実ＩＰアドレス、即ちノード２の実ＩＰアドレス（ノード２実ＩＰアドレス）を削除し（ステップＳ３０９）、ノード６が、このノード２の監視を行わないようにする。
【００７７】
ノード１は、障害から復旧して起動されると、図５に関して説明したように、自身のアドレス管理テーブル１１２Ａから自身のノードの実ＩＰアドレスに対応する仮想ＩＰアドレス（ノード１仮想ＩＰアドレス）、マスタ仮想ＩＰアドレス、及び監視対象のノード２の実ＩＰアドレス（ノード２実ＩＰアドレス）を取得し、自身のノードに対応する仮想ＩＰアドレスに対する確認パケットに応答がないことを確認してから、前記仮想ＩＰアドレス及びマスタ仮想ＩＰアドレスを有効にし、マスタノード１１０として稼働する。
【００７８】
更に本実施例では、ネットワーク１４０上の複数のノードに対し、制御用ノード１３０を使用して、ノード間における資源複製を行うことができる。この実施例において、該制御用ノード１３０は、１つのマスタノード１１０に対してのみ、その指示を与えることができる。マスタノード１１０から各スレーブノード１２０に対してある資源が複製される際に、各スレーブノード１２０の提供する機能を停止させないために、マスタノード１１０がそれらの処理を強制的に代理して行う。これによりユーザは、各スレーブノード１２０において提供される機能を、該各スレーブノード１２０が資源を複製している間も連続的に使用することができる。
【００７９】
図７及び図８を参照して、上記資源複製処理のフローを説明する。マスタノード１１０をノード１とし、ノード１には複製用の最新の資源（コンテンツ）が用意されているものとする。このとき、ノード１で実際に運用されている資源と、前記最新の資源は別のものであるとする。
【００８０】
まず最初に図７を参照すると、マスタノード１１０であるノード１において、スレーブノード１２０のノード２からノード６までに関して、ステップＳ４０１からステップＳ４０４の一連の処理が同様に行われる。ステップＳ４０１では、マスタノード１１０からスレーブノード１２０に資源複製依頼通知が送信される。ここで図８を参照すると、各スレーブノード１２０は、これを受信し（ステップＳ５０１）、自身のノードの仮想ＩＰアドレスを無効化する（ステップＳ５０２）。次に、各スレーブノード１２０は、前記仮想ＩＰアドレスの無効化が終了したことをマスタノード１１０に通知する（ステップＳ５０３）。
【００８１】
再び図７に戻ると、マスタノード１１０がその通知を受信する（ステップＳ４０２）。その後、マスタノード１１０は、該通知を送信してきたスレーブノード１２０の仮想ＩＰアドレスを有効にし（ステップＳ４０３）、そのスレーブノード１２０の機能を代理する。次に、そのスレーブノード１２０に対して最新の資源の複製処理を行う（ステップＳ４０４）。この資源は、各スレーブノード１２０が提供する機能に関して使用される情報などである。
【００８２】
全てのスレーブノード１２０に対する複製処理が終了すると、ステップＳ４０５において、全スレーブノード１２０の機能の代理を終了するために、全スレーブノード１２０の仮想ＩＰアドレスを無効化する（ステップＳ４０５）。
【００８３】
ここで図８を参照すると、各スレーブノード１２０では、ステップＳ５０４で最新の資源が複製された後、ステップＳ５０５で、自身の仮想ＩＰアドレスが無効でないと判別している間（ステップＳ５０５、Ｎｏ）ループし、無効であると判別した時点で（ステップＳ５０５、Ｙｅｓ）、ステップＳ５０６に進む。ステップＳ５０６では、各スレーブノード１２０が自身の仮想ＩＰアドレスを有効にし、最新の資源で正常運用が開始される（ステップＳ５０７）。
【００８４】
この実施例では、全てのスレーブノード１２０において複製が終了した時点で、マスタノード１１０による全てのスレーブノード１２０の機能の代理が解除され、全てのスレーブノード１２０による最新の資源による機能の提供（及び前述のノード監視）がほぼ同時に行われることになり、利用者ユーザに対して提供する機能（サービス）の更新は、全ユーザに対し、ほぼ同時に均等に提供されるという効果（利点）が得られるが、ノード監視のタイミング等を好適に制御して、最新の資源の複製が終了したスレーブノード１２０から機能の提供を開始するように設定することもできる。
【００８５】
例えば、スレーブノード１２０の資源の複製を、順次１つのスレーブノード１２０毎に行うように設定することができる。この場合、図６に関して説明したような代理処理が実施され、資源の複製を行っているスレーブノード１２０の提供する機能（サービス）及び他のノードの監視は、停止することなく他のスレーブノード１２０等によって代理される。このことから分かるように、図６の代理処理で検知される異常は、ここでは資源の複製によるスレーブノード１２０の停止を意味する。また更に、スレーブノード１２０の保守等に関して該スレーブノード１２０を停止（運転休止）させる場合なども、当該処理にて検知することができ、厳密なノードの「異常」という事象のみにこうした検知処理を限定すべきではない。
【００８６】
また、こうした複製処理の間は各スレーブノード１２０の提供する機能の代理は行うが、他のノードの監視の代理は行わないといった方法も、マルチタスク処理等を用いて可能である。この場合、例えば、複数処理を行っているスレーブノード１２０は、資源の複製を行っている間も、本来の監視機能を続行する。
【００８７】
また、スレーブノード１２０に資源の複製を、順次１つのスレーブノード１２０毎に行う場合、その複製の順を監視する方向順に設定することもできる。例えば、図３のノード２の資源の複製を行い、その後ノード３の資源の複製を行い、順に１つずつのスレーブノード１２０の資源の複製を行い、最後にノード６の資源の複製を行って終了するといった方法をとることができる。
【００８８】
また、更にこれらの複製は、スレーブノード１２０全てではないが、２つ以上のスレーブノード１２０を同時に停止させて行うこともできる。
再度図７に戻ると、今度は、マスタノード１１０自身が最新の資源複製を行うために、自身のノードの仮想ＩＰアドレスとマスタ仮想ＩＰアドレスを無効化し、ノード６にそれらの仮想ＩＰアドレスを有効にさせて、ノード６にマスタノード１１０及びノード１の提供する機能の代理を依頼する（ステップＳ４０６）。この例ではマスタノード１１０及びノード１の提供する機能の代理を固定的にノード６にさせているが、他のスレーブノード１２０でもよく、また代理を行う時点で最も負荷の小さいスレーブノード１２０に自動的に代理させることもできる。
【００８９】
次に、自身のマスタノード１１０内で最新の資源を運用資源に複製し（ステップＳ４０７）、ノード６に自身のノードの仮想ＩＰアドレスとマスタ仮想ＩＰアドレスを無効にさせ、ノード６で行われているマスタノード１１０の代理処理を解除するとともに、それらの仮想ＩＰアドレスをノード１にて有効にする（ステップＳ４０８）。これらの処理によって、マスタノード１１０は、最新の資源で正常運用が開始される（ステップＳ４０９）。
【００９０】
図９には、こうした資源複製処理を指示するための資源複製指示画面の一例である、資源複製指示画面２００が示されている。該資源複製指示画面２００は、複製元２１０、複製指示チェックボックス２２０、複製先２３０、及び複製開始ボタン２４０を含む。複製元２１０は、複製元のノードを示し、通常「マスタノード」と表記されたラベルである。複製先２３０は、複製先のノードを表すラベルである。ある複製先２３０（例えば、スレーブノード２）にマスタノード１１０からの複製を指示する場合には、その複製先２３０の左側にある複製指示チェックボックス２２０をマウス等の入力部１３３によってクリック（選択）する。こうした複製の指示は、任意の数のスレーブノード１２０、及びマスタノード１１０に対しても行うことができ、同時に複数のノードを指定することができる。
【００９１】
通常、マスタノード１１０に最新の複製用資源が用意されるが、マスタノード１１０は、上述したように、スレーブノード１１０に最新の資源を複製させる間、最新の複製用の資源ではなく、該資源に更新される前の資源により運用しているので、マスタノード１１０の運用資源を上記最新の複製用資源に切り替えるために、前記画面２００を用いて、マスタノード１１０からマスタノード１１０に対して資源の複製の指示が明示的に行われることもある。こうしてチェックボックス２２０に対する指示が終わると、資源複製処理を開始するために、「複製開始」ボタン２４０をクリックする。
【００９２】
このボタン２４０がクリックされると、クリックされているチェックボックス２２０に対応するノードに対して、マスタノード１１０から上記最新の複製用資源が複製される。
【００９３】
図７及び図８に関して前述したように、資源複製処理は、複製対象となる全てのスレーブノード１２０において上記資源複製処理が終了するまで、それらのノードが有する機能がマスタノード１１０によって代理されるが、この資源複製指示画面２００において、最新の資源の複製が終了したスレーブノード１２０から、順次、機能の提供を開始（再開）するように設定することもできる。さらに、マスタノード１１０を含めた全ノードにおける資源の複製順を定義できるようにしてもよい。
【００９４】
また、こうした資源複製処理の間は各スレーブノード１２０の提供する機能の代理は行うが、他のノードの監視は行わないといった指定も行うこともできる。
更に、この資源複製処理を自動的に行うためのスケジューリング情報は、マスタノード１１０のスケジュールテーブル１１２Ｃに保持される。このスケジューリング情報に従って、マスタノード１１０及びスレーブノード１２０の運用が制御される。このスケジュール情報は、あらかじめマスタノード１１０のスケジュールテーブル１１２Ｃ内に定義（記憶）されていてもよく、また制御用ノード１３０のスケジュール指定機能１３１Ｂによって、指示画面（不図示）を介して指定されても良い。また、更にネットワーク上のある特定のノード（不図示）に、上記スケジュール情報を記憶させておいてもよく、その他にも幾多の変形例が考えられる。
【００９５】
図１０には、スケジュールテーブル１１２Ｃの例が示されている。スケジュールテーブル１１２Ｃは、ノード毎のスケジュールを管理し、ノード名、及びスケジュールデータ１〜スケジュールデータｎを含む。ノード名には、マスタノードを示すＭ、及びスレーブノード１．．．スレーブノードｎをそれぞれ示すＳ１．．．Ｓｎが設定される。スケジュールデータ１〜スケジュールデータｎは、それぞれ作業コード、年月日、開始時刻、及び終了時刻の各項目を含み、作業コードは例えば、資源複製やＳ３代理及び運用休止などの処理内容が、年月日には前記作業コードに設定された作業を実施する年月日が、開始時刻には前記作業の開始時刻が、終了時刻には前記作業の終了時刻がそれぞれ設定される。
【００９６】
図１０に示されたスケジュールデータの一例である、スケジュールデータ１を参照すると、スレーブノード３が１９９７年１２月３０日の午前８時から午後５時まで運転を休止し、その機能の代理をスレーブノード２が同じ時間帯で行い、マスタノード１１０は、１９９７年１２月３１日の午後１０時から資源複製を開始するよう設定されている。この資源複製は、ここでは、全てのスレーブノード１２０を対象にしているが、該スケジュールデータとして新たな項目を設け、複製対象のノードを指定できるようにしてもよい。
【００９７】
上記スケジュールデータ１の例では、スレーブノード２とスレーブノード３の作業は互いに関連するものとなっているが、同じスケジュールデータ１には、マスタノード１１０に対する資源複製の指示のように、他のノードと関連しない作業を共存させることもできる。
【００９８】
尚、スケジュールデータ２には、マスタノード１１０に対する「資源切替」の指示が設定されている。この指示は、例えば、マスタノード１１０が、スレーブノード１２０に対する最新資源の複製を終了した後に、自身の運用資源を、１９９８年１月１日の午前０時に上記最新資源に切り替えるように指示するものである。
【００９９】
図１１には、前述した代理処理を実現するために必要となる情報を各ノードに設定するために用いられるノード設定画面３００が示されている。ノード設定画面３００は、制御用ノード１３０の表示部１３２において表示され、この画面３００を介してマスタノード１１０、スレーブノード１２０を含めた複数のノードについて、上記情報の設定が行われる。
【０１００】
マスタ識別３１０は、設定対象の実ＩＰアドレスをマスタノード１１０の実ＩＰアドレスとして運用する場合にチェックする。実ＩＰアドレス３２０は、設定対象のノードの実ＩＰアドレスを指定する。仮想ＩＰアドレス３３０は、設定対象のノードの仮想ＩＰアドレスを指定する。監視ＩＰアドレス３４０は、設定対象のノードが監視すべきノードの実ＩＰアドレスを指定する。前述したように、監視対象のノードの実ＩＰアドレスは基本的に、実施例ではアドレス管理テーブル１１２Ａにおいて、監視するノードの仮想ＩＰアドレスが設定されているエントリの次のエントリに設定されている実ＩＰアドレスであるが、監視ＩＰアドレス３４０に指定することにより、特定の実ＩＰアドレスを有するノードを監視するようにできる。
【０１０１】
監視サービス３５０は、ＷＷＷ、ＤＮＳ、及びＭａｉｌの各機能（サービス）に対する３つのチェックボックスからなり、監視対象となる機能（サービス）を指定する。ここまで、説明を分かりやすくするために、ノード単位で監視を行うよう記載してきたが、このように、機能毎に監視対象を設定できることによって、機能毎の状態の監視が可能である。また、ここでは３つの機能（サービス）に関して設定できるようになっているが、これらは例示のためのものであり、これらに限られるものではない。
【０１０２】
仮想運用３６０は、設定対象のノードを仮想的に運用するかどうかを指定するものであり、仮想運用をする場合には「する」に、しない場合は「しない」にチェックする。代理３７０は、設定対象のノードが他のノードの代理処理を行うかどうかを指定するものであり、代理処理を行う場合には「する」に、しない場合には「しない」にチェックする。
【０１０３】
制御用ノード１３０において、各ノード毎に前記情報が設定され、こうした各ノードの設定情報が一括してマスタノード１１０に送信される。マスタノード１１０は、これらの設定情報を受信し、図４に関連して前述したマスタ識別情報やアドレス管理テーブル１１２Ａの関連するエリアを作成・更新する。また、前述のように、機能毎の監視を行うように設定した場合は、アドレス管理テーブル１１２Ａの構成、及び代理処理フローを、必要に応じて適宜変更することによって、機能毎に代理処理を行うことも可能である。
【０１０４】
また本実施例では、こうしたノード設定画面３００を使用した設定処理は、制御用ノード１３０において、インターネットブラウザとＪａｖａアプレットを用いて実現されるが、このようなソフトウエア構成に厳密に制限されるわけではない。例えば、Ｊａｖａアプレットの代わりにＡｃｔｉｖｅＸコントロールを用いてもよい。
【０１０５】
更に、この制御用ノード１３０から、ネットワーク１４０上の各ノードの状態表示・制御を行うことができる。図１２には、複数ノードの運用状態を１画面で確認できる、ノード状態表示・制御画面４００が示されている。このシグナル表は、制御用ノード１３０からマスタノード１１０に、各ノードの運用状態を取得するよう要求し、その応答から動的に生成され、表示される。更に、この画面４００において、各ノードの運用を制御することも可能であり、制御用ノード１３０からマスタノード１１０に、指定したノードに対する制御を要求することにより、その要求が該ノードに反映される。
【０１０６】
図１２のノード状態表示・制御画面４００は、ノード名４１０、４３０、ステータス４２０、及び状態シグナル４４０からなる。ノード名４１０と４３０は、マスタノードをＭ、スレーブノード１をＳ１、スレーブノード２をＳ２といった記号により表記する。ステータスは、ノード名４１０に示されたノードの状態を表示しており、正常、停止、強制停止などがある。状態シグナル４４０は、各ノードの機能がどのような状況で運用されているかを示すものであり、青の点灯は運用中、青の点滅は代理運用中、赤の点滅は停止中といったシグナルである。但し、図１２では表記の都合上、青の点灯を＋、赤の点灯を−、青の点滅を／、それ以外を○で示す。もちろん、こうしたシグナルの表現方法には多くのバリエーションが考えられ、本実施例のような表示例に制限されるものではない。
【０１０７】
各ノード名４３０と同じ列にある状態シグナル４４０に青の点灯または赤の点灯が含まれている場合、そのノードが本来提供すべき機能を有していることを示している。さらに、各ノード名４１０と同じ行にある状態シグナル４４０に青の点灯または青の点滅が含まれている場合、それは、そのノードが実際に提供している機能を表している。
【０１０８】
例えば図１２に示すノード状態表示・制御画面４００では、スレーブノード２（Ｓ２）が停止しており、そのノードが本来提供すべき機能をスレーブノード１（Ｓ１）が代理して処理していることが分かる。
【０１０９】
また、あるノードに対応するステータス４２０を選択し、マウス等の入力装置を介して、そのステータスを変更することにより、各ノードの状態を制御することができる。例えば、ステータスが「正常」であるとして正常に稼働しているノードのステータスを「強制停止」に変更することにより、そのノードをある理由で強制的に停止することができる。但し、不測の障害等で停止状態となっているノードのステータスを、マウス等で「正常」に変更するようなことはできないことに注意すべきである。
【０１１０】
図１３は、本実施例とは別の態様のノード代理システム５００であり、マスタノード５１０のみがアドレス管理テーブル５１２Ａを有している。この場合、スレーブノード５２０は、メッセージ通信等によりネットワーク５４０を介して自身の実ＩＰアドレスに対応する仮想ＩＰアドレスを前記マスタノード５１０から取得する。スレーブノード５２０は、例えば、予め、自身が保持しているマスタノード５１０のマスタ仮想ＩＰアドレスを使用して、マスタノード５１０にアクセスする。
【０１１１】
このシステムにおいては、図４のステップＳ１０１における、自身のノードがマスタノード５１０かどうかの判定は、各ノードが、前記マスタ識別情報等を有しているかを判定する事等によって行われる。
【０１１２】
図１４は、上述したノード代理システム１００、５００を構築するために使用されるコンピュータ６００のハードウエア構成の一例を示している。このコンピュータ６００は、基本的に前記ノード代理システム１００または５００において、マスタノード１１０、５１０、スレーブノード１２０、５２０、及び制御用ノード１３０、５３０として機能する。
【０１１３】
該コンピュータ６００は、それぞれバス６８０に接続されたＣＰＵ６１０、記憶部６２０、メモリ部６３０、表示部６４０、入力部６５０、印刷部６６０、及びネットワーク・インタフェース部６７０からなる。
【０１１４】
ＣＰＵ６１０は、図１及び図１３に示された、マスタノード１１０、５１０の処理部１１１、５１１、スレーブノード１２０、５２０の処理部１２１、５２１、及び制御用ノード１３０、５３０の処理部１３１、５３１の各機能を実行する。メモリ部６２０には、ＣＰＵ６１０によって実行される前記各機能を実現するプログラムがロードされ、また必要に応じてアドレス管理テーブル１１２Ａ、５１２Ａ、１２２Ａや監視アドレスリスト１１２Ｂ、５１２Ｂ、１２２Ｂ、５２２Ｂ等の内容がロードされる。
【０１１５】
記憶部６３０は、ＣＰＵ６１０によって実行される前記各機能を実現するプログラム、及びアドレス管理テーブル１１２Ａ、５１２Ａ、１２２Ａや監視アドレスリスト１１２Ｂ、５１２Ｂ、１２２Ｂ、５２２Ｂ等の内容を格納する。
【０１１６】
表示部６４０は、マスタノード１１０、５１０及びスレーブノード１２０、５２０においては、必須の構成要素ではない。前記表示部６４０は、制御用ノード１３０、５３０において、処理部１３１、５３１の各機能によって上述した資源複製指示画面２００、ノード設定外面３００及びノード状態表示・制御画面４００等の画面を表示する際に必要とされ、通常はＣＲＴやＬＣＤ等のディスプレイ装置であり、図１及び図１３に示す制御用ノード１３０、５３０の表示部１３２、５３２に対応する。
【０１１７】
入力部６５０は、前記表示部６４０に表示された画面に沿って入力や指示を行うために使用される装置であり、通常キーボード、マウス等から成る入力装置やタッチパネル、音声入力装置等で構成される。これも、前記表示部６４０同様、マスタノード１１０、５１０及びスレーブノード１２０、５２０においては、必須の構成要素ではない。図１及び図１３に示す制御用ノード１３０、５３０の入力部１３３、５３３に対応する。
【０１１８】
印刷部６６０は、ユーザ等の指示に従って、前記メモリ部６２０または記憶部６３０に格納されているデータ等を印刷する、レーザプリンタ等の印刷装置である。前記印刷部６６０は、前記ノード代理システム１００、５００の実施に関して必須の構成要件ではなく、マスタノード１１０、５１０、スレーブノード１２０、５２０、及び制御用ノード１３０、５３０にとっては任意の構成要素である。
【０１１９】
ネットワーク・インタフェース部６７０は、マスタノード１１０、５１０、スレーブノード１２０、５２０、制御用ノード１３０、５３０、及びその他のユーザ・コンピュータのノードを、ネットワーク１４０、５４０を介して相互に接続するよう機能する。この接続を公衆回線網又は専用回線を介して行う場合は、モデム、ターミナルアダプタ及びＤＳＵ、ルータなどのネットワーク通信装置が必要であり、この場合、ネットワーク・インタフェース部６７０は、これらを含む通信インタフェース装置である。また、前記ノードを接続するネットワーク１４０、５４０は、リング型、スター型、バス型、あるいはそれらの組み合わせ等の任意の形態でよく、さらにＬＡＮ、ＭＡＮ、ＷＡＮ、インターネット、イントラネット、エクストラネット等、その構成や規模を問わない。
【０１２０】
バス６８０は、前記各構成要素６１０〜６７０間でデータ、指令等の送受信を行うための共通伝送経路である。
前述したように、本実施例では、最初に監視対象のノードを決定する際、アドレス管理テーブル１１２Ａ、１２２Ａ内のデータエントリの順序に着目し、監視するノードの仮想ＩＰアドレスが記憶されているエントリの次のエントリに記憶されている実ＩＰアドレスを有するノードを監視対象としている。しかし、本発明は、第１のノードが、他の第２のノードを監視し、このような監視の関係を順次形成して１つの閉ループを作り、その結果該第１のノードも他のノードによって監視されるように構成される複数のノードによって実現される。従って、こうしたノード間のリンク関係を構成するために、必ずしも前記アドレス管理テーブル１１２Ａのように、テーブル内のエントリ順を使用する必要はなく、テーブル内に監視関係を定義する情報を記憶させるテーブルではなく、リストを用いるなど、その他のデータ構造を用いた多くの方法が容易に考えられる。また、本発明は、ノードの監視関係の順序を論理的に定義できるため、システムを容易に変更可能であり、保守や拡張性などに優れている。
【０１２１】
【発明の効果】
本発明のノード代理システムによれば、ネットワーク上の複数のノードのうち１つがマスタノード、残りの少なくとも１つがスレーブノードとして設定され、ノードの障害の検知、またはスケジュールの発生または資源複製の依頼通知等の各種イベントの発生によるノードの停止に応答して、該停止したノードが提供していた機能を他のノードが代理し、または該停止したノードが監視していたノードを他のノードが監視するよう制御することができる。
【０１２２】
これにより、ネットワーク上に存在する複数のノードの運用において、それぞれのノードを運用系、待機系に分類することなく、それぞれのノードの監視や代理を、例えば、互いの仮想ＩＰアドレスの制御により実現し、ノードの持つ機能、サービスを低費用にて分散し、システム全体としての安全性を向上させ、さらに運用面においても、制御用ノードを用いて、対象複数ノードの状態表示、運用制御が可能となり、その保守性の向上が望める。
【図面の簡単な説明】
【図１】本発明の実施例であるノード代理システムのシステム構成を示すブロック図である。
【図２】アドレス管理テーブルの例を示す図である。
【図３】実施例によるノード監視の態様を概念的に示す図である。
【図４】マスタノード及びスレーブノードの起動管理機能の処理フローを示す図である。
【図５】図４のマスタノード及びスレーブノードの仮想ＩＰアドレス処理のフローを詳細に示す図である。
【図６】実施例による障害時の処理フローを示す図である。
【図７】マスタノードにおける資源複製処理のフローを示す図である。
【図８】スレーブノードにおける資源複製処理のフローを示す図である。
【図９】資源複製指示画面を示す図である。
【図１０】スケジュールテーブルの内容の設定例を示す図である。
【図１１】ノード設定画面を示す図である。
【図１２】ノード状態表示・制御画面を示す図である。
【図１３】本発明の別の実施例であるノード代理システムのシステム構成を示すブロック図である。
【図１４】ノード代理システムを実行するコンピュータのハードウエア構成を示す図である。
【符号の説明】
１００、５００  ノード代理システム
１１０、５１０  マスタノード
１１１、５１１  処理部
１１１Ａ、５１１Ａ  起動管理機能
１１１Ｂ、５１１Ｂ  障害監視・代理機能
１１１Ｃ、５１１Ｃ  資源複製機能
１１２、５１２  マスタ用データ
１１２Ａ、５１２Ａ  アドレス管理テーブル
１１２Ｂ、５１２Ｂ  監視アドレスリスト
１１２Ｃ、５１２Ｃ  スケジュールテーブル
１２０、５２０  スレーブノード
１２１、５２１  制御部
１２１Ａ、５２１Ａ  起動管理機能
１２１Ｂ、５２１Ｂ  障害監視・代理機能
１２１Ｃ、５２１Ｃ  資源複製機能
１２２、５２２  スレーブ用データ
１２２Ａ  アドレス管理テーブル
１２２Ｂ、５２２Ｂ  監視アドレスリスト
１３０、５３０  制御用ノード
１３１、５３１  処理部
１３１Ａ、５３１Ａ  資源複製指示機能
１３１Ｂ、５３１Ｂ  スケジュール指定機能
１３１Ｃ、５３１Ｃ  ノード設定機能
１３１Ｄ、５３１Ｄ  ノード状態表示・制御機能
１３２、５３２  表示部
１３３、５３３  入力部
１４０、５４０  ネットワーク
６００  コンピュータ
６１０  ＣＰＵ
６２０  メモリ部
６３０  記憶部
６４０  表示部
６５０  入力部
６６０  印刷部
６７０  ネットワーク・インタフェース部
６８０  バス
【図１】
0003609599.tif 000002
【図２】
0003609599.tif 000003
【図３】
0003609599.tif 000004
【図４】
0003609599.tif 000005
【図５】
0003609599.tif 000006
【図６】
0003609599.tif 000007
【図７】
0003609599.tif 000008
【図８】
0003609599.tif 000009
【図９】
0003609599.tif 000010
【図１０】
0003609599.tif 000011
【図１１】
0003609599.tif 000012
【図１２】
0003609599.tif 000013
【図１３】
0003609599.tif 000014
【図１４】
0003609599.tif 000015