JP2007193806A - マルチクラスタ・アプリケーション特有の経路指定を行うための方法、システム及びプログラム - Google Patents

マルチクラスタ・アプリケーション特有の経路指定を行うための方法、システム及びプログラム Download PDF

Info

Publication number
JP2007193806A
JP2007193806A JP2007006105A JP2007006105A JP2007193806A JP 2007193806 A JP2007193806 A JP 2007193806A JP 2007006105 A JP2007006105 A JP 2007006105A JP 2007006105 A JP2007006105 A JP 2007006105A JP 2007193806 A JP2007193806 A JP 2007193806A
Authority
JP
Japan
Prior art keywords
cluster
routing
routing policy
request
policy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007006105A
Other languages
English (en)
Other versions
JP5459935B2 (ja
Inventor
Keith Smith Brian
ブライアン・キース・スミス
Oduomologhi Michael Atogi
オデュオモロギ・マイケル・アトギ
Keith Martin Brian
ブライアン・キース・マーチン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007193806A publication Critical patent/JP2007193806A/ja
Application granted granted Critical
Publication of JP5459935B2 publication Critical patent/JP5459935B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1027Persistence of sessions during load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】
複数のマシン・クラスタを含むデータ処理システムにおいてアプリケーション要求を経路指定するためのコンピュータ実施方法、システム、及びコンピュータ・プログラムを提供する。
【解決手段】
本発明のコンピュータ実施方法は、アプリケーションを実行することを求める要求を受け取り、マルチクラスタ経路指定ポリシ・エントリのリストにあってその要求に適合した少なくとも1つのマルチクラスタ経路指定ポリシ・エントリを識別するステップを含む。そこで、アプリケーション要求は、その適合した少なくとも1つのマルチクラスタ経路指定ポリシ・エントリに従って複数のマシン・クラスタのうちの1つのマシン・クラスタに経路指定される。
【選択図】 図5

Description

本発明は、一般的にはデータ処理の分野に関し、詳しく云えば、多数のマシン・クラスタを有するデータ処理システムにおいてアプリケーション要求を経路指定するためのコンピュータ実施方法、システム、及びコンピュータ・プログラムに関するものである。
多数のマシン・クラスタを含むデータ処理システムにおいて、単一のアプリケーションが複数のマシン・クラスタによって操作されることがある。複数のマシン・クラスタの1つが利用し得ないか又は過剰利用されている場合、利用可能な又はより少ない限度で利用される他のマシン・クラスタにそのアプリケーションに関する要求を送ることが知られている。
現在、第1のマシン・クラスタから第2のマシン・クラスタにアプリケーションに関する要求を送りたいとき、その要求は、第2のマシン・クラスタのURI(Universal Resource Identifier)を使ってその第2のマシン・クラスタに送られる。そのアプリケーションが第2のマシン・クラスタにおいて利用し得ないものである場合、または第2のマシン・クラスタがその要求を処理し得ない場合、エラー・コードが第1のマシン・クラスタに戻され、第1のマシン・クラスタから第3のマシン・クラスタにそのアプリケーションを送る試みが行われる。その要求を受け入れるマシン・クラスタが見つかるまで、このプロセスを何回も繰り返すことが必要であろう。従って、現在の経路指定手順は、アプリケーション要求に対して高度の可用性を与えるものではなく、或いは、効率的なマシン利用を可能にするものでもない。
従って、複数のマシン・クラスタを含むデータ処理システムにおけるアプリケーションに関する要求を効率的に経路指定するための機構を求める要求が存在する。
本発明は、複数のマシン・クラスタを含むデータ処理システムにおいてアプリケーション要求を経路指定するためのコンピュータ実施方法、システム、及びコンピュータ・プログラムを提供する。
複数のマシン・クラスタを含むデータ処理システムにおいてアプリケーション要求を経路指定するための本発明のコンピュータ実施方法は、アプリケーションを実行することを求める要求を受け取り、マルチクラスタ経路指定ポリシ・エントリのリストにあってその要求に適合した少なくとも1つのマルチクラスタ経路指定ポリシ・エントリを識別するステップを含む。そこで、アプリケーション要求は、その適合した少なくとも1つのマルチクラスタ経路指定ポリシ・エントリに従って複数のマシン・クラスタのうちの1つのマシン・クラスタに経路指定される。本発明は、アプリケーション要求に対する高度の可用性及び改良されたマシン利用オプションを提供する。
図面、特に、図1及び図2を参照すると、本発明の実施例を具現化し得るデータ処理システムを表す概略図が示される。図1及び図2が単なる例示であって、本発明の種々の側面又は実施例を具現化し得る環境に関する如何なる限定を表明または示唆することを意図するものではないことは当然である。本発明の真意及び範囲から逸脱することなく、図示の環境に対する多くの修正を施すことが可能である。
次に図面を参照すると、図1は、本発明の種々の側面を具現化し得るデータ処理システムの概略図を示す。データ処理システムは参照番号100によって全体的に指定され、ネットワーク102を介して相互に接続された複数のマシン・クラスタ104〜114を含む。ネットワーク102は、種々のクラスタ及び他の装置の間の通信リンクを提供するために使用される媒体であり、図示の例では、インターネットを含む。
各マシン・クラスタ104〜114は複数のアプリケーション・サーバを含む。例えば、図1に示されるように、クラスタ104は複数のアプリケーション・サーバ104a〜104nを含み、クラスタ106は複数のアプリケーション・サーバ106a〜106nを含む。しかし、それが、何らかの特定の数のマシン・クラスタを有するデータ処理システムおよび何らかの特定の数のアプリケーション・サーバを含むマシン・クラスタに本発明を限定することを意図するものではないことは当然である。データ処理システムにおけるマシン・クラスタが種々の数のアプリケーション・サーバを有し得ることも当然である。
次に図2を参照すると、本発明の種々の側面を具現化し得るデータ処理システムのブロック図が示される。データ処理システム200は、図1におけるアプリケーション・サーバ104a〜104nの1つのようなコンピュータの一例であり、そこには、本発明の実施例に関するプロセスを具現化するコンピュータ使用可能コードまたは命令を設けることが可能である。
図示の例では、データ処理システム200は、ノース・ブリッジ及びメモリ・コントローラ・ハブ(NB/MCH)202及びサウス・ブリッジ及び入出力(I/O)コントローラ・ハブ(SB/ICH)204を含むハブ・アーキテクチャを使用する。処理ユニット206、メイン・メモリ208、及びグラフィックス・プロセッサ210がNB/MCH202に接続される。グラフィックス・プロセッサ210は、アクセラレーテッド・グラフィックス・ポート(AGP)を介してNB/MCH202に接続することも可能である。
図示の例では、ローカル・エリア・ネットワーク(LAN)アダプタ212がSB/ICH204に接続する。オーディオ・アダプタ216、キーボード及びマウス・アダプタ220、モデム222、リード・オンリ・メモリ(ROM)224、ハードディスク・ドライブ(HDD)226、CD−ROMドライブ230、ユニバーサル・シリアル・バス(USB)ポート及び他の通信ポート232、およびPCI/PCIeデバイス234がバス238及びバス240を介してSB/ICH204に接続する。PCI/PCIeデバイス234は、例えば、イーサネット(登録商標)・アダプタ、アドイン・カード、及びノートブック・コンピュータ用PCカードを含むことも可能である。PCIは、カード・バス・コントローラを使用し、一方、PCIeはそれを使用しない。ROM224は、例えば、フラッシュ・バイナリ入出力システム(BIOS)であってもよい。
HDD226およびCD−ROMドライブ230は、バス240を介してSB/ICH204に接続する。HDD226およびCD−ROMドライブ230は、例えば、統合ドライブ電子回路(integrated drive electronics : IDE)またはシリアル拡張技術接続機構(serial advancedtechnology attachment : SATA)インターフェースを使用することも可能である。スーパI/O(SIO)デバイス236もSB/ICH204に接続することが可能である。
オペレーティング・システムが処理ユニット206上で稼動し、図2におけるデータ処理システム200内の種々のコンポーネントの制御を調整及び提供する。オペレーティング・システムは、クライアントとして、Microsoft Windows(登録商標) XP のような商業的に入手可能なオペレーティング・システムであってもよい(なお、Microsoft 及びWindows(登録商標) は、米国のマイクロソフト社の商標である)。Java(登録商標) プログラミング・システムのようなオブジェクト指向プログラミング・システムがオペレーティング・システムと関連して稼動し、データ処理システム200において実行されるJava(登録商標) プログラム又はアプリケーションからオペレーティング・システムへのコールを行うことも可能である(なお、Java(登録商標) は米国のサン・マイクロシステムズ社の商標である)。
データ処理システム200は、サーバとして、例えば、拡張対話式エグゼクティブ(Advanced Interactive Executive : AIX)オペレーティング・システム又は LINUX オペレーティング・システムを稼動するIBM eServer pSeries コンピュータ・システムであってもよい(なお、IBM、eServer、pSeries、及びAIXは米国のインターナショナル・ビジネス・マシーンズ社の商標であり、LINUXは米国の Linus Torvalds の商標である)。データ処理システム200は、処理ユニット206に複数のプロセッサを含む対称マルチプロセッサ(SMP)システムであってもよい。それとは別に、シングル・プロセッサ・システムを使用することも可能である。
オペレーティング・システム、オブジェクト指向プログラミング・システム、及びアプリケーション又はプログラムの命令がHDD226のような記憶装置に置かれ、処理ユニット206による実行のためにメイン・メモリ208にロードされることが可能である。本発明の実施例に関するプロセスは、例えば、メイン・メモリ208、ROM224のようなメモリ、或いは1つ又は複数の周辺装置226及び230に置かれてもよいコンピュータ使用可能プログラム・コードを使用して処理ユニット206によって遂行される。
具現化方法次第で、図1及び図2におけるハードウェアが変更可能であることは当業者には明らかであろう。図1及び図2に示されたハードウェアの他に、又はそれの代わりに、内部のハードウェア、またはフラッシュ・メモリ、同等の不揮発性メモリ、光ディスク・ドライブ等のような他の内部ハードウェア及び周辺装置を使用することも可能である。本発明のプロセスはマルチプロセッサ・データ処理システムに適用することも可能である。
或る実施例では、データ処理システム200は、オペレーティング・システム・ファイル、及び/又は、ユーザ生成のデータを記憶するための不揮発性メモリを提供するために、フラッシュ・メモリによって構成されるパーソナル・デジタル・アシスタント(PDA)であってもよい。
バス・システムは、図2に示されるようにバス238またはバス240のような1つ又は複数のバスから構成されてもよい。もちろん、バス・システムは、接続された種々のコンポーネント又は装置の間でデータの転送を提供する任意のタイプのファブリック又はアーキテクチャを使用して具現化することも可能である。通信ユニットは、図2のモデム222またはネットワーク・アダプタ212のような、データを送信及び受信するために使用される1つ又は複数の装置を含むことも可能である。メモリは、例えば、メイン・メモリ208、ROM224、或いは、図2におけるNB/MCH202に見られるようなキャッシュであってもよい。図1及び図2における図示の例及び上述の例は、アーキテクチャ上の限定を示唆することを意味するものではない。例えば、データ処理システム200は、PDAの形を取る他に、タブレット・コンピュータ、ラップトップ・コンピュータ、または電話装置であってもよい。
図3は、本発明の実施例に従って、複数のマシン・クラスタを有するデータ処理システムにおいてアプリケーション要求を経路指定するための機構を含む例示的なネットワークトポロジを概略的に示す図である。そのトポロジは、全体的に、参照番号300によって指定され、複数のマシン・クラスタ302a〜302m及びルータ306を含み、各マシン・クラスタは複数のアプリケーション・サーバ304a〜304nを含む。
ルータ306はトポロジ300において2レベルの経路指定を行う。それは、先ず、マシン・クラスタ302a〜302mのうちのどのクラスタに経路指定すべきかを決定し、次に、選択されたクラスタにおけるサーバ304a〜304nのうちのどのサーバに経路指定すべきかを決定する。トポロジ300では、すべてのクラスタにおけるすべてのサーバがルータ306から直接にアドレス可能である。
図4は、本発明の実施例に従って、複数のマシン・クラスタを有するデータ処理システムにおいてアプリケーション要求を経路指定するための機構を含む更なる例示的なネットワーク・トポロジを概略的に示す図である。そのトポロジは、全体的に、参照番号400によって指定され、マシン・クラスタが地理的に分散配置されるとき、一般に使用されるトポロジを含む。
トポロジ400では、異なるルータが各クラスタと関連付けられる。従って、図4ではルータ406がクラスタ402aと関連付けられ、ルータ408がクラスタ402mと関連付けられ、他のルータがそのデータ処理システムにおける他のクラスタ(図示されていない)と関連付けられる。ルータ406は、マシン・クラスタ402aにおけるアプリケーション・サーバ404a〜404nのいずれにも要求を直接に送ることができ、ルータ408は、マシン・クラスタ402mにおけるアプリケーション・サーバ404a〜404nのいずれにも要求を直接に送ることができる。ルータ406及び408は相互に要求を送ることもでき、このように、ルータ406はクラスタ402mに要求を間接的に送ることができ、ルータ408はクラスタ402aに(及びそれぞれのルータを介して他のクラスタに)要求を間接的に送ることができる。
本発明は、複数のクラスタを有するデータ処理システムにおいてアプリケーション要求を経路指定するための機構を提供する。データ処理システムは、トポロジ300又は400の1つにおいて、またはトポロジ300及び400の結合体において、または他の態様
において編成することが可能である。本発明によれば、トポロジにおける各ルータは、アプリケーションに対する要求を適正なマシン・クラスタにアプリケーション特有の方法で経路指定するために各ルータが使用するマルチクラスタ経路指定ポリシ(Multi-Cluster Routing Policy : MCRP)エントリのリストを含む。従って、図3におけるルータ306はMCRPリスト308を含み、図4におけるルータ406および408は、それぞれ、MCRPリスト410及び412を含む。
MCRPリストにおける各MCRPエントリはMCRPスコープ及びMCRPアクションを含む。MCRPスコープは、MCRPエントリが適用する要求を指定し、次のような形式のものである:
[<cell>[:<application>[:module>]]]
但し、<cell> は管理領域の名称であり、<application> はアプリケーションの名称であり、そして<module> はアプリケーション・モジュールの名称(例えば、J2EE Web Module)である。特定の要求がMCRPリストにおける複数のMCRPエントリに一致する場合、最も特異なスコープを有するエントリが先ず使用される。
MCRPアクションは次のような形式のものである:
<policy>@<cell>$<clusterOrRouter>[,<cell>$<clusterOrRouter>...]
但し、<policy> はポリシの名称であり、<cell> は管理領域の名称であり、<clusterOrRouter> はクラスタ又はルータの名称である。ポリシは、そのポリシがフェイルオーバ・ポリシ(第1クラスタが利用可能でない場合、第2クラスタが試みられる)であるか、又は負荷平準化ポリシ(経路指定が特定の負荷平準化基準に基づいている)であるかを指定する。ポリシが負荷平準化ポリシである場合、そのポリシは、使用するための特定の負荷平準化アルゴリズムを指定することも可能である。
1つの例として図4を参照すると、マシン・クラスタ402aと関連したルータ406が、他のマシン・クラスタに経路指定される必要がある要求を受け取り、フェイルオーバ・ポリシを有するMCRPの適合がMCRPリスト410において見つかった場合、その要求は、一致であるとしてマークアップされる第1クラスタ又はルータ(例えば、クラスタ402mと関連したルータ408)に経路指定される。そのアプリケーションがクラスタ402mにおいて利用可能でないことを示す応答(例えば、HTTPエラー・コード503(サービス利用不可)または404(未検出))が受信される場合、その要求はそのリストにおける次のマークアップされたクラスタ又はルータに経路指定され、第1クラスタ又はルータが一時的に利用可能でないとしてマークされる。要求がルータ406に(従って、クラスタ402aに)返送されるという更なるMCRPポリシをルータ408が適用しようとしないよう、「フラッグ」(例えば、HTTPに対して、特別HTTP要求ヘッダ)がそのリクエストと関連付けられる。
MCRPポリシが負荷平準化ポリシである場合、ルータが要求を送る各クラスタ、及び/又は、ルータは、単一のサーバとして扱われ、関連するウェートを有する。どのクラスタに経路指定されるべきかを選択するために、適正な負荷平準化アルゴリズムが適用される。クラスタが選択された後、そのクラスタ内のサーバが選択される。サーバ・レベル選択が類縁性(例えば、HTTPセッション類縁性、WPF(WebSpherePartition Facility)類縁性等)に基づく場合、その後の要求が適正なクラスタに、従って、正しいサーバに経路指定されるよう、クラスタ・レベル類縁性も適用される。
要求に対して類縁性が適用しない場合、クラスタが地理的に分散配置されることがあり、従って、大きな待ち時間の相違を有することがあるので、クラスタ・ウェートを法として最小の未解決要求カウントが選択される「加重最小未解決要求(weighted least outstanding requests)」アルゴリズムが一般に望ましい。
図5は、本発明の実施例に従って、複数のマシン・クラスタを有するデータ処理システムにおいてアプリケーション要求を経路指定するための方法を示すフローチャートである。その方法は参照番号500によって全体的に示され、アプリケーションを経路指定するための要求を受け取ることによって開始する(ステップ502)。次に、MCRPにおける、その要求に適合する少なくとも1つのMCRPエントリが識別され(ステップ504)、その適合したMCRPエントリのポリシに従って、アプリケーション要求がマシン・クラスタに経路指定される(ステップ506)。要求がルータを介してマシン・クラスタに直接的に又は間接的に経路指定されることも可能である。
図6は、図5の経路指定ステップを更に詳細に示すフローチャートである。図6に示されるように、経路指定ポリシがフェイルオーバ経路指定ポリシであるか又は負荷平準化経路指定ポリシであるかが先ず決定される(ステップ602)。経路指定ポリシがフェイルオーバ経路指定ポリシである場合(ステップ602におけるイエス出力)、要求はMCRPリストおける、適合であるとしてマークアップされた第1のリストされたクラスタに(ルータを介して直接的又は間接的に)経路指定される(ステップ604)。次に、その要求が成功裏に経路指定されたかどうかの決定が行われる(ステップ606)。その要求が成功裏に経路指定された場合(ステップ606のイエス出力)、「要求経路指定完了」状態が得られる(ステップ608)。要求が完了しなかった場合(ステップ606のノー出力)、応答が戻され、その要求が次のマークアップされたクラスタに経路指定される(ステップ610)。更にフラッグがその要求と関連付けられ(ステップ612)、その要求が第1クラスタに戻されないことを保証する。要求が成功裏に次のクラスタに経路指定されたかどうかの決定が行われる(ステップ614)。要求が成功裏に経路指定された場合(ステップ614のイエス出力)、「要求経路指定完了」状態が得られる(ステップ616)。要求が成功裏に経路指定されなかった場合(ステップ614のノー出力)、その方法はステップ610に戻り、リストにおける次のマークアップされたクラスタに要求を経路指定する。
経路指定ポリシが負荷平準化ポリシである場合(ステップ602におけるノー出力)、どのクラスタに経路指定するべきかを決定するために、適正な負荷平準化アルゴリズムが適用され(ステップ618)、要求がその識別されたクラスタに経路指定される(ステップ620)。そのクラスタにおける経路指定すべきサーバに関する決定が行われる(ステップ622)。
負荷平準化アルゴリズムは、サーバ・レベル選択が類縁性、例えば、HTTPセッション類縁性、WPF類縁性等に基づくものあってもよい。そのような場合、クラスタ・レベル類縁性は、その後の要求が正しいクラスタに、次に、正しいサーバに経路指定されるようにも適用される。類縁性が適用しない場合、クラスタ・ウェートを法として最小の未解決要求カウントを持ったクラスタが選択される「加重最小未解決要求」アルゴリズムを使用することが望ましい。
従って、本発明は、複数のマシン・クラスタを含むデータ処理システムにおいてアプリケーション要求を経路指定するためのコンピュータ実施方法、システム、及びコンピュータ・プログラムを提供する。複数のマシン・クラスタを含むデータ処理システムにおいてアプリケーション要求を経路指定するためのコンピュータ実施方法は、アプリケーションを実行するための要求を受け取ること、及びマルチクラスタ経路指定ポリシ・エントリのリストにおける、その要求に適合した少なくとも1つのマルチクラスタ経路指定ポリシ・エントリを識別することを含む。そこで、アプリケーション要求は、その適合した少なくとも1つのマルチクラスタ経路指定ポリシ・エントリに従って複数のマシン・クラスタのうちの1つのマシン・クラスタに経路指定される。
本発明は、全体的にハードウェアの実施例、全体的にソフトウェアの実施例、またはハードウェア及びソフトウェアの両方の要素を含む実施例の形式を取り得る。好適な実施例では、本発明はソフトウェアで実施され、そのソフトウェアはファームウェア、常駐ソフトウェア、マイクロコードを含むが、それに限定されるものではない。
更に、本発明は、コンピュータ又は任意の命令実行システムによって、又はそれに関連して使用するためのプログラム・コードを提供するコンピュータ使用可能又はコンピュータ可読媒体からアクセスし得るコンピュータ・プログラムの形式を取り得る。この説明のために、コンピュータ使用可能又はコンピュータ可読媒体は、命令実行システム、装置、又はデバイスによって、又はそれに関連して使用するためのプログラムを含み、保存し、通信し、伝播し、或いは搬送することができる任意の実態的な装置であってもよい。
その媒体は、電子的、磁気的、光学的、電磁的、赤外線、又は半導体システム(又は、装置或いはデバイス)、もしくは伝播媒体であってもよい。コンピュータ可読媒体の例は、半導体又はソリッド・ステート・メモリ、磁気テープ、取外し可能フロッピ・ディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、固定磁気ディスク、及び光ディスクを含む。現在の光ディスクの例は、コンパクト・ディスク・リード・オンリ・メモリ(CD−ROM)、コンパクト・ディスク・リード/ライト(CD−R/W)、及びDVDを含む。
プログラム・コードを保存、及び/又は、実行するためのデータ処理システムは、システム・バスを介してメモリ素子に直接的又は間接的に結合された少なくとも1つのプロセッサを含むであろう。メモリ素子は、プログラム・コードの実際の実行中に使用されるローカル・メモリ、大容量記憶装置、及び、コードが実行中に大容量記憶装置から検索されなければならない回数を減らすために少なくとも幾つかのプログラム・コードの一時的記憶装置を提供するキャッシュ・メモリを含み得る。
入出力またはI/Oデバイス(キーボード、ディスプレイ、ポインティング装置を含むがそれに限定されない)は、直接に又は介在のI/Oコントローラを介してシステムに結合されることも可能である。
ネットワーク・アダプタは、データ処理システムが、介在の私設又は公衆ネットワークを介して他のデータ処理システム或いはリモート・プリンタ又は記憶装置に結合されることを可能にするようにシステムに結合されてもよい。モデム、ケーブル・モデム、及びイーサネット(登録商標)・カードは、数少ない現在利用可能なタイプのネットワーク・アダプタである。
本発明に関する記述は図解及び説明を目的として行われたが、網羅的であること又は開示された形式における発明に限定されることを意図するものではない。当業者には、多くの修正及び変更が明らかであろう。実施例は、発明の原理および実用的な応用例を説明するために、及び当業者が、意図した特定の用途に適するような種々の修正を伴う種々の実施例に関して本発明を理解することを可能にするために選択及び説明された。
本発明の種々の局面を具現化し得るデータ処理システムの概略図である。 本発明の種々の局面を具現化し得るデータ処理システムのブロック図である。 本発明の実施例に従って複数のマシン・クラスタを有するデータ処理システムにおいてアプリケーション要求を経路指定するための機構を含む例示的なネットワーク・トポロジを示す概略図である。 本発明の実施例に従って複数のマシン・クラスタを有するデータ処理システムにおいてアプリケーション要求を経路指定するための機構を含む更なる例示的なネットワーク・トポロジを示す概略図である。 本発明の実施例に従って複数のマシン・クラスタを有するデータ処理システムにおいてアプリケーション要求を経路指定するための方法を示すフローチャートである。 図5の経路指定ステップを更に詳細に示すフローチャートである。

Claims (16)

  1. 複数のマシン・クラスタを含むデータ処理システムにおいてアプリケーション要求を経路指定するためのコンピュータ実施方法であって、
    アプリケーションを実行することを求める要求を受け取るステップと、
    マルチクラスタ経路指定ポリシ・エントリのリストにおける、前記要求に適合した少なくとも1つのマルチクラスタ経路指定ポリシ・エントリを識別するステップと、
    前記適合した少なくとも1つのマルチクラスタ経路指定ポリシ・エントリのポリシに従って前記複数のマシン・クラスタのうちの1つのマシン・クラスタに前記アプリケーション要求を経路指定するステップと、
    を含む、コンピュータ実施方法。
  2. 前記要求を受け取るステップが、ルータにおいてアプリケーションを実行することを求める要求を受け取るステップを含む、請求項1に記載のコンピュータ実施方法。
  3. 前記マルチクラスタ経路指定ポリシ・エントリの各々が、前記経路指定ポリシを適用される要求を指定する経路指定ポリシ・スコープと要求を経路指定する経路指定ポリシを特定する経路指定ポリシ・アクションとを含み、前記経路指定ポリシがフェイルオーバ経路指定ポリシ及び負荷平準化経路指定ポリシの1つである、請求項1に記載のコンピュータ実施方法。
  4. 前記経路指定ポリシがフェイルオーバ経路指定ポリシであり、適合した少なくとも1つのマルチクラスタ経路指定ポリシ・エントリの1のポリシに従って前記複数のマシン・クラスタのうちの1つのマシン・クラスタに前記アプリケーション要求を経路指定するステップが、前記マルチクラスタ経路指定ポリシ・エントリのリストにおける第1の適合したマシン・クラスタに前記アプリケーション要求を経路指定するステップを含む、請求項3に記載のコンピュータ実施方法。
  5. 前記第1の適合したマシン・クラスタが前記アプリケーション要求を処理することができないことを表す応答を受け取るかどうかを決定するステップと、
    前記第1の適合したマシン・クラスタが前記アプリケーション要求を処理することができない場合、前記マルチクラスタ経路指定ポリシ・エントリのリストにおける次の適合したマシン・クラスタに前記アプリケーション要求を経路指定するステップと、
    を更に含む、請求項4に記載のコンピュータ実施方法。
  6. 前記アプリケーション要求を前記第1の適合したマシン・クラスタに経路指定しないようにするためにフラッグを設定するステップを更に含む、請求項5に記載のコンピュータ実施方法。
  7. 前記経路指定ポリシが負荷平準化ポリシであり、適合した少なくとも1つのマルチクラスタ経路指定ポリシ・エントリの1のポリシに従って前記複数のマシン・クラスタのうちの1つのマシン・クラスタに前記アプリケーション要求を経路指定するステップが、適用した負荷平準化アルゴリズムに従って1つの選択されたマシン・クラスタに前記アプリケーション要求を経路指定するステップを含む、請求項3に記載のコンピュータ実施方法。
  8. 前記アプリケーション要求を前記選択されたマシン・クラスタにおける選択されたサーバに経路指定するステップを更に含む、請求項7に記載のコンピュータ実施方法。
  9. 前記選択されたサーバが類縁性に基づいて選択される、請求項8に記載のコンピュータ実施方法。
  10. 複数のマシン・クラスタを含むデータ処理システムにおいてアプリケーション要求を経路指定するためのシステムであって、
    複数のマルチクラスタ経路指定ポリシ・エントリを含むマルチクラスタ経路指定ポリシ・リストと、
    前記要求に適合した少なくとも1つのマルチクラスタ経路指定ポリシ・エントリのポリシに従って前記複数のマシン・クラスタのうちの1つのマシン・クラスタにアプリケーション要求を経路指定するためのルータと、
    を含む、システム。
  11. 前記マルチクラスタ経路指定ポリシ・エントリの各々が、前記経路指定ポリシを適用される要求を指定する経路指定ポリシ・スコープと要求を経路指定する経路指定ポリシを特定する経路指定ポリシ・アクションとを含み、前記経路指定ポリシがフェイルオーバ経路指定ポリシ及び負荷平準化経路指定ポリシの1つである、請求項10に記載のシステム。
  12. 前記経路指定ポリシがフェイルオーバ経路指定ポリシであり、前記ルータが、前記マルチクラスタ経路指定ポリシ・エントリのリストにおける第1の適合したマシン・クラスタに前記アプリケーション要求を経路指定する、請求項11に記載のシステム。
  13. 前記第1の適合したマシン・クラスタが前記アプリケーション要求を処理することができないことを表す応答を受け取るかどうかを決定するための機構を更に含み、
    前記第1の適合したマシン・クラスタが前記アプリケーション要求を処理することができない場合、前記ルータが、前記マルチクラスタ経路指定ポリシ・エントリのリストにおける次の適合したマシン・クラスタに前記アプリケーション要求を経路指定する、請求項12に記載のシステム。
  14. 前記アプリケーション要求を前記第1の適合したマシン・クラスタに経路指定しないようにするためにフラッグを設定するための機構を更に含む、請求項13に記載のシステム。
  15. 前記経路指定ポリシが負荷平準化ポリシであり、前記ルータが、適用した負荷平準化アルゴリズムに従って1つのマシン・クラスタに前記アプリケーション要求を経路指定する、請求項11に記載のシステム。
  16. 複数のマシン・クラスタを含むデータ処理システムにおいてアプリケーション要求を経路指定するためのコンピュータ・プログラムであって、コンピュータに、
    アプリケーションを実行することを求める要求を受け取るステップと、
    マルチクラスタ経路指定ポリシ・エントリのリストにおける、前記要求に適合した少なくとも1つのマルチクラスタ経路指定ポリシ・エントリを識別するステップと、
    前記適合した少なくとも1つのマルチクラスタ経路指定ポリシ・エントリのポリシに従って前記複数のマシン・クラスタのうちの1つのマシン・クラスタに前記アプリケーション要求を経路指定するステップと
    を実行させる、コンピュータ・プログラム。
JP2007006105A 2006-01-19 2007-01-15 マルチクラスタ・アプリケーション特有の経路指定を行うための方法、システム及びプログラム Expired - Fee Related JP5459935B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/334,874 2006-01-19
US11/334,874 US20070168548A1 (en) 2006-01-19 2006-01-19 Method and system for performing multi-cluster application-specific routing

Publications (2)

Publication Number Publication Date
JP2007193806A true JP2007193806A (ja) 2007-08-02
JP5459935B2 JP5459935B2 (ja) 2014-04-02

Family

ID=38264568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007006105A Expired - Fee Related JP5459935B2 (ja) 2006-01-19 2007-01-15 マルチクラスタ・アプリケーション特有の経路指定を行うための方法、システム及びプログラム

Country Status (3)

Country Link
US (1) US20070168548A1 (ja)
JP (1) JP5459935B2 (ja)
CN (1) CN101005516A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015515037A (ja) * 2012-02-15 2015-05-21 アルカテル−ルーセント 機械学習を採用するメディア・コンポーネントをマップするための方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9203921B2 (en) * 2008-08-26 2015-12-01 British Telecommunications Public Limited Company Operation of a content distribution network
US8533333B2 (en) * 2008-09-03 2013-09-10 Microsoft Corporation Shared hosting using host name affinity
US8880725B2 (en) * 2010-05-26 2014-11-04 Microsoft Corporation Continuous replication for session initiation protocol based communication systems
US8923306B2 (en) 2011-08-02 2014-12-30 Cavium, Inc. Phased bucket pre-fetch in a network processor
US8954700B2 (en) * 2011-08-02 2015-02-10 Cavium, Inc. Method and apparatus for managing processing thread migration between clusters within a processor
EP2669798A1 (en) * 2012-05-31 2013-12-04 Alcatel Lucent Load distributor, intra-cluster resource manager, inter-cluster resource manager, apparatus for processing base band signals, method and computer program for distributing load
SG11201508410RA (en) * 2013-04-15 2015-11-27 P Ashok Anand System and method for implementing high availability of server in cloud environment
WO2015010218A1 (en) * 2013-07-22 2015-01-29 Kaba Ag Fail-safe distributed access control system
CN106354563B (zh) * 2016-08-29 2020-05-22 广州市香港科大***研究院 用于3d重建的分布式计算***以及3d重建方法
CN113282391B (zh) * 2021-05-21 2023-09-26 北京京东振世信息技术有限公司 集群切换方法、集群切换装置、电子设备及可读存储介质
CN116032994A (zh) * 2021-10-25 2023-04-28 青岛海尔科技有限公司 物联网设备连接方法、装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003281109A (ja) * 2002-03-26 2003-10-03 Hitachi Ltd 負荷分散方法
JP2004252975A (ja) * 2003-02-21 2004-09-09 Internatl Business Mach Corp <Ibm> 自己最適化のために観察されたリソース要件を使用するオートノミック・サービス・ルーティング
JP2005535949A (ja) * 2002-06-12 2005-11-24 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピューティング・サービス・グリッド
JP2005537687A (ja) * 2001-09-28 2005-12-08 サヴィス インコーポレイテッド 構成可能な適応型広域トラフィック制御および管理

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6675199B1 (en) * 2000-07-06 2004-01-06 Microsoft Identification of active server cluster controller
US6836462B1 (en) * 2000-08-30 2004-12-28 Cisco Technology, Inc. Distributed, rule based packet redirection
US6836750B2 (en) * 2001-04-23 2004-12-28 Hewlett-Packard Development Company, L.P. Systems and methods for providing an automated diagnostic audit for cluster computer systems
EP1274011B1 (en) * 2001-07-06 2017-05-03 Alcatel Lucent A method and system for routing and logging a request
US7366777B2 (en) * 2003-05-15 2008-04-29 Sap Aktiengesellschaft Web application router
US7636917B2 (en) * 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
US20060080273A1 (en) * 2004-10-12 2006-04-13 International Business Machines Corporation Middleware for externally applied partitioning of applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005537687A (ja) * 2001-09-28 2005-12-08 サヴィス インコーポレイテッド 構成可能な適応型広域トラフィック制御および管理
JP2003281109A (ja) * 2002-03-26 2003-10-03 Hitachi Ltd 負荷分散方法
JP2005535949A (ja) * 2002-06-12 2005-11-24 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピューティング・サービス・グリッド
JP2004252975A (ja) * 2003-02-21 2004-09-09 Internatl Business Mach Corp <Ibm> 自己最適化のために観察されたリソース要件を使用するオートノミック・サービス・ルーティング

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015515037A (ja) * 2012-02-15 2015-05-21 アルカテル−ルーセント 機械学習を採用するメディア・コンポーネントをマップするための方法
US9684706B2 (en) 2012-02-15 2017-06-20 Alcatel Lucent Method for mapping media components employing machine learning

Also Published As

Publication number Publication date
JP5459935B2 (ja) 2014-04-02
CN101005516A (zh) 2007-07-25
US20070168548A1 (en) 2007-07-19

Similar Documents

Publication Publication Date Title
JP5459935B2 (ja) マルチクラスタ・アプリケーション特有の経路指定を行うための方法、システム及びプログラム
US11778057B2 (en) System and method for intent-based service deployment
US9852035B2 (en) High availability dynamic restart priority calculator
US8959222B2 (en) Load balancing system for workload groups
TWI261784B (en) Methods and apparatus to dispatch interrupts in multiprocessor systems
US12020051B2 (en) Sharable link for remote computing resource access
JP5756271B2 (ja) 並列計算の親和性駆動分散スケジューリングのための装置、方法、およびコンピュータ・プログラム(並列計算の親和性駆動分散スケジューリングのためのシステムおよび方法)
US8671134B2 (en) Method and system for data distribution in high performance computing cluster
US20070168525A1 (en) Method for improved virtual adapter performance using multiple virtual interrupts
US20080222628A1 (en) Method and Apparatus for a Browser with Offline Web-Application Architecture
JP2005056391A (ja) コンピューティング環境の作業負荷を均衡させる方法およびシステム
JP2009163736A (ja) バーチャルマシーンフェイルオーバにおけるセキュリティレベルの実現
US20070143762A1 (en) Assigning tasks in a distributed system based on ranking
US20070198697A1 (en) Method of refactoring methods within an application
JP2013535720A (ja) ポート共有ハードウェアを介した記憶装置への帯域外アクセス
Shamis et al. Designing a high performance openshmem implementation using universal common communication substrate as a communication middleware
US20070022203A1 (en) Method and apparatus for providing proxied JMX interfaces to highly available J2EE components
US11550505B1 (en) Intra-shard parallelization of data stream processing using virtual shards
WO2016176227A1 (en) Distributed storage of software images in computing systems
Nguyen et al. Security-aware resource brokering for bioinformatics workflows across federated multi-cloud infrastructures
CN115220890A (zh) 密码计算任务调度方法、装置、介质及电子设备
US20120259981A1 (en) Hypercasting
JP2005352689A (ja) 対話型サービス配置方法、対話型サービス配置プログラムおよびその記録媒体、ならびに、サービスブローカ装置
US12015602B2 (en) Information security system and method for secure data transmission among user profiles using a blockchain network
WO2022187033A1 (en) Inferencing endpoint discovery in computing systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20120124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130122

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131120

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131217

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20131217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140114

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees