(57)【要約】【課題】  ウェブ・サービスを利用するアプリケーション全体に対して高可用性処理環境を提供する。【解決手段】  高可用性のデータ伝送及び処理環境を保持する方法である。クラスタのネットワークが提供される。ネットワークの各々のクラスタは、少なくとも２つの同一サーバを含む。ネットワークの各々のクラスタは、該ネットワークの少なくとも１つの他のクラスタに直接接続される。相互に直接接続されるクラスタ対の各々は、該クラスタ対の第１のクラスタにおける各々のサーバが、通信リンクを介して、該クラスタ対の第２のクラスタにおける少なくとも１つのサーバに直接接続されることを特徴とする。通信リンクの稼動状況（すなわち、通信リンクが稼動状態であること、又は非稼動状態であること）を監視するようになっている制御サーバが提供される。制御サーバは、各々のクラスタにおける少なくとも１つのサーバに、該制御サーバと該少なくとも１つのサーバとの間の通信チャネルを介して直接リンクされる。【選択図】      図１
2007507029.tif 000002
【特許請求の範囲】
【請求項１】
複数のクラスタを有するネットワークであって、各々のクラスタは複数の同一サーバを備え、各々のクラスタは少なくとも１つの他のクラスタに直接接続され、相互に直接接続されるクラスタ対の各々は前記クラスタ対の第１のクラスタにおける各々のサーバが通信リンクを介して前記クラスタ対の第２のクラスタにおける少なくとも１つのサーバに直接接続されることを特徴とする、ネットワークと、
前記通信リンクが稼働状態であるか又は非稼働状態であるかという前記通信リンクの稼動状況を監視するようになっている制御サーバであって、各々のクラスタにおける少なくとも１つのサーバに該少なくとも１つのサーバとの間の通信チャネルを介して直接リンクされる、制御サーバと、を備える高可用性処理環境を保持するためのシステム。
【請求項２】
前記ネットワークにおける各々の通信リンクの識別符号を含む、前記制御サーバがアクセス可能なグローバル・データセットと、前記複数のクラスタの各々のクラスタに固有のローカル・データセットであって、前記グローバル・データセットにアクセス可能な前記各々のクラスタのサーバがクラスタからデータを流すために結合された、前記ネットワークにおける各々の通信リンクの識別符号を含むローカル・データセットと、をさらに備える、請求項１に記載のシステム。
【請求項３】
前記制御サーバは、前記第１のクラスタの第１のサーバと前記第２のクラスタの第２のサーバとの間にある第１の通信リンクの稼動状況を、前記第１の通信リンクが稼動状態であるか又は非稼動状態であるかという前記第１の通信リンクの前記稼動状況を示す応答信号を前記制御サーバに送信するように前記第１のサーバに要求する照会信号を前記第１のサーバに送信することによって、監視するようになっている、請求項１に記載のシステム。
【請求項４】
前記第１のサーバは、戻り信号を前記第１の通信リンクを介して前記第１のサーバに送信するように前記第２のサーバに指示するプロンプト信号を、前記第１の通信リンクを介して前記第２のサーバに送信することによって、前記照会信号に応答するようになっており、前記戻り信号の有無が前記第１の通信リンクの前記稼動状況を示すものである、請求項３に記載のシステム。
【請求項５】
前記第１のクラスタは、前記第１のクラスタが備えるサーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記制御サーバは、前記第１の通信リンクが非稼動状態であることを示す前記応答信号を前記第１のサーバから受信した場合に、前記第１の通信リンクが非稼動状態であることを前記ロード・バランサに通知するようになっている、請求項３に記載のシステム。
【請求項６】
前記ロード・バランサは、前記第１の通信リンクが非稼動状態であることを通知された場合に、前記第１の通信リンクに関する前記第１のサーバをフェイル・オーバするようになっている、請求項３に記載のシステム。
【請求項７】
前記制御サーバは、前記第１の通信リンクが非稼動状態であることを示す前記応答信号を前記第１のサーバから受信した場合に、前記第１の通信リンクが非稼動状態であることを前記第１のクラスタのサービス・ノードに報告するようになっている、請求項３に記載のシステム。
【請求項８】
前記サービス・ノードは、前記第１の通信リンクが非稼動状態であることを報告された場合に、前記第１の通信リンクが非稼動状態である原因を判断するようになっている、請求項７に記載のシステム。
【請求項９】
前記サービス・ノードは、前記原因を判断した場合に、前記第１の通信リンクを稼動状態にすることを支援するようになっている、請求項８に記載のシステム。
【請求項１０】
前記第１のクラスタは、前記第１のクラスタが備えるサーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記制御サーバは、前記照会信号を前記第１のサーバに送信した後の所定時間内に前記第１のサーバから前記応答信号を受信しなかった場合に、前記第１のサーバが非稼動状態であると判断し、前記第１のサーバが非稼動状態であることを前記ロード・バランサに通知するようになっている、請求項３に記載のシステム。
【請求項１１】
前記ロード・バランサは、前記第１のサーバが非稼動状態であることを通知された場合に、前記第１のサーバをフェイル・オーバするようになっている、請求項１０に記載のシステム。
【請求項１２】
前記制御サーバは、前記照会信号を前記第１のサーバに送信した後の所定時間内に前記第１のサーバから前記応答信号を受信しなかった場合に、前記第１のサーバが非稼動状態であることを前記第１のクラスタのサービス・ノードに報告するようになっている、請求項１０に記載のシステム。
【請求項１３】
前記サービス・ノードは、前記第１のサーバが非稼動状態であることを報告された場合に、前記第１のサーバが非稼動状態である原因を判断するようになっている、請求項１２に記載のシステム。
【請求項１４】
前記サービス・ノードは、前記原因を判断した場合に、前記第１のサーバを稼動状態にすることを支援するようになっている、請求項１３に記載のシステム。
【請求項１５】
前記複数のクラスタの各々のクラスタは、各々のクラスタが備えるサーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有する、請求項１に記載のシステム。
【請求項１６】
前記制御サーバは、前記第１のクラスタの第１のサーバ又は前記第１のクラスタのロード・バランサから、前記第１のクラスタのサーバと、前記第１のクラスタの前記第１のサーバ及び前記第２のクラスタの第２のサーバの間にある通信リンクとからなる群から選択されるエンティティが非稼動状態であることを示すメッセージを受信するようになっている、請求項１に記載のシステム。
【請求項１７】
前記制御サーバは、前記メッセージを受信した場合に、前記エンティティが非稼動状態であることを前記第１のクラスタのサービス・ノードに報告するようになっている、請求項１６に記載のシステム。
【請求項１８】
前記制御サーバは、前記第１のクラスタの第１のサーバに直接リンクされ、かつ、前記第１のクラスタの第２のサーバに直接リンクされておらず、前記第１のサーバは前記第２のサーバに直接接続されており、前記制御サーバは、前記第２のサーバが稼動状態であるか又は非稼動状態であるかという前記第２のサーバの稼動状況を、前記第１のサーバとの直接通信と、前記第１のサーバ及び前記第２のサーバ間における直接通信とを併用することによって監視するようになっている、請求項１に記載のシステム。
【請求項１９】
前記複数のクラスタの少なくとも１つのクラスタは、前記第１のクラスタが備えるサーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを持たない、請求項１に記載のシステム。
【請求項２０】
前記複数のクラスタは、ウェブ・サーバのウェブ・クラスタと、アプリケーション・サーバのアプリケーション・クラスタと、データベース・サーバのデータベース・クラスタとを含み、前記ウェブ・クラスタは前記アプリケーション・クラスタに直接接続され、前記アプリケーション・クラスタは前記データベース・クラスタに直接接続され、前記ウェブ・クラスタは、前記ウェブ・クラスタと前記データベース・クラスタとの間の中継クラスタとして機能する前記アプリケーション・クラスタを介して、前記データベース・クラスタと通信を行うようになっている、請求項１に記載のシステム。
【請求項２１】
前記ウェブ・クラスタは、前記ウェブ・クラスタが備える前記ウェブ・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記アプリケーション・クラスタは、前記アプリケーション・クラスタが備える前記アプリケーション・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記データベース・クラスタは、前記データベース・クラスタが備える前記データベース・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有する、請求項２０に記載のシステム。
【請求項２２】
前記ウェブ・クラスタは、前記ウェブ・クラスタが備える前記ウェブ・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記アプリケーション・クラスタは、前記アプリケーション・クラスタが備える前記アプリケーション・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記データベース・クラスタは、前記データベース・クラスタが備える前記データベース・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを持たない、請求項２０に記載のシステム。
【請求項２３】
前記複数のクラスタは、ウェブ・サーバのウェブ・クラスタとデータベース・サーバのデータベース・クラスタとを含み、前記ウェブ・クラスタは前記データベース・クラスタに直接接続され、前記ウェブ・クラスタは前記データベース・クラスタと直接通信するようになっている、請求項１に記載のシステム。
【請求項２４】
前記ウェブ・クラスタは、前記ウェブ・クラスタが備える前記ウェブ・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記データベース・クラスタは、前記データベース・クラスタが備える前記データベース・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有する、請求項２３に記載のシステム。
【請求項２５】
前記ウェブ・クラスタは、前記ウェブ・クラスタが備える前記ウェブ・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記データベース・クラスタは、前記データベース・クラスタが備える前記データベース・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを持たない、請求項２３に記載のシステム。
【請求項２６】
複数のクラスタを有するネットワークであって、各々のクラスタは複数の同一サーバを備え、各々のクラスタは少なくとも１つの他のクラスタに直接接続され、相互に直接接続されるクラスタ対の各々は前記クラスタ対の第１のクラスタにおける各々のサーバが通信リンクを介して前記クラスタ対の第２のクラスタにおける少なくとも１つのサーバに直接接続されることを特徴とする、ネットワークを提供するステップと、
前記通信リンクが稼働状態であるか又は非稼働状態であるかという前記通信リンクの稼動状況を監視するようになっている制御サーバであって、各々のクラスタにおける少なくとも１つのサーバに該少なくとも１つのサーバとの間の通信チャネルを介して直接リンクされる、制御サーバを提供するステップと、
を含む高可用性処理環境を保持するための方法。
【請求項２７】
前記ネットワークにおける各々の通信リンクの識別符号を含む、前記制御サーバがアクセス可能なグローバル・データセットを提供するステップと、前記複数のクラスタの各々のクラスタに固有のローカル・データセットであって、前記グローバル・データセットにアクセス可能な前記各々のクラスタのサーバがクラスタからデータを流すために結合された、前記ネットワークにおける各々の通信リンクの識別符号を含むローカル・データセットを提供するステップと、をさらに含む、請求項２６に記載の方法。
【請求項２８】
前記第１のクラスタの第１のサーバと前記第２のクラスタの第２のサーバとの間にある第１の通信リンクの稼動状況を監視するステップをさらに含み、前記監視するステップは前記制御サーバによって実行され、前記監視するステップは、前記第１の通信リンクが稼動状態であるか又は非稼動状態であるかという前記第１の通信リンクの前記稼動状況を示す応答信号を前記制御サーバに送信するように前記第１のサーバに要求する照会信号を前記第１のサーバに送信するステップを含む、請求項２６に記載の方法。
【請求項２９】
前記第１のサーバは、戻り信号を前記第１の通信リンクを介して前記第１のサーバに送信するように前記第２のサーバに指示するプロンプト信号を、前記第１の通信リンクを介して前記第２のサーバに送信することによって、前記照会信号に応答するようになっており、前記戻り信号の有無が前記第１の通信リンクの前記稼動状況を示すものである、請求項２８に記載の方法。
【請求項３０】
前記第１のクラスタは、前記第１のクラスタが備えるサーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記制御サーバが、前記第１の通信リンクが非稼動状態であることを示す前記応答信号を前記第１のサーバから受信した場合に、前記第１の通信リンクが非稼動状態であることを前記ロード・バランサに通知するステップをさらに含み、通知する前記ステップは前記制御サーバによって実行される、請求項２８に記載の方法。
【請求項３１】
前記ロード・バランサが、前記第１の通信リンクが非稼動状態であることを通知された場合に、前記第１の通信リンクに関する前記第１のサーバをフェイル・オーバするステップをさらに含み、フェイル・オーバする前記ステップは前記ロード・バランサによって実行される、請求項２８に記載の方法。
【請求項３２】
前記制御サーバが、前記第１の通信リンクが非稼動状態であることを示す前記応答信号を前記第１のサーバから受信した場合に、前記第１の通信リンクが非稼動状態であることを前記第１のクラスタのサービス・ノードに報告するステップをさらに含み、報告する前記ステップは前記制御サーバによって実行される、請求項２８に記載の方法。
【請求項３３】
前記サービス・ノードが、前記第１の通信リンクが非稼動状態であることを報告された場合に、前記第１の通信リンクが非稼動状態である原因を判断するステップをさらに含み、判断する前記ステップは前記サービス・ノードによって実行される、請求項３２に記載の方法。
【請求項３４】
前記サービス・ノードが前記原因を判断した場合に、前記第１の通信リンクを稼動状態にすることを支援するステップをさらに含み、支援する前記ステップは前記サービス・ノードによって実行される、請求項３３に記載の方法。
【請求項３５】
前記第１のクラスタは、前記第１のクラスタが備えるサーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記制御サーバが、前記照会信号を前記第１のサーバに送信した後の所定時間内に前記第１のサーバから前記応答信号を受信しなかった場合に、前記第１のサーバが非稼動状態であると判断するステップと、前記第１のサーバが非稼動状態であることを前記ロード・バランサに通知するステップとをさらに含み、前記第１のサーバが非稼働状態であることを判断する前記ステップと通知する前記ステップとは、前記制御サーバによって実行される、請求項２８に記載の方法。
【請求項３６】
前記ロード・バランサが、前記第１のサーバが非稼動状態であることを通知された場合に、前記第１のサーバをフェイル・オーバするステップをさらに含み、フェイル・オーバする前記ステップは前記ロード・バランサによって実行される、請求項３５に記載の方法。
【請求項３７】
前記制御サーバが、前記照会信号を前記第１のサーバに送信した後の所定時間内に前記第１のサーバから前記応答信号を受信しなかった場合に、前記第１のサーバが非稼動状態であることを前記第１のクラスタのサービス・ノードに報告するステップをさらに含み
、報告する前記ステップは前記制御サーバによって実行される、請求項３５に記載の方法。
【請求項３８】
前記サービス・ノードが、前記第１のサーバが非稼動状態であることを報告された場合に、前記第１のサーバが非稼動状態である原因を判断するステップをさらに含み、前記原因を判断する前記ステップは前記サービス・ノードによって実行される、請求項３７に記載の方法。
【請求項３９】
前記サービス・ノードが前記原因を判断した場合に、前記第１のサーバを稼動状態にすることを支援するステップをさらに含み、支援する前記ステップは前記サービス・ノードによって実行される、請求項３８に記載の方法。
【請求項４０】
前記複数のクラスタの各々のクラスタはロード・バランサを有し、各々のクラスタが備えるサーバ間でデータ・トラフィックを均等に分配するステップをさらに含み、分配する前記ステップは前記ロード・バランサによって実行される、請求項２６に記載の方法。
【請求項４１】
前記制御サーバは、前記第１のクラスタの第１のサーバ又は前記第１のクラスタのロード・バランサから、前記第１のクラスタのサーバと、前記第１のクラスタの前記第１のサーバ及び前記第２のクラスタの第２のサーバの間にある通信リンクとからなる群から選択されるエンティティが非稼動状態であることを示すメッセージを受信するようになっている、請求項２６に記載の方法。
【請求項４２】
前記制御サーバが前記メッセージを受信した場合に、前記エンティティが非稼動状態であることを前記第１のクラスタのサービス・ノードに報告するステップをさらに含み、報告する前記ステップは前記制御サーバによって実行される、請求項４１に記載の方法。
【請求項４３】
前記制御サーバは、前記第１のクラスタの第１のサーバに直接リンクされ、かつ、前記第１のクラスタの第２のサーバに直接リンクされておらず、前記第１のサーバは前記第２のサーバに直接接続されおり、前記第２のサーバが稼動状態又は非稼動状態であるという前記第２のサーバの稼動状況を、前記第１のサーバとの直接通信と、前記第１のサーバ及び前記第２のサーバ間における直接通信とを併用することによって監視するステップをさらに含み、監視する前記ステップは前記制御サーバによって実行される、請求項２６に記載の方法。
【請求項４４】
前記複数のクラスタの少なくとも１つのクラスタは、前記第１のクラスタが備えるサーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを持たない、請求項２６に記載の方法。
【請求項４５】
前記複数のクラスタは、ウェブ・サーバのウェブ・クラスタと、アプリケーション・サーバのアプリケーション・クラスタと、データベース・サーバのデータベース・クラスタとを含み、前記ウェブ・クラスタは前記アプリケーション・クラスタに直接接続され、前記アプリケーション・クラスタは前記データベース・クラスタに直接接続され、前記ウェブ・クラスタは、前記ウェブ・クラスタと前記データベース・クラスタとの間の中継クラスタとして機能する前記アプリケーション・クラスタを介して、前記データベース・クラスタと通信を行うようになっている、請求項２６に記載の方法。
【請求項４６】
前記ウェブ・クラスタは、前記ウェブ・クラスタが備える前記ウェブ・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記アプリケーション・クラスタは、前記アプリケーション・クラスタが備える前記アプリケーション・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記データベース・クラスタは、前記データベース・クラスタが備える前記データベース・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有する、請求項４５に記載の方法。
【請求項４７】
前記ウェブ・クラスタは、前記ウェブ・クラスタが備える前記ウェブ・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記アプリケーション・クラスタは、前記アプリケーション・クラスタが備える前記アプリケーション・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記データベース・クラスタは、前記データベース・クラスタが備える前記データベース・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを持たない、請求項４５に記載の方法。
【請求項４８】
前記複数のクラスタは、ウェブ・サーバのウェブ・クラスタとデータベース・サーバのデータベース・クラスタとを含み、前記ウェブ・クラスタは前記データベース・クラスタに直接接続され、前記ウェブ・クラスタは前記データベース・クラスタと直接通信するようになっている、請求項２６に記載の方法。
【請求項４９】
前記ウェブ・クラスタは、前記ウェブ・クラスタが備える前記ウェブ・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記データベース・クラスタは、前記データベース・クラスタが備える前記データベース・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有する、請求項４８に記載の方法。
【請求項５０】
前記ウェブ・クラスタは、前記ウェブ・クラスタが備える前記ウェブ・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記データベース・クラスタは、前記データベース・クラスタが備える前記データベース・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを持たない、請求項４８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブ・サービスを利用するアプリケーション全体に対して高可用性処理環境を提供するためのシステム及び方法に関する。
【背景技術】
【０００２】
同一サーバのクラスタからなる現在のシステムは、こうしたシステムによって処理されるアプリケーション全体について、ウェブ・サービスに関する高可用性処理環境を提供することができない。実際に、こうしたシステムは、高可用性をアプリケーション全体について提供するのではなく、せいぜいアプリケーションの局所について提供するに過ぎない。したがって、ウェブ・サービスを利用するアプリケーション全体について高可用性処理環境を提供するためのシステム及び方法の必要性が存在する。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明の課題は、ウェブ・サービスを利用するアプリケーション全体について高可用性処理環境を提供することである。
【課題を解決するための手段】
【０００４】
１つの態様において、本発明は、複数のクラスタを有するネットワークであって、各々のクラスタは複数の同一サーバを備え、各々のクラスタは少なくとも１つの他のクラスタに直接接続され、相互に直接接続されるクラスタ対の各々は該クラスタ対の第１のクラスタにおける各々のサーバが通信リンクを介して該クラスタ対の第２のクラスタにおける少なくとも１つのサーバに直接接続されることを特徴とする、ネットワークと、前記通信リンクが稼働状態であるか又は非稼働状態であるかという該通信リンクの稼動状況を監視するようになっており、各々のクラスタにおける少なくとも１つのサーバに、該少なくとも１つのサーバとの間の通信チャネルを介して直接リンクされる、制御サーバと、を備える高可用性データ処理環境を保持するためのシステムを提供する。
【０００５】
本発明はまた、複数のクラスタを有するネットワークであって、各々のクラスタは複数の同一サーバを備え、各々のクラスタは少なくとも１つの他のクラスタに直接接続され、相互に直接接続されるクラスタ対の各々は該クラスタ対の第１のクラスタにおける各々のサーバが通信リンクを介して該クラスタ対の第２のクラスタにおける少なくとも１つのサーバに直接接続されることを特徴とする、ネットワークを提供するステップと、前記通信リンクが稼働状態であるか又は非稼働状態であるかという該通信リンクの稼動状況を監視するようになっており、各々のクラスタにおける少なくとも１つのサーバに該少なくとも１つのサーバとの間の通信チャネルを介して直接リンクされる、制御サーバを提供するステップと、を含む高可用性データ処理環境を保持するための方法を提供する。
【０００６】
本発明は、ウェブ・サービスを利用するアプリケーション全体について高可用性処理環境を与えるためのシステム及び方法を提供するという利点がある。
【発明を実施するための最良の形態】
【０００７】
ここで、本発明の好ましい実施形態を、添付図面を参照して単なる例示の目的で説明する。
【０００８】
図１は、本発明の実施形態に従って、制御サーバ（Ｃ）２５と、リンクされたクラスタのネットワークとを含むシステム２０を示すものであり、該ネットワークは、データベース・サーバ・クラスタ２３と結合されたアプリケーション・サーバ・クラスタ２２に結合されるウェブ・サーバ・クラスタ２１を含み、各々のクラスタは、複数のサーバと１つのロード・バランサとを含み、該制御サーバは、各々のクラスタ内の各々のサーバにリンクされる。
【０００９】
ウェブ・サーバ・クラスタ２１は、同一のウェブ・サーバＷ１及びＷ２を含む。図１のウェブ・サーバ・クラスタ２１には、このような２つのウェブ・サーバＷ１及びＷ２のみが示されているが、ウェブ・サーバ・クラスタ２１は、一般には、２つまたはそれ以上のこのような同一のウェブ・サーバを含む。ロード・バランサＬＷは、ウェブ・サーバ・クラスタ２１のウェブ・サーバ（例えば、Ｗ１及びＷ２）間でデータ・トラフィックを均等に分配するようになっている。このようなデータ・トラフィックは、ウェブ・サーバ・クラスタ２１に文書又はウェブ・ページを要求するウェブ・ブラウザ（図示せず）から送出することができる。
【００１０】
定義として、ウェブ・サーバは、ウェブ・ブラウザ（又は、要求中の他のソフトウェア）からの要求に応答してファイルを送出するソフトウェアである。ウェブ・サーバは、静的ＨＴＭＬ（すなわち、ハイパーテキスト・マークアップ言語）ページについての要求を受信したとき、該要求を読み込み、該ページを見つけ出し、見つけたページを、要求中のブラウザ（又は、要求中の他のソフトウェア）に送信する。一般的なウェブ・サーバには、Ｍｉｃｒｏｓｏｆｔ（商標）  ＩＩＳ、Ｎｅｔｓｃａｐｅ  Ｅｎｔｅｒｐｒｉｓｅ  Ｓｅｒｖｅｒ、Ｊａｖａ（商標）  ＷｅｂＳｅｒｖｅｒ、及び、Ａｐａｃｈｅ  ＨＴＴＰ  Ｓｅｒｖｅｒが含まれる。ウェブ・サーバは、データベース・サーバと通信を行い、要求中のウェブ・ブラウザに送出されなければならない情報にアクセスすることができる。後述する図５〜図７において例示されるように、ウェブ・サーバとデータベース・サーバとの間のこうした通信は、静的ＨＴＭＬページがウェブ・ブラウザによって要求されたときに直接行われる。
【００１１】
しかしながら、ウェブ・ブラウザ（又は、要求中の他のソフトウェア）は、そのウェブ・ブラウザを用いて要求したウェブ・コンテンツを得ようとしているユーザによって提供される動的データを含むウェブ・コンテンツなどの、動的ウェブ・コンテンツを要求する場合がある。動的コンテンツについてのこうした要求は、ウェブ販売アプリケーション、個人向けウェブ広告アプリケーション、ストリーミング・ビデオ・アプリケーションなどにおいて行われるであろう。動的ウェブ・コンテンツを要求するアプリケーションは、データベース・サーバに直接接続された単純なモデルのウェブ・サーバでは実行することができない。その代わりに、ウェブ・サーバとデータベース・サーバとの間の中継ソフトウェアとして機能するアプリケーション・サーバが必要である。アプリケーション・サーバは、符号列をＨＴＭＬに挿入することによって動的コンテンツを処理することができる。アプリケーション・サーバの例には、ＩＢＭ（商標）Ｗｅｂｓｐｈｅｒｅ（商標）、Ｓｕｎ  Ｊａｖａ  Ｗｅｂ  Ｓｅｒｖｅｒなどが含まれる。
【００１２】
図１に戻ると、アプリケーション・サーバ・クラスタ２２は、同一のアプリケーション・サーバＡ１及びＡ２を含む。図１のアプリケーション・サーバ・クラスタ２２には、こうした２つのアプリケーション・サーバＡ１及びＡ２のみが示されているが、アプリケーション・サーバ・クラスタ２２は、一般には、２つまたはそれ以上のこのような同一のアプリケーション・サーバを含む。ロード・バランサＬＡは、アプリケーション・サーバ・クラスタ２２のアプリケーション・サーバ（例えば、Ａ１及びＡ２）間でデータ・トラフィックを均等に分配するようになっている。このようなデータ・トラフィックは、ウェブ・サーバ・クラスタ２１から送出することができる。
【００１３】
図１において、データベース・サーバ・クラスタ２３は、同一のデータベース・サーバＤ１及びＤ２を含む。図１のデータベース・サーバ・クラスタ２３には、このような２つのデータベース・サーバＤ１及びＤ２のみが示されているが、データベース・サーバ・クラスタ２３は、一般には、２つまたはそれ以上のこのような同一のデータベース・サーバを含む。ロード・バランサＬＤは、データベース・サーバ・クラスタ２３のデータベース・サーバ（例えば、Ｄ１及びＤ２）間でデータ・トラフィックを均等に分配するようになっている。このようなデータ・トラフィックは、アプリケーション・サーバ・クラスタ２２から送出することができる。
【００１４】
定義として、データベース・サーバは、１つまたはそれ以上のデータベースに格納された情報を、該情報を要求するアプリケーション・サーバ（例えば、図１のアプリケーション・サーバＡ１又はＡ２）、又は、該情報を要求するウェブ・サーバ（例えば、後述する図５のウェブ・サーバＷ１又はＷ２）といった要求中のソフトウェアに送出するソフトウェアである。
【００１５】
図１においては、ウェブ・サーバ・クラスタ２１はアプリケーション・サーバ・クラスタ２２に直接接続され、該アプリケーション・サーバ・クラスタ２２はデータベース・サーバ・クラスタ２３に直接接続され、該ウェブ・サーバ・クラスタ２１は該データベース・サーバ・クラスタ２３に間接接続される。特許請求の範囲を含む本明細書においてクラスタ及びサーバに対して用いられる「直接接続される」及び「間接接続される」の定義を次に説明する。
【００１６】
特に図１のシステム２０などのクラスタ・システムにおいて第１のクラスタ及び第２のクラスタとして示される２つのクラスタは、該第１のクラスタのサーバＳ１と該第２のクラスタのサーバＳ２とが相互に直接接続される場合には、相互に直接接続されると定義される。サーバＳ１及びＳ２は、Ｓ１とＳ２とを接続する通信リンクがＳ１とＳ２との間に介在するいかなるサーバも含まない場合には、相互に直接接続されると定義される。第１のクラスタ又は第２のクラスタのロード・バランサを当該通信リンクに含むことは、Ｓ１及びＳ２の間の直接接続を否定するものではない。このような２つのサーバ間の「通信リンク」の概念は、図９及び図１０において具体的に示される。図９は、本発明の実施形態に係る、ウェブ・サーバ・クラスタの第１のウェブ・サーバと、アプリケーション・サーバ・クラスタの第１のアプリケーション・サーバとの間の通信リンクを説明するように図１を示すものである。
【００１７】
図９は、本発明の実施形態に係る、クラスタ２１のウェブ・サーバＷ１をクラスタ２２のアプリケーション・サーバＡ１と直接接続する通信リンク４１を説明するように図１を示すものである。上記の「直接接続される」についての定義に従えば、通信リンク４１上にサーバが存在しないので、ウェブ・サーバＷ１はアプリケーション・サーバＡ１に直接接続される。通信リンク４１上に存在するロード・バランサＬＡは、ウェブ・サーバＷ１とアプリケーション・サーバＡ１との間の直接接続を否定するものではないことに留意されたい。さらに、ウェブ・サーバＷ１がアプリケーション・サーバＡ１に直接接続されているので、クラスタ２１は、クラスタ２２に直接接続される。通信リンク４１、並びに、図１０における通信リンク４２及び４３は、特にインターネット、イントラネット、ケーブル、電話回線、コンピュータ・システム内部などの配線、光ファイバなどといった、いずれかの既知の通信リンクを表わすことができる。
【００１８】
図１０は、本発明の実施形態に係る、クラスタ２１のウェブ・サーバＷ２をクラスタ２２のアプリケーション・サーバＡ１と直接接続する通信リンク４２を説明するように図１を示すものである。上記の「直接接続される」についての定義に従えば、通信リンク４２上にサーバが存在しないので、ウェブ・サーバＷ２はアプリケーション・サーバＡ１に直接接続される。通信リンク４２上に存在するロード・バランサＬＡは、ウェブ・サーバＷ２とアプリケーション・サーバＡ１との直接接続を否定するものではないことに留意されたい。さらに、ウェブ・サーバＷ２がアプリケーション・サーバＡ１に直接接続されているので、クラスタ２１はクラスタ２２に直接接続される。
【００１９】
図１０はまた、アプリケーション・サーバＡ１をデータベース・サーバＤ１と直接接続する通信リンク４３を示す。通信リンク４２及び４３のシリアル結合は、ウェブ・サーバＷ２をデータベース・サーバＤ１と間接接続する複合通信リンクである。この複合通信リンクは、ウェブ・サーバＷ２とデータベース・サーバＤ１との間に介在するサーバＡ１を含むため、ウェブ・サーバＷ２を、直接ではなく間接的にデータベース・サーバＤ１と接続する。
【００２０】
図１に戻ると、上述の説明は、ウェブ・サーバ・クラスタ２１がアプリケーション・サーバ・クラスタ２２に直接接続され、該アプリケーション・サーバ・クラスタ２２がデータベース・サーバ・クラスタ２３に直接接続され、該ウェブ・サーバ・クラスタ２１が該データベース・サーバ・クラスタ２３に間接接続されることになる理由を明確にするものである。
【００２１】
図１において、制御サーバ２５は、以下のようにロード・バランサ及びサーバにリンクされるソフトウェアである。制御サーバ２５は、通信チャネル３１を介してロード・バランサＬＷにリンクされ、通信チャネル３４を介してロード・バランサＬＡにリンクされ、通信チャネル３７を介してロード・バランサＬＤにリンクされる。制御サーバ２５は、通信チャネル３３を介してサーバＷ１にリンクされ、通信チャネル３２を介してサーバＷ２にリンクされ、通信チャネル３６を介してサーバＡ１にリンクされ、通信チャネル３５を介してサーバＡ２にリンクされ、通信チャネル３８を介してサーバＤ１にリンクされ、通信チャネル３９を介してサーバＤ２にリンクされる。通信チャネル３１〜３９は、特にインターネット、イントラネット、ケーブル、電話回線、コンピュータ・システム内部などの配線、光ファイバなどといった、いずれかの既知の通信リンクを表わすことができる。
【００２２】
制御サーバ２５の機能を理解するために、ユーザからの指示に基づいてブラウザがウェブ・サーバ・クラスタ２１から動的コンテンツ（例えば、動的ウェブページ）を要求するアプリケーションを考える。要求は、ウェブ・サーバ・クラスタ２１内のウェブ・サーバ（すなわち、Ｗ１及びＷ２）間でデータ・トラフィックを均等に分配しようとする、該ウェブ・サーバ・クラスタ２１のロード・バランサＬＷによって処理される。この要求は、Ｗ１及び／又はＷ２を経由して、アプリケーション・サーバ・クラスタ２２内のアプリケーション・サーバ（すなわち、Ａ１及びＡ２）間でデータ・トラフィックを均等に分配しようとする、該アプリケーション・サーバ・クラスタ２２のロード・バランサＬＡに送信される。次に、アプリケーション・サーバＡ１及び／又はＡ２は、データベース・サーバ・クラスタ２３に、要求された情報にアクセスさせることによって、該当する１つ又は複数のデータベースから該要求された情報を取得しようとする。ロード・バランサＬＤは、データベース・サーバ・クラスタ内のデータベース・サーバ（すなわち、Ｄ１及びＤ２）間でデータ・トラフィックを均等に分配しようとする。要求された情報は、該当する１つ又は複数のデータベースから読み出された後、アプリケーション・サーバＡ１及び／又はＡ２に与えられ、アプリケーション・サーバＡ１及び／又はＡ２は、該要求された情報を操作及び再編成して要求された動的コンテンツを生成する。生成された動的コンテンツは、ウェブ・サーバＷ１及び／又はＷ２に戻され、続いて、要求中のウェブ・ブラウザ及びユーザに渡される。
【００２３】
クラスタ２１、２２、及び２３はアプリケーションを同時に処理するため、該アプリケーションを高効率で処理するには、含まれるサーバ間でデータ・トラフィックを均等に分配するロード・バランサＬＷ、ＬＡ、及びＬＤの機能が重要であることに留意されたい。このアプリケーションは、クラスタ２１、２２、及び２３内のすべてのサーバが完全に稼動（すなわち、正常に機能）している場合には、最適な効率で実行することができる。しかしながら、１つのサーバが非稼動状態になった場合には効率が低下する場合があり、非稼働状態になった１つのサーバによってもたらされる効率の損失を最小化することが重要である。各々のロード・バランサは、プロンプト信号に応答して戻り信号を受信することを想定して各々のサーバに該プロンプト信号を送信することにより、そのクラスタにおける各々のサーバの稼動状況を定期的に検査することができる。サーバの稼動状況は、サーバが稼動状態である（すなわち、正しく作動している）か、又は非稼動状態である（すなわち、誤って作動しているか、若しくは作動していない）かにより示される。戻り信号の有無は、各々のサーバの稼動状況を表す。ロード・バランサが、そのクラスタにおける１つのサーバが非稼動状態であると判断した場合には、サーバは、非稼動状態のサーバを「フェイル・オーバ」し（すなわち、非稼動状態のサーバが、該クラスタに入ってくるデータ・トラフィックを受信して処理することができないようにし）、該クラスタにおける残りのサーバ間でデータ・トラフィックを均等に分配しようとするようになっている。
【００２４】
ロード・バランサＬＷ、ＬＡ、及びＬＤの前述の機能は有益であるが、これらのロード・バランサは、所与のクラスタのロード・バランサ及びサーバが他のクラスタの機能していないサーバについて知らされていないため、アプリケーション全体の処理の最適化を容易にするものではない。したがって、所与のクラスタのロード・バランサ及びサーバは、別のクラスタにおける１つ又は複数のサーバの非稼動状況を考慮する方法でアプリケーションの処理を調整することはできない。例えば、ウェブ・サーバ・クラスタ２１のロード・バランサ及びサーバが、アプリケーション・サーバ・クラスタ２２の１つ又は複数のアプリケーション・サーバが非稼動状態になったことを知ることが可能であれば、ウェブ・サーバ・クラスタ２１は、アプリケーション・サーバ・クラスタ２２のすべてのサーバが完全に稼動するようになる時まで、アプリケーション・サーバ・クラスタ２２のサービスについて行われる同時要求の数を減らし、代わりに完全に稼動している別のアプリケーション・サーバ・クラスタにアプリケーションの幾つか又はすべてを迂回させることができるであろう。残念ながら、現行のロード・バランサは、別のクラスタにおける１つ又は複数のサーバが非稼動状態になったことを認識しない。本発明の制御サーバ２５は、図１６〜図１９に関連して後に説明するように、システム２０のサーバ及びロード・バランサと通信を行うことによってこの問題を解決する。
【００２５】
図２は、本発明の実施形態に係る、データベース・サーバ・クラスタ２３のロード・バランサＬＤを除去した後の図１を示す。図２は、クラスタがロード・バランサなしで存在できることを示す。ロード・バランサがないときは、ロード・バランサの機能を別の方法で真似ることができる。例えば、図２において、データベース・サーバＤ１とＤ２とを接続する通信リンク２７によって、Ｄ１及びＤ２間又は一般的にはデータベース・サーバ・クラスタ２３のデータベース・サーバ間でデータ・トラフィックを均等に分配するように、Ｄ１及びＤ２が互いに通信してデータを相互に受け渡しすることが可能になる。同様にして、システムのいずれのクラスタも、ロード・バランサなしで機能し、クラスタのサーバ間でデータ・トラフィックのバランスを取ることが可能であろう。別の例として、図４は、本発明の実施形態に係る、アプリケーション・サーバ・クラスタ２２のロード・バランサＬＡを除去し、アプリケーション・サーバＡ１とＡ２とを接続する通信リンク２８を追加した後の図１を示す。
【００２６】
図３は、本発明の実施形態に係る、制御サーバ２５とデータベース・サーバ・クラスタ２３のデータベース・サーバＤ２との間の通信チャネル３９を除去した後の図２を示す。上記のような制御サーバ２５とシステム２０のサーバ群との間の通信チャネルによって、制御サーバ２５が、図１６〜図１９に関連して詳述するように、クラスタのサーバに別のクラスタのサーバの非稼動状況を通知することが可能になる。図３においては、通信チャネル３９の除去により、制御サーバ２５とデータベース・サーバＤ２との間の通信は、通信チャネル３８を介した制御サーバ２５とデータベース・サーバＤ１との間の通信と、通信リンク２７を介したデータベース・サーバＤ１及びＤ２間の通信との組み合わせによって、間接的に達成することができる。
【００２７】
図５は、アプリケーション・サーバ・クラスタ２２を除去した後の図１のシステム２０を示す。このように、図５におけるシステム２０は、本発明の実施形態に係る、制御サーバ２５と、データベース・サーバ・クラスタ２３に直接結合されたウェブ・サーバ・クラスタ２１を含むリンクされたネットワークとを含む。制御サーバ２５は、クラスタ２１及び２３内の各々のサーバにリンクされる。図１におけるように、クラスタ２１は及び２３は、それぞれロード・バランサＬＷ及びＬＤを含む。ウェブ・サーバ・クラスタ２１がデータベース・サーバ・クラスタ２３に直接結合され、介在するアプリケーション・サーバ・クラスタがないので、図５におけるシステム２０は、静的ウェブ・コンテンツを要求するアプリケーションの処理には適するが、動的ウェブ・コンテンツを要求するアプリケーションの処理には適さない。
【００２８】
図６は、本発明の実施形態に係る、データベース・サーバ・クラスタ２３のロード・バランサＬＤを除去した後の図５を示す。図６は、上述の図２と同様のものである。
【００２９】
図７は、本発明の実施形態に係る、制御サーバ２５と、データベース・サーバ・クラスタ２３のデータベース・サーバＤ２との間の通信チャネル３９を除去した後の図６を示す。図７は、上述の図３と同様のものである。
【００３０】
図８は、本発明の実施形態に係る、サービス・ノードを各々のクラスタに追加した後の図１を示す。クラスタのサービス・ノードは、ハードウェア・サービス、ソフトウェア・サービス、ヘルプデスク・サービスなどといった支援サービスを該クラスタ内のサーバ群に提供する。ウェブ・サーバ・クラスタ２１、アプリケーション・サーバ・クラスタ２２、及びデータベース・サーバ・クラスタ２３に、それぞれサービス・ノードＳＷ、ＳＡ、及びＳＤが追加された。制御サーバ２５は、通信チャネル４６、５１、及び５４を介して、それぞれサービス・ノードＳＷ、ＳＡ、及びＳＤに接続される。ウェブ・サーバ・クラスタ２１においては、サービス・ノードＳＷは、通信経路４７及び４８を介して、それぞれウェブ・サーバＷ１及びＷ２に接続される。アプリケーション・サーバ・クラスタ２２においては、サービス・ノードＳＡは、通信経路５２及び５３を介して、それぞれアプリケーション・サーバＡ１及びＡ２に接続される。データベース・サーバ・クラスタ２３においては、サービス・ノードＳＤは、通信経路５５及び５６を介して、それぞれデータベース・サーバＤ１及びＤ２に接続される。
【００３１】
サービス・ノードをどのように利用できるかに関する例として、制御サーバ２５が、アプリケーション・サーバ・クラスタ２２のアプリケーション・サーバＡ１は非稼動状態であると判断した状況を考える。この場合には、制御サーバ２５は、通信チャネル５１を介してサービス・ノードＳＡと通信し、アプリケーション・サーバＡ１が非稼動である原因の判断を行うよう通信チャネル５１に指示することができる。この判断が行われると、サービス・ノードＳＡは、（例えば、アプリケーション・サーバＡ１が非稼動である原因に関連する問題を修復することによって）アプリケーション・サーバＡ１を稼動状態にすることが容易になる場合がある。サービス・ノードＳＡは、アプリケーション・サーバＡ１が非稼動状態である原因の判断を助けるために、及び／又は、アプリケーション・サーバＡ１を稼動状態にすることを支援するために、通信経路５２及び／又は５３を利用することができる。
【００３２】
図１〜図４及び図８〜図９のシステム２０は３つのクラスタ（すなわち、クラスタ２１〜２３）からなるものとして説明し、図５〜図７のシステム２０は２つのクラスタ（すなわち、クラスタ２１及び２３）からなるものとして説明したが、本発明のシステムは、一般に複数のクラスタを含むものであり、したがって２つ又は３つのクラスタのみに限定されない。さらに、複数のアプリケーションをシステム２０上で同時に実行できることを理解すべきである。
【００３３】
図１〜図１０においては、制御サーバ２５は、システム２０の制御センタとして機能し、システム２０全体にわたる情報交換を調整するように機能する。したがって、制御サーバは、システム２０におけるサーバ間の直接通信リンクの全てに関するマップを利用することができる。したがって、制御サーバ２５は、この直接通信リンクの全てを記述するグローバル・データセットにアクセスすることができる。定義として、データセットは、いずれかのデータ・フォーマット又はデータ編成フォーマットに従ったデータの集合である。データセットの例として、フラット・ファイル、データ・テーブル、リレーショナル・データベース・テーブルなどが挙げられる。
【００３４】
図１１は、本発明の実施形態に係る図１のシステムに対応付けられたグローバル・データセットを示す。図１１のグローバル・データセットは、システム内の各々の通信リンク（すなわち、ＬＩＮＫ１、ＬＩＮＫ２、．．．）と、こうした各々の通信リンクによって相互に直接接続されるサーバとをリストにした表である。例として、図１１は、サーバＷ１とＡ１とを直接接続するＬＩＮＫ１を記載し、図９は、ＬＩＮＫ１が通信リンク４１を表わすことを示す。別の例として、図１１は、サーバＷ２とＡ１とを直接接続するＬＩＮＫ３を記載し、図１０は、ＬＩＮＫ３が通信リンク４２を表わすことを示す。
【００３５】
図１４及び図１５は、本発明の実施形態に係る、それぞれ図２及び図３のシステムに対応付けられたグローバル・データセットを示す。図２と対応させると、図１４のグローバル・データセットは、データベース・サーバＤ１とＤ２とを接続するものとしてＬＩＮＫ９を示し、したがって、ＬＩＮＫ９は、図２の通信リンク２７に対応する。図３と対応させると、図１５のグローバル・データセットは、図１４のＬＩＮＫ８がないことを示し、これは、上述のように図３に通信リンク３９がないことに対応する。
【００３６】
制御サーバ２５は、システム２０内の通信リンク全体を記述するグローバル・データセットにアクセスすることができるが、個々のクラスタは、個々のサーバをそのサーバの下流に位置する次のクラスタに直接接続する通信リンクのみを記述するローカル・データセットにアクセスすることができる。したがって、図１との関係では、図１２の表は、図１のウェブ・サーバ・クラスタ２１のためのローカル・データセットであり、すなわち、図１２のリンクであるＬＩＮＫ１、ＬＩＮＫ２、ＬＩＮＫ３、及びＬＩＮＫ４は、図１のクラスタ２１のウェブ・サーバと、クラスタ２２のアプリケーション・サーバとの間の通信リンクに対応する。同様に、図１との関係では、図１３の表は、図１のアプリケーション・サーバ・クラスタ２２のためのローカル・データセットであり、すなわち、図１３のリンクであるＬＩＮＫ５、ＬＩＮＫ６、ＬＩＮＫ７、及びＬＩＮＫ８は、図１のクラスタ２２のアプリケーション・サーバと、クラスタ２３のデータベース・サーバとの間の通信リンクに対応する。
【００３７】
図１６〜図１８は、本発明の実施形態に係る、図１〜図１０のシステム２０のデータ・トラフィックを最適化するための第１の方法を、制御サーバ２５の役割に特に着目しながら説明するフロー・チャートである。
【００３８】
図１６のフロー・チャートは方法ステップ６１〜６６を含む。ステップ６１では、制御サーバと、複数のクラスタを含むネットワークとを有するシステム（例えば、図１〜図１０のシステム２０）を提供する。ネットワークの各々のクラスタは、複数の同一サーバを含み、該ネットワークの少なくとも１つの他のクラスタに直接接続される。相互に直接接続されるクラスタ対の各々は、該クラスタ対の第１のクラスタにおける各々のサーバが、通信リンクを介して該クラスタ対の第２のクラスタにおける少なくとも１つのサーバに直接接続されることを特徴とする。例えば、説明のために図９を用いると、第１のクラスタ（例えば、クラスタ２１）の第１のサーバ（例えば、Ｗ１）は、通信リンク４１を介して、第２のクラスタ（例えば、クラスタ２２）の第２のサーバ（例えば、Ａ１）に直接接続することができる。制御サーバは、通信リンクの稼動状況を監視するようになっている。通信リンクの稼動状況は、通信リンクが稼動状態である（すなわち、正しく作動している）こと、又は、非稼動状態である（すなわち、誤って作動しているか、若しくは作動していない）ことである。制御サーバは、各々のクラスタにおける少なくとも１つのサーバに、該制御サーバと該少なくとも１つのサーバとの間の通信チャネルを介して直接リンクされる。
【００３９】
ステップ６２において、制御サーバは、第１のサーバに照会信号を送信することによって、第１のクラスタの第１のサーバと第２のクラスタの第２のサーバとの間にある第１の通信リンクの稼動状況を監視するようになっている。照会信号は、通信リンクの稼動状況を示す応答信号を制御サーバに送信するように第１のサーバに要求する。
【００４０】
ステップ６３において、制御サーバは、第１のサーバがステップ６２において送信された照会信号に対して所定時間内に応答したかどうかを判断する。所定時間は、第１のサーバが照会信号に応答することが当然に予想される最短時間と同一か、又はそれより長くなるように選択することができる。
【００４１】
ステップ６３において、制御サーバが、第１のサーバが所定時間内に応答しなかったと判断した場合には、該制御サーバは、該第１のサーバが非稼働状態であると見なし、それに応じて、次にステップ６４において、該第１のサーバが非稼働状態であることに対応する手順が実行される。ステップ６４は、図１８に関連して詳細に後述する。制御サーバは、監視目的で照会信号を繰り返し（例えば、定期的に）第１のサーバに送信するようになっているため、ステップ６４が実行された後は、手順はステップ６２に戻る。
【００４２】
ステップ６３において、制御サーバが、第１のサーバが所定時間内に予定された応答信号によって応答したと判断した場合には、次にステップ６５が実行される。ステップ６５において、制御サーバは、第１及び第２のサーバ間の通信リンクが稼動しているかどうかを判断するために、第１のサーバからの応答信号を検査する。ステップ６５において、制御サーバが、第１及び第２のサーバ間の通信リンクが非稼動状態であると判断した場合には、次にステップ６６において、通信リンクが非稼動状態であることに対応する手順が実行される。ステップ６６は、図１７に関連して詳細に後述する。制御サーバは、監視目的で照会信号を繰り返し（例えば、定期的に）第１のサーバに送信するようになっているため、ステップ６６が実行された後は、手順はステップ６２に戻る。
【００４３】
図１７は、図１６又は図１９の第１及び第２のサーバ間における非稼動状態の通信リンクに対応するものとして、本発明の実施形態に係る図１６のステップ６６の手順（又は、図１９のステップ８６の手順）を説明するフロー・チャートである。図１７のフロー・チャートは、方法ステップ７０〜７４を含む。図１７においては、第１のクラスタはロード・バランサを有するものと仮定する。
【００４４】
ステップ７０において、制御サーバは、第１及び第２のサーバ間の通信リンクが非稼動状態であることを、第１のクラスタのロード・バランサに通知する。
【００４５】
ステップ７１において、ロード・バランサは、その通信リンクが非稼動状態であることを通知されると、非稼動状態の第１の通信リンクに関する第１のサーバをフェイル・オーバするようになっている。これは、ロード・バランサが、第１のサーバが通信リンクを介して伝送されるデータ・トラフィックを処理できない状態にすることを意味する。
【００４６】
ステップ７２において、制御サーバは、第１及び第２のサーバ間の通信リンクが非稼動状態であることを、第１のクラスタのサービス・ノードに報告する。
【００４７】
ステップ７３において、サービス・ノードは、通信リンクが非稼動状態である原因を判断するようになっている。サービス・ノードは、通信リンクが非稼動状態である原因の判断を助けるために、自分自身と第１のクラスタのサーバとの間の通信経路を利用することができる。
【００４８】
ステップ７４において、サービス・ノードは、その通信リンクが非稼動状態である原因を判断すると、（例えば、通信リンクが非稼動状態である原因と関連する問題を修復することによって）該通信リンクを稼動状態にすることを支援するようになっている。サービス・ノードは、通信リンクを稼動状態にすることを支援するのに役立つように、自分自身と第１のクラスタのサーバとの間にある通信経路を利用することができる。
【００４９】
図１７において、ステップ７２〜７４はステップ７０〜７１に続くように示されるが、本発明の範囲には、ステップ７２〜７４がステップ７０〜７１と並列である実施形態、及び、ステップ７２〜７４がステップ７０〜７１に先行する実施形態を含む。
【００５０】
図１８は、図１６又は図１９の非稼動状態の第１のサーバに対応するものとして、本発明の実施形態に係る図１６のステップ６４の手順（又は、図１９のステップ８４の手順）を説明するフロー・チャートである。図１８のフロー・チャートは、方法ステップ７５〜７９を含む。図１８においては、第１のクラスタはロード・バランサを有するものと仮定する。
【００５１】
ステップ７５において、制御サーバは、第１のサーバが非稼動状態であることを、第１のクラスタのロード・バランサに通知する。
【００５２】
ステップ７６において、ロード・バランサは、第１のサーバが非稼動状態であることを通知されると、該第１のサーバをフェイル・オーバするようになっている。
【００５３】
ステップ７７において、制御サーバは、第１のサーバが非稼動状態であることを、第１のクラスタ内のサービス・ノードに報告する。
【００５４】
ステップ７８において、サービス・ノードは、第１のサーバが非稼動状態である原因を判断するようになっている。サービス・ノードは、第１のサーバが非稼動状態である原因の判断を助けるために、自分自身と第１のクラスタのサーバとの間の通信経路を利用することができる。
【００５５】
ステップ７９において、サービス・ノードは、第１のサーバが非稼動状態である原因を判断すると、（例えば、第１のサーバが非稼動状態である原因と関連する問題を修復することによって）該第１のサーバを稼動状態にすることを支援するようになっている。サービス・ノードは、第１のサーバを稼動状態にすることを支援するのに役立つように、自分自身と第１のクラスタのサーバとの間にある通信経路を利用することができる。
【００５６】
図１８において、ステップ７７〜７９はステップ７５〜７６に続くように示されるが、本発明の範囲には、ステップ７７〜７９がステップ７５〜７６と並列である実施形態、及び、ステップ７７〜７９がステップ７５〜７６に先行する実施形態を含む。
【００５７】
図１９及び図１７〜図１８は、本発明の実施形態に係る、図１〜図１０のシステム２０のデータ・トラフィックを最適化するための第２の方法を、制御サーバ２５の役割に特に着目しながら説明するフロー・チャートである。
【００５８】
図１９のフロー・チャートは、方法ステップ８１〜８７を含む。ステップ８１では、制御サーバと、複数のクラスタを含むネットワークとを有するシステム（例えば、図１〜図１０のシステム２０）を提供する。ネットワークの各々のクラスタは、複数の同一サーバを含み、該ネットワークの少なくとも１つの他のクラスタに直接接続される。相互に直接接続されるクラスタ対の各々は、該クラスタ対の第１のクラスタにおける各々のサーバが、通信リンクを介して、該クラスタ対の第２のクラスタにおける少なくとも１つのサーバに直接接続されることを特徴とする。例えば、説明のために図９を用いると、第１のクラスタ（例えば、クラスタ２１）の第１のサーバ（例えば、Ｗ１）は、通信リンク４１を介して、第２のクラスタ（例えば、クラスタ２２）の第２のサーバ（例えば、Ａ１）に直接接続することができる。制御サーバは、通信リンクの稼動状況を監視するようになっている。制御サーバは、各々のクラスタにおける少なくとも１つのサーバに、該制御サーバと該少なくとも１つのサーバとの間の通信チャネルを介して直接リンクされる。
【００５９】
ステップ８２において、制御サーバは、第１のクラスタの第１のサーバから、又は、第１のクラスタのロード・バランサから、エンティティが非稼動状態であることを示すメッセージを受信するようになっている。非稼動状態のエンティティは、第１のクラスタのサーバ、又は、第１のクラスタの第１のサーバと第２のクラスタの第２のサーバとの間にある通信リンクである。
【００６０】
ステップ８３において、制御サーバは、エンティティから受信したメッセージを分析して、第１のクラスタのサーバが非稼動状態であるかどうかを判断する。
【００６１】
ステップ８３において、制御サーバが、メッセージに基づいて第１のクラスタのサーバが非稼動状態であると判断した場合には、次にステップ８４において、第１のサーバが非稼動状態であることに対応する手順が実行される。ステップ８４は、図１８に関連して詳細に上述した。制御サーバは、監視目的で照会信号を繰り返し（例えば、定期的に）第１のサーバに送信するようになっているため、ステップ８４が実行された後は、手順は図１６のステップ６２に分岐させることができる。
【００６２】
ステップ８３において、制御サーバが、メッセージに基づいて第１のクラスタのサーバが非稼動状態であると判断しなかった場合には、次にステップ８５が実行される。ステップ８５において、制御サーバは、通信リンクが稼動状態であるかどうかを判断する。ステップ８５において、制御サーバが通信リンクは非稼動状態であると判断しなかった場合には、ステップ８２では制御サーバによって受信されたメッセージはエンティティ（すなわち、第１のクラスタのサーバ又は通信リンク）が非稼動状態であることを特定するものであることを前提とするので、ステップ８７に示すようにエラーを発生させる。ステップ８５において、制御サーバが通信リンクは非稼動状態であると判断した場合には、次にステップ８６において、通信リンクが非稼動状態であることに対応する手順が実行される。ステップ８６は、図１７に関連して詳細に上述した。制御サーバは、監視目的で照会信号を繰り返し（例えば、定期的に）第１のサーバに送信するようになっているため、ステップ８６が実行された後は、手順は図１６のステップ６２に分岐させることができる。
【００６３】
上述のように、本発明のシステム２０は、一般に複数のクラスタを含み、２つ又は３つのクラスタに限定されるものではない。さらに、複数のアプリケーションをシステム２０上で同時に実行することができる。したがって、図１６〜図１９に関連して上述した方法は、システム２０による１つ又は複数のアプリケーションの効率的な同時処理を容易にするものである。このように、システム２０は、アプリケーション全体を処理するのに必要なすべてのサーバに関して、アプリケーション全体を処理するためのシステム内サーバのアプリケーションについての可用性を高め、場合によっては最大にする可能性があるため、アプリケーションについて高可用性処理環境を与えるものである。
【００６４】
図２０は、本発明の実施形態に係る高可用性処理環境を保持するのに用いられるコンピュータ・システム９０を示す。コンピュータ・システム９０は、プロセッサ９１と、該プロセッサ９１に結合される入力装置９２と、該プロセッサ９１に結合される出力装置９３と、各々が該プロセッサ９１に結合されるメモリ装置９４及び９５とを備える。入力装置９２は、特に、キーボード、マウスなどとすることができる。出力装置９３は、特に、プリンタ、プロッタ、コンピュータ・スクリーン、磁気テープ、取り外し可能なハード・ディスク、フロッピー・ディスクなどとすることができる。メモリ装置９４及び９５は、特に、ハード・ディスク、フロッピー・ディスク、磁気テープ、コンパクト・ディスク（ＣＤ）又はデジタル・ビデオ・ディスク（ＤＶＤ）などの光学式記憶媒体、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、読み出し専用メモリ（ＲＯＭ）などとすることができる。メモリ装置９５は、コンピュータ・コード９７を含む。コンピュータ・コード９７は、本発明に係る高可用性処理環境を保持するための、図１〜図１０の制御サーバ２５によって利用されるアルゴリズムを含むことができる。プロセッサ９１は、コンピュータ・コード９７を実行する。メモリ装置９４は、入力データ９６を含む。入力データ９６は、コンピュータ・コード９７によって必要とされる入力を含む。出力装置９３は、コンピュータ・コード９７からの出力を表示する。メモリ装置９４及び９５のいずれか又は両方（あるいは、図２０に図示されない１つ又は複数の追加のメモリ装置）は、コンピュータ・コード９７を含むコンピュータ可読プログラム・コードが組み込まれた、及び／又は、他のデータが格納されたコンピュータ使用可能媒体（又は、コンピュータ可読媒体若しくはプログラム格納装置）として、用いることができる。一般に、コンピュータ・システム９０のコンピュータ・プログラム（又は、代替的には、製品）は、上記のコンピュータ使用可能媒体（又は、上記のプログラム記憶装置）を含むことができる。
【００６５】
図２０は、ハードウェア及びソフトウェアの特定の構成としてコンピュータ・システム９０を示すが、当業者であれば分かるように、ハードウェア及びソフトウェアのいかなる構成も、図２０の特定のコンピュータ・システム９０に関連して上述した目的のために利用することができる。例えば、メモリ装置９４及び９５は、個別のメモリ装置ではなく、単一のメモリ装置の一部とすることができる。
【００６６】
本明細書において例示の目的で本発明の実施形態を説明したが、多くの修正及び変更が当業者に明らかになるであろう。したがって、特許請求の範囲は、こうした修正及び変更のすべてを本発明の範囲内にあるものとして包含することを意図している。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施形態に係る、制御サーバと、リンクされたクラスタのネットワークとを示すものであり、ネットワークは、アプリケーション・サーバ・クラスタに結合されたウェブ・サーバ・クラスタと、データベース・サーバ・クラスタに結合されたアプリケーション・サーバ・クラスタとを含み、各々のクラスタは、複数のサーバと１つのロード・バランサとを含み、制御サーバは、各々のクラスタにおける各々のサーバにリンクされる。
【図２】本発明の実施形態に係る、データベース・サーバ・クラスタのロード・バランサを除去した後の図１を示す。
【図３】本発明の実施形態に係る、制御サーバとデータベース・サーバ・クラスタのデータベース・サーバとの間の通信リンクを除去した後の図２を示す。
【図４】本発明の実施形態に係る、アプリケーション・サーバ・クラスタのロード・バランサを除去した後の図１を示す。
【図５】本発明の実施形態に係る、制御サーバと、リンクされたクラスタのネットワークとを示すものであり、ネットワークは、データベース・サーバ・クラスタに結合されたウェブ・サーバ・クラスタを含み、各々のクラスタは、複数のサーバと１つのロード・バランサとを含み、制御サーバは、各々のクラスタにおける各々のサーバにリンクされる。
【図６】本発明の実施形態に係る、データベース・サーバ・クラスタのロード・バランサを除去した後の図５を示す。
【図７】本発明の実施形態に係る、制御サーバと、データベース・サーバ・クラスタのデータベース・サーバとの間の通信リンクを除去した後の図６を示す。
【図８】本発明の実施形態に係る、サービス・ノードを各々のクラスタに追加した後の図１を示す。
【図９】本発明の実施形態に係る、ウェブ・サーバ・クラスタの第１のウェブ・サーバと、アプリケーション・サーバ・クラスタの第１のアプリケーション・サーバと間の通信リンクを説明するように図１を示すものである。
【図１０】本発明の実施形態に係る、ウェブ・サーバ・クラスタの第２のウェブ・サーバと、アプリケーション・サーバ・クラスタの第１のアプリケーション・サーバと間の通信リンクを説明するように図１を示すものである。
【図１１】本発明の実施形態に係る、図１のシステムに対応付けられたグローバル・データセットを示す。
【図１２】本発明の実施形態に係る、図１のシステムのウェブ・サーバ・クラスタに対応付けられたローカル・データセットを示す。
【図１３】本発明の実施形態に係る、図１のシステムのアプリケーション・サーバ・クラスタに対応付けられたローカル・データセットを示す。
【図１４】本発明の実施形態に係る、図２のシステムに対応付けられたグローバル・データセットを示す。
【図１５】本発明の実施形態に係る、図３のシステムに対応付けられたグローバル・データセットを示す。
【図１６】本発明の実施形態に係る、図１のシステムにおける非稼動状態の通信リンクと非稼動状態のサーバとを軽減する第１の方法を説明するフロー・チャートである。
【図１７】本発明の実施形態に係る、非稼動状態の通信リンクに対応する図１６の手順を説明するフロー・チャートである。
【図１８】本発明の実施形態に係る、非稼動状態のサーバに対応する図１６の手順を説明するフロー・チャートである。
【図１９】本発明の実施形態に係る、図１のシステムにおける非稼動状態の通信リンクと非稼動状態のサーバとを軽減する第２の方法を説明するフロー・チャートである。
【図２０】本発明の実施形態に係る、高可用性処理環境を保持するのに用いられるコンピュータ・システムを示す。
【図１】
2007507029.tif 000003
【図２】
2007507029.tif 000004
【図３】
2007507029.tif 000005
【図４】
2007507029.tif 000006
【図５】
2007507029.tif 000007
【図６】
2007507029.tif 000008
【図７】
2007507029.tif 000009
【図８】
2007507029.tif 000010
【図９】
2007507029.tif 000011
【図１０】
2007507029.tif 000012
【図１１】
2007507029.tif 000013
【図１２】
2007507029.tif 000014
【図１３】
2007507029.tif 000015
【図１４】
2007507029.tif 000016
【図１５】
2007507029.tif 000017
【図１６】
2007507029.tif 000018
【図１７】
2007507029.tif 000019
【図１８】
2007507029.tif 000020
【図１９】
2007507029.tif 000021
【図２０】
2007507029.tif 000022
【手続補正書】
【提出日】平成17年7月26日(2005.7.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のクラスタ（２１、２２、２３）を有するネットワークであって、各々のクラスタは複数の同一サーバを備え、各々のクラスタは少なくとも１つの他のクラスタに直接接続され、相互に直接接続されるクラスタ対の各々は前記クラスタ対の第１のクラスタにおける各々のサーバ（Ｗ１）が通信リンクを介して前記クラスタ対の第２のクラスタにおける少なくとも１つのサーバ（Ａ１）に直接接続されることを特徴とする、ネットワークと、
前記通信リンクが稼働状態であるか又は非稼働状態であるかという前記通信リンクの稼動状況を監視するようになっている制御サーバであって、各々のクラスタにおける少なくとも１つのサーバに該少なくとも１つのサーバとの間の通信チャネルを介して直接リンクされる、制御サーバと、
前記ネットワークにおける各々の通信リンクの識別符号を含む、前記制御サーバがアクセス可能なグローバル・データセットと、
前記複数のクラスタの各々のクラスタに固有のローカル・データセットであって、前記グローバル・データセットにアクセス可能な前記各々のクラスタのサーバが該クラスタからデータを流すために結合された、前記ネットワークにおける各々の通信リンクの識別符号を含むローカル・データセットと、
を備える、高可用性処理環境を保持するためのシステム。
【請求項２】
前記制御サーバは、前記第１のクラスタの第１のサーバと前記第２のクラスタの第２のサーバとの間にある第１の通信リンクの稼動状況を、前記第１の通信リンクが稼動状態であるか又は非稼動状態であるかという前記第１の通信リンクの前記稼動状況を示す応答信号を前記制御サーバに送信するように前記第１のサーバに要求する照会信号を前記第１のサーバに送信することによって、監視するようになっている、請求項１に記載のシステム。
【請求項３】
前記第１のサーバは、戻り信号を前記第１の通信リンクを介して前記第１のサーバに送信するように前記第２のサーバに指示するプロンプト信号を、前記第１の通信リンクを介して前記第２のサーバに送信することによって、前記照会信号に応答するようになっており、前記戻り信号の有無が前記第１の通信リンクの前記稼動状況を示すものである、請求項２に記載のシステム。
【請求項４】
前記第１のクラスタは、前記第１のクラスタが備えるサーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記制御サーバは、前記第１の通信リンクが非稼動状態であることを示す前記応答信号を前記第１のサーバから受信した場合に、前記第１の通信リンクが非稼動状態であることを前記ロード・バランサに通知するようになっている、請求項２に記載のシステム。
【請求項５】
前記第１のクラスタは、前記第１のクラスタが備えるサーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記制御サーバは、前記照会信号を前記第１のサーバに送信した後の所定時間内に前記第１のサーバから前記応答信号を受信しなかった場合に、前記第１のサーバが非稼動状態であると判断し、前記第１のサーバが非稼動状態であることを前記ロード・バランサに通知するようになっている、請求項２に記載のシステム。
【請求項６】
前記制御サーバは、前記第１のクラスタの第１のサーバに直接リンクされ、かつ、前記第１のクラスタの第２のサーバに直接リンクされておらず、前記第１のサーバは前記第２のサーバに直接接続されており、前記制御サーバは、前記第２のサーバが稼動状態であるか又は非稼動状態であるかという前記第２のサーバの稼動状況を、前記第１のサーバとの直接通信と、前記第１のサーバ及び前記第２のサーバ間における直接通信とを併用することによって監視するようになっている、請求項１に記載のシステム。
【請求項７】
前記複数のクラスタは、ウェブ・サーバのウェブ・クラスタと、アプリケーション・サーバのアプリケーション・クラスタと、データベース・サーバのデータベース・クラスタとを含み、前記ウェブ・クラスタは前記アプリケーション・クラスタに直接接続され、前記アプリケーション・クラスタは前記データベース・クラスタに直接接続され、前記ウェブ・クラスタは、前記ウェブ・クラスタと前記データベース・クラスタとの間の中継クラスタとして機能する前記アプリケーション・クラスタを介して、前記データベース・クラスタと通信を行うようになっている、請求項１に記載のシステム。
【請求項８】
前記ウェブ・クラスタは、前記ウェブ・クラスタが備える前記ウェブ・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記アプリケーション・クラスタは、前記アプリケーション・クラスタが備える前記アプリケーション・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記データベース・クラスタは、前記データベース・クラスタが備える前記データベース・サーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有する、請求項７に記載のシステム。
【請求項９】
前記複数のクラスタは、ウェブ・サーバのウェブ・クラスタとデータベース・サーバのデータベース・クラスタとを含み、前記ウェブ・クラスタは前記データベース・クラスタに直接接続され、前記ウェブ・クラスタは前記データベース・クラスタと直接通信するようになっている、請求項１に記載のシステム。
【請求項１０】
複数のクラスタ（２１、２２、２３）を有するネットワークであって、各々のクラスタは複数の同一サーバを備え、各々のクラスタは少なくとも１つの他のクラスタに直接接続され、相互に直接接続されるクラスタ対の各々は前記クラスタ対の第１のクラスタにおける各々のサーバ（Ｗ１）が通信リンクを介して前記クラスタ対の第２のクラスタにおける少なくとも１つのサーバ（Ａ１）に直接接続されることを特徴とする、ネットワークを提供するステップと、
前記通信リンクが稼働状態であるか又は非稼働状態であるかという前記通信リンクの稼動状況を監視するようになっている制御サーバであって、各々のクラスタにおける少なくとも１つのサーバに該少なくとも１つのサーバとの間の通信チャネルを介して直接リンクされる、制御サーバを提供するステップと、
前記ネットワークにおける各々の通信リンクの識別符号を含む、前記制御サーバがアクセス可能なグローバル・データセットを提供するステップと、
前記複数のクラスタの各々のクラスタに固有のローカル・データセットであって、前記グローバル・データセットにアクセス可能な前記各々のクラスタのサーバが該クラスタからデータを流すために結合された、前記ネットワークにおける各々の通信リンクの識別符号を含むローカル・データセットを提供するステップと、
を含む、高可用性処理環境を保持するための方法。
【請求項１１】
前記第１のクラスタの第１のサーバと前記第２のクラスタの第２のサーバとの間にある第１の通信リンクの稼動状況を監視するステップをさらに含み、前記監視するステップは前記制御サーバによって実行され、前記監視するステップは、前記第１の通信リンクが稼動状態であるか又は非稼動状態であるかという前記第１の通信リンクの前記稼動状況を示す応答信号を前記制御サーバに送信するように前記第１のサーバに要求する照会信号を前記第１のサーバに送信するステップを含む、請求項１０に記載の方法。
【請求項１２】
前記第１のサーバは、戻り信号を前記第１の通信リンクを介して前記第１のサーバに送信するように前記第２のサーバに指示するプロンプト信号を、前記第１の通信リンクを介して前記第２のサーバに送信することによって、前記照会信号に応答するようになっており、前記戻り信号の有無が前記第１の通信リンクの前記稼動状況を示すものである、請求項１１に記載の方法。
【請求項１３】
前記第１のクラスタは、前記第１のクラスタが備えるサーバ間でデータ・トラフィックを均等に分配するようになっているロード・バランサを有し、前記制御サーバが、前記照会信号を前記第１のサーバに送信した後の所定時間内に前記第１のサーバから前記応答信号を受信しなかった場合に、前記第１のサーバが非稼動状態であると判断するステップと、前記第１のサーバが非稼動状態であることを前記ロード・バランサに通知するステップとをさらに含み、前記第１のサーバが非稼働状態であることを判断する前記ステップと通知する前記ステップとは、前記制御サーバによって実行される、請求項１１に記載の方法。
【請求項１４】
前記制御サーバは、前記第１のクラスタの第１のサーバ又は前記第１のクラスタのロード・バランサから、前記第１のクラスタのサーバと、前記第１のクラスタの前記第１のサーバ及び前記第２のクラスタの第２のサーバの間にある通信リンクとからなる群から選択されるエンティティが非稼動状態であることを示すメッセージを受信するようになっている、請求項１０に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
１つの態様において、本発明は、複数のクラスタを有するネットワークであって、各々のクラスタは複数の同一サーバを備え、各々のクラスタは少なくとも１つの他のクラスタに直接接続され、相互に直接接続されるクラスタ対の各々は該クラスタ対の第１のクラスタにおける各々のサーバが通信リンクを介して該クラスタ対の第２のクラスタにおける少なくとも１つのサーバに直接接続されることを特徴とする、ネットワークと、前記通信リンクが稼働状態であるか又は非稼働状態であるかという該通信リンクの稼動状況を監視するようになっている制御サーバであって、各々のクラスタにおける少なくとも１つのサーバに、該少なくとも１つのサーバとの間の通信チャネルを介して直接リンクされる、制御サーバと、前記ネットワークにおける各々の通信リンクの識別符号を含む、前記制御サーバがアクセス可能なグローバル・データセットと、前記複数のクラスタの各々のクラスタに固有のローカル・データセットであって、前記グローバル・データセットにアクセス可能な前記各々のクラスタのサーバがクラスタからデータを流すために結合された、前記ネットワークにおける各々の通信リンクの識別符号を含むローカル・データセットと、を備える高可用性処理環境を保持するためのシステムを提供する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
本発明はまた、複数のクラスタを有するネットワークであって、各々のクラスタは複数の同一サーバを備え、各々のクラスタは少なくとも１つの他のクラスタに直接接続され、相互に直接接続されるクラスタ対の各々は該クラスタ対の第１のクラスタにおける各々のサーバが通信リンクを介して該クラスタ対の第２のクラスタにおける少なくとも１つのサーバに直接接続されることを特徴とする、ネットワークを提供するステップと、前記通信リンクが稼働状態であるか又は非稼働状態であるかという該通信リンクの稼動状況を監視するようになっている制御サーバであって、各々のクラスタにおける少なくとも１つのサーバに該少なくとも１つのサーバとの間の通信チャネルを介して直接リンクされる、制御サーバを提供するステップと、前記ネットワークにおける各々の通信リンクの識別符号を含む、前記制御サーバがアクセス可能なグローバル・データセットを提供するステップと、前記複数のクラスタの各々のクラスタに固有のローカル・データセットであって、前記グローバル・データセットにアクセス可能な前記各々のクラスタのサーバがクラスタからデータを流すために結合された、前記ネットワークにおける各々の通信リンクの識別符号を含むローカル・データセットを提供するステップと、を含む高可用性処理環境を保持するための方法を提供する。
【国際調査報告】
2007507029.tif 000023
2007507029.tif 000024
2007507029.tif 000025