(57)【要約】直列クラスタリングの開示の要約  直列クラスタリングは、ローカルおよび／または広域ネットワークを介して直列に接続された二つまたはそれ以上のネットワークデバイスを用いて、ネットワークトラフィックが単一のネットワークデバイスの処理能力を超える場合に、追加の容量を提供する。最初のネットワークデバイスがその容量限界に達した場合は、その限界を超える任意の超過のネットワークトラフィックを、変更することなく最初のネットワークデバイスを通過させる。最初のネットワークデバイスに直列に接続されたネットワークデバイスが、もしそれに十分な処理容量があれば、超過のネットワークトラフィックをインターセプトしかつ処理することになる。追加のネットワークデバイスは、超過のネットワークトラフィックの全てを処理するまで、または追加のネットワークデバイスがこれ以上なくなるまで、同様の方法で残りのネットワークトラフィックを処理することができる。ネットワークデバイスは、ネットワークトラフィックを扱う方法を決定するルールを用いることができる。ルールは、受信したネットワークパケットの属性、ネットワークデバイスの属性、またはネットワークの属性に基づくことができる。2009504022.tif 000003
2009504022.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークパケットを受信することに適したロジックと、
ネットワークパケットに関連するネットワークトラフィックを処理するためにデバイスが十分な処理容量を有するかどうかを判定することに適したロジックと、
ネットワークパケットを受理するべきか、または通過させるべきかを判定するために適した少なくとも一つのルールを用いて、ネットワークパケットを評価することに適したロジックと、
デバイスが関連するネットワークトラフィックを処理する十分な処理容量を有しない、という判定に応じて、ネットワークパケットを追加のデバイスへ転送することに適したロジックと、
ネットワークパケットを通過させる、という判定をするルールの評価に応じて、ネットワークパケットを追加のデバイスへ転送することに適したロジックと、
デバイスが関連するネットワークトラフィックを処理する十分な処理容量を有するという判定に応じて、およびネットワークパケットを受理することを判定するルールの評価に応じて、ネットワークパケットを受理することに適したロジックとを含む、
データネットワークを介して接続されている、追加のデバイスと併せてネットワークトラフィックを処理することに適した、デバイス。
【請求項２】
ネットワークパケットを受信することに適したロジックが、送信元と送信先間のデータネットワーク上のネットワークパケットをインターセプトすることに適したロジックを含む、請求項1記載のデバイス。
【請求項３】
ネットワークパケットに関連するネットワークトラフィックが少なくとも一つのネットワーク接続を含む、請求項1記載のデバイス。
【請求項４】
ネットワーク接続がTCP接続である、請求項3記載のデバイス。
【請求項５】
ネットワークパケットが、ネットワーク接続を開始する要求を含む、請求項3記載のデバイス。
【請求項６】
デバイスが以前にそのネットワーク接続を受理している場合には、ルールがネットワークパケットを受理するように適したロジックを含む、請求項3記載のデバイス。
【請求項７】
追加のデバイスが以前にそのネットワーク接続を受理している場合には、ルールがネットワークパケットを通過させるように適したロジックを含む、請求項3記載のデバイス。
【請求項８】
ネットワークパケットが追加のデバイスに関連する自動検知情報を含み、かつデバイスおよび追加のデバイスが直列クラスタの一部である場合には、ルールがそのネットワークパケットを通過させるように適したロジックを含む、請求項1記載のデバイス。
【請求項９】
ルールがネットワークパケットを評価する基準を含む、請求項1記載のデバイス。
【請求項１０】
基準がネットワークパケットを受理する条件を指定する、請求項9記載のデバイス。
【請求項１１】
基準がネットワークパケットを通過させる条件を指定する、請求項9記載のデバイス。
【請求項１２】
基準がネットワークパケットの特性に基づく、請求項9記載のデバイス。
【請求項１３】
基準がデバイスの特性に基づく、請求項9記載のデバイス。
【請求項１４】
ネットワークパケットがデバイスに関連したネットワークエンティティー宛である場合には、ルールがそのネットワークパケットを受理するように適したロジックを含む、請求項1記載のデバイス。
【請求項１５】
ネットワークエンティティーがクライアントコンピュータである、請求項14記載のデバイス。
【請求項１６】
ネットワークエンティティーがサーバコンピュータである、請求項14記載のデバイス。
【請求項１７】
ネットワークエンティティーが、ローカルデータネットワーク接続を介してデバイスと接続されている、請求項14記載のデバイス。
【請求項１８】
デバイスの処理容量がネットワーク接続の最大数を含む、請求項1記載のデバイス。
【請求項１９】
デバイスの処理容量がデバイスの最大帯域幅を含む、請求項1記載のデバイス。
【請求項２０】
デバイスが、直列クラスタ中で追加のデバイスと共に作動するように構成される、請求項1記載のデバイス。
【請求項２１】
デバイスが、ローカルデータネットワークを介して追加のデバイスに接続されるのに適している、請求項20記載のデバイス。
【請求項２２】
デバイスが、広域データネットワークを介して追加のネットワークに接続されるのに適している、請求項1記載のデバイス。
【請求項２３】
ネットワークデバイスによってネットワークパケットを受信する工程と、
ネットワークパケットがネットワーク接続を開始しているかどうかを判定する工程と、
ネットワークパケットがネットワーク接続を開始しているという判定に応じて、ネットワークパケットに合致するルールを同定する工程と、
ネットワークパケットに合致するルールに応じて、ネットワークパケットに関する同定されたルールを評価して、ネットワークパケットを受理するべきか通過させるべきかを判定する工程と、
ネットワークパケットを受理するべきであることを示すルールに応じて、ネットワークパケットおよび関連するネットワーク接続を扱う十分な処理容量があるかどうかを判定する工程と、
いかなるルールとも合致しないネットワークパケットに応じて、ネットワークパケットおよび関連するネットワーク接続を扱う十分な処理容量があるかどうかを判定する工程と、
ネットワークパケットを扱う十分な処理容量があるという判定に応じて、ネットワークパケットを受理する工程と、
ネットワークパケットを通過させるべきであることを示すルールに応じて、ネットワークパケットを通過させる工程と、
十分な処理容量がないという判定に応じて、ネットワークパケットを通過させる工程とを含む、
ネットワークトラフィックを処理する方法。
【請求項２４】
ネットワークパケットが以前に受理したネットワーク接続に関連しているかどうかを判定する工程と、
ネットワークパケットが以前に受理したネットワーク接続と関連しているという判定に応じて、ネットワークパケットを受理する工程と、
ネットワークパケットが以前に受理したネットワーク接続に関連していないという判定に応じて、ネットワークパケットを通過させる工程とをさらに含む、
請求項23記載の方法。
【請求項２５】
ネットワーク接続がTCP接続を含む、請求項23記載の方法。
【請求項２６】
ネットワークパケットが追加のネットワークデバイス(ネットワークデバイスおよび追加のネットワークデバイスは直列クラスタに含まれる)に関連する自動検知情報を含む場合には、該ネットワークパケットを通過させるべきであると、同定されたルールが示す、請求項２３記載の方法。
【請求項２７】
ルールが、ネットワークパケットを評価する基準を含む、請求項23記載の方法。
【請求項２８】
基準が、ネットワークパケットを受理する条件を指定する、請求項27記載の方法。
【請求項２９】
基準が、ネットワークパケットを通過させる条件を指定する、請求項27記載の方法。
【請求項３０】
基準が、ネットワークパケットの特性に基づく、請求項27記載の方法。
【請求項３１】
基準が、デバイスの特性に基づく、請求項27記載の方法。
【請求項３２】
ネットワークパケットがネットワークデバイスに関連するネットワークエンティティー宛である場合には、該ネットワークパケットを受理するべきであると、同定されたルールが示す、請求項23記載の方法。
【請求項３３】
ネットワークエンティティーがクライアントコンピュータである、請求項33記載の方法。
【請求項３４】
ネットワークエンティティーがサーバコンピュータである、請求項33記載の方法。
【請求項３５】
ネットワークエンティティーがローカルデータネットワーク接続を介してデバイスと接続されている、請求項33記載の方法。
【請求項３６】
ネットワークパケットおよび関連するネットワーク接続を扱うために十分な処理容量があるかどうかを判定する工程が、ネットワークパケットを受理することがデバイスのネットワーク接続の最大数を超えることになるかどうかを判定する工程を含む、請求項23記載の方法。
【請求項３７】
ネットワークパケットおよび関連するネットワーク接続を扱う十分な処理容量があるかどうかを判定する工程が、ネットワークパケットおよび関連するネットワーク接続がネットワークデバイスの最大帯域幅を超過するかどうか判定する工程を含む、請求項23記載の方法。
【請求項３８】
ネットワークパケットを受信する工程が、ネットワークパケットが送信先へ移動する間に、データネットワーク上のネットワークパケットをインターセプトする工程を含む、請求項23記載の方法。
【請求項３９】
ネットワークパケットを受信する工程が、追加のネットワークデバイスから転送されたネットワークパケットを受信する工程を含む、請求項23記載の方法。
【請求項４０】
ネットワークパケットを通過させる工程が、追加のネットワークデバイスへネットワークパケットを転送する工程を含む、請求項23記載の方法。
【請求項４１】
ネットワークデバイスと追加のネットワークデバイスがローカルデータネットワークを介して接続される、請求項40記載の方法。
【請求項４２】
ネットワークデバイスと追加のネットワークデバイスが広域データネットワークを介して接続される、請求項40記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
関連出願への相互参照
本出願は、2005年7月28日出願の米国仮特許出願第60/704020号、表題「Serial Clustering」について優先権を主張し、それは参照により、すべての目的のために本明細書に組み入れられる。本出願は、2002年10月30日出願の米国特許出願第10/285,315号、表題「Transaction Accelerator for Client-Server Communication Systems」(以後「McCanne I」とする)；2003年8月12日出願の米国特許出願第10/640,405号、表題「Transparent Client-Server Transaction Accelerator」(以後「McCanne III」とする)；2003年8月12日出願の米国特許出願第10/640,562号、表題「Cooperative Proxy Auto-Discovery and Connection Interception」(以後「McCanne IV」とする)、および2003年8月12日出願の米国特許出願第10/640,459号、表題「Content Delivery for Client-Server Protocols with User Affinities using Connection End-Point Proxies」(以後「McCanne V」とする)、に関連しており、これらをすべての目的のために参照により組み入れる。
【０００２】
発明の背景
本出願は、コンピュータのネットワーク化およびシステムの分野、ならびにネットワークトラフィック処理のための方法に関する。ネットワーク管理者は、しばしば多数の異なる型のネットワークデバイスを使用して、通信ネットワーク上の二つまたはそれ以上のエンティティ間のネットワークトラフィックをインターセプトする。これらのインターセプト用ネットワークデバイスを用いて、ネットワークトラフィックをモニタし、最適化し、フィルタし、ブロック化し、変換し、または別の処理をすることができる。
【０００３】
例えば、多くの組織が多数の異なる場所で活動している。典型的には、これらの組織は、各場所で別個のローカルエリアネットワーク(LAN)を用いる。異なる場所のLANは、次に広域ネットワーク(WAN)によって接続され、それによりユーザは、その組織のいかなる場所に置かれた情報へもアクセスできる。典型的には、WAN接続は、組織のネットワークインフラストラクチャー中で、最も低い速度、最も高コスト、および最低の信頼性を有する、最も弱いリンクである。
【０００４】
これらの問題の多くを克服するために、組織は、WANの性能および信頼性を改善し、WANの稼働時間(したがってコスト)を減少させるネットワーク高速化機器を用いることができる。ネットワーク高速化機器の性能の中に、TCP (伝送制御プロトコル)レベルでネットワークトラフィックをインターセプトし最適化する能力がある。これは、機器がTCPウィンドウ機構に対する待ち時間の影響に対処することを可能にし、広域ネットワーク(WAN)のより大幅な活用が可能になる。
【０００５】
しかし、ネットワーク高速化機器などのインターセプト用ネットワークデバイスは、多くの場合、インターセプトしかつ処理することができるネットワークトラフィックの量に限界を有する。例えば、いくつかのネットワーク高速化機器には、扱うことができるTCPフローの数の限界、または他の容量の制約がある。典型的には、TCPフローの数または他の処理要求が、単一のネットワークデバイスの容量を超えると予想される場合は、ネットワーク技術者は、ネットワークトラフィックを、2つまたはそれ以上のインターセプト用ネットワークデバイスのセットへの並列データフローに分割して、それにより、各インターセプト用ネットワークデバイスがネットワークトラフィックのサブセットを扱い、および共同してインターセプト用ネットワークデバイスのセットがネットワークトラフィック全体を扱うようにする。
【０００６】
残念なことに、ネットワークトラフィックを2つまたはそれ以上の並列データフローへ分割することによって、ネットワークがさらに複雑になり、しばしば、ネットワークが正確に作動し続けるためにそれを補う必要がある。さらに、そのようなネットワークトラフィックの分割は、ネットワークトラフィックが効率的であるために、およびネットワークトラフィック負荷が平等に分配されることを保証するために、その正確な予測が必要となる。単に余分のインターセプト用ネットワークデバイスを追加することによって、ネットワークトラフィックの容量を増加させ、余分のネットワーク容量の安全領域を提供する簡単な方法は存在しない。
【０００７】
したがって、好ましくないネットワークの複雑さを導入することなく、ネットワークが、ネットワーク高速化機器などのインターセプト用ネットワークデバイスのネットワークトラフィック容量を簡単に増加できるようにする、システムおよび方法が望まれる。さらに、以前のネットワークスケーリング技術と比較して、配備と構成が簡単なシステムおよび方法であることが望ましい。最後に、ここに提示した動機は、ネットワーク高速化機器、およびTCPフローの限界に関するものであるが、システムおよび方法は、任意の型のインターセプト用ネットワークデバイス、およびUDPまたは他のデータグラム指向のプロトコルを用いるネットワークトラフィックを含む一般的なネットワークトラフィックに適用可能であることが望ましい。
【発明の開示】
【０００８】
発明の概要
ネットワークトラフィックが単一のネットワークデバイスの処理能力を超える場合に、直列クラスタリングが追加の容量を提供する。直列クラスタリングの態様では、2つまたはそれ以上のネットワークデバイスが直列に接続される。ネットワークデバイスは、ローカルデータネットワーク接続および／または広域データネットワーク接続によって直列に接続されてもよい。
【０００９】
ある態様では、最初のネットワークデバイスが処理能力の限界に達した場合、その限界を超える任意の超過のネットワークトラフィックを変化させずに、最初のネットワークデバイスを通過させる。最初のネットワークデバイスに直列に接続された次のネットワークデバイスが、超過のネットワークトラフィックをインターセプトする。次のネットワークデバイスは、もし十分な処理能力があれば、それが超過のネットワークトラフィックを処理することになる。ネットワークトラフィックが、最初のネットワークデバイスおよび次のネットワークデバイスの処理能力を超過する場合は、残りの超過のネットワークトラフィックは、超過のネットワークトラフィックが全て処理されてしまうまで、または超過のネットワークトラフィック処理に利用できるそれ以上の追加のネットワークデバイスがなくなるまで、一つまたは複数の追加のネットワークデバイスに、同様にして転送することができる。
【００１０】
一つの態様では、ネットワークデバイスが、それぞれ限られた数のTCPフローを処理することができる。即ち各デバイスの限界は、扱うことができるTCPフロー数である。最初のネットワークデバイスがそのTCPフロー容量に達した場合には、それは新しいTCPフローをいかなる改変も加えることなく通過させる。予備能力を有する続く最初のネットワークデバイスが、新しいTCPフローを終了させることになる。他の態様では、各デバイスの限界は、入力(受信する)帯域幅、出力(処理された)帯域幅、CPU容量、デバイス内で用いるディスク帯域幅、当業者に周知の他の類似の限界またはこれらの限界の組合せと関係している可能性がある。
【００１１】
ある態様では、ネットワークデバイスが、ネットワークトラフィックの取扱方法の少なくとも一部分を決定するために、ルールを用いる。ネットワークデバイスのある態様は、受信したネットワークパケットと合致する一つまたは複数のルールを同定し、これらの合致するルールを適用して、ネットワークパケットの取扱方法を決定する。ルールは、ネットワークデバイスが、同じ直列クラスタ中のネットワークデバイスからの自動検知メッセージを無視することを可能にする。ルールはまた、目的送信先に最も近いネットワークデバイスなどの、ネットワーク上の最も適切なネットワークデバイスがネットワーク接続を取扱うことを保証する助けになる。ルールは、ネットワークデバイスがネットワークトラフィックを直列クラスタ中の複数のネットワークデバイス間に分配して、負荷をバランスさせることを可能にする。ルールは、受信したネットワークパケットの属性、ネットワークデバイスの属性、またはネットワークの属性に基づいてよい。
【００１２】
発明の詳細な説明
図1は、本発明の態様による直列またはカスケードクラスタ配置のネットワークデバイスを含むネットワークの構成例100を示す。ネットワーク構成100では、クライアント110が広域ネットワーク(WAN) 150を介してサーバ190と通信する。クライアント−サーバ間の通信は、クライアント側のインターセプト用ネットワークデバイス120、130、140、およびサーバ側のインターセプト用ネットワークデバイス160、170、180を通過する。
【００１３】
以下に詳細に議論するように、クライアント側のインターセプト用ネットワークデバイス120、130および140は、共同して働き、クライアント110に関連したネットワークトラフィックを処理する。クライアント側のインターセプト用ネットワークデバイスの組を、クライアント側直列クラスタ145と呼ぶ。同様に、サーバ側のインターセプト用ネットワークデバイス160、170、180の組は共同して働き、サーバ190に関連したネットワークトラフィックを処理し、サーバ側直列クラスタ155と呼ばれる。一般的に、直列クラスタは、直列に接続され、任意の数のクライアントおよび／またはサーバに関連したネットワークトラフィックをインターセプトしかつ処理するように構成された2つまたはそれ以上のインターセプト用ネットワークデバイスを含むことができる。
【００１４】
一つの態様では、インターセプト用ネットワークデバイスには、McCanne IおよびMcCanne IIIに記述されているネットワーク高速化機器が含まれる。しかし、本発明の態様は、スタンドアロンのインターセプト用ネットワークデバイス、および他のデバイスまたはコンピュータシステムと統合されたインターセプト用ネットワークデバイスを含む、他の型のネットワークデバイスにも等しく適用することができる。
【００１５】
構成例100には、WAN 150のクライアント側とサーバ側に同数のインターセプト用ネットワークデバイスが含まれているが、クライアント110とサーバ190の間のWAN 150の両側には、任意の数のインターセプト用ネットワークデバイスが存在してもよい。例えば、ネットワーク高速化装置は、典型的には、WAN接続150の両側に少なくとも1つずつのインターセプト用ネットワークデバイスを含む。したがって、構成例100の別の形式では、WAN 150のクライアント側の直列クラスタ145を、単一のインターセプト用ネットワークデバイスに置き換えてもよい。他の型のインターセプト用ネットワークデバイスおよび他の応用としては、WAN接続150の一方の側には、いかなるインターセプト用ネットワークデバイスもなく、WAN接続の他方の側には、インターセプト用ネットワークデバイスの直列クラスタがあってもよい。
【００１６】
WAN接続150の両側にインターセプト用ネットワークデバイスが置かれる態様では、インターセプト用ネットワークデバイスは、McCanne IVに記述されているように自動検知を行なって、利用可能な、WAN接続150の反対側のピアネットワークデバイスを検出してそれに接続してもよい。ネットワーク高速化機器については、自動検知機構が、通常のネットワーク接続セットアップルーチンを改変することによって、適切なピアネットワーク高速化機器が、そのピアとの最適化された通信のための内部チャネルネットワーク接続を確立することを発見してもよい。追加の態様では、直列クラスタの構成には、同じ直列クラスタ中の他のインターセプト用ネットワークデバイスからの自動検知プローブメッセージを無視するように、インターセプト用ネットワークデバイスを構成することが含まれる。よりさらなる実施態様では、同じ直列クラスタ中の他のネットワークデバイスによって作製された内部接続をインターセプトしないように、インターセプト用ネットワークデバイスを同様に構成する。
【００１７】
この態様によれば、ネットワーク構成例100は、直列クラスタ145中のネットワークデバイス120、130および140を、相互からのおよび同じクラスタ中の任意の他のネットワークデバイスからの自動検知プローブメッセージに応答しないように構成する。さらに、ネットワーク構成例100は、直列クラスタ154中のネットワークデバイス120、130および140を、内部接続を相互にインターセプトしないように構成する。同様に、直列クラスタ155中のネットワークデバイス160、170、180は、相互からのおよび直列クラスタ155中の任意の他のネットワークデバイスからの自動検知プローブメッセージに応答せず、かつ直列クラスタ145などの他の直列クラスタ中のネットワークデバイスとの、内部接続を相互にインターセプトしないように構成される。
【００１８】
別の態様では、直列クラスタ中のネットワークデバイスを自動検知機構なしで構成することができる。この態様では、クライアントの通信を受取る最初のネットワークデバイスは、それが通信を扱う容量を有する場合は応答し、またはそれが通信を扱う容量を有さない場合はクライアント接続を通過させて、その後のネットワークデバイスへ渡す。通信を扱う容量を有する最初のネットワークデバイスは、あたかもそれが直列クラスタ中のただ一つのネットワークデバイスかのように働く。クライアント110によって開始された接続については、ネットワークデバイス120は、もしそれに容量があれば、接続を扱うことになるし；もしなければ、それは、その接続開始およびその接続のすべての後続トラフィックを通過させて、直列クラスタ145中の後のネットワークデバイスへ渡すことになり、その結果、接続開始および後続の関連するネットワークトラフィックは、ネットワークデバイス130へ到達することになろう。ネットワークデバイス130は、もし容量があればこの接続を扱うであろう。
【００１９】
ネットワーク高速化機器の例では、ネットワークデバイス130 (または、デバイス130もまた十分な容量がない場合は、ネットワークデバイス140)が、以前に構成されたターゲットデバイスまたはターゲットデバイスのリストを用いて、WAN接続150の反対側の直列クラスタ155中のピアネットワークデバイスとの内部接続を確立することにより、接続開始要求を扱うかもしれない。
【００２０】
システム100のある態様では、自動検知機構の使用は、ネットワークデバイスおよび直列クラスタに対して対称的であっても非対称的であってもよい。自動検知機構の非対称的使用の一例として、直列クラスタ145中の任意のネットワークデバイスからの自動検知プローブメッセージに対して応答するように、直列クラスタ155を構成してもよい。しかし、直列クラスタ145中のネットワークデバイスが、直列クラスタ155中のまたは他の任意の場所のネットワークデバイスからの自動検知プローブメッセージに応答する必要は、まったくない。
【００２１】
さらなる態様では、直列クラスタ中のネットワークデバイスは、自動検知プローブメッセージを受取る場合には、ネットワークデバイスがどのように応答するべきかを規定するルールにしたがってもよい。一般的に、ルールは、ネットワークデバイスが自動検知プローブメッセージを通過させるべきである(通過ルールと呼ぶ)、または自動検知プローブメッセージを受理しかつ処理するべきである(受理ルールと呼ぶ)、との判定基準に基づいて指定することができる。ルールが指定する基準は、プローブの送信元、クライアントIP／サブネット、サーバIP／サブネット、および／またはサーバポートを含むことができる。
【００２２】
ある態様では、ルールが指定する基準は、ネットワークパケットの固定属性と関係している必要はない。例えば、ペイロード中のバイトパターンの存在または非存在を、所与のフローを扱うべきか、または所与のパケットを扱うべきかを判定する手段として用いてもよい。そのようなバイトパターンの指定には、ワイルドカード、正規表現、パターン言語、または他の当業者に周知のそのような技術を用いることができる。nが設定可能な値である場合に、開始してからすべてのn番目毎の接続を処理することを選択するような、さらに他の基準を用いてもよい。また、さらに他の基準は、所与の接続またはパケットを扱うべきかどうかを判断するために、ランダムまたは擬似ランダムなプロセスを用いるなどの、ランダムな要素を含んでもよい。これらの基準を用いて、直列クラスタ中の複数のインターセプト用ネットワークデバイスのネットワークトラフィックの負荷のバランスを大体とることができる。
【００２３】
ある態様では、インターセプト用ネットワークデバイスはルール表を保存している。ルール表は、ルール、およびルールに従う際に守るべき条件または基準を指定する、関連する基準の順序づけられたリストである。さらなる態様では、インターセプト用ネットワークデバイスは、ルール表のルールを順番に評価し、基準を満たす最初のルールに従う。他の態様では、ルール表のルールを任意の順序で処理してもよい。
【００２４】
ある態様では、直列クラスタは通過ルールのみを用いてもよい。上に議論したように、通過ルールは、インターセプト用ネットワークデバイスが最適化を適用しないネットワークトラフィックを同定する。代わりに、通過ルールに合致するネットワークトラフィックは、改変されずにネットワークデバイスを通過して転送される。通過ルールはネットワークトラフィックを、送信元および送信先ネットマスク、ポート、および他のパケット属性を用いて同定することができる。ネットワークデバイスが、同じクラスタ内の他のネットワークデバイスによって作製された内部接続をインターセプトしないことを保証するために、パス内ルールを用いて、それらのネットワークデバイスから始まる接続を通過させることができる。
【００２５】
別の態様では、インターセプト用ネットワークデバイスは、そのインターセプト用ネットワークデバイスが処理するべきネットワークトラフィックの型を指定する受理ルールのみを用いてもよい。さらに別の態様では、インターセプト用ネットワークデバイスは、どのネットワークトラフィックを処理のために受理するか、およびどのネットワークトラフィックを変化させずに通過させるかを決めるために、通過ルールおよび受理ルールの両方を含むことができる。
【００２６】
ある態様では、直列クラスタ中の一つまたは複数のインターセプト用ネットワークデバイスに関してルールを指定してもよい。ルールを、ネットワーク管理者が、管理インターフェースを用いて、例えばインターセプト用ネットワークデバイスが提供するローカルまたは遠隔コンソールを介して、または管理コンソールを用いて、指定することができる。
【００２７】
ある態様では、ルールはまた、より複雑なネットワーク構成中のネットワークトラフィックを扱う方法、例えばクライアントとサーバ間のネットワークトラフィックが、その送信先の前の複数のサイト中の複数のネットワークデバイスをいつ通過するかを、規定することができる。図2は、本発明の態様による、直列またはカスケードクラスタ配置中のネットワークデバイスの別の構成例200を示す。ネットワーク構成200では、サーバ250が、ネットワークデバイス240と同じローカルエリアネットワーク上にある。したがって、クライアント210とサーバ250間のネットワークトラフィックは、ネットワークデバイス220、WAN接続230およびネットワークデバイス240を通過しなければならない。さらに、クライアント210とサーバ280間のネットワークトラフィックは、ネットワークデバイス220、WAN接続230、ネットワークデバイス240、WAN接続260およびネットワークデバイス270を通過しなければならない。
【００２８】
一つまたは複数のWAN接続の両端に設置されている対の装置を用いてネットワークトラフィックを処理する、ネットワークトランザクション加速器などのインターセプト用ネットワークデバイスについては、ネットワークトラフィックの送信元および送信先に最も接近して設置されている対のインターセプト用ネットワークデバイスを用いることが最も効率的である。例えば、クライアント210とサーバ280間のネットワークトラフィックは、インターセプト用ネットワークデバイス220および270の対を用いて処理するのが理想的であろう。もしクライアント210とサーバ280の間のトラフィックを取扱うために、ネットワークデバイス240の代りにインターセプト用ネットワークデバイス240を選択すれば、このネットワークトラフィックは、処理されていない形のままでWAN接続260上を移動しなければならず、ネットワークの性能が潜在的に減少するであろう。
【００２９】
ルールなしでは、インターセプト用ネットワークデバイス220は、クライアント210とサーバ280間のネットワークトラフィックがデバイス220および270を使用するべきであることを指定する固定標的ルールを必要とすることになろう：即ち、ネットワークデバイス220は、210から280へのトラフィックを270に送らなければならないことを示すルールを必要とし、またそれに対応して、ネットワークデバイス270は、280から210へのトラフィックを220に送らなければならないことを示すルールを必要とすることになろう。サーバとクライアント間に多重経路を有する、より複雑なネットワークトポロジーに対しては、固定標的ルールがあらゆる可能な経路について必要であろう。複雑なネットワークトポロジーのための固定構成ルールの構成および維持は、困難で、時間を消費し、間違いが起こりやすい可能性がある。
【００３０】
対照的に、ルールを用いるネットワークデバイス220の態様は、いかなる固定標的ルールも必要としない。その代わり、ネットワークデバイス240に対して、サーバ250に宛てた自動検知プローブメッセージを受取らなければならないが、一方で他のサーバに宛てた自動検知プローブメッセージは通過させなければならないと指定するルールを規定することができる。これらのルールの結果、サーバ250に宛てた接続開始要求は、ネットワークデバイス240によりインターセプトされるであろう。そのときインターセプト用ネットワークデバイス240は、ネットワーク構成200上のクライアント210、サーバ280、およびその他のエンティティからのサーバ250に宛てたネットワークトラフィックを取扱うことになろう。
【００３１】
逆に、ネットワークデバイス240に対するルールは、他の任意の場所へ行く接続はどれも、ネットワークデバイス240を通過し、続いてサーバ280宛てネットワークトラフィック用のネットワークデバイス270などの別のネットワークデバイスによってインターセプトされると指定することができる。ネットワークデバイス240に対する同じルールは、いずれの側(WAN 230の前またはWAN 260の後)のトポロジーも、複数のクライアント、複数のサーバ、追加のWANおよび追加のネットワークデバイスを伴っていかに複雑になろうとも、なお有用である。
【００３２】
さらなる例では、増加したネットワークトラフィックを扱うために、任意のまたは全てのネットワークデバイス220、240、および270を、ネットワークデバイスの直列クラスタと置き換えてもよい。この場合、ルールを同じ方法で用いて、個別のインターセプト用ネットワークデバイスではなく、適切な直列クラスタを選択し、複雑なネットワークトポロジーに対するネットワークトラフィックの処理に用いる。上述の追加のルールを、例えば所与のネットワークデバイスの直列クラスタ内のネットワークトラフィックを管理するために用いて、例えば同じ直列クラスタ中のデバイスからの自動検知要求を無視し、ネットワークトラフィックを処理するために直列クラスタ内のネットワークデバイスの一つを選択し、あるいは直列クラスタ内のネットワークデバイスへのネットワークトラフィックの負荷のバランスをとってもよい。
【００３３】
図3は、本発明の態様によるインターセプト用ネットワークデバイスに対するルールを用いて、ネットワークトラフィックを処理する方法300を示す。方法300は、上に議論した構成100および200に示したデバイスなどのインターセプト用ネットワークデバイスを、利用することができる。
【００３４】
ステップ310はネットワークパケットを受信する。ステップ312は、受信したネットワークパケットが以前に確立されたネットワーク接続に関連しているかどうかを判断する。もしそうなら、ステップ314は、ネットワークパケットの処理を開始する。ネットワークパケットが、インターセプト用ネットワークデバイスによって取扱われる、以前に確立されたネットワーク接続に関連する場合は、ステップ314が、インターセプト用ネットワークデバイスの機能によってネットワークパケットを処理する。ステップ314に続いて、方法300は、元に戻って、別のネットワークパケットの受信を待つ。
【００３５】
受信したネットワークパケットが以前に確立された接続に関連していない場合、方法300は、ステップ312からステップ315に進む。ステップ315は、受信ネットワークパケットを評価して、ネットワークパケットが、ネットワーク上の二つまたはそれ以上のエンティティ間の、TCP接続などの接続の開始を要求しているかどうかを判定する。ネットワークパケットが接続の開始を要求していない場合は、ステップ315は、ネットワークパケットをそれが予定する送信先へ変更のないまま送信する。次に、方法300は、ステップ315からステップ310に戻って別のネットワークパケットの受信を待つ。
【００３６】
受信したネットワークパケットが新しい接続の開始を要求していると同定された場合は、方法300はステップ315からステップ320に進む。ステップ320は、受信したネットワークパケットと合致するネットワークデバイスの一つまたは複数のルールを見出すことを試みる。ある態様では、ルールは、ルール表によって指定された順に評価され、ステップ320は、受信したネットワークパケットと合致する最初のルールを(もしあれば)同定する。代りの態様では、ステップ320は、受信したネットワークパケットと合致する複数のルールを同定してもよい。
【００３７】
ステップ325は、ステップ320が、何らかのネットワークデバイスのルールを、受信ネットワークトラフィックと合致させたかどうかを判断する。もし合致するルールがなければ、方法300はステップ355に進んで、ネットワークデバイスが、ともかく接続要求を扱うのに十分な容量を持っているかどうかを判断する。反対に、もし一つまたは複数の合致するルールがあれば、方法300は、ステップ325からステップ335に進み、一つまたは複数の合致するルールを評価し、ネットワークデバイスがネットワークパケットを受理するべきか、通り抜けさせるべきかを判断する。上に議論したように、ルールは、ネットワークパケットの特性に基づいて、ならびにその前のネットワークパケットまたはネットワークデバイスの特性に基づいて、ネットワークパケットを受理するべきか、通り抜けさせるべきかを指定することができる。
【００３８】
もしステップ335が、合致するルールにより、ネットワーパケットをそれ以上の処理なしにネットワークデバイスを通り抜けさせるべきであると判定した場合は、方法300はステップ340に進む。ステップ340は、それ以上のいかなる処理もなしに、送信先に向けて受信ネットワークパケットを通過させ、それにより別のネットワークデバイスが要求された接続を扱うことが可能になる。
【００３９】
ネットワークパケットに合致するルールがない場合はステップ325、または合致するルールがネットワークパケットを受理するようにネットワークデバイスに命令する場合はステップ335、のいずれかに続いて、ステップ355は、ネットワークパケットを受理するネットワークデバイスが、ネットワークパケットによって要求される接続およびそれに関連するネットワークトラフィックを扱うために十分な容量を有するかどうかを判定する。ある態様では、ネットワークデバイスの容量は、例えばTCP接続の最大数などの所定の限界に、あるいはネットワークトラフィックの量、入力または出力帯域幅、またはメモリ、ディスク、既にそのネットワークデバイスによって扱われた他のネットワークトラフィックによって要求された処理リソースなどの、ネットワークデバイスの能力および残存容量を測定する因子または尺度の組合せに、基づく。さらなる態様では、ルールは、送信元または送信先アドレス、ネットワークパケットの内容、日時、および直列クラスタ中の他のネットワークデバイスの作動状況および／または負荷に基づいて、ネットワークトラフィックを制御するかまたは制限する方策を実施してもよい。例えば、最初の直列クラスタでは、各インターセプト用ネットワークデバイスを、別々の直列クラスタまたは入れ子の直列クラスタとして実現することができるであろう。
【００４０】
もしステップ355が、ネットワークデバイスは、受信されたネットワークパケットによって要求される接続の処理を扱うのに十分な容量を有すると判定した場合は、ステップ360がネットワーク接続を受理する。この接続に関連する後続のネットワークトラフィックは、そのネットワークデバイスによって処理されるであろう。そうでない場合は、ステップ340がネットワークパケットを通過させ、別のネットワークデバイスが要求される接続を扱うことを可能にする。
【００４１】
インターセプト用ネットワークデバイスの機能に依存して、ネットワークパケットおよびネットワーク接続に関連するネットワークトラフィックを、多数の異なる方法で処理することができる。ネットワークトランザクション加速器については、ステップ360が、McCanne I、McCanne III、およびMcCanne IVに述べられているように、ネットワーク接続を分析し、最適化してもよい。他の型のインターセプト用ネットワークデバイスについては、ステップ360が、インターセプト用ネットワークデバイスの意図した機能にしたがって、ネットワークトラフィックをモニタし、分析し、フィルタし、ブロック化し、改変し、集約し、または他の処理をする。インターセプト用ネットワークデバイスの機能およびステップ360で行なわれるネットワークトラフィックの処理の型に関係なく、直列クラスタリングの態様は、複数のネットワークデバイスを利用して複雑な構成の問題なしに処理容量を増加させることを可能にする。
【００４２】
ステップ360または340に続いて、方法300はステップ310に戻り、別のネットワークパケットの受信を待つ。方法300は、直列クラスタ中のインターセプト用ネットワークデバイスに対するルールの運用の一例である。方法300を改変するかまたは精巧にして、本明細書に記述したルール処理に換えてまたは追加して、代わりの基準を用いることは、当業者にとっては簡単なことである。
【００４３】
当業者は、添付の書類を読んだ後は、さらなる態様の構想を描くことができる。例えば、本発明をネットワーク高速化機器に関して議論したが、本発明は、ネットワークトラフィックをモニタし、処理し、フィルタし、ブロック化し、または最適化するために、インターセプトするように構成された任意の型のネットワークデバイスにも等しく適用することができる。他の態様では、上に開示した本発明の組合せまたは副組合せを有利に作ることができる。理解しやすいように、アーキテクチャのブロック図およびフローチャートはグループ化されている。しかし、本発明の別の態様では、ブロックの組合せ、新しいブロックの追加、ブロックの再配置等が構想されることを理解しなければならない。
【００４４】
したがって明細書および図面は、制限する意味ではなく説明のためにあるとみなすべきである。しかし、特許請求の範囲で述べる本発明のより広い精神および範囲から外れることなく、それに対して様々な改変および変更を行なうことができることは明白であろう。
【図面の簡単な説明】
【００４５】
本発明を、図面を参照して説明する：
【図１】本発明の態様による、直列または直列クラスタ配置のネットワークデバイスを含む、ネットワークの構成例を示す。
【図２】本発明の態様による、直列またはカスケードクラスタ配置のネットワークデバイスの別の構成例を示す。
【図３】本発明の態様によるインターセプト用ネットワークデバイスに関するルールを用いて、ネットワークトラフィックを処理する方法を示す。
【図１】
2009504022.tif 000004
【図２】
2009504022.tif 000005
【図３】
2009504022.tif 000006
【手続補正書】
【提出日】平成20年4月2日(2008.4.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークパケットを受信することに適したロジックと、
ネットワークパケットに関連するネットワークトラフィックを処理するためにデバイスが十分な処理容量を有するかどうかを判定することに適したロジックと、
ネットワークパケットを受理するべきか、または通過させるべきかを判定するために適した少なくとも一つのルールを用いて、ネットワークパケットを評価することに適したロジックと、
デバイスが関連するネットワークトラフィックを処理する十分な処理容量を有しない、という判定に応じて、ネットワークパケットを追加のデバイスへ転送することに適したロジックと、
ネットワークパケットを通過させる、という判定をするルールの評価に応じて、ネットワークパケットを追加のデバイスへ転送することに適したロジックと、
デバイスが関連するネットワークトラフィックを処理する十分な処理容量を有するという判定に応じて、およびネットワークパケットを受理することを判定するルールの評価に応じて、ネットワークパケットを受理することに適したロジックとを含む、
データネットワークを介して接続されている、追加のデバイスと併せてネットワークトラフィックを処理することに適した、デバイス。
【請求項２】
ネットワークパケットを受信することに適したロジックが、送信元と送信先間のデータネットワーク上のネットワークパケットをインターセプトすることに適したロジックを含む、請求項1記載のデバイス。
【請求項３】
ネットワークパケットに関連するネットワークトラフィックが少なくとも一つのネットワーク接続を含む、請求項1記載のデバイス。
【請求項４】
ネットワーク接続がTCP接続である、請求項3記載のデバイス。
【請求項５】
ネットワークパケットが、ネットワーク接続を開始する要求を含む、請求項3記載のデバイス。
【請求項６】
デバイスが以前にそのネットワーク接続を受理している場合には、ルールがネットワークパケットを受理するように適したロジックを含む、請求項3記載のデバイス。
【請求項７】
追加のデバイスが以前にそのネットワーク接続を受理している場合には、ルールがネットワークパケットを通過させるように適したロジックを含む、請求項3記載のデバイス。
【請求項８】
ネットワークパケットが追加のデバイスに関連する自動検知情報を含み、かつデバイスおよび追加のデバイスが直列クラスタの一部である場合には、ルールがそのネットワークパケットを通過させるように適したロジックを含む、請求項1記載のデバイス。
【請求項９】
ルールがネットワークパケットを評価する基準を含む、請求項1記載のデバイス。
【請求項１０】
基準がネットワークパケットを受理する条件を指定する、請求項9記載のデバイス。
【請求項１１】
基準がネットワークパケットを通過させる条件を指定する、請求項9記載のデバイス。
【請求項１２】
基準がネットワークパケットの特性に基づく、請求項9記載のデバイス。
【請求項１３】
基準がデバイスの特性に基づく、請求項9記載のデバイス。
【請求項１４】
ネットワークパケットがデバイスに関連したネットワークエンティティー宛である場合には、ルールがそのネットワークパケットを受理するように適したロジックを含む、請求項1記載のデバイス。
【請求項１５】
ネットワークエンティティーがクライアントコンピュータである、請求項14記載のデバイス。
【請求項１６】
ネットワークエンティティーがサーバコンピュータである、請求項14記載のデバイス。
【請求項１７】
ネットワークエンティティーが、ローカルデータネットワーク接続を介してデバイスと接続されている、請求項14記載のデバイス。
【請求項１８】
デバイスが、直列クラスタ中で追加のデバイスと共に作動するように構成される、請求項1記載のデバイス。
【請求項１９】
デバイスが、ローカルデータネットワークを介して追加のデバイスに接続されるのに適している、請求項18記載のデバイス。
【請求項２０】
ネットワークデバイスによってネットワークパケットを受信する工程と、
ネットワークパケットがネットワーク接続を開始しているかどうかを判定する工程と、
ネットワークパケットがネットワーク接続を開始しているという判定に応じて、ネットワークパケットに合致するルールを同定する工程と、
ネットワークパケットに合致するルールに応じて、ネットワークパケットに関する同定されたルールを評価して、ネットワークパケットを受理するべきか通過させるべきかを判定する工程と、
ネットワークパケットを受理するべきであることを示すルールに応じて、ネットワークパケットおよび関連するネットワーク接続を扱う十分な処理容量があるかどうかを判定する工程と、
いかなるルールとも合致しないネットワークパケットに応じて、ネットワークパケットおよび関連するネットワーク接続を扱う十分な処理容量があるかどうかを判定する工程と、
ネットワークパケットを扱う十分な処理容量があるという判定に応じて、ネットワークパケットを受理する工程と、
ネットワークパケットを通過させるべきであることを示すルールに応じて、ネットワークパケットを通過させる工程と、
十分な処理容量がないという判定に応じて、ネットワークパケットを通過させる工程とを含む、
ネットワークトラフィックを処理する方法。
【請求項２１】
ネットワークパケットが以前に受理したネットワーク接続に関連しているかどうかを判定する工程と、
ネットワークパケットが以前に受理したネットワーク接続と関連しているという判定に応じて、ネットワークパケットを受理する工程と、
ネットワークパケットが以前に受理したネットワーク接続に関連していないという判定に応じて、ネットワークパケットを通過させる工程とをさらに含む、
請求項20記載の方法。
【請求項２２】
ネットワークパケットが追加のネットワークデバイス(ネットワークデバイスおよび追加のネットワークデバイスは直列クラスタに含まれる)に関連する自動検知情報を含む場合には、該ネットワークパケットを通過させるべきであると、同定されたルールが示す、請求項20記載の方法。
【請求項２３】
ネットワークパケットおよび関連するネットワーク接続を扱うために十分な処理容量があるかどうかを判定する工程が、ネットワークパケットを受理することがデバイスのネットワーク接続の最大数を超えることになるかどうかを判定する工程を含む、請求項20記載の方法。
【請求項２４】
ネットワークパケットおよび関連するネットワーク接続を扱う十分な処理容量があるかどうかを判定する工程が、ネットワークパケットおよび関連するネットワーク接続がネットワークデバイスの最大帯域幅を超過するかどうかを判定する工程を含む、請求項20記載の方法。
【請求項２５】
ネットワークパケットを受信する工程が、ネットワークパケットが送信先へ移動する間に、データネットワーク上のネットワークパケットをインターセプトする工程を含む、請求項20記載の方法。
【請求項２６】
ネットワークパケットを受信する工程が、追加のネットワークデバイスから転送されたネットワークパケットを受信する工程を含む、請求項20記載の方法。
【請求項２７】
ネットワークパケットを通過させる工程が、追加のネットワークデバイスへネットワークパケットを転送する工程を含む、請求項20記載の方法。
【国際調査報告】
2009504022.tif 000007