(57)【要約】複数のパケット検査装置の集合体の一部である特定のパケット検査装置により受信されたデータユニットのための負荷分散が決定され、該集合体における複数のパケット検査装置は、対応する受信したデータユニットの内容を検査する。該特定のパケット検査装置により受信された対応するデータユニットについて、前記決定された負荷分散は、該対応するデータユニットを該特定のパケット検査装置に保持する傾向を有する。少なくとも該特定のパケット検査装置の利用状況に関する基準情報に基づいて前記負荷分散を動的に変更する。  【選択図】図１
2015534348.tif 000002
【特許請求の範囲】
【請求項１】
複数のパケット検査装置の集合体の一部である特定のパケット検査装置により受信されたデータユニットのための負荷分散をコントローラにより決定し、該集合体における該複数のパケット検査装置が、対応する受信されたデータユニットの内容を検査し、及び該特定のパケット検査装置により受信された対応するデータユニットについて、前記決定された負荷分散が、該対応するデータユニットを該特定のパケット検査装置に保持する傾向を有するものであり、
少なくとも該特定のパケット検査装置の利用状況に関する基準情報に基づいて前記負荷分散を前記コントローラにより動的に変更する、方法。
【請求項２】
前記複数のパケット検査装置の各々が、それぞれのデータユニットの内容を検査する、請求項１に記載の方法。
【請求項３】
前記負荷分散が、前記特定のパケット検査装置内の負荷分散データ構造により表され、該負荷分散の決定及び該負荷分散の変更が、該負荷分散データ構造の内容を更新させることを含む、請求項１に記載の方法。
【請求項４】
前記負荷分散データ構造が複数のエントリを有しており、その各エントリが前記複数のパケット検査装置のうちの１つに対応する宛先識別子を含む、請求項３に記載の方法。
【請求項５】
前記特定のパケット検査装置により、到来するデータユニットを受信し、
該特定のパケット検査装置により、該到来するデータユニットを前記負荷分散データ構造の所与のエントリにマッピングし、
該所与のエントリ内の前記宛先識別子により指定されるパケット検査装置へ該到来するデータユニットを送る、
請求項４に記載の方法。
【請求項６】
前記マッピングが、前記到来するデータユニットのアドレスに所定の関数を適用して、前記所与のエントリにマッピングする出力値を生成する、請求項５に記載の方法。
【請求項７】
前記データユニットを前記特定のパケット検査装置から別のパケット検査装置へリダイレクトすべきことを示すイベントに応じて前記変更が行われる、請求項１に記載の方法。
【請求項８】
前記コントローラにより、前記集合体の前記複数のパケット検査装置から基準情報を受信し、該基準情報が、該パケット検査装置の性能に関する基準、該パケット検査装置の利用可能な容量に関する基準、及び複数の該パケット検査装置間の相互接続リンクの利用状況に関する基準から選択される、請求項１に記載の方法。
【請求項９】
特定のパケット検査装置であって、
スタックの複数のパケット検査装置にわたる負荷分散に関する情報を含むデータ構造を格納するための記憶媒体であって、該データ構造内の該情報が、前記複数のパケット検査装置の利用状況に関する基準情報に応じて前記スタック内のマスタからの入力に基づいて動的に変更され、前記負荷分散に関する前記情報が、到来するデータユニットを該特定のパケット検査装置に保持する傾向を有するものである、記憶媒体と、
受信したデータユニットを該特定のパケット検査装置により処理すべきか前記スタック内の異なるパケット検査装置により処理すべきかを前記データ構造に基づいて判定するスイッチと、
該受信したデータユニットを該特定のパケット検査装置により処理すべきとの前記スイッチによる判定に基づいて該受信したデータユニットの内容を検査する検査モジュールと
を備えている、特定のパケット検査装置。
【請求項１０】
前記データ構造が、複数のエントリを有するテーブルであり、該複数のエントリの各々が、前記複数のパケット検査装置の各々に対応する宛先識別子を含み、前記スイッチが、前記受信したデータユニットを前記テーブルの前記複数のエントリのうちの所与の１つにマッピングする、請求項９に記載の特定のパケット検査装置。
【請求項１１】
前記スイッチが、前記受信したデータユニットのアドレスに所定の関数を適用して、前記所与のエントリへマッピングする出力値を生成する、請求項１０に記載の特定のパケット検査装置。
【請求項１２】
前記マスタに前記データ構造内の前記情報を動的に変更させるために該マスタに提供される基準を測定する基準測定モジュールを更に含む、請求項９に記載の特定のパケット検査装置。
【請求項１３】
前記基準情報が、該特定のパケット検査装置の性能に関する基準、該特定のパケット検査装置の利用可能な容量に関する基準、及び該特定のパケット検査装置と他のパケット検査装置との間の相互接続リンクの利用状況に関する基準から選択される、請求項１２に記載の特定のパケット検査装置。
【請求項１４】
前記スイッチが、前記スタックの他のパケット検査装置から該特定のパケット検査装置へリダイレクトされた第２のデータユニットを受信し、該スイッチが、該第２のデータユニットを前記検査モジュールにより処理させて、前記スタックの更なるパケット検査装置への該第２のデータユニットの更なるリダイレクトを阻止する、請求項９に記載の特定のパケット検査装置。
【請求項１５】
複数の相互接続リンクにより互いに相互接続された複数のパケット検査装置のスタックを備えたシステムであって、該スタック内の該複数のパケット検査装置が、対応する受信したデータユニットの内容を検査し、該スタックの該複数のパケット検査装置が、該複数のパケット検査装置の中からマスタを選択し、該マスタが、
前記スタックの特定のパケット検査装置により受信された到来するデータユニットのための負荷分散を決定し、該決定された負荷分散が、該特定のパケット検査装置に該到来するデータユニットを保持する傾向を有するものであり、及び
少なくとも該特定のパケット検査装置の利用状況に関する基準情報に基づいて前記負荷分散を動的に変更する、システム。
【発明の詳細な説明】
【背景技術】
【０００１】
パケット検査装置は、ネットワークを介して通信されたデータパケットの内容を検査するためにネットワーク内に配置することが可能なものである。ネットワークセキュリティを適用すべく使用される場合には、パケット検査技術は、疑わしい又は悪意のあるパケットを識別するために複数のプロトコル層で用いられる。別の例では、パケット検査は、他の分野において適用することも可能である。ネットワーク技術の使用が成長するにつれて、パケット検査装置の性能もまた拡大されて、次第に増大するレベルのネットワークトラフィックを検査する能力を提供するものとなる。
【図面の簡単な説明】
【０００２】
【図１】一実施形態による積み重ねて配置された複数のパケット検査装置を含む例示的な構成のブロック図である。
【図２】一実施形態による例示的なパケット検査装置のブロック図である。
【図３】一実施形態による動的な負荷分散プロセスのフローチャートである。
【図４】一実施形態による再平衡プロセスのフローチャートである。
【発明を実施するための形態】
【０００３】
幾つかの実施形態について図面を参照して説明する。
【０００４】
ネットワークに通信されたデータパケットのパケット検査を実行すべくシステムの全体的な能力を増大させるために、複数のパケット検査装置を積み重ねて配置することが可能である。該複数のパケット検査装置を積み重ねてなるもの（以下「スタック」と称す）は、複数のパケット検査装置の任意の集合体を称することが可能であり、この場合、該集合体内の複数のパケット検査装置は、相互接続リンク（例えば、高速相互接続リンク）を使用して相互接続される。前記複数のパケット検査装置のスタックは、実施形態によっては、かかる複数のパケット検査装置を物理的に積み重ねたものを称することが可能であり、この場合には、１つのパケット検査装置をもう１つのパケット検査装置上に物理的に配置することが可能である。別の実施形態では、前記複数のパケット検査装置のスタックは、互いに物理的に積み重ねられている必要はなく、複数のパケット検査装置の相互接続を可能とする１つ以上の筐体内に配設することが可能である。
【０００５】
実施形態によっては、各パケット検査装置は、適当なネットワークプロトコル（例えば、Ethernetプロトコルなど）を使用してネットワークに接続する能力を有することが可能である。代替的な実施形態では、複数のパケット検査装置のうちの一部のみをネットワークに接続することが可能である。
【０００６】
パケット検査は、パケットの内容の検査を含むことが可能であり、この場合、その検査される内容は、パケットのペイロード及びおそらくはパケットのヘッダを含む。「パケット」とは、電子的な装置間でデータを運ぶために使用することができる任意のタイプのデータユニットを含むことが可能である。例えば、１つのパケットは、IP（Internet Protocol）パケット、Ethernetフレーム、又はその他の任意のタイプのデータユニットを含むことが可能である。
【０００７】
パケットの内容の検査は、セキュリティ目的（例えば、不正侵入の識別又は阻止、ウィルス又はワーム等のマルウェアの検出又は阻止、スパムの検出又は阻止、プロトコル違反の検出、及びアプリケーションの制御など）を含む、様々な目的で実行することが可能である。プロトコル違反を検出するためのパケット検査は、１つ以上の規格に従わず又は準拠しないデータを識別しようとする。アプリケーションを制御するためのパケット検査は、１つ以上の判定基準に基づいてアプリケーションの実行を阻止し又は許可することを含むことが可能である。パケット検査はまた、他の目的で実行することが可能であり、例えば、（ネットワークを介して通信された情報をより良く理解するためにパケットの内容を解析するための）データマイニング、コンテンツの傍受（例えば、政府機関又は企業による傍受）、検閲、及びシステムの監視（例えばシステム（例えばネットワーク）の現在の状況を判定するためのもの）などを実行するためにパケット検査を実行することが可能である。
【０００８】
パケット検査の一例として、複数のプロトコル層でパケットの内容を検査するDPI（Deep Packet Inspection）が挙げられる。パケット検査により実行されるパケット検査は、パケットのヘッダのみの検査とは区別されるものであり、後者は、典型的には、パケットを宛先に経路指定するためにスイッチ又はルータにより行われるものである。
【０００９】
到来するトラフィックが存在する場合に、複数のパケット検査装置のスタックのうちの特定の１つのパケット検査装置に過度な負荷が加わるのを回避するために、負荷分散機構又は技術を実施して、到来するパケットを、該スタック内の１つのパケット検査装置から別のパケット検査装置へと分散させることが可能である。しかし、該スタック内の複数のパケット検査装置間でのパケットの分散に関する課題は、該スタック内の複数のパケット検査装置間で分散させるトラフィックの量を比較的多くすることがある。該スタック内の複数のパケット検査装置間で分散される比較的多くの量のトラフィックに適応させるために、該複数のパケット検査装置間のネットワーク接続の帯域幅を大きくしなければならず、その結果として、装置コスト及び配置コストの点でコストが増大することになる。
【００１０】
別の問題は、所与のトラフィックフローの複数のパケットが同じパケット検査装置によって操作されることをもたらすフローアフィニティ（flow affinity：フローの親和性）に関するものである。実例によっては、フローアフィニティを提供するために、到来するパケット内の特定の情報にハッシュ関数（又はその他の関数）を適用することが可能であり、この場合、該情報は、プロトコル、ソースアドレス、及び宛先アドレスを含むことが可能である。パケットの特定のフィールドに対するハッシュ関数の適用は、所与のテーブルの対応するエントリへとマッピングするハッシュ値（又はその他の値）を生成し、該エントリは、該パケットを検査することになる特定のパケット検査装置を指し示す値を含むものである。場合によっては、フローアフィニティの結果として、比較的大量のパケットが、入口となる（ingress）パケット検査装置から別のパケット検査装置へ転送されることとなり、これは相互接続リンク上のトラフィックを増大させるものとなり得る。
【００１１】
また、トラフィックフローによっては、他のトラフィックフローよりも多くのリソースを消費する可能性があり、このため、トラフィックのパケットを複数のパケット検査装置間で均等に分散させた場合には、該複数のパケット検査装置上の負荷が不均一になり得る。また、場合によっては、負荷分散機構又は技術は、スタック内の複数のパケット検査装置の全てが、同一の、到来するトラフィックを処理する能力を有することを前提としたものである可能性があるが、これは正しくない場合がある。
【００１２】
実施形態によっては、スタックの複数のパケット検査装置間での到来するパケットの動的な分散を可能とする技術又は機構が提供され、この場合、該技術又は機構は、所与のパケットを受信した入口（ingress）パケット検査装置に該所与のパケットを保持する傾向を有する負荷分散ストラテジーを用いたものである。実施形態によっては、該負荷分散ストラテジーは、スタックの複数のパケット検査装置内の（各パケット検査装置にトラフィックの分散方法を指示する）マスタ装置により制御することが可能である。個々のパケットを受信した入口パケット検査装置に該パケットを保持する傾向を有する負荷分散ストラテジーは、スタックの複数のパケット検査装置間で分散されるべきパケットの量の削減を可能とするものとなる。その結果として、複数のパケット検査装置のスタックを一層狭い帯域幅仕様を有する相互接続リンクを用いて設計し実施することが可能となり、これにより、該スタックを一層コスト効率の良いネットワーク接続インフラストラクチャを用いて配置することが可能となり、及び該スタックを一層良好な状態に拡張させることが可能となる。
【００１３】
更に、複数のパケット検査装置のスタックにおける到来パケットの動的な分散は、該スタックの複数のパケット検査装置及び／又は複数の相互接続リンクの利用に関する監視された基準に基づいて行うことが可能である。例えば、特定のパケット検査装置の利用が所定のしきい値に達した際に、更なる到来パケットを該スタックの特定のパケット検査装置から別のパケット検査装置へとリダイレクトすることが可能である。このようにして、負荷分散ストラテジーは、到来するトラフィックを入口パケット検査装置に保持しようとすると共に、スタックの複数のパケット検査装置のうちの何れかが所定のしきい値に達する利用状況にある場合に、到来するパケットを、該複数のパケット検査装置のうちの他のパケット検査装置におけるオーバーフロー容量が処理することを可能にする。以下で更に説明するように、他の因子もまた考え得る。実施形態によっては、複数のパケット検査装置のスタックの全体的な総合性能を改善して、該複数のパケット検査装置間の比較的低いネットワーク接続帯域幅による性能への悪影響を低減させることが可能である。
【００１４】
図１は、複数のパケット検査装置106-1,106-2,106-3,…,106-nのスタック104（nは該スタック104におけるパケット検査装置の個数を表す）を有する検査システム102を含む例示的な構成のブロック図である。実施形態によっては、２個のパケット検査装置のみ（n=2）とすることが可能であり、他の実施形態では、nを３以上とすることが可能である。
【００１５】
検査システム102は、（例えば外部ネットワーク108内のネットワーク装置による不正アクセスから内部ネットワーク106を保護するための）侵入防止システムとすることが可能である。該内部ネットワーク106は、企業（例えば、会社、政府機関、教育組織その他）に関連するネットワーク等のエンタープライズネットワークとすることが可能である。別の例として、内部ネットワーク106は、ユーザのホームネットワークとすることが可能である。更なる例として、内部ネットワーク106は、インターネットサービスプロバイダのネットワークとすることが可能である。
【００１６】
内部ネットワーク106の外側にある外部ネットワーク108は、インターネット又はその他のネットワークを含むことが可能である。
【００１７】
別の例では、検査システム102は、上述したような他の目的で使用することが可能である。
【００１８】
検査システム102の第１の側は、外部ネットワーク108のネットワークリンク110に接続される。該ネットワークリンク110を介して該検査システム102にネットワーク装置112が接続される。
【００１９】
検査システム102の第２の側は、内部ネットワーク106のネットワークリンク116に接続される。該ネットワークリンク116を介して該検査システム102にネットワーク装置114が接続される。ネットワークリンク110,116は、有線リンク、無線リンク、又はそれらの組み合わせとすることが可能である。ネットワーク108,106内にそれぞれネットワークリンク110,116のみを示したが、検査システム102のパケット検査装置106-1〜106-nにそれぞれ接続された多数のネットワークリンクが存在し得ることに留意されたい。
【００２０】
各ネットワーク108,106内にネットワーク装置112,114のみを示したが、それぞれのネットワーク内に更なるネットワーク装置が存在し得ることに留意されたい。外部ネットワーク108内の（ソース）ネットワーク装置112は、内部ネットワーク106内の宛先（例えばネットワーク装置114）に向けたパケットを送信することが可能である。検査システム102が侵入防止システムであり又は検閲のために使用される一例では、複数のパケット検査装置106-1〜106-nのうちの１つ以上が、（１つ以上の）ネットワークリンク110から受信した到来パケットを検査して、該パケットの内部ネットワーク106への送信を許可するか否かを判定することが可能である。他の実施形態では、検査システム102は（かかる他の実施形態でパケット検査装置をデータマイニングや傍受その他のために使用することができる場合を除き）、外部ネットワーク108と内部ネットワーク106との間でパケットが自由に通過することを可能にする。
【００２１】
図１に更に示すように、パケット検査装置106-1〜106-nは、パケット検査装置106-1,106-2間の相互接続リンク118-1及びパケット検査装置106-2,106-3間の相互接続リンク118-2等を含む、様々な相互接続リンクにより相互接続することが可能である。相互接続リンク118-nは、パケット検査装置106-nをパケット検査装置106-1に接続する。図１に示す接続トポロジはリングトポロジであり、この場合、複数のパケット検査装置は１つのリング内に接続されているとみなすことができる。該リングトポロジを用いることにより、スタック104の複数のパケット検査装置を互いに相互接続するために、各パケット検査装置を２つの相互接続ポートのみを用いて実施することが可能となる。代替的な実施形態では、各パケット検査装置を他のパケット検査装置に直接接続して（リンクトポロジではなく）格子状の相互接続リンクを形成することが可能である。
【００２２】
実施形態によっては、検査システム102は、負荷分散ストラテジーを管理することができるマスタ装置を含む。該マスタ装置は、複数のパケット検査装置106-1〜106-nのうちの１つとすることが可能である。代替的に、マスタ装置は、パケット検査装置106-1〜106-nとは別個のコントローラとすることが可能である。実施形態によっては、マスタ装置は、スタック104内の複数のパケット検査装置の中から選択プロセスで動的に選択することが可能である。
【００２３】
実施形態によっては、マスタ装置の責務は、性能に関する基準、ヘッドルーム（例えば、パケット検査装置における既存負荷に基づく各パケット検査装置の利用可能な容量）に関する基準、複数のパケット検査装置間での相互接続リンク（118-1〜118-n）の利用状況に関する基準、及び／又はその他の基準を含む、様々な監視された基準に基づく、スタック104の複数のパケット検査装置間での到来パケットの負荷分散の決定を含む。
【００２４】
性能に関してパケット検査装置により測定することができる基準の例として、パケット検査装置における混雑の量を測定するための混雑基準、パケット検査装置を介した処理速度を測定するためのスループット基準、又はその他の基準のうちの１つ又はそれらの１つ以上の組み合わせが挙げられる。相互接続リンクの利用状況に関する基準の例として、相互接続リンクの消費帯域幅、相互接続リンクの混雑状態（例えば、混雑、非混雑など）が挙げられる。
【００２５】
幾つかの例示的な基準を上記で列挙したが、別の実施形態では他の種類又は追加の種類の基準を採用することが可能であることに留意されたい。より一般的には、使用することができる基準には、パケット検査装置の動作又は利用可能な処理能力に関する基準、又はパケット検査装置に接続された相互接続リンクの動作又は状態に関する基準が含まれる。
【００２６】
対応するパケット検査装置により様々な基準を監視し収集することが可能である。パケット検査装置は、監視された基準を、定期的に又は他のイベント（例えば、故障状態、過負荷状態など）に応じてマスタ装置へ送信することが可能である。
【００２７】
監視された基準に基づき、マスタ装置は、スタック104内の各パケット検査装置について適当な負荷分散を決定することが可能である。監視された基準は、パケット検査装置及び／又は相互接続リンクの利用状況が所定のしきい値内にあるか否かをマスタ装置が判定することを可能にする。実施形態によっては、パケット検査装置の利用状況に関するしきい値は、相互接続リンクの利用状況に基づいて変化させることが可能である。例えば、相互接続リンクの利用状況が所定のしきい値に接近した際に、パケット検査装置の利用状況に関するしきい値を増大させて、該パケット検査装置で受信したパケットの保持を促すことが可能である。
【００２８】
更なる実施形態では、マスタ装置により考慮することができる別の因子は、リソースの分割（partitioning）に関する因子である。例えば、パケットの所与のトラフィックフローは、少なくとも所定量のリソースが該所与のトラフィックフローに割り当てられるべきことを指定することが可能である。この場合、マスタ装置は、少なくとも該所定量のリソースが該所与のトラフィックフローに割り当てられるようにリソースを分割することが可能である。
【００２９】
スタック104の各パケット検査装置毎にマスタ装置により決定された負荷分散は、負荷分散データ構造（例えば、対応するパケット検査装置に格納することが可能な負荷分散テーブル）で示すことが可能である。マスタ装置により決定された負荷分散に従って、該マスタ装置は、スタック104により処理されるべき到来パケットの目標の分散を達成すべく、該スタック104のパケット検査装置における負荷分散テーブルを更新させることが可能である。異なるパケット検査装置内の負荷分散テーブルが異なり得るものであることに留意されたい。マスタ装置は、それぞれの負荷分散テーブルの内容を別個にプログラミングすることが可能である。
【００３０】
入口パケット検査装置（到来パケットを受信するもの）は、その負荷分散テーブルを使用して該到来パケットを送るべき場所を判定する（該到来パケットは、該入口パケット検査装置によりローカルで処理され、又は１つ以上の相互接続リンクを介してスタック104内の他のパケット検査装置へと分散される）。
【００３１】
実施形態によっては、マスタ装置は、他のタスクを責務とすることも可能である。例えば、マスタ装置は、スタック104に対する新たなパケット検査装置の追加又は該スタック104からのパケット検査装置の除去の管理を責務とすることが可能である。更なる実施形態として、マスタ装置は、図４に関して以下で説明するように、再平衡プロセスを開始してトラフィックフローを異なるパケット検査装置へとリダイレクトさせることが可能である。
【００３２】
図２は、スイッチ202及び検査モジュール204を含む例示的なパケット検査装置106を示している。該スイッチ202又は検査モジュール204は、集積回路として、又は処理回路上で実行することが可能なマシン読み取り可能命令として、実施することが可能である。スイッチ202は、入口ネットワークポート206からパケットを受信する。入口ネットワークポート206は、図１の外部ネットワーク108のネットワークリンク110等のネットワークリンクに接続される。パケット検査装置106はまた、図１の内部ネットワーク106内のネットワークリンク116等の宛先ネットワークリンクへパケットを送信するための出口（egress）ネットワークポート208を有する。別の実施形態では、別個の入口ネットワークポート及び出口ネットワークポートを配設するのではなく、双方向ネットワークポートを使用することが可能である。別の実施形態では複数組の入口及び出口ネットワークポート206,208が存在することが可能であることに留意されたい。
【００３３】
スイッチ202は、入口スタックポート210及び出口スタックポート212にも接続される。入口スタックポート210は、図１の相互接続リンク118-1〜118-n等の相互接続リンクを介して他のパケット検査装置からパケットを受信するためにスイッチ202により使用される。出口スタックポート212は、対応する相互接続リンクを介して他のパケット検査装置へパケットを送信するためにスイッチ202により使用される。別の実施形態では、別個の入口スタックポート及び出口スタックポートを配設するのではなく、双方向スタックポートを使用することが可能である。
【００３４】
実施形態によっては、スイッチ202は、（図１の外部ネットワーク108から）入口ネットワークポート206を介して受信した到来パケットを負荷分散テーブル214を用いて如何に処理するかを決定し、該負荷分散テーブル214は、パケット検査装置106の記憶媒体216内に格納することが可能である。到来パケット中の情報は、負荷分散テーブル214のエントリにマッピングされる。マッピングされた負荷分散テーブル214のエントリの内容は、到来パケットが処理されるべき場所をスイッチ202が決定することを可能にする。負荷分散テーブル214のエントリにマッピングされる到来パケットの情報は、プロトコル（例えばIPプロトコル）、ソースアドレス（例えばソースIPアドレス）、及び宛先アドレス（例えば宛先IPアドレス）を含むことが可能である。実施形態によっては、パケット情報にハッシュ関数（又はその他の種類の関数）を適用して、負荷分散テーブル214の複数のエントリのうちの１つにマッピングされる出力値（例えばハッシュ値又はその他の値）を生成することが可能である。関数による様々な出力値が負荷分散テーブル214の様々なエントリにマッピングされる。
【００３５】
実施形態によっては、負荷分散テーブル214の各エントリは、到来パケットが経路指定されるべきスタックの複数のパケット検査装置のうちの１つに対応する宛先識別子を有する。スタック104（図１）内の異なるパケット検査装置106-1〜106-nにそれぞれの宛先識別子を関連付けることが可能である。実施形態によっては、宛先識別子は、ポート番号という形をとることが可能であり、この場合、異なるポート番号が異なるパケット検査装置に対応することができる。負荷分散テーブル214のマッピングされたエントリに含まれる宛先識別子に応じて、それぞれの宛先識別子により識別されるパケット検査装置へと到来パケットが転送される。
【００３６】
別の実施形態では、負荷分散テーブル214を使用する代わりに、スイッチ202が到来パケットをスタック104内の複数のパケット検査装置のうちの選択された１つへと分散させることを可能にする情報を含む他の種類の負荷分散データ構造を使用することが可能である。
【００３７】
負荷分散テーブル214のマッピングされたエントリが、（所与のパケット検査装置106の入口ネットワークポート206で受信された）到来パケットを該所与のパケット検査装置106によりローカルに検査すべきことを示す場合には、該到来パケットが検査モジュール204に提供されて該到来パケットの内容の対応する検査が実行される。その検査後、該パケットが、該検査の主題である１つ以上の基準を満たす場合には、検査モジュール204は、該到来パケットを宛先ネットワーク装置へ送信するために出口ネットワークポート208へ転送すべきことをスイッチ202に通知することが可能である。
【００３８】
一方、負荷分散テーブル214のマッピングされたエントリが、到来パケットを別のパケット検査装置106により検査すべきことを示す場合には、該到来パケットは、出口スタックポート212を介して別のパケット検査装置へ送られる。
【００３９】
図２に更に示すように、パケット検査装置106は、上述したような様々な基準を測定するための基準測定モジュール220を更に含む。収集された基準は、マスタ装置へ通信するために記憶媒体223内に基準222として格納することが可能である。該基準測定モジュール220は、集積回路又は処理回路上で実行することが可能なマシン読み取り可能命令として実施することが可能である。
【００４０】
パケット検査装置106はまた、負荷分散コントローラ218を有しており、これもまた集積回路又は処理回路上で実行することが可能なマシン読み取り可能命令として実施することが可能である。パケット検査装置106がマスタ装置である場合には、上述したような負荷分散に関するマスタ装置のタスクを該負荷分散コントローラ218が実行する。パケット検査装置106が非マスタ装置（「参加装置（participant device）」とも呼ばれる）である場合には、該参加装置の負荷分散コントローラ218は、負荷分散の決定を行うことを可能とすべくマスタ装置の負荷分散コントローラ218と対話する。例えば、参加装置の負荷分散コントローラ218は、収集した基準(222)をマスタ装置へ送ることが可能である。更に、参加装置の負荷分散コントローラ218は、マスタ装置の負荷分散コントローラ218から負荷分散テーブル214の更新に関するメッセージを受信することが可能である。
【００４１】
所与のパケット検査装置106の負荷分散テーブル214は、スタック104内の変化する状態に基づいて動的に更新することが可能である。上述のように、マスタ装置は、スタックの個々のパケット検査装置及び／又は相互接続リンクに関する基準を監視して、該スタック内のパケット検査装置の負荷分散テーブルに反映されるように該マスタ装置が現在の負荷分散を変更すべきか否かを判定する。
【００４２】
上述のように、マスタ装置により採用される負荷分散ストラテジーは、到来パケットが入口パケット検査装置で検査されるように該到来パケットを該入口パケット検査装置に保持する傾向を有するものである。かかるストラテジーは、入口パケット検査装置がローカル検査のために到来パケットを保持する傾向を有するため、「貪欲な（greedy）負荷分散ストラテジー」とみなすことができる。かかる貪欲な負荷分散ストラテジーを用いた結果として、スタックの相互接続リンク（図１の118-1〜118-n）を介したトラフィックが減少することになる。実施形態によっては、貪欲な負荷分散ストラテジーは、ローカルパケット検査装置の宛先識別子を含むように該ローカルパケット検査装置の負荷分散テーブル内の一層多数のエントリをプログラミングすることにより提供することが可能である。
【００４３】
実施形態によっては、マスタ装置はまた、負荷分散を最適化しようとし、及びパケット検査装置の負荷分散テーブル214に対する変更回数を最小限にしようとする。この負荷分散を最適化すると共に負荷分散テーブル214の変更回数を最小限にする方法は、負荷分散を「粘着性（sticky）」にすることを可能にする。しかし、緊急状態又は故障状態といった特定の状態が検出された場合には、負荷分散テーブル214に対して行い得る変更の回数についての所定の制限を無視することが可能である。
【００４４】
実施形態によっては、特定のパケット検査装置が、トラフィックを該特定のパケット検査装置へリダイレクトすることを要求することが可能であるが、そのトラフィックを別のパケット検査装置へ送ることを自発的に決定することはない。
【００４５】
実施形態によっては、所与のパケットを１回のみ再分散させることが可能である。換言すれば、特定のパケット検査装置が該特定のパケット検査装置から別のパケット検査装置へと負荷平衡化された（分散された）パケットの処理を試行すべきである。該特定のパケット検査装置は該パケットを別のパケット検査装置へリダイレクトすべきではない。
【００４６】
図３は、幾つかの実施形態による動的な負荷分散プロセス300のフローチャートである。図３の動的な負荷分散プロセス300は、マスタ装置により実行することが可能であり、該マスタ装置は、複数のパケット検査装置106のうちの１つとすることが可能である。より詳細には、実施形態によっては、動的な負荷分散プロセス300は、マスタ装置内の負荷分散コントローラ218（図２）により実行することが可能である。
【００４７】
マスタ装置は、（ステップ302で）複数のパケット検査装置のスタックの一部である特定のパケット検査装置106により受信されたパケットについて初期負荷分散を決定する。該マスタ装置は、この初期負荷分散を反映させるように該特定のパケット検査装置の負荷分散テーブル214をプログラミングする。上述のように、該初期負荷分散は、該特定のパケット検査装置により受信された到来パケットを、該特定のパケット検査装置の検査モジュール204により検査するために、該特定のパケット検査装置に保持する傾向を有するものである。
【００４８】
その後、マスタ装置は、（ステップ304で）少なくとも該特定のパケット検査装置及び／又は１つ以上の相互接続リンクの利用状況に関する基準情報に基づいて（該特定のパケット検査装置内の負荷分散テーブル214の内容を変更することにより）負荷分散を動的に変更することが可能である。該特定のパケット検査装置の負荷分散テーブル214の変更は、何らかの所定のイベントの発生に応じたものとすることが可能である。例えば、複数のパケット検査装置のうちの１つ以上から受信した基準が、特定のパケット検査装置に輻湊状態が切迫し又は発生している（特定のパケット検査装置の利用状況が所定の仕様の範囲外となった）状態に該特定のパケット検査装置が達したことを示す場合に、マスタ装置は、負荷の再平衡を行うための措置をとることが可能であり、これは、それぞれのパケット検査装置内のそれぞれの負荷分散テーブル214を更新させることにより達成することが可能である。同様に、特定の相互接続リンクの利用状況が（参加装置からの測定値の通知に基づき）所定のしきい値外となったことを基準が示す場合にも、マスタ装置は、負荷を再分散させるための措置をとることが可能である。
【００４９】
図４は、幾つかの実施形態による再平衡プロセスのフローチャートである。該再平衡プロセスは、再平衡イベントに応じて実行され、該再平衡イベントは、様々な任意の種類のイベントとすることが可能である。実施形態によっては、再平衡イベントは、管理（housekeeping）イベント、緊急イベント、及びユーザ要求イベントを含むことが可能である。再平衡プロセスは、マスタ装置及び１つ以上の参加装置により実行することが可能であり、より詳細には、マスタ装置及び参加装置内の負荷分散コントローラ218により実行することが可能である。
【００５０】
管理イベントは、タイマイベントを含むことが可能である。タイマイベントは、タイマの満了時にトリガされることが可能である。タイマの反復する満了は、タイマイベントの定期的な発生に対応するものである。別の管理イベントは、パケット検査装置又は相互接続リンクの利用状況が所定レベルに接近し又は到達した（例えば、パケット検査装置又は相互接続リンクに過度の負荷が加わった）場合にトリガされるイベントに関するものである。
【００５１】
緊急イベントは、迅速に対応すべき非常に深刻な状況に関するものである。緊急イベントの例として、パケット検査装置又は相互接続リンクの検出された故障又はその他の障害に応じてトリガされるイベントが挙げられる。
【００５２】
ユーザ要求イベントは、管理者等のユーザによりトリガされるものである。該ユーザは、ユーザインタフェイスを使用して、パケット検査装置のスタックの負荷の再平衡化が実行されるべきことを要求することが可能である。
【００５３】
マスタ装置は、（ステップ402で）再平衡イベントを受信する。この再平衡イベントに応じて、マスタ装置は、（ステップ404で）別のパケット検査装置へトラフィックをリダイレクトすべきスタック内の参加装置へ再平衡メッセージを発行する。該再平衡メッセージに応じて、該参加装置は、（ステップ406で）該マスタ装置へ応答メッセージを返すことにより該再平衡メッセージを受け取ったことを通知する。
【００５４】
次いで、各参加装置は、関連するトラフィックフローをターゲットとなる１つ以上のパケット検査装置へリダイレクトするプロセスを開始する。「トラフィックフロー」は、少なくとも一対のネットワーク装置間の特定の通信に関連する１つ以上のパケットを含むことが可能である。該トラフィックフローのリダイレクトは、（ステップ408で）リダイレクトされるべき各トラフィックフローを識別することにより、各参加装置により達成することが可能である。次いで、各参加装置は、（ステップ410で）識別された各トラフィックフローの状態情報を（該識別されたトラフィックフローのリダイレクト先となる）対応するターゲットとなるパケット検査装置へ送信する。該状態情報は、該リダイレクトされるトラフィックフローに関する識別情報及びその他の情報を含むことが可能である。該状態情報は、リダイレクトされたトラフィックフローに対してとるべきアクション（例えば、トラフィックフローの阻止、トラフィックフローの速度低下、トラフィックフローの信頼など）を指定することも可能である。実施形態によっては、状態情報の送信は、攻撃又はその他のイベントが発生していることをターゲットとなるパケット検査装置に知らせることを可能にし、これにより、該ターゲットとなるパケット検査装置は、トラフィックフローがリダイレクトされた後に適当なアクションをとることが可能となる。各トラフィックフローが識別され、それに対応する状態情報がターゲットとなる１つ以上のパケット検査装置へ送信された後、それぞれの参加装置は、（ステップ412で）対応するトラフィックフローのリダイレクトが完了したことをマスタ装置に通知することが可能である。
【００５５】
これに応じて、マスタ装置は、トラフィックフローのリダイレクトが完了したことを該マスタ装置に通知した参加装置に対して（ステップ414で）負荷分散テーブルの更新を発行することが可能である。これにより、（ステップ416で）対応する参加装置内の対応する負荷分散テーブル214が更新される。
【００５６】
該負荷分散テーブル214の更新により、各々の対応するパケット検査装置は、それぞれのターゲットとなるパケット検査装置へ適当な到来パケットを自動的に転送することになる。
【００５７】
上記では、実施形態によっては様々なモジュールをマシン読み取り可能命令として実施することが可能であることを示した。かかるマシン読み取り可能命令は、処理回路上で実行するためにロードされる。該処理回路は、マイクロプロセッサ、マイクロコントローラ、プロセッサモジュール又はサブシステム、プログラム可能な集積回路、プログラマブルゲートアレイ、その他の制御または計算装置、又はそれらの任意の組み合わせを含むことが可能である。
【００５８】
データ及び命令は、１つ以上の持続性のコンピュータ読み取り可能又はマシン読み取り可能記憶媒体として実施される個々の記憶装置内に格納される。該記憶媒体は、DRAM（dynamic random access memory）又はSRAM（static random access memory）、EPROM（erasable and programmable read-only memory）、EEPROM（electrically erasable and programmable read-only memory）、及びフラッシュメモリ等の半導体メモリデバイス、固定ディスク、フロッピーディスク、及びリムーバブルディスク等の磁気ディスク、テープを含むその他の磁気媒体、CD（compact disk）又はDVD（digital video disk）等の光学媒体、又はその他の種類の記憶媒体を含む、様々な形式の記憶手段を含むものである。上述した命令は、１つのコンピュータ読み取り可能又はマシン読み取り可能記憶媒体上に提供することが可能であり、代替的には、複数のノードを有し得る大規模なシステム内に分散された複数のコンピュータ読み取り可能又はマシン読み取り可能記憶媒体上に提供することが可能である、ということに留意されたい。かかる１つ以上のコンピュータ読み取り可能又はマシン読み取り可能記憶媒体は、物品（または製品）の一部とみなされるものである。物品又は製品とは、製造されたあらゆる単一の要素又は複数の要素を示し得るものである。１つ以上の記憶媒体は、そのマシン読み取り可能命令を実行するマシン内に配置することが可能であり、又はそのマシン読み取り可能命令をその実行のためにネットワークを介してダウンロードすることができる遠隔場所に配置することが可能である。
【００５９】
上記説明では、本書で開示する主題の理解を提供すべく様々な細部について説明した。しかし、本発明は、かかる細部の一部又は全部を伴うことなく実施することが可能である。他の実施形態は、上述した細部を修正又は変更したものを含むことが可能である。特許請求の範囲は、かｋる修正又は変更を網羅することを意図したものである。
【図１】
2015534348.tif 000003
【図２】
2015534348.tif 000004
【図３】
2015534348.tif 000005
【図４】
2015534348.tif 000006
【国際調査報告】
2015534348.tif 000007
2015534348.tif 000008