(57)【要約】 例えばネットワーク接続されたコンピュータシステムにおいて、ホスト上でアプリケーションを適切に実行させることを可能とする。本発明は、データ処理方法に関する。このデータ処理方法は、データをネットワークリンクから受信する受信工程と、前記データをネットワークアナライザカード上で複製し、少なくとも二版（two editions) である複数版の前記受信したデータを生成する複製工程と、前記複数版の受信したデータを、ホストアプリケーションにより直接アクセス可能なホスト内のメモリ領域に書き込む書き込み工程と、を備える。本発明はまた、ホストとネットワークを接続するネットワークアナライザカードであって、ネットワークリンクから複数のデータフレームを受信する受信機と、前記受信したデータフレームの少なくとも２個の複製版を生成するデータ複製手段と、実質的に前記受信したデータフレームの少なくとも２個の複製版の夫々に、識別子を付加するように構成及び配置された識別子加算器であって、前記識別子は、前記データフレームを処理する際に用いるために付加される前記データフレームに関するデータを含むような識別子加算器と、を備えることを特徴とするネットワークアナライザカードに関する。
2007538445.tif 000002
【特許請求の範囲】
【請求項１】
データをネットワークリンクから受信する受信工程と、
前記データをネットワークアナライザカード上で複製し、少なくとも二版（two editions)である複数版の前記受信したデータを生成する複製工程と、
前記複数版の受信したデータを、ホストアプリケーションにより直接アクセス可能なホスト内のメモリ領域に書き込む書き込み工程と、
を備えることを特徴とするデータ処理方法。
【請求項２】
ホストアプリケーションによりアクセス可能な前記メモリ領域に記憶された前記複数版の受信したデータを処理する処理工程を備え、この処理工程は、各版における侵入検知に関する異なる組の規則を実施する実施工程を備えることを特徴とする請求項１に記載のデータ処理方法。
【請求項３】
前記データはハードウェアを用いて複製されることを特徴とする請求項１又は２に記載のデータ処理方法。
【請求項４】
前記複数版の受信したデータは、複数の独立したデータストリームとして供給されることを特徴とする請求項１から３のいずれか一項に記載のデータ処理方法。
【請求項５】
前記少なくとも二版である複数版の受信したデータは、独立してバッファリングされることを特徴とする請求項１から４のいずれか一項に記載のデータ処理方法。
【請求項６】
前記複数の独立したデータストリームの夫々は、所望の基準に従ってフィルタ処理されることを特徴とする請求項４に記載のデータ処理方法。
【請求項７】
複数の異なるフィルタリング規則が、前記複数版の受信したデータの夫々に適用されることを特徴とする請求項４に記載のデータ処理方法。
【請求項８】
前記複数版の受信したデータを、前記ホストメモリにおけるカーネルメモリ領域に書き込む書き込み工程と、
前記メモリにおけるカーネル空間内の前記ホストアプリケーションにより前記データの位置付けを可能とするオフセットを前記ホストアプリケーションに供給する第１供給工程と、
を備えることを特徴とする請求項１から７のいずれか一項に記載のデータ処理方法。
【請求項９】
前記ホストメモリにおけるカーネル空間にデータを書き込む際に、カーネル空間内部のベースアドレスを参照したオフセット一覧を生成し、前記オフセット一覧は、前記ベースアドレスを参照して前記カーネル空間内部のデータパケットの位置付けを可能とするように機能することを特徴とする請求項８に記載のデータ処理方法。
【請求項１０】
アプリケーション空間で実行されるアプリケーションに、前記カーネル空間内部のデータの前記ベースアドレスの位置付けを可能とするオフセットを供給する第２供給工程を備えることを特徴とする請求項９に記載のデータ処理方法。
【請求項１１】
前記アプリケーションに、前記ベースアドレスのオフセットを参照してオフセット一覧を供給する第３供給工程を備えることを特徴とする請求項９又は１０に記載のデータ処理方法。
【請求項１２】
前記データはネットワークリンクから複数のデータフレームとして受信されることを特徴とする請求項１から１１のいずれか一項に記載のデータ処理方法。
【請求項１３】
実質的に前記受信した複数のデータフレームの夫々に、識別子を付加する付加工程を備え、前記識別子は、付加された前記データフレームに関するデータを含むことを特徴とする請求項１２に記載のデータ処理方法。
【請求項１４】
ホストとネットワークを接続するネットワークアナライザカードであって、
ネットワークリンクから複数のデータフレームを受信する受信機と、
前記受信したデータフレームの少なくとも２個の複製版を生成するデータ複製手段と、
実質的に前記受信したデータフレームの少なくとも２個の複製版の夫々に、識別子を付加するように構成及び配置された識別子加算器であって、前記識別子は、前記データフレームを処理する際に用いるために付加される前記データフレームに関するデータを含むような識別子加算器と、
を備えることを特徴とするネットワークアナライザカード。
【請求項１５】
前記受信したデータフレームの少なくとも２個の複製版を、ホストアプリケーションにより直接アクセス可能なホストメモリ領域に書き込むデータ書き込み手段を備えることを特徴とする請求項１４に記載のネットワークアナライザカード。
【請求項１６】
前記識別子は、付属するデータフレームの長さを示すデータを含むことを特徴とする請求項１４又は１５に記載のネットワークアナライザカード。
【請求項１７】
前記識別子は、対応するデータフレームが前記ネットワークアナライザカードで受信された時間を示すタイムスタンプを含むことを特徴とする請求項１４から１６のいずれか一項に記載のネットワークアナライザカード。
【請求項１８】
前記データ複製手段、前記識別子加算器、及び前記データ書き込み手段のうちの一又は複数の手段が、ハードウェア内に配置されることを特徴とする請求項１４から１７のいずれか一項に記載のネットワークアナライザカード。
【請求項１９】
前記ネットワークアナライザカードは、請求項１から１３に記載の方法における工程を実施するように制御可能であることを特徴とする請求項１４から１８のいずれか一項に記載のネットワークアナライザカード。
【請求項２０】
ネットワークに接続するためのホストであって、
前記ネットワークからデータを受信するネットワークアナライザカードと、
当該ネットワークアナライザカードから少なくとも二版である複数版の前記受信したデータを受信するためのメモリと、
前記複数版の受信したデータを処理する少なくとも２個のプロセッサと、
を備え、
前記ネットワークアナライザカードは請求項１４から１９のいずれか一項に従うことを特徴とするホスト。
【請求項２１】
前記少なくとも２個のプロセッサの夫々は、前記規則されたデータの各版に対して、異なる組の規則を実施するように配置されることを特徴とする請求項２０に記載のホスト。
【請求項２２】
前記規則は侵入検知に関するものであることを特徴とする請求項２１に記載のホスト。
【請求項２３】
請求項２０から２２のいずれか一項に記載のホストを備え、
前記複数のプロセッサは、前記ホストにより受信されたデータパケットに対して侵入検知システムにおける規則を実施するように配置される
ことを特徴とする侵入検知システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理方法、ネットワークアナライザカード、ホスト、及び侵入検知システムに関する。
【背景技術】
【０００２】
ネットワーク接続されたコンピュータシステムは、それらが接続されるネットワークから、ハッカー、スパイ及び犯意を持つ者等によってシステム上に起こされる攻撃を検知し、また時には除去するための侵入検知システム（ＩＤＳ）を備えつつある。ＩＤＳは、部分的には、受信データパケット中のデータをスキャンし、そのデータパケット又はパケット群が不正又は不要であるかどうかを定める規則を適用することにより動作する。侵入の試みが手の込んだものになるにつれ、その侵入の試みを検知するために、より多くの規則を適用する必要があるので、ＩＤＳはコンピュータ的に、又はコンピュータ処理能力的により強化されたものとなる。
【０００３】
加えて、ネットワーク上のデータ速度が上がっているので、受信データパケットを分析するプロセッサ又は中央演算処理装置（ＣＰＵ）が、トラフィックに遅れずについていくように動作すべき速度が増加する。これを解決するために、二以上のプロセッサ又はＣＰＵを用いて規則分析を実行するＩＤＳが開発されている。これは、言い換えると、その作業、即ち、受信データパケットに対する規則の実行を、プロセッサ間で共有するような方法を見つけなければならないという意味である。
【０００４】
ネットワーク接続型のコンピュータ産業における他の動向としては、多面的機能（ＩＤＳ、ファイアウォール、ネットワーク分析、パケットキャプチャ）を同一ホストで実行することが挙げられる。これには、ホストが接続しているネットワークから、ホストで受信したデータを多面的機能のうちの各機能に供給する方法と装置が必要である。
【０００５】
ＩＤＳの例について言えば、ＩＤＳに関わる規則分析を二以上（例えば、Ｎ個）のプロセッサ間で共有する問題を解決するために、複数の異なる手法が存在する。
【０００６】
第１の手法は、Ｎ個のプロセッサ間におけるトラフィックの共有に関わるものである。各プロセッサは、全規則を受信するトラフィックを適用する。トラフィック共有を実行する装置は、負荷分散装置（ロードバランサ）と称されることもある。なぜなら、使用の際に、Ｎ個のプロセッサ間において受信したトラフィックを等しく共有しようとするためである。各プロセッサが全トラフィックの１／Ｎを受信する場合は、トラフィック処理能力は単一プロセッサの場合のＮ倍である（ＣＰＵの独立性を限定するシステム問題はいずれも考慮しない）。
【０００７】
第２の手法は、各プロセッサが、ＩＤＳをＮ個のプロセッサ間で実行するのに必要な規則を、当該規則の一部を受信したネットワークデータに適用するだけであるように共有することである。この手法を用いると、Ｎ個のプロセッサの夫々は、受信した全データパケットが全規則が何らかの形で適用される規則を含むように、全てのトラフィックを受信する。各プロセッサが１／Ｎの規則（これは一つの規則を処理するために必要なプロセッササイクルの数により測定される）を適用する場合、このようなＩＤＳの規則処理能力は、単一プロセッサの場合のＮ倍である。これは、単一プロセッサのトラフィックのＮ倍量を処理可能であることと同じである。
【０００８】
第３の手法は、複数のプロセッサにより実行されるＩＤＳソフトウェアを、幾つかのプロセッサ上で実行されるバージョンに書き込む又は書き換えることである。これは一般には、マルチスレッドと称される。一例としては、一つのプロセッサ上で実行され、データパケットを他のプロセッサへ分け与えるように配置された外部負荷分散装置のソフトウェア相当物を構築することであろう。ここで、その他のプロセッサの夫々は、全ての規則を適用している。事実上、これは、先に説明した第１の手法におけるソフトウェアの実行である。
【０００９】
これら全ての場合では、N個の全プロセッサが完全に占有状態に保たれる場合にのみ、十分な性能向上が実現される。これは、複数のプロセッサ間におけるデータパケット及び／又は規則の共有が適切に行われなければならないことを意味する。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述の手法には多くの問題がある。第１の手法では、負荷分散装置は、N個のプロセッサのいずれにも受信データパケットをむやみに分配することができない。負荷分散装置は、試みた侵入（又は侵入の試みのために用いられるデータ）が幾つかのデータパケットから構成されることを認識する必要がある。侵入として検知されるには、このようなパケット群が全てN個のプロセッサのうちの同一のプロセッサに送信されなければならない。その群内のパケットがN個のプロセッサのうちの二以上のプロセッサの間で分けられる場合は、そのパケット間の相関関係は見られなくてもよく、また侵入は検知されなくなるであろう。故に、負荷分散装置は、知能と、どのパケットがどのプロセッサに渡されたかに関する状態情報を保持する能力とを有する必要がある。これにより、負荷分散装置は、特にデータ／パケット速度が速い状態に対応する場合は、複雑で高価な装置となる。
【００１１】
加えて、ＩＤＳは、ファイアウォールの前（ファイアウォールにより除去される侵入を検知するため）及び／又はファイアウォールの後ろ（ユーザのシステム内部からの侵入や、ファイアウォールの通り抜けに成功した侵入を検知するため）に設置される場合もある。どちらの場合も、こうすることで、ＩＤＳ、特に負荷分散装置がこのような攻撃を受けやすくなってしまう。負荷分散装置を攻撃に対して強くすれば、複雑性やコストが増加する可能性がある。
【００１２】
先に説明した第２の手法において、N個のプロセッサの夫々は全データを受信しなければならないので、システムを流れるデータ量はN倍に増大されてきた。オペレーションシステム（ＯＳ）及びメモリシステムを含むネットワークデータ処理システムは、この増加するデータ速度に対応できなければならない。また、データを複製し、本質的にN版（N editions)のデータを生成する手段を備えなければならない。これは、光ファイバーがデータを搬送する場合にはビームスプリッタにより、又は、例えば銅線を用いてデータが搬送される電子手段により行われてよい。どちらの場合も、このようにするとシステムの複雑性とコストを高めることになる。
【００１３】
第３の手法に関して、マルチプロセッサシステムを効率よく使用するために、ＩＤＳソフトウェアのような複雑なソフトウェアを書き込む又は書き換えることは、必ずしも容易ではない。ＩＤＳで用いられる工程の幾つかは、本質的に事実上連続しており、従って、直接平行又はマルチスレッド実行には不向きである。更に、ソフトウェア負荷分散装置の性能は、ハードウェア（上述の第１の手法で用いられるもの等）の性能よりも劣っており、システムメモリを使い果たすであろう。
【００１４】
これまでは、主に、侵入検知システムに係る課題について議論してきた。当然のことながら、多面的機能が同一のホストに備わる場合は、いつでも、同様の又は相当する問題に直面する。このような機能の例としては、ファイアウォールの機能性、ネットワーク分析及びパケットキャプチャが含まれる。
【課題を解決するための手段】
【００１５】
本発明の第１の態様によれば、データをネットワークリンクから受信する受信工程と、前記データをネットワークアナライザカード上で複製し、少なくとも二版（two editions)である複数版の前記受信したデータを生成する複製工程と、前記複数版の受信したデータを、ホストアプリケーションにより直接アクセス可能なホスト内のメモリ領域に書き込む書き込み工程と、を備えることを特徴とするデータ処理方法が提供される。
【００１６】
本発明のこの態様は、少なくとも二版である複数版の受信データパケットを生成するように、ネットワークリンクから受信したデータを複製するデータ処理方法を提供する。そして、この少なくとも二版である複数版は、ホスト上のメモリ領域内へ記憶される。このメモリ領域は、ホストアプリケーションにより直接アクセス可能である。従って、データがホストメモリに書き込まれた後に、ホストメモリの一部からデータ処理のための別の部分に複製されるような従来のシステムとは対照的に、本発明では、データは、ホスト上で実行されるアプリケーションによって直接アクセス可能なメモリ領域に書き込まれる。
【００１７】
ネットワークアナライザカード上のデータを複製しても、ホストプロセッサの処理能力（又はプロセッササイクル）は、データパケットの複製に全く使用されない。従って、一又は複数のホストプロセッサは、ホスト上で実行されるアプリケーションに、自らの処理能力をより高い割合で割り当てることができる。
【００１８】
本発明のデータ処理方法は、好ましくは、ホストアプリケーションによりアクセス可能な前記メモリ領域に記憶された前記複数版の受信したデータを処理する処理工程を備え、この処理工程は、各版における侵入検知に関する異なる組の規則を実施する実施工程を備える。いくつかの規則が二以上の版に対して実施されてよい。
【００１９】
好適な例では、ホストアプリケーションによりアクセス可能なメモリ領域に記憶されたデータは、侵入検知に関する規則を実施することを含む。このデータは、ホストアプリケーション（この場合、侵入検知用のアプリケーション）により直接アクセス可能なホストメモリ領域に書き込まれるので、ホストオペレーティングシステムはデータを複製する必要はなく、従って、その他の処理機能に対する能力が増加する。
【００２０】
少なくとも二版である複数版のデータが生成されるので、夫々がホスト内の異なるプロセッサにより処理されてよい。従って、侵入検知システムは、複数のプロセッサ間で規則を共有することにより可能となる迅速な処理能力の利益を享受すると同時に、ホストへ転送されたデータをホストメモリ内部のカーネル空間からアプリケーション空間へ複製する必要がないため、ホストへのメモリ要求は制御される。
【００２１】
本発明のデータ処理方法の一例では、全ネットワーク監視／分析アプリケーションに同様の利益をもたらす。特に、単一スレッドであって、且つマルチプロセッサホストで実行されるアプリケーションに利益をもたらす。加えて、本発明は、複数アプリケーションのうちの一アプリケーションがそのデータを効率的に取得しない場合、全アプリケーションを遅くさせてしまうソフトウェア又はハードウェア負荷分散装置（ロードバランサ）に頼ることなく、異なる複数のアプリケーションを独立的に実行可能である。
【００２２】
本発明の実施例は、任意の適切なネットワーク監視管理又は分析アプリケーションに用いられてよい。その例として、ＲＭＯＮＩＩ（ネットワーク監視／統計分析）プローブ、ＩＤＳ／ＩＤＰ、Ｂｉｌｌｉｎｇ／Ｍｅｄｉａｔｉｏｎ、ネットワーク監視、行動特性（Ｂｅｈａｖｉｏｒ  Ｃｈａｒａｃｔｅｒｉｓａｔｉｏｎ）、トラブルシューティング等が含まれる。
【００２３】
本発明の第２の態様によれば、ホストとネットワークとを接続するネットワークアナライザカードであって、ネットワークリンクから複数のデータフレームを受信する受信機と、前記受信したデータフレームの少なくとも２個の複製版を生成するデータ複製手段と、実質的に前記受信したデータフレームの少なくとも２個の複製版の夫々に、識別子を付加するように構成及び配置された識別子加算器であって、前記識別子は、前記データフレームを処理する際に用いるために付加される前記データフレームに関するデータを含むような識別子加算器と、を備えることを特徴とするネットワークアナライザカードが提供される。
【００２４】
本発明の第３の態様によれば、ネットワークに接続するためのホストであって、前記ネットワークからデータを受信するネットワークアナライザカードと、当該ネットワークアナライザカードから少なくとも二版である複数版の前記受信したデータを受信するためのメモリと、前記複数版の受信したデータを処理する少なくとも２個のプロセッサと、を備え、前記ネットワークアナライザカードは本発明の第２の態様に従うことを特徴とするホストが提供される。
【００２５】
本発明の第４の態様によれば、本発明の第３の態様に係るホストを備え、前記複数のプロセッサは、前記ホストにより受信されたデータパケットに対して侵入検知システムにおける規則を実施するように配置されることを特徴とする侵入検知システムが提供される。
【００２６】
侵入検知システムの規則分析は、二以上のプロセッサで共有されるので、侵入検知システムは侵入検知を比較的迅速に実行することができる。更に、ネットワークから受信されたデータを複製し、侵入検知アプリケーションに直接アクセス可能なホストメモリ領域に書き込むようにすることで、この特徴に関連する上述の利益も実現される。
【００２７】
本発明のその他の態様によれば、データをネットワークリンクから受信する受信工程と、前記データを複製し、少なくとも二版である複数版の前記受信したデータを生成する複製工程と、前記複数版の受信したデータを、ホストアプリケーションにより直接アクセス可能なホスト内の一又は複数のメモリ領域に書き込む書き込み工程と、を備えることを特徴とするデータ処理方法が提供される。
【発明を実施するための最良の形態】
【００２８】
ここで、添付の図面を参照して、本発明の実施例を詳細に説明する。
【００２９】
図１は、通信システムの略図である。通信システム２は、ファイアウォール４を介してインターネット６に接続される。通信システム２は、通常このような通信システムに設けられる複数の構成要素からなる。通信システム２は、単にこのようなシステムにおいて考えられる一例である。このような通信システムにおいては、大体同じ又は異なる構成要素が、任意の組み合わせられて設けられてよい。
【００３０】
図１の例を参照すると、通信システムは、ファイアウォール４を介してインターネット６に接続されたルータ８を備える。ルータ８は、インターネット６と複数のユーザ端末１０１から１０４との間で両方向に情報を送る役目を果たす。複数の侵入検知システム１２１から１２４は、通信システム２内の各部位に設けられる。侵入検知システム１２３は、ファイアウォール４とルータ８との間の通信チャンネルに光タップを介して接続される。ＩＤＳ１２３は、インターネット６からルータ８で受信した全データの複製を受信するように配置される。それにより、この受信データを処理して通信システム２への侵入が起きているか否かを決定することが可能となる。以下に、侵入検知システムの役割、機能、動作方法を詳細に説明する。
【００３１】
侵入検知システム１２１から１２４のうちの少なくとも幾つかは、侵入が検知された場合には、ファイアウォールに侵入の種類を知らせて更新し、今後そのような侵入を認めないように、ファイアウォール４と通信可能にしつつ配置されることが好ましい。
【００３２】
図２は、本発明の実施形態に係るネットワークアナライザカード及びホストを含むＩＤＳの略図である。図示した実施例において、ホスト３０は、ネットワークアナライザカード３２に接続されて設けられる。ネットワークアナライザカード３２は、別個の拡張カードとして示される。このような状況である必要性は必ずしもなく、代わりに、当該カードはホスト３０内部の埋め込みシステムであってよい。ネットワークアナライザカード３２は、ネットワーク（図示せず）に、図１に図示され且つ図１を参照して簡潔に記載したルータ／スイッチ８等の複数の中間構成要素を任意に介して接続される。通常、ネットワークアナライザカード３２は、タップ又はルータ／スイッチ「ＳＰＡＮ」ポート、即ち、当該ルータ／スイッチを通過する全トラフィックの複製、ミラー化、又は冗長化を実行し、一般に監視に用いられるポートを介してネットワークに接続される。
【００３３】
ホスト３０は、N個の中央演算処理装置（ＣＰＵ）３４１から３４Nから構成される。オペレーティングシステム３６及びメモリ３８は、ホスト３０上に設けられる。その他多数の構成要素は、明確にするために図２に図示していないが、通常、ホストに含まれてよい。
【００３４】
図示した実施例において、プロセッサ３４１から３４Nの夫々は、ＩＤＳにおける全ての組の規則から所定数の規則を実行するように配置される。この実施例において、プロセッサ３４１から３４Nの夫々は、ＩＤＳの１００％／Ｎの規則を実行するように配置される。ＣＰＵ３４１から３４Nの間で規則を適切に分配する任意の方法が用いられてよい。一又は複数のプロセッサは、１００％／Ｎよりも多い規則を備えていてよく、また、一又は複数のプロセッサは、１００％／Ｎよりも少ない規則を備えていてよい。全体的に見て、ＩＤＳにおける各規則が少なくとも一つのＣＰＵにより実行されることが要求される。もちろん、上述のように、これはＩＤＳに関する記述であるが、当然のことながら、記載したシステム及び方法は、ネットワークリンクから受信したデータに対して多面的機能を実行するような、その他多数の種類の用途に、等しく適用可能である。
【００３５】
再び図２について、使用の際、ネットワークからネットワークアナライザカード３２で受信したデータは、ネットワークアナライザカード３２により複製され、メモリ３８に供給される。当初受信したデータは、当該N版のデータを生成するように複製され、また全データはメモリ３８に書き込まれる。この書き込みは、自身の間でＩＤＳアプリケーションを実行するプロセッサ３４１から３４Nが、データに直接アクセスするように行われる。これは、データをメモリのカーネル空間へと受信し、オペレーティングシステムによりアプリケーション空間へ複製して、関連するプロセッサで使用するという従来のシステムとは対照的に、この場合には、ネットワークアナライザカード３２により書き込まれた物理的な位置から直接データがアクセスされてよい。従って、ホストの処理能力は、ホストにおけるメモリの物理カーネル空間から物理アプリケーション空間へデータを複製するのに必要ではない。
【００３６】
図３は、図２におけるホスト３０内に図示されたメモリ３８の略図である。メモリ３８は、アプリケーション空間４０とカーネル空間４２から構成される。図２を参照して先に説明したように、N版の受信データは、全て、ＩＤＳアプリケーションを実行するプロセッサ３４１から３４Nが直接データにアクセス可能である状態で、メモリ３８の一領域又は複数の領域に書き込まれる。図３において、受信データはホストのメモリ３８のカーネル空間４２に直接書き込まれる。メモリ３８のアプリケーション空間４０で実行されるアプリケーションが、メモリ３８のカーネル空間４２に記憶されるデータに直接アクセスできるプロトコルドライバ４４が設けられる。
【００３７】
従って、メモリ３８のカーネル空間からアプリケーション空間４０の対応する領域にデータを複製しなければならないかわりに、データは、アプリケーション空間から直接アクセスされることになる。よって、データを複製する必要はなくなる。これにより、ホストのＣＰＵはこの目的のためにデータの複製を実行する必要がないため、効率がよくなる。加えて、受信データの複製をこの目的のために行う必要はないので、必要メモリを減らすことができる。ここでの受信データは、ネットワークアナライザカード３２からメモリ３８に受信された全データに関するものである。
【００３８】
メモリ３８のアプリケーション空間で実行されるアプリケーションに対して、カーネル空間に記憶されたデータにアクセスする能力は、オフセット及び仮想ベースアドレスを用いて達成される。データをカーネル空間４２における物理メモリに受信するにつれ、オフセット一覧がカーネル空間４２内のベースアドレスを参照して生成される。従来であれば、このデータは、その後メモリ３８におけるアプリケーション空間４０内の物理領域へ全て複製される。しかしながら、本発明における実施例では、データを複製するかわりに、オフセット一覧が、プロトコルドライバ４２によって、アプリケーション空間４０で実行されるアプリケーションに渡される
このオフセット一覧は、領域４６のベースアドレスに関してはオフセットを含み、またカーネル空間４２におけるベースアドレスを参照して用いられるオフセット一覧を含む。言い換えれば、オフセット一覧に対するオフセットは、アプリケーション空間４２で実行されるアプリケーションに供給される。これにより、アプリケーション空間４０で実行されるアプリケーションは、カーネル空間４２内の領域４６のベースアドレスを示すオフセットと、その次にそのオフセットを参照してオフセット一覧とを用いて、カーネル空間に記憶されたデータに直接アクセス可能となる。このマッピングは、本実施例においては、オフセットをアプリケーション空間４０に供給するように配置されたプロトコルドライバ４４により可能である。領域４６内のメモリは、上述のオフセットを用いてアプリケーション空間４０で実行されるアプリケーションにより、カーネル空間内に記憶されたデータを正確に位置付け可能とする連続メモリである。
【００３９】
図４に、ネットワークアナライザカード３２の一部が、４個の外部チャンネルＣＨ０からＣＨ３においてネットワーク（図示せず）からデータを受信している様子を示す。データ処理を簡略化するために、複数のチャンネルを単一シリアルデータストリームに統合することが知られている。これを、チャンネル統合機能６０の提供により模式的に図４に示す。
【００４０】
図４に、４個のチャンネル受信機５８０から５８３を示す。各受信機５８０から５８３は、対応するチャンネルＣＨ０からＣＨ３からデータを受信するように配置される。受信機５８０から５８３は、対応するチャンネルから受信したデータをチャンネル統合機能６０へ供給するように配置される。いずれの適切なチャンネル統合機能を用いてよい。好ましくは、米国仮出願Ｎｏ．６０／４９５，１３３に記載のチャンネル統合機能が用いられる。その全内容は、参照することにより本願に組み込まれる。チャンネル統合機能からの出力は、図３に模式的に示したメモリ等の、ホストのメモリに供給される。
【００４１】
図５は、複製機能を備えたネットワークアナライザカードの変形例を示す。図４に示したデータフローのように、図５において、データは、４個の外部チャンネルＣＨ０からＣＨ３で対応する受信機６２０から６２３により受信される。複数の複製ユニット６４０から６４３が備わっている。図示の例では、各複製ユニットはマルチプレクサから構成されるが、データを複製する任意の適切な手段を備えてよい。
【００４２】
各受信機６２０から６２３からの出力は、夫々、複製ユニット６４０から６４３に接続される。複製制御ユニット６５の制御下において、受信機６２０から６２３のいずれかの出力を、複製ユニット６４０から６４３の出力上に出現させるように、選択することができる。一の受信機の出力を複製ユニットの全て（この場合、複製の最大量を与え、その他の受信機の出力は無視される）の出力上に出現させることから、各受信機の出力をその対応する複製ユニットの出力上に出現させることまで、多くの組み合わせが可能である。
【００４３】
この場合複製は行われず、この事例は、動作の非複製モードが可能であるということを示すために記載されている。この実施例において、複製ユニット６４０から６４３の夫々を、図４に図示し且つ図４を参照して記載した機能のようなチャンネル統合機能に結合した出力６４０から６４３を夫々有するマルチプレクサとして示す。好ましくは、複製ユニットは、ＦＰＧＡ等のハードウェアで具体化される。
【００４４】
複製ユニット６４０から６４３からの出力は、ネットワークアナライザカード３２内の内部チャンネルを独立に規定する。内部チャンネル（６４０から６４３）は、相異なる独立したものであり、外部ネットワークからネットワークアナライザカード３２によりデータを受信する外部チャンネル（ＣＨ０からＣＨ３）と混同されることはない。
【００４５】
チャンネル統合機能６８は、マルチプレクサ６４０から６４３夫々からの出力を受信し、４個の内部チャンネルにおいてデータを統合された連続データストリームに統合する。そして、チャンネル統合機能６８は、統合された連続データストリームを、ホストのメモリへ書き込むためにホストに供給する。複製が最大の場合、複製ユニット６４０から６４３夫々からのデータフローは事実上同一となる。しかしながら、チャンネル統合機能６８は、各信号６６０から６６３を、独立した処理用チャンネルのように取り扱う。これにより、選択的フィルタリングを信号６６０から６６３に対して行うことが可能となる。これについて、以下に詳細に説明する。
【００４６】
複製データが一旦チャンネル統合機能６８により統合されると、統合された連続データストリームは、図３を参照して記載したホストメモリへ書き込むために、ネットワークアナライザカード上又は外に設けられた更なる処理機能性へと渡されることが好ましい。これを実行できる機能性の適切な一例は、米国仮特許出願Ｎｏ．６０／５２８，７１７に記載されている。その全内容は、参照することにより本願に組み込まれる。米国仮特許出願Ｎｏ．６０／５２８，７１７は、ネットワークから受信したデータフレーム／パケットを取り扱うネットワークアナライザカードにおけるストリームパケット供給機能について詳細に記述している。図６は、ＵＳ６０／５２８，７１７に図示され、詳細に記述されたストリームパケット供給機能の模式的ブロック図である。
【００４７】
図６に関して、連続データストリームをアップストリーム源から受信するフロントエンドＦＩＦＯ（First In First Out）１００が備わっている。アップストリーム源は、図３に示した配置により出力されたストリーム等の統合データストリームであってよい。
【００４８】
フロントエンドＦＩＦＯ１００は、帯域フィルタ及び記述子更新ユニット１０２に接続される。このユニット１０２は入力ＦＩＦＯ１０４に接続され、これ自身はパケットバッファコントローラ１０６に接続され、更なるＦＩＦＯ１０８を介してダイレクトメモリアクセス（ＤＭＡ）インターフェース１１０、並びにＤＭＡコントローラ１２０に接続される。使用の際には、データは、統合されたデータストリームにおけるチャンネル統合機能６８から、フロントエンドＦＩＦＯ１００に転送される。フロントエンドＦＩＦＯ１００から、帯域フィルタ及び記述子更新ユニット１０２に送信される。この段階で、データパケット識別子は、統合されたデータストリームにおけるデータフレームのうちの少なくともいくらかに付加され、好ましくは、全てに付加される。ここで、対応する識別子を有するフレームは、データパケットと称される。
【００４９】
データパケット識別子は、関連するデータパケットに関する複数のパラメータを示すために用いられる複数のフィールドを備える。重要なことには、識別子は、付属するデータフレームの長さを示すために用いられるフィールドを含んでいる。これにより、図３を参照して説明した、ホストメモリ内にデータパケットを配置するために用いられる上述のオフセットを生成できる。また、識別子は、ホストＣＰＵにおける割り込みを発生させる必要がほとんどないように、ホストメモリへ転送するデータをグループ化するために用いられてよい。識別子は、付属するデータフレームが受信された時間を示すために用いられるフィールドと、データフレームが受信されるチャンネルを示すために用いられるフィールドとを含んでいることが好ましい。
【００５０】
図５及び図６に示したデータフローは、好ましくは、通常のネットワークアナライザカード上に配列される。
【００５１】
図７は、ネットワークアナライザカード３２とホスト３０上に配置された複数のプロセッサ３４１から３４Nとを含むデータフローの略図である。図７において３４１から３４Nと番号がつけられた箱の夫々が、実際に、プロセッサと、それに論理的に結合されたメモリとを表す。図示の例では、データは、ネットワークアナライザカード３２により受信され、図５を参照して記載したように複製され、図３を参照して説明したようにホスト３０上のメモリへ書き込まれる。明確にするために、パラレルストリーム７００から７０３として示すように、ネットワークアナライザカードからの出力は、統合された連続データストリームから構成されることが好ましい。
【００５２】
一例では、メモリ３８は、実際には単一の物理メモリであって、そのうちのオペレーティングシステムはプロセッサ３４１から３４Nにセクションを割り当てる。従って、論理的に、各プロセッサは、メモリにおける専用の分離セクションを有する。また、全プロセッサに共通のメモリ領域、即ち、全プロセッサがアクセス可能なメモリ領域が存在していてもよい。
【００５３】
物理メモリは、ホスト内部の複数の別個のカード上で実行されてよい。これは確かにしばしば起こるのであるが、それでもやはり単一物理メモリとして考えられる。或いは、一定量のメモリを各プロセッサと共におさめ、また性能的理由から、ホストオペレーティングシステムは、このようなメモリの夫々を、それと物理的に関連するプロセッサへ割り当ててもよい。物理的には、データをホストに転送する際にネットワークアナライザカード３２が参照する一のメモリが、効果的に存在することが好ましい。
【００５４】
ネットワークアナライザカード３２は、メモリの分離セクション内に各内部チャンネルのデータを書き込み、また記憶するように、ホストオペレーティングシステムとともにドライバソフトウェアにより構成されてよい。ネットワークアナライザカード３２によりデータが書き込まれるメモリのセクションの夫々は、論理的には、異なるプロセッサに属する。
【００５５】
一つの考えられる例では、ネットワークアナライザカード３２は、いくつかの別個の物理メモリに対する複数のインターフェースを備える。そして一般的には、図７に関して、プロセッサ３４１から３４Nの夫々は、対応するプロセッサ及び／又はその他のメモリから物理的に分離又は非分離の、論理的に結合されたメモリを備える。
【００５６】
図７に示した例は、複数版の受信データストリームが、ネットワークアナライザカード３２から現れている様子を示す。フィルタ７００から７０Nは、複数版の夫々に適用されており、従って、本実施例においてＮ＝３である。図５が、４個のチャンネル、４個の受信機、４個の複製ユニット等を示す一方、図７は、Ｎ個のプロセッサが存在するという更に一般的な状況を示している。これは、この番号付け３４０から３４Nに反映される。複製後、信号６６０から６６３は、多元独立チャンネルに類似しており、先に説明したように、内部チャンネルと称されてよい。従って、フィルタ７００から７０Nの夫々は、独立チャンネルとしてその対応する信号に作用するように用いられてよい。
【００５７】
トラフィックのプロファイルに応じて、フィルタ７００から７０Nによりプロセッサ３４０から３４Nに供給されたデータを減少させるために、フィルタリングを用いることができる。例えば、フィルタリングは、それが基づく通信プロトコル（インターネットプロトコル、ユーザデータグラムプロトコル、転送制御プロトコル（ＴＣＰ）等）に応じて、データをネットワーク「ポート」又は「アドレス」範囲に制限するのに用いることができる。独立した複数版のデータにおける複製及びフィルタリングを組み合わせることで、マルチＣＰＵの全体的（又は総合的）な性能面において、データ速度と複数の規則とにおける効果をバランスよく保つことができる。従って、個々のＣＰＵの規則及び動作は、その特定のＣＰＵで受信された受信トラフィックに一致してよい。
【００５８】
図８から図１０は、異なるフィルタリング配置をとったデータフローの略図である。図８に関して、全体で４個のチャンネルが存在し、フィルタがいずれの内部チャンネルにおいても全く用いられていない場合は、４個のＣＰＵの夫々により実施される、単純に分割された２５％の規則が用いられてよい。例えば、図８から図１０の夫々におけるフィルタからの出力は、４個のパラレルストリームとして示される。その４個のパラレルストリームは、フィルタリングの前又は後で、単一の連続データストリームに統合される可能性がある。図５を参照して記載したようなチャンネル統合機能が用いられてよい。
【００５９】
図９に関して、内部チャンネルのうちの２個のチャンネルが、インターネットトラフィックのみを通過可能とするようにフィルタ処理する場合、内部チャンネルのうちの第３チャンネルは、インターネットトラフィックではないが特定の通信プロトコル、例えばプロトコル「ｎ」であるトラフィックを通過可能とするようにフィルタ処理する。第４の内部チャンネルは、その他の全てのトラフィック、即ち、インターネットトラフィックでも特定の通信プロトコルでもないトラフィックを通過可能とするようにフィルタ処理する。そして、データが複製されるプロセッサにより用いられる規則は、要求された特異的規則のみを備えてよい。
【００６０】
上記の例に対して、４個のうちの２個のプロセッサは、夫々、インターネットトラフィックに関する５０％の規則を備え、第３のプロセッサは、通信プロトコル「ｎ」に関する規則を備え、第４のプロセッサは、通信プロトコル「ｎ」に関係しない非インターネット規則の全てを備えるであろう。
【００６１】
図１０に関して、この場合、４個のうち３個のフィルタが、インターネットトラフィックのみを通過させるように配置され、一方、第４のフィルタが非インターネットトラフィックのみを通過させるように配置される。従って、各フィルタがデータを供給するプロセッサにより用いられる規則は、適宜選択される。図示の例では、３個のフィルタが夫々、インターネットトラフィックに関する３３％のＩＤＳ規則を実行するように配置され、第４のフィルタが、非インターネットトラフィックに関する１００％の規則を実行するように配置される。
【００６２】
言い換えれば、ネットワークアナライザカード３２から受信されるデータストリームのうち最初の３ストリームは、インターネットトラフィックのみが統合された信号内で保持されるようにフィルタ処理される。第４のストリームは、非インターネットトラフィックのみが統合された信号内で保持されるようにフィルタ処理される。３個のインターネット信号の夫々を受信するように配置された３個のプロセッサは、夫々、ＩＤＳにおける異なる１／３のインターネット規則を備える。第４のプロセッサは、１００％の非インターネット規則を備える。
【００６３】
図１１は、本発明の他の実施形態に係るネットワークアナライザを含むデータフローの例を示す。この場合、２個のチャンネルＣＨ０及びＣＨ１は、ネットワークアナライザカード３２で受信される。これらのチャンネルは、先に説明したように複製され、この複製されたチャンネルは、内部チャンネルＣＨ０／ＣＨ１１及びＣＨ０／ＣＨ１２に統合される。この実施例におけるホストは、２個のＩＤＳプロセッサを備え、各プロセッサは、全体でみれば全受信データがＩＤＳの全規則で処理されるように、ＩＤＳにおける夫々異なる５０％の規則を実施するように配置される。
【００６４】
当然のことながら、当業者は上述の好適な実施形態における変形例及び逸脱例を多く思いつくであろう。従って、本発明は、添付の特許請求の範囲及びその相当物の範囲内において、発明の変形例や改良例を包含することを目的とする。
【図面の簡単な説明】
【００６５】
【図１】通信システムの略図である。
【図２】侵入検知システムの略図である。
【図３】メモリの略図である。
【図４】侵入検知システムの略図である。
【図５】データ複製機能を含むチャンネル統合機能の略図である。
【図６】ネットワークアナライザカード上で実施されるストリームパケット機能の模式的ブロック図である。
【図７】データフローの略図である。
【図８】異なるフィルタリング配置をとったデータフローの略図である。
【図９】異なるフィルタリング配置をとったデータフローの略図である。
【図１０】異なるフィルタリング配置をとったデータフローの略図である。
【図１１】異なるフィルタリング配置をとったデータフローの略図である。
【符号の説明】
【００６６】
２  通信システム
４  ファイアウォール
６  インターネット
８  ルータ
１０  ユーザ端末
１２  侵入検知システム
【図１】
2007538445.tif 000003
【図２】
2007538445.tif 000004
【図３】
2007538445.tif 000005
【図４】
2007538445.tif 000006
【図５】
2007538445.tif 000007
【図６】
2007538445.tif 000008
【図７】
2007538445.tif 000009
【図８】
2007538445.tif 000010
【図９】
2007538445.tif 000011
【図１０】
2007538445.tif 000012
【図１１】
2007538445.tif 000013
【国際調査報告】
2007538445.tif 000014
2007538445.tif 000015
2007538445.tif 000016