(57)【特許請求の範囲】
【請求項１】
複数のマシン・クラスタを含むデータ処理システムにおいてアプリケーション要求を経路指定するための方法であって、前記方法は、前記データ処理システムが備える経路指定装置により実行され、前記経路指定装置が、
アプリケーションを実行することを求める前記アプリケーション要求を受け取るステップと、
経路指定ポリシが適用される、アプリケーションに対する要求を指定する経路指定ポリシ・スコープと、アプリケーションに対する要求を経路指定する方法を定めた前記経路指定ポリシを特定する経路指定ポリシ・アクションとを複数のマルチクラスタ経路指定ポリシ・エントリの各々が含むマルチクラスタ経路指定ポリシ・エントリのリストにおいて、受け取った前記アプリケーション要求に適合した少なくとも１つのマルチクラスタ経路指定ポリシ・エントリを前記経路指定ポリシ・スコープに基づき識別するステップと、
前記適合した少なくとも１つのマルチクラスタ経路指定ポリシ・エントリの前記経路指定ポリシ・アクションにより特定される前記経路指定ポリシとしての、該経路指定ポリシ・アクションにより指定されたマシン・クラスタのうち利用可能なマシン・クラスタが検出されるまで順に経路指定するフェイルオーバ・ポリシ、または該経路指定ポリシ・アクションにより指定されたマシン・クラスタのうち指定された負荷平準化アルゴリズムを適用して経路指定するマシン・クラスタを選択する負荷平準化ポリシに従って、前記複数のマシン・クラスタのうちの１つのマシン・クラスタに前記アプリケーション要求を経路指定するステップと、
を含む、方法。
【請求項２】
前記経路指定装置が、ルータである、請求項１に記載の方法。
【請求項３】
前記経路指定ポリシが前記フェイルオーバ・ポリシであり、前記アプリケーション要求を経路指定するステップが、前記フェイルオーバ・ポリシを有する前記マルチクラスタ経路指定ポリシ・エントリにおいてリストして指定された第１のマシン・クラスタに前記アプリケーション要求を経路指定するステップを含む、請求項１または２に記載の方法。
【請求項４】
前記第１のマシン・クラスタが前記アプリケーション要求を処理することができないことを表す応答を受け取ったかどうかを判定するステップと、
前記第１のマシン・クラスタが前記アプリケーション要求を処理することができない場合、前記マルチクラスタ経路指定ポリシ・エントリにおいてリストして指定された次のマシン・クラスタに前記アプリケーション要求を経路指定するステップと、
を更に含む、請求項３に記載の方法。
【請求項５】
前記第１のマシン・クラスタが前記アプリケーション要求を処理することができない場合に、前記アプリケーション要求を再び前記第１のマシン・クラスタに経路指定しないようにするために、該アプリケーション要求に対してフラッグを設定するステップを更に含む、請求項４に記載の方法。
【請求項６】
前記経路指定ポリシが前記負荷平準化ポリシであり、前記アプリケーション要求を経路指定するステップが、前記負荷平準化ポリシにて適用される負荷平準化アルゴリズムに従って１つの選択されたマシン・クラスタに前記アプリケーション要求を経路指定するステップを含む、請求項１または２に記載の方法。
【請求項７】
前記選択されたマシン・クラスタに前記アプリケーション要求を経路指定した後、前記アプリケーション要求を前記選択されたマシン・クラスタにおける選択されたサーバに経路指定するステップを更に含む、請求項６に記載の方法。
【請求項８】
複数のマシン・クラスタを含むデータ処理システムにおいてアプリケーション要求を経路指定するためのシステムであって、
経路指定ポリシが適用される、アプリケーションに対する要求を指定する経路指定ポリシ・スコープと、アプリケーションに対する要求を経路指定する方法を定めた前記経路指定ポリシを特定する経路指定ポリシ・アクションとを複数のマルチクラスタ経路指定ポリシ・エントリの各々が含むマルチクラスタ経路指定ポリシ・リストと、
前記アプリケーション要求に適合した少なくとも１つのマルチクラスタ経路指定ポリシ・エントリを前記経路指定ポリシ・スコープに基づいて識別し、前記適合した少なくとも１つのマルチクラスタ経路指定ポリシ・エントリの前記経路指定ポリシ・アクションにより特定される前記経路指定ポリシとしての、該経路指定ポリシ・アクションにより指定されたマシン・クラスタのうち利用可能なマシン・クラスタが検出されるまで順に経路指定するフェイルオーバ・ポリシ、または該経路指定ポリシ・アクションにより指定されたマシン・クラスタのうち指定された負荷平準化アルゴリズムを適用して経路指定するマシン・クラスタを選択する負荷平準化ポリシに従って、前記複数のマシン・クラスタのうちの１つのマシン・クラスタに前記アプリケーション要求を経路指定するためのルータと、
を含む、システム。
【請求項９】
前記経路指定ポリシが前記フェイルオーバ・ポリシであり、前記ルータが、前記フェイルオーバ・ポリシを有する前記マルチクラスタ経路指定ポリシ・エントリにおいてリストして指定された第１のマシン・クラスタに前記アプリケーション要求を経路指定する、請求項８に記載のシステム。
【請求項１０】
前記第１のマシン・クラスタが前記アプリケーション要求を処理することができないことを表す応答を受け取ったかどうかを判定するための機構を更に含み、
前記第１のマシン・クラスタが前記アプリケーション要求を処理することができない場合、前記ルータが、前記マルチクラスタ経路指定ポリシ・エントリにおいてリストして指定された次のマシン・クラスタに前記アプリケーション要求を経路指定する、請求項９に記載のシステム。
【請求項１１】
前記第１のマシン・クラスタが前記アプリケーション要求を処理することができない場合に、前記アプリケーション要求を再び前記第１のマシン・クラスタに経路指定しないようにするために、該アプリケーション要求に対してフラッグを設定するための機構を更に含む、請求項１０に記載のシステム。
【請求項１２】
前記経路指定ポリシが前記負荷平準化ポリシであり、前記ルータが、前記負荷平準化ポリシにて適用される負荷平準化アルゴリズムに従って１つのマシン・クラスタに前記アプリケーション要求を経路指定する、請求項８に記載のシステム。
【請求項１３】
複数のマシン・クラスタを含むデータ処理システムにおいてアプリケーション要求を経路指定する方法をコンピュータに実行させるためのプログラムであって、前記コンピュータに、
アプリケーションを実行することを求める前記アプリケーション要求を受け取るステップと、
経路指定ポリシが適用される、アプリケーションに対する要求を指定する経路指定ポリシ・スコープと、アプリケーションに対する要求を経路指定する方法を定めた前記経路指定ポリシを特定する経路指定ポリシ・アクションとを複数のマルチクラスタ経路指定ポリシ・エントリの各々が含むマルチクラスタ経路指定ポリシ・エントリのリストにおいて、受け取った前記アプリケーション要求に適合した少なくとも１つのマルチクラスタ経路指定ポリシ・エントリを前記経路指定ポリシ・スコープに基づき識別するステップと、
前記適合した少なくとも１つのマルチクラスタ経路指定ポリシ・エントリの前記経路指定ポリシ・アクションにより特定される前記経路指定ポリシとしての、該経路指定ポリシ・アクションにより指定されたマシン・クラスタのうち利用可能なマシン・クラスタが検出されるまで順に経路指定するフェイルオーバ・ポリシ、または該経路指定ポリシ・アクションにより指定されたマシン・クラスタのうち指定された負荷平準化アルゴリズムを適用して経路指定するマシン・クラスタを選択する負荷平準化ポリシに従って、前記複数のマシン・クラスタのうちの１つのマシン・クラスタに前記アプリケーション要求を経路指定するステップと
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的にはデータ処理の分野に関し、詳しく云えば、多数のマシン・クラスタを有するデータ処理システムにおいてアプリケーション要求を経路指定するためのコンピュータ実施方法、システム、及びコンピュータ・プログラムに関するものである。
【背景技術】
【０００２】
多数のマシン・クラスタを含むデータ処理システムにおいて、単一のアプリケーションが複数のマシン・クラスタによって操作されることがある。複数のマシン・クラスタの１つが利用し得ないか又は過剰利用されている場合、利用可能な又はより少ない限度で利用される他のマシン・クラスタにそのアプリケーションに関する要求を送ることが知られている。
【０００３】
現在、第１のマシン・クラスタから第２のマシン・クラスタにアプリケーションに関する要求を送りたいとき、その要求は、第２のマシン・クラスタのＵＲＩ（Universal Resource Identifier）を使ってその第２のマシン・クラスタに送られる。そのアプリケーションが第２のマシン・クラスタにおいて利用し得ないものである場合、または第２のマシン・クラスタがその要求を処理し得ない場合、エラー・コードが第１のマシン・クラスタに戻され、第１のマシン・クラスタから第３のマシン・クラスタにそのアプリケーションを送る試みが行われる。その要求を受け入れるマシン・クラスタが見つかるまで、このプロセスを何回も繰り返すことが必要であろう。従って、現在の経路指定手順は、アプリケーション要求に対して高度の可用性を与えるものではなく、或いは、効率的なマシン利用を可能にするものでもない。
【０００４】
従って、複数のマシン・クラスタを含むデータ処理システムにおけるアプリケーションに関する要求を効率的に経路指定するための機構を求める要求が存在する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、複数のマシン・クラスタを含むデータ処理システムにおいてアプリケーション要求を経路指定するためのコンピュータ実施方法、システム、及びコンピュータ・プログラムを提供する。
【課題を解決するための手段】
【０００６】
複数のマシン・クラスタを含むデータ処理システムにおいてアプリケーション要求を経路指定するための本発明のコンピュータ実施方法は、アプリケーションを実行することを求める要求を受け取り、マルチクラスタ経路指定ポリシ・エントリのリストにあってその要求に適合した少なくとも１つのマルチクラスタ経路指定ポリシ・エントリを識別するステップを含む。そこで、アプリケーション要求は、その適合した少なくとも１つのマルチクラスタ経路指定ポリシ・エントリに従って複数のマシン・クラスタのうちの１つのマシン・クラスタに経路指定される。本発明は、アプリケーション要求に対する高度の可用性及び改良されたマシン利用オプションを提供する。
【発明を実施するための最良の形態】
【０００７】
図面、特に、図１及び図２を参照すると、本発明の実施例を具現化し得るデータ処理システムを表す概略図が示される。図１及び図２が単なる例示であって、本発明の種々の側面又は実施例を具現化し得る環境に関する如何なる限定を表明または示唆することを意図するものではないことは当然である。本発明の真意及び範囲から逸脱することなく、図示の環境に対する多くの修正を施すことが可能である。
【０００８】
次に図面を参照すると、図１は、本発明の種々の側面を具現化し得るデータ処理システムの概略図を示す。データ処理システムは参照番号１００によって全体的に指定され、ネットワーク１０２を介して相互に接続された複数のマシン・クラスタ１０４〜１１４を含む。ネットワーク１０２は、種々のクラスタ及び他の装置の間の通信リンクを提供するために使用される媒体であり、図示の例では、インターネットを含む。
【０００９】
各マシン・クラスタ１０４〜１１４は複数のアプリケーション・サーバを含む。例えば、図１に示されるように、クラスタ１０４は複数のアプリケーション・サーバ１０４ａ〜１０４ｎを含み、クラスタ１０６は複数のアプリケーション・サーバ１０６ａ〜１０６ｎを含む。しかし、それが、何らかの特定の数のマシン・クラスタを有するデータ処理システムおよび何らかの特定の数のアプリケーション・サーバを含むマシン・クラスタに本発明を限定することを意図するものではないことは当然である。データ処理システムにおけるマシン・クラスタが種々の数のアプリケーション・サーバを有し得ることも当然である。
【００１０】
次に図２を参照すると、本発明の種々の側面を具現化し得るデータ処理システムのブロック図が示される。データ処理システム２００は、図１におけるアプリケーション・サーバ１０４ａ〜１０４ｎの１つのようなコンピュータの一例であり、そこには、本発明の実施例に関するプロセスを具現化するコンピュータ使用可能コードまたは命令を設けることが可能である。
【００１１】
図示の例では、データ処理システム２００は、ノース・ブリッジ及びメモリ・コントローラ・ハブ（ＮＢ／ＭＣＨ）２０２及びサウス・ブリッジ及び入出力（Ｉ／Ｏ）コントローラ・ハブ（ＳＢ／ＩＣＨ）２０４を含むハブ・アーキテクチャを使用する。処理ユニット２０６、メイン・メモリ２０８、及びグラフィックス・プロセッサ２１０がＮＢ／ＭＣＨ２０２に接続される。グラフィックス・プロセッサ２１０は、アクセラレーテッド・グラフィックス・ポート（ＡＧＰ）を介してＮＢ／ＭＣＨ２０２に接続することも可能である。
【００１２】
図示の例では、ローカル・エリア・ネットワーク（ＬＡＮ）アダプタ２１２がＳＢ／ＩＣＨ２０４に接続する。オーディオ・アダプタ２１６、キーボード及びマウス・アダプタ２２０、モデム２２２、リード・オンリ・メモリ（ＲＯＭ）２２４、ハードディスク・ドライブ（ＨＤＤ）２２６、ＣＤ−ＲＯＭドライブ２３０、ユニバーサル・シリアル・バス（ＵＳＢ）ポート及び他の通信ポート２３２、およびＰＣＩ／ＰＣＩｅデバイス２３４がバス２３８及びバス２４０を介してＳＢ／ＩＣＨ２０４に接続する。ＰＣＩ／ＰＣＩｅデバイス２３４は、例えば、イーサネット（登録商標）・アダプタ、アドイン・カード、及びノートブック・コンピュータ用ＰＣカードを含むことも可能である。ＰＣＩは、カード・バス・コントローラを使用し、一方、ＰＣＩｅはそれを使用しない。ＲＯＭ２２４は、例えば、フラッシュ・バイナリ入出力システム（ＢＩＯＳ）であってもよい。
【００１３】
ＨＤＤ２２６およびＣＤ−ＲＯＭドライブ２３０は、バス２４０を介してＳＢ／ＩＣＨ２０４に接続する。ＨＤＤ２２６およびＣＤ−ＲＯＭドライブ２３０は、例えば、統合ドライブ電子回路（integrated drive electronics : ＩＤＥ）またはシリアル拡張技術接続機構（serial advancedtechnology attachment : ＳＡＴＡ）インターフェースを使用することも可能である。スーパＩ／Ｏ（ＳＩＯ）デバイス２３６もＳＢ／ＩＣＨ２０４に接続することが可能である。
【００１４】
オペレーティング・システムが処理ユニット２０６上で稼動し、図２におけるデータ処理システム２００内の種々のコンポーネントの制御を調整及び提供する。オペレーティング・システムは、クライアントとして、Microsoft Windows（登録商標） XP のような商業的に入手可能なオペレーティング・システムであってもよい（なお、Microsoft 及びWindows（登録商標） は、米国のマイクロソフト社の商標である）。Java（登録商標） プログラミング・システムのようなオブジェクト指向プログラミング・システムがオペレーティング・システムと関連して稼動し、データ処理システム２００において実行されるJava（登録商標） プログラム又はアプリケーションからオペレーティング・システムへのコールを行うことも可能である（なお、Java（登録商標） は米国のサン・マイクロシステムズ社の商標である）。
【００１５】
データ処理システム２００は、サーバとして、例えば、拡張対話式エグゼクティブ（Advanced Interactive Executive : ＡＩＸ）オペレーティング・システム又は LINUX オペレーティング・システムを稼動するIBM eServer pSeries コンピュータ・システムであってもよい（なお、IBM、eServer、pSeries、及びＡＩＸは米国のインターナショナル・ビジネス・マシーンズ社の商標であり、LINUXは米国の Linus Torvalds の商標である）。データ処理システム２００は、処理ユニット２０６に複数のプロセッサを含む対称マルチプロセッサ（ＳＭＰ）システムであってもよい。それとは別に、シングル・プロセッサ・システムを使用することも可能である。
【００１６】
オペレーティング・システム、オブジェクト指向プログラミング・システム、及びアプリケーション又はプログラムの命令がＨＤＤ２２６のような記憶装置に置かれ、処理ユニット２０６による実行のためにメイン・メモリ２０８にロードされることが可能である。本発明の実施例に関するプロセスは、例えば、メイン・メモリ２０８、ＲＯＭ２２４のようなメモリ、或いは１つ又は複数の周辺装置２２６及び２３０に置かれてもよいコンピュータ使用可能プログラム・コードを使用して処理ユニット２０６によって遂行される。
【００１７】
具現化方法次第で、図１及び図２におけるハードウェアが変更可能であることは当業者には明らかであろう。図１及び図２に示されたハードウェアの他に、又はそれの代わりに、内部のハードウェア、またはフラッシュ・メモリ、同等の不揮発性メモリ、光ディスク・ドライブ等のような他の内部ハードウェア及び周辺装置を使用することも可能である。本発明のプロセスはマルチプロセッサ・データ処理システムに適用することも可能である。
【００１８】
或る実施例では、データ処理システム２００は、オペレーティング・システム・ファイル、及び／又は、ユーザ生成のデータを記憶するための不揮発性メモリを提供するために、フラッシュ・メモリによって構成されるパーソナル・デジタル・アシスタント（ＰＤＡ）であってもよい。
【００１９】
バス・システムは、図２に示されるようにバス２３８またはバス２４０のような１つ又は複数のバスから構成されてもよい。もちろん、バス・システムは、接続された種々のコンポーネント又は装置の間でデータの転送を提供する任意のタイプのファブリック又はアーキテクチャを使用して具現化することも可能である。通信ユニットは、図２のモデム２２２またはネットワーク・アダプタ２１２のような、データを送信及び受信するために使用される１つ又は複数の装置を含むことも可能である。メモリは、例えば、メイン・メモリ２０８、ＲＯＭ２２４、或いは、図２におけるＮＢ／ＭＣＨ２０２に見られるようなキャッシュであってもよい。図１及び図２における図示の例及び上述の例は、アーキテクチャ上の限定を示唆することを意味するものではない。例えば、データ処理システム２００は、ＰＤＡの形を取る他に、タブレット・コンピュータ、ラップトップ・コンピュータ、または電話装置であってもよい。
【００２０】
図３は、本発明の実施例に従って、複数のマシン・クラスタを有するデータ処理システムにおいてアプリケーション要求を経路指定するための機構を含む例示的なネットワークトポロジを概略的に示す図である。そのトポロジは、全体的に、参照番号３００によって指定され、複数のマシン・クラスタ３０２ａ〜３０２ｍ及びルータ３０６を含み、各マシン・クラスタは複数のアプリケーション・サーバ３０４ａ〜３０４ｎを含む。
【００２１】
ルータ３０６はトポロジ３００において２レベルの経路指定を行う。それは、先ず、マシン・クラスタ３０２ａ〜３０２ｍのうちのどのクラスタに経路指定すべきかを決定し、次に、選択されたクラスタにおけるサーバ３０４ａ〜３０４ｎのうちのどのサーバに経路指定すべきかを決定する。トポロジ３００では、すべてのクラスタにおけるすべてのサーバがルータ３０６から直接にアドレス可能である。
【００２２】
図４は、本発明の実施例に従って、複数のマシン・クラスタを有するデータ処理システムにおいてアプリケーション要求を経路指定するための機構を含む更なる例示的なネットワーク・トポロジを概略的に示す図である。そのトポロジは、全体的に、参照番号４００によって指定され、マシン・クラスタが地理的に分散配置されるとき、一般に使用されるトポロジを含む。
【００２３】
トポロジ４００では、異なるルータが各クラスタと関連付けられる。従って、図４ではルータ４０６がクラスタ４０２ａと関連付けられ、ルータ４０８がクラスタ４０２ｍと関連付けられ、他のルータがそのデータ処理システムにおける他のクラスタ（図示されていない）と関連付けられる。ルータ４０６は、マシン・クラスタ４０２ａにおけるアプリケーション・サーバ４０４ａ〜４０４ｎのいずれにも要求を直接に送ることができ、ルータ４０８は、マシン・クラスタ４０２ｍにおけるアプリケーション・サーバ４０４ａ〜４０４ｎのいずれにも要求を直接に送ることができる。ルータ４０６及び４０８は相互に要求を送ることもでき、このように、ルータ４０６はクラスタ４０２ｍに要求を間接的に送ることができ、ルータ４０８はクラスタ４０２ａに（及びそれぞれのルータを介して他のクラスタに）要求を間接的に送ることができる。
【００２４】
本発明は、複数のクラスタを有するデータ処理システムにおいてアプリケーション要求を経路指定するための機構を提供する。データ処理システムは、トポロジ３００又は４００の１つにおいて、またはトポロジ３００及び４００の結合体において、または他の態様
において編成することが可能である。本発明によれば、トポロジにおける各ルータは、アプリケーションに対する要求を適正なマシン・クラスタにアプリケーション特有の方法で経路指定するために各ルータが使用するマルチクラスタ経路指定ポリシ（Multi-Cluster Routing Policy : ＭＣＲＰ）エントリのリストを含む。従って、図３におけるルータ３０６はＭＣＲＰリスト３０８を含み、図４におけるルータ４０６および４０８は、それぞれ、ＭＣＲＰリスト４１０及び４１２を含む。
【００２５】
ＭＣＲＰリストにおける各ＭＣＲＰエントリはＭＣＲＰスコープ及びＭＣＲＰアクションを含む。ＭＣＲＰスコープは、ＭＣＲＰエントリが適用する要求を指定し、次のような形式のものである：
[<cell>[:<application>[:module>]]]
但し、<cell> は管理領域の名称であり、<application> はアプリケーションの名称であり、そして<module> はアプリケーション・モジュールの名称（例えば、J2EE Web Module）である。特定の要求がＭＣＲＰリストにおける複数のＭＣＲＰエントリに一致する場合、最も特異なスコープを有するエントリが先ず使用される。
ＭＣＲＰアクションは次のような形式のものである：
<policy>@<cell>$<clusterOrRouter>[,<cell>$<clusterOrRouter>...]
但し、<policy> はポリシの名称であり、<cell> は管理領域の名称であり、<clusterOrRouter> はクラスタ又はルータの名称である。ポリシは、そのポリシがフェイルオーバ・ポリシ（第１クラスタが利用可能でない場合、第２クラスタが試みられる）であるか、又は負荷平準化ポリシ（経路指定が特定の負荷平準化基準に基づいている）であるかを指定する。ポリシが負荷平準化ポリシである場合、そのポリシは、使用するための特定の負荷平準化アルゴリズムを指定することも可能である。
【００２６】
１つの例として図４を参照すると、マシン・クラスタ４０２ａと関連したルータ４０６が、他のマシン・クラスタに経路指定される必要がある要求を受け取り、フェイルオーバ・ポリシを有するＭＣＲＰの適合がＭＣＲＰリスト４１０において見つかった場合、その要求は、一致であるとしてマークアップされる第１クラスタ又はルータ（例えば、クラスタ４０２ｍと関連したルータ４０８）に経路指定される。そのアプリケーションがクラスタ４０２ｍにおいて利用可能でないことを示す応答（例えば、ＨＴＴＰエラー・コード５０３（サービス利用不可）または４０４（未検出））が受信される場合、その要求はそのリストにおける次のマークアップされたクラスタ又はルータに経路指定され、第１クラスタ又はルータが一時的に利用可能でないとしてマークされる。要求がルータ４０６に（従って、クラスタ４０２ａに）返送されるという更なるＭＣＲＰポリシをルータ４０８が適用しようとしないよう、「フラッグ」（例えば、ＨＴＴＰに対して、特別ＨＴＴＰ要求ヘッダ）がそのリクエストと関連付けられる。
【００２７】
ＭＣＲＰポリシが負荷平準化ポリシである場合、ルータが要求を送る各クラスタ、及び／又は、ルータは、単一のサーバとして扱われ、関連するウェートを有する。どのクラスタに経路指定されるべきかを選択するために、適正な負荷平準化アルゴリズムが適用される。クラスタが選択された後、そのクラスタ内のサーバが選択される。サーバ・レベル選択が類縁性（例えば、ＨＴＴＰセッション類縁性、ＷＰＦ（WebSpherePartition Facility）類縁性等）に基づく場合、その後の要求が適正なクラスタに、従って、正しいサーバに経路指定されるよう、クラスタ・レベル類縁性も適用される。
【００２８】
要求に対して類縁性が適用しない場合、クラスタが地理的に分散配置されることがあり、従って、大きな待ち時間の相違を有することがあるので、クラスタ・ウェートを法として最小の未解決要求カウントが選択される「加重最小未解決要求（weighted least outstanding requests）」アルゴリズムが一般に望ましい。
【００２９】
図５は、本発明の実施例に従って、複数のマシン・クラスタを有するデータ処理システムにおいてアプリケーション要求を経路指定するための方法を示すフローチャートである。その方法は参照番号５００によって全体的に示され、アプリケーションを経路指定するための要求を受け取ることによって開始する（ステップ５０２）。次に、ＭＣＲＰにおける、その要求に適合する少なくとも１つのＭＣＲＰエントリが識別され（ステップ５０４）、その適合したＭＣＲＰエントリのポリシに従って、アプリケーション要求がマシン・クラスタに経路指定される（ステップ５０６）。要求がルータを介してマシン・クラスタに直接的に又は間接的に経路指定されることも可能である。
【００３０】
図６は、図５の経路指定ステップを更に詳細に示すフローチャートである。図６に示されるように、経路指定ポリシがフェイルオーバ経路指定ポリシであるか又は負荷平準化経路指定ポリシであるかが先ず決定される（ステップ６０２）。経路指定ポリシがフェイルオーバ経路指定ポリシである場合（ステップ６０２におけるイエス出力）、要求はＭＣＲＰリストおける、適合であるとしてマークアップされた第１のリストされたクラスタに（ルータを介して直接的又は間接的に）経路指定される（ステップ６０４）。次に、その要求が成功裏に経路指定されたかどうかの決定が行われる（ステップ６０６）。その要求が成功裏に経路指定された場合（ステップ６０６のイエス出力）、「要求経路指定完了」状態が得られる（ステップ６０８）。要求が完了しなかった場合（ステップ６０６のノー出力）、応答が戻され、その要求が次のマークアップされたクラスタに経路指定される（ステップ６１０）。更にフラッグがその要求と関連付けられ（ステップ６１２）、その要求が第１クラスタに戻されないことを保証する。要求が成功裏に次のクラスタに経路指定されたかどうかの決定が行われる（ステップ６１４）。要求が成功裏に経路指定された場合（ステップ６１４のイエス出力）、「要求経路指定完了」状態が得られる（ステップ６１６）。要求が成功裏に経路指定されなかった場合（ステップ６１４のノー出力）、その方法はステップ６１０に戻り、リストにおける次のマークアップされたクラスタに要求を経路指定する。
【００３１】
経路指定ポリシが負荷平準化ポリシである場合（ステップ６０２におけるノー出力）、どのクラスタに経路指定するべきかを決定するために、適正な負荷平準化アルゴリズムが適用され（ステップ６１８）、要求がその識別されたクラスタに経路指定される（ステップ６２０）。そのクラスタにおける経路指定すべきサーバに関する決定が行われる（ステップ６２２）。
【００３２】
負荷平準化アルゴリズムは、サーバ・レベル選択が類縁性、例えば、ＨＴＴＰセッション類縁性、ＷＰＦ類縁性等に基づくものあってもよい。そのような場合、クラスタ・レベル類縁性は、その後の要求が正しいクラスタに、次に、正しいサーバに経路指定されるようにも適用される。類縁性が適用しない場合、クラスタ・ウェートを法として最小の未解決要求カウントを持ったクラスタが選択される「加重最小未解決要求」アルゴリズムを使用することが望ましい。
【００３３】
従って、本発明は、複数のマシン・クラスタを含むデータ処理システムにおいてアプリケーション要求を経路指定するためのコンピュータ実施方法、システム、及びコンピュータ・プログラムを提供する。複数のマシン・クラスタを含むデータ処理システムにおいてアプリケーション要求を経路指定するためのコンピュータ実施方法は、アプリケーションを実行するための要求を受け取ること、及びマルチクラスタ経路指定ポリシ・エントリのリストにおける、その要求に適合した少なくとも１つのマルチクラスタ経路指定ポリシ・エントリを識別することを含む。そこで、アプリケーション要求は、その適合した少なくとも１つのマルチクラスタ経路指定ポリシ・エントリに従って複数のマシン・クラスタのうちの１つのマシン・クラスタに経路指定される。
【００３４】
本発明は、全体的にハードウェアの実施例、全体的にソフトウェアの実施例、またはハードウェア及びソフトウェアの両方の要素を含む実施例の形式を取り得る。好適な実施例では、本発明はソフトウェアで実施され、そのソフトウェアはファームウェア、常駐ソフトウェア、マイクロコードを含むが、それに限定されるものではない。
【００３５】
更に、本発明は、コンピュータ又は任意の命令実行システムによって、又はそれに関連して使用するためのプログラム・コードを提供するコンピュータ使用可能又はコンピュータ可読媒体からアクセスし得るコンピュータ・プログラムの形式を取り得る。この説明のために、コンピュータ使用可能又はコンピュータ可読媒体は、命令実行システム、装置、又はデバイスによって、又はそれに関連して使用するためのプログラムを含み、保存し、通信し、伝播し、或いは搬送することができる任意の実態的な装置であってもよい。
【００３６】
その媒体は、電子的、磁気的、光学的、電磁的、赤外線、又は半導体システム（又は、装置或いはデバイス）、もしくは伝播媒体であってもよい。コンピュータ可読媒体の例は、半導体又はソリッド・ステート・メモリ、磁気テープ、取外し可能フロッピ・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、固定磁気ディスク、及び光ディスクを含む。現在の光ディスクの例は、コンパクト・ディスク・リード・オンリ・メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク・リード／ライト（ＣＤ−Ｒ／Ｗ）、及びＤＶＤを含む。
【００３７】
プログラム・コードを保存、及び／又は、実行するためのデータ処理システムは、システム・バスを介してメモリ素子に直接的又は間接的に結合された少なくとも１つのプロセッサを含むであろう。メモリ素子は、プログラム・コードの実際の実行中に使用されるローカル・メモリ、大容量記憶装置、及び、コードが実行中に大容量記憶装置から検索されなければならない回数を減らすために少なくとも幾つかのプログラム・コードの一時的記憶装置を提供するキャッシュ・メモリを含み得る。
【００３８】
入出力またはＩ／Ｏデバイス（キーボード、ディスプレイ、ポインティング装置を含むがそれに限定されない）は、直接に又は介在のＩ／Ｏコントローラを介してシステムに結合されることも可能である。
【００３９】
ネットワーク・アダプタは、データ処理システムが、介在の私設又は公衆ネットワークを介して他のデータ処理システム或いはリモート・プリンタ又は記憶装置に結合されることを可能にするようにシステムに結合されてもよい。モデム、ケーブル・モデム、及びイーサネット（登録商標）・カードは、数少ない現在利用可能なタイプのネットワーク・アダプタである。
【００４０】
本発明に関する記述は図解及び説明を目的として行われたが、網羅的であること又は開示された形式における発明に限定されることを意図するものではない。当業者には、多くの修正及び変更が明らかであろう。実施例は、発明の原理および実用的な応用例を説明するために、及び当業者が、意図した特定の用途に適するような種々の修正を伴う種々の実施例に関して本発明を理解することを可能にするために選択及び説明された。
【図面の簡単な説明】
【００４１】
【図１】本発明の種々の局面を具現化し得るデータ処理システムの概略図である。
【図２】本発明の種々の局面を具現化し得るデータ処理システムのブロック図である。
【図３】本発明の実施例に従って複数のマシン・クラスタを有するデータ処理システムにおいてアプリケーション要求を経路指定するための機構を含む例示的なネットワーク・トポロジを示す概略図である。
【図４】本発明の実施例に従って複数のマシン・クラスタを有するデータ処理システムにおいてアプリケーション要求を経路指定するための機構を含む更なる例示的なネットワーク・トポロジを示す概略図である。
【図５】本発明の実施例に従って複数のマシン・クラスタを有するデータ処理システムにおいてアプリケーション要求を経路指定するための方法を示すフローチャートである。
【図６】図５の経路指定ステップを更に詳細に示すフローチャートである。
【図１】
0005459935.tif 000002
【図２】
0005459935.tif 000003
【図３】
0005459935.tif 000004
【図４】
0005459935.tif 000005
【図５】
0005459935.tif 000006
【図６】
0005459935.tif 000007