(57)【要約】本発明の一実施形態は複数のネットワークサービスのためのネットワークデータトラフィック管理を容易にするシステムを提供する。動作中に、システムは複数のネットワークサービスからネットワークデータトラフィックのためのフロールールを受信し、フロールールは衝突する可能性がある。次にシステムは、複数のネットワークサービスからのフロールールを、パケットフローへ効率的に適用可能な低レベル形式の矛盾の無いフロールールのセットにまとめる。システムは続いて、矛盾の無いフロールールのセットをフローエンフォースメント装置に組み込み、このフローエンフォースメント装置は矛盾の無いフロールールのセットを、高速ネットワークコネクションから受信されたパケットフローに適用する。こうして、複数のネットワークサービスからのフロールールは、各ネットワークサービスによって別々に適用されるのではなく、パケットフローへ同時に適用され得る。
2006512012.tif 000002
【特許請求の範囲】
【請求項１】
複数のネットワークサービスのためのネットワークデータトラフィックを同時に管理する方法であって、
複数のネットワークサービスからネットワークデータトラフィックのための衝突する可能性があるフロールールを受信するステップと、
前記複数のネットワークサービスからの前記フロールールをパケットフローへ効率的に適用可能な低レベル形式の矛盾の無いフロールールのセットにまとめるステップと、
前記矛盾の無いフロールールのセットを高速ネットワークコネクションから受信されたパケットフローに適用するフローエンフォースメント装置に前記矛盾の無いフロールールのセットを組み込むステップと、
を含み、
前記複数のネットワークサービスからの前記フロールールが、各ネットワークサービスによって別々に適用されるのではなく、パケットフローへ同時に適用される方法。
【請求項２】
前記低レベルフロールールのそれぞれが、
前記パケットフロー内のパケットのクラスを定義するフィルタと、
前記パケットのクラスに適用されるべきオペレーションを定義するアクションと、
を指定する、請求項１記載の方法。
【請求項３】
低レベルフロールールによって定義されるオペレーションが、
パケットをドロップすること、
前記パケットに関する統計的情報を収集すること、
前記パケットに関連付けられたタイマー機能を制御すること、
前記パケットを修正すること、及び、
前記パケットを順送りすること
を含む、請求項２記載の方法。
【請求項４】
前記フローエンフォースメント装置で新しいフローを検出するステップと、
前記新しいフローの検出に応じて、
前記新しいフローのための新しいルールを作成し、
前記フローエンフォースメント装置が前記新しいフローを取り扱えるように、前記新しいルールを前記フローエンフォースメント装置に組み込まれた前記矛盾の無いフロールールのセットに統合するステップと、
をさらに含む、請求項１記載の方法。
【請求項５】
前記複数のネットワークサービスが、
ファイアウォールサービスと、
サービスレベルアグリーメントモニタリングサービスと、
負荷バランシングサービスと、
トランスポートマッチングサービスと、
フェイルオーバーサービスと、
高可用性サービスと、
を含む、請求項１記載の方法。
【請求項６】
環境エージェントから環境情報を受信するステップと、
前記矛盾の無いフロールールのセットを更新するため前記環境情報を使用するステップと、
をさらに含む、請求項１記載の方法。
【請求項７】
アプリケーションから情報を受信するステップと、
前記矛盾の無いフロールールのセットを更新するため前記情報を使用するステップと、
をさらに含む、請求項１記載の方法。
【請求項８】
前記複数のネットワークサービスからの前記フロールールを矛盾の無いフロールールのセットにまとめるステップが前記複数のネットワークサービスから受信された前記フロールールに優先順位を付ける、請求項１記載の方法。
【請求項９】
コンピュータによって実行されるときに前記コンピュータに複数のネットワークサービスのためのネットワークデータトラフィックを同時に管理する方法を実行させる命令を格納するコンピュータ読み取り可能な記憶媒体であって、
前記方法が、
複数のネットワークサービスからネットワークデータトラフィックのための衝突する可能性があるフロールールを受信するステップと、
前記複数のネットワークサービスからの前記フロールールをパケットフローへ効率的に適用可能な低レベル形式の矛盾の無いフロールールのセットにまとめるステップと、
前記矛盾の無いフロールールのセットを高速ネットワークコネクションから受信されたパケットフローに適用するフローエンフォースメント装置に前記矛盾の無いフロールールのセットを組み込むステップと、
を含み、
前記複数のネットワークサービスからの前記フロールールが、各ネットワークサービスによって別々に適用されるのではなく、パケットフローへ同時に適用される、
コンピュータ読み取り可能な記憶媒体。
【請求項１０】
前記低レベルフロールールのそれぞれが、
前記パケットフロー内のパケットのクラスを定義するフィルタと、
前記パケットのクラスに適用されるべきオペレーションを定義するアクションと、
を指定する、請求項９記載のコンピュータ読み取り可能な記憶媒体。
【請求項１１】
低レベルフロールールによって定義されるオペレーションが、
パケットをドロップすること、
前記パケットに関する統計的情報を収集すること、
前記パケットに関連付けられたタイマー機能を制御すること、
前記パケットを修正すること、及び、
前記パケットを順送りすること
を含む、請求項１０記載のコンピュータ読み取り可能な記憶媒体。
【請求項１２】
前記方法が、
前記フローエンフォースメント装置で新しいフローを検出するステップと、
前記新しいフローの検出に応じて、
前記新しいフローのための新しいルールを作成し、
前記フローエンフォースメント装置が前記新しいフローを取り扱えるように、前記新しいルールを前記フローエンフォースメント装置に組み込まれた前記矛盾の無いフロールールのセットに統合するステップと、
をさらに含む、請求項９記載のコンピュータ読み取り可能な記憶媒体。
【請求項１３】
前記複数のネットワークサービスが、
ファイアウォールサービスと、
サービスレベルアグリーメントモニタリングサービスと、
負荷バランシングサービスと、
トランスポートマッチングサービスと、
フェイルオーバーサービスと、
高可用性サービスと、
を含む、請求項９記載のコンピュータ読み取り可能な記憶媒体。
【請求項１４】
前記方法が、
環境エージェントから環境情報を受信するステップと、
前記矛盾の無いフロールールのセットを更新するため前記環境情報を使用するステップと、
をさらに含む、請求項９記載のコンピュータ読み取り可能な記憶媒体。
【請求項１５】
前記方法が、
アプリケーションから情報を受信するステップと、
前記矛盾の無いフロールールのセットを更新するため前記情報を使用するステップと、
をさらに含む、請求項９記載のコンピュータ読み取り可能な記憶媒体。
【請求項１６】
前記複数のネットワークサービスからの前記フロールールを矛盾の無いフロールールのセットにまとめるステップが前記複数のネットワークサービスから受信された前記フロールールに優先順位を付ける、請求項９記載のコンピュータ読み取り可能な記憶媒体。
【請求項１７】
複数のネットワークサービスのためのネットワークデータトラフィックを同時に管理する装置であって、
複数のネットワークサービスからネットワークデータトラフィックのための衝突する可能性があるフロールールを受信するように構成されたルール受信手段と、
前記複数のネットワークサービスからの前記フロールールをパケットフローへ効率的に適用可能な低レベル形式の矛盾の無いフロールールのセットにまとめるように構成されたコラプス手段と、
前記矛盾の無いフロールールのセットを高速ネットワークコネクションから受信されたパケットフローに適用するフローエンフォースメント装置に前記矛盾の無いフロールールのセットを組み込むように構成された組み込み手段と、
を具備し、
前記複数のネットワークサービスからの前記フロールールが、各ネットワークサービスによって別々に適用されるのではなく、パケットフローへ同時に適用される装置。
【請求項１８】
前記低レベルフロールールのそれぞれが、
前記パケットフロー内のパケットのクラスを定義するフィルタと、
前記パケットのクラスに適用されるべきオペレーションを定義するアクションと、
を指定する、請求項１７記載の装置。
【請求項１９】
低レベルフロールールによって定義されるオペレーションが、
パケットをドロップすること、
前記パケットに関する統計的情報を収集すること、
前記パケットに関連付けられたタイマー機能を制御すること、
前記パケットを修正すること、及び、
前記パケットを順送りすること
を含む、請求項１８記載の装置。
【請求項２０】
新しいフローを検出するように構成された前記フローエンフォースメント装置内のフロー検出手段と、
前記新しいフローのための新しいルールを作成し、
前記フローエンフォースメント装置が前記新しいフローを取り扱えるように、前記新しいルールを前記フローエンフォースメント装置に組み込まれた前記矛盾の無いフロールールのセットに統合するルール更新手段と、
をさらに含む、請求項１７記載の装置。
【請求項２１】
前記複数のネットワークサービスが、
ファイアウォールサービスと、
サービスレベルアグリーメントモニタリングサービスと、
負荷バランシングサービスと、
トランスポートマッチングサービスと、
フェイルオーバーサービスと、
高可用性サービスと、
を含む、請求項１７記載の装置。
【請求項２２】
環境エージェントから環境情報を受信し、
前記矛盾の無いフロールールのセットを更新するため前記環境情報を使用するように構成されたルール更新手段をさらに具備する、請求項１７記載の装置。
【請求項２３】
アプリケーションから情報を受信し、
前記矛盾の無いフロールールのセットを更新するため前記情報を使用するように構成されたルール更新手段をさらに具備する、請求項１７記載の装置。
【請求項２４】
前記コラプス手段が前記複数のネットワークサービスから受信された前記フロールールに優先順位を付けるように構成される、請求項１７記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（背景）
（発明の分野）
本発明は、コンピュータネットワーク全体に亘ってパケットフローを管理するタスクに関する。より詳細には、本発明は、複数のネットワークサービスのためのパケットフローを同時に管理する方法及び装置に関する。
【背景技術】
【０００２】
（従来の技術）
ネットワーキングテクノロジーにおける急激な進歩は、現在では、単一の高速光パイプを通る毎秒２．５ギガビットを超える帯域幅の転送データを可能にする。これらの高速光パイプは、データセンターを広域ネットワーク及びインターネットへ接続するため使用可能である。これらの高速光パイプを通して利用可能である帯域幅を効率的に使用するため、データセンター内のエッジ装置はこれらのパイプを介して受信されたパケットフローを管理し得ることが必要である。たとえば、エッジ装置は、ファイアウォール機能実行、サービスレベルアグリーメント（ＳＬＡ）モニタリング、トランスポートマッチング及び負荷バランシングのようなネットワークフロー管理に関係した多数のオペレーションを実行可能である。これらのオペレーションの実行は、パケットフローが高い転送レートで受信されるときに管理される必要があるので、非常に難しいタスクである。
【０００３】
これらのオペレーションは典型的にパイプライン形式でパケットフローに適用される。たとえば、図１を参照すると、高速パイプ１０２を介して受信されたパケットフローは、ファイアウォールモジュール１０４、ＳＬＡモニタリングモジュール１０５、トランスポートマッチングモジュール１０６及び負荷バランシングモジュール１０７を含む多数の別個のモジュールを収容するパイプラインの中へ入れられる。このパイプラインの出力はスイッチ１０８へ入れられ、このスイッチはパケットをデータセンター内の各種のサーバ１１０〜１１２へ切り換える。このパイプライン型アーキテクチャはモジュールがパケットフロー中に順次に動作することを可能にさせる。しかし、パケットフローを複数のパイプライン段に通すことはレイテンシーを増加させ、これが多数のアプリケーションに対する性能に悪影響を与える。
【０００４】
これらのパイプラインモジュールのそれぞれは概念的には、（１）クラシファイア及びディスパッチコンポーネント、（２）パケットフロー内のパケットを直接的にオペレーションするモジュール固有コンポーネント、及び、（３）クラシファイア及びディスパッチコンポーネントのためのルールを生成するマネージメント及びアドミニストレーションコンポーネントの３個のコンポーネントに分割されることに注意すべきである。（尚、クラシファイア及びディスパッチコンポーネントとモジュール固有コンポーネントはまとめて「データプレーン」と呼ばれ、一方、マネージメント及びアドミニストレーションコンポーネントは「コントロールプレーン」と称される）。このようにして、データプレーンによって実行される高速分類及びディスパッチオペレーションは、コントロールプレーンによって実行されるマネージメント及びアドミニストレーション機能から分離される。図２は、図１のモジュールが別個のコントロールプレーンモジュール及びデータプレーンモジュールに分離される状況を説明する図である。
【０００５】
標準化インタフェースがこの分離を容易にするため開発中である。特に、コントロールプレーンとフォワーディングプレーンとの間に標準化インタフェースを規定するＬｉｌｙ  Ｌ．Ｙａｎｇ、  Ｒａｍ  Ｇｏｐａｌ及びＳｕｓａｎ  Ｈａｒｅｓ著の論文”Ｏｐｅｎ  Ｓｔａｎｄａｒｄｓ  ｆｏｒ  ｔｈｅ  Ｃｏｎｔｒｏｌ  ａｎｄ  Ｆｏｒｗａｒｄｉｎｇ  Ｐｌａｎｅｓ  ｉｎ  Ｎｅｔｗｏｒｋ  Ｅｌｅｍｅｎｔｓ”を参照のこと。この標準化インタフェースは、システムベンダーがこれらのコントロール機能及びフォワーディング機能を実行するため様々な供給業者からのコンポーネントを使用することを可能にさせる。
【０００６】
さらなる性能を得るため、多数のパイプラインが並列に動作可能である。たとえば、図３を参照すると、高速パイプ１０２からのパケットフローは、ファンアウトモジュール３００によって３列の並列パイプラインへ経路制御される。これらのパイプラインの出力はスイッチ１０８に入り、スイッチはパイプラインからのパケットをデータセンター内の各種のサーバ１１０〜１１２へ切り換える。
【０００７】
並列パイプライン化は、パケットストリームが異なるパイプラインのため別個のフローに分割されるならば、性能を改良することができる。しかし、パケットストリームが単一のフローしか収容しない場合には、並列パイプライン化は役立たない。その上、この技術は、パイプライン段の数を削減せず、その結果として、レイテンシーを殆ど削減しない。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、上記の問題を伴うことなく、高速パイプから受信されたパケットフローの管理を容易にする方法及び装置が必要とされる。
【課題を解決するための手段】
【０００９】
（発明の概要）
本発明の一実施形態は、複数のネットワークサービスのためのネットワークデータトラフィック管理を容易にするシステムを提供する。動作中に、システムは複数のネットワークサービスからネットワークデータトラフィックのための、衝突する可能性があるフロールールを受信する。次に、システムは、複数のネットワークサービスからのフロールールを、パケットフローへ効率的に適用可能な低レベル形式の矛盾の無いフロールールのセットにまとめる（ｃｏｌｌａｐｓｅ）。システムは、続いて、矛盾の無いフロールールのセットをフローエンフォースメント（ｅｎｆｏｒｃｅｍｅｎｔ）装置に組み込み、このフローエンフォースメント装置は矛盾の無いフロールールのセットを、高速ネットワークコネクションから受信されたパケットフローに適用する。このようにして、複数のネットワークサービスからのフロールールは、各ネットワークサービスによって別々に適用されるのではなく、パケットフローへ同時に適用され得る。
【００１０】
本実施形態の一変形では、低レベルフロールールのそれぞれは、パケットフロー内のパケットのクラスを定義するフィルタと、そのパケットのクラスに適用されるべきオペレーションを定義するアクションを指定する。
【００１１】
本実施形態の一変形では、低レベルフロールールによって定義されるオペレーションには、パケットのドロップ、パケットに関する統計的情報の収集、パケットに関連付けられたタイマー機能の制御、メタデータによるパケットの修正、及び、パケットの順送りが含まれるが、これらに限定されない。（一般に、多数の他のオペレーションが低レベルフロールールによって定義され得ることに注意すべきである）。
【００１２】
本実施形態の一変形では、フローエンフォースメント装置で新しいフローを検出したとき、本システムはその新しいフローのための新しいルールを作成する。システムはまたフローエンフォースメント装置内に組み込まれた矛盾の無いフロールールのセットに新しいルールを統合するので、フローエンフォースメント装置は新しいフローを取り扱うことができる。
【００１３】
本実施形態の一変形では、複数のネットワークサービスには、ファイアウォールサービス、サービスレベルアグリーメントモニタリングサービス、負荷バランシングサービス、トランスポートマッチングサービス、フェイルオーバーサービス、及び、高可用性サービスが含まれるが、これらに限定されない。
【００１４】
本実施形態の一変形では、環境エージェントから環境情報を受信したとき、システムは矛盾の無いフロールールのセットを更新するためこの環境情報を使用する。
【００１５】
本実施形態の一変形では、アプリケーションから情報を受信したとき、システムは矛盾の無いフロールールのセットを更新するためこの情報を使用する。
【発明を実施するための最良の形態】
【００１６】
（発明の詳細な説明）
以下の説明は、当業者が本発明を実施し使用することができるように提示され、特定のアプリケーション及びその要求という面において提供される。開示された実施形態に対する種々の変更は当業者に容易に理解され、本明細書に規定された一般的な原理は本発明の精神及び範囲を逸脱することなく他の実施形態及びアプリケーションに適用される。したがって、本発明は、明らかにされた実施形態に限定されることは意図されず、本明細書に開示された原理及び特徴に従う最も広い範囲であることが認められるべきである。
【００１７】
この詳細な説明に記載されたデータ構造及びコードは、典型的に、コンピュータシステムによる使用のためコード及び／又はデータを格納することができるどのような装置又は媒体でもよいコンピュータ読み取り可能な記憶媒体に格納される。その中には、ディスクドライブのような磁気及び光記憶装置、磁気テープ、ＣＤ（コンパクトディスク）並びにＤＶＤ（デジタル多用途ディスク又はデジタルビデオディスク）と、（信号が変調させられる搬送波の有無にかかわらず）伝送媒体に組み込まれたコンピュータ命令信号とが含まれるが、それらに限定されない。伝送媒体は、例えばインターネットなどのコミュニケーションネットワークを含む。
【００１８】
（フローマネージャアーキテクチャ）
図４は本発明の一実施形態によりパケットフローを取り扱うアーキテクチャの説明図である。本アーキテクチャはフローマネージャ４０２及びフローエンフォースメント装置４０４を含む。動作中に、フローエンフォースメント装置４０４は、高速パイプ１０２からパケットを受信し、スイッチ１０８を介してサーバ１１０〜１１２へパケットを経路制御する。フローエンフォースメント装置４０４は、パケットヘッダの変換のような簡単なオペレーションをパケットに実行する。
【００１９】
フローマネージャ４０２は、様々なコンポーネントから受信したルールに基づいてフローエンフォースメント装置４０４のための矛盾の無いルールのセットを生成する。たとえば、図４は、ファイアウォールマネージメントコンポーネント４１４、ＳＬＡモニタリングコンポーネント４１５、トランスポートマッチングマネージメントコンポーネント４１６及び負荷バランシングマネージメントコンポーネント４１７を含む典型的なコンポーネントのセットを例示する。この典型的なコンポーネントのセットは例示の目的のためだけに与えられたことに注意すべきである。一般に、システムは多数の他の異なるタイプのコンポーネントを含む。同様に、異なるコンポーネントからのルールは衝突する可能性があることに注意すべきである。
【００２０】
ファイアウォールマネージメントコンポーネント４１４は、エッジ装置によって実行されるファイアウォール機能と関連付けられた各種のセキュリティ特徴を提供する。たとえば、ファイアウォールマネージメントコンポーネント４１４は、特定のパケットだけがサーバ１１０〜１１２へ到着することを許可するアクセス制御ポリシーを実施可能である。
【００２１】
ＳＬＡモニタリングコンポーネント４１５は、サーバ１１０〜１１２を利用する顧客のためのモニタリングサービスレベルアグリーメントと関連付けられた各種のサービスを提供する。
【００２２】
トランスポートマッチングマネージメントコンポーネント４１６は、ネットワークフローを基礎となるトランスポートプロトコルに適合させる。データセンターの中に入る通信は典型的にＴＣＰ／ＩＰトラフィックであることに注意すべきである。さらに、通信の発信元は、宛先が同じプロトコルを理解していることを想定する。しかし、データセンターは、効率又は下位互換性の理由でその固有のウォールの範囲内で異なるプロトコルの使用を選択することがある。たとえば、一部の企業は、現在サーバクラスタの範囲内でＩｎｆｉｎｉＢａｎｄ（ＩＢ）を使用することを相談している。これを機能させるためには、ある種の手段がクラスタの範囲内でＴＣＰフローを停止しＩＢフローを開始する必要がある。このプロセスは「トランスポートマッチング」として知られている。
【００２３】
負荷バランシングマネージメントコンポーネント４１７は、サーバ１１０〜１１２の間で負荷をバランスさせるようにパケットをサーバ１１０〜１１２へ経路制御する。たとえば、１台のサーバの負荷が重い場合、負荷バランシングマネージメントコンポーネント４１７は新しいフローをより負荷の軽いサーバへ経路制御可能である。
【００２４】
フローマネージャ４０２は他の発信元からの入力も受信可能である。（１）フローマネージャ４０２は、たとえば、特定のフローを経路制御する方法及びネットワークサービスに優先順位を付ける方法を指定するアドミニストレータからコマンドを受信する。（２）フローマネージャ４０２は環境エージェントと通信する環境インタフェース４０８からの入力を受信する。（３）フローマネージャはまた、サーバ１１０〜１１２上で動くオペレーティングシステム及びアプリケーションと通信する別のインタフェース４０６からの入力を受信する。
【００２５】
フローマネージャ４０２は、フローエンフォースメント装置４０４によって使用可能な低レベルの形式で単一の矛盾の無いフロールールのセットを作成する際にこれらの入力及びルールを考慮する。本発明の一実施形態において、低レベルフロールールのそれぞれは、パケットフロー内のパケットのクラスを定義するフィルタと、そのパケットのクラスに適用されるべきオペレーションを定義するアクションを指定する。このようにして、フィルタはそのフロールールが適用されるパケットを見つけるため使用され、アクションは識別されたパケットにオペレーションを適用するため使用される。
【００２６】
図５は本発明の一実施形態による図４に示されたフローマネージャアーキテクチャのより詳細な図を提示する。図５において、フローマネージャ４０２は、環境エージェントアダプテーションレイヤ（ＥＡＡＬ）５１３を介して環境エージェント５１２からの入力を受信する。環境エージェント５１２は、たとえば、日時に関する情報を提供し、日時に応じたルールの変更を可能にさせる。環境エージェント５１２はまた現在ネットワークトラフィックに関する情報を提供し、たとえば、サービス攻撃の拒絶が行われていることを示す。
【００２７】
フローマネージャ４０２はまた、アプリケーションエージェントアダプテーションレイヤ（ＡＡＡＬ）５１５を介してアプリケーションエージェント５１４からの入力を受信する。アプリケーションエージェント５１４はサーバ１１０〜１１２上のオペレーティングシステム又はアプリケーションプログラムからの情報を提供する。たとえば、アプリケーションは、顧客がクレジットカード番号をウェブサイトへ提供したことを示し、それによって、顧客が、単にウェブサイトをブラウジングする人ではなく、有料クライアントであることを示す。これによって、フローマネージャ４０２はその顧客からのネットワークフローにより高い優先順位を与える。
【００２８】
フローマネージャ４０２はまたネットワークサービスアダプテーションレイヤ５１７を介して各種のネットワークサービス５１６からのルールを受信する。図４と同じように、これらのネットワークサービスは、マネージメントコンポーネント４１４、ＳＬＡモニタリングコンポーネント４１５、トランスポートマッチングマネージメントコンポーネント４１６及び負荷バランシングマネージメントコンポーネント４１７を含む。
【００２９】
フローマネージャ４０２は、サービスルールデータベース５２２内のルールを作成及び／又は修正するため環境エージェント５１２、アプリケーションエージェント５１４及びネットワークサービス５１６から受信した入力を使用する。
【００３０】
ルールクランチャ（ｃｒｕｎｃｈｅｒ）５１９は、サービスルールデータベース５２２からのルールとアドミニストレータ４１０からの入力を組み合わせて、静的フローマネージャ（ＦＭ）ルールデータベース５２０に格納されるルールを生成する。これらのルールは引き続いて、新しいフローのためのルールを生成する例外マネージャ５２１に入れられる。得られたルールは動的ルールデータベース５２４に格納される。
【００３１】
フローエンフォースメント装置４０４はルールセットマネージャ５３４を含み、それはフローエンフォースメントアダプテーションレイヤ５２８を介して規則を取り出し、ルールテーブル５３５を占めるためそれらのルールを使用する。フローエンフォースメント装置４０４はまたクラシファイア５３０を含み、それは特定のルールに関連付けられたパケットを識別するためルールテーブル５３５からのフィルタを使用する。
【００３２】
パケットが識別されると、指定されたアクションがアクションモジュール５３２によってそのパケットに適用される。そのようにする際に、アクションモジュール５３２は多数のキュー５３６〜５３７の中にフローを送り込み、キューはフローをスイッチ１０８に入れる。アクションモジュール５３２は、パケットドロップ、パケットのヘッダの翻訳、及び、メタデータのパケットへの挿入のような多数のアクションをパケットに対して実行する。
【００３３】
アクションモジュール５３２が既存のフィルタのいずれとも適合しないパケットに遭遇するならば、パケットは新しいフローの一部である。そのパケットに関連付けられた情報がパケットアダプテーションレイヤ２５６を介してクラシファイア５１８のフローマネージャ４０２へ入る。クラシファイア５１８の出力は例外マネージャ５２１へ入り、それは新しいフローのためのルールを生成する。これらのルールは動的ルールデータベース５２４に格納され、フローエンフォースメント装置４０４内のルールテーブル５３５を占めるため使用される。
【００３４】
（フローマネージャのオペレーション）
図６は本発明の一実施形態によるフローマネージャ４０２のオペレーションを説明するフローチャートを表す。複数のネットワークサービスからのルール（同時に環境エージェント５１２、アプリケーションエージェント５１４及びアドミニストレータ４１０からの入力）を受信したとき（ステップ６０２）、ルールクランチャ５１９はルールを、フローエンフォースメント装置４０４が使用するため適した低レベル形式の矛盾の無いフロールールのセットにまとめる（ステップ６０４）。
【００３５】
本発明の一実施形態では、ルールをまとめるタスクは、ルール間の衝突を識別するステップと、衝突するルールに異なる優先順位を割り当てるステップとを含む。これは、より優先順位の高いルールがより優先順位の低いルールよりも先に適用されることを可能にする。たとえば、ファイアウォールルールはデータセンターのセキュリティを確保し、一方、負荷バランシングルールはサーバ稼働率を改良するだけであるので、ファイアウォールルールは負荷バランシングルールよりも高い優先順位が与えられる。
【００３６】
得られたルールはフローエンフォースメント装置４０４内のルールテーブル５３５に格納され（ステップ６０６）、次に、高帯域幅パイプ１０２を介して受信された処理中のパケットで使用される。
【００３７】
（新しいフロー）
図７は本発明の一実施形態により新しいフローが取り扱われる方法を説明するフローチャートを表す。この処理は、新しいフローがフローエンフォースメント装置４０４で検出されたときに始まる（ステップ７０２）。この検出は、たとえば、受信されたパケットがルールテーブル５３５内の既存のテンプレートと適合しないときに行われる。この新しいフローはフローマネージャ４０２内のクラシファイア５１８へ通信される。クラシファイア５１８の出力は、新しいフローのための新しいルールを生成するため例外マネージャ５２１によって使用される（ステップ７０４）。これらの新しいルールは、次に、動的ルールデータベース５２４に格納された矛盾の無いルールのセットに統合され、それがフローエンフォースメント装置４０４内のルールテーブル５２５へ伝達されることを可能にさせる（ステップ７０６）。
【００３８】
（フロールール更新）
図８は本発明の一実施形態により環境情報がフロールールを更新するため使用される方法を説明するフローチャートを表す。環境エージェント５１２からの環境情報を受信したとき（ステップ８０２）、システムはフローエンフォースメント装置４０４内のルールテーブル５３５のフロールールを更新するためこの環境情報を使用する（ステップ８０４）。これは、図５に関して既に説明したように、サービスルールデータベース５２２、静的フローマネージャルールデータベース５２０及び動的ルールデータベース５２４内のルールの更新を含む。
【００３９】
図９は本発明の一実施形態によりアプリケーションからの情報がフロールールを更新するため使用される方法を説明するフローチャートを表す。アプリケーションエージェント５１４からアプリケーション又はオペレーティングシステムからの新しい情報を受信したとき（ステップ９０２）、システムはフローエンフォースメント装置４０４内のルールテーブル５３５のフロールールを更新するためこの情報を使用する（ステップ９０４）。上記のごとく、これは、サービスルールデータベース５２２、静的フローマネージャルールデータベース５２０及び動的ルールデータベース５２４内のルールの更新を含む。
【００４０】
上記の本発明の実施形態の説明は、例示及び解説の目的のためだけに提示された。それらは、網羅的であること、又は、本発明を開示された形式に限定することを意図されていない。したがって、多数の変更及び変形が当業者に明白である。さらに、上記の開示は本発明を制限することを意図していない。本発明の範囲は特許請求の範囲に記載された事項によって規定される。
【図面の簡単な説明】
【００４１】
【図１】マネージメントモジュールを収容するパイプラインの説明図である。
【図２】本発明の一実施形態によりマネージメントとクラシフィケーション／ディスパッチのための別個のコンポーネントを備えたマネージメントモジュールを収容するパイプラインの説明図である。
【図３】マネージメントモジュールを収容する並列パイプラインのセットの説明図である。
【図４】本発明の一実施形態によりパケットフローを取り扱うアーキテクチャの説明図である。
【図５】本発明の一実施形態による図４に示されたフローマネージャアーキテクチャのより詳細な図である。
【図６】本発明の一実施形態によるフローマネージャのオペレーションを説明するフローチャートである。
【図７】本発明の一実施形態により新しいフローが取り扱われる方法を説明するフローチャートである。
【図８】本発明の一実施形態により環境情報がフロールールを更新するため使用される方法を説明するフローチャートである。
【図９】本発明の一実施形態によりアプリケーションからの情報がフロールールを更新するため使用される方法を説明するフローチャートである。
【図１】
2006512012.tif 000003
【図２】
2006512012.tif 000004
【図３】
2006512012.tif 000005
【図４】
2006512012.tif 000006
【図５】
2006512012.tif 000007
【図６】
2006512012.tif 000008
【図７】
2006512012.tif 000009
【図８】
2006512012.tif 000010
【図９】
2006512012.tif 000011
【国際調査報告】
2006512012.tif 000012
2006512012.tif 000013
2006512012.tif 000014