JP3452466B2 - 着信メッセージを経路指定する方法及びシステム - Google Patents
着信メッセージを経路指定する方法及びシステムInfo
- Publication number
- JP3452466B2 JP3452466B2 JP22351697A JP22351697A JP3452466B2 JP 3452466 B2 JP3452466 B2 JP 3452466B2 JP 22351697 A JP22351697 A JP 22351697A JP 22351697 A JP22351697 A JP 22351697A JP 3452466 B2 JP3452466 B2 JP 3452466B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- subset
- message
- cluster
- computer
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/325—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/326—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Description
【0001】
【発明の属する技術分野】本発明はネットワーク・コン
ピューティングに関する。詳細にいえば、本発明はコン
ピュータをクラスタ化して一連の遠隔サービスをサポー
トすることに関する。
ピューティングに関する。詳細にいえば、本発明はコン
ピュータをクラスタ化して一連の遠隔サービスをサポー
トすることに関する。
【0002】
【従来の技術】カプセル化クラスタ(EC)は一連のサ
ービス(たとえば、ウェブ・サービス、NFSなど)を
もたらす接続ルータ(CR)と複数のサーバ・ホストを
特徴としている。カプセル化クラスタリングを提供する
システムの例には、米国特許第5371852号があ
る。
ービス(たとえば、ウェブ・サービス、NFSなど)を
もたらす接続ルータ(CR)と複数のサーバ・ホストを
特徴としている。カプセル化クラスタリングを提供する
システムの例には、米国特許第5371852号があ
る。
【0003】遠隔クライアントは、たとえばTCP/I
P(たとえば、HTTP)に基づくプロトコルを使用し
てECにサービスを要求する。各要求に対するサービス
時間はサービスのタイプ、及び対応するサーバ・アプリ
ケーションの可用性に応じて変動する。それ故、接続の
固有割振りは、利用可能なECリソースの利用度が低い
偏った割振りを急速に作り出し、要求に対して不必要な
遅れを導入する。
P(たとえば、HTTP)に基づくプロトコルを使用し
てECにサービスを要求する。各要求に対するサービス
時間はサービスのタイプ、及び対応するサーバ・アプリ
ケーションの可用性に応じて変動する。それ故、接続の
固有割振りは、利用可能なECリソースの利用度が低い
偏った割振りを急速に作り出し、要求に対して不必要な
遅れを導入する。
【0004】従来技術はサーバのスケーリングに関連す
る多くの性能上の問題が存在していることを示してい
る。たとえば、NCSAの「World Wide Web Server: D
esignand Performance」、IEEE Computer、第28巻第
11号、195511月、68−74ページ参照。ウェ
ブ・サーバ(すなわち、httpdデーモン)をサポー
トするのにラウンドロビンDNSを使用しているECを
考えてみる。サーバはhttpを介して、ビデオ・スト
リーム、データベース照会、及び静止ウェブ・ページへ
のアクセス・サービスを与える。各タイプの要求に対す
るサービス時間は、与えられるサービスのタイプ、及び
関与する実際のコンテンツに応じて変動する。たとえ
ば、複雑なデータベース照会には静止したプリロードH
TMLページの何倍もの時間がかかる。要求処理時間に
おけるこの不釣り合いはサーバ・クラスタの偏った利用
を引き起こすことがしばしばある。ラウンドロビンDN
Sに関連した問題は、「User Access Patterns to NCS
A's Worldwide Web Server」、Kwa他、Technical Repor
t UIUCDSD-R-95-1394、Department of Computer Scienc
e、University of Illinois Urbana-Champaign、199
5年2月に記載されている。
る多くの性能上の問題が存在していることを示してい
る。たとえば、NCSAの「World Wide Web Server: D
esignand Performance」、IEEE Computer、第28巻第
11号、195511月、68−74ページ参照。ウェ
ブ・サーバ(すなわち、httpdデーモン)をサポー
トするのにラウンドロビンDNSを使用しているECを
考えてみる。サーバはhttpを介して、ビデオ・スト
リーム、データベース照会、及び静止ウェブ・ページへ
のアクセス・サービスを与える。各タイプの要求に対す
るサービス時間は、与えられるサービスのタイプ、及び
関与する実際のコンテンツに応じて変動する。たとえ
ば、複雑なデータベース照会には静止したプリロードH
TMLページの何倍もの時間がかかる。要求処理時間に
おけるこの不釣り合いはサーバ・クラスタの偏った利用
を引き起こすことがしばしばある。ラウンドロビンDN
Sに関連した問題は、「User Access Patterns to NCS
A's Worldwide Web Server」、Kwa他、Technical Repor
t UIUCDSD-R-95-1394、Department of Computer Scienc
e、University of Illinois Urbana-Champaign、199
5年2月に記載されている。
【0005】従来技術はリソースの動的割振りの必要が
あることを示している。たとえば、「Evaluating Manag
ement Decisions via Delegation」、German Goldszmid
t and Yechiam Yemeni、The Third International Symp
osium on Integrated Network Management、San Franci
sco、CA、1993年4月を参照されたい。ECは通常
はホストの集合体に対して、サーバの集合体の単一のシ
ステム・イメージを与える。しかしながら、実際のイン
ストレーションはサービスを特定のユーザのポリシーに
したがって割り振ることを必要とすることがある。たと
えば、ホストの特定のサブセットをマーチャント・ウェ
ブ・サーバの機密トランザクションに割り振るととも
に、ビデオ・オン・デマンド・サービスを、専用のハー
ドウェアを含んでいるサーバの他のサブセットによって
サポートする。
あることを示している。たとえば、「Evaluating Manag
ement Decisions via Delegation」、German Goldszmid
t and Yechiam Yemeni、The Third International Symp
osium on Integrated Network Management、San Franci
sco、CA、1993年4月を参照されたい。ECは通常
はホストの集合体に対して、サーバの集合体の単一のシ
ステム・イメージを与える。しかしながら、実際のイン
ストレーションはサービスを特定のユーザのポリシーに
したがって割り振ることを必要とすることがある。たと
えば、ホストの特定のサブセットをマーチャント・ウェ
ブ・サーバの機密トランザクションに割り振るととも
に、ビデオ・オン・デマンド・サービスを、専用のハー
ドウェアを含んでいるサーバの他のサブセットによって
サポートする。
【0006】
【発明が解決しようとする課題】本発明の目的は、カプ
セル化クラスタの全体的なスループットを改善すること
である。
セル化クラスタの全体的なスループットを改善すること
である。
【0007】本発明の他の目的は、遠隔サービス要求の
総合的な遅れを少なくすることにある。
総合的な遅れを少なくすることにある。
【0008】本発明のさらに他の目的は、指定されたノ
ードが障害を起こした接続ルータの動作を引き継ぎ、ネ
ットワーク・クライアントがサービスの中断を受けない
ようにする手段を提供することである。
ードが障害を起こした接続ルータの動作を引き継ぎ、ネ
ットワーク・クライアントがサービスの中断を受けない
ようにする手段を提供することである。
【0009】
【課題を解決するための手段】本発明の第1の態様によ
れば、カプセル化クラスタ(EC)はゲートウェイ・ノ
ードとサーバ・ホストとを特徴としている。ゲートウェ
イ・ノードは(1)ECをいくつかの仮想EC(VE
C)に分割し、(2)構成可能なポリシーにしたがって
現行のサーバの負荷に基づいて着信接続をVEC内に動
的に分配し、(3)クラスタの動的な構成をサポートす
る。
れば、カプセル化クラスタ(EC)はゲートウェイ・ノ
ードとサーバ・ホストとを特徴としている。ゲートウェ
イ・ノードは(1)ECをいくつかの仮想EC(VE
C)に分割し、(2)構成可能なポリシーにしたがって
現行のサーバの負荷に基づいて着信接続をVEC内に動
的に分配し、(3)クラスタの動的な構成をサポートす
る。
【0010】本発明の第2の態様によれば、ゲートウェ
イ・ノードの障害からの透過的な回復を可能として、ク
ライアントへの中断のないサービスを提供するシステム
及び方法が提供される。この方法によれば、クラスタま
たはVEC内の各ノードはゲートウェイで保持されてい
る状態情報のサブセットのコピーを維持する。ゲートウ
ェイが障害を起こすと、状態情報がバックアップ・ゲー
トウェイへ転送される。
イ・ノードの障害からの透過的な回復を可能として、ク
ライアントへの中断のないサービスを提供するシステム
及び方法が提供される。この方法によれば、クラスタま
たはVEC内の各ノードはゲートウェイで保持されてい
る状態情報のサブセットのコピーを維持する。ゲートウ
ェイが障害を起こすと、状態情報がバックアップ・ゲー
トウェイへ転送される。
【0011】好ましい実施の形態において、ECは
(1)VEC(すべての遠隔クライアントに対して単一
のIPアドレス)、または(2)複数のVEC(いくつ
かのIPアドレスをエイリアス化する)として現れる。
TCP−CRノードはIPアドレスを所有しており、す
べてのこれらのTCP接続要求を受け取る。各IPアド
レスはVECと関連づけられる。TCP−CRはVEC
に関連づけられた重みにしたがって、新しいTCP接続
をホストへ分配する。TCP−CRはVECの動的定
義、VECに関連づけられた重みの動的構成、VECの
自動または手動管理(ホスト、サービスなどの追加、除
去)を可能とする。この解決策はサーバ・ホストの動的
構成、追加または除去を可能とするとともに、ネットワ
ーク内のキャッシュされたサーバ名の問題を回避する。
(1)VEC(すべての遠隔クライアントに対して単一
のIPアドレス)、または(2)複数のVEC(いくつ
かのIPアドレスをエイリアス化する)として現れる。
TCP−CRノードはIPアドレスを所有しており、す
べてのこれらのTCP接続要求を受け取る。各IPアド
レスはVECと関連づけられる。TCP−CRはVEC
に関連づけられた重みにしたがって、新しいTCP接続
をホストへ分配する。TCP−CRはVECの動的定
義、VECに関連づけられた重みの動的構成、VECの
自動または手動管理(ホスト、サービスなどの追加、除
去)を可能とする。この解決策はサーバ・ホストの動的
構成、追加または除去を可能とするとともに、ネットワ
ーク内のキャッシュされたサーバ名の問題を回避する。
【0012】
1.概要
本仮想カプセル化クラスタ・システムは米国特許第53
71852号の改良形として実施できる。米国特許第5
371852号は参照することにより、以下に全文が記
載されているかのように、本明細書の一部となるもので
ある。図1は米国特許第5371852号のカプセル化
クラスタの発明の実施の形態を示している。米国特許第
5371852号のシステムと同様に、本システムはT
CP情報を送り、これはコンピュータ・クラスタの境界
を越える。情報はポート・タイプ・メッセージの形態を
している。着信メッセージが送られ、サーバが応答する
ので、各クラスタは外部ホストに対して単一のコンピュ
ータ・イメージとして現れる。本システムにおいて、ク
ラスタはいくつかの仮想クラスタ(仮想カプセル化クラ
スタ)に分割されている。各仮想カプセル化クラスタ
は、クラスタ外にあるネットワーク上の他のホストに対
して単一のホストとして現れる。メッセージは負荷のバ
ランスがクラスタ・ノードのセットの間で維持されてい
る態様で、各仮想カプセル化クラスタのメンバに送られ
る。
71852号の改良形として実施できる。米国特許第5
371852号は参照することにより、以下に全文が記
載されているかのように、本明細書の一部となるもので
ある。図1は米国特許第5371852号のカプセル化
クラスタの発明の実施の形態を示している。米国特許第
5371852号のシステムと同様に、本システムはT
CP情報を送り、これはコンピュータ・クラスタの境界
を越える。情報はポート・タイプ・メッセージの形態を
している。着信メッセージが送られ、サーバが応答する
ので、各クラスタは外部ホストに対して単一のコンピュ
ータ・イメージとして現れる。本システムにおいて、ク
ラスタはいくつかの仮想クラスタ(仮想カプセル化クラ
スタ)に分割されている。各仮想カプセル化クラスタ
は、クラスタ外にあるネットワーク上の他のホストに対
して単一のホストとして現れる。メッセージは負荷のバ
ランスがクラスタ・ノードのセットの間で維持されてい
る態様で、各仮想カプセル化クラスタのメンバに送られ
る。
【0013】図3はTCPファミリのプロトコル用の接
続ルータ、すなわちTCP接続ルータ(TCP−CR)
300の実施の形態を示す。この装置は相互接続110
と呼ばれる通信リンクによってまとめて接続され、クラ
スタを形成している2つ以上のコンピュータ・ノード
(105−109)を備えている。(本発明の実施の形
態の1つにおいて、相互接続はネットワークとなること
に留意されたい。)ゲートウェイ109として働く、ク
ラスタ内のコンピュータの1つはネットワーク120と
呼ばれる他の通信リンクを介して、1つまたは複数の外
部コンピュータもしくはクラスタ(ホスト)に接続され
ている。ゲートウェイを2つ以上のネットワークに接続
することができ、またクラスタ内の2つ以上のノードが
ゲートウェイになることができる。ネットワーク、すな
わち境界への各ゲートウェイの接続はネットワーク上で
複数のアドレスを有することができる。各ゲートウェイ
はマネージャ320及びエグゼクタ340からなるTC
P接続ルータ(TCP−CR)300と、図12に記載
する光学式回復マネージャとを有している。マネージャ
はコマンド要求344をエグゼクタへ送り、応答346
を評価することによって、経路を制御する。エグゼクタ
は米国特許第5371852号のものと同様なメッセー
ジ・スイッチ140及びVECルータ310からなって
いる。
続ルータ、すなわちTCP接続ルータ(TCP−CR)
300の実施の形態を示す。この装置は相互接続110
と呼ばれる通信リンクによってまとめて接続され、クラ
スタを形成している2つ以上のコンピュータ・ノード
(105−109)を備えている。(本発明の実施の形
態の1つにおいて、相互接続はネットワークとなること
に留意されたい。)ゲートウェイ109として働く、ク
ラスタ内のコンピュータの1つはネットワーク120と
呼ばれる他の通信リンクを介して、1つまたは複数の外
部コンピュータもしくはクラスタ(ホスト)に接続され
ている。ゲートウェイを2つ以上のネットワークに接続
することができ、またクラスタ内の2つ以上のノードが
ゲートウェイになることができる。ネットワーク、すな
わち境界への各ゲートウェイの接続はネットワーク上で
複数のアドレスを有することができる。各ゲートウェイ
はマネージャ320及びエグゼクタ340からなるTC
P接続ルータ(TCP−CR)300と、図12に記載
する光学式回復マネージャとを有している。マネージャ
はコマンド要求344をエグゼクタへ送り、応答346
を評価することによって、経路を制御する。エグゼクタ
は米国特許第5371852号のものと同様なメッセー
ジ・スイッチ140及びVECルータ310からなって
いる。
【0014】図4は本発明の他の実施の形態を示す。好
ましい実施の形態におけるのと同様に、クラスタのノー
ド107はその応答を直接クライアント130へ返送す
る。しかしながら、この実施の形態においては、専用の
相互接続110(図3におけるような)はなく、すべて
のクラスタ・ノードが外部のネットワーク120によっ
て接続されている。TCP接続ルータは同じものであ
る。サンプル要求348はゲートウェイ109を通って
クライアント130から、外部ネットワーク120を介
してクラスタ・ノード107へ送られる。対応する応答
350はノード107からクライアント130へ外部ネ
ットワーク120を介して直接送られる。
ましい実施の形態におけるのと同様に、クラスタのノー
ド107はその応答を直接クライアント130へ返送す
る。しかしながら、この実施の形態においては、専用の
相互接続110(図3におけるような)はなく、すべて
のクラスタ・ノードが外部のネットワーク120によっ
て接続されている。TCP接続ルータは同じものであ
る。サンプル要求348はゲートウェイ109を通って
クライアント130から、外部ネットワーク120を介
してクラスタ・ノード107へ送られる。対応する応答
350はノード107からクライアント130へ外部ネ
ットワーク120を介して直接送られる。
【0015】マネージャ320の構成要素は接続割振り
ポリシーを実施し、仮想カプセル化クラスタの動的構成
を可能とする。マネージャは動的フィードバック制御ル
ープを介して各カプセル化クラスタのメンバにおける現
行の負荷を監視し、評価する。マネージャは接続割振り
ポリシーを実施するものであり、このポリシーは仮想カ
プセル化クラスタ・サーバ全体にわたる着信接続のイン
テリジェントな拡散を行って、クライアント要求のサー
ビスを迅速化する。新しい重みの割当てが、クラスタ・
アドミニストレータによって構成できるマネージャ・ア
ルゴリズムによって計算される。重み割当てに対するこ
の判断アルゴリズムの入力は、評価された負荷メトリッ
ク、及び時間閾値などのアドミニストレータが構成でき
るパラメータを含んでいる。着信接続は上記の入力に基
づいて各VECに動的に割り振られ、クラスタ・リソー
スがクライアントに最高速のサービスを与えるように割
り振られるようにする。マネージャはコマンド・インタ
フェースも含んでおり、このインタフェースは仮想カプ
セル化クラスタを動的に構成するために、アドミニスト
レータによって使用される。マネージャの詳細について
は、第3節で説明する。
ポリシーを実施し、仮想カプセル化クラスタの動的構成
を可能とする。マネージャは動的フィードバック制御ル
ープを介して各カプセル化クラスタのメンバにおける現
行の負荷を監視し、評価する。マネージャは接続割振り
ポリシーを実施するものであり、このポリシーは仮想カ
プセル化クラスタ・サーバ全体にわたる着信接続のイン
テリジェントな拡散を行って、クライアント要求のサー
ビスを迅速化する。新しい重みの割当てが、クラスタ・
アドミニストレータによって構成できるマネージャ・ア
ルゴリズムによって計算される。重み割当てに対するこ
の判断アルゴリズムの入力は、評価された負荷メトリッ
ク、及び時間閾値などのアドミニストレータが構成でき
るパラメータを含んでいる。着信接続は上記の入力に基
づいて各VECに動的に割り振られ、クラスタ・リソー
スがクライアントに最高速のサービスを与えるように割
り振られるようにする。マネージャはコマンド・インタ
フェースも含んでおり、このインタフェースは仮想カプ
セル化クラスタを動的に構成するために、アドミニスト
レータによって使用される。マネージャの詳細について
は、第3節で説明する。
【0016】TCP接続ルータ109が動作を停止した
場合、クラスタのすべてのノードはそれぞれの遠隔クラ
イアントにサービスを行うことができなくなる。この問
題に対処するため、機能しているゲートウェイが障害を
起こした場合に、指定のバックアップ・ゲートウェイ・
ノード内で活動状態となり、かつサーバ・ノードを拡張
して、回復データを維持するようにする回復マネージャ
を追加した。クライアントがゲートウェイの障害から回
復するために何らかの処置を取る必要はなく、クラスタ
から中断なしにサービスを受け取る。回復マネージャの
詳細については、第4節で説明する。
場合、クラスタのすべてのノードはそれぞれの遠隔クラ
イアントにサービスを行うことができなくなる。この問
題に対処するため、機能しているゲートウェイが障害を
起こした場合に、指定のバックアップ・ゲートウェイ・
ノード内で活動状態となり、かつサーバ・ノードを拡張
して、回復データを維持するようにする回復マネージャ
を追加した。クライアントがゲートウェイの障害から回
復するために何らかの処置を取る必要はなく、クラスタ
から中断なしにサービスを受け取る。回復マネージャの
詳細については、第4節で説明する。
【0017】2.エグゼクタ
図5はエグゼクタ340の好ましい実施の形態を示す。
エグゼクタはコマンド・プロセッサを有するエグゼクタ
・インタフェース540、メッセージ・スイッチ14
0、及びVECルータ310からなる。コマンド・プロ
セッサはエグゼクタ340に対する要求を受け取って、
応答346を返す。コマンド・プロセッサはメッセージ
・スイッチ140及びVECルータ310と対話を行っ
て、要求を行い、応答を構成する。コマンド・プロセッ
サは接続テーブル510、VECテーブル550、ポー
ト・テーブル520またはサーバ・テーブル530に影
響を及ぼす。メッセージ・スイッチ140及び接続テー
ブル510は、米国特許第5371852号のメッセー
ジ・スイッチ及び接続テーブルと同じものである。本発
明の好ましい実施の形態において、VECルータ310
は着信パケットを修正しない。パケットはサーバへ送ら
れるが、サーバは応答が内部ノードからクライアントへ
直接送られるように構成されている。
エグゼクタはコマンド・プロセッサを有するエグゼクタ
・インタフェース540、メッセージ・スイッチ14
0、及びVECルータ310からなる。コマンド・プロ
セッサはエグゼクタ340に対する要求を受け取って、
応答346を返す。コマンド・プロセッサはメッセージ
・スイッチ140及びVECルータ310と対話を行っ
て、要求を行い、応答を構成する。コマンド・プロセッ
サは接続テーブル510、VECテーブル550、ポー
ト・テーブル520またはサーバ・テーブル530に影
響を及ぼす。メッセージ・スイッチ140及び接続テー
ブル510は、米国特許第5371852号のメッセー
ジ・スイッチ及び接続テーブルと同じものである。本発
明の好ましい実施の形態において、VECルータ310
は着信パケットを修正しない。パケットはサーバへ送ら
れるが、サーバは応答が内部ノードからクライアントへ
直接送られるように構成されている。
【0018】メッセージ・スイッチ140は本質的に、
米国特許第5371852号のメッセージ・スイッチと
同じものである。しかしながら、本発明のため、好まし
い実施の形態のメッセージ・スイッチは最適化され、付
加的なチェックがメッセージ・スイッチに追加されてい
る。メッセージ・スイッチはメッセージがVECルータ
に既知のVECに対するものであるかどうかを調べるた
めにチェックを行わなければならない。
米国特許第5371852号のメッセージ・スイッチと
同じものである。しかしながら、本発明のため、好まし
い実施の形態のメッセージ・スイッチは最適化され、付
加的なチェックがメッセージ・スイッチに追加されてい
る。メッセージ・スイッチはメッセージがVECルータ
に既知のVECに対するものであるかどうかを調べるた
めにチェックを行わなければならない。
【0019】VECルータは外部ネットワーク上のクラ
イアントに対する各VECを表す一連のアドレスを維持
している。VECルータは要求をクラスタの内部ノード
へ送るが、受け取った要求を修正しない。クラスタの各
内部ノードは1つまたは複数のVECに関連づけられて
おり、関連づけられているVECに対する要求だけを受
け取る。当分野で周知の技法を使用して、本発明におい
ては、VECを表すアドレスに送られたパケットを受け
入れ、クライアントに直接応答するように、内部ノード
を構成する。従来技術においては、メッセージ・スイッ
チ140は着信要求(図1の140)に合わせてパケッ
ト・ヘッダを書き換え、要求に対する応答(図1の12
0)に合わせてパケット・ヘッダを書き換えなければな
らなかった。本発明においては、パケット・ヘッダの書
き換えは必要ない。(従来技術を本発明とともに使用す
ることはできる。)パケット・ヘッダが書き換えられ
ず、応答パケットがゲートウェイ・ノード109を通っ
て流れないため、本発明の性能は従来技術よりも良好な
ものである。応答パケットがTCP接続ルータを通って
流れないため、メッセージ・スイッチはクラスタ内部の
ノードから応答パケットを受け取ることはない。その結
果、好ましい実施の形態において、ヘッダの書き換えが
排除され、内部ノードからの応答パケットに対するチェ
ックが排除される。
イアントに対する各VECを表す一連のアドレスを維持
している。VECルータは要求をクラスタの内部ノード
へ送るが、受け取った要求を修正しない。クラスタの各
内部ノードは1つまたは複数のVECに関連づけられて
おり、関連づけられているVECに対する要求だけを受
け取る。当分野で周知の技法を使用して、本発明におい
ては、VECを表すアドレスに送られたパケットを受け
入れ、クライアントに直接応答するように、内部ノード
を構成する。従来技術においては、メッセージ・スイッ
チ140は着信要求(図1の140)に合わせてパケッ
ト・ヘッダを書き換え、要求に対する応答(図1の12
0)に合わせてパケット・ヘッダを書き換えなければな
らなかった。本発明においては、パケット・ヘッダの書
き換えは必要ない。(従来技術を本発明とともに使用す
ることはできる。)パケット・ヘッダが書き換えられ
ず、応答パケットがゲートウェイ・ノード109を通っ
て流れないため、本発明の性能は従来技術よりも良好な
ものである。応答パケットがTCP接続ルータを通って
流れないため、メッセージ・スイッチはクラスタ内部の
ノードから応答パケットを受け取ることはない。その結
果、好ましい実施の形態において、ヘッダの書き換えが
排除され、内部ノードからの応答パケットに対するチェ
ックが排除される。
【0020】この改善の直接的な結果として、VECが
調べるのはクライアントと、サービスを与える内部ノー
ドとの間の流れの半分だけとなる。これは正確な接続テ
ーブルを維持することを困難とする。この問題を解決す
るために、本発明はその接続テーブルに固有な2つの新
しいタイマ、状態タイムアウトとFINタイムアウトを
使用する。これら2つのタイマと通信流、及び当分野で
周知のタイマを使用すると、接続テーブルを正確に維持
することができる。
調べるのはクライアントと、サービスを与える内部ノー
ドとの間の流れの半分だけとなる。これは正確な接続テ
ーブルを維持することを困難とする。この問題を解決す
るために、本発明はその接続テーブルに固有な2つの新
しいタイマ、状態タイムアウトとFINタイムアウトを
使用する。これら2つのタイマと通信流、及び当分野で
周知のタイマを使用すると、接続テーブルを正確に維持
することができる。
【0021】接続テーブル項目は2つの状態ACTIV
E及びFINの1つであると考えられる。新しい接続が
確立された場合には、接続テーブル項目が作成され、活
動状態にされる。パケットが接続テーブル内に項目があ
る接続を流れている場合、接続項目にはタイム・スタン
プがつけられる。VECルータがクライアントからサー
ビスを与えるノードへのFIN流を見つけた場合、関連
する接続テーブル項目がFIN状態にされる。(パケッ
トはFIN状態にされた接続上を流れることができ
る。)接続テーブル項目は閉じられており、最後のパケ
ットがクライアントからその接続上のサーバに送られて
から、FINタイム・アウトによって特定されている時
間数が経過した場合に、パージを行うのに利用できると
考えられる。クライアントがFINを送出することなく
障害を起こした場合、接続レコード項目が残る。失効し
たタイムアウトは最後のパケットが活動会話上を流れて
からどれくらい待ってから、接続テーブル項目をパージ
するかを指定する。
E及びFINの1つであると考えられる。新しい接続が
確立された場合には、接続テーブル項目が作成され、活
動状態にされる。パケットが接続テーブル内に項目があ
る接続を流れている場合、接続項目にはタイム・スタン
プがつけられる。VECルータがクライアントからサー
ビスを与えるノードへのFIN流を見つけた場合、関連
する接続テーブル項目がFIN状態にされる。(パケッ
トはFIN状態にされた接続上を流れることができ
る。)接続テーブル項目は閉じられており、最後のパケ
ットがクライアントからその接続上のサーバに送られて
から、FINタイム・アウトによって特定されている時
間数が経過した場合に、パージを行うのに利用できると
考えられる。クライアントがFINを送出することなく
障害を起こした場合、接続レコード項目が残る。失効し
たタイムアウトは最後のパケットが活動会話上を流れて
からどれくらい待ってから、接続テーブル項目をパージ
するかを指定する。
【0022】図7−図9はVECルータ310の流れ図
を示す。図7において、VECルータはパケットを待っ
ている(702)。パケットを受け取ると、VECルー
タはパケットが既存のTCP接続に対するものである
か、新しいTCP接続に対するものであるかをチェック
する(704)。パケットが既存のTCP接続に対する
ものである場合、パケットがFINであるか、SYNで
あるか、RSTであるか(すべてのパケット・タイプは
当分野で周知のものである)をチェックする(70
8)。パケットがこれらのものの1つでない場合には、
パケットを接続に関連づけられた内部ノードに送る(7
22)。これ以外の場合には、パケットがRSTである
かどうかをチェックする(710)。パケットがRST
である場合には、会話が接続テーブルからパージされ
て、接続をリセットし(712)、パケットはその接続
と関連づけられている内部ノードに送られる(72
2)。パケットがRSTでない場合には、VECルータ
310はパケットがSYNであるかどうかをチェックす
る(714)。パケットがSYNである場合には、接続
を確立し(716)、この接続が以前に存在していて
も、その接続を活動状態にする。VECルータ310は
次いで、パケットがFINであるかどうかをチェックす
る(718)。パケットがFINである場合には、接続
はFIN状態となる(720)。FIN処理後、あるい
はパケットがFINでない場合、パケットは接続に関連
づけられているサーバへ送られる(722)。
を示す。図7において、VECルータはパケットを待っ
ている(702)。パケットを受け取ると、VECルー
タはパケットが既存のTCP接続に対するものである
か、新しいTCP接続に対するものであるかをチェック
する(704)。パケットが既存のTCP接続に対する
ものである場合、パケットがFINであるか、SYNで
あるか、RSTであるか(すべてのパケット・タイプは
当分野で周知のものである)をチェックする(70
8)。パケットがこれらのものの1つでない場合には、
パケットを接続に関連づけられた内部ノードに送る(7
22)。これ以外の場合には、パケットがRSTである
かどうかをチェックする(710)。パケットがRST
である場合には、会話が接続テーブルからパージされ
て、接続をリセットし(712)、パケットはその接続
と関連づけられている内部ノードに送られる(72
2)。パケットがRSTでない場合には、VECルータ
310はパケットがSYNであるかどうかをチェックす
る(714)。パケットがSYNである場合には、接続
を確立し(716)、この接続が以前に存在していて
も、その接続を活動状態にする。VECルータ310は
次いで、パケットがFINであるかどうかをチェックす
る(718)。パケットがFINである場合には、接続
はFIN状態となる(720)。FIN処理後、あるい
はパケットがFINでない場合、パケットは接続に関連
づけられているサーバへ送られる(722)。
【0023】図8は非存在接続の流れ図を示す。チェッ
ク704で非存在接続が見つかった場合、VECルータ
はまずパケットがSYNであるかどうかをチェックする
(724)。パケットがSYNでなければ、廃棄する
(726)。パケットがSYNである場合、接続が活動
状態にセットアップされ(728)、サーバが選択され
(730)、パケットが選択されたサーバへ送られる
(722)。
ク704で非存在接続が見つかった場合、VECルータ
はまずパケットがSYNであるかどうかをチェックする
(724)。パケットがSYNでなければ、廃棄する
(726)。パケットがSYNである場合、接続が活動
状態にセットアップされ(728)、サーバが選択され
(730)、パケットが選択されたサーバへ送られる
(722)。
【0024】図9は新しい接続に対してサーバを選択す
る(730)処理の流れ図を示す。本発明において、こ
の機能は加重経路指定を実現する。サーバの選択に関す
るこの検討のために、VECの内部ノードには1からn
までの番号がつけられているものと考える。たとえば、
VECに7つのノードがある場合、番号は1、2、3、
4、5、6及び7となる。サーバの選択に関するこの検
討のために、適格な重みを適正な最大値から1までの番
号がつけられているものと考える。たとえば、最大適正
値が5である場合、適格な重みは5、4、3、2、及び
1となる。0は特別な値である。重みは降順で選択する
こともできる。本発明は重みを個々ののサービスを与え
る各内部ノードと関連づける。これは各サービスに対し
て、少なくとも1つのノードが最大の非ゼロの重みを有
しているか、あるいはすべてのノードがゼロの重みを有
していることを保証する。
る(730)処理の流れ図を示す。本発明において、こ
の機能は加重経路指定を実現する。サーバの選択に関す
るこの検討のために、VECの内部ノードには1からn
までの番号がつけられているものと考える。たとえば、
VECに7つのノードがある場合、番号は1、2、3、
4、5、6及び7となる。サーバの選択に関するこの検
討のために、適格な重みを適正な最大値から1までの番
号がつけられているものと考える。たとえば、最大適正
値が5である場合、適格な重みは5、4、3、2、及び
1となる。0は特別な値である。重みは降順で選択する
こともできる。本発明は重みを個々ののサービスを与え
る各内部ノードと関連づける。これは各サービスに対し
て、少なくとも1つのノードが最大の非ゼロの重みを有
しているか、あるいはすべてのノードがゼロの重みを有
していることを保証する。
【0025】サーバを選択する機能(730)はまず、
次にもっとも高いサーバ(734)と現行の適格な重み
を拾い出す。次いで、この値が大きすぎるものかどうか
をチェックする(735)。この値が大きすぎない場合
には、この値に対応するサーバが良好な選択であるかど
うかをチェックする(746)。(このチェックについ
ては、後述する。)この値が大きすぎる場合には、次に
低い重みの最初のサーバを拾い出す(736)。次い
で、次に低い重みがゼロであるかどうかをチェックする
(738)。次に低い重みがゼロでない場合には、現行
の適格な重みの代わりに、これを使用する。この機能は
現行のサーバが良好な選択であるかどうかをチェックす
る(746)。最初のサーバと最大の重みを選択した
(740)後、この機能はパケットを送るのに利用でき
るサーバがあるかどうかをチェックする(742)。利
用可能なすべてのノードの重みがゼロである場合、サー
バはまったく利用できない。利用できるサーバがない場
合には、サーバを選択することなく、パケットは戻され
る(744)。利用可能なサーバがある場合には、この
機能は良好な選択があるかどうかをチェックする(74
6)。良好な選択は、重みが現行の適格な重みと等しい
か、それよりも大きいサーバとして定義されている。こ
れが良好な選択である場合には、サーバが選択され(7
48)、VECルータへ戻される(750)。これが良
好な選択でない場合には、アルゴリズムは次のサーバを
拾い出す(734)。
次にもっとも高いサーバ(734)と現行の適格な重み
を拾い出す。次いで、この値が大きすぎるものかどうか
をチェックする(735)。この値が大きすぎない場合
には、この値に対応するサーバが良好な選択であるかど
うかをチェックする(746)。(このチェックについ
ては、後述する。)この値が大きすぎる場合には、次に
低い重みの最初のサーバを拾い出す(736)。次い
で、次に低い重みがゼロであるかどうかをチェックする
(738)。次に低い重みがゼロでない場合には、現行
の適格な重みの代わりに、これを使用する。この機能は
現行のサーバが良好な選択であるかどうかをチェックす
る(746)。最初のサーバと最大の重みを選択した
(740)後、この機能はパケットを送るのに利用でき
るサーバがあるかどうかをチェックする(742)。利
用可能なすべてのノードの重みがゼロである場合、サー
バはまったく利用できない。利用できるサーバがない場
合には、サーバを選択することなく、パケットは戻され
る(744)。利用可能なサーバがある場合には、この
機能は良好な選択があるかどうかをチェックする(74
6)。良好な選択は、重みが現行の適格な重みと等しい
か、それよりも大きいサーバとして定義されている。こ
れが良好な選択である場合には、サーバが選択され(7
48)、VECルータへ戻される(750)。これが良
好な選択でない場合には、アルゴリズムは次のサーバを
拾い出す(734)。
【0026】最大の重みが非ゼロであり、少なくとも1
つのノードが最大の重みを有しているか、あるいはすべ
てのノードの重みがゼロであるため、サーバ選択機能は
常に終了する。正の重みのあるノードがある場合、サー
バを選択する機能は重みの比に基づいてパケットを分配
する。たとえば、任意の2つのノードの間で、一方の重
みが3であり、他方の重みが2である場合、重みが3の
ノードは、重みが2のノードが受け取る2つのパケット
ごとに3つのパケットを取得する。
つのノードが最大の重みを有しているか、あるいはすべ
てのノードの重みがゼロであるため、サーバ選択機能は
常に終了する。正の重みのあるノードがある場合、サー
バを選択する機能は重みの比に基づいてパケットを分配
する。たとえば、任意の2つのノードの間で、一方の重
みが3であり、他方の重みが2である場合、重みが3の
ノードは、重みが2のノードが受け取る2つのパケット
ごとに3つのパケットを取得する。
【0027】図10はVECルータが使用するデータ構
造の実施の形態を示す。VECテーブル550は外部ネ
ットワーク上のVECアドレスである一連のアドレスを
含んでいる。VECに個々に関連づけられるすべてのパ
ラメータも、このテーブルに含まれている。各VECテ
ーブルはポート・テーブル520に関連づけられてお
り、このポート・テーブルはVECがサービスを与えて
いる一連のポート802を含んでいる。各ポート項目8
02には失効を示す状態タイムアウト804、FINタ
イムアウト806及びその他のポート固有の属性808
が関連づけられている。各ポートには、このポートに関
連づけられているサービスを与えるために使用されるV
ECの内部ノードのサブセットが関連づけられている。
ノード・テーブル530はポートに関連づけられている
ノードのアドレス820、このノードに関連づけられて
いる現行の重み822、及びその他のノード固有の情報
830を含んでいる。(ノード固有の情報の例は、活動
状態の接続の数、FIN状態の接続の数、及び完成した
接続の総数を示すカウンタである。)ノード・テーブル
530はこのテーブル内のノードのセットに対して加重
経路指定を実施するためにサーバを選択する機能に必要
な状態も含んでいる。ノード・テーブルはノードの総数
810、最後に選択されたノード812、現行の適格な
重み814、最大重み816、及び重みのバウンド81
8を含んでいる。重みのバウンドは最大重みの変動を制
限するために使用される。いずれのノードも、重みのバ
ウンドよりも大きい重みを持つことはできない。
造の実施の形態を示す。VECテーブル550は外部ネ
ットワーク上のVECアドレスである一連のアドレスを
含んでいる。VECに個々に関連づけられるすべてのパ
ラメータも、このテーブルに含まれている。各VECテ
ーブルはポート・テーブル520に関連づけられてお
り、このポート・テーブルはVECがサービスを与えて
いる一連のポート802を含んでいる。各ポート項目8
02には失効を示す状態タイムアウト804、FINタ
イムアウト806及びその他のポート固有の属性808
が関連づけられている。各ポートには、このポートに関
連づけられているサービスを与えるために使用されるV
ECの内部ノードのサブセットが関連づけられている。
ノード・テーブル530はポートに関連づけられている
ノードのアドレス820、このノードに関連づけられて
いる現行の重み822、及びその他のノード固有の情報
830を含んでいる。(ノード固有の情報の例は、活動
状態の接続の数、FIN状態の接続の数、及び完成した
接続の総数を示すカウンタである。)ノード・テーブル
530はこのテーブル内のノードのセットに対して加重
経路指定を実施するためにサーバを選択する機能に必要
な状態も含んでいる。ノード・テーブルはノードの総数
810、最後に選択されたノード812、現行の適格な
重み814、最大重み816、及び重みのバウンド81
8を含んでいる。重みのバウンドは最大重みの変動を制
限するために使用される。いずれのノードも、重みのバ
ウンドよりも大きい重みを持つことはできない。
【0028】3.マネージャ
接続ルータマネージャ(マネージャ320)の発明は構
成可能なポリシーにしたがって、いくつかの負荷メトリ
ックを使用して着信接続を動的に分配する方法及び装置
である。マネージャはエグゼクタ340の経路指定アル
ゴリズムの重みを動的に修正して、クラスタ・リソース
の割振りを最適化する制御ループを備えている。本発明
の目的は、クラスタの現行状態にしたがって着信TCP
を分配することによって、クラスタの全体的なスループ
ットを改善し、サービス要求の総合的な遅れを少なくす
ることである。それ故、本発明は接続をサーバ・ホスト
へ分配する、サーバの利用度を改善し、要求のサービス
を行うことの遅れを少なくする方法を記載する。
成可能なポリシーにしたがって、いくつかの負荷メトリ
ックを使用して着信接続を動的に分配する方法及び装置
である。マネージャはエグゼクタ340の経路指定アル
ゴリズムの重みを動的に修正して、クラスタ・リソース
の割振りを最適化する制御ループを備えている。本発明
の目的は、クラスタの現行状態にしたがって着信TCP
を分配することによって、クラスタの全体的なスループ
ットを改善し、サービス要求の総合的な遅れを少なくす
ることである。それ故、本発明は接続をサーバ・ホスト
へ分配する、サーバの利用度を改善し、要求のサービス
を行うことの遅れを少なくする方法を記載する。
【0029】図6は5つのノード(105、106、1
07、108、及び109)のクラスタ600内の、本
発明のマネージャ320の実施の形態のサンプルを示
す。図6は図4の代替ネットワーク構成を使用している
が、図3の構成も可能である。ノードの1つはゲートウ
ェイ109であり、これは外部ネットワーク120に接
続しており、TCP接続ルータ300(エグゼクタ34
0及びマネージャ320)を実行する。マネージャ32
0は5つの一般的な構成要素、負荷マネージャ(Mbu
ddy)610、外部制御インタフェース(Callb
uddy)620、クラスタ・ホスト・メトリック・マ
ネージャ(Hostmonitor)630、順方向メ
トリック・ジェネレータ(FMG)640、及びユーザ
・プログラマブル・メトリック・マネージャ(UPM
M)650からなっている。
07、108、及び109)のクラスタ600内の、本
発明のマネージャ320の実施の形態のサンプルを示
す。図6は図4の代替ネットワーク構成を使用している
が、図3の構成も可能である。ノードの1つはゲートウ
ェイ109であり、これは外部ネットワーク120に接
続しており、TCP接続ルータ300(エグゼクタ34
0及びマネージャ320)を実行する。マネージャ32
0は5つの一般的な構成要素、負荷マネージャ(Mbu
ddy)610、外部制御インタフェース(Callb
uddy)620、クラスタ・ホスト・メトリック・マ
ネージャ(Hostmonitor)630、順方向メ
トリック・ジェネレータ(FMG)640、及びユーザ
・プログラマブル・メトリック・マネージャ(UPM
M)650からなっている。
【0030】Mbuddy610は入力メトリック、ホ
スト・メトリック、サービス・メトリック、及びユーザ
・メトリックという4つの異なるクラスのメトリックを
使用して、エグゼクタ用の重み機能を実行することがで
きる。Mbuddy610はこれらのメトリックとその
他の関連する情報を、エグゼクタ・インタフェース34
6、Callbuddyインタフェース624、Hos
tmonitorインタフェース634、FMGインタ
フェース644、及びUPMMインタフェース654か
ら受け取る。Mbuddyはインタフェース344を介
して、各VECポート・サーバに対するエグゼクタ経路
指定アルゴリズムに関連づけられた重みを制御する。
スト・メトリック、サービス・メトリック、及びユーザ
・メトリックという4つの異なるクラスのメトリックを
使用して、エグゼクタ用の重み機能を実行することがで
きる。Mbuddy610はこれらのメトリックとその
他の関連する情報を、エグゼクタ・インタフェース34
6、Callbuddyインタフェース624、Hos
tmonitorインタフェース634、FMGインタ
フェース644、及びUPMMインタフェース654か
ら受け取る。Mbuddyはインタフェース344を介
して、各VECポート・サーバに対するエグゼクタ経路
指定アルゴリズムに関連づけられた重みを制御する。
【0031】Mbuddy610は定期的にエグゼクタ
340に、インタフェース346を介して、各サーバに
関連づけられた内部カウンタの値を要求する。たとえ
ば、各サーバに対して確立された接続の総数に関するカ
ウンタの値を定期的に要求する。時間T1及びT2でポ
ーリングされた2つのカウンタを減算することにより、
Mbuddy610は時間間隔T1−T2中に受け取っ
た接続の数を表すメトリック変数を計算する。このよう
な入力メトリックの集合は各VEC及び各ポート・サー
ビスに対する接続要求の特性速度の概数を与える。
340に、インタフェース346を介して、各サーバに
関連づけられた内部カウンタの値を要求する。たとえ
ば、各サーバに対して確立された接続の総数に関するカ
ウンタの値を定期的に要求する。時間T1及びT2でポ
ーリングされた2つのカウンタを減算することにより、
Mbuddy610は時間間隔T1−T2中に受け取っ
た接続の数を表すメトリック変数を計算する。このよう
な入力メトリックの集合は各VEC及び各ポート・サー
ビスに対する接続要求の特性速度の概数を与える。
【0032】Hostmonitor630は定期的に
Mbuddy610に、Hostmonitorインタ
フェース634を介して、クラスタ内の各ホストの状態
に関する情報を送る。この状態情報を得るのには、さま
ざまな周知の方法がある。たとえば、Hostmoni
torはプログラム・スクリプトを実行して、ホスト固
有のメトリックを評価する監視エージェント635を使
用することができる。たとえば、スクリプトはネットワ
ーク接続に対するメモリ・バッファの現行レベルの利用
度を評価することができる。メトリック・レポートをポ
リシー固有の閾時間内に受け取らなかった場合には、対
応するホスト・メトリックに特別な値が与えられ、マネ
ージャはホストに到達できないと判断することができ、
それ故、それ以上の接続要求はこのホストに送られな
い。Hostmonitor630はすべての監視エー
ジェントのレポートを調整し、これをMbuddyに提
示する。
Mbuddy610に、Hostmonitorインタ
フェース634を介して、クラスタ内の各ホストの状態
に関する情報を送る。この状態情報を得るのには、さま
ざまな周知の方法がある。たとえば、Hostmoni
torはプログラム・スクリプトを実行して、ホスト固
有のメトリックを評価する監視エージェント635を使
用することができる。たとえば、スクリプトはネットワ
ーク接続に対するメモリ・バッファの現行レベルの利用
度を評価することができる。メトリック・レポートをポ
リシー固有の閾時間内に受け取らなかった場合には、対
応するホスト・メトリックに特別な値が与えられ、マネ
ージャはホストに到達できないと判断することができ、
それ故、それ以上の接続要求はこのホストに送られな
い。Hostmonitor630はすべての監視エー
ジェントのレポートを調整し、これをMbuddyに提
示する。
【0033】順方向メトリック・ジェネレータ(FM
G)640は順方向要求、すなわちゲートウェイ109
のコンピュータから始まる要求を使用して、アプリケー
ション固有のメトリックまたはサービス固有のメトリッ
クを作成し、評価する。評価はクラスタ・ホスト・サー
バの各々に対して適切な要求を作成し、これらの応答の
遅れを測定することからなっている。たとえば、HTT
Pサーバにおける順方向遅延メトリックを取得するため
に、FMGは特定のポート(たとえば、ポート80)に
サービスを行うクラスタにおける各HTTPサーバに対
してHTTP「GET /」を生成する。次いで、FM
G640はHTTP要求にサービスを行う際の対応する
遅れを測定し、メトリックス・ベクトルをMbuddy
610へ送る。ポリシー固有の閾時間までに要求に回答
がない場合には、FMGは対応するサービス・ノード
に、特定のサービス・タイプの新しい要求を一時的に受
け取らないとのマークをつける。この情報をマネージャ
が使用して、特定のホストにおけるサービスに一時的に
到達できないと判断し、それ故、このタイプのこれ以外
の接続要求はこのサービスに送られなくなる。
G)640は順方向要求、すなわちゲートウェイ109
のコンピュータから始まる要求を使用して、アプリケー
ション固有のメトリックまたはサービス固有のメトリッ
クを作成し、評価する。評価はクラスタ・ホスト・サー
バの各々に対して適切な要求を作成し、これらの応答の
遅れを測定することからなっている。たとえば、HTT
Pサーバにおける順方向遅延メトリックを取得するため
に、FMGは特定のポート(たとえば、ポート80)に
サービスを行うクラスタにおける各HTTPサーバに対
してHTTP「GET /」を生成する。次いで、FM
G640はHTTP要求にサービスを行う際の対応する
遅れを測定し、メトリックス・ベクトルをMbuddy
610へ送る。ポリシー固有の閾時間までに要求に回答
がない場合には、FMGは対応するサービス・ノード
に、特定のサービス・タイプの新しい要求を一時的に受
け取らないとのマークをつける。この情報をマネージャ
が使用して、特定のホストにおけるサービスに一時的に
到達できないと判断し、それ故、このタイプのこれ以外
の接続要求はこのサービスに送られなくなる。
【0034】ユーザ・プログラマブル・メトリック・マ
ネージャ(UPMM)650により、本発明のユーザが
任意の新しいメトリックを接続の管理のために考えるこ
とを定義できるようになる。このようなメトリックは所
与のクラスタ・インストレーションが実施を望むことの
できる任意のポリシーを記述できる。たとえば、任意の
ポリシーは管理上の考慮事項のため、ある期間中にある
セットのクラスタ・ホストがTCP接続を受け取っては
ならないことを必要とすることができる。UPMM65
0はインタフェース654を介して、メトリックとして
これらのポリシーをMbuddyに通信する。
ネージャ(UPMM)650により、本発明のユーザが
任意の新しいメトリックを接続の管理のために考えるこ
とを定義できるようになる。このようなメトリックは所
与のクラスタ・インストレーションが実施を望むことの
できる任意のポリシーを記述できる。たとえば、任意の
ポリシーは管理上の考慮事項のため、ある期間中にある
セットのクラスタ・ホストがTCP接続を受け取っては
ならないことを必要とすることができる。UPMM65
0はインタフェース654を介して、メトリックとして
これらのポリシーをMbuddyに通信する。
【0035】Callbuddy620の構成要素はア
ドミニストレータが、Mbuddy610のパラメータ
の任意のものを動的に調節することを可能とする。Ca
llbuddyにより、アドミニストレータがアルゴリ
ズムを構成して、Mbuddyによって実施された重み
の割当てを計算するようにすることが可能となる。たと
えば、アドミニストレータは現行メトリックの各々に関
連づけられた重みを動的に変更しようとすることができ
る。アドミニストレータは、たとえば、(1)ホスト・
メトリックの重みを高くし、(2)サービス・メトリッ
クの重みを低くし、(3)入力メトリックに合わせてエ
グゼクタ340の重みをポーリングする周波数を高くす
ることを選択できる。Callbuddy620の構成
要素はインタフェース622を介してアドミニストレー
タの要求を受け取り、インタフェース624を介してM
buddy610に通知する。
ドミニストレータが、Mbuddy610のパラメータ
の任意のものを動的に調節することを可能とする。Ca
llbuddyにより、アドミニストレータがアルゴリ
ズムを構成して、Mbuddyによって実施された重み
の割当てを計算するようにすることが可能となる。たと
えば、アドミニストレータは現行メトリックの各々に関
連づけられた重みを動的に変更しようとすることができ
る。アドミニストレータは、たとえば、(1)ホスト・
メトリックの重みを高くし、(2)サービス・メトリッ
クの重みを低くし、(3)入力メトリックに合わせてエ
グゼクタ340の重みをポーリングする周波数を高くす
ることを選択できる。Callbuddy620の構成
要素はインタフェース622を介してアドミニストレー
タの要求を受け取り、インタフェース624を介してM
buddy610に通知する。
【0036】Mbuddy610の構成要素は負荷マネ
ージャであり、サーバと接続ルータ・ゲートウェイ・ノ
ードとの間の動的フィードバック制御ループを確立す
る。Mbuddy610はエグゼクタの経路指定アルゴ
リズムの重みを調節するので、負荷メトリックにしたが
って軽く負荷がかけられているサーバは、そのタイプの
着信TCP接続の大きい部分を受け取る。上記で定義さ
れたような任意のセットの負荷とポリシー・メトリック
が与えられると、Mbuddyはその現行のメトリック
及びその現行の重みに基づいて、各VEC内の各ポート
の各サーバに対する新しい相対重みを計算する。
ージャであり、サーバと接続ルータ・ゲートウェイ・ノ
ードとの間の動的フィードバック制御ループを確立す
る。Mbuddy610はエグゼクタの経路指定アルゴ
リズムの重みを調節するので、負荷メトリックにしたが
って軽く負荷がかけられているサーバは、そのタイプの
着信TCP接続の大きい部分を受け取る。上記で定義さ
れたような任意のセットの負荷とポリシー・メトリック
が与えられると、Mbuddyはその現行のメトリック
及びその現行の重みに基づいて、各VEC内の各ポート
の各サーバに対する新しい相対重みを計算する。
【0037】あらゆるVECにおける各ポートに対する
重みの割当ては次のようにして計算される。(1)すべ
ての実行サーバに対するすべての総合メトリック(A
M)を計算する。(2)各実行サーバ(CWP)に対す
るすべての現行の重みの比率を計算する。(3)各メト
リックMに関し、各サーバSについてその値のメトリッ
ク比率(MP)を計算する(総合AMに関して)。
(4)各サーバに関し、新しい重みNWを計算する。
(4a)サーバが静止している場合には、NWを0にセ
ットする。(4b)サーバがスティッキィ重みWを有し
ている場合には、Wの値をNWとして使用する。(4
c)次の式によって、ベクトルNWVを計算する(ただ
し、各項目NWV[i]は単一のメトリックM[i]に
基づく)。 NWV[i]=AW+[(CWP−MP)/SF] ただし、AWは重みの現行範囲内での平均重みであり、
SFは平滑か計数のパラメータである。(4d)各サー
バの新しい重みNWを次のものとして計算する。 NW=NWV[1]*W[1]+NWV[2]*W
[2]+...+NWV[i]*W[i]
重みの割当ては次のようにして計算される。(1)すべ
ての実行サーバに対するすべての総合メトリック(A
M)を計算する。(2)各実行サーバ(CWP)に対す
るすべての現行の重みの比率を計算する。(3)各メト
リックMに関し、各サーバSについてその値のメトリッ
ク比率(MP)を計算する(総合AMに関して)。
(4)各サーバに関し、新しい重みNWを計算する。
(4a)サーバが静止している場合には、NWを0にセ
ットする。(4b)サーバがスティッキィ重みWを有し
ている場合には、Wの値をNWとして使用する。(4
c)次の式によって、ベクトルNWVを計算する(ただ
し、各項目NWV[i]は単一のメトリックM[i]に
基づく)。 NWV[i]=AW+[(CWP−MP)/SF] ただし、AWは重みの現行範囲内での平均重みであり、
SFは平滑か計数のパラメータである。(4d)各サー
バの新しい重みNWを次のものとして計算する。 NW=NWV[1]*W[1]+NWV[2]*W
[2]+...+NWV[i]*W[i]
【0038】図11は本発明により、メトリックがどの
ようにメトリックによって受け取られるのか、また重み
の割当てがどのように計算されるのかについての流れ図
の説明である。最上部の枠910はマネージャMbud
dyがメッセージまたはタイムアウトのいずれかである
イベントを待機していることを示す。判断ブロック92
0は発生するイベントのタイプを決定する。値のリフレ
ッシュを必要とするタイムアウトがあった場合、ブロッ
ク930において、エグゼクタに照会を行って、入力メ
トリックを与える一連のカウンタ値を取得する(93
5)。ブロック920で、イベントがパラメータの更新
についての要求であると判断された場合、対応するパラ
メータが更新される(928)。たとえば、アドミニス
トレータはメトリックに関連づけられた重み、またはポ
ーリング期間を更新することができる。ブロック920
で、イベントがメトリック更新の受取りであったと判断
された場合には、ブロック925において、メトリック
が検索され、これにしたがって、内部変数がセットされ
る。新しいメトリックが到着した場合には、ブロック9
40において、アルゴリズムがすべてのメトリックの現
行の比率と、現行の重みを計算する。次いで、ブロック
950において、サーバ・ノードの各々に対する新しい
重みNWが,上述の式を使用して計算される。このブロ
ックは各サーバiが重み項目を有している重みNW
[i]の新しいベクトルを作成する。判断ブロック96
0は任意の閾値機能によって、重みNW[i]の計算さ
れた新しいベクトルが、現行の重みベクトルと異なって
いるかどうかを判断する。新しいベクトルが異なってい
る場合には、ブロック970において、エグゼクタに新
しい重みが通知され、それ以外であれば、アルゴリズム
はTOP状態に戻り、新しいイベントを待機する。
ようにメトリックによって受け取られるのか、また重み
の割当てがどのように計算されるのかについての流れ図
の説明である。最上部の枠910はマネージャMbud
dyがメッセージまたはタイムアウトのいずれかである
イベントを待機していることを示す。判断ブロック92
0は発生するイベントのタイプを決定する。値のリフレ
ッシュを必要とするタイムアウトがあった場合、ブロッ
ク930において、エグゼクタに照会を行って、入力メ
トリックを与える一連のカウンタ値を取得する(93
5)。ブロック920で、イベントがパラメータの更新
についての要求であると判断された場合、対応するパラ
メータが更新される(928)。たとえば、アドミニス
トレータはメトリックに関連づけられた重み、またはポ
ーリング期間を更新することができる。ブロック920
で、イベントがメトリック更新の受取りであったと判断
された場合には、ブロック925において、メトリック
が検索され、これにしたがって、内部変数がセットされ
る。新しいメトリックが到着した場合には、ブロック9
40において、アルゴリズムがすべてのメトリックの現
行の比率と、現行の重みを計算する。次いで、ブロック
950において、サーバ・ノードの各々に対する新しい
重みNWが,上述の式を使用して計算される。このブロ
ックは各サーバiが重み項目を有している重みNW
[i]の新しいベクトルを作成する。判断ブロック96
0は任意の閾値機能によって、重みNW[i]の計算さ
れた新しいベクトルが、現行の重みベクトルと異なって
いるかどうかを判断する。新しいベクトルが異なってい
る場合には、ブロック970において、エグゼクタに新
しい重みが通知され、それ以外であれば、アルゴリズム
はTOP状態に戻り、新しいイベントを待機する。
【0039】4.回復マネージャ
機能しているゲートウェイの障害を検出すると、指定さ
れたバックアップ・ゲートウェイにおける回復マネージ
ャが活動状態となる。障害検出は従来、A. Bhide他、
「A highly Available Network File Server」、USENIX
Conference、1991年冬期、テキサス州ダラス、第
199ページ、またはF. Jahanian他、「Processor Gro
up Membership Protocols: Specification, Design and
Implementation」、Proceedings of the 12th Symposi
um of Reliable Distributed Systems、第2−11ペー
ジ、Princeton、ニュージャージー州、1993年10
月、IEEE Computer Societyに記載されているようにし
て行うことができる。
れたバックアップ・ゲートウェイにおける回復マネージ
ャが活動状態となる。障害検出は従来、A. Bhide他、
「A highly Available Network File Server」、USENIX
Conference、1991年冬期、テキサス州ダラス、第
199ページ、またはF. Jahanian他、「Processor Gro
up Membership Protocols: Specification, Design and
Implementation」、Proceedings of the 12th Symposi
um of Reliable Distributed Systems、第2−11ペー
ジ、Princeton、ニュージャージー州、1993年10
月、IEEE Computer Societyに記載されているようにし
て行うことができる。
【0040】回復マネージャはまずHA/NFSで教示
されているようにして、障害を起こしたゲートウェイか
らネットワーク接続を除去し、次いで、すべての活動サ
ーバ・ノードに問い合わせを行って、それぞれのシャド
ウ接続テーブルから状態情報を取得し、この情報からゲ
ートウェイのメッセージ・スイッチ内に接続テーブルを
構成する。引継プロセスはTCP/IPのタイムアウト
期間内に完了していなければならず、その結果、既存の
接続が失われることはない。これを達成するために、内
部ノードは新規なハイブリッド・アルゴリズム(後述)
を実行して、接続が非活動状態になった時点を感知し、
これらをそれぞれのシャドウ接続テーブルから除去し、
その結果、活動接続が引き継ぎゲートウェイに対して記
述される。すべての機能中のクラスタ・ノードが応答す
ると(指定の期間内に応答しないノードは機能していな
いものと見なされる)、バックアップ・ゲートウェイで
実行されている回復マネージャはそれ自体のネットワー
ク・インタフェースを使用可能とし、クラスタのipア
ドレス宛のパケットを受け取る。この最後のステップは
バックアップ・ゲートウェイが作動するのを可能とする
のに必要な作業を完了する。マネージャの構成要素によ
って使用される相対的に静的な構成データは、主ゲート
ウェイトバックアップ・ゲートウェイトの間で共用され
ているファイルに維持され、引継中にバックアップによ
って読み取られる。
されているようにして、障害を起こしたゲートウェイか
らネットワーク接続を除去し、次いで、すべての活動サ
ーバ・ノードに問い合わせを行って、それぞれのシャド
ウ接続テーブルから状態情報を取得し、この情報からゲ
ートウェイのメッセージ・スイッチ内に接続テーブルを
構成する。引継プロセスはTCP/IPのタイムアウト
期間内に完了していなければならず、その結果、既存の
接続が失われることはない。これを達成するために、内
部ノードは新規なハイブリッド・アルゴリズム(後述)
を実行して、接続が非活動状態になった時点を感知し、
これらをそれぞれのシャドウ接続テーブルから除去し、
その結果、活動接続が引き継ぎゲートウェイに対して記
述される。すべての機能中のクラスタ・ノードが応答す
ると(指定の期間内に応答しないノードは機能していな
いものと見なされる)、バックアップ・ゲートウェイで
実行されている回復マネージャはそれ自体のネットワー
ク・インタフェースを使用可能とし、クラスタのipア
ドレス宛のパケットを受け取る。この最後のステップは
バックアップ・ゲートウェイが作動するのを可能とする
のに必要な作業を完了する。マネージャの構成要素によ
って使用される相対的に静的な構成データは、主ゲート
ウェイトバックアップ・ゲートウェイトの間で共用され
ているファイルに維持され、引継中にバックアップによ
って読み取られる。
【0041】自明ではあるが、受け入れられない解決策
は接続情報をバックアップ・ゲートウェイに重複して維
持することである。これは各確立された接続及び各終了
した接続における主ゲートウェイトバックアップ・ゲー
トウェイの間の「2段階」プロトコルを必要とし、パフ
ォーマンスのコストが厳しいものであるため、拒絶され
た。
は接続情報をバックアップ・ゲートウェイに重複して維
持することである。これは各確立された接続及び各終了
した接続における主ゲートウェイトバックアップ・ゲー
トウェイの間の「2段階」プロトコルを必要とし、パフ
ォーマンスのコストが厳しいものであるため、拒絶され
た。
【0042】図12は高可用性のゲートウェイを備えた
カプセル化クラスタの構成を示す。主ゲートウェイ10
50は外部ネットワーク120に活動状態で接続されて
いる。指定されたバックアップ・ゲートウェイ1030
はネットワーク120に対する物理的ではあるが、非活
動状態の接続を含んでいる。正規のカプセル化クラスタ
・ゲートウェイの構成要素、マネージャ320及びエグ
ゼクタ340に加えて、各ゲートウェイは回復マネージ
ャ1020を含んでいる。(主ゲートウェイは障害及び
回復後にバックアップとなることができる。)各サーバ
・ノード107はシャドウ接続テーブル1010を含ん
でおり、このテーブルには、外部ネットワーク120に
対するその活動接続に関する情報が維持されている。
カプセル化クラスタの構成を示す。主ゲートウェイ10
50は外部ネットワーク120に活動状態で接続されて
いる。指定されたバックアップ・ゲートウェイ1030
はネットワーク120に対する物理的ではあるが、非活
動状態の接続を含んでいる。正規のカプセル化クラスタ
・ゲートウェイの構成要素、マネージャ320及びエグ
ゼクタ340に加えて、各ゲートウェイは回復マネージ
ャ1020を含んでいる。(主ゲートウェイは障害及び
回復後にバックアップとなることができる。)各サーバ
・ノード107はシャドウ接続テーブル1010を含ん
でおり、このテーブルには、外部ネットワーク120に
対するその活動接続に関する情報が維持されている。
【0043】メッセージ(ipパケット)がクラスタ・
ゲートウェイに到着し、特定のTCPまたはUDPプロ
トコル・ポートへ送られる。ゲートウェイ内のメッセー
ジ・スイッチにより、メッセージ経路指定機能をプロト
コル・ポートに合わせてインストールすることが可能と
なる。経路指定機能が関連づけられたポートに到着する
各メッセージに対して呼び出され、内部ノード及びメッ
セージが送られるポートの選択を担当する。確立済みの
接続を指定する情報及び接続を保持するクラスタが、ゲ
ートウェイ内のテーブルに記録される。このテーブルを
メッセージ・スイッチが使用して、確立済みの接続上の
着信パケットを適正なクラスタ・ノードへ送る。
ゲートウェイに到着し、特定のTCPまたはUDPプロ
トコル・ポートへ送られる。ゲートウェイ内のメッセー
ジ・スイッチにより、メッセージ経路指定機能をプロト
コル・ポートに合わせてインストールすることが可能と
なる。経路指定機能が関連づけられたポートに到着する
各メッセージに対して呼び出され、内部ノード及びメッ
セージが送られるポートの選択を担当する。確立済みの
接続を指定する情報及び接続を保持するクラスタが、ゲ
ートウェイ内のテーブルに記録される。このテーブルを
メッセージ・スイッチが使用して、確立済みの接続上の
着信パケットを適正なクラスタ・ノードへ送る。
【0044】どのサーバ・ポートがインストールされた
メッセージ・スイッチ機能を持っているかなどの相対的
に静的な情報が維持され、他のマネージャ構成情報が、
主ゲートウェイ及びバックアップ・ゲートウェイ両方に
アクセス可能な共用ファイルに保管される。現行の接続
情報はきわめて迅速に変化し、本明細書に記載する技法
にしたがって管理される。
メッセージ・スイッチ機能を持っているかなどの相対的
に静的な情報が維持され、他のマネージャ構成情報が、
主ゲートウェイ及びバックアップ・ゲートウェイ両方に
アクセス可能な共用ファイルに保管される。現行の接続
情報はきわめて迅速に変化し、本明細書に記載する技法
にしたがって管理される。
【0045】各内部ノード107はそれ自体の接続のた
めに(他のノードに対する接続に対してではなく)ゲー
トウェイ経路指定テーブルのシャドウ1010を維持し
ている。このシャドウ・テーブルをノードが使用して、
引継中にバックアップ・ゲートウェイ1030における
回復マネージャ1020からの、引継ゲートウェイの要
求に応答する。このテーブルは内部ノードが引継ゲート
ウェイに応答するのに必要とする時間を大幅に少なく
し、これは確立済みの接続を活動させておくためには、
接続ベースのプロトコルが通信を正常に完了できるよう
にする「タイムアウト」期間内に引継ゲートウェイが作
動していなければならないため、きわめて重要である。
めに(他のノードに対する接続に対してではなく)ゲー
トウェイ経路指定テーブルのシャドウ1010を維持し
ている。このシャドウ・テーブルをノードが使用して、
引継中にバックアップ・ゲートウェイ1030における
回復マネージャ1020からの、引継ゲートウェイの要
求に応答する。このテーブルは内部ノードが引継ゲート
ウェイに応答するのに必要とする時間を大幅に少なく
し、これは確立済みの接続を活動させておくためには、
接続ベースのプロトコルが通信を正常に完了できるよう
にする「タイムアウト」期間内に引継ゲートウェイが作
動していなければならないため、きわめて重要である。
【0046】接続テーブルの項目に対するスペースを再
利用するため、ゲートウェイ内、及び内部ノードに維持
されているシャドウ内の両方で、次のように進める。接
続は2つの状態、すなわちACTIVEまたはFINの
うちいずれかになっている。接続テーブル項目には参照
ごとにタイム・スタンプがつけられる。FIN_TIM
E_OUTと呼ばれるユーザ構成可能なタイマが維持さ
れている。このタイマは閉鎖されると考えられるFIN
状態における会話に対する最後の参照後の時点を表して
いる。タイマはサービス・アドレスごと、あるいはポー
トごとのグローバルなものでよい。活動クローズ(接続
の一方の側がFINを送ったが、他方が接続上で送信を
継続している)の意図は、サーバがクライアントへのデ
ータの送信を継続することができ、データ電送の終了時
に、会話が閉鎖されることである。クライアントはサー
バにクライアントからこれ以上要求が送られないという
ことをサーバに伝える手段として会話を能動的に閉鎖す
る。ここでの検討のために、クライアントの要求がルー
タを経由して送られているものと想定する。このプロト
コルが機能するのは、サーバが肯定応答を受けるデータ
を送り続けているからである。ルータは、したがってサ
ーバは肯定応答を見て、接続テーブル項目に連続的にタ
イム・スタンプをつける。サーバがクライアントに対す
るデータの送信を完了し、その会話の「半分」を閉鎖す
ると、最後の肯定応答がクライアントからサーバへ向か
って流れる。FIN_TIME_OUTが経過した後、
サーバは接続項目をパージすることができる。第2のタ
イマSTALE_TIME_OUTがゲートウェイによ
って維持されている。STALE_TIME_OUT以
外にもはや何の活動もしていない活動状態の何らかの接
続はパージできる。
利用するため、ゲートウェイ内、及び内部ノードに維持
されているシャドウ内の両方で、次のように進める。接
続は2つの状態、すなわちACTIVEまたはFINの
うちいずれかになっている。接続テーブル項目には参照
ごとにタイム・スタンプがつけられる。FIN_TIM
E_OUTと呼ばれるユーザ構成可能なタイマが維持さ
れている。このタイマは閉鎖されると考えられるFIN
状態における会話に対する最後の参照後の時点を表して
いる。タイマはサービス・アドレスごと、あるいはポー
トごとのグローバルなものでよい。活動クローズ(接続
の一方の側がFINを送ったが、他方が接続上で送信を
継続している)の意図は、サーバがクライアントへのデ
ータの送信を継続することができ、データ電送の終了時
に、会話が閉鎖されることである。クライアントはサー
バにクライアントからこれ以上要求が送られないという
ことをサーバに伝える手段として会話を能動的に閉鎖す
る。ここでの検討のために、クライアントの要求がルー
タを経由して送られているものと想定する。このプロト
コルが機能するのは、サーバが肯定応答を受けるデータ
を送り続けているからである。ルータは、したがってサ
ーバは肯定応答を見て、接続テーブル項目に連続的にタ
イム・スタンプをつける。サーバがクライアントに対す
るデータの送信を完了し、その会話の「半分」を閉鎖す
ると、最後の肯定応答がクライアントからサーバへ向か
って流れる。FIN_TIME_OUTが経過した後、
サーバは接続項目をパージすることができる。第2のタ
イマSTALE_TIME_OUTがゲートウェイによ
って維持されている。STALE_TIME_OUT以
外にもはや何の活動もしていない活動状態の何らかの接
続はパージできる。
【0047】このアルゴリズム(接続再構成アルゴリズ
ム)は、バックアップゲートウェイによる引継プロセス
のサポートを内部ノードが維持している接続テーブルの
シャドウ内の項目に対するスペースを再利用するため
に、内部ノードにおいても実行される。このようにし
て、シャドウ・テーブル内の項目の数をできるだけ少な
い数に維持し、これにより引き継ぎプロセスをできるだ
け迅速に進めることができる。
ム)は、バックアップゲートウェイによる引継プロセス
のサポートを内部ノードが維持している接続テーブルの
シャドウ内の項目に対するスペースを再利用するため
に、内部ノードにおいても実行される。このようにし
て、シャドウ・テーブル内の項目の数をできるだけ少な
い数に維持し、これにより引き継ぎプロセスをできるだ
け迅速に進めることができる。
【0048】デフォルトとして、FIN_TIME_O
UTをTCPの最小セグメント超(MSL)の3倍の値
にセットする必要がある。デフォルトのSTALE_T
IME_OUTはTCPの失効タイムアウトよりも長く
なければならない。タイマが関連づけられているプロト
コルを考慮することにより、FIN_TIME_OUT
に対するより妥当な値を見つけだすことができる。
UTをTCPの最小セグメント超(MSL)の3倍の値
にセットする必要がある。デフォルトのSTALE_T
IME_OUTはTCPの失効タイムアウトよりも長く
なければならない。タイマが関連づけられているプロト
コルを考慮することにより、FIN_TIME_OUT
に対するより妥当な値を見つけだすことができる。
【0049】主ゲートウェイが障害を起こしたと判断さ
れたか、あるいは明示のアドミニストレーション上の判
断によって判断されたかしたため、バックアップ・ゲー
トウェイが活動状態とならななければならないと判断さ
れた場合、以下のステップがバックアップ・ゲートウェ
イ1030内の回復マネージャ1020によって取られ
る。
れたか、あるいは明示のアドミニストレーション上の判
断によって判断されたかしたため、バックアップ・ゲー
トウェイが活動状態とならななければならないと判断さ
れた場合、以下のステップがバックアップ・ゲートウェ
イ1030内の回復マネージャ1020によって取られ
る。
【0050】(1)ipアドレス引継を使用して、バッ
クアップ・ゲートウェイは主ゲートウェイのネットワー
ク接続を除去する。ダウンしたと想定されるゲートウェ
イが実際に、ネットワークからのメッセージを受け入れ
ないようにするため、このステップが必要である。この
ステップを行わないと、ある種の障害、すなわち「部分
的に障害を起こしたゲートウェイ」がメッセージの受取
りを継続し、処理を行うという障害が生じる可能性があ
り、これはシステムの保全性を危険にさらすものであ
る。
クアップ・ゲートウェイは主ゲートウェイのネットワー
ク接続を除去する。ダウンしたと想定されるゲートウェ
イが実際に、ネットワークからのメッセージを受け入れ
ないようにするため、このステップが必要である。この
ステップを行わないと、ある種の障害、すなわち「部分
的に障害を起こしたゲートウェイ」がメッセージの受取
りを継続し、処理を行うという障害が生じる可能性があ
り、これはシステムの保全性を危険にさらすものであ
る。
【0051】(2)バックアップ・ゲートウェイがクラ
スタの機能している各ノードに問い合わせを行い、それ
ぞれのノードに割り振られているすべてのUDPポー
ト、主ゲートウェイトクラスタ外のホストとの間の主ゲ
ートウェイを介して確立されたTCP接続の記述を要求
する。バックアップ・ゲートウェイは私用ipベース・
プロトコルを使用してこれを行う。各ノードに維持され
ているシャドウ接続テーブルはノードからの即時応答を
可能とし、確立済み接続がゲートウェイの引継時にタイ
ムアウトとならない確率を高くする。閉鎖した接続を認
識し、これらをサポートするために使用されるスペース
を再利用するための上述したアルゴリズムは、シャドウ
接続テーブルのサイズを最小限度のものとし、ゲートウ
ェイの引継を達成するのに必要な時間を短縮するのに寄
与する。
スタの機能している各ノードに問い合わせを行い、それ
ぞれのノードに割り振られているすべてのUDPポー
ト、主ゲートウェイトクラスタ外のホストとの間の主ゲ
ートウェイを介して確立されたTCP接続の記述を要求
する。バックアップ・ゲートウェイは私用ipベース・
プロトコルを使用してこれを行う。各ノードに維持され
ているシャドウ接続テーブルはノードからの即時応答を
可能とし、確立済み接続がゲートウェイの引継時にタイ
ムアウトとならない確率を高くする。閉鎖した接続を認
識し、これらをサポートするために使用されるスペース
を再利用するための上述したアルゴリズムは、シャドウ
接続テーブルのサイズを最小限度のものとし、ゲートウ
ェイの引継を達成するのに必要な時間を短縮するのに寄
与する。
【0052】(3)バックアップ・ゲートウェイが機能
している各ノードからの応答を記録し、ノードのUDP
ポート及びTCP接続を、図12のバックアップ・ゲー
トウェイのエグゼクタ340内の図5の接続テーブル5
10に記録する。
している各ノードからの応答を記録し、ノードのUDP
ポート及びTCP接続を、図12のバックアップ・ゲー
トウェイのエグゼクタ340内の図5の接続テーブル5
10に記録する。
【0053】(4)すべての機能しているクラスタ・ノ
ードが応答した場合(指定された期間内に応答しないノ
ードは機能していないものと見なされる)、バックアッ
プ・ゲートウェイはそれ自体のネットワーク・インタフ
ェースを使用可能として、クラスタのipアドレス宛の
パケットを受け取るようにする。この最後のステップは
バックアップ・ゲートウェイが作動状態となることを可
能とするのに必要な作業を完了する。
ードが応答した場合(指定された期間内に応答しないノ
ードは機能していないものと見なされる)、バックアッ
プ・ゲートウェイはそれ自体のネットワーク・インタフ
ェースを使用可能として、クラスタのipアドレス宛の
パケットを受け取るようにする。この最後のステップは
バックアップ・ゲートウェイが作動状態となることを可
能とするのに必要な作業を完了する。
【0054】本発明を好ましい実施の形態により説明し
てきたが、各種の改変形及び改善が当分野の技術者には
思い浮かぶであろう。それ故、好ましい実施の形態が例
として挙げられたものであって、限定事項として挙げら
れたものではないことを理解すべきである。本発明の範
囲は首記の特許請求の範囲によって画定されるものであ
る。
てきたが、各種の改変形及び改善が当分野の技術者には
思い浮かぶであろう。それ故、好ましい実施の形態が例
として挙げられたものであって、限定事項として挙げら
れたものではないことを理解すべきである。本発明の範
囲は首記の特許請求の範囲によって画定されるものであ
る。
【0055】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0056】(1)コンピュータ・ノードのクラスタの
境界を越えてメッセージ・ヘッダを有する複数の着信メ
ッセージを経路指定する方法であって、前記クラスタが
1つまたは複数のネットワークに結合されて前記コンピ
ュータ・ノードのサブセットについてのテーブルを有し
ており、前記方法が、ポート・タイプ・メッセージのメ
ッセージ・ヘッダ内のポート番号及び目標アドレスを見
つけだし、読み取るステップと、前記目標アドレスに基
づいて、前記コンピュータ・ノードのサブセットを選択
するステップと、前記ポート番号に基づいて、前記サブ
セット内の複数の可能な宛先からメッセージに対する経
路の宛先となる前記コンピュータ・ノードを判定する機
能を選択するステップと、前記メッセージを前記経路の
宛先に送るステップと、前記メッセージが境界を越えて
送られている間に、前記テーブルの少なくとも1つにお
ける項目を操作して、前記サブセット内の前記コンピュ
ータ・ノードの少なくとも1つと前記サブセットの数を
動的に変更するステップとを備えている方法。 (2)選択が前記ポート番号と前記メッセージ・ヘッダ
内のプロトコル識別子に基づいていることを備えてい
る、上記(1)に記載の方法。 (3)前記サブセットの数が監視機能によって動的に変
更される、上記(1)に記載の方法。 (4)前記サブセットの前記コンピュータ・ノードが監
視機能によって動的に変更される、上記(1)に記載の
方法。 (5)変更が前記サブセットの前記コンピュータ・ノー
ドの置換、及び前記サブセットへの前記コンピュータ・
ノードの追加の少なくとも1つを含む、上記(3)に記
載の方法。 (6)コンピュータ・ノードのクラスタを越えてメッセ
ージ・ヘッダを有する着信メッセージを透過的に経路指
定するシステムであって、前記クラスタが1つまたは複
数のネットワークに結合されており、前記システムが、
ポート・タイプ・メッセージのメッセージ・ヘッダ内の
ポート番号及び目標アドレスを見つけだし、読み取り、
前記目標アドレスに基づいて、前記コンピュータ・ノー
ドのサブセットを選択する手段と、前記ポート番号に基
づいて、機能を選択し、該機能が前記サブセット内の複
数の可能な宛先からメッセージに対する経路の宛先を判
定し、該経路の宛先が前記サブセット内の前記コンピュ
ータ・ノードである手段と、前記コンピュータ・ノード
のサブセットの項目を有するテーブル手段と、 メッセー
ジを送る間に、前記テーブル手段における項目を操作し
て、前記サブセット内の前記コンピュータ・ノードの少
なくとも1つと前記サブセットの数を動的に変更する手
段とを備えているシステム。 (7)前記サブセットの数が監視機能によって動的に変
更される、上記(6)に記載のシステム。 (8)前記サブセットの前記コンピュータ・ノードが監
視機能によって動的に変更される。上記(7)に記載の
システム。 (9)変更が前記サブセットの前記コンピュータ・ノー
ドの置換、及び前記サブセットへの前記コンピュータ・
ノードの追加の少なくとも1つを含む、上記(7)に記
載のシステム。 (10)コンピュータ・ノードのクラスタの境界を越え
てメッセージ・ヘッダを有する着信メッセージを経路指
定する方法であって、前記クラスタが1つまたは複数の
ネットワークに結合されており、前記方法が、境界ノー
ドにおいて、ポート・タイプ・メッセージのメッセージ
・ヘッダ内のポート番号を見つけだし、読み取るステッ
プと、前記ポート番号に基づいて、サブセット内の複数
の可能な宛先からメッセージに対する経路の宛先を判定
し、該経路の宛先が前記クラスタ内のコンピュータ・ノ
ードであるステップとを備えており、前記境界ノードの
障害を検出するステップと、障害の検出に応答して、状
態情報のサブセットを前記クラスタ内の各ノードから代
替境界ノードへ転送するステップと、前記代替境界ノー
ドにおいて、前記クラスタ内のノードから状態情報のサ
ブセットを収集するステップと、前記状態情報を使用し
て、障害前の前記境界ノードの作動状態を再構成し、メ
ッセージが障害前に前記境界ノードによって達成されて
いたのと同じ態様で、前記代替境界ノードによって分配
されるようにするステップとを備えている方法。 (11)ポート・タイプ・メッセージのメッセージ・ヘ
ッダ内のポート番号及び目標アドレスを見つけだし、読
み取るステップと、前記目標アドレスに基づいて、前記
コンピュータ・ノードのサブセットを選択するステップ
とをさらに備えており、経路の宛先が前記サブセットか
ら選択される、上記(10)に記載の方法。 (12)コンピュータ・ノードのクラスタの境界ノード
の障害から回復するシステムであって、前記境界ノード
において、ポート・タイプ・メッセージのメッセージ・
ヘッダ内のポート番号を見つけだし、読取り、前記ポー
ト番号に基づいて、複数の可能な宛先からメッセージに
対する経路の宛先を判定する機能を選択し、前記経路の
宛先が前記クラスタ内の前記コンピュータ・ノードであ
る手段と、前記境界ノードの障害を検出する手段と、障
害の検出に応答して、前記クラスタ内の各ノードから状
態情報のサブセットを収集する手段と、前記サブセット
から、障害前の前記境界ノードの作動状態を再構成し、
メッセージが障害前に前記境界ノードによって達成され
ていたのと同じ態様で、代替境界ノードによって分配さ
れるようにする手段とを備えている代替境界ノードとを
備えているシステム。 (13)ポート・タイプ・メッセージのメッセージ・ヘ
ッダ内のポート番号を見つけだし、読取り、前記ポート
番号に基づいて、複数の可能な宛先からメッセージに対
する経路の宛先を判定する機能を選択し、前記経路の宛
先がクラスタ内のコンピュータ・ノードである手段と、
前記クラスタの活動境界ノードの障害に応答して、前記
クラスタ内の各ノードから状態情報のサブセットを収集
する手段と、前記サブセットから、障害前の境界ノード
の作動状態を再構成し、メッセージが障害前に前記活動
境界ノードによって達成されていたのと同じ態様で、境
界ノードによって分配されるようにする手段とを備えて
いるコンピュータ・ノードのクラスタで使用される境界
ノード。
境界を越えてメッセージ・ヘッダを有する複数の着信メ
ッセージを経路指定する方法であって、前記クラスタが
1つまたは複数のネットワークに結合されて前記コンピ
ュータ・ノードのサブセットについてのテーブルを有し
ており、前記方法が、ポート・タイプ・メッセージのメ
ッセージ・ヘッダ内のポート番号及び目標アドレスを見
つけだし、読み取るステップと、前記目標アドレスに基
づいて、前記コンピュータ・ノードのサブセットを選択
するステップと、前記ポート番号に基づいて、前記サブ
セット内の複数の可能な宛先からメッセージに対する経
路の宛先となる前記コンピュータ・ノードを判定する機
能を選択するステップと、前記メッセージを前記経路の
宛先に送るステップと、前記メッセージが境界を越えて
送られている間に、前記テーブルの少なくとも1つにお
ける項目を操作して、前記サブセット内の前記コンピュ
ータ・ノードの少なくとも1つと前記サブセットの数を
動的に変更するステップとを備えている方法。 (2)選択が前記ポート番号と前記メッセージ・ヘッダ
内のプロトコル識別子に基づいていることを備えてい
る、上記(1)に記載の方法。 (3)前記サブセットの数が監視機能によって動的に変
更される、上記(1)に記載の方法。 (4)前記サブセットの前記コンピュータ・ノードが監
視機能によって動的に変更される、上記(1)に記載の
方法。 (5)変更が前記サブセットの前記コンピュータ・ノー
ドの置換、及び前記サブセットへの前記コンピュータ・
ノードの追加の少なくとも1つを含む、上記(3)に記
載の方法。 (6)コンピュータ・ノードのクラスタを越えてメッセ
ージ・ヘッダを有する着信メッセージを透過的に経路指
定するシステムであって、前記クラスタが1つまたは複
数のネットワークに結合されており、前記システムが、
ポート・タイプ・メッセージのメッセージ・ヘッダ内の
ポート番号及び目標アドレスを見つけだし、読み取り、
前記目標アドレスに基づいて、前記コンピュータ・ノー
ドのサブセットを選択する手段と、前記ポート番号に基
づいて、機能を選択し、該機能が前記サブセット内の複
数の可能な宛先からメッセージに対する経路の宛先を判
定し、該経路の宛先が前記サブセット内の前記コンピュ
ータ・ノードである手段と、前記コンピュータ・ノード
のサブセットの項目を有するテーブル手段と、 メッセー
ジを送る間に、前記テーブル手段における項目を操作し
て、前記サブセット内の前記コンピュータ・ノードの少
なくとも1つと前記サブセットの数を動的に変更する手
段とを備えているシステム。 (7)前記サブセットの数が監視機能によって動的に変
更される、上記(6)に記載のシステム。 (8)前記サブセットの前記コンピュータ・ノードが監
視機能によって動的に変更される。上記(7)に記載の
システム。 (9)変更が前記サブセットの前記コンピュータ・ノー
ドの置換、及び前記サブセットへの前記コンピュータ・
ノードの追加の少なくとも1つを含む、上記(7)に記
載のシステム。 (10)コンピュータ・ノードのクラスタの境界を越え
てメッセージ・ヘッダを有する着信メッセージを経路指
定する方法であって、前記クラスタが1つまたは複数の
ネットワークに結合されており、前記方法が、境界ノー
ドにおいて、ポート・タイプ・メッセージのメッセージ
・ヘッダ内のポート番号を見つけだし、読み取るステッ
プと、前記ポート番号に基づいて、サブセット内の複数
の可能な宛先からメッセージに対する経路の宛先を判定
し、該経路の宛先が前記クラスタ内のコンピュータ・ノ
ードであるステップとを備えており、前記境界ノードの
障害を検出するステップと、障害の検出に応答して、状
態情報のサブセットを前記クラスタ内の各ノードから代
替境界ノードへ転送するステップと、前記代替境界ノー
ドにおいて、前記クラスタ内のノードから状態情報のサ
ブセットを収集するステップと、前記状態情報を使用し
て、障害前の前記境界ノードの作動状態を再構成し、メ
ッセージが障害前に前記境界ノードによって達成されて
いたのと同じ態様で、前記代替境界ノードによって分配
されるようにするステップとを備えている方法。 (11)ポート・タイプ・メッセージのメッセージ・ヘ
ッダ内のポート番号及び目標アドレスを見つけだし、読
み取るステップと、前記目標アドレスに基づいて、前記
コンピュータ・ノードのサブセットを選択するステップ
とをさらに備えており、経路の宛先が前記サブセットか
ら選択される、上記(10)に記載の方法。 (12)コンピュータ・ノードのクラスタの境界ノード
の障害から回復するシステムであって、前記境界ノード
において、ポート・タイプ・メッセージのメッセージ・
ヘッダ内のポート番号を見つけだし、読取り、前記ポー
ト番号に基づいて、複数の可能な宛先からメッセージに
対する経路の宛先を判定する機能を選択し、前記経路の
宛先が前記クラスタ内の前記コンピュータ・ノードであ
る手段と、前記境界ノードの障害を検出する手段と、障
害の検出に応答して、前記クラスタ内の各ノードから状
態情報のサブセットを収集する手段と、前記サブセット
から、障害前の前記境界ノードの作動状態を再構成し、
メッセージが障害前に前記境界ノードによって達成され
ていたのと同じ態様で、代替境界ノードによって分配さ
れるようにする手段とを備えている代替境界ノードとを
備えているシステム。 (13)ポート・タイプ・メッセージのメッセージ・ヘ
ッダ内のポート番号を見つけだし、読取り、前記ポート
番号に基づいて、複数の可能な宛先からメッセージに対
する経路の宛先を判定する機能を選択し、前記経路の宛
先がクラスタ内のコンピュータ・ノードである手段と、
前記クラスタの活動境界ノードの障害に応答して、前記
クラスタ内の各ノードから状態情報のサブセットを収集
する手段と、前記サブセットから、障害前の境界ノード
の作動状態を再構成し、メッセージが障害前に前記活動
境界ノードによって達成されていたのと同じ態様で、境
界ノードによって分配されるようにする手段とを備えて
いるコンピュータ・ノードのクラスタで使用される境界
ノード。
【図1】従来技術のカプセル化クラスタ・システムを示
す図である。
す図である。
【図2】従来技術のメッセージ・スイッチを示す図であ
る。
る。
【図3】本発明の実施の形態による仮想カプセル化クラ
スタ・システムを示す図である。
スタ・システムを示す図である。
【図4】本発明の他の実施の形態による仮想カプセル化
クラスタ・システムを示す図である。
クラスタ・システムを示す図である。
【図5】図3及び図4のエグゼクタの詳細な図である。
【図6】図3及び図4のマネージャの詳細な図である。
【図7】エグゼクタの流れ図である。
【図8】エグゼクタの流れ図である。
【図9】エグゼクタの流れ図である。
【図10】エグゼクタのデータ構造を示す図である。
【図11】マネージャの流れ図である。
【図12】本発明の実施の形態による高可用性ゲートウ
ェイを有するクラスタを示す図である。
ェイを有するクラスタを示す図である。
105 コンピュータ・ノード
106 コンピュータ・ノード
107 コンピュータ・ノード
108 コンピュータ・ノード
109 ゲートウェイ
110 相互接続
120 ネットワーク
140 メッセージ・スイッチ
300 TCP接続ルータ(TCP−CR)
310 VECルータ
320 マネージャ
340 エグゼクタ
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 ジャーマン・セルジオ・ゴールドシュミ
ット
アメリカ合衆国10522 ニューヨーク州
ドッブス・フェリー チェストナット・
リッジウェイ 21
(72)発明者 ガーニイ・ダグラス・ホロウェイ−ハン
ト
アメリカ合衆国12590 ニューヨーク州
ワッピンジャー・フォールス エッジヒ
ル・ドライブ 127
(72)発明者 ステファン・エドウィン・スミス
アメリカ合衆国10541 ニューヨーク州
マホパックハットフィールド・ロード
19
(56)参考文献 特開 平6−205014(JP,A)
特開 平8−172449(JP,A)
特開 平7−250092(JP,A)
Claims (13)
- 【請求項1】コンピュータ・ノードのクラスタの境界を
越えてメッセージ・ヘッダを有する複数の着信メッセー
ジを経路指定する方法であって、前記クラスタが1つま
たは複数のネットワークに結合されて前記コンピュータ
・ノードのサブセットについてのテーブルを有してお
り、前記方法が、 ポート・タイプ・メッセージのメッセージ・ヘッダ内の
ポート番号及び目標アドレスを見つけだし、読み取るス
テップと、 前記目標アドレスに基づいて、前記コンピュータ・ノー
ドのサブセットを選択するステップと、 前記ポート番号に基づいて、前記サブセット内の複数の
可能な宛先からメッセージに対する経路の宛先となる前
記コンピュータ・ノードを判定する機能を選択するステ
ップと、 前記メッセージを前記経路の宛先に送るステップと、 前記メッセージが境界を越えて送られている間に、前記
テーブルの少なくとも1つにおける項目を操作して、前
記サブセット内の前記コンピュータ・ノードの少なくと
も1つと前記サブセットの数を動的に変更するステップ
とを備えている方法。 - 【請求項2】選択が前記ポート番号と前記メッセージ・
ヘッダ内のプロトコル識別子に基づいていることを備え
ている、請求項1に記載の方法。 - 【請求項3】前記サブセットの数が監視機能によって動
的に変更される、請求項1に記載の方法。 - 【請求項4】前記サブセットの前記コンピュータ・ノー
ドが監視機能によって動的に変更される、請求項1に記
載の方法。 - 【請求項5】変更が前記サブセットの前記コンピュータ
・ノードの置換、及び前記サブセットへの前記コンピュ
ータ・ノードの追加の少なくとも1つを含む、請求項3
に記載の方法。 - 【請求項6】コンピュータ・ノードのクラスタを越えて
メッセージ・ヘッダを有する着信メッセージを透過的に
経路指定するシステムであって、前記クラスタが1つま
たは複数のネットワークに結合されており、前記システ
ムが、 ポート・タイプ・メッセージのメッセージ・ヘッダ内の
ポート番号及び目標アドレスを見つけだし、読み取り、
前記目標アドレスに基づいて、前記コンピュータ・ノー
ドのサブセットを選択する手段と、 前記ポート番号に基づいて、機能を選択し、該機能が前
記サブセット内の複数の可能な宛先からメッセージに対
する経路の宛先を判定し、該経路の宛先が前記サブセッ
ト内の前記コンピュータ・ノードである手段と、前記コンピュータ・ノードのサブセットの項目を有する
テーブル手段と、 メッセージを送る間に、前記テーブル手段における項目
を操作して、 前記サブセット内の前記コンピュータ・ノ
ードの少なくとも1つと前記サブセットの数を動的に変
更する手段とを備えているシステム。 - 【請求項7】前記サブセットの数が監視機能によって動
的に変更される、請求項6に記載のシステム。 - 【請求項8】前記サブセットの前記コンピュータ・ノー
ドが監視機能によって動的に変更される。請求項7に記
載のシステム。 - 【請求項9】変更が前記サブセットの前記コンピュータ
・ノードの置換、及び前記サブセットへの前記コンピュ
ータ・ノードの追加の少なくとも1つを含む、請求項7
に記載のシステム。 - 【請求項10】コンピュータ・ノードのクラスタの境界
を越えてメッセージ・ヘッダを有する着信メッセージを
経路指定する方法であって、前記クラスタが1つまたは
複数のネットワークに結合されており、前記方法が、 境界ノードにおいて、 ポート・タイプ・メッセージのメッセージ・ヘッダ内の
ポート番号を見つけだし、読み取るステップと、 前記ポート番号に基づいて、サブセット内の複数の可能
な宛先からメッセージに対する経路の宛先を判定し、該
経路の宛先が前記クラスタ内のコンピュータ・ノードで
あるステップとを備えており、 前記境界ノードの障害を検出するステップと、 障害の検出に応答して、状態情報のサブセットを前記ク
ラスタ内の各ノードから代替境界ノードへ転送するステ
ップと、 前記代替境界ノードにおいて、 前記クラスタ内のノードから状態情報のサブセットを収
集するステップと、 前記状態情報を使用して、障害前の前記境界ノードの作
動状態を再構成し、メッセージが障害前に前記境界ノー
ドによって達成されていたのと同じ態様で、前記代替境
界ノードによって分配されるようにするステップとを備
えている方法。 - 【請求項11】ポート・タイプ・メッセージのメッセー
ジ・ヘッダ内のポート番号及び目標アドレスを見つけだ
し、読み取るステップと、 前記目標アドレスに基づいて、前記コンピュータ・ノー
ドのサブセットを選択するステップとをさらに備えてお
り、 経路の宛先が前記サブセットから選択される、請求項1
0に記載の方法。 - 【請求項12】コンピュータ・ノードのクラスタの境界
ノードの障害から回復するシステムであって、 前記境界ノードにおいて、ポート・タイプ・メッセージ
のメッセージ・ヘッダ内のポート番号を見つけだし、読
取り、前記ポート番号に基づいて、複数の可能な宛先か
らメッセージに対する経路の宛先を判定する機能を選択
し、前記経路の宛先が前記クラスタ内の前記コンピュー
タ・ノードである手段と、 前記境界ノードの障害を検出する手段と、 障害の検出に応答して、前記クラスタ内の各ノードから
状態情報のサブセットを収集する手段と、前記サブセッ
トから、障害前の前記境界ノードの作動状態を再構成
し、メッセージが障害前に前記境界ノードによって達成
されていたのと同じ態様で、代替境界ノードによって分
配されるようにする手段とを備えている代替境界ノード
とを備えているシステム。 - 【請求項13】ポート・タイプ・メッセージのメッセー
ジ・ヘッダ内のポート番号を見つけだし、読取り、前記
ポート番号に基づいて、複数の可能な宛先からメッセー
ジに対する経路の宛先を判定する機能を選択し、前記経
路の宛先がクラスタ内のコンピュータ・ノードである手
段と、前記クラスタの活動境界ノードの 障害に応答して、前記
クラスタ内の各ノードから状態情報のサブセットを収集
する手段と、前記サブセットから、障害前の境界ノード
の作動状態を再構成し、メッセージが障害前に前記活動
境界ノードによって達成されていたのと同じ態様で、境
界ノードによって分配されるようにする手段とを備えて
いるコンピュータ・ノードのクラスタで使用される境界
ノード。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/701,939 US5918017A (en) | 1996-08-23 | 1996-08-23 | System and method for providing dynamically alterable computer clusters for message routing |
US08/701939 | 1996-08-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1093655A JPH1093655A (ja) | 1998-04-10 |
JP3452466B2 true JP3452466B2 (ja) | 2003-09-29 |
Family
ID=24819290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22351697A Expired - Fee Related JP3452466B2 (ja) | 1996-08-23 | 1997-08-20 | 着信メッセージを経路指定する方法及びシステム |
Country Status (6)
Country | Link |
---|---|
US (2) | US5918017A (ja) |
EP (1) | EP0838931A3 (ja) |
JP (1) | JP3452466B2 (ja) |
KR (1) | KR100255626B1 (ja) |
CN (1) | CN1146186C (ja) |
TW (1) | TW340921B (ja) |
Families Citing this family (207)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7039008B1 (en) | 1997-05-02 | 2006-05-02 | Cisco Technology, Inc. | Method and apparatus for maintaining connection state between a connection manager and a failover device |
US6366558B1 (en) * | 1997-05-02 | 2002-04-02 | Cisco Technology, Inc. | Method and apparatus for maintaining connection state between a connection manager and a failover device |
US6324177B1 (en) * | 1997-05-02 | 2001-11-27 | Cisco Technology | Method and apparatus for managing connections based on a client IP address |
US6115756A (en) * | 1997-06-27 | 2000-09-05 | Sun Microsystems, Inc. | Electro-optically connected multiprocessor and multiring configuration for dynamically allocating time |
KR100311000B1 (ko) * | 1997-08-06 | 2001-11-15 | 윤종용 | 다자 참여 웹서버 및 그것을 이용한 사용자간 통신방법 |
US6324161B1 (en) * | 1997-08-27 | 2001-11-27 | Alcatel Usa Sourcing, L.P. | Multiple network configuration with local and remote network redundancy by dual media redirect |
US5999712A (en) * | 1997-10-21 | 1999-12-07 | Sun Microsystems, Inc. | Determining cluster membership in a distributed computer system |
US6308216B1 (en) * | 1997-11-14 | 2001-10-23 | International Business Machines Corporation | Service request routing using quality-of-service data and network resource information |
GB2334353B (en) * | 1998-02-12 | 2002-08-07 | Ibm | An apparatus,method and computer program product for client/server computing with the ability to select which servers are capable of creating transaction stat |
US6359879B1 (en) * | 1998-04-24 | 2002-03-19 | Avici Systems | Composite trunking |
US6173319B1 (en) * | 1998-05-08 | 2001-01-09 | Attachmate Corporation | Using a systems network architecture logical unit activation request unit as a dynamic configuration definition in a gateway |
US6389465B1 (en) | 1998-05-08 | 2002-05-14 | Attachmate Corporation | Using a systems network architecture logical unit activation request unit as a dynamic configuration definition in a gateway |
US6260070B1 (en) | 1998-06-30 | 2001-07-10 | Dhaval N. Shah | System and method for determining a preferred mirrored service in a network by evaluating a border gateway protocol |
US6446121B1 (en) | 1998-05-26 | 2002-09-03 | Cisco Technology, Inc. | System and method for measuring round trip times in a network using a TCP packet |
US6370583B1 (en) * | 1998-08-17 | 2002-04-09 | Compaq Information Technologies Group, L.P. | Method and apparatus for portraying a cluster of computer systems as having a single internet protocol image |
US6430610B1 (en) * | 1998-09-02 | 2002-08-06 | Steeleye Technology, Inc. | TCP/IP address protection mechanism in a clustered server environment |
US6253230B1 (en) * | 1998-09-22 | 2001-06-26 | International Business Machines Corporation | Distributed scalable device for selecting a server from a server cluster and a switched path to the selected server |
US6993591B1 (en) * | 1998-09-30 | 2006-01-31 | Lucent Technologies Inc. | Method and apparatus for prefetching internet resources based on estimated round trip time |
US6484206B2 (en) * | 1998-10-07 | 2002-11-19 | Nortel Networks Limited | Efficient recovery of multiple connections in a communication network |
US6597704B1 (en) | 1998-10-07 | 2003-07-22 | Nortel Networks Limited | System for translating a message from a first transmission protocol to a second transmission protocol |
US6618359B1 (en) | 1998-10-07 | 2003-09-09 | Nortel Networks Limited | Error recovery in a mixed protocol networks |
US6205477B1 (en) * | 1998-10-20 | 2001-03-20 | Cisco Technology, Inc. | Apparatus and method for performing traffic redirection in a distributed system using a portion metric |
US6298381B1 (en) * | 1998-10-20 | 2001-10-02 | Cisco Technology, Inc. | System and method for information retrieval regarding services |
US6430155B1 (en) * | 1998-11-30 | 2002-08-06 | Cisco Technology, Inc. | Congestion avoidance on communications networks |
US6671273B1 (en) | 1998-12-31 | 2003-12-30 | Compaq Information Technologies Group L.P. | Method for using outgoing TCP/IP sequence number fields to provide a desired cluster node |
US6549538B1 (en) * | 1998-12-31 | 2003-04-15 | Compaq Information Technologies Group, L.P. | Computer method and apparatus for managing network ports cluster-wide using a lookaside list |
US6665304B2 (en) * | 1998-12-31 | 2003-12-16 | Hewlett-Packard Development Company, L.P. | Method and apparatus for providing an integrated cluster alias address |
US6724724B1 (en) | 1999-01-21 | 2004-04-20 | Cisco Technology, Inc. | System and method for resolving an electronic address |
US8024761B1 (en) * | 1999-04-01 | 2011-09-20 | Cox Communications, Inc. | Method and apparatus of load sharing and fault tolerance in an interactive video distribution system |
US6795860B1 (en) | 1999-04-05 | 2004-09-21 | Cisco Technology, Inc. | System and method for selecting a service with dynamically changing information |
US6564261B1 (en) | 1999-05-10 | 2003-05-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Distributed system to intelligently establish sessions between anonymous users over various networks |
US20030177182A1 (en) * | 1999-06-14 | 2003-09-18 | International Business Machines Corporation | Ensuring a given transactional unit of work arrives at an appropriate server instance |
US6751191B1 (en) * | 1999-06-29 | 2004-06-15 | Cisco Technology, Inc. | Load sharing and redundancy scheme |
US6667980B1 (en) | 1999-10-21 | 2003-12-23 | Sun Microsystems, Inc. | Method and apparatus for providing scalable services using a packet distribution table |
US7062556B1 (en) * | 1999-11-22 | 2006-06-13 | Motorola, Inc. | Load balancing method in a communication network |
JP2001156785A (ja) * | 1999-11-26 | 2001-06-08 | Nec Corp | バッファに於けるセル廃棄回避システムおよび方法 |
US6917626B1 (en) * | 1999-11-30 | 2005-07-12 | Cisco Technology, Inc. | Apparatus and method for automatic cluster network device address assignment |
US6636499B1 (en) | 1999-12-02 | 2003-10-21 | Cisco Technology, Inc. | Apparatus and method for cluster network device discovery |
US6769008B1 (en) | 2000-01-10 | 2004-07-27 | Sun Microsystems, Inc. | Method and apparatus for dynamically altering configurations of clustered computer systems |
US6735206B1 (en) | 2000-01-10 | 2004-05-11 | Sun Microsystems, Inc. | Method and apparatus for performing a fast service lookup in cluster networking |
US6862613B1 (en) | 2000-01-10 | 2005-03-01 | Sun Microsystems, Inc. | Method and apparatus for managing operations of clustered computer systems |
US6757836B1 (en) | 2000-01-10 | 2004-06-29 | Sun Microsystems, Inc. | Method and apparatus for resolving partial connectivity in a clustered computing system |
US6735205B1 (en) | 2000-01-10 | 2004-05-11 | Sun Microsystems, Inc. | Method and apparatus for fast packet forwarding in cluster networking |
US6587866B1 (en) * | 2000-01-10 | 2003-07-01 | Sun Microsystems, Inc. | Method for distributing packets to server nodes using network client affinity and packet distribution table |
US6789213B2 (en) * | 2000-01-10 | 2004-09-07 | Sun Microsystems, Inc. | Controlled take over of services by remaining nodes of clustered computing system |
US6748437B1 (en) | 2000-01-10 | 2004-06-08 | Sun Microsystems, Inc. | Method for creating forwarding lists for cluster networking |
US7340764B2 (en) * | 2000-01-26 | 2008-03-04 | Sony Corporation | Data transmission system |
GB2359693B (en) * | 2000-02-26 | 2003-07-16 | 3Com Corp | Network switch with truncated trie look-up facility |
US6601101B1 (en) * | 2000-03-15 | 2003-07-29 | 3Com Corporation | Transparent access to network attached devices |
US6970425B1 (en) * | 2000-04-27 | 2005-11-29 | At&T Corp. | Method and apparatus for throttling and distributing data transmissions across a network |
US8311927B2 (en) | 2000-05-01 | 2012-11-13 | Ndex Systems Inc. | System and method for anonymously matching products or services with a consumer |
US6847993B1 (en) | 2000-05-31 | 2005-01-25 | International Business Machines Corporation | Method, system and program products for managing cluster configurations |
US6839321B1 (en) | 2000-07-18 | 2005-01-04 | Alcatel | Domain based congestion management |
US6996631B1 (en) * | 2000-08-17 | 2006-02-07 | International Business Machines Corporation | System having a single IP address associated with communication protocol stacks in a cluster of processing systems |
US7120697B2 (en) * | 2001-05-22 | 2006-10-10 | International Business Machines Corporation | Methods, systems and computer program products for port assignments of multiple application instances using the same source IP address |
US6941384B1 (en) | 2000-08-17 | 2005-09-06 | International Business Machines Corporation | Methods, systems and computer program products for failure recovery for routed virtual internet protocol addresses |
US6996617B1 (en) | 2000-08-17 | 2006-02-07 | International Business Machines Corporation | Methods, systems and computer program products for non-disruptively transferring a virtual internet protocol address between communication protocol stacks |
US6954784B2 (en) * | 2000-08-17 | 2005-10-11 | International Business Machines Corporation | Systems, method and computer program products for cluster workload distribution without preconfigured port identification by utilizing a port of multiple ports associated with a single IP address |
US7725587B1 (en) | 2000-08-24 | 2010-05-25 | Aol Llc | Deep packet scan hacker identification |
US7711790B1 (en) * | 2000-08-24 | 2010-05-04 | Foundry Networks, Inc. | Securing an accessible computer system |
US7155403B2 (en) * | 2001-03-22 | 2006-12-26 | International Business Machines Corporation | System and method for leveraging procurement across companies and company groups |
US6965938B1 (en) * | 2000-09-07 | 2005-11-15 | International Business Machines Corporation | System and method for clustering servers for performance and load balancing |
US7283976B2 (en) * | 2001-03-22 | 2007-10-16 | International Business Machines Corporation | System and method for invoice imaging through negative confirmation process |
US7197480B1 (en) * | 2000-09-07 | 2007-03-27 | International Business Machines Corporation | System and method for front end business logic and validation |
US7386495B2 (en) * | 2001-03-23 | 2008-06-10 | International Business Machines Corporation | System and method for processing tax codes by company group |
US8027892B2 (en) | 2001-03-28 | 2011-09-27 | International Business Machines Corporation | System and method for automating invoice processing with positive confirmation |
US7356496B2 (en) * | 2001-03-22 | 2008-04-08 | International Business Machines Corporation | System and method for synchronizing ledger accounts by company group |
US7293255B2 (en) * | 2000-09-25 | 2007-11-06 | Sun Microsystems, Inc. | Apparatus and method for automated creation of resource types |
US7454500B1 (en) * | 2000-09-26 | 2008-11-18 | Foundry Networks, Inc. | Global server load balancing |
US7657629B1 (en) | 2000-09-26 | 2010-02-02 | Foundry Networks, Inc. | Global server load balancing |
US9130954B2 (en) | 2000-09-26 | 2015-09-08 | Brocade Communications Systems, Inc. | Distributed health check for global server load balancing |
US6766354B1 (en) * | 2000-09-28 | 2004-07-20 | Intel Corporation | Speed sensitive content delivery in a client-server network |
US20020042839A1 (en) * | 2000-10-10 | 2002-04-11 | Christopher Peiffer | HTTP multiplexor/demultiplexor |
US6963917B1 (en) | 2000-10-20 | 2005-11-08 | International Business Machines Corporation | Methods, systems and computer program products for policy based distribution of workload to subsets of potential servers |
US6965930B1 (en) | 2000-10-20 | 2005-11-15 | International Business Machines Corporation | Methods, systems and computer program products for workload distribution based on end-to-end quality of service |
US7606898B1 (en) | 2000-10-24 | 2009-10-20 | Microsoft Corporation | System and method for distributed management of shared computers |
US7113900B1 (en) | 2000-10-24 | 2006-09-26 | Microsoft Corporation | System and method for logical modeling of distributed computer systems |
US20020116397A1 (en) * | 2000-12-21 | 2002-08-22 | Berg Mitchell T. | Method and system for communicating an information packet through multiple router devices |
US7512686B2 (en) * | 2000-12-21 | 2009-03-31 | Berg Mitchell T | Method and system for establishing a data structure of a connection with a client |
US7418522B2 (en) * | 2000-12-21 | 2008-08-26 | Noatak Software Llc | Method and system for communicating an information packet through multiple networks |
US7421505B2 (en) * | 2000-12-21 | 2008-09-02 | Noatak Software Llc | Method and system for executing protocol stack instructions to form a packet for causing a computing device to perform an operation |
US20020116605A1 (en) * | 2000-12-21 | 2002-08-22 | Berg Mitchell T. | Method and system for initiating execution of software in response to a state |
US7546369B2 (en) * | 2000-12-21 | 2009-06-09 | Berg Mitchell T | Method and system for communicating a request packet in response to a state |
US20020116532A1 (en) * | 2000-12-21 | 2002-08-22 | Berg Mitchell T. | Method and system for communicating an information packet and identifying a data structure |
US7287090B1 (en) * | 2000-12-21 | 2007-10-23 | Noatak Software, Llc | Method and system for identifying a computing device in response to a request packet |
US20020129095A1 (en) * | 2000-12-29 | 2002-09-12 | Hatalkar Atul N. | Broadcast communication system with dynamic client-group memberships |
AU2002309479A1 (en) * | 2001-01-11 | 2002-10-03 | Nortel Networks Limtied | Check pointing of processing context of network accounting components |
US6937562B2 (en) | 2001-02-05 | 2005-08-30 | Ipr Licensing, Inc. | Application specific traffic optimization in a wireless link |
US7243077B2 (en) * | 2001-03-02 | 2007-07-10 | International Business Machines Corporation | Method and computer program product for managing an internet trading network |
US7171453B2 (en) * | 2001-04-19 | 2007-01-30 | Hitachi, Ltd. | Virtual private volume method and system |
US7711831B2 (en) * | 2001-05-22 | 2010-05-04 | International Business Machines Corporation | Methods, systems and computer program products for source address selection |
US20020178245A1 (en) * | 2001-05-25 | 2002-11-28 | David Funk | Network element management |
US7657643B2 (en) * | 2001-06-15 | 2010-02-02 | Cisco Technology, Inc. | System and method for determining a preferred mirrored service in a network by evaluating a border gateway protocol |
US7490165B1 (en) * | 2001-07-18 | 2009-02-10 | Cisco Technology, Inc. | Method and apparatus for computing a path in a system with nodal and link diverse constraints |
US7032048B2 (en) * | 2001-07-30 | 2006-04-18 | International Business Machines Corporation | Method, system, and program products for distributed content throttling in a computing environment |
US6772224B2 (en) * | 2001-08-22 | 2004-08-03 | Spatial Communications Technologies, Inc. | Method and system for processing load distribution for a packetized telecommunication network entity |
US7228337B1 (en) * | 2001-09-11 | 2007-06-05 | Cisco Technology, Inc. | Methods and apparatus for providing a network service to a virtual machine |
US7000016B1 (en) | 2001-10-19 | 2006-02-14 | Data Return Llc | System and method for multi-site clustering in a network |
US6938031B1 (en) * | 2001-10-19 | 2005-08-30 | Data Return Llc | System and method for accessing information in a replicated database |
JP2003141057A (ja) * | 2001-11-06 | 2003-05-16 | Mitsubishi Electric Corp | Dma転送制御回路 |
US7224669B2 (en) * | 2002-01-22 | 2007-05-29 | Mellandx Technologies Ltd. | Static flow rate control |
US7447755B1 (en) * | 2002-03-18 | 2008-11-04 | Blue Coat Systems, Inc. | Method and apparatus for policy management in a network device |
WO2005008493A1 (en) * | 2002-05-31 | 2005-01-27 | Unisys Corporation | Improving transaction-processing performance by preferentially reusing frequently used processes |
US7222178B2 (en) * | 2002-05-31 | 2007-05-22 | Unisys Corporation | Transaction-processing performance by preferentially reusing frequently used processes |
US7440394B2 (en) * | 2002-06-24 | 2008-10-21 | Nokia Corporation | Method and system for redundant IP forwarding in a telecommunications network |
US20040006640A1 (en) * | 2002-07-03 | 2004-01-08 | Inderieden Daniel W. | Notification to routing protocols of changes to routing information base |
US7000221B2 (en) * | 2002-07-31 | 2006-02-14 | International Business Machines Corporation | Script evaluator |
US7086061B1 (en) * | 2002-08-01 | 2006-08-01 | Foundry Networks, Inc. | Statistical tracking of global server load balancing for selecting the best network address from ordered list of network addresses based on a set of performance metrics |
US7574508B1 (en) | 2002-08-07 | 2009-08-11 | Foundry Networks, Inc. | Canonical name (CNAME) handling for global server load balancing |
US7152111B2 (en) * | 2002-08-15 | 2006-12-19 | Digi International Inc. | Method and apparatus for a client connection manager |
CN100477610C (zh) * | 2002-09-20 | 2009-04-08 | 松下电器产业株式会社 | 在连接多个数据通信网络的中间网络元件处的接入控制 |
US8051176B2 (en) | 2002-11-07 | 2011-11-01 | Hewlett-Packard Development Company, L.P. | Method and system for predicting connections in a computer network |
US7483980B2 (en) * | 2002-11-07 | 2009-01-27 | Hewlett-Packard Development Company, L.P. | Method and system for managing connections in a computer network |
US7404006B1 (en) | 2002-12-20 | 2008-07-22 | Symantec Operating Corporation | Publishing a network address in a computer network |
US7292585B1 (en) | 2002-12-20 | 2007-11-06 | Symantec Operating Corporation | System and method for storing and utilizing routing information in a computer network |
US7467194B1 (en) | 2002-12-20 | 2008-12-16 | Symantec Operating Corporation | Re-mapping a location-independent address in a computer network |
US8275864B1 (en) | 2002-12-20 | 2012-09-25 | Symantec Operating Corporation | Peer-to-peer network with recovery capability |
US7406535B2 (en) * | 2002-12-20 | 2008-07-29 | Symantec Operating Corporation | Role-based message addressing for a computer network |
US7653059B1 (en) | 2002-12-20 | 2010-01-26 | Symantec Operating Corporation | Communication sessions for a computer network |
US8370523B1 (en) | 2002-12-20 | 2013-02-05 | Symantec Operating Corporation | Managing routing information for a computer network |
US7327741B1 (en) | 2002-12-20 | 2008-02-05 | Symantec Operating Corporation | Detecting and breaking cycles in a computer network |
US20040210623A1 (en) * | 2003-03-06 | 2004-10-21 | Aamer Hydrie | Virtual network topology generation |
US7072807B2 (en) | 2003-03-06 | 2006-07-04 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
US7606929B2 (en) | 2003-06-30 | 2009-10-20 | Microsoft Corporation | Network load balancing with connection manipulation |
US7636917B2 (en) | 2003-06-30 | 2009-12-22 | Microsoft Corporation | Network load balancing with host status information |
US7567504B2 (en) * | 2003-06-30 | 2009-07-28 | Microsoft Corporation | Network load balancing with traffic routing |
US7613822B2 (en) * | 2003-06-30 | 2009-11-03 | Microsoft Corporation | Network load balancing with session information |
US8886705B1 (en) | 2003-06-30 | 2014-11-11 | Symantec Operating Corporation | Goal-oriented storage management for a distributed data storage network |
US7590736B2 (en) | 2003-06-30 | 2009-09-15 | Microsoft Corporation | Flexible network load balancing |
US7284147B2 (en) * | 2003-08-27 | 2007-10-16 | International Business Machines Corporation | Reliable fault resolution in a cluster |
US9584360B2 (en) | 2003-09-29 | 2017-02-28 | Foundry Networks, Llc | Global server load balancing support for private VIP addresses |
US7388839B2 (en) * | 2003-10-22 | 2008-06-17 | International Business Machines Corporation | Methods, apparatus and computer programs for managing performance and resource utilization within cluster-based systems |
US8060619B1 (en) | 2003-11-07 | 2011-11-15 | Symantec Operating Corporation | Direct connections to a plurality of storage object replicas in a computer network |
US7555527B1 (en) | 2003-11-07 | 2009-06-30 | Symantec Operating Corporation | Efficiently linking storage object replicas in a computer network |
US7680950B1 (en) | 2003-11-07 | 2010-03-16 | Symantec Operating Corporation | Efficient search for storage objects in a network |
US7570600B1 (en) | 2003-12-17 | 2009-08-04 | Symantec Operating Corporation | Overlay network with efficient routing and recovery |
US7693991B2 (en) * | 2004-01-16 | 2010-04-06 | International Business Machines Corporation | Virtual clustering and load balancing servers |
US8224937B2 (en) * | 2004-03-04 | 2012-07-17 | International Business Machines Corporation | Event ownership assigner with failover for multiple event server system |
US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
WO2005091136A1 (en) * | 2004-03-13 | 2005-09-29 | Cluster Resources, Inc. | System and method for a self-optimizing reservation in time of compute resources |
US7971204B2 (en) * | 2004-03-13 | 2011-06-28 | Adaptive Computing Enterprises, Inc. | System and method of co-allocating a reservation spanning different compute resources types |
US7890629B2 (en) * | 2004-03-13 | 2011-02-15 | Adaptive Computing Enterprises, Inc. | System and method of providing reservation masks within a compute environment |
WO2005089246A2 (en) * | 2004-03-13 | 2005-09-29 | Cluster Resources, Inc. | System and method for providiing advanced reservations in a compute environment |
US7584301B1 (en) | 2004-05-06 | 2009-09-01 | Foundry Networks, Inc. | Host-level policies for global server load balancing |
US7496651B1 (en) * | 2004-05-06 | 2009-02-24 | Foundry Networks, Inc. | Configurable geographic prefixes for global server load balancing |
US7284148B2 (en) * | 2004-06-17 | 2007-10-16 | International Business Machines Corporation | Method and system for self-healing in routers |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
US7533385B1 (en) | 2004-07-07 | 2009-05-12 | Sprint Communications Company Lp | Virtualization and server imaging system for allocation of computer hardware and software |
US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
US7423977B1 (en) | 2004-08-23 | 2008-09-09 | Foundry Networks Inc. | Smoothing algorithm for round trip time (RTT) measurements |
US8019636B2 (en) * | 2004-09-28 | 2011-09-13 | International Business Machines Corporation | Method, system and program product for planning and managing a call center study |
US8495145B2 (en) * | 2004-10-14 | 2013-07-23 | Intel Corporation | Controlling receipt of undesired electronic mail |
CA2586763C (en) | 2004-11-08 | 2013-12-17 | Cluster Resources, Inc. | System and method of providing system jobs within a compute environment |
US8631130B2 (en) | 2005-03-16 | 2014-01-14 | Adaptive Computing Enterprises, Inc. | Reserving resources in an on-demand compute environment from a local compute environment |
US7996455B2 (en) | 2005-06-17 | 2011-08-09 | Adaptive Computing Enterprises, Inc. | System and method for providing dynamic roll-back reservations in time |
US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
JP4366323B2 (ja) * | 2005-03-15 | 2009-11-18 | キヤノン株式会社 | 通信装置およびその制御方法 |
JP4356997B2 (ja) * | 2005-03-15 | 2009-11-04 | キヤノン株式会社 | 通信装置及びその通信方法 |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
US9225663B2 (en) | 2005-03-16 | 2015-12-29 | Adaptive Computing Enterprises, Inc. | System and method providing a virtual private cluster |
US9160792B2 (en) * | 2005-04-05 | 2015-10-13 | International Business Machines Corporation | On-demand global server load balancing system and method of use |
WO2006108187A2 (en) | 2005-04-07 | 2006-10-12 | Cluster Resources, Inc. | On-demand access to compute resources |
US7725901B2 (en) * | 2005-04-14 | 2010-05-25 | International Business Machines Corporation | Method and system for performance balancing in a distributed computer system |
US7895308B2 (en) * | 2005-05-11 | 2011-02-22 | Tindall Steven J | Messaging system configurator |
US7688739B2 (en) * | 2005-08-02 | 2010-03-30 | Trilliant Networks, Inc. | Method and apparatus for maximizing data transmission capacity of a mesh network |
US7941309B2 (en) | 2005-11-02 | 2011-05-10 | Microsoft Corporation | Modeling IT operations/policies |
US20070118667A1 (en) * | 2005-11-21 | 2007-05-24 | Limelight Networks, Inc. | Domain name resolution based dynamic resource assignment |
US7707314B2 (en) | 2005-11-21 | 2010-04-27 | Limelight Networks, Inc. | Domain name resolution resource allocation |
US20070136465A1 (en) * | 2005-12-12 | 2007-06-14 | Fernandes Lilian S | Method for allowing multiple authorized applications to share the same port |
CN100461697C (zh) * | 2006-04-18 | 2009-02-11 | 华为技术有限公司 | 基于设备容灾的业务接管方法及备份机 |
US8539075B2 (en) | 2006-04-21 | 2013-09-17 | International Business Machines Corporation | On-demand global server load balancing system and method of use |
US20080043759A1 (en) * | 2006-08-17 | 2008-02-21 | Northrop Grumman Systems Corporation | System, Apparatus, Method and Computer Program Product for an Intercom System |
US8312507B2 (en) | 2006-10-17 | 2012-11-13 | A10 Networks, Inc. | System and method to apply network traffic policy to an application session |
US8584199B1 (en) | 2006-10-17 | 2013-11-12 | A10 Networks, Inc. | System and method to apply a packet routing policy to an application session |
US9846846B2 (en) * | 2006-11-14 | 2017-12-19 | International Business Machines Corporation | Method and system for analyzing contact studies |
US8209417B2 (en) * | 2007-03-08 | 2012-06-26 | Oracle International Corporation | Dynamic resource profiles for clusterware-managed resources |
US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
US7996510B2 (en) * | 2007-09-28 | 2011-08-09 | Intel Corporation | Virtual clustering for scalable network control and management |
US20090144446A1 (en) * | 2007-11-29 | 2009-06-04 | Joseph Olakangil | Remediation management for a network with multiple clients |
US7856500B2 (en) * | 2008-07-11 | 2010-12-21 | International Business Machines Corporation | Method for placing composite applications in a federated environment |
US8533333B2 (en) * | 2008-09-03 | 2013-09-10 | Microsoft Corporation | Shared hosting using host name affinity |
TW201018140A (en) * | 2008-10-16 | 2010-05-01 | Chunghwa Telecom Co Ltd | System and method for protecting data of network user |
US8812894B2 (en) * | 2009-01-16 | 2014-08-19 | Telefonaktiebolaget L M Ericsson (Publ) | Systems and methods for recovering from the failure of a gateway server |
US20100250646A1 (en) * | 2009-03-25 | 2010-09-30 | Microsoft Corporation | Mechanism for geo distributing application data |
US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US9231785B2 (en) * | 2009-12-18 | 2016-01-05 | At&T Intellectual Property I, L.P. | Method and apparatus for clearing hang calls |
US8549148B2 (en) | 2010-10-15 | 2013-10-01 | Brocade Communications Systems, Inc. | Domain name system security extensions (DNSSEC) for global server load balancing |
US8774010B2 (en) | 2010-11-02 | 2014-07-08 | Cisco Technology, Inc. | System and method for providing proactive fault monitoring in a network environment |
US8559341B2 (en) | 2010-11-08 | 2013-10-15 | Cisco Technology, Inc. | System and method for providing a loop free topology in a network environment |
US8982733B2 (en) | 2011-03-04 | 2015-03-17 | Cisco Technology, Inc. | System and method for managing topology changes in a network environment |
US8670326B1 (en) | 2011-03-31 | 2014-03-11 | Cisco Technology, Inc. | System and method for probing multiple paths in a network environment |
US8612541B2 (en) | 2011-04-29 | 2013-12-17 | Blue Coat Systems, Inc. | Method and apparatus for multi-tenant policy management in a network device |
US8724517B1 (en) | 2011-06-02 | 2014-05-13 | Cisco Technology, Inc. | System and method for managing network traffic disruption |
US8830875B1 (en) | 2011-06-15 | 2014-09-09 | Cisco Technology, Inc. | System and method for providing a loop free topology in a network environment |
US9118618B2 (en) | 2012-03-29 | 2015-08-25 | A10 Networks, Inc. | Hardware-based packet editor |
US9450846B1 (en) | 2012-10-17 | 2016-09-20 | Cisco Technology, Inc. | System and method for tracking packets in a network environment |
CN102932485B (zh) * | 2012-11-20 | 2016-03-30 | 无锡城市云计算中心有限公司 | 服务器连接状态的查询方法和装置 |
US9338225B2 (en) | 2012-12-06 | 2016-05-10 | A10 Networks, Inc. | Forwarding policies on a virtual service network |
WO2014144837A1 (en) | 2013-03-15 | 2014-09-18 | A10 Networks, Inc. | Processing data packets using a policy based network path |
JP6256904B2 (ja) | 2013-04-18 | 2018-01-10 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 処理の要求を振り分ける装置及び方法 |
US10038693B2 (en) | 2013-05-03 | 2018-07-31 | A10 Networks, Inc. | Facilitating secure network traffic by an application delivery controller |
US9942152B2 (en) | 2014-03-25 | 2018-04-10 | A10 Networks, Inc. | Forwarding data packets using a service-based forwarding policy |
US9397926B2 (en) * | 2014-08-05 | 2016-07-19 | Dell Products L.P. | Peer-influenced aggregate member selection |
US10268467B2 (en) | 2014-11-11 | 2019-04-23 | A10 Networks, Inc. | Policy-driven management of application traffic for providing services to cloud-based applications |
US10681145B1 (en) * | 2014-12-22 | 2020-06-09 | Chelsio Communications, Inc. | Replication in a protocol offload network interface controller |
US10834056B2 (en) * | 2018-07-31 | 2020-11-10 | Ca, Inc. | Dynamically controlling firewall ports based on server transactions to reduce risks |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4112488A (en) * | 1975-03-07 | 1978-09-05 | The Charles Stark Draper Laboratory, Inc. | Fault-tolerant network with node branching |
US4665520A (en) * | 1985-02-01 | 1987-05-12 | International Business Machines Corporation | Optimistic recovery in a distributed processing system |
US5357632A (en) * | 1990-01-09 | 1994-10-18 | Hughes Aircraft Company | Dynamic task allocation in a multi-processor system employing distributed control processors and distributed arithmetic processors |
US5319774A (en) * | 1990-05-16 | 1994-06-07 | International Business Machines Corporation | Recovery facility for incomplete sync points for distributed application |
US5353412A (en) * | 1990-10-03 | 1994-10-04 | Thinking Machines Corporation | Partition control circuit for separately controlling message sending of nodes of tree-shaped routing network to divide the network into a number of partitions |
US5261096A (en) * | 1991-03-01 | 1993-11-09 | Bull Hn Information Systems Inc. | Interprocess message passing method in a distributed digital data system |
IL99923A0 (en) * | 1991-10-31 | 1992-08-18 | Ibm Israel | Method of operating a computer in a network |
DE69326656T2 (de) * | 1992-07-17 | 2000-05-31 | Sun Microsystems, Inc. | Verfahren und Gerät zur Selbstorganisation in einem drahtlosen lokalen Netz |
US5371852A (en) * | 1992-10-14 | 1994-12-06 | International Business Machines Corporation | Method and apparatus for making a cluster of computers appear as a single host on a network |
US5459864A (en) * | 1993-02-02 | 1995-10-17 | International Business Machines Corporation | Load balancing, error recovery, and reconfiguration control in a data movement subsystem with cooperating plural queue processors |
KR0128271B1 (ko) * | 1994-02-22 | 1998-04-15 | 윌리암 티. 엘리스 | 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템 |
US5644706A (en) * | 1994-06-20 | 1997-07-01 | Microsoft Corporation | Failure detection and reporting for a computer mail gateway |
JP3365705B2 (ja) * | 1995-05-24 | 2003-01-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 分散型データ処理システム |
US6047323A (en) * | 1995-10-19 | 2000-04-04 | Hewlett-Packard Company | Creation and migration of distributed streams in clusters of networked computers |
-
1996
- 1996-08-23 US US08/701,939 patent/US5918017A/en not_active Expired - Lifetime
-
1997
- 1997-06-17 KR KR1019970025076A patent/KR100255626B1/ko not_active IP Right Cessation
- 1997-07-22 CN CNB971154376A patent/CN1146186C/zh not_active Expired - Fee Related
- 1997-08-06 EP EP97305990A patent/EP0838931A3/en not_active Withdrawn
- 1997-08-09 TW TW086111432A patent/TW340921B/zh not_active IP Right Cessation
- 1997-08-20 JP JP22351697A patent/JP3452466B2/ja not_active Expired - Fee Related
-
1999
- 1999-04-09 US US09/289,225 patent/US6496866B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6496866B2 (en) | 2002-12-17 |
EP0838931A3 (en) | 2003-12-03 |
US20020166080A1 (en) | 2002-11-07 |
JPH1093655A (ja) | 1998-04-10 |
KR100255626B1 (ko) | 2000-05-01 |
KR19980018141A (ko) | 1998-06-05 |
US5918017A (en) | 1999-06-29 |
CN1146186C (zh) | 2004-04-14 |
CN1175147A (zh) | 1998-03-04 |
EP0838931A2 (en) | 1998-04-29 |
TW340921B (en) | 1998-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3452466B2 (ja) | 着信メッセージを経路指定する方法及びシステム | |
US10348571B2 (en) | Methods and apparatus for accessing dynamic routing information from networks coupled to a wide area network (WAN) to determine optimized end-to-end routing paths | |
US6760775B1 (en) | System, method and apparatus for network service load and reliability management | |
US6779039B1 (en) | System and method for routing message traffic using a cluster of routers sharing a single logical IP address distinct from unique IP addresses of the routers | |
US6880089B1 (en) | Firewall clustering for multiple network servers | |
Hunt et al. | Network dispatcher: A connection router for scalable internet services | |
Savage et al. | Detour: Informed Internet routing and transport | |
Sharma et al. | Viking: A multi-spanning-tree Ethernet architecture for metropolitan area and cluster networks | |
US6253230B1 (en) | Distributed scalable device for selecting a server from a server cluster and a switched path to the selected server | |
US7343413B2 (en) | Method and system for optimizing a network by independently scaling control segments and data flow | |
US6529515B1 (en) | Method and apparatus for efficient network management using an active network mechanism | |
US20030074453A1 (en) | Method for rerouting IP transmissions | |
Guo et al. | Dynamic flow scheduling for power-efficient data center networks | |
JP2003023444A (ja) | 仮想ルータを利用した動的な負荷分散システム | |
JP7313480B2 (ja) | スライスベースネットワークにおける輻輳回避 | |
WO2011140951A1 (zh) | 负载均衡的方法、设备和系统 | |
US20060013227A1 (en) | Method and appliance for distributing data packets sent by a computer to a cluster system | |
JP2021064835A (ja) | ネットワーク管理装置及び方法 | |
US20030179775A1 (en) | Service delivery network system and method | |
Saifullah et al. | Open flow-based server load balancing using improved server health reports | |
WO2000052906A1 (en) | System, method and apparatus for network service load and reliability management | |
Cisco | Designing APPN Internetworks | |
Cisco | Designing APPN Internetworks | |
Cisco | Designing APPN Internetworks | |
Cisco | Designing APPN Internetworks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070718 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080718 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |