JP2007501563A - 適応フローベースのルーティングを使用する多段データ・ネットワークにおいて動的容量および高可用性を達成するための方法および装置 - Google Patents

適応フローベースのルーティングを使用する多段データ・ネットワークにおいて動的容量および高可用性を達成するための方法および装置 Download PDF

Info

Publication number
JP2007501563A
JP2007501563A JP2006522539A JP2006522539A JP2007501563A JP 2007501563 A JP2007501563 A JP 2007501563A JP 2006522539 A JP2006522539 A JP 2006522539A JP 2006522539 A JP2006522539 A JP 2006522539A JP 2007501563 A JP2007501563 A JP 2007501563A
Authority
JP
Japan
Prior art keywords
flow
node
network
virtual
packet
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
JP2006522539A
Other languages
English (en)
Other versions
JP4559422B2 (ja
Inventor
ニラカンタン,チャンドラセックハラン
クマー,シバ・ヴイ
ローセン,アンドリュー・レスリー
マサー,サループ
ジャスゼウスキー,ゲリー・マイケル
チャン,メイ−ユイン
Original Assignee
スキャレント・システムズ・インコーポレーテッド
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 スキャレント・システムズ・インコーポレーテッド filed Critical スキャレント・システムズ・インコーポレーテッド
Publication of JP2007501563A publication Critical patent/JP2007501563A/ja
Application granted granted Critical
Publication of JP4559422B2 publication Critical patent/JP4559422B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

処理ノードのクラスタから構成される多段ネットワーク内におけるフローについてのパスを決定するための方法とシステム。フロー・パスは、特定のフローのパケットが多段ネットワーク内のクラスタの特定のものを実際にトラバースするか否かの知識なしに決定することができる。種々の実現においては、多段ネットワークのノードを、それぞれの物理インターフェースやそれらにスーパーインポーズされる仮想接続グリッドを介して1または複数の物理ネットワーク・スイッチに結合し、フロー・ルーティング・フレームワークとシステム・マネジメント・フレームワークの使用を介して、それらのノードをいくつかのクラスタにグループ化するように構成することができる。各クラスタのノードは、類似したパケット処理機能を実行するように構成され、クラスタは、物理ネットワーク・インターフェースのトップにオーバーレイされた仮想インターフェースを介して通信結合される仮想ネットワークを通じて相互接続される。
【選択図】図5

Description

本発明は、2003年8月5日に出願された「Method and Apparatus for Achieving Dynamic Capacity and High Availability in Multi−stage Data Networks Using Adaptive Flow−based Routing」と題された米国仮出願、番号60/493,054に関し、かつその優先権を主張するものであり、当該出願は引用例として、ここに援用される。
本発明は、各段階に特化された機能を実行する種々のパケット・プロセッサを含む多段データ・ネットワークにおける、高可用性および当該ネットワークの全段階にわたる一様な動的容量マネジメントを達成するための、パケット・フローの適応ルーティングのための方法とシステムに関する。
エンタープライズ・データ・ネットワークは、伝統的にハブ、スイッチ、ブリッジ、ルータといったデータ・ネットワーキング装置を含む。これらのネットワークは、年を経て進化しており、さらに、ほんのわずかを例ではあるが、セキュリティから、トラフィック・マネジメント、コンテント・アウェア/アプリケーション−アウェア・データ・ルーティング、アプリケーション・アクセラレーションに至るまで、広範なエンタープライズ・ニーズにサービスを提供する高度に特化されたパケット処理機能を実行する専用アプライアンスを含むように進化を続けている。これらの専用アプライアンスは、通常、業界標準のローカル・エリア・ネットワーク接続ポート(たとえば、Ethernet(登録商標)ポート)をサポートする。つまり、これらのアプライアンスの間の相互接続は、ハブ、ブリッジ、スイッチ、ルータ等の伝統的なネットワーク装置を使用して達成される。
その種のネットワークにおいては、データ・トラフィックが1つのアプライアンスから次へと連続的に流れ、したがって多段ネットワークを作る。しばしば、異なるトラフィック・フローが、そのデータ・トラフィックの発信元と宛先またはそれが関連するアプリケーション等の評価基準によって弁別されるとおりに、専用装置の異なるシーケンスによって処理されることが必要となる。ネットワークのオペレータは、このフロー割り当てを、専用装置やそれらの間を相互接続するハードワイヤリングの冗長セットを使用することによって、あるいはデータ・トラフィック・ルータもしくはディスパッチャを多段ネットワークの各段階の始めと終わりに挿入することによって達成している。これらの構成は、柔軟性のないネットワーク・トポロジをもたらし、それらは、本質的に、新しい段階の包含(特に、トラフィック・フローのサブセットのための動的な包含)、任意の1または複数の段階のパケット処理容量の動的な拡張、段階を横切るハードウエアの相互交換性、1日の時間帯、トラフィック状態の変化、1または複数の段階における輻輳等の運用評価基準を基礎とする時間的に異なる瞬間に異なる特化機能を同一のハードウエアが実行する再使用等のサポートにつながらない。しかしながら、今日のエンタープライズ・ネットワークのオペレータは、ネットワーク・セキュリティ要件、トラフィック・フローの量と種類、ビジネス要件、新しいパケット処理機能の導入、あるいは現存するパケット処理機能の変更に応答するためにこの柔軟性を必要としている。
種々の実施態様において、本発明は、処理ノードのクラスタからなる多段ネットワーク内でフローのためのパスを集中化された態様で決定し、多段ネットワークのすべてのクラスタのためのフロー・パスの決定を表すノード選択情報を多段ネットワーク内の各フローのパケット内にエンコードする方法とシステムを含む。しかしながら代替構成においては、フロー・パスが分散された態様で決定される。いずれの場合においても、パケット内のほかのヘッダ情報をノード選択情報に置き換えることによって、あるいはパケットにノード選択情報を追加することによって、ノード選択情報をエンコードすることができる。フローは、そのフローのためのパスの決定に先行して種類ごとに分類される。
フローのパスは、特定のフローのパケットが多段ネットワーク内のクラスタの特定のものを実際にトラバースすることになるか否かの知識なしに決定することができる。各クラスタの個別のノードをパスに含めるための選択は、ラウンド・ロビン選択方法、重み付きラウンド・ロビン選択方法等、あるいは多段ネットワークのノードからの現在の負荷状態についてのリアルタイム情報を基礎とする負荷バランシング評価基準に従って行うことができる。
パケットのための実際のフロー・ルートは、それらのパケットが多段ネットワーク内のそれぞれのフロー・パスをトラバースするとき、ノード−バイ−ノード・ベースで決定することができる。しばしば、これらの実際のフロー・ルートは、あらかじめ決定済みのフロー・パス内に指定されたすべてのクラスタを含まないことになる。それにもかかわらず、それらのパケットによって取られる実際のフロー・ルートに関する情報を、その後に続く新しいフロー・パスの決定において使用することができる。
多段ネットワークのノードは、1または複数の物理ネットワーク・スイッチに、それぞれの物理インターフェースや、それらにスーパーインポーズされる仮想接続グリッド、すなわちフロー・ルーティング・フレームワークとシステム・マネジメント・フレームワークの使用を通じてノードをいくつかのクラスタにグループ化するように構成された仮想接続グリッドを介して結合することができる。各クラスタのノードは、類似のパケット処理機能を実行するように構成され、クラスタは、物理ネットワーク・インターフェースのトップの上にオーバーレイされる仮想インターフェースを介してノードが通信結合される仮想ネットワークを介して相互接続される。いくつかのケースでは、ノードが、それぞれブレード・サーバのシングル・ボード・コンピュータを構成する。
本発明は、種々の方法で実現することができる。たとえば、いくつかの態様は、複数のスタンド−アロン汎用および/または専用コンピュータをノードとして、仮想ローカル・エリア・ネットワーク(VLAN)やジャンボ・フレームをサポートするローカル・エリア・ネットワーク(LAN)スイッチを1または複数の物理スイッチとして使用することができる。別の実装は、1または複数のブレード・サーバを使用することができ、そのブレードは、ネットワーク・ノードとして作用する。さらに別の態様は、ブレード・サーバや汎用および/または専用コンピュータの両方を使用することができる。
いずれの構成が使用されるかにかかわらず、ノードのフロー・マネジメント・ソフトウエアを、コンピュータ/ブレード・プロセッサに、仮想接続グリッドによって定義される多段ネットワークを通るデータ・フローの適応ルーティングを行わせるように構成することができる。多段ネットワークの各段階は、1または複数のネットワーク・サービスを実行する類似に構成されたアプリケーションプログラムのクラスタを含む。それに加えて、少なくとも1つのコンピュータ/ブレードは、リソース・マネジメントやプロビジョニング・ソフトウエアをストアすることができ、残りのコンピュータ/ブレードは、これらの残りのコンピュータ/ブレードに、アプリケーション需要、ネットワーク・パフォーマンス、あるいはアプリケーション応答時間によって駆動されるとおりに1または複数のネットワーク・サービスの必要容量の適応プロビジョニングを行わせるように構成されたプロビジョニング・エージェント・ソフトウエアをストアすることができる。プロビジョニングは、グラフィカル・ユーザ・インターフェースを通じた人間のインタラクションを介して、ノードや仮想インターフェースを表すアイコンを使用し、それらの間の相互接続を作成することによって、および/またはプログラム・インターフェースを通じ、ノードや仮想インターフェースの属性を提供するデータ・レコードを使用し、それらの間の所望の相互接続を指定することによって行うことができる。
本発明のさらに別の実施態様は、コンピュータ・ネットワーク内の第1の数のコンピュータ・システムの間の任意の相互接続を可能にするように構成された仮想接続グリッドを設定することを提供する。その際、コンピュータ・システムのそれぞれが、物理ネットワーク・スイッチング・デバイスのポートの上にオーバーレイされる1または複数の仮想ネットワーク(VLAN)の構成の結果として、物理ネットワークの接続メカニズムをエミュレートする第2の数の仮想リンクを介し、1または複数の物理ネットワーク・スイッチング・デバイスのそれぞれのポートに通信結合される。この仮想リンクは、コンピュータ・システムのうちの2つの間のポイント−ツー−ポイント接続(単方向または双方向とすることができる)を提供するケーブル;コンピュータ・システムのルート・コンピュータ・システムとそのコンピュータ・システムの複数のリーフ・コンピュータ・システムの間におけるポイント−ツー−マルチポイント接続(単方向または双方向)を提供するケーブル;それぞれが混交(promiscuous)または非混交モードのいずれかで動作する複数のコンピュータ・システムに対するマルチ−アクセス、ブロードキャスト可能な接続を提供するハブ;ユニキャスト・トラフィック分離を提供しつつ、複数のコンピュータ・システム対するマルチ−アクセス、ブロードキャスト可能な接続を提供するスイッチ;および/または仮想接続グリッドの外側のネットワークと複数のコンピュータ・システムの間におけるトランスペアレントなブリッジ接続であって、仮想接続グリッドの外側のネットワーク内のデバイスと複数のコンピュータ・システムの間におけるインタラクションのためのデータ・パスのトランスペアレンシーを提供するブリッジ接続をエミュレートすることができる。
パケットは、仮想リンクを横切る送信に先行して、それに含まれるそのオリジナルのヘッダ情報がそのパケットのエンドに追加されるように修正し、新しいヘッダ情報でオリジナルのヘッダ情報の置き換えができるように修正することができる。新しいヘッダ情報は、仮想接続グリッド内におけるそのパケットのためのフロー・パス決定情報を含むことができる。それに加えてコンピュータ・システムのうちのいずれがそのパケットを送信しているかを識別するように機能する認証情報をパケットに追加することができる。この種の場合においては、コンピュータ・システムの1つにおける受信時に、パケットのオリジナルのヘッダ情報をリストアすることができる。
さらに別の実施態様は、多段ネットワーク内でフローのためのパスを集中化された態様で決定すること、フロー・パスとノード選択情報をフローのそれぞれの各パケット内にエンコードすることを提供する。各フローのためのノード選択は、多段ネットワークの各クラスタについて、それぞれのフローが実際にいずれのパスを取るかについての知識を伴わずに行うことができる。フロー・パスとノード選択情報は、前述した態様でパケット内にエンコードし、あるいはそれに追加することができる。フローのためのパスの決定に先行して、パケット内にある情報のセットを使用し、またネットワーク管理者によって設定された評価基準に従って分類すること、ネットワーク管理者によって設定されたポリシーを基礎としてフロー・パスを割り当てることができる。類似の操作を、分散された態様で、多段ネットワークの各ノードにおいて実行することができ、その場合には、ノード選択情報だけがそれぞれのフローの各パケット内にエンコードされていればよい。
さらに別の実施態様は、類似のアプリケーション機能を有するノードのクラスタにノードがグループ化された多段ネットワークのノードにおいて両方向において、全体のフローを複製すること、その複製フローが作られたオリジナルのフローのためのオリジナルのフロー・パスとは異なる、結果として得られた複製フローのためのフロー・パスを指定することを考慮に入れる。複製フローは、複製フローとオリジナルのフローの両方を受信する終了ノードにおいて終了し、終了ノードは、分析のために複製フローとオリジナルのフローの内容を記録する。
本発明は、限定ではなく例を示す形で添付図面内に示されている。
ここでは、各段階において特化された機能を実行する種々のパケット・プロセッサ(ノード)を含む多段データ・ネットワーク内におけるパケット・フローの適応ルーティングのための方法とシステムについて述べる。これらの方法とシステムは、向上したプロセッサの可用性を提供し、ネットワークの全段階にわたる一様な動的なプロセッサ容量マネジメントを提供する。またここでは、この方法を実施し、多段ネットワークの各処理段階に必要な特化された機能のいずれかを展開するように相互交換可能に使用することのできる汎用コンピュータ・ハードウエアを使用する装置について述べる。その種の装置とほかの特化された装置、すなわち多段ネットワークの1または複数の段階に必要なパケット処理機能を実行するように特別に設計された装置を組み合わせ、当該特化された装置を採用する段階を含むネットワーク全体を通じて高い可用性と動的容量マネジメントを達成するシステムがここに述べられている。集合的に、これらの方法とシステムは、前述した問題に対する包括的かつスケーラブルなソリューションを可能にする。
このシステムの主要コンポーネントには、次のものが含まれる。
a.仮想接続グリッド
b.サービスとシステム・ノード
c.フロー・ルーティング・フレームワーク
d.システム・マネジメント・フレームワーク
しかしながらここで想起する必要があるが、これらのコンポーネントは例示のみとしてここに与えられている。言い換えると、これらのシステム・コンポーネントについて現時点で好ましい種々の具体例が、本発明の中に織り込まれているコンセプトを読者に習熟させるために述べられている。これらの記述は、本発明の方法と特徴を採用する多段ネットワークのすべての可能な例という意味において包括的ではなく、そのように考えるべきでもない。その逆に、ここに記述され、示されている説明は、本発明を作り、使用する方法ならびにプロセスの完全、明瞭、簡潔な説明を提供するものとして見るべきであり、本件発明者らが当該発明者らの発明とすると特に指摘し、かつ明瞭に主張していると見られるべきは、これに付随する特許請求の範囲である。
本発明の明瞭な説明を提供するという目標達成の一助として以下の用語をここで使用する。
i.INODEは、イングレス/エグレス・ノード(ingress/egress node)である。
ii.ANODEは、アプリケーション・ノードである。
iii.MNODEは、マネジメント・ノードである。
iv.FNODEは、フロー・マネジメント・ノード(たとえば、後述するようにフロー・マネジメント機能を実行するように構成された専用ノード、INODE、またはANODE)である。
v.「フロー」は、アプリケーション・コンテキスト(たとえば、トランザクション、アプリケーション・セッション等)内の2つのエンティティ(たとえば、クライアントとサーバ)の間において交換されるパケット列である。
vi.「フロー・マネジメント・モジュール」は、外部ネットワークに接続されたすべてのFNODE内に常駐する。
vii.「フロー分類」は、パケットの多重ストリーム内において個別のフローが識別されるプロセスである。
viii.「フロー・パス」は、アプリケーション・クラスタ(または仮想ネットワーク)に関してネットワーク・エンティティがパケットを処理するシーケンスを定義する。
ix.「フロー・ルート」は、アプリケーション・クラスタ(または仮想ネットワーク)内の特定のノードに関してネットワーク・エンティティがパケットを処理するシーケンスを定義する。
x.「フロー・パス割り当て」は、静的または動的評価基準を基礎として特定パスにフローが向けられるプロセスである。
xi.「フロー複製」は、フローの正確な複製(クローン)が作られ、その複製フロー用に明瞭なフロー・パスが作られるプロセスである。
xii.「フロー分配」は、ノードが、特定のフローの全パケットが転送される次のホップ・ノードを、たとえば機能的等価ノードのリストから選択するプロセスである。次のホップ・ノードの選択は、集中化または分散が許される。
xiii.「適応ルーティング」は、次のホップの決定が動的に変化するメトリクス、たとえばノードのリソース利用等を基礎とするフロー・ルーティングの種類である。
xiv.「静的ルーティング」は、次のホップの決定がパケット・パラメータ、たとえばフローのIDとパケットの種類等を基礎とするフロー・ルーティングの種類である。
xv.「集中化された次のホップの選択」は、フロー・マネジメント・モジュールが、たとえばフローのための入口ポイントとして作用するINODE内で、そのフローのためのエンド−ツー−エンド・ルートをセットアップするプロセスである。
xvi.「分散された次のホップの選択」は、各ノードが、次のホップとして使用するノードのローカルな決定を行うプロセスである。
xvii.「クラスタID」は、MNODEによってANODE、FNODE、INODEの各クラスタに割り当てられる一意的な番号である。
xviii.「ノードID」は、MNODEによってクラスタの各ノードに割り当てられる番号である。この番号は、そのクラスタ内において一意的である。いったん割り当てられると、このノードIDは、そのノードがそのクラスタの外に出されるまで変更されない。
xix.「トポロジ」は、システム内のすべてのクラスタ、それらのクラスタ内の現在アクティブの全ノード、クラスタ間の相互接続のセットである。「トポロジ」は、ノードが故障したときに変化し、またノードのリスタート時に再び変化する。「トポロジ」は、管理者がフロー・パスを修正し、あるいはそれに対する追加もしくは削除を行うことによっても変化する。
xx.「トポロジID」は、MNODEによってシステムのトポロジに割り当てられた番号である。
A.仮想接続グリッド
ここで述べている接続グリッドと結果として得られるフロー分配技法について理解するためには、本発明のゴールの1つが複数のネットワーク・ノード間における管理されたトラフィック・フローのためのフレームワークを作ることであるとの理解が一助となる。言い換えると、過去に行われているように特化されたネットワーク装置とそれらの間のハードワイヤリング相互接続の冗長セットを組み立てること、あるいはデータ・トラフィック・ルータもしくはディスパッチャを多段ネットワークの各段の始まりと終わりに挿入することに代えて、本発明は、柔軟なオーバーレイをネットワーク・ノードのトップに作成することを求めており、当該オーバーレイは、異なるフローのニーズと、現在のネットワーク状態に従った動的フロー・パス割り当てやルーティングを考慮している。したがって、仮想接続グリッドは、1または複数の物理的なローカル・エリア・ネットワーク(LAN)スイッチ(たとえば、Ethernetスイッチ)の直上にソフトウエア的に構成される論理的なアブストラクションである。
図1を参照すると、接続グリッド10は、中央仮想スイッチ12、ノード14a、14b、14c、14d(ほか)からなり、各ノード14は、1または複数の仮想インターフェース16を使用してグリッド10に接続されている。この仮想インターフェース16は、ノード14によってサポートされる物理LANインターフェース18の直上にソフトウエア的に構成される論理的なアブストラクションである。物理インターフェース18は、物理LANスイッチ20a、20b等に対する接続を提供し、これらは集合的に、仮想スイッチ12等の1または複数の形式の仮想接続によって張られている。
仮想スイッチ12は、完全なメッシュ接続を提供し、すべてのノードがそのスイッチによって管理された仮想接続グリッド10の一部である限り、任意のノード14を1または複数のほかのノードに接続することができる。後述するが、ノード14間における異なる仮想リンクの使用を通じて、ほかの形式の接続も可能である。各接続フォーマットは、グリッドを仮想ネットワーク22a、22b、22c等に論理的にパーティション分けするために使用可能なコマンドならびにコントロール・メッセージのセットをサポートする。各ノード14は、仮想インターフェース16を作り、それらを仮想ネットワーク22に接続するために使用することのできるコマンドとコントロール・メッセージのセットをサポートする。その後は、仮想ネットワーク22を単方向もしくは双方向トラフィック・フローのために使用することができる。
この態様において仮想ネットワーク22を使用するためには、LANスイッチ20がVLANタグ付けをサポートすることが好ましい。しかしながらスイッチ20がその種のサポートを提供しない場合には、その種のサポートを提供する外部スイッチに対して接続を1対1対応でエクスポートすることができる。物理的に、各ノード14は、LANスイッチ20上のポートに接続されており、類似の処理機能のノードは、クラスタ内にまとめてグループ化される。クラスタ間のパスが必要とされる場合には、VLANタグ付けが使用されて、それらの間に一意的な仮想リンクが作られる。このように仮想リンクは、ノードのクラスタ間における論理的な接続を構築し、仮想ネットワーク22は、所望のクラスタ接続を提供するために必要とされる異なる仮想リンクを表す。
単一の仮想ネットワークが使用され、すべてのネットワーク・トラフィックがそれを通過するシステムを構築できることにも注意する必要がある。しかしながらこのソリューションは、ノード/クラスタのすべてが必ずしもすべてのネットワーク・トラフィックの処理を必要としないことから最適にはほど遠い。そのためノードは、不必要なパケットを受け取り、かつドロップすることを継続的に行うようになり、それによって処理リソースを無駄にすることになる。
そこでそれに代えて、各ノード14に、そのノードの接続ニーズに従って異なる仮想ネットワーク22に対して接続するための異なるVLANタグを伴う1または複数の仮想インターフェース16を割り当てる。これらのタブによって表されるVLANは、各物理インターフェース18上においてノードが、1または複数の送信VLANと1または複数の受信VLANを有して終わるように単方向(すなわち、送信または受信の両方ではなく、いずれか一方)態様で使用される。このアブストラクションは、ノードのアプリケーション・レイヤ・ソフトウエアから隠されており、それらは単一のEthernetポートを従来の態様で見ることになり、トラフィックの分離が考慮される。
このように、接続グリッド10は、ノード14間の仮想リンクのためのフレームワークを提供する。種々の種類の仮想リンクがサポートされており、次に例を挙げる。
a.外部リンク。外部リンクは、1または複数のノード14とスイッチ20上の外部ポート(たとえば、ユーザによって指定される)の間のリンクと考えることができる。外部ポートは、VLANタグ付きまたはタグなしモードで動作することができる。外部インターフェースがタグ付きでない場合には、それが接続されるスイッチ20上のポートが、そのインターフェースに割り当てられた一意的なVLANを伴って構成される。それ以外であれば、ポートがタグ付きモードで動作し、VLANを通過させる。したがって、複数の外部リンク(すなわちサブネット)が単一の外部ポートにわたってサポートされることになる場合には、VLANタグ付きモードが必要である。
b.仮想ケーブル。仮想ケーブルは、2つのノード14の間もしくはノードのクラスタの間、またはノードとノードのクラスタの間におけるポイント−ツー−ポイント・リンクである。ノード・クラスタについては詳細を後述する。
c.仮想スイッチ。前述したとおり仮想スイッチ12は、すべてのメンバに対するマルチキャスト/ブロードキャスト配信、周期的フラッド、ユニキャスト分離を含めて、仮想リンクのすべてのメンバ・ノードの間における従来的なスイッチ付きEthernet接続を提供する。
d.仮想ハブ。仮想ハブは、すべてのメンバ・ノード14の間にハブ類似の接続を提供する。仮想ハブの1または複数のメンバ・ノードは、「仮想混交モード」で動作するように構成可能であり、これらのノードが、その仮想ハブ上のほかのすべてのノードによって送信されたすべてのパケットを受信することを可能にする。従来のEthernetスイッチは、そのスイッチの1または複数のポート上に構成されるVLANの恣意的なセットについて、その種のユニキャスト・トラフィックの「スヌーピング」を提供しない。非混交モードのノードの場合には、ノードのメディア・アドレス・コントローラ(MAC)アドレスに整合しないユニキャスト・パケットが無視される。その種の仮想ハブの使用は、以下に説明するノードのクラスタリングを考慮している。
種々の種類の仮想リンクが種々の形式のノード接続を提供し、それには次のものが含まれる。
a.指定のノード間における「マルチポイント−ツー−マルチポイント」(または完全メッシュ)接続。図2Aに示されているが、この種類の接続は、マルチキャスト/ブロードキャスト、周期的フラッド、ユニキャスト分離を含めて、仮想リンクのすべてのメンバ・ノードの間に標準的なスイッチ付きEthernet接続を提供する。マルチポイント−ツー−マルチポイント接続は、コントロール・パスのために使用されることがある。
b.指定ルート・ノードと1または複数のリーフ・ノード(リーフ−ツー−リーフ接続は妨げられる)の間における「ポイント−ツー−マルチポイント」(またはスター)接続。図2Bに示されているが、ポイント−ツー−マルチポイント仮想リンクは、指定ルート・ノードとそのリンクに割り当てられている残りのノード(リーフ・ノードになる)の間におけるフローの交換を可能にする。この種類の仮想リンクは、リーフ・ノードがほかのリーフ・ノードからのブロードキャストまたはマルチキャスト・パケットのフラッドに遭遇しないという点において標準的なVLANとは異なる。「仮想ハブ」機能は、ポイント−ツー−マルチポイント仮想リンクのオプション・モードである。仮想ハブ・モードにおいては、宛先MACアドレスがユニキャスト、マルチキャスト、またはブロードキャストであるか否かによらず、ルート・ノードからのすべてのパケットがリーフ・ノードに対して複製される。これは、1または複数のリーフ・ノードが、クラスタ内のほかのリーフ・ノードによって処理されているフローの「シャドウ」処理もしくはモニタリングを(たとえば、バックアップ能力を提供するために)行う能力を提供する。トランスペアレントなクラスタリングは、この機能を利用する。
c.3つのノード間における「ポイント−ツー−デュアルポイント」(または弾性リンク)接続。この場合、1つのノードがルート・ノードとして指定され、第2のノードがプライマリ・ノードとして指定され、第3のノードがスタンバイ・ノードとして指定される。すべてのノードが動作可能である場合、ルートとプライマリ・ノードの間において接続がイネーブルされる。プライマリ・ノードが故障すると、ルートとスタンバイ・ノードの間における接続がイネーブルされる。図2Cを参照するとわかるが、この種類の仮想リンクは、プライマリ・ノードが故障した場合のスタンバイ・ノードへの自動切り替えを提供する。
d.「クラスタ化リンク」。クラスタ化リンク(図2D参照)は、ルート・ノードから下流ノードのクラスタに対する単方向フローをサポートする。ルート・ノードから送信されたすべてのパケットは、クラスタ内のすべてのノードに対して複製される。ルートから送信されたユニキャスト・パケットがあれば、すべてのクラスタ・ノードに対してブロードキャストされる。受信ノード内のパケットのイングレス処理が、宛先フィールド内にあるそのノードの固有MACアドレスを置換する(このテクニックは、パケット内に、そのアドレスがイングレス上において置換される必要があることを示すユニキャスト・インジケータが埋め込まれていることを必要とする);マルチキャストとブロードキャスト・パケットは変更されない。
e.「クラスタ接続」。図2Eに示されているように、クラスタと隣接するノードの間の接続は、クラスタ化された仮想リンクを使用する。
f.複製リンクも使用することができる。図2Fに示されているが、複製リンクは、任意の実在する一方向リンク上に「タップ」を配置する能力を提供する。複製リンク上においてユニキャスト・パケットを受信するノードは、宛先MACアドレスフィールド内にそれ自身のMACアドレスを見つけることになる(クラスタ化ノードに類似)。
すべての仮想リンクは、互いに離隔され、かつシステム内のほかの内部と外部インターフェースから離隔されている。仮想リンクは、マネジメント・コンソール(後述)を介し、たとえばグラフィカル・ユーザ・インターフェース(GUI)を使用してノードとノードのクラスタの間の接続を表すアイコンを単純にドラッグ・アンド・ドロップすることによって作ることができる。また仮想リンクは、ノードと仮想インターフェースの属性を提供するデータ・レコードを使用し、それらの間における所望の相互接続を指定することによってプログラム的に作ることもできる。仮想リンクは、いったん作られるとデータ・ストア(たとえばデータベース)にストアされる。データ・ストアは、仮想リンクについての情報(たとえば、リンクの種類、リンクID、VLAN ID等)のレポジトリとして機能する。MNODEにある仮想リンク・マネージャ・アプリケーションに、このデータ・ストアの維持、接続グリッド10内の仮想リンクの構成のマネジメントの責任を持たせることができる。その場合、各ノード14の仮想リンク・エージェントは、仮想リンク・マネージャと通信し、それぞれの仮想リンクをそれに応じて構成し、削除することができる。
説明が適当と見られるもう1つの仮想リンクの形式は仮想プローブであり、それを使用して、ネットワーク分析またはリモート・モニタ(RMON)アプリケーション等の診断アプリケーションのための接続を提供することができる。図2Gは、2つの種類の仮想プローブ接続を示している:すなわち、リンク・プローブとインターフェース・プローブである。この図において各ノード14e、14f、14gは、1または複数の仮想リンク・インターフェース(VLI)16をサポートする。仮想ハブ13a、13bは、ノードN1とN2、ノードN2とN3をそれぞれ相互接続するために使用される。
仮想プローブは、コレクタ・ノード14hと、1または複数のプローブ・ポイント19からなる。プローブ・ポイントを仮想リンク上に配置してリンク・プローブ・ポイント19aを作り、あるいは仮想リンク・インターフェース上に配置してインターフェース・プローブ・ポイント19bを作ることができる。複数のプローブ・ポイントを構成して、複数インターフェース・ストリーム修正の可能なアプリケーションをサポートすることも可能である。
リンク・プローブ・ポイント19aは、仮想リンク上にプローブ・ポイントを配置することによって構成され、イン−ラインまたはハブ−スタイルのプローブをシミュレーションする。それにおいてはすべてのインターフェースによって送信されるすべてのパケットが捕捉される。インターフェース・プローブ・ポイント19bは、仮想インターフェース16上にプローブ・ポイントを配置することによって構成され、ホスト−ベースの「シム」プローブをシミュレーションする。それにおいてインターフェースから受信されるすべてのパケットと、インターフェースへ送信されるすべてのパケットが捕捉される。コレクタ・ノード14hは、クライアント・アプリケーションに対してRMONプローブ等の単一のデータ・リンクを提供し、それが、プローブされるすべての仮想リンクに接続されたハブ上にコレクタ・ノード19があるかのように混交モードにおける物理的なネットワーク・インターフェースとして動作する。1つのアプリケーションにおいては、コレクタ・ノードのインターフェースが、すべての収集済みパケットを、それらが外部インターフェースとアプリケーションに対して配信されたとおりに(すなわち、パケットのオリジナルのMACアドレスをリストアし、挿入されたフロー記述子(フロー記述子については後述を参照)があれば削除することによって)配信する。代替アプリケーションにおいては、インターフェースを、「生モード」で構成することが可能であり、それにおいてはパケットがプローブ・ポイント19内の仮想リンク・ドライバによって送信および/または受信されたとおりに配信される。ノードへの、ノードからのパケット・フローのプロービングのために、プローブ・ポイント19をクラスタの個別のメンバ・ノード上に配置することができる。
上記の接続を提供するために、ほかのリソースとのコンフリクトが回避されるように仮想リンクに割り当てられるVLAN識別子(VLAN ID)を管理しなければならない。たとえば、タグ付きモードで動作している外部リンク(後述を参照)の場合においては、ルータ等の外部デバイスとのコンフリクトを回避するためにVLAN IDのユーザ割り当てが必要とされることがある。それ以外では、VLAN IDをVLAN IDの予約済みブロックから選択して、VL種類もしくは業界標準規約に従って割り当てることができる。
VLANマネジメントに加えて、データ・パスのトランスペアレンシーを達成するために、外部リンクのためのMACアドレス、仮想ケーブル、仮想ハブを管理しなければならない。MACアドレス・マネジメントは、ネイティブに動作する仮想スイッチ用には必要ない。いくつかの実施形態においては、仮想ハブを、それがMACアドレス・マネジメントに到来したとき、仮想ケーブルと同一の態様で扱うことができる。次に示す表は、本発明の各種の実施形態において使用することのできるMACアドレスの例を提供する。
Figure 2007501563
MACアドレスは、ノード14へのパケットのイングレスとそこからのエグレスの間に、仮想ハブ上の仮想インターフェース16によって処理される。パケットのイングレスの間においては、仮想インターフェース16がすべてのパケットを、仮想リンクが外部リンクである場合には、変更せずに外部リンク・ブリッジ・モジュールに対して配信する。内部リンクについては、あらゆるアプリケーションに対するパケットの配信に先行して仮想インターフェース16がオリジナルのパケット・アドレスを、そのパケットのフロー記述子からMACヘッダにコピーし(アプリケーションが、いずれかのレイヤ2機能を実行している場合)、フロー記述子を隠す。フロー記述子は、仮想リンク接続とフロー・マネジメントに関連付けされたネットワーク・パラメータを分配するためのイン−バンド・メカニズムを提供する識別子であり、詳細については後述する。
パケットのエグレスの間、外部リンクにおいては、仮想インターフェース16がオリジナルのMACアドレスをパケットのフロー記述子からコピーし、それをパケット・ヘッダに追加する。内部リンクの場合には、仮想インターフェース16が発信元アドレス用にNICアドレスを使用することになり、宛先アドレスを「ブロードキャスト・アドレス」にセットする。要求された発信元アドレスと宛先アドレスもまた、パケットのフロー記述子にコピーされる。
B.サービスおよびシステム・ノード
図3を参照すると、各ノード14が概して以下を含む。
a.ハードウエア・プラットフォーム24(たとえば、サーバまたはワークステーション等の汎用コンピュータ、あるいは特化されたハードウエアを伴う専用コンピュータのいずれか);
b.仮想接続グリッドが実装されるハードウエアを構成する1または複数のLANスイッチへの接続に使用される1または複数のLAN(たとえばEthernet)インターフェース(物理ポート18と関連ドライバ26からなる);
c.オペレーティング・システム28(たとえば、Windows(登録商標)、SolarisTM、Linux等の汎用コンピュータ・オペレーティング・システム、または特化された機能を伴う専用オペレーティング・システム);
d.ノード14を仮想接続グリッドに接続する1または複数の仮想インターフェースを生成するドライバ(1または複数)30a、30b、30c等;
e.ノード14から多段ネットワーク内の次段の別のノードへのトラフィック・フローのルーティング、すなわち負荷共有、パフォーマンス、容量、可用性、トラフィック分類等に関係する種々の静的、動的ポリシーを基礎として適応的になされるルーティングを実行する特化されたソフトウエア(たとえば、フロー・ルーティング・モジュール32);
f.「イングレス」/「エグレス」、「アプリケーション]、および/または「マネジメント」ノードによって要求される特化された機能を配信するアプリケーション・ソフトウエア34;
g.ノード14に向けられたコマンドとコントロール・メッセージを受信し、それに作用を及ぼすマネジメント・エージェント(たとえば、ノード・マネジメント・モジュール36)。
前述したとおり、接続グリッド10の外部のネットワークへのトラフィック・フロー/ネットワークからのトラフィック・フローのルーティングに関係する機能を実行するシステム・ノードは、「イングレス/エグレス・ノード」またはINODEとして知られる。INODEは、しばしば多段ネットワークを通るトラフィック・フローのルーティングにもかかわる。多段ネットワークの各段において要求される1または複数の特化されたパケット処理を実行するサービス・ノードは、「アプリケーション・ノード」またはANODEとして知られる。フロー・マネジメント機能(接続グリッド内におけるフロー・ルーティングのため)を実行するように構成されたINODEおよび/またはANODEは、集合的にFNODEと呼ぶことができる。仮想接続グリッド、すべての仮想リンク、イングレス/エグレス・ノード、アプリケーション・ノードを含む全システムのコマンドとコントロールに関係する監視機能を実行するシステム・ノードは、「マネジメント・ノード」またはMNODEと呼ばれる。単一ノードが、INODE、ANODE、またはMNODEに関連する機能の組み合わせを含むこともできる。いくつかのシステムにおいては、たとえばINODE上においてシステム・マネジメント機能、または1または複数のANODE上においてイングレス/エグレス機能を実装するとより効率的となることがある。
INODEは、仮想接続グリッド10に入るトラフィックとそれを離れるすべてのトラフィックのための入口および/または出口ポイントとして作用する。グリッドに接続されるINODEの数は任意とすることができる。各INODEは、1または複数の外部ネットワークに関連付けされる。外部ネットワークは、EthernetLANにおけるような物理的なもの、あるいはEthernetLANの上に実現されるVLANにおけるような仮想的なものとすることが可能である。
INODE、または冗長性のためにクラスタとして構成される2もしくはそれを超える数のINODEは、多段ネットワークの初段および最終段として働く。同一INODEまたはその種のノードのクラスタが、両方の機能(トラフィック・フローの入口および出口)を実行すること、あるいは異なるINODEまたはその種のノードのクラスタが、一方もしくは他方の機能の実行に使用されるということは可能である。INODEは、トラフィック・フローを外部ネットワークに接続された適切な次のホップ・デバイスに振り向けるために必要なルーティング能力(静的ルーティングまたは1または複数のルーティング・プロトコル等−−RIP、RIPv2、OSPF、IGRP、EIGRP、BGP、その他)を含むこともできる。これらのルーティング・プロトコルは、ANODE上における外部ネットワークからのパケット/外部ネットワークへのパケットのイングレス/エグレスと分離されるサービスとして実現することも可能である。
INODEは、「レイヤ2」モードでも動作可能であり、各外部ネットワークを一意的な内部仮想ネットワークにブリッジする。これは、任意の既存ネットワーク・トポロジ内への仮想接続グリッドのトランスペアレントな包含を考慮している。
ANODEは、多段ネットワーク内の特定の段階のために指定された特化された機能を実行する。ANODEのクラスタは、多段ネットワークの特定の段階の中で同一の特化された機能を実行する、2またはそれを超える数のANODEを指定することによって作ることができる。その種の機能の例として、パケット・フィルタ、ファイアウォール、VPNサービス、侵入検出システム、ウェブ・フィルタリング、エンタープライズ・ネットワーク内に含まれる任意のパケット処理機能を挙げることができる。あるクラスタのすべてのメンバANODEは、機能的に等価と見なされる。換言すれば、多段ネットワーク内の特定の段階のために指定されたトラフィック・フローは、そのクラスタの任意のメンバにルーティングすることができる。
MNODEは、仮想インターフェース16、仮想ネットワーク22、仮想接続グリッド10、グリッドに接続されているノード14の構成、マネジメント、モニタリングに関係する特化された機能を実行する。またMNODEは、トラフィック・フロー・モニタリング機能、たとえばスループット、待ち時間、利用、エラー・レートといったシステム−ワイドなフロー統計、およびノードごとの待ち時間、ノードごとのスループット、ノードごとの利用、ノードごとのエラー・レートといったノード固有のフロー統計等を収集し、エクスポートする機能も実行する。
図4は、本発明に従ってノードと仮想接続グリッドを使用して構成された一例の多段ネットワーク40の論理的な例示を提供する。特にこの例示は、以下からなる4段ネットワークを示している。
a.3つのINODE(冗長構成)。INODE IA−1とIC−1は、それぞれ1つの外部ネットワークに接続しており、INODE IB−1は、2つの外部ネットワークに接続している。
b.3つのアプリケーション・クラスタAA、AB、AC。アプリケーション・クラスタAAは2つのANODE(AA−1、AA−2)を有し、アプリケーション・クラスタABは3つのANODE(AB−1、AB−2、AB−3)を有し、アプリケーション・クラスタACは3つのANODE(AC−1、AC−2、AC−3)を有している。これらのクラスタのすべてのノードは、同一のアプリケーション機能を実行する。
c.2つのMNODE(MA−1、MB−1)。
d.仮想接続グリッド内側の5つの仮想ネットワーク(VN−1、VN−2、VN−3、VN−4、VN−5)。
e.各外部ネットワークがINODEを介して仮想接続グリッドに接続している4つの外部ネットワーク(EN−1、EN−2、EN−3、EN−4)。EN−1はIA−1を介し、EN−2およびEN−3はIB−1を介し、EN−4はIC−1を介してそれぞれ接続している。
これらのネットワークの4つの段階は、次のように考えることができる:第1段はINODE IA−1とIB−1を含み、第2段はアプリケーション・クラスタAAまたはABを含み、第3段はアプリケーション・クラスタACを含み、第4段はINODE IC−1を含む。仮想ネットワークVN−5とそれに接続されたMNODE(複数)は、外部ネットワーク間のデータ・トラフィックがこの仮想ネットワークを流れないことから、この多段ネットワーク内の段階を表さない。それよりもむしろ仮想ネットワークVN−5は、多段ネットワーク40の種々のINODEとANODEに対するコマンドおよびコントロール・パス(破線の垂直リンクによって例示)を提供する。ノード対ノード通信は、コントロール・メッセージのセットを介して達成され、それらを使用してノード発見、ノード・ステータスと状態の問い合わせ、ノード状態の分配、ノード状態と統計データの収集または配布、フロー・ルートの分配、フロー固有の統計収集と配布といったことに使用することができる。
仮想ネットワークVN−1〜VN−5は、前述した仮想接続グリッドを使用して作られる。その後多段ネットワーク40のノード間の通信チャンネルを提供するのは、これらの仮想ネットワークである。これらの通信チャンネル(本発明に関しては仮想リンクと呼ばれる)にわたって送信されることになる情報は、フローに組織化されるパケットからなる。パケットはどのノードにもルーティングできるわけではない。それに代わりフローが保存されなければならず、それこそが以下に述べるフロー・ルーティング・フレームワークのタスクである。
C.フロー・ルーティング・フレームワーク
フローは、アプリケーション・コンテキスト内における2つのエンティティ間で交換される一連のパケットであり、いくつかの関連接続から構成することができる。これらのエンティティは、通常、クライアントとサーバ、2つのピア・アプリケーション、あるいはセンダと1または複数のレシーバである。アプリケーション・コンテキストは、単純なトランザクション(単一の要求と応答シーケンスからなる)、アプリケーション・セッション(1または複数の単純なトランザクションからなる)、または多重化されたパケットのストリームからフローのパケットの特定シーケンスの選出を助ける任意の評価基準とすることができる。多段ネットワークのいずれのノードが特定フローのパケットを処理することになるかを決定するプロセスは、「フロー・マネジメント」と「フロー・ルーティング」の両方に関係する。したがって、仮想接続グリッドのフロー・ルーティング・フレームワークは、フロー・マネジメント・モジュールとフロー・ルーティング・モジュールを含む。
フロー・マネジメントは、本発明に関して使用する場合、「フロー分類」と「フロー・パス割り当て」に関係する。その場合にフロー・マネジメント・モジュールは、フロー分類もしくは識別、各フローについて仮想接続グリッドを通る特定フロー・パス(システム・オペレータ定義のポリシーを基礎として作られる)の割り当てを行うソフトウエア・モジュール(多段ネットワークの特定ノード内に常駐)となる。
フロー分類は、多重化されたパケットのストリーム内において個別のフローが識別されるプロセスである。言い換えれば、フロー分類は、1または複数のパケットのシーケンスを基礎としてフローを識別することからなる。しばしば、アプリケーション・コンテキスト(たとえば、TCPセッション、あるいはHTTP要求−応答シーケンスに類似した周知のフローの場合)は、フローを識別するために使用する評価基準を指定する。別のケースにおいては、ユーザが、フローを識別するための規則の恣意的なセット(ポリシーとしても知られる)を定義することができる。これらのポリシーを周知のアプリケーション・コンテキストとともに使用して、より高度の粒状性をフロー分類において達成することができる。したがってフロー分類は、パケット分類とは異なる。パケット分類はステートレスであり、識別プロセスは、パケット内に見つけることのできる評価基準の所定セットに対して行う単一のパケットのマッチングを伴う。これに対してフロー分類はステートフルであり、識別プロセスが、異なる時に到着するパケットのシーケンスを伴い、分類評価基準が、これらのパケットのいくつかにわたって見つけられる。フロー分類は、すべてのINODE上、新しいフローを発生するANODE(たとえば、NAT、VPN、プロキシ等)上において実行される。この機能を実行するモジュールは、フロー分類(FC)モジュールと呼ばれ、フロー分類の結果は、2つの値になる:すなわちフローの種類(たとえば、HTTP、FTP等)とフローIDである。フローIDは、そのパケット内の種々のフィールドと、その特定フロー内のすべてのパケットのための定数のハッシュである。このハッシュ・アルゴリズムは、フローの種類に依存する。フロー内においては5タプルが常に定数でないことがある。たとえば、FTPデータ接続は、FTPコントロール接続と異なる発信元ポートを有することになる;しかしながら、両方の接続は同一のフローに属する。
フローが分類された後は、フロー・パス割り当てを行うことができる。フロー・パス割り当ては、フローが、静的もしくは動的評価基準に基づいて特定のパスに向けられるプロセスである。多段ネットワーク内における場合のように、指定フロー内のパケットをシリアルに処理することが求められるいくつかのエンティティが存在するとき、フロー・パスは、それらのエンティティがパケットを処理するシーケンスを定義する。より詳細に述べれば、本発明に関する場合、フロー・パスは、所定のフローのパケットについてクラスタ−ツー−クラスタのパスを表す。フロー・パスは、静的(たとえばオペレータによって指定された一定のシーケンス)もしくは動的(たとえばリアルタイムで変化することのできる評価基準のセットによって決定される)、あるいはハイブリッド(たとえば、パスの一部がオペレータによって指定され、残りがリアルタイムで決定される)とすることができる。たとえば、同一多段ネットワーク内に2つのフロー・パスが存在することがあり、フローを選択的に、オペレータ指定の評価基準、たとえばフローの発信元、フローの宛先、そのフローが関連付けされているアプリケーション等に基づいてフロー・パスの一方もしくは他方に割り当てることができる。
前述したとおり、フロー・マネジメント・モジュールは、トラフィック・フローが発生する外部ネットワークに接続されたすべてのINODE内に常駐する。各INODE内のフロー・マネジメント・モジュールは、以下の機能を実行する。
a.新しいフローの開始、現在のフローの終了、非アクティブのフローの検出;
b.システム・オペレータによって設定された評価基準またはポリシーに基づいたフローの分類;
c.システム・オペレータによって設定された評価基準またはポリシーに基づいた各フローに対するフロー・パスの割り当て;
d.フローとそれぞれに対するパス割り当てのテーブルの維持;
e.ルーティングのスループット、待ち時間、利用、効率といったエンド−ツー−エンドのフロー固有の統計の収集;
f.エンド−ツー−エンドのフロー関連の統計の収集と集計のためのインターフェースの提供;
g.仮想接続グリッドを出るパケットの転送を決定するための、外部ネットワーク内のルータとそのほかのネットワーク・デバイスとのインタラクション。
ANODE上において動いているアプリケーションに応じて、ほとんどのANODEは、いくつかの2次フロー(たとえば、RADIUSサーバまたはsyslogサーバと通信するためのフロー)の開始、または終了を行う。したがってANODEは、フロー・マネジメント・モジュールを用いて構成することができる。しかしながら、この2次フロー上のトラフィックが、合計のデータ・トラフィックに比較して軽い場合には、固定のフロー・パスをそのフロー用に割り当ててもよく、その場合には2次フロー用のフロー分類/ルーティングを不要にすることができる。データ・トラフィック(VPN等)のためのフローを開始/終了するANODEについては、ANODEにおいてフロー分類を実行するか、あるいはそれに代えてそのフローを、その種の機能を実行するFNODEにルーティングすることができる。
フロー・ルーティングは、フロー・マネジメントとは異なる。すなわちフロー・マネジメントは、フローのクラスタ−ツー−クラスタ・パスに関係し、フロー・ルーティングは、そのフローのパケットによって取られる実際のノード−ツー−ノード・ルートに関係する。言い換えるとフロー・ルートは、特定のフローに属するパケットによってトラバースされるノードの特定シーケンスである。したがってフロー・ルーティングは、特定のフローに属するパケットが、そのフローに割り当てられたフロー・ルート内の次のノードに転送されるプロセスである。
フロー・パスは、したがってフローによって取られるアプリケーション・クラスタ(または仮想ネットワーク)のシーケンスを定義するが、フロー・ルートは、トラバースされることになるそれらのアプリケーション・クラスタ(または仮想ネットワーク)内の特定のノードのシーケンスを定義する。この区別を図5に示すが、そこには、3つのINODE(ID−1、IE−1、IF−1)、5つの仮想ネットワーク(VN−6、VN−7、VN−8、VN−9、VN−10)、3つの外部ネットワーク(EN−5、EN−6、EN−7)、7つのANODE(AD−1、AD−2、AD−3、AE−1、AE−2、AF−1、AF−2)を含む3つのアプリケーション・クラスタ(AD、AE、AF)を伴う3段のネットワーク50が示されている。この図は、2つのフロー・パス52、54を例示している。フロー・パス52は、外部ネットワークEN−5内において発生し、アプリケーション・クラスタADとAFを通り、外部ネットワークEN−6内において終了する。フロー・パス54は、外部ネットワークEN−5内において発生し、アプリケーション・クラスタADとAEを通り、外部ネットワークEN−7内において終了する。ネットワーク50を通る可能フロー・ルートは合計12であり、そのうちの、次に示すノードをトラバースする4つが図示されている。
i.ID−1−>AD−1−>AF−1−>IE−1(フロー・ルート56);
ii.ID−1−>AD−2−>AF−2−>IE−1(フロー・ルート57);
iii.ID−1−>AD−2−>AE−2−>IF−1(フロー・ルート58);
iv.ID−1−>AD−3−>AE−1−>IF−1(フロー・ルート59)。
フローのステートフルな性質から、特定のフローに属するすべてのパケットが、そのフローの最初のパケットの受信に選択された同一のノード(または、バックアップ・ノードを維持する状態)に転送されることが不可欠である。また、フローが双方向かつ対称であることから、逆方向に移動する特定のフローに属するすべてのパケットは、順方向においてそれらのパケットが受信されたノードと同一のノードに対して送信されなければならない。これらの要件に適合するため、各ノードは、各フローについてのエントリを伴うルーティング・テーブルを維持することができる。エントリは、新しいフローの開始が検出されたときに作成され、そのフローの終了が検出されたときに削除される。パケットの逆方向パスが、フロー内におけるパケットの順方向パスと同一になることを保証するため、システム内の各エグレス・ポイントをはじめフローを終了するANODE(たとえば、NAT、VPN、プロキシ等)は、各フローに関連付けされた状態を維持し、「フローID」が順方向パスと同一であること、または「フロー・ルート」が順方向パスと同一であることを保証しなければならない。これらのパラメータについての詳細を以下に述べる。
フロー・ルーティング・テーブルは、すべてのフロー・パスの一部である仮想接続グリッドに接続されたINODEとANODE内に常駐するフロー・ルーティング・モジュールのコンポーネントである。これらのソフトウエア・モジュールの主要な機能は、特定のデータ・フローに属するデータ・パケットの、近隣ノードの優勢な状態を考慮しつつ行う多段ネットワークの次段内のノードに対する適応的かつ信頼性のあるルーティングである。各INODEまたはANODE内のフロー・ルーティング・モジュールは、次に示す機能を実行する。
a.新しいフローの開始、現存するフローの終了の検出、さらには非アクティブ・フローの識別;
b.新しいフローの順方向振り向けのための次のホップ・ノードの選択(次のホップ・ノードの選択に使用可能な方法はいくつか存在する:ラウンド・ロビン、重み付きラウンド・ロビン、アクティブ・フローの数を基礎とするアルゴリズム、利用可能な次のホップ・ノードからのリアルタイム・フィードバックを基礎とするアルゴリズム等);
c.ノードによって管理されるすべてのアクティブ・フローについてのルーティング・テーブルの維持:
i.それぞれの新しいフローのためのエントリを、発信元と宛先のIPアドレス、発信元と宛先のポート番号、プロトコル識別子(5タプル)の一意的なセットによって定義されるとおりに作成する;
ii.フローが受信されたノードのMACアドレスをストアする(これは、フローの逆方向におけるパケットの転送に必要となる);
iii.フローの複製が指定されたノードのMACアドレスをストアする;
iv.フローが終了したとき、またはタイムアウトが生じて非アクティブ・フローが示されたときにエントリを削除する;
d.下流および同胞ノードに対するフローの作成と削除の通知の転送;
e.次のホップ・ノードに対するパケットの転送;
f.複製のためにフローが選択された場合における、1または複数の追加の指定ノードに対するパケットの転送;
g.スループット、待ち時間、パケット数、バイト数等に関するフロー固有の統計と集計済み統計の維持;
h.同胞ノードを含めた近隣ノードへのステータス情報の転送;
i.ノード発見への参加;
j.同胞ノードを含めた近隣ノードからのステータス情報の受信と処理;
k.フロー固有とノードの統計の収集と集計のためのコール・バック・インターフェースの提供;
l.ノードの障害とノードの輻輳を回るフローの再ルーティング。
フローの開始と終了を識別するためのアプリケーション固有のメカニズムとトランスポート・プロトコル固有のメカニズムがいくつか存在する。たとえば、TCPベースのフローの場合は、TCP接続設定のためのパケット交換のシーケンスがフローの開始を示し、TCP接続終了のためのパケット交換のシーケンスがフローの終了を示す。UDP等の接続なしのトランスポート・プロトコルの場合においては、発信元と宛先のIPアドレス、発信元と宛先のUDPポート番号、アプリケーション・プロトコル識別子の新しいセットを伴う最初のパケットを使用して新しいフローの開始を決定することができる。接続なしのプロトコルの場合は、トランスポート・レイヤに、フローの終了を示す明示的なパケットのシーケンスが存在しない。その種の場合においては、フローの開始と終了を、セッション−レイヤまたはアプリケーション−レイヤのプロトコルによって交換される情報を使用してより決定的に検出することができる。
フロー・ルーティングは、適応的または静的とすることができる。適応ルーティングは、ノードが、ノード・リソース利用度等の動的に変化するメトリックを基礎として特定フローのすべてのパケットが転送される次のホップ・ノードを、機能的に等価なノードのリストから選択するプロセスである。静的ルーティングは、フローIDとパケットの種類等のパケット・パラメータを基礎として次のホップが決定されるフロー・ルーティングの種類である。いずれの場合においても、次のホップの選択は、通常、新しいフローが検出された時点、および/または途中でフローの再ルーティングが必要となったときに生じる。ノードの障害や輻輳等のノードの動作状態がこの種の再ルーティングをトリガすることもできる。
次のホップ・ノードの選択は、集中化あるいは分散することができる。集中化アーキテクチャにおいては、仮想接続グリッド内へのフローのための入口ポイントとして作用するINODE等の指定ノードが、そのフローのためのエンド−ツー−エンドのルートをセットアップする。これは、フローに属するすべてのパケットのために、そのフローの持続期間にわたって使用されることになる回路をセットアップすることに類似している。非集中化または分散アーキテクチャにおいては、各ノードが、次のホップとして使用するノードをローカルに決定する。これは、ホップ−バイ−ホップ・パケット・ルーティングに類似である。
集中化または分散のいずれが次のホップの選択に使用されるかによらず、「フローの種類」と「トポロジID」が、イングレスノードにおいて各パケットにエンコードされる。それに加えて、「フローID」または「フロー・ルート」が(それぞれ)、分散された次のホップの選択が使用されるか、集中化された次のホップの選択が使用されるかに応じてパケットにエンコードされる。「フローの種類」パラメータは、主として統計のために使用される。パケット内にエンコードされる「トポロジID」パラメータは、そのフローが作られたときにカレントであったものである。これは、トポロジが変化し、現存するフローがその変化に起因して異なる取り扱いを必要とするときに有用な参考となり得る。
また2つの追加の情報ビットもパケット内にエンコードされる:すなわち「フロー開始」と「フロー終了」ビットである。これらのビットを多段ネットワーク内のほかのノードが使用して状態情報を作成し、あるいは削除することができる。しかしながら、フローの開始または終了が常に識別可能であるとは限らないことから、ノードは、これらのビットのみに頼るべきではない。
フローの種類、トポロジID、フローID/フロー・ルート、フローの開始/終了パラメータは、パケットの「フロー記述子」の一部である。すでに触れたように、フロー記述子は、仮想リンク接続や、フロー・マネジメントに関連付けされたネットワーキング・パラメータの分配のためのイン−バンド・メカニズムを提供する。これらは、スプーフィング攻撃の防止を補助するセキュリティ・エレメントもサポートすることができる。仮想接続グリッド内の各パケットは、フロー記述子を運ぶ。
フロー記述子は、各パケットのMAC、VLAN、またはIPヘッダ内にストアすることができる。すなわち、これらのヘッダ内の使用されていない情報を、多段ネットワーク内においてそのパケットが処理される時間が持続する間にわたってフロー記述子と置き換えることが可能である。置換された情報は、パケットのエグレスにおいて再挿入するため、あるいは1または複数のノード(すなわち、それらのノードにおいて動作しているアプリケーション・プログラム)がその情報を要求した場合のために保持する必要がある。この目的のために使用可能なこれらのヘッダ内の可能フィールドには次のものが含まれる。
a.MAC:16ビットの「種類」フィールドからのビットをいくつか使用する;
b.VLAN:「VLANプライオリティ」フィールドの最大4ビットを使用する;
c.IP:「チェックサム」フィールドの16ビット、および/または「バージョン」フィールドの3ないし4ビットを使用する。
これらに代えて、各パケットのVLANタグ・ヘッダとIPヘッダの間、もしくはパケットのエンドのいずれかにフロー記述子を挿入することができる。これは多段ネットワーク内のすべてのノードとスイッチ上のEthernetドライバが、従来的なEthernetサイズより大きいパケットに適合できる場合(たとえば、ノードとスイッチがEthernetジャンボ・フレームに適合している場合)に可能である。この種の情報は、そのパケットがネットワークから出る前に取り除く必要がある。
フロー記述子がパケットのエンドに取り付けられる場合には、そのパケットが種々のノードをトラバースする間、好ましくはそれをアプリケーションから隠す。フロー記述子は、適切な認証の後に仮想プローブを用いて可視化されるようにしてもよい。パケットに取り付けられることになるフロー記述子のためのフィールドの一例を次の表2に示す。
Figure 2007501563
フロー・ルートに沿った各ノード内へのイングレス上においてオリジナルのMACアドレスが、上位のレイヤ・プロトコルにそのパケットを渡す前にパケット・ヘッダ内にリストアされる。ノードからのパケットのエグレスの前に、MACヘッダ(発信元/宛先のMACアドレスとVLANタグを含む)を修正することができる。オリジナルのMACヘッダは、フロー記述子内に保存される。
ノードの各クラスタのためのクラスタ・データは、そのクラスタのために割り当てられたノードのノードIDを含む。それに加えて、特定のクラスタがそのパケットを処理したことを示すビットをセットすることができる。これは、次の2つの目的のために行う。第1は、システム内のパケット・ループの検出にそれを使用すること。第2は、FNODEが、クラスタ内の各ノードによって処理されたフローの数を測定するためにそれを使用すること。
分散された次のホップの選択が使用される場合には、フロー・パスが、あらかじめ決定されず、各ノードにおいてそのノード上で動作しているアプリケーションによって決定される。したがって、フロー・パスの割り当ては、それぞれのアプリケーションによって各ノードにおいて行われる。新しいフローが検出されるとき(たとえば、外部ネットワークからその新しいフローを受信するINODEによって、または新しい2次フローを開始するANODEによって)、検出しているノードのフロー分類モジュールが、その新しいフローに一意的なフローIDを割り当て、その指示子をそのローカル・テーブル内に保存する。この新しいフローに関連付けされているほかのパケットが検出されたとき、フロー分類モジュールは、対応するフローのすべてのパケット内にその新しいフローIDを挿入し、それによりそのフロー・パス内のほかのノードがフローIDを取り出すことが可能になり、フロー分類を実行する必要がなくなる。フローIDは、いくつかの実施形態においては24ビット値であり、最大で1600万の同時フローが考慮に入れられる。
新しいフローのパケットを受信した各ANODEまたはINODEにおいて、フロー・マッパ・モジュールが到来パケットからフロー記述子を抽出し、オリジナルのヘッダ値をリストアすることによってそのパケットを整える。フローIDは、そのパケットがフロー・パス内の次のホップに送信される前に、そのパケット内に再挿入できるように保存される。場合によっては、これがフロー情報とともにパケット情報(5タプル等)を(たとえばローカル・テーブル内に)保存すること、対応するアウトバウンド・パケットを識別してフロー記述子を再挿入することを必要とすることがある。このテーブルは、特定のノードにおいてパケットが処理される時間の持続する間にわたってのみエントリが維持されればよいことから、比較的小さくすることが可能である。
ノードは、パケットを送出する前に、次のホップのためのノードを選択する(たとえば、そのノードのフロー・マッパによってこの選択が実行される)。静的負荷バランシングの場合には、これが単純に、フローIDを1から「n」までの値にハッシュすることによってなされる。その際、nは、次のクラスタ内のノードの数である。フロー内のすべてのパケットについてフローIDが同一であることから、次のホップは、そのフロー内のすべてのパケットについて同一となる。したがってノードが、フローの次のホップのためのテーブルもしくはそのほかのデータ構造を維持する必要はない。しかしながら、適応負荷バランシングが使用される場合には、すべてのアクティブ・フローのための状態テーブルとフローの次のホップのテーブルが各ノードで維持される必要がある。
逆方向におけるパケットの正しいフローを確保するために、ノードは、以下のアルゴリズムの1つを採用することができる。
a.ノードがすべてのアクティブ・フローとそのフローについての以前のホップのMACアドレスのテーブルを維持する(これは、パケット内の発信元Ethernetアドレスである)。これが、すべてのパケットについて行われる。フロー・マッパが、いつ新しいフローが開始し、あるいは終了するかを知る必要はない。エントリがすでにそのフローID用に存在する場合には、単純にそれが上書きされる。フロー・マッパは、両方向の次のホップのMACアドレスを維持する必要がある。この種のアルゴリズムは、適応ルーティングが使用される場合に必要となる。
b.ノードは、フローIDを単純に1からnまでの値にハッシュすることによって次のホップを決定する。その際、nは、逆方向における次のクラスタ(または順方向における手前のクラスタ)内のノードの数である。フローのテーブルを維持する必要はない。このアプローチは、静的フロー・ルーティングの場合に使用することができる。
次のホップを選択するプロセスは、フローが最初に作られたときに有効であった値nを使用する。これは、トポロジの変更を伴う場合であっても、現存するフローが同一のノードにルーティングされることを保証する。当然のことながら、各ノードは、現在はもとより以前のトポロジを維持して、そのフローが作られたときの値「n」を追跡する必要がある。これが、各パケットを伴うフローに関連付けされた「トポロジID」を含む理由である。
集中化された次のホップの選択が使用される場合には、外部ネットワークから新しいフローを受信するINODEが、この特定のフローを処理することができる各クラスタ内のノードを選択する。INODEには、そのパケットが実際にいずれのクラスタを通るかわからないことから、パケットがすべてのクラスタをトラバースしない場合であっても、次のホップの選択がシステム内のすべてのクラスタについて行われる。言い換えると、多段ネットワークの各クラスタ内のノードが、フローがそのクラスタ内のいずれのノードも使用しないことになる場合においても、各フローを取り扱うために予約される。各クラスタ用に選択されたノード(前述したフロー・ルート・パラメータ)は、フローの種類とトポロジID等の追加のフロー情報とともにパケット内にエンコードされる。
INODEは、それが有している各クラスタ内の個別のノード上の負荷についての情報を基礎として、各クラスタのための次のホップを選択する。多くの負荷バランシング・テクニックのいずれを使用してもよい。たとえは、単純ラウンド・ロビンまたは重み付きラウンド・ロビン負荷バランシングを使用してもよく、あるいはより複雑な、実際の現在負荷および/またはフローの種類に関するノードからのフィードバックを頼るスキームを使用することもできる。好ましくは、負荷バランシングの決定が、フローについてのエンド−ツー−エンド特性を基礎として行われる。これらの特性は、それぞれのノード内に与えられているフロー・マッパを介してINODEに伝えることができる。フロー作成時において選択が行われた後は、この選択がテーブル内に保存され、同一フローのためのすべての将来パケットが、各クラスタ内の同一のノードを使用する。
しばしば、フロー複製が必要になることがある。フロー複製は、フローの正確な複製(クローン)が作られ、その複製フロー用に明瞭なフロー・パスが作られるプロセスである。このパスは、オリジナルのフロー・パス内に含まれていたエンティティのシーケンスと異なるシーケンスを含むことができる。フロー複製は、新しいフロー・パス、所定のフロー・パス内の新しいか、あるい異なるはバージョンのエンティティ(たとえばノード)、あるいは新しいポリシーのテストを容易にする。
システム内のノードが故障したとき、そのシステム内のほかのすべてのノードにこの故障が通知される。これは、システム内のすべてのノードに対してトポロジ更新通知を送信するMNODEによって行うことができる。そのノードの障害の後に開始される新しいフローは、故障したノードを使用せず、それに代えて、影響を受けたクラスタ内の残りのノードによって扱われることになる。同様に、故障したノードを含まない現存するフローは、影響を受けない。しかしながら、それらのパス内に故障したノードを含んでいた現存するフローは、特別な扱いを必要とすることになる。次に、その種の事象を扱うためのストラテジをいくつか示す。
a.現存するフローのためのパケットを破棄する。このアプローチは、故障したノードが同一クラスタの別のノード内に存在しない何らかのアプリケーション固有の状態を維持していたという前提を基礎とする。したがって、そのフローのパケットが、影響を受けたクラスタ内の別のノードにリダイレクトされた場合であっても、それらのパケットがドロップされる傾向を有する。
b.影響を受けたクラスタ内の別のノードにパケットをリダイレクトする。このプロセスは、故障したノードがそのフローについてのアプリケーション固有状態をまったく維持してなく、したがってほかのネットワーク・ノードは、影響を受けたフローからのパケットを取り扱うことができる場合に使用することができる。
c.クラスタ内の各ノード用のバックアップ・ノードを使用する。このアプローチにおいては、一部もしくはすべてのノードが、それぞれのフローの一部もしくはすべてについてのアプリケーション固有状態情報を維持することになるが、その種の状態情報が純粋にそのフロー内のパケットによって決定されることを仮定する。クラスタ内の各ノード(それぞれのフローについてのプライマリ・ノードと呼ばれる)が、バックアップ・ノードに割り当てられる。プライマリ・ノードによって受信され、処理されるすべてのパケットもまた、そのノードのバックアップ・ノードによって受信され、処理されることになる。しかしながらバックアップ・ノードは、処理済みパケット(またはそのパケットの処理の結果として得られる情報)を、そのパスのさらに先に送る必要がない。それに代えてバックアップ・ノードは、プライマリ・ノードの障害を検出しないか知らされない限り、各パケットをドロップする(すなわち、出力を送出しない)。その種の情況においては、バックアップ・ノードが、影響を受けたフローのためのプライマリ・ノードとなり、パケットのドロップを停止する。実質的にバックアップ・ノードは、故障したプライマリ・ノードからフロー・パスをシームレスに引き継ぎ、フローが終了するまでこの役割を継続する。これは、その後に続いてオリジナルのプライマリ・ノードが再び利用可能となる場合であっても、そのノードがそのフローの状態情報を失ってしまっていることから真となる。ここで注意を要するが、トポロジが変化する場合には(たとえば、ノードの障害に起因して)、特定のプライマリ・ノードのためのバックアップ・ノードもまた変化することがあり、したがっていずれのノードが個々のフロー用に割り当てられているかを追跡するため、トポロジIDがそのフローIDに関連付けされる必要がある。このようにしてノードは、それらの割り当て済みバックアップの役割を、フロー−バイ−フロー・ベースで追跡することが可能になる。
D.システム・マネジメント・フレームワーク
システム・マネジメント・フレームワークによってオペレータは以下のことが可能になる。
a.以下のようなシステム構成オペレーションの実行:
i.システムとサービス・ノード上におけるソフトウエアのインストール、更新、維持;
ii.2もしくはそれを超える数のノードにわたるソフトウエアと構成の変化の同期;
iii.サービスまたはアプリケーション・クラスタの作成と維持、プロセス容量の増加または減少;
iv.仮想ネットワーク・トポロジの作成と維持;
v.外部ネットワークに対する相互接続の作成と維持;
vi.フロー・パスの作成と維持;
vii.ソフトウエアと構成を含めたノード環境の複製;
viii.システムの任意の部分のためのテスト環境の作成;
ix.システムの任意の部分のためのメータとモニタリング・ファシリティのセットアップ;
x.スペアの展開と使用の管理。
b.以下のようなシステム、要素、トラフィックのモニタリング・オペレーションの実行:
i.全体的なシステム、アプリケーション・クラスタ、個別のノード、ソフトウエア要素のステータスのモニタ;
ii.システム・レベル、要素レベル、ネットワーク・レベル等におけるデータ・トラフィックのモニタ;
iii.フロー固有のステータスと統計のモニタ。
c.以下のような診断とトラブルシューティング・オペレーションの実行:
i.フロー・トラフィックの傾向の分析;
ii.システム、クラスタ、要素、ネットワーク、フロー・レベルにおけるスループット、待ち時間、利用度等のキー・メトリクス内の傾向の分析;
iii.エラー状態、パフォーマンス異常、システムのボトルネックの分析。
システム・マネジメント・フレームワークは、以下を含む:
a.仮想接続グリッドに接続された1または複数のマネジメント・ノード(MNODE);
b.仮想接続グリッドに接続された各ノード内において動作するノード・マネジメント・エージェント;
c.互いに通信する目的のためにMNODE、INODE、ANODEを接続する、仮想接続グリッド内側の1または複数の仮想ネットワーク;
d.すべて内部マネジメント・ネットワークに接続されている、ノード内に常駐するノード・マネジメント・エージェントと、1または複数のシステム・マネジメント・ノードの間において交換される通信メッセージのセット;
e.オペレータが使用するためのマネジメント・コンソールを構成する、仮想接続グリッドの外側の1または複数のワークステーションまたはサーバ・プラットフォーム上において動作するマネジメント・アプリケーションのスーツ;
f.仮想接続グリッド上の指定MNODE、すなわちコンソールに対するシステム・マネジメント・インターフェースを提供するMNODEにマネジメント・コンソールを接続する1または複数の外部ネットワーク;
g.マネジメント・コンソールとシステム・マネジメント・インターフェースを提供するMNODEの間において交換される通信メッセージのセット;
h.オプションとする、外部ネットワークに接続されるワークステーションまたはサーバ・プラットフォーム上において動作するサード・パーティのマネジメント・アプリケーション(たとえば、チボリ(Tivoli)、HPオープンビュー(HP OpenView)、CAユニセンタ(CA Unicenter)、マイクロミューズ・ネットクール(Micromuse NetCool)等);
i.MNODEからサード・パーティのアプリケーションへのシステム・マネジメント関連のデータをエクスポートすることを目的とした、サード・パーティのマネジメント・アプリケーションと、システム・マネジメント・インターフェースを提供するMNODEとの間において交換される通信メッセージのセット。
図6は、本発明の実施形態に従って構成されたシステム・マネジメント・フレームワークの一例を示している。システム・マネジメント・インターフェースは、クラスタMNとして構成されたMNODE、MN−1、MN−2の冗長セットによって提供される。これらのノードは、内部マネジメント仮想ネットワークVN−8に接続されている。すべてのINODE(IN−1、IN−2、IN−3)とANODE(AG−1、AG−2、AH−1、AH−2、AH−3)もまたこのネットワークに接続される。各INODEとANODE内には、マネジメント・エージェント62が常駐し、それが、内部マネジメント・ネットワークVN−8を使用して、ピア・マネジメント・エージェントをはじめ、2つのMNODE(MN−1およびMN−2)を含むシステム・マネジメント・ノード・クラスタMNに対するメッセージの交換を行う。
この図は、外部ネットワークEN−8に接続されたワークステーションまたはサーバ・プラットフォーム上において動作しており、システム・マネジメント・ノード・クラスタMNとメッセージを交換するネットワーク・マネジメント・アプリケーション(MApp−1)も示している。システム・マネジメント・フレームワークは、サード・パーティのコンポーネントを追加することによって拡張することも可能である。したがって、サード・パーティのネットワーク・マネジメント・アプリケーションTMA−2もまた外部ネットワークEN−8に接続され、同様にシステム・マネジメント・ノード・クラスタMNと通信する。
システム・マネジメント・ノード・クラスタMNに加えて、サード・パーティのマネジメント・ノードMN−3が、外部ネットワークEN−9を通る接続を介したサード・パーティのマネジメント・アプリケーションTMA−1のコントロールの下に存在する。ここで注意を要するが、サード・パーティのマネジメント・ノードは、ほかの任意のANODEまたはINODEとまったく同様に、サービス接続グリッド内において管理され、ノード・マネジメント・エージェントを含む。
E.システムの実装
前述した、仮想接続グリッド、複数のシステムとサービス・ノード、フロー・ルーティング・フレームワーク、システム・マネジメント・フレームワークを含むシステムは、商業的に入手可能なハードウエア上で実現することができる。前述したとおり、仮想接続グリッドは、VLANをサポートする従来のEthernetスイッチ上にオーバーレイすることができる。システムとサービス・ノードは、従来のオペレーティング・システムが動作する従来のコンピュータ・ワークステーションまたはサーバ・コンピュータ上において、ノードをサービス接続として接続するフレームワーク、フロー・ルーティング・フレームワーク、システム・マネジメント・フレームワークのために特化されたソフトウエアの追加を伴って実現することができる。これらのフレームワークは、エージェントまたは、各ノードおよび適切であれば外部コンピュータ内で動作するソフトウエア、それらのエンティティの間において交換される通信メッセージのセットによって表される。
例を示すと、図7は、商業的に入手可能なLANスイッチとワークステーションまたはサーバを使用して、どのようにすれば図5に示されている論理システムのトポロジを実現できるかについて例示している。ネットワーク70は、ワークステーション/サーバ72a〜72gの集合からなり、これらは、示されているとおりの種々のANODEの機能を実行するように構成されている。すなわちワークステーション72aは、ANODE AD−1として動作するように構成され、ワークステーション72bは、ANODE AD−2として動作するように構成され、以下も同様になる。ワークステーション74a、74b、74cは、それぞれINODE ID−1、IE−1、IF−1として動作するように構成される。図5には示されていないが、ここで認識されるとおり、システム・マネジメント・フレームワークを提供するために特定のMNODEが必要となり、図7においてはそれらが、MNODE MC−1と外部マネジメント・アプリケーションMApp−2として示されている。これらのMNODEは、それぞれ、マネジメント機能を実行するように構成されたコンピュータ・システム76a、76bとすることができる。
これらの種々のワークステーション/サーバは、図示のとおりLANスイッチ78a、78b、78cに結合される。これらの物理的な接続は、従来のEthernet接続を使用して行われ、それの上に前述した仮想インターフェースや仮想ネットワークが作られて図5に例示されている論理トポロジが達成される。仮想ネットワークVN−6、VN−7が例示されているが、ほかは、図を不必要に不明瞭化しないために示されていない。3つの物理LANスイッチ78a〜78cが示されているが、充分な数のポートを有する単一のスイッチを使用すること、あるいはそれに代えて2もしくはそれを超える数のスイッチを相互接続できることを認識する必要がある。
スタンド−アロンの汎用サーバ・ハードウエアを作っている多くのベンダーは、現在、「ブレード・サーバ」と呼ばれる新しいフォーム・ファクタでそれらのサーバを提供している。ブレード・サーバは、スタンド−アロンの汎用コンピュータと同一もしくは類似のパフォーマンス能力を提供するシングル・ボード・コンピュータを収容するように設計された、いくつかのスロットを伴った冗長性が高い障害許容シャーシを含む。すべてのブレードは、ブレード・サーバ・システム構成の一部である高速スイッチを使用して相互接続される。ブレード・サーバの主なねらいとする応用は、サーバの合併、それに付随するコスト、電力、空間節約の恩典である。ブレード・サーバのフォーム・ファクタによってオペレータは、現在の代替手段によって提供されるよりはるかに低いコスト、消費電力、空間消費において非常に大量のサーバ容量または演算能力を展開することが可能になる。このことは、ブレード・サーバを大規模データ・センタ用の理想的なフォーム・ファクタとしている。
図8は、代表的なブレード・サーバ・シャーシを使用した図5に示した論理トポロジの実装を例示している。ブレード・サーバ80は、シングル・ボード・コンピュータ82a〜82gの集合からなり、それらは、図示されているとおりの種々のANODEの機能を実行するように構成されている。すなわちシングル・ボード・コンピュータ82aは、ANODE AD−1として動作するように構成され、シングル・ボード・コンピュータ82bは、ANODE AD−2として動作するように構成され、以下も同様になる。これらのシングル・ボード・コンピュータは、すべて共通シャーシ内に収容される。
シングル・ボード・コンピュータ84a、84b、84cは、それぞれINODE ID−1、IE−1、IF−1として動作するように構成される。システム・マネジメント・フレームワークを提供するために必要となるMNODEは、MNODE ME−1(適正に構成されたシングル・ボード・コンピュータ86として実現される)とMApp−3(ワークステーション88として実現される)である。
これら種々のシングル・ボード・コンピュータは、図示のとおり、ブレード・サーバ80内の高速スイッチ90に結合される。これらの物理的な接続は、従来のブレード・サーバのバックプレーンを使用して行われ、図5に例示されている論理トポロジを達成させるために、それ等の接続に前述した仮想インターフェースと仮想ネットワークが形成される。仮想ネットワークVN−6、VN−7が例示されているが、ほかは、図を不必要に不明瞭化しないために示されていない。
以上、各段階において特化された機能を実行する種々のパケット・プロセッサ(ノード)を含む多段ネットワーク内におけるパケット・フローの適応ルーティングを行うための方法とシステムについて述べてきた。ここに示されているとおり、本発明は、種々の実施形態において柔軟な接続グリッド、適応フロー・マネジメント、適応リソースプロビジョニングを提供する。これらの属性は、概して、従来的かつ商業的に入手可能な異種ソフトウエアが動作するハードウエア上において実現することができる。それにもかかわらず、本発明は、特定の例示したその実施形態を用いて述べられているが、本発明の範囲は、特許請求の範囲の表現によってのみ測定されるべきとする。
本発明の実施形態に従って構成された多段ネットワークのノードのための仮想接続グリッドを例示した説明図である。 本発明の仮想接続グリッドを使用して達成することのできる種々のノード相互接続を例示した説明図である。 本発明の仮想接続グリッドを使用して達成することのできる種々のノード相互接続を例示した説明図である。 本発明の仮想接続グリッドを使用して達成することのできる種々のノード相互接続を例示した説明図である。 本発明の仮想接続グリッドを使用して達成することのできる種々のノード相互接続を例示した説明図である。 本発明の仮想接続グリッドを使用して達成することのできる種々のノード相互接続を例示した説明図である。 本発明の仮想接続グリッドを使用して達成することのできる種々のノード相互接続を例示した説明図である。 本発明の実施形態に従って実現することのできる仮想プローブ機能を例示した説明図である。 多段ネットワークのノード、すなわち本発明の方法に従い、仮想インターフェース・ドライバを用いて構成されたノードの一般的な機能を例示した説明図である。 本発明の実施形態に従って、ノードならびに仮想接続グリッドを使用して構成された多段ネットワークの論理図を例示した説明図である。 本発明の実施形態に従って、多段ネットワーク内のフロー・パスとフロー・ルートの間の区別を例示した説明図である。 本発明の実施形態に従って構成されたシステム・マネジメント・フレームワークの例を示した説明図である。 従来のLANスイッチおよびワークステーションを使用して図5に示されている多段ネットワークの論理的な特徴を実現するための1つの構成を例示した説明図である。 ブレード・サーバを使用して図5に示されている多段ネットワークの論理的な特徴を実現するための別の構成を例示した説明図である。

Claims (63)

  1. 処理ノードのクラスタからなる多段ネットワーク内でフローのためのパスを集中化された態様で決定することと、前記多段ネットワークのすべてのクラスタのためのフロー・パスの決定を表すノード選択情報を前記多段ネットワーク内の各フローのパケット内にエンコードすること、を含む方法。
  2. 前記パスは、特定のフローのパケットが前記多段ネットワーク内の前記クラスタの特定のものを実際にトラバースすることになるか否かの知識なしに決定される請求項1に記載の方法。
  3. 前記ノード選択情報が、前記パケット内のほかのヘッダ情報を前記ノード選択情報に置き換えることによって前記パケット内にエンコードされる請求項2に記載の方法。
  4. 前記ノード選択情報のエンコーディングに先行して存在しているオリジナルのヘッダ情報が、前記多段ネットワークのノードにおいて実行するアプリケーション・プログラムによるパケットの処理に先行して前記パケットにリストアされる請求項3に記載の方法。
  5. 前記ノード選択情報が、前記パケットに前記ノード選択情報を追加することによってエンコードされる請求項2に記載の方法。
  6. 前記ノード選択情報が、前記多段ネットワークのノードにおいて実行しているアプリケーション・プログラムによるパケットの処理に先行して取り除かれる請求項5に記載の方法。
  7. 各クラスタの個別のノードは、負荷バランシング評価基準に従って前記パス内に含めるために選択される請求項2に記載の方法。
  8. 前記負荷バランシング評価基準は、ラウンド・ロビン選択方法を含む請求項7に記載の方法。
  9. 前記負荷バランシング評価基準は、重み付きラウンド・ロビン選択方法を含む請求項7に記載の方法。
  10. 前記負荷バランシング評価基準は、前記多段ネットワークの前記ノードからの現在の負荷状態についてのリアルタイム情報を含む請求項7に記載の方法。
  11. 前記フローのためのパスの決定に先行して、前記フローが、前記パケット内にある情報のセットを使用し、かつネットワーク管理者によって設定された評価基準に従って分類され、フロー・パスが前記ネットワーク管理者によって設定されたポリシーを基礎として割り当てられる請求項2に記載の方法。
  12. さらに、前記フローのパケットが前記多段ネットワーク内の前記フロー・パスをトラバースするとき、実際のフロー・ルートをノード−バイ−ノード・ベースで決定することを含む請求項1に記載の方法。
  13. 前記実際のフロー・ルートは、前記フロー・パス内に指定されたすべてのクラスタを含まない請求項12に記載の方法。
  14. 前記実際のフロー・ルートに関係する情報が、その後に続く新しいフロー・パスの決定において使用される請求項13に記載の方法。
  15. 処理ノードのクラスタからなる多段ネットワーク内でフローのためのパスを分散された態様で決定することと、前記フロー・パスの決定を表すノード選択情報を前記多段ネットワーク内の各フローのパケット内にエンコードすること、を含む方法。
  16. 前記ノード選択情報が、前記パケット内のほかのヘッダ情報を前記ノード選択情報に置き換えることによって前記パケット内にエンコードされる請求項15に記載の方法。
  17. 前記ノード選択情報のエンコーディングに先行して存在しているオリジナルのヘッダ情報が、前記多段ネットワークのノードにおいて実行するアプリケーション・プログラムによるパケットの処理に先行して前記パケットヘッダにリストアされる請求項15に記載の方法。
  18. 前記ノード選択情報が、前記パケット内にエンコードされたフロー識別子に対するハッシュ関数の適用を基礎として作られる請求項15に記載の方法。
  19. 前記ノード選択情報が、各パケットに追加される請求項18に記載の方法。
  20. 前記ノード選択情報が、前記多段ネットワークの前記ノードにおいて実行しているアプリケーション・プログラムによるパケットの処理に先行して取り除かれる請求項19に記載の方法。
  21. 前記ノードが種々のクラスタにグループ化され、各クラスタの個別のノードが負荷バランシング評価基準に従って選択される請求項20に記載の方法。
  22. 前記負荷バランシング評価基準は、ラウンド・ロビン選択方法を含む請求項21に記載の方法。
  23. 類似のアプリケーション機能を有するノードのクラスタにノードがグループ化された多段ネットワークのノードにおいて、両方向において、全体のフローを複製することと、前記複製フローが作られたオリジナルのフローのためのオリジナルのフロー・パスとは異なり、結果として得られた複製フローのためのフロー・パスを指定すること、を含む方法。
  24. 前記複製フローが、前記複製フローと前記オリジナルのフローの両方を受信する終了ノードにおいて終了する請求項23に記載の方法。
  25. 前記終了ノードが、分析のために、前記複製フローと前記オリジナルのフローの内容を記録する請求項24に記載の方法。
  26. それぞれの物理インターフェースを介して1または複数の物理スイッチにノードが結合されている物理ネットワークにオーバーレイされる仮想接続グリッドを備え、その仮想接続グリッド内に設定された1または複数の仮想ネットワークに対する前記ノードの通信結合が提供されるように、前記仮想接続グリッドが、前記ノードの物理インターフェースにオーバーレイされる仮想インターフェースを含み、前記通信結合が、所望の接続パターンでの物理接続がエミュレートされるように構成された仮想リンクによって形成されることを特徴とするシステム。
  27. 前記ノードのそれぞれは、フロー・マネジメント決定に応じて前記パケット内に含まれる情報を修正することによって、前記仮想接続グリッド内で送信されるパケットを操作するように構成されたフロー・マネジメント・モジュールを含む請求項26に記載のシステム。
  28. 前記フロー・マネジメント決定は、1または複数の外部ネットワークに結合され、かつ前記1または複数の外部ネットワークからフローを受信する前記ノードのフロー・マネジメント・モジュールにおいて、集中化された態様で、かつ前記仮想接続グリッド内におけるフロー−バイ−フロー・ベースで行われる請求項27に記載のシステム。
  29. 前記パケットは、フロー・ルーティング決定を指定する情報を追加することによって操作される請求項28に記載のシステム。
  30. 前記パケットは、前記パケット内の以前にエンコードされた情報を、前記フロー・ルーティング決定を指定する新しい情報に置き換えることによって操作される請求項28に記載のシステム。
  31. 前記パケットは、前記パケットにネットワーク・トポロジ状態情報を追加することによって操作され、そのネットワーク・トポロジ状態情報は、前記ノードの前記通信結合を反映する請求項28に記載のシステム。
  32. 前記パケットは、認証情報を追加することによって操作される請求項28に記載のシステム。
  33. フロー・パス決定は、いずれのノードを特定のフローが実際にトラバースすることになるかについての知識なしでなされる請求項28に記載のシステム。
  34. 前記システムは、ソフトウエアがストアされた複数のスタンド−アロン汎用および/または専用コンピュータを前記ノードとして、かつ仮想ローカル・エリア・ネットワーク(VLAN)とジャンボ・フレームをサポートするローカル・エリア・ネットワーク(LAN)スイッチを前記1または複数の物理スイッチとして使用して実現される請求項26に記載のシステム。
  35. 前記ソフトウエアは、前記コンピュータに、仮想接続グリッドによって定義される多段ネットワークを通るデータ・フローの適応ルーティングを行わせるように構成されたフロー・マネジメント・ソフトウエアを含み、前記多段ネットワークの各段階は、1または複数のネットワーク・サービスを実行する類似に構成されたアプリケーションのクラスタを含む請求項34に記載のシステム。
  36. 前記コンピュータの少なくとも1つは、リソース・マネジメントとプロビジョニング・ソフトウエアをストアしており、前記コンピュータの残りのそれぞれは、前記コンピュータの残りのそれぞれに、アプリケーション需要、ネットワーク・パフォーマンス、あるいはアプリケーション応答時間によって駆動されるとおりに1または複数のネットワーク・サービスの必要容量の適応プロビジョニングを行わせるように構成されたプロビジョニング・エージェント・ソフトウエアをストアする請求項34に記載のシステム。
  37. プロビジョニングが、グラフィカル・ユーザ・インターフェースを通じた人間のインタラクションを介して、前記ノードと前記仮想インターフェースを表すアイコンを使用し、それらの間の相互接続を作成することによって行われる請求項36に記載のシステム。
  38. プロビジョニングが、プログラム・インターフェースを通じた人間のインタラクションを介して、前記ノードと前記仮想インターフェースの属性を提供するデータ・レコードを使用し、それらの間の所望の相互接続を指定することによって行われる請求項36に記載のシステム。
  39. 前記仮想接続グリッドは、1または複数のブレード・サーバを使用して実現され、前記ブレード・サーバの各ブレードは、前記ノードの1つとして供され、ソフトウエアをストアしている請求項26に記載のシステム。
  40. 前記ソフトウエアは、前記ブレードのプロセッサに、仮想接続グリッドによって定義される多段ネットワークを通るデータ・フローの適応ルーティングを行わせるように構成されたフロー・マネジメント・ソフトウエアを含み、前記多段ネットワークの各段階は、1または複数のネットワーク・サービスを実行する類似に構成されたアプリケーションのクラスタを含む請求項39に記載のシステム。
  41. 前記ブレードの少なくとも1つは、リソース・マネジメントとプロビジョニング・ソフトウエアをストアしており、前記ブレードの残りのそれぞれは、前記ブレードのプロセッサの残りのそれぞれに、アプリケーション需要、ネットワーク・パフォーマンス、あるいはアプリケーション応答時間によって駆動されるとおりに1または複数のネットワーク・サービスの必要容量の適応プロビジョニングを行わせるように構成されたプロビジョニング・エージェント・ソフトウエアをストアする請求項39に記載のシステム。
  42. プロビジョニングが、グラフィカル・ユーザ・インターフェースを通じた人間のインタラクションを介して、前記ノードと前記仮想インターフェースを表すアイコンを使用し、それらの間の相互接続を作成することによって行われる請求項41に記載のシステム。
  43. プロビジョニングが、プログラム・インターフェースを通じた人間のインタラクションを介して、前記ノードと前記仮想インターフェースの属性を提供するデータ・レコードを使用し、それらの間の所望の相互接続を指定することによって行われる請求項41に記載のシステム。
  44. 前記仮想接続グリッドは、1または複数のブレード・サーバと1または複数のスタンド−アロン汎用および/または専用コンピュータを前記ノードとして、仮想ローカル・エリア・ネットワーク(VLAN)とジャンボ・フレームをサポートする前記ブレード・サーバの外側のローカル・エリア・ネットワーク(LAN)スイッチを前記1または複数の物理スイッチとして使用することによって実現される請求項26に記載のシステム。
  45. 前記ブレードと前記コンピュータのそれぞれは、前記ブレードのプロセッサと前記コンピュータに、仮想接続グリッドによって定義される多段ネットワークを通るデータ・フローの適応ルーティングを行わせるように構成されたフロー・マネジメント・ソフトウエアをストアしており、前記多段ネットワークの各段階は、1または複数のネットワーク・サービスを実行する類似に構成されたアプリケーションのクラスタを含む請求項44に記載のシステム。
  46. 前記コンピュータまたは前記ブレードの少なくとも1つは、リソース・マネジメントとプロビジョニング・ソフトウエアをストアしており、前記コンピュータおよび/または前記ブレードの残りのそれぞれは、前記コンピュータおよび/または前記ブレードのプロセッサの残りのそれぞれに、アプリケーション需要、ネットワーク・パフォーマンス、あるいはアプリケーション応答時間によって駆動されるとおりに1または複数のネットワーク・サービスの必要容量の適応プロビジョニングを行わせるように構成されたプロビジョニング・エージェント・ソフトウエアをストアする請求項44に記載のシステム。
  47. プロビジョニングが、グラフィカル・ユーザ・インターフェースを通じた人間のインタラクションを介して、前記ノードと前記仮想インターフェースを表すアイコンを使用し、それらの間の相互接続を作成することによって行われる請求項44に記載のシステム。
  48. プロビジョニングが、プログラム・インターフェースを通じた人間のインタラクションを介して、前記ノードと前記仮想インターフェースの属性を提供するデータ・レコードを使用し、それらの間の所望の相互接続を指定することによって行われる請求項44に記載のシステム。
  49. コンピュータ・ネットワーク内の第1の数のコンピュータ・システムの間の任意の相互接続を可能にするように構成された仮想接続グリッドを設定することを含み、前記コンピュータ・システムのそれぞれが、前記物理ネットワーク・スイッチング・デバイスのポートにオーバーレイされる1または複数の仮想ネットワーク(VLAN)の構成の結果として、物理ネットワークの接続メカニズムをエミュレートする第2の数の仮想リンクを介し、1または複数の物理ネットワーク・スイッチング・デバイスのそれぞれのポートに通信結合されることを特徴とする方法。
  50. 前記仮想リンクの少なくとも1つは、前記コンピュータ・システムのうちの2つの間のポイント−ツー−ポイント接続を提供するケーブルを完全なスイッチ付き環境においてエミュレートする請求項49に記載の方法。
  51. 前記ポイント−ツー−ポイント接続は単方向である請求項50に記載の方法。
  52. 前記ポイント−ツー−ポイント接続は双方向である請求項50に記載の方法。
  53. 前記仮想リンクの少なくとも1つは、前記コンピュータ・システムのルート・コンピュータ・システムと前記コンピュータ・システムの複数のリーフ・コンピュータ・システムの間におけるポイント−ツー−マルチポイント接続を提供するケーブルを完全なスイッチ付き環境においてエミュレートする請求項49に記載の方法。
  54. 前記ポイント−ツー−マルチポイント接続は単方向である請求項53に記載の方法。
  55. 前記ポイント−ツー−マルチポイント接続は双方向である請求項54に記載の方法。
  56. 前記仮想リンクの少なくとも1つが、完全なスイッチ付き環境において、前記コンピュータ・システムの、それぞれが混交または非混交モードのいずれかで動作する複数に対するマルチ−アクセス、ブロードキャスト可能な接続を提供するハブをエミュレートする請求項49に記載の方法。
  57. 前記仮想リンクの少なくとも1つは、ユニキャスト・トラフィック分離を提供しつつ、前記コンピュータ・システムの複数に対するマルチ−アクセス、ブロードキャスト可能な接続を提供するスイッチを完全なスイッチ付き環境においてエミュレートする請求項49に記載の方法。
  58. 前記仮想リンクの少なくとも1つは、前記仮想接続グリッドの外側のネットワークと前記コンピュータ・システムの複数の間におけるトランスペアレントなブリッジ接続をエミュレートし、前記ブリッジ接続は、前記仮想接続グリッドの外側のネットワーク内のデバイスと前記コンピュータ・システムの複数の間におけるインタラクションのためのデータ・パスのトランスペアレンシーを提供する請求項49に記載の方法。
  59. 前記仮想リンクの少なくとも1つを横切る送信に先行して、パケットが、それに含まれるオリジナルのヘッダ情報が前記パケットのエンドに追加されるように修正される請求項49に記載の方法。
  60. 前記仮想リンクの少なくとも1つを横切る送信に先行して、パケットが、前記オリジナルのヘッダ情報に置き換えられる新しいヘッダ情報を有するようにさらに修正される請求項59に記載の方法。
  61. 前記新しいヘッダ情報は、前記仮想接続グリッド内における前記パケットのためのフロー・パス決定情報を含む請求項60に記載の方法。
  62. 認証情報が前記パケットに追加され、前記認証情報は、前記コンピュータ・システムのいずれが前記パケットを送信しているかを識別するように機能する請求項59に記載の方法。
  63. 前記コンピュータ・システムの1つにおける受信時に、パケットが、そのオリジナルのヘッダ情報を、前記パケットのエンドに追加された前記パケットのためのオリジナルのヘッダ情報を用いてリストアする請求項49に記載の方法。
JP2006522539A 2003-08-05 2004-05-07 適応フローベースのルーティングを使用する多段データ・ネットワークにおいて動的容量および高可用性を達成するための方法および装置 Expired - Lifetime JP4559422B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US49305403P 2003-08-05 2003-08-05
US10/692,667 US7483374B2 (en) 2003-08-05 2003-10-24 Method and apparatus for achieving dynamic capacity and high availability in multi-stage data networks using adaptive flow-based routing
PCT/US2004/014361 WO2005018175A2 (en) 2003-08-05 2004-05-07 Method and apparatus for adaptive flow-based routing in multi-stage data networks

Publications (2)

Publication Number Publication Date
JP2007501563A true JP2007501563A (ja) 2007-01-25
JP4559422B2 JP4559422B2 (ja) 2010-10-06

Family

ID=34197964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006522539A Expired - Lifetime JP4559422B2 (ja) 2003-08-05 2004-05-07 適応フローベースのルーティングを使用する多段データ・ネットワークにおいて動的容量および高可用性を達成するための方法および装置

Country Status (5)

Country Link
US (2) US7483374B2 (ja)
EP (1) EP1652357B1 (ja)
JP (1) JP4559422B2 (ja)
DE (1) DE602004010526T2 (ja)
WO (1) WO2005018175A2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013541905A (ja) * 2010-09-17 2013-11-14 オラクル・インターナショナル・コーポレイション ミドルウェアマシン環境においてイーサネット(登録商標)・オーバー・インフィニバンドの仮想ハブのスケーラビリティを提供するためのシステムおよび方法
US9219718B2 (en) 2011-06-03 2015-12-22 Oracle International Corporation System and method for supporting sub-subnet in an infiniband (IB) network
US9935848B2 (en) 2011-06-03 2018-04-03 Oracle International Corporation System and method for supporting subnet manager (SM) level robust handling of unkown management key in an infiniband (IB) network

Families Citing this family (208)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762446B1 (en) * 1999-11-02 2014-06-24 Apple Inc. Bridged distributed device control over multiple transports method and apparatus
US6553005B1 (en) * 2000-07-26 2003-04-22 Pluris, Inc. Method and apparatus for load apportionment among physical interfaces in data routers
US7454500B1 (en) 2000-09-26 2008-11-18 Foundry Networks, Inc. Global server load balancing
WO2004075582A1 (en) * 2003-02-21 2004-09-02 Nortel Networks Limited Data communication apparatus and method for establishing a codec-bypass connection
EP1667382A4 (en) * 2003-09-11 2006-10-04 Fujitsu Ltd PACKET RELAY DEVICE
US8725844B2 (en) * 2003-11-05 2014-05-13 Hewlett-Packard Development Company, L.P. Method and system for adjusting the relative value of system configuration recommendations
US7483998B2 (en) * 2003-11-14 2009-01-27 Alcatel Lucent Software configurable cluster-based router using heterogeneous nodes as cluster nodes
US8572249B2 (en) * 2003-12-10 2013-10-29 Aventail Llc Network appliance for balancing load and platform services
EP1545070A1 (en) * 2003-12-18 2005-06-22 Alcatel Network with spanning tree for guiding information
US7383461B2 (en) * 2004-02-12 2008-06-03 International Business Machines Corporation Method and system to recover a failed flash of a blade service processor in a server chassis
US8990430B2 (en) * 2004-02-19 2015-03-24 Cisco Technology, Inc. Interface bundles in virtual network devices
US8027265B2 (en) * 2004-03-19 2011-09-27 Genband Us Llc Providing a capability list of a predefined format in a communications network
US7990865B2 (en) * 2004-03-19 2011-08-02 Genband Us Llc Communicating processing capabilities along a communications path
WO2005093576A1 (en) * 2004-03-28 2005-10-06 Robert Iakobashvili Visualization of packet network performance, analysis and optimization for design
US9178784B2 (en) 2004-04-15 2015-11-03 Raytheon Company System and method for cluster management based on HPC architecture
US8335909B2 (en) 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US8336040B2 (en) 2004-04-15 2012-12-18 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US20060031444A1 (en) * 2004-05-28 2006-02-09 Drew Julie W Method for assigning network resources to applications for optimizing performance goals
WO2005122495A1 (en) * 2004-06-14 2005-12-22 Huawei Technologies Co., Ltd. A method for mbms user quantity counting
US7701973B2 (en) * 2004-06-28 2010-04-20 Intel Corporation Processing receive protocol data units
US9407643B1 (en) * 2004-08-03 2016-08-02 Spirent Communications, Inc. System and method for consolidating network streams for network analysis
US9722850B2 (en) * 2004-08-09 2017-08-01 Arris Enterprises Llc Method and system for transforming video streams using a multi-channel flow-bonded traffic stream
WO2006020559A2 (en) * 2004-08-09 2006-02-23 Arris International, Inc. Very high speed cable modem for increasing bandwidth
US7522598B2 (en) * 2004-11-23 2009-04-21 Tellabs Petaluma, Inc. System and method of protecting an IGMP proxy
DE602004023338D1 (de) * 2004-12-21 2009-11-05 Ericsson Telefon Ab L M Anordnung und verfahren in bezug auf den fluss von paketen in kommunikationssystemen
DE102004063461B4 (de) * 2004-12-23 2008-06-26 Nec Europe Ltd. Verfahren zum Suchen von Diensten, Ressourcen und/oder Funktionalitäten in einem Netzwerk
ES2333602T3 (es) * 2005-01-26 2010-02-24 Alcatel Lucent Procedimiento para establecer una llamada de emergencia en una red informatica local, terminal, pasarelas y servidor para la puesta en practica de este procedimiento.
EP1856855A1 (fr) * 2005-02-14 2007-11-21 France Telecom S.A. Procede et dispositif de gestion de flot dans un reseau de telecommunications par paquets
US7697536B2 (en) * 2005-04-01 2010-04-13 International Business Machines Corporation Network communications for operating system partitions
US8909807B2 (en) * 2005-04-07 2014-12-09 Opanga Networks, Inc. System and method for progressive download using surplus network capacity
US7979859B2 (en) * 2005-05-03 2011-07-12 International Business Machines Corporation Managing automated resource provisioning with a workload scheduler
CN101176314A (zh) * 2005-05-13 2008-05-07 奈索希埃有限公司 使呼叫发信与接收成为可能的点对点技术通信方法以及其系统
EP1732271B1 (en) * 2005-06-10 2012-02-01 ParTec Cluster Competence Center GmbH Data communication system and method with virtual ports
US7574491B2 (en) * 2005-07-29 2009-08-11 Scalent Systems Virtual data center for network resource management
US20070088828A1 (en) * 2005-10-18 2007-04-19 International Business Machines Corporation System, method and program product for executing an application
US20070101019A1 (en) * 2005-11-03 2007-05-03 Cromer Daryl C Apparatus, system, and method for managing response latency
US20080267181A1 (en) * 2005-11-08 2008-10-30 Nortel Networks Limited Selective Multicasting of Sensor Data for Reliable Delivery
CN100377549C (zh) * 2005-11-22 2008-03-26 华为技术有限公司 数据转发实体转发数据帧的方法
US7688818B2 (en) * 2005-12-20 2010-03-30 Honeywell International Inc. Apparatus and method for traffic filtering in a communication system
JP4920391B2 (ja) * 2006-01-06 2012-04-18 株式会社日立製作所 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
US8204005B2 (en) * 2006-03-09 2012-06-19 Intel Corporation Wireless communication device and method for dynamic bidirectional aggregation of MAC frames with delayed channel access in a wireless network
FI20060266A0 (fi) * 2006-03-21 2006-03-21 Nokia Corp Osoitteenselvittämismenetelmä tietoliikennejärjestelmässä
US9219686B2 (en) * 2006-03-31 2015-12-22 Alcatel Lucent Network load balancing and overload control
US20070237161A1 (en) * 2006-04-05 2007-10-11 Yokogawa Electric Corporation Multiple logical node apparatus
US20070250518A1 (en) * 2006-04-19 2007-10-25 Chu Simon C Method and system for correlating location information of a server
DE102006018281B4 (de) * 2006-04-20 2017-12-28 Merten Gmbh Verfahren zum Installieren eines Funksystems in einem Gebäude
US7660303B2 (en) 2006-08-22 2010-02-09 Corrigent Systems Ltd. Point-to-multipoint functionality in a bridged network
US20080101395A1 (en) * 2006-10-30 2008-05-01 Raytheon Company System and Method for Networking Computer Clusters
WO2008082605A1 (en) 2006-12-28 2008-07-10 Genband Inc. Methods, systems, and computer program products for silence insertion descriptor (sid) conversion
US8160061B2 (en) * 2006-12-29 2012-04-17 Raytheon Company Redundant network shared switch
US9026628B2 (en) * 2007-01-22 2015-05-05 Xerox Corporation Two-level structured overlay design for cluster management in a peer-to-peer network
US8139581B1 (en) 2007-04-19 2012-03-20 Owl Computing Technologies, Inc. Concurrent data transfer involving two or more transport layer protocols over a single one-way data link
US7941526B1 (en) 2007-04-19 2011-05-10 Owl Computing Technologies, Inc. Transmission of syslog messages over a one-way data link
US8717885B2 (en) 2007-04-26 2014-05-06 Mushroom Networks, Inc. Link aggregation methods and devices
US7948874B2 (en) * 2007-05-24 2011-05-24 World Wide Packets, Inc. Transitioning a virtual interface from one tunnel to another tunnel
US7860116B2 (en) * 2007-05-24 2010-12-28 Worldwide Packets, Inc. Processing packets of a virtual interface associated with tunnels
US10225389B2 (en) * 2007-06-29 2019-03-05 Nokia Technologies Oy Communication channel indicators
US8898331B2 (en) * 2007-07-09 2014-11-25 Hewlett-Packard Development Company, L.P. Method, network and computer program for processing a content request
US7793032B2 (en) * 2007-07-11 2010-09-07 Commex Technologies, Ltd. Systems and methods for efficient handling of data traffic and processing within a processing device
US8615008B2 (en) 2007-07-11 2013-12-24 Foundry Networks Llc Duplicating network traffic through transparent VLAN flooding
US7792059B2 (en) * 2007-09-04 2010-09-07 Motorola, Inc. Method and system for transitioning between a distributed ad hoc network architecture and a cluster ad hoc network architecture
US8023434B2 (en) * 2007-09-18 2011-09-20 International Business Machines Corporation Arrangements for auto-merging and auto-partitioning processing components
US8161393B2 (en) * 2007-09-18 2012-04-17 International Business Machines Corporation Arrangements for managing processing components using a graphical user interface
US8248928B1 (en) * 2007-10-09 2012-08-21 Foundry Networks, Llc Monitoring server load balancing
JP2009199433A (ja) * 2008-02-22 2009-09-03 Fujitsu Ltd ネットワーク処理装置およびネットワーク処理プログラム
US8953629B2 (en) * 2008-02-26 2015-02-10 Cisco Technology, Inc. Blade router with NAT support
US7958184B2 (en) * 2008-03-04 2011-06-07 International Business Machines Corporation Network virtualization in a multi-node system with multiple networks
US8223669B2 (en) * 2008-04-07 2012-07-17 Futurewei Technologies, Inc. Multi-protocol label switching multi-topology support
US8996683B2 (en) * 2008-06-09 2015-03-31 Microsoft Technology Licensing, Llc Data center without structural bottlenecks
JP5429179B2 (ja) * 2008-10-02 2014-02-26 日本電気株式会社 ネットワークノードおよびその負荷分散方法
US8503300B2 (en) * 2008-10-17 2013-08-06 Verizon Patent And Licensing Inc. Efficient messaging over internet protocol
US20100131959A1 (en) * 2008-11-26 2010-05-27 Spiers Adam Z Proactive application workload management
WO2010066430A1 (en) * 2008-12-10 2010-06-17 Nec Europe Ltd. A method for operating at least one virtual network on a substrate network and a virtual network environment
US8051167B2 (en) * 2009-02-13 2011-11-01 Alcatel Lucent Optimized mirror for content identification
US8184627B2 (en) * 2009-03-02 2012-05-22 New Jersey Institute Of Technology Point-to-multipoint (P2MP) network resource management
US7787480B1 (en) * 2009-03-04 2010-08-31 Juniper Networks, Inc. Routing frames in a trill network using service VLAN identifiers
US20110004597A1 (en) * 2009-03-16 2011-01-06 Yehiel Engel System and method for content aware routing of data within a platform hub
US8121119B2 (en) * 2009-04-06 2012-02-21 New Jersey Institute Of Technology Point-to multipoint (P2MP) network resource management
US9258361B2 (en) * 2009-04-08 2016-02-09 New Jersey Institute Of Technology Transferring data among nodes on a network
US8908541B2 (en) 2009-08-04 2014-12-09 Genband Us Llc Methods, systems, and computer readable media for intelligent optimization of digital signal processor (DSP) resource utilization in a media gateway
US8824284B2 (en) * 2009-08-27 2014-09-02 Broadcom Corporation Dynamic load balancing using virtual link credit accounting
US8095684B2 (en) * 2009-09-15 2012-01-10 Symantec Corporation Intelligent device and media server selection for optimized backup image duplication
US9338075B2 (en) * 2009-10-09 2016-05-10 Nec Europe Ltd. Method for monitoring traffic in a network and a network
KR101350333B1 (ko) * 2009-11-03 2014-01-10 한국전자통신연구원 대규모 트래픽을 처리하는 온라인 서버 테스트를 위한 네트워크 에뮬레이션 시스템 및 방법
US8630882B2 (en) * 2010-01-13 2014-01-14 International Business Machines Corporation Implementing an optimal intelligent enterprise architecture via virtualization, information intelligence, social computing and green environmental considerations
JP5506444B2 (ja) * 2010-02-18 2014-05-28 株式会社日立製作所 情報システム、装置および方法
CN101800707B (zh) 2010-04-22 2011-12-28 华为技术有限公司 建立流转发表项的方法及数据通信设备
WO2011144871A1 (fr) * 2010-05-20 2011-11-24 France Telecom Procede de routage a etats de liens pour router des flux de donnees dans un reseau maille comprenant des nœuds relies par des liens a trois etats
CN102271080B (zh) * 2010-06-03 2015-04-29 杭州华三通信技术有限公司 防止bgp会话在业务变更时断开的方法及其适用的系统
US9002911B2 (en) 2010-07-30 2015-04-07 International Business Machines Corporation Fileset masks to cluster inodes for efficient fileset management
US8406233B2 (en) * 2010-09-07 2013-03-26 Check Point Software Technologies Ltd. Predictive synchronization for clustered devices
US8756329B2 (en) 2010-09-15 2014-06-17 Oracle International Corporation System and method for parallel multiplexing between servers in a cluster
US9185054B2 (en) 2010-09-15 2015-11-10 Oracle International Corporation System and method for providing zero buffer copying in a middleware machine environment
US8681740B2 (en) * 2010-12-21 2014-03-25 Tektronix, Inc. LTE network call correlation during User Equipment mobility
CN203504582U (zh) 2011-02-21 2014-03-26 康宁光缆系统有限责任公司 一种分布式天线系统及用于在其中分配电力的电源装置
US9306766B2 (en) 2011-03-28 2016-04-05 Honeywell International Inc. Versatile source port enforcement for data networks
CN103688492B (zh) * 2011-03-31 2017-05-24 北京新岸线移动多媒体技术有限公司 业务流删除方法及装置
US9178717B1 (en) * 2011-04-07 2015-11-03 Adtran, Inc. Systems and methods for enabling leaf isolation in a multi-node tree network
US8990824B2 (en) 2011-04-28 2015-03-24 Dell Products L.P. System and method for automated virtual network configuration
US8612738B2 (en) 2011-04-28 2013-12-17 Dell Products L.P. System and method for automated network configuration
US9251481B2 (en) * 2011-06-13 2016-02-02 Accenture Global Services Limited Distributed metering and monitoring system
US8635185B2 (en) 2011-06-27 2014-01-21 Oracle International Corporation System and method for providing session affinity in a clustered database environment
US8989280B2 (en) * 2011-06-30 2015-03-24 Cable Television Laboratories, Inc. Frame identification
US8665884B2 (en) 2011-08-25 2014-03-04 Honeywell International Inc. Embedded end-to-end delay information for data networks
US9264432B1 (en) 2011-09-22 2016-02-16 F5 Networks, Inc. Automatic proxy device configuration
US9252903B2 (en) * 2011-10-21 2016-02-02 Cortina Systems, Inc. System and method for accounting for time that a packet spends in transit through a transparent clock
US9237107B2 (en) 2011-11-15 2016-01-12 New Jersey Institute Of Technology Fair quantized congestion notification (FQCN) to mitigate transport control protocol (TCP) throughput collapse in data center networks
US8955097B2 (en) * 2011-12-13 2015-02-10 Mcafee, Inc. Timing management in a large firewall cluster
US9935901B2 (en) * 2011-12-30 2018-04-03 Dell Products, Lp System and method of enabling a multi-chassis virtual switch for virtual server network provisioning
US9167006B1 (en) 2012-02-21 2015-10-20 F5 Networks, Inc. Connection bucketing in mirroring asymmetric clustered multiprocessor systems
US9286444B2 (en) * 2012-02-28 2016-03-15 Verizon Patent And Licensing Inc. Next generation secure gateway
US8638659B2 (en) * 2012-06-01 2014-01-28 Telefonaktiebolaget L M Ericsson (Publ) Enhancements to PIM fast re-route with downstream notification packets
US9628285B2 (en) 2012-06-01 2017-04-18 Telefonaktiebolaget L M Ericsson (Publ) Increasing failure coverage of MoFRR with dataplane notifications
US8824276B2 (en) 2012-06-01 2014-09-02 Telefonaktiebolaget L M Ericsson (Publ) Increasing failure coverage of MOFRR with dataplane notifications
US8913482B2 (en) 2012-06-01 2014-12-16 Telefonaktiebolaget L M Ericsson (Publ) Enhancements to PIM fast re-route with upstream activation packets
US9401963B2 (en) 2012-06-04 2016-07-26 Oracle International Corporation System and method for supporting reliable connection (RC) based subnet administrator (SA) access in an engineered system for middleware and application execution
US9262155B2 (en) 2012-06-04 2016-02-16 Oracle International Corporation System and method for supporting in-band/side-band firmware upgrade of input/output (I/O) devices in a middleware machine environment
US9100329B1 (en) * 2012-06-28 2015-08-04 Juniper Networks, Inc. Providing non-interrupt failover using a link aggregation mechanism
US20140040477A1 (en) * 2012-07-31 2014-02-06 F5 Networks, Inc. Connection mesh in mirroring asymmetric clustered multiprocessor systems
US9331940B2 (en) * 2012-08-28 2016-05-03 Alcatel Lucent System and method providing distributed virtual routing and switching (DVRS)
US10171540B2 (en) * 2012-09-07 2019-01-01 High Sec Labs Ltd Method and apparatus for streaming video security
US10454997B2 (en) * 2012-09-07 2019-10-22 Avigilon Corporation Distributed physical security system
US9547858B2 (en) 2012-11-28 2017-01-17 Bank Of America Corporation Real-time multi master transaction
US10826982B2 (en) 2013-01-10 2020-11-03 Nxp Usa, Inc. Packet processing architecture and method therefor
US9141487B2 (en) 2013-01-15 2015-09-22 Microsoft Technology Licensing, Llc Healing cloud services during upgrades
US9231859B2 (en) * 2013-02-28 2016-01-05 Dell Products L.P. System and method for ingress port identification in aggregate switches
US9516102B2 (en) 2013-03-07 2016-12-06 F5 Networks, Inc. Server to client reverse persistence
US9225638B2 (en) 2013-05-09 2015-12-29 Vmware, Inc. Method and system for service switching using service tags
US10079766B2 (en) 2013-05-21 2018-09-18 Telefonaktiebolaget Lm Ericsson (Publ) Methods and packet network devices for forwarding packet data traffic
JP2014236441A (ja) * 2013-06-04 2014-12-15 ソニー株式会社 制御装置、および制御方法
US9344336B2 (en) * 2013-10-15 2016-05-17 Dell Products L.P. System and method for managing virtual link state
US9525638B2 (en) * 2013-10-15 2016-12-20 Internap Corporation Routing system for internet traffic
US9565138B2 (en) 2013-12-20 2017-02-07 Brocade Communications Systems, Inc. Rule-based network traffic interception and distribution scheme
US9397957B2 (en) 2013-12-23 2016-07-19 Google Inc. Traffic engineering for large scale data center networks
US9648542B2 (en) 2014-01-28 2017-05-09 Brocade Communications Systems, Inc. Session-based packet routing for facilitating analytics
US9331951B2 (en) * 2014-03-25 2016-05-03 Telefonaktiebolaget L M Ericsson (Publ) Path discovery in data transport networks based on statistical inference
US9866487B2 (en) 2014-06-05 2018-01-09 KEMP Technologies Inc. Adaptive load balancer and methods for intelligent data traffic steering
US9917781B2 (en) 2014-06-05 2018-03-13 KEMP Technologies Inc. Methods for intelligent data traffic steering
US9881071B2 (en) 2014-06-10 2018-01-30 Red Hat, Inc. Transport layer abstraction for clustering implementation
US9686237B2 (en) 2014-08-19 2017-06-20 International Business Machines Corporation Secure communication channel using a blade server
US9729439B2 (en) * 2014-09-26 2017-08-08 128 Technology, Inc. Network packet flow controller
US9774537B2 (en) * 2014-09-30 2017-09-26 Nicira, Inc. Dynamically adjusting load balancing
US9825810B2 (en) 2014-09-30 2017-11-21 Nicira, Inc. Method and apparatus for distributing load among a plurality of service nodes
US11496606B2 (en) 2014-09-30 2022-11-08 Nicira, Inc. Sticky service sessions in a datacenter
EP3219058B1 (en) * 2014-11-14 2020-11-18 Nicira Inc. Stateful services on stateless clustered edge
US9866473B2 (en) * 2014-11-14 2018-01-09 Nicira, Inc. Stateful services on stateless clustered edge
US10044617B2 (en) 2014-11-14 2018-08-07 Nicira, Inc. Stateful services on stateless clustered edge
US11533255B2 (en) 2014-11-14 2022-12-20 Nicira, Inc. Stateful services on stateless clustered edge
US9876714B2 (en) * 2014-11-14 2018-01-23 Nicira, Inc. Stateful services on stateless clustered edge
US9667497B2 (en) * 2015-01-06 2017-05-30 Dell Products L.P. Virtual controller group management system
US10911353B2 (en) 2015-06-17 2021-02-02 Extreme Networks, Inc. Architecture for a network visibility system
US9866478B2 (en) 2015-03-23 2018-01-09 Extreme Networks, Inc. Techniques for user-defined tagging of traffic in a network visibility system
US10771475B2 (en) 2015-03-23 2020-09-08 Extreme Networks, Inc. Techniques for exchanging control and configuration information in a network visibility system
US10129088B2 (en) 2015-06-17 2018-11-13 Extreme Networks, Inc. Configuration of rules in a network visibility system
US10594743B2 (en) 2015-04-03 2020-03-17 Nicira, Inc. Method, apparatus, and system for implementing a content switch
US10756984B2 (en) * 2015-04-13 2020-08-25 Wirepath Home Systems, Llc Method and apparatus for creating and managing network device port VLAN configurations
US10530688B2 (en) 2015-06-17 2020-01-07 Extreme Networks, Inc. Configuration of load-sharing components of a network visibility router in a network visibility system
US10057126B2 (en) 2015-06-17 2018-08-21 Extreme Networks, Inc. Configuration of a network visibility system
US9667606B2 (en) 2015-07-01 2017-05-30 Cyphermatrix, Inc. Systems, methods and computer readable medium to implement secured computational infrastructure for cloud and data center environments
US10057174B2 (en) 2015-08-14 2018-08-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Dynamic group multipathing
US9723106B2 (en) * 2015-08-28 2017-08-01 Cisco Technology, Inc. Service function chaining branching
US10404791B2 (en) 2015-12-04 2019-09-03 Microsoft Technology Licensing, Llc State-aware load balancing of application servers
CN105743734B (zh) * 2016-01-22 2019-02-01 北京航空航天大学 虚拟机镜像流量传输的控制方法和装置
US10243813B2 (en) 2016-02-12 2019-03-26 Extreme Networks, Inc. Software-based packet broker
US10999200B2 (en) 2016-03-24 2021-05-04 Extreme Networks, Inc. Offline, intelligent load balancing of SCTP traffic
US10171350B2 (en) 2016-04-27 2019-01-01 Cisco Technology, Inc. Generating packets in a reverse direction of a service function chain
FI127335B (en) * 2016-05-27 2018-04-13 Cysec Ice Wall Oy Logging of telecommunications on a computer network
US10567259B2 (en) 2016-10-19 2020-02-18 Extreme Networks, Inc. Smart filter generator
US10389594B2 (en) * 2017-03-16 2019-08-20 Cisco Technology, Inc. Assuring policy impact before application of policy on current flowing traffic
US10552282B2 (en) * 2017-03-27 2020-02-04 International Business Machines Corporation On demand monitoring mechanism to identify root cause of operation problems
US11296984B2 (en) 2017-07-31 2022-04-05 Nicira, Inc. Use of hypervisor for active-active stateful network service cluster
US11570092B2 (en) 2017-07-31 2023-01-31 Nicira, Inc. Methods for active-active stateful network service cluster
US10951584B2 (en) 2017-07-31 2021-03-16 Nicira, Inc. Methods for active-active stateful network service cluster
US10516619B2 (en) * 2017-09-25 2019-12-24 Hewlett Packard Enterprise Development Lp TCP window sizing
US10686734B2 (en) * 2017-09-26 2020-06-16 Hewlett Packard Enterprise Development Lp Network switch with interconnected member nodes
US10797966B2 (en) 2017-10-29 2020-10-06 Nicira, Inc. Service operation chaining
US11012420B2 (en) 2017-11-15 2021-05-18 Nicira, Inc. Third-party service chaining using packet encapsulation in a flow-based forwarding element
US10797910B2 (en) 2018-01-26 2020-10-06 Nicira, Inc. Specifying and utilizing paths through a network
US10659252B2 (en) 2018-01-26 2020-05-19 Nicira, Inc Specifying and utilizing paths through a network
US20190253341A1 (en) * 2018-02-15 2019-08-15 128 Technology, Inc. Service Related Routing Method and Apparatus
US11153122B2 (en) 2018-02-19 2021-10-19 Nicira, Inc. Providing stateful services deployed in redundant gateways connected to asymmetric network
US10805192B2 (en) 2018-03-27 2020-10-13 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages
US10728174B2 (en) 2018-03-27 2020-07-28 Nicira, Inc. Incorporating layer 2 service between two interfaces of gateway device
CN110417924B (zh) * 2018-04-28 2021-10-01 华为技术有限公司 分布式设备中的报文处理方法和分布式设备
US10944673B2 (en) 2018-09-02 2021-03-09 Vmware, Inc. Redirection of data messages at logical network gateway
US11595250B2 (en) 2018-09-02 2023-02-28 Vmware, Inc. Service insertion at logical network gateway
EP3884620A1 (en) 2018-11-21 2021-09-29 Telefonaktiebolaget LM Ericsson (publ) Fast session restoration for latency sensitive middleboxes
US11360796B2 (en) 2019-02-22 2022-06-14 Vmware, Inc. Distributed forwarding for performing service chain operations
EP3942749A4 (en) 2019-05-23 2023-06-07 Hewlett Packard Enterprise Development LP OPTIMIZED ADAPTIVE ROUTING TO REDUCE THE NUMBER OF JUMPS
US11683308B2 (en) * 2019-06-06 2023-06-20 Cisco Technology, Inc. Systems and methods for generating contextual labels
US11140218B2 (en) 2019-10-30 2021-10-05 Vmware, Inc. Distributed service chain across multiple clouds
US11283717B2 (en) 2019-10-30 2022-03-22 Vmware, Inc. Distributed fault tolerant service chain
CN111049747B (zh) * 2019-12-18 2022-01-04 北京计算机技术及应用研究所 一种面向大规模容器集群的智能虚拟网络路径规划方法
US11223494B2 (en) 2020-01-13 2022-01-11 Vmware, Inc. Service insertion for multicast traffic at boundary
US11659061B2 (en) 2020-01-20 2023-05-23 Vmware, Inc. Method of adjusting service function chains to improve network performance
US11153406B2 (en) 2020-01-20 2021-10-19 Vmware, Inc. Method of network performance visualization of service function chains
US11929987B1 (en) * 2020-02-25 2024-03-12 Juniper Networks, Inc. Preserving packet flow information across bump-in-the-wire firewalls
US11438257B2 (en) 2020-04-06 2022-09-06 Vmware, Inc. Generating forward and reverse direction connection-tracking records for service paths at a network edge
EP4140106A1 (en) 2020-04-23 2023-03-01 Juniper Networks, Inc. Session monitoring using metrics of session establishment
US11671371B2 (en) * 2020-07-29 2023-06-06 Musarubra Us Llc Synchronization of multi-stack nodes
US11558759B2 (en) * 2020-10-28 2023-01-17 Hewlett Packard Enterprise Development Lp Systems and methods for minimizing latency and contention using QoS frame scheduling information
US11611625B2 (en) 2020-12-15 2023-03-21 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11734043B2 (en) 2020-12-15 2023-08-22 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US20230106531A1 (en) * 2021-10-04 2023-04-06 Juniper Networks, Inc. Virtual network routers for cloud native software-defined network architectures
US11968215B2 (en) 2021-12-16 2024-04-23 Bank Of America Corporation Distributed sensor grid for intelligent proximity-based clustering and authentication
US11799761B2 (en) 2022-01-07 2023-10-24 Vmware, Inc. Scaling edge services with minimal disruption
US11962564B2 (en) 2022-02-15 2024-04-16 VMware LLC Anycast address for network address translation at edge
CN117439960B (zh) * 2023-12-21 2024-04-12 井芯微电子技术(天津)有限公司 支持接口复用和兼容虚拟网络互联的接口管理方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0936910A (ja) * 1995-07-10 1997-02-07 Internatl Business Mach Corp <Ibm> パケット通信ネットワークにおける経路指定の管理
JP2001036581A (ja) * 1999-07-23 2001-02-09 Nippon Telegr & Teleph Corp <Ntt> 通信帯域設定システムと方法
JP2001298482A (ja) * 2000-04-13 2001-10-26 Nec Corp 分散型障害回復装置及びシステムと方法並びに記録媒体
JP2003218914A (ja) * 2002-01-18 2003-07-31 Fujitsu Ltd 伝送装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69331054T2 (de) * 1993-07-30 2002-06-20 Ibm Verfahren und Gerät zur automatischen Verteilung einer Netztopologie in Haupt- und Nebentopologie
US5495426A (en) 1994-01-26 1996-02-27 Waclawsky; John G. Inband directed routing for load balancing and load distribution in a data communication network
US5613069A (en) 1994-12-16 1997-03-18 Tony Walker Non-blocking packet switching network with dynamic routing codes having incoming packets diverted and temporarily stored in processor inputs when network ouput is not available
US5550816A (en) * 1994-12-29 1996-08-27 Storage Technology Corporation Method and apparatus for virtual switching
US6085238A (en) * 1996-04-23 2000-07-04 Matsushita Electric Works, Ltd. Virtual LAN system
US5864535A (en) 1996-09-18 1999-01-26 International Business Machines Corporation Network server having dynamic load balancing of messages in both inbound and outbound directions
US6424992B2 (en) 1996-12-23 2002-07-23 International Business Machines Corporation Affinity-based router and routing method
US6363077B1 (en) 1998-02-13 2002-03-26 Broadcom Corporation Load balancing in link aggregation and trunking
US6580721B1 (en) 1998-08-11 2003-06-17 Nortel Networks Limited Routing and rate control in a universal transfer mode network
US6272522B1 (en) 1998-11-17 2001-08-07 Sun Microsystems, Incorporated Computer data packet switching and load balancing system using a general-purpose multiprocessor architecture
US6751191B1 (en) 1999-06-29 2004-06-15 Cisco Technology, Inc. Load sharing and redundancy scheme
US7340532B2 (en) 2000-03-10 2008-03-04 Akamai Technologies, Inc. Load balancing array packet routing system
US6742044B1 (en) 2000-05-10 2004-05-25 Cisco Technology, Inc. Distributed network traffic load balancing technique implemented without gateway router
EP1164754B1 (en) * 2000-06-15 2006-05-17 Telefonaktiebolaget LM Ericsson (publ) Methods and arrangements in a telecommunications system
US20020174246A1 (en) * 2000-09-13 2002-11-21 Amos Tanay Centralized system for routing signals over an internet protocol network
KR100657120B1 (ko) 2000-11-04 2006-12-12 주식회사 케이티 패킷 망에서 트래픽부하 분산을 위한 라우팅방법
US6894991B2 (en) 2000-11-30 2005-05-17 Verizon Laboratories Inc. Integrated method for performing scheduling, routing and access control in a computer network
US20020124104A1 (en) * 2001-03-01 2002-09-05 Yigal Rappaport Network element and a method for preventing a disorder of a sequence of data packets traversing the network
US20020176359A1 (en) 2001-05-08 2002-11-28 Sanja Durinovic-Johri Apparatus for load balancing in routers of a network using overflow paths
TW519619B (en) * 2001-05-23 2003-02-01 Lite On It Corp Method for determining rotating speed of compact disc player by system detection
JP2003023444A (ja) 2001-07-06 2003-01-24 Fujitsu Ltd 仮想ルータを利用した動的な負荷分散システム
US7111074B2 (en) 2001-07-24 2006-09-19 Pluris, Inc. Control method for data path load-balancing on a data packet network
US7151744B2 (en) 2001-09-21 2006-12-19 Slt Logic Llc Multi-service queuing method and apparatus that provides exhaustive arbitration, load balancing, and support for rapid port failover
US20030128668A1 (en) * 2002-01-04 2003-07-10 Yavatkar Rajendra S. Distributed implementation of control protocols in routers and switches
US6741595B2 (en) * 2002-06-11 2004-05-25 Netrake Corporation Device for enabling trap and trace of internet protocol communications
US7243351B2 (en) * 2002-12-17 2007-07-10 International Business Machines Corporation System and method for task scheduling based upon the classification value and probability
US7283465B2 (en) * 2003-01-07 2007-10-16 Corrigent Systems Ltd. Hierarchical virtual private LAN service protection scheme

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0936910A (ja) * 1995-07-10 1997-02-07 Internatl Business Mach Corp <Ibm> パケット通信ネットワークにおける経路指定の管理
JP2001036581A (ja) * 1999-07-23 2001-02-09 Nippon Telegr & Teleph Corp <Ntt> 通信帯域設定システムと方法
JP2001298482A (ja) * 2000-04-13 2001-10-26 Nec Corp 分散型障害回復装置及びシステムと方法並びに記録媒体
JP2003218914A (ja) * 2002-01-18 2003-07-31 Fujitsu Ltd 伝送装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013541905A (ja) * 2010-09-17 2013-11-14 オラクル・インターナショナル・コーポレイション ミドルウェアマシン環境においてイーサネット(登録商標)・オーバー・インフィニバンドの仮想ハブのスケーラビリティを提供するためのシステムおよび方法
US9455898B2 (en) 2010-09-17 2016-09-27 Oracle International Corporation System and method for facilitating protection against run-away subnet manager instances in a middleware machine environment
US9614746B2 (en) 2010-09-17 2017-04-04 Oracle International Corporation System and method for providing ethernet over network virtual hub scalability in a middleware machine environment
US9906429B2 (en) 2010-09-17 2018-02-27 Oracle International Corporation Performing partial subnet initialization in a middleware machine environment
US10630570B2 (en) 2010-09-17 2020-04-21 Oracle International Corporation System and method for supporting well defined subnet topology in a middleware machine environment
US9219718B2 (en) 2011-06-03 2015-12-22 Oracle International Corporation System and method for supporting sub-subnet in an infiniband (IB) network
US9240981B2 (en) 2011-06-03 2016-01-19 Oracle International Corporation System and method for authenticating identity of discovered component in an infiniband (IB) network
US9900293B2 (en) 2011-06-03 2018-02-20 Oracle International Corporation System and method for supporting automatic disabling of degraded links in an infiniband (IB) network
US9930018B2 (en) 2011-06-03 2018-03-27 Oracle International Corporation System and method for providing source ID spoof protection in an infiniband (IB) network
US9935848B2 (en) 2011-06-03 2018-04-03 Oracle International Corporation System and method for supporting subnet manager (SM) level robust handling of unkown management key in an infiniband (IB) network
US10063544B2 (en) 2011-06-03 2018-08-28 Oracle International Corporation System and method for supporting consistent handling of internal ID spaces for different partitions in an infiniband (IB) network

Also Published As

Publication number Publication date
US20050091396A1 (en) 2005-04-28
US20090097406A1 (en) 2009-04-16
US7483374B2 (en) 2009-01-27
WO2005018175A2 (en) 2005-02-24
WO2005018175A3 (en) 2005-08-04
DE602004010526D1 (de) 2008-01-17
EP1652357B1 (en) 2007-12-05
EP1652357A2 (en) 2006-05-03
JP4559422B2 (ja) 2010-10-06
US7724670B2 (en) 2010-05-25
DE602004010526T2 (de) 2009-01-15

Similar Documents

Publication Publication Date Title
JP4559422B2 (ja) 適応フローベースのルーティングを使用する多段データ・ネットワークにおいて動的容量および高可用性を達成するための方法および装置
CN114073052B (zh) 用于基于切片的路由的系统、方法及计算机可读介质
Mendiola et al. A survey on the contributions of software-defined networking to traffic engineering
Zhu et al. Cabernet: Connectivity architecture for better network services
US11558293B2 (en) Network controller subclusters for distributed compute deployments
EP1890438A1 (en) Method and apparatus for achieving dynamic capacity and high availability in multi-stage data networks using adaptive flow-based routing
EP2911348B1 (en) Control device discovery in networks having separate control and forwarding devices
Sharma et al. Viking: A multi-spanning-tree Ethernet architecture for metropolitan area and cluster networks
EP1721424B1 (en) Interface bundles in virtual network devices
US7835303B2 (en) Packet-switched network topology tracking method and system
EP2774047B1 (en) Control and provisioning in a data center network with at least one central controller
US20030046390A1 (en) Systems and methods for construction multi-layer topological models of computer networks
Kanagevlu et al. SDN controlled local re-routing to reduce congestion in cloud data center
KR20120036903A (ko) 링크 애그리게이션 방법 및 노드
Van Asten et al. Scalability and resilience of software-defined networking: An overview
WO2013020459A1 (zh) 分布式集群处理系统及其报文处理方法
WO2001086844A1 (en) Systems and methods for constructing multi-layer topological models of computer networks
US8625407B2 (en) Highly available virtual packet network device
Vdovin et al. Network utilization optimizer for SD-WAN
Greenberg et al. Refactoring network control and management: A case for the 4D architecture
WO2022012145A1 (zh) 一种负载均衡方法、装置和系统
Abdullahi et al. A review of scalability issues in software-defined exchange point (SDX) approaches: state-of-the-art
Sudarshan et al. Review of protocols used in enterprise networks
Sankari et al. Network traffic analysis of cloud data centre
Amiri et al. Loop Free Clusters in Layer 2 Hybrid Software Defined Networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091215

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: 20100720

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100722

R150 Certificate of patent or registration of utility model

Ref document number: 4559422

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250