(57)【要約】【課題】異種サーバ環境における高可用性／フェイルオーバ実装の複雑さおよび持続時間の削減を容易にすること。【解決手段】異種高可用性クラスタ・マネージャは、第１のクラスタ管理プロトコル内の第１のクラスタ管理コマンドの受信と、第１のクラスタ管理コマンドの第２のクラスタ管理プロトコル内の第２のクラスタ管理コマンドへの変換と、第２のクラスタ管理コマンドの異種クラスタ管理グループ内の第１のノードへの送信とを含む方法を、実装する。第１のクラスタ管理コマンドの第２のクラスタ管理コマンドへの変換を容易にするために、第２のクラスタ管理プロトコルが該マネージャに登録され、これによって第１のクラスタ管理コマンドが第２の管理コマンドにマッピングされる。【選択図】図４
2007066307.tif 000002
【特許請求の範囲】
【請求項１】
第１のクラスタ管理プロトコル内の第１のクラスタ管理コマンドを受信するステップと、
前記第１のクラスタ管理コマンドを、第２のクラスタ管理プロトコル内の第２のクラスタ管理コマンドに変換するステップと、
前記第２のクラスタ管理コマンドを異種クラスタ管理グループ内の第１のノードに送信するステップと、
を有する動作を実行するために、コンピュータによって実行可能な命令の少なくとも１つのプログラムを確実に記録する、コンピュータ使用可能メディアを有するコンピュータ・プログラム。
【請求項２】
前記動作が、
前記第２のクラスタ管理プロトコルを含む少なくとも１つのクラスタ管理プロトコルを登録するステップをさらに有する、請求項１に記載のコンピュータ・プログラム。
【請求項３】
前記少なくとも１つのクラスタ管理プロトコルを登録するステップが、
前記第１のクラスタ管理コマンドから前記第２のクラスタ管理コマンドへの変換を容易にするために、前記第１のクラスタ管理コマンドを前記第２のクラスタ管理コマンドにマッピングするステップを含む、請求項２に記載のコンピュータ・プログラム。
【請求項４】
前記動作が、
前記第１のクラスタ管理コマンドを、第３のクラスタ管理プロトコル内の第３のクラスタ管理コマンドに変換するステップと、
前記第３のクラスタ管理コマンドを異種クラスタ管理グループ内の第２のノードに送信するステップと、
をさらに有する、請求項１に記載のコンピュータ・プログラム。
【請求項５】
前記動作が、
前記第２のクラスタ管理プロトコルおよび前記第３のクラスタ管理プロトコルを含む複数のクラスタ管理プロトコルを登録するステップをさらに有する、請求項４に記載のコンピュータ・プログラム。
【請求項６】
前記複数のクラスタ管理プロトコルを登録するステップが、
前記第１のクラスタ管理コマンドから前記第２のクラスタ管理コマンドへの変換を容易にするために、前記第１のクラスタ管理コマンドを前記第２のクラスタ管理コマンドにマッピングするステップと、
前記第１のクラスタ管理コマンドから前記第３のクラスタ管理コマンドへの変換を容易にするために、前記第１のクラスタ管理コマンドを前記第３のクラスタ管理コマンドにマッピングするステップと、
を含む、請求項５に記載のコンピュータ・プログラム。
【請求項７】
前記動作が、
前記第２のクラスタ管理コマンドを前記異種クラスタ管理グループの前記第１のノードへ送信するのを容易にするために、前記異種クラスタ管理グループの各ノードを登録するステップをさらに有する、請求項１に記載のコンピュータ・プログラム。
【請求項８】
プロセッサと、
前記プロセッサによって動作可能な命令を格納するメモリと、
を有し、前記命令が、
第１のクラスタ管理プロトコル内の第１のクラスタ管理コマンドを受信するため、
前記第１のクラスタ管理コマンドを、第２のクラスタ管理プロトコル内の第２のクラスタ管理コマンドに変換するため、および
前記第２のクラスタ管理コマンドを異種クラスタ管理グループ内の第１のノードに送信するため、
に実行される、サーバ。
【請求項９】
第１のクラスタ管理プロトコル内の第１のクラスタ管理コマンドを受信するステップと、
前記第１のクラスタ管理コマンドを、第２のクラスタ管理プロトコル内の第２のクラスタ管理コマンドに変換するステップと、
前記第２のクラスタ管理コマンドを異種クラスタ管理グループ内の第１のノードに送信するステップと、
を有する、方法。
【請求項１０】
前記第１のクラスタ管理コマンドを、第３のクラスタ管理プロトコル内の第３のクラスタ管理コマンドに変換するステップと、
前記第３のクラスタ管理コマンドを異種クラスタ管理グループ内の第２のノードに送信するステップと、
をさらに有する、請求項９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、異種（heterogeneous）サーバ環境を採用したエンタープライズ・データセンタに関する。具体的には本発明は、異種サーバ環境内でサービスおよびデータを保護するためにエンタープライズ・データセンタによって実装される、高可用性（high availability）技法に関する。
【背景技術】
【０００２】
図１は、４つの高可用性同種（homogeneous）クラスタ２１からなる異（機）種サーバ環境を実装（implement）する、３つのエンタープライズ・データセンタ２０を示す。各クラスタ２１は、エンタープライズ・データセンタ２０全体にわたって等しく分散された、３つのサーバ・ノード２２および３つの高可用性同種クラスタ・マネージャ（「ＨＯＣＭ」）２３を採用する。各マネージャ２３は、関連付けられたサーバ・ノード２２上にインストールされ、特定のクラスタ管理プロトコルに従ってクラスタ管理コマンドを受信するためのアプリケーション・プログラミング・インターフェース・モジュール（「ＡＰＩＭ」）２４を含む。市販されているマネージャ２３の例には、ＩＢＭ社、Ｍｉｃｒｏｓｏｆｔ社、Ｖｅｒｉｔａｓ社が販売するクラスタ・マネージャ、Ｈｅｗｌｅｔｔ−Ｐａｃｋａｒｄ社のＭＣＳＧ（Ｒ）、およびＬｉｎｕｘ（Ｒ）が含まれるが、これらに限定されるものではない。
【０００３】
エンタープライズ・データセンタ２０は、物理的または論理的に異なるサイトに配置される。したがってクラスタ２１のマネージャ２３は、異なるサイトにわたってそのクラスタ２１内のサーバ・ノード２２上でサービスおよびデータを保護するために採用される。特に、クラスタ２１のマネージャ２３は、協働して、そのクラスタ２１内のサーバ・ノード２２のうちの１つの問題を検出することになり、それによって、問題のサーバ・ノード２２に関連付けられたリソース（たとえば、ストレージ・デバイス）が、１つまたは複数のクラスタ管理コマンドに従って、管理者（アドミニストレータ）からそのクラスタ２１内の残りの動作中のサーバ・ノード２２のうちの１つへと転送される。さらに、クラスタ２１のマネージャ２３は、そのクラスタ２１内のサーバ・ノード２２のうちの１つが手作業保守の目的でオフラインとなるのを協働して容易にすることになり、それによって、オフラインのサーバ・ノード２２に関連付けられたリソースが、１つまたは複数のクラスタ・マネージャ・コマンドに従って、管理者からそのクラスタ２１内の残りの動作中のサーバ・ノード２２のうちの１つへと転送される。
【０００４】
この異種サーバ環境において高可用性同種クラスタ２１を排他的に実装することの欠点は、エンタープライズ・データセンタ２０のうちの１つに問題（たとえば自然災害）がある場合、またはエンタープライズ・データセンタ２０のうちの１つの手作業保守を実行する必要がある場合、例示された異種サーバ環境の管理者が、その関連付けられたアプリケーション・プログラミング・インターフェース・モジュール２４を介して、対象データセンタ２０上の個々のサーバ・ノード２２をそれぞれ手作業で管理しなければならないことである。この対象データセンタ２０上の個々のサーバ・ノード２２それぞれの手作業管理は、それぞれのアプリケーション・プログラミング・インターフェース・モジュール２４が、フェイルオーバ（failover：サーバ間で異常アプリケーションを代行処理）および高可用性クラスタ管理のために異なるクラスタ管理プロトコルを実装するため、困難かつ時間がかかる可能性がある。
【０００５】
たとえば、データセンタ２０（１）がアクティブであり、データセンタ２０（２）が非アクティブであり、保守の理由で管理者がデータセンタ２０（１）からデータセンタ２０（２）へのフェイルオーバ・スイッチを実行しなければならないと想定すると、管理者は、クラスタ２１（１）内のサーバ・ノード２２（１）（１）およびサーバ・ノード２２（１）（２）に関する特殊なクラスタ管理プロトコルに従った別個の（discrete）クラスタ管理コマンドと、クラスタ２１（２）内のサーバ・ノード２２（２）（１）およびサーバ・ノード２２（２）（２）に関する特殊なクラスタ管理プロトコルに従った別個のクラスタ管理コマンドと、クラスタ２１（３）内のサーバ・ノード２２（３）（１）およびサーバ・ノード２２（３）（２）に関する特殊なクラスタ管理プロトコルに従った別個のクラスタ管理コマンドと、クラスタ２１（４）内のサーバ・ノード２２（４）（１）およびサーバ・ノード２２（４）（２）に関する特殊なクラスタ管理プロトコルに従った別個のクラスタ管理コマンドと、を実行しなければならない。さらに、各コマンド・セットの持続時間Ｔが等しく、各コマンド・セットが順次実行されるものと想定すると、管理者がデータセンタ２０（１）からデータセンタ２０（２）へのフェイルオーバ・スイッチを完了するための持続時間は、４×Ｔに等しい。明らかにこのプロセスはかなり複雑であり、かなりの時間を費やす可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、コンピュータ業界の課題は、異種サーバ環境における高可用性／フェイルオーバ実装（インプリメンテーション）の複雑さおよび持続時間の削減を容易にすることである。
【０００７】
本発明は、前述の欠点を克服する新しいユニークな高可用性異種クラスタ・マネージャを提供する。
【課題を解決するための手段】
【０００８】
本発明の一形式は、第１のクラスタ管理プロトコル内の第１のクラスタ管理コマンドを受信するための動作と、この第１のクラスタ管理コマンドを第２のクラスタ管理プロトコル内の第２のクラスタ管理コマンドに変換するための動作と、この第２のクラスタ管理コマンドを異種クラスタ管理グループ内のノードに送信するための動作とを実行するために、コンピュータによって実行可能な命令の少なくとも１つのプログラムを確実に記録する、コンピュータ使用可能メディアを有するコンピュータ・プログラムである。
【０００９】
本発明の第２の形式は、プロセッサとプロセッサで動作可能な命令を格納するメモリとを採用するサーバであり、この命令は、第１のクラスタ管理プロトコル内の第１のクラスタ管理コマンドを受信するため、この第１のクラスタ管理コマンドを第２のクラスタ管理プロトコル内の第２のクラスタ管理コマンドに変換するため、およびこの第２のクラスタ管理コマンドを異種クラスタ管理グループ内のノードに送信するために実行される。
【００１０】
本発明の第３の形式は、第１のクラスタ管理プロトコル内の第１のクラスタ管理コマンドを受信するため、この第１のクラスタ管理コマンドを第２のクラスタ管理プロトコル内の第２のクラスタ管理コマンドに変換するため、およびこの第２のクラスタ管理コマンドを異種クラスタ管理グループ内のノードに送信するための、方法である。
【００１１】
本発明の前述の形式および他の形式、目的、および態様、ならびに特徴および利点は、本発明の様々な例示された実施形態の以下の詳細な説明を添付の図面と共に読むことで、さらに明らかとなろう。詳細な説明および図面は、添付の特許請求の範囲およびその等価物によって定義されている本発明の範囲を限定するものではなく、単に例示するものである。
【発明を実施するための最良の形態】
【００１２】
図２は、Ｘ≧１のＸ個の異種クラスタ管理サーバ・ノード３０と、Ｙ≧２のＹ個の高可用性同種クラスタ２５からなる、本発明の高可用性異種サーバ・プール（pool）を示す図であり、各高可用性同種クラスタ２５はＺ≧１のＺ個の高可用性同種サーバ・ノード２２からなる。
【００１３】
高可用性同種クラスタ２５のそれぞれは、たとえばデータベース・アプリケーションおよびウェブ・サーバ・アプリケーションなどの特定のサービスまたはデータあるいはその両方を提供するために、サーバ・ノード２２上にインストールされた１つまたは複数の高度に利用可能な情報技術（「ＩＴ」）アプリケーション（図示せず）を組み込む。
【００１４】
さらに高可用性同種クラスタ２５のそれぞれは、高可用性同種クラスタ・マネージャ（「ＨＯＣＭ」）２３を組み込み、各クラスタ・マネージャ２３は、関連するサーバ・ノード２２上にインストールされた状態であり、特定のクラスタ管理プロトコルに従ってクラスタ管理コマンドを受信するためのアプリケーション・プログラミング・インターフェース・モジュール（「ＡＰＩＭ」）２４を含む。クラスタ２５のクラスタ・マネージャ２３は、特定クラスタ２５のサーバ・ノード２２に関する特殊なクラスタ管理プロトコルに従った別個のクラスタ管理コマンド・セットを提供する。具体的に言えば、クラスタ２５（１）のクラスタ・マネージャ２３（１）は、クラスタ２５（１）内のサーバ・ノード２２（１）（１）〜２２（１）（Ｚ）に関する特殊なクラスタ管理プロトコルに従った別個のクラスタ管理コマンド・セットを提供し、クラスタ２５（２）のクラスタ・マネージャ２３（２）は、クラスタ２５（２）内のサーバ・ノード２２（２）（１）〜２２（２）（Ｚ）に関する特殊なクラスタ管理プロトコルに従った別個のクラスタ管理コマンド・セットを提供する、などという具合に適用される。
【００１５】
本発明に従って１つまたは複数の異種クラスタ管理グループに入るクラスタ２５（１）〜２５（Ｙ）を管理するために、各クラスタ管理サーバ・ノード３０には本発明の異種クラスタ・マネージャ（「ＨＥＣＭ」）４０がインストールされる。各ＨＥＣＭ  ４０は、異なるクラスタ・マネージャ２３によって提供される異なるクラスタ・コマンド・プロトコルへの集中型共通インターフェースを提供する、抽象化層（abstraction layer）として働く。したがって、当業者であれば理解されるように、ＨＥＣＭ  ４０は、別々のクラスタ管理コマンドを異なるクラスタ・マネージャ２３のアプリケーション・プログラミング・インターフェース・モジュール２４に伝送する必要がない。
【００１６】
実際のところ、本発明のＨＥＣＭ  ４０の構造的構成は、ＨＥＣＭ  ４０の商業的実装に依存する。たとえばＨＥＣＭ  ４０は、関連するサーバ・ノード３０にインストールされた別々の特殊なハードウェアとして、関連するサーバ・ノード３０のメモリ内にインストールされたソフトウェアとして、またはそれらの任意の組み合わせとして、構造的に構成することができる。したがって本発明は、本発明のＨＥＣＭ  ４０の構造的構成にいかなる制限またはいかなる制約も課さない。したがって、図４に示された本発明のＨＥＣＭ  ４０の一実施形態に関する以下の説明は、本発明のＨＥＣＭ  ４０の可能な構造的構成の範囲を制限または制約するものではない。
【００１７】
本発明のＨＥＣＭ  ４０の図４に示された実施形態を理解しやすくするために、本明細書では、図４〜図９について、３つのデータセンタ２０および２つの異種クラスタ管理グループ２６を採用する、図３に示された異種サーバ環境との関連において説明する。各異種クラスタ管理グループ２６には、２つの異なる高可用性同種クラスタが含まれ、各クラスタは、エンタープライズ・データセンタ２０にわたって等しく分散された、３つのサーバ・ノード２２および３つの高可用性同種クラスタ・マネージャ（「ＨＯＣＭ」）２３を採用している。具体的に言えば、異種クラスタ管理グループ２６（１）は、データセンタ２０（１）に配置された異なるサーバ・ノード２２（１）（１）および２２（２）（１）、データセンタ２０（２）に配置された異なるサーバ・ノード２２（１）（２）および２２（２）（２）、ならびにデータセンタ２０（３）に配置された異なるサーバ・ノード２２（１）（３）および２２（２）（３）を有する。同様に、異種クラスタ管理グループ２６（２）は、データセンタ２０（１）に配置された異なるサーバ・ノード２２（３）（１）および２２（４）（１）、データセンタ２０（２）に配置された異なるサーバ・ノード２２（３）（２）および２２（４）（２）、ならびにデータセンタ２０（３）に配置された異なるサーバ・ノード２２（３）（３）および２２（４）（３）を有する。
【００１８】
図４を参照すると、マネージャ４０の例示的実施形態は、登録モジュール４１、コマンド実行モジュール４４、およびアプリケーション・プログラミング・インターフェース・モジュール４５を含む。登録モジュール４１は、図５に示された流れ図６０によって表されるように、本発明の登録方法を実装し、コマンド実行モジュール４５は、図１０に示された流れ図９０によって表されるように、本発明のコマンド実行方法を実装する。このため、当業者であれば理解されるように、登録モジュール４１はクラスタ管理プロトコル・レジストリ４２および異種クラスタ管理グループ・レジストリ４３を維持し、コマンド実行モジュール４４は、管理ＡＰＩ呼び出しソース５０（たとえば、図３に示されたデータセンタ２０のうちの１つに配置された管理ワークステーション）によって生成されたクラスタ管理コマンドを実行する目的で、ＨＥＣＭ  ４０が、クラスタ・グループ２６（１）および２６（２）のサーバ・ノード２２によって実装された異なるクラスタ管理プロトコルへの集中型共通インターフェースとして働くのを容易にするために、異種クラスタ管理コマンド・セット４５を維持する。
【００１９】
具体的に言えば、コマンド・セット４５は、異種クラスタ・グループ２６に高可用性サービスを提供する際に、ＨＥＣＭ  ４０に必要な共通コア機能に基づくものである。一実施形態では、共通コア機能はクラスタ・グループ機能、高可用性リソース機能、およびサーバ・ノード機能を含む。クラスタ・グループ機能は、クラスタ・グループ生成、クラスタ・グループ削除、クラスタ・グループ修正変更、クラスタ・グループ開始、クラスタ・グループ停止、クラスタ・グループ／属性／ポリシー定義、およびクラスタ・グループ／属性／ポリシー修正変更からなる。高可用性リソース機能は、高可用性リソース生成、高可用性リソース削除、および高可用性リソース修正変更からなる。サーバ・ノード機能は、サーバ・ノード活動化、サーバ・ノード非活動化、およびサーバ・ノード切り替えからなる。レジストリ４２は、コマンド・セット４５の共通コア機能に基づいて確立および維持される。
【００２０】
図４および図５を参照すると、流れ図６０のステージＳ６２は、レジストリ４２内に各クラスタ管理プロトコルを登録する登録モジュール４１を包含する。図３との関連において、レジストリ４２は、サーバ・ノード２２（１）の特殊なクラスタ管理プロトコル（たとえばＩＢＭ社のHigh Availability Cluster Microprocessing用のプロトコル）、ノード２２（２）の特殊なクラスタ管理プロトコル（たとえばMicrosoft社のCluster Servers用のプロトコル）、ノード２２（３）の特殊なクラスタ管理プロトコル（たとえばVeritas社の ClusterServers用のプロトコル）、およびノード２２（４）の特殊なクラスタ管理プロトコル（たとえばＨｅｗｌｅｔｔ  Ｐａｃｋａｒｄ社のＭＣＳＧ用のプロトコル）の、登録を含むことになる。
【００２１】
図６は、流れ図６０のステージＳ６２の一実施形態を示す流れ図７０である。さらに図６を参照すると、流れ図７０のステージＳ７２は同種クラスタ管理コマンドを受信する登録モジュール４１を包含し、流れ図７０のステージＳ７４は、異なるクラスタ・コマンド・プロトコルを受信された同種クラスタ管理コマンドのマッピングに組み込む（factoring）登録モジュール４１を用いて、異種クラスタ管理コマンドをコマンド・セット４５から受信された同種クラスタ管理コマンドへとマッピングする登録モジュール４１を包含する。
【００２２】
たとえば図７に示されるように、登録モジュール４１は、コマンド・セット４５からの異種クラスタ管理コマンド（「ＨＥＣＭＣ」）を、異なるクラスタ管理プロトコルに基づく各ＨＯＣＭＣを用いて、マネージャ２３からの同じ同種クラスタ管理コマンド（「ＨＯＣＭＣ」）へとマッピングすることができる。特に、ＨＯＣＭＣ（１）〜（４）は、ＨＯＣＭＣ（１）〜ＨＯＣＭＣ（４）が＜ｇｒｏｕｐ  ｎａｍｅ＞および＜ｔａｒｇｅｔ  ｎｏｄｅ＞コマンド・インプリメンテーションを有し、さらにＨＯＣＭＣ（４）が＜ａ  ｄｅｌａｙ＞および＜ａｕｔｏＯｎｌｉｎｅ＞コマンド・インプリメンテーションを有する、高可用性フェイルオーバ・コマンドとすることができる。したがって登録モジュール４１は、基礎となる（underlying）サーバ・ノード２２の異種クラスタ管理グループ化に基づいたコマンド実行モジュール４４による、１つまたは複数の他のＨＯＣＭＣ（１）〜（３）とのＨＯＣＭＣ（４）の同時呼び出し実行を容易にするために、ＨＯＣＭＣ（４）の＜ｄｅｌａｙ＞および＜ａｕｔｏＯｎｌｉｎｅ＞コマンド・インプリメンテーションに関するデフォルト値（たとえばそれぞれ「０」および「Ｙｅｓ」）を設定することによって、クラスタ・グループ移動（move）コマンドの異なる構造を要素として組み込む（factor in）。
【００２３】
再度図４を参照すると、一実施形態では、登録モジュール４１は、グラフィカル・ユーザ・インターフェース（「ＧＵＩ」）を介してソース５０に提示される、任意のタイプの構造およびフォーマットの拡張マークアップ言語（「ＸＭＬ」）ファイルを備えたレジストリ４２を維持することができる。たとえば登録モジュール４１は、図８に示されたＸＭＬファイル１４２を備えたレジストリ４２を維持することができる。ＸＭＬファイル１４２は、ＧＵＩを介してソース５０によって提供されるMicrosoft社  ＭＳＣＳ用の同種クラスタ管理コマンド・セット１４５への異種クラスタ管理コマンド・セット１４４のマッピング、ＧＵＩを介してソース５０によって提供されるVeritas社  ＶＣＳ用の同種クラスタ管理コマンド・セット１４６への異種クラスタ管理コマンド・セット１４４のマッピング、および図示されていない他のマッピングに基づいて、構造化およびフォーマット化される。
【００２４】
再度図５を参照すると、流れ図６０のステージＳ６４は、異種サーバ環境において各異種クラスタ管理グループをレジストリ４３に登録する登録モジュール４１を包含する。図３との関連において、レジストリ４３は、異種クラスタ管理グループ２６（１）および２６（２）の登録を含むことになる。
【００２５】
図９は、図５のステージＳ６４の一実施形態を表す流れ図８０を示す。さらに図９を参照すると、流れ図８０のステージＳ８２は、各異種クラスタ管理グループを定義する登録モジュール４１を包含する。一実施形態では、各異種クラスタ管理グループは、グループが実行可能となるデータセンタ２０、グループが実行されることになる初期データセンタ、ならびに任意の追加パラメータおよび依存関係によって、定義される。たとえば図３との関連において、異種クラスタ管理グループ２６（１）および２６（２）はどちらも、初期のデータセンタならびに任意の追加のパラメータおよび依存関係が指定された状態で、３つのデータセンタ２０すべてで実行可能であるように定義される。以下は、図１１に示されるようなクラスタ・グループ生成コマンドＣＣ２６（１）およびＣＣ２６（２）の例である。
【数１】
2007066307.tif 000003
【００２６】
流れ図８０のステージＳ８４は、各異種クラスタ管理グループ２６にサーバ・ノードを追加する登録モジュール４１を包含する。たとえば図３との関連において、図９に示された例のように、サーバ・ノード２２（１）（１）、２２（１）（２）、２２（１）（３）、２２（２）（１）、２２（２）（２）、および２２（２）（３）は異種クラスタ管理グループ２６（１）に追加され、サーバ・ノード２２（３）（１）、２２（３）（２）、２２（３）（３）、２２（４）（１）、２２（４）（２）、および２２（４）（３）は異種クラスタ管理グループ２６（２）に追加されることになる。以下は、図１１に示されるようなノード追加コマンドＡＮＣＣＣ２６（１）およびＡＮＣＣＣ２６（２）の例である。
【数２】
2007066307.tif 000004
【００２７】
流れ図８０のステージＳ８６は、特定の異種クラスタ管理グループに追加された様々なサーバ・ノードの異なる動作性を組み込むために、ノードの依存関係、属性、およびポリシーを定義する登録モジュール４１を包含する。たとえば図３との関連において、異種クラスタ管理グループ２６（１）のサーバ・ノード２２（１）をウェブ・サーバとし、異種クラスタ管理グループ２６（１）のサーバ・ノード２２（２）をデータベース・サーバとすることが可能であり、それによって、ウェブ・サーバがデータベース・サーバ上のデータを信頼するには、ウェブ・サーバがデータベース・サーバに依拠することになる前にデータベース・サーバをオンラインにする必要がある。以下に、例示的な依存関係を示す。
【数３】
2007066307.tif 000005
【００２８】
流れ図８０が完了すると、レジストリ４３は、図１１に示された例のように、各異種クラスタ管理グループ２６のそのそれぞれのサーバ・ノード２２へのマッピングを含むことになる。
【００２９】
次に、レジストリ４２、レジストリ４３、およびコマンド・セット４５に基づくコマンド実行モジュール４４の動作について説明する。図４および図１０を参照すると、流れ図９０のステージＳ９２は、ＡＰＩ通信モジュール４５を介してソース５０から異種クラスタ管理コマンドを受信する、コマンド実行モジュール４４を包含する。流れ図９０のステージＳ９４は、登録モジュール４１によって実行される登録マッピングに基づいて異種クラスタ管理コマンドを同種クラスタ管理コマンドに変換する、コマンド実行モジュール４４を包含する。流れ図９０のステージＳ９６は、異種クラスタ管理グループ２６の適切なサーバ・ノード２２への同種クラスタ管理コマンドを対象とする呼び出しを実行する、コマンド実行モジュール４４を包含する。
【００３０】
たとえば図３との関連において、データセンタ２０（１）がアクティブであり（活動化されており）、データセンタ２０（２）が非アクティブ（活動化されていない）であって、保守の理由から、管理者はデータセンタ２０（１）からデータセンタ２０（２）へのフェイルオーバ・スイッチを実行しなければならないと想定すると、コマンド実行モジュール４４は、図１２に示されるように、データセンタ２０（１）および２０（２）に代わってフェイルオーバ・スイッチの形で異種クラスタ管理コマンドＨＥＣＭＣを受信し、図７および図１２に示されるように、ＨＥＣＭＣコマンドをＨＥＣＭＣにマッピングされたＨＯＣＭＣ（１）〜（４）コマンドに変換し、図１２に示されるように、異種クラスタ管理グループ２６内のそれぞれのマネージャ２３へのＨＯＣＭＣ（１）〜（４）コマンドを対象とする呼び出しを実行することになる。
【００３１】
本発明の発明原理について、図２〜図９を参照しながら、図２に示された異種サーバ・プールから導出された図３に示された異種サーバ環境との関連において説明した。実際には、当業者であれば、前述の本発明の発明原理を、図２に示された異種サーバ・プールから導出された任意の異種サーバ環境にどのように適用するかを理解されるであろう。
【００３２】
さらに図２〜図９を参照すると、当業者であれば、本明細書で前述した背景技術の欠点に対処することを含むが、これらに限定されるものでない、本発明の多数の利点を理解されるであろう。特に、データセンタの数の増加、異なるクラスタ管理プロトコルの数の増加、または、異種クラスタ管理グループ内のサーバ・ノードの依存関係、属性、およびポリシーの複雑さの増加、あるいはそれらすべてに基づいて、異種サーバ環境が複雑になればなるほど、本発明の利点が重要となる。
【００３３】
図２および図４を参照すると、実用上の実施形態において、マネージャ４０のモジュール４１、４４、および４６は、従来言語で作成されサーバ・ノード３０のメモリ内にインストールされるソフトウェア・モジュールとして記録され、これによりサーバ・ノード３０のプロセッサは、図５〜図１２の例示に関連して説明したように、本発明の様々な動作を実行するためにモジュール４１、４４、および４６を実行することができる。
【００３４】
図２を参照すると、本発明の高可用性異種サーバ・プールの代替実施形態は、Ｘ≧１のＸ個の異種クラスタ管理サーバ・ノード３０と、Ｙ≧１のＹ個の高可用性同種クラスタ２５からなり、各高可用性同種クラスタ２５はＺ≧２のＺ個の高可用性同種サーバ・ノード２２からなる。この実施形態では、ノード３０は高可用性同種クラスタ２５を個別に管理するように設計可能である。この実施形態に関する利点は、各高可用性同種クラスタ２５、ならびにクラスタ２５から導出された各異種クラスタ管理グループ（たとえば、図３に示された異種クラスタ管理グループ２６）に適用可能な、標準的なクラスタ管理セットを確立することにある。
【００３５】
本明細書に開示された本発明の諸実施形態は、現時点での好ましい実施形態であるとみなされるが、本発明の趣旨および範囲を逸脱することなく様々な変更および修正が実行可能である。本発明の範囲は添付の特許請求の範囲に示されており、等価の意味および範囲内にあるすべての変更はその中に包含されるものと意図される。
【図面の簡単な説明】
【００３６】
【図１】当分野で知られる異種サーバ環境の一例を示す図である。
【図２】本発明に従った異種サーバ・プールの一実施形態を示す図である。
【図３】本発明に従った異種サーバ環境の一例を示す図である。
【図４】本発明に従った高可用性異種クラスタ・マネージャの一実施形態を示す図である。
【図５】本発明に従った異種サーバ環境登録方法の一実施形態を示す流れ図である。
【図６】本発明に従ったクラスタ管理プロトコル登録方法の一実施形態を示す流れ図である。
【図７】図３に示された例示的な異種サーバ環境との関連において、図６に示された流れ図の例示的な実行を示す図である。
【図８】本発明に従った拡張マークアップ言語（ＸＭＬ）マッピング・ファイルの一実施形態を示す図である。
【図９】本発明に従った異種クラスタ管理グループ登録方法の一実施形態を示す流れ図である。
【図１０】本発明に従ったクラスタ管理コマンド実行方法の一実施形態を示す流れ図である。
【図１１】図３に示された例示的な異種サーバ環境との関連において、図９に示された流れ図の例示的な実行を示す図である。
【図１２】図３に示された例示的な異種サーバ環境との関連において、図１０に示された流れ図の例示的な実行を示す図である。
【符号の説明】
【００３７】
２６（１）    異種クラスタ・グループ
２６（２）    異種クラスタ・グループ
４０    高可用性異種クラスタ・マネージャ
４１    登録モジュール
４２    クラスタ管理プロトコル・レジストリ
４３    異種クラスタ管理グループ・レジストリ
４４    コマンド実行モジュール
４５    異種クラスタ管理コマンド・セット
４６    アプリケーション・プログラミング・インターフェース（ＡＰＩ）モジュール
５０    管理ＡＰＩ呼び出しソース
【図１】
2007066307.tif 000006
【図２】
2007066307.tif 000007
【図３】
2007066307.tif 000008
【図４】
2007066307.tif 000009
【図５】
2007066307.tif 000010
【図６】
2007066307.tif 000011
【図７】
2007066307.tif 000012
【図８】
2007066307.tif 000013
【図９】
2007066307.tif 000014
【図１０】
2007066307.tif 000015
【図１１】
2007066307.tif 000016
【図１２】
2007066307.tif 000017