(57)【要約】【課題】コンピュータネットワークトラフィックをキャプチャかつ保存する技術を提供する。【解決手段】データパケットをキャプチャし、格納し、かつ検索する方法及び機器。キャプチャ電子機器のＩ／Ｏポートは、データ通信経路に接続され、最長時間未使用アルゴリズムが、揮発性ストレージにスペースを割り当てる。キャプチャ電子機器はまた、所定のサイズのストアデータスロットにマップされた不揮発性記憶装置を含む。データは、揮発性ストレージに無差別に取り込まれ、バッファ付き揮発性ストレージのスロット内に集合させられ、次に、不揮発性ストレージの対応するマップされたスロットに格納される。これは、不揮発性ストレージの連続するセクターにわたってキャプチャデータのキャッシュイメージを作成する。パラレルコントローラは、ストライピングを使用して、複数の不揮発性記憶装置に同時に書き込むことができる。【選択図】図１
2011222006.tif 000002
【特許請求の範囲】
【請求項１】
データの予め選択したパケットをキャプチャし、格納し、かつ検索する方法であって、  少なくとも１つのキャプチャ電子機器を少なくとも１つの所定のデータ通信経路に接続する段階、
を含み、
前記キャプチャ電子機器は、
ａ．マイクロプロセッサと内部クロックとを有するコンピュータシステムボード、
ｂ．揮発性ストレージにスペースを割り振るために最長時間未使用アルゴリズムを用いるのに十分な容量を有するデュアルポート／デュアルチャンネル揮発性ストレージ、
ｃ．少なくとも１つの入力／出力通信アダプタポート、
ｄ．所定のスロットサイズに対応する定義された所定のストレージセグメントに数値的にマップされた少なくとも１つの不揮発性ストレージ装置、
ｅ．電源、
ｆ．前記不揮発性ストレージ装置上にデータをマップするコントローラ、及び
ｇ．オペレーティングシステム、
を含み、
前記データ通信経路に沿って通信されたデータの所定の部分を無差別にキャプチャし、データの該所定の部分を前記揮発性ストレージに複製する段階と、
ａ．各バッファが所定サイズを有する所定数のバッファから成る所定サイズのスロットを作成する段階、及び
ｂ．ストライピングを達成し、それによって前記コントローラが複数の不揮発性ストレージ装置に同時に書込むことを可能にする少なくとも１つの高性能並列コントローラファブリックを用い、前記スロット内の前記データを前記不揮発性ストレージにマップして、前記不揮発性ストレージシステムの連続セクターにわたって前記キャプチャしたデータのキャッシュイメージを作成する最長時間未使用キャッシュに基づいて該スロットを集合的に管理する段階、
により、前記揮発性ストレージ内の前記キャプチャデータを前記所定スロットサイズのスロットの中に集合させる段階と、
所定の経験則と、固定時間領域によって注釈を付けられ、かつ不揮発性ストレージへの転送に向けてマップされてアドレス指定された不揮発性ストレージ特性とに基づいて、前記集合したデータに注釈を付ける段階と、
前記注釈付き集合データを検索するのに使用可能である１組の所定の特徴の少なくとも１つの索引を作成する無限ジャーナルの一度だけの書込の階層的ファイルシステムを用いて、該注釈付き集合データを前記不揮発性ストレージに格納する段階と、
データ精度を保証するためにあらゆる不正データを再構成する手段を組み込む段階と、  ａ．検索される前記データの１つ又はそれよりも多くの特徴を識別する段階、
ｂ．前記識別された特徴を有する前記データを収容する前記スロットの前記不揮発性ストレージ上の局所性を計算する段階、
ｃ．前記揮発性ストレージにスペースを割り振る前記最長時間未使用アルゴリズムを用いて、前記識別された特徴を有する前記データを前記スロットから該揮発性ストレージにコピーする段階、
ｄ．業界標準アクセス方法を用いてアクセス可能であるように、前記識別された特徴を有する前記データをパッケージ化して適合させる段階、及び
ｅ．ユーザが前記識別された特徴を有する前記データにアクセスして精査することを可能にする段階、
により、前記格納したスロットからキャプチャデータの所定の部分を検索する段階と、  を更に含むことを特徴とする方法。
【請求項２】
データパケットをキャプチャする方法であって、
キャプチャ装置をデータ通信経路に接続する段階と、
前記データ通信経路に沿って通信されたデータパケットをキャプチャする段階と、
前記データパケットからの前記キャプチャデータを格納する段階と、
前記格納データパケットを所定サイズのスロットの中に集合させる段階と、
前記集合したデータパケットに注釈を付ける段階と、
無限ジャーナルの一度だけの書込の階層的ファイルシステムを用いて前記注釈付きデータパケットを格納する段階と、
データ精度を保証するためにあらゆる不正データを再構成する手段を組み込む段階と、  キャプチャデータの所定の部分を前記スロットから検索する段階と、
を含むことを特徴とする方法。
【請求項３】
前記キャプチャ装置は、
コンピュータシステムボードと、
デュアルポート／デュアルチャンネル揮発性ストレージと、
１つの入力／出力通信ポートと、
スロットサイズに対応する所定のストレージセグメントに数値的にマップされた不揮発性ストレージと、
電源と、
データを前記不揮発性ストレージ装置上にマップするコントローラと、
を含む、
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記格納データパケットは、
所定サイズのバッファを有するように前記所定サイズのスロットを作成する段階と、
前記スロット内の前記データを不揮発性ストレージにマップし、それによって前記キャプチャデータのキャッシュイメージを作成するために、最長時間未使用キャッシュに基づいて該スロットを管理する段階と、
によって集合させられる、
ことを特徴とする請求項２に記載の方法。
【請求項５】
複数の不揮発性ストレージ装置に書込むことを可能にする並列コントローラを用いる段階を更に含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記データは、固定時間領域によって注釈を付けられることを特徴とする請求項２に記載の方法。
【請求項７】
前記通信されたデータを検索するのに使用するための前記データパケットの特徴の索引を作成する段階を更に含むことを特徴とする請求項２に記載の方法。
【請求項８】
前記データは、
検索される前記データの特徴を識別する段階、
前記識別された特徴を有する前記データを収容する前記スロットの位置を特定する段階、
前記識別された特徴を有する前記データを前記スロットから揮発性ストレージにコピーする段階、
前記コピーしたデータを所定のアクセス方法を用いてアクセス可能であるように適合させる段階、及び
ユーザが前記コピーしたデータを精査することを可能にする段階、
によって前記スロットから検索される、
ことを特徴とする請求項２に記載の方法。
【請求項９】
前記データは、前記揮発性ストレージにスペースを割り振る最長時間未使用アルゴリズムを用いてコピーされることを特徴とする請求項８に記載の方法。
【請求項１０】
データパケットをキャプチャする方法であって、
キャプチャ電子機器をデータ通信経路に接続する段階と、
前記データ通信経路に沿って通信されたデータをキャプチャする段階と、
前記キャプチャしたデータを揮発性ストレージに複製する段階と、
前記揮発性ストレージ内の前記キャプチャしたデータをスロットの中に集合させる段階と、
無限ジャーナルの一度だけの書込の階層的ファイルシステムを用いて前記データを不揮発性ストレージに格納する段階と、
を含むことを特徴とする方法。
【請求項１１】
前記キャプチャ電子機器は、
ａ．マイクロプロセッサと内部クロックとを有するコンピュータシステムボード、
ｂ．揮発性ストレージにスペースを割り振るために最長時間未使用アルゴリズムを用いるのに十分な容量を有するデュアルポート／デュアルチャンネル揮発性ストレージ、
ｃ．少なくとも１つの入力／出力通信アダプタポート、
ｄ．所定のスロットサイズに対応する定義された所定のストレージセグメントに数値的にマップされた少なくとも１つの不揮発性ストレージ装置、
ｅ．余剰電源、
ｆ．前記不揮発性ストレージ装置上にデータをマップするコントローラ、及び
ｇ．オペレーティングシステム、
を含む、
ことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記データは
前記スロットを作成する段階、及び
最長時間未使用キャッシュに基づいて前記スロットを管理する段階、
によって前記スロットの中に集合させられる、
ことを特徴とする請求項１０に記載の方法。
【請求項１３】
前記最長時間未使用キャッシュは、前記スロット内の前記データを前記不揮発性ストレージにマップし、ストライピングを用い、それによってコントローラが複数の不揮発性ストレージ装置に同時に書込むことを可能にすることにより、該不揮発性ストレージのセクターにわたって前記キャプチャしたデータのキャッシュイメージを作成することを特徴とする請求項１２に記載の方法。
【請求項１４】
前記集合したデータに注釈を付ける段階を更に含むことを特徴とする請求項１０に記載の方法。
【請求項１５】
前記集合したデータは、固定時間領域に基づいて注釈が付けられることを特徴とする請求項１４に記載の方法。
【請求項１６】
前記データを検索するのに使用可能である１組の所定の特徴に基づいて該データに索引を付ける段階を更に含むことを特徴とする請求項１０に記載の方法。
【請求項１７】
データ精度を保証するためにあらゆる不正データを再構成する手段を組み込む段階を更に含むことを特徴とする請求項１０に記載の方法。
【請求項１８】
前記格納されたスロットからキャプチャしたデータの一部分を検索する段階を更に含むことを特徴とする請求項１０に記載の方法。
【請求項１９】
前記データは、
前記データの特徴を識別する段階、
前記不揮発性ストレージ上で前記識別された特徴を有するデータを収容する前記スロットの位置を特定する段階、及び
前記識別された特徴を有する前記データを前記スロットから前記揮発性ストレージにコピーする段階、
によって検索される、
ことを特徴とする請求項１７に記載の方法。
【請求項２０】
前記識別された特徴を有する前記データは、所定のアクセス方法を用いてアクセス可能であるようにパッケージ化されることを特徴とする請求項１８に記載の方法。
【請求項２１】
ユーザが前記識別された特徴を有する前記データにアクセスすることを可能にする段階を更に含むことを特徴とする請求項１８に記載の方法。
【請求項２２】
前記データは、前記揮発性ストレージにスペースを割り振る最長時間未使用アルゴリズムを用いて前記スロットから該揮発性ストレージにコピーされることを特徴とする請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、本明細書において引用により組み込まれている、２００４年１２月２３日出願の米国特許仮出願出願番号第６０／６３８、７０７号の継続出願である。
本発明は、コンピュータネットワークトラフィックをキャプチャしかつ保存することに関する。コンピュータユーザが互いに情報を通信し、共有することを可能にするネットワークは、事業体、政府、教育機関、及び家庭に遍在する。コンピュータは、小規模又は大規模ローカルエリアネットワーク（ＬＡＮ）を通じて互いに通信し、これらのローカルエリアネットワークは、無線か又は「イーサネット（登録商標）」又は光ファイバのような有線技術に基づく場合がある。殆どのローカルネットワークは、ワイドエリアネットワーク（ＷＡＮ）を通じて他のネットワークと通信する機能を有する。これらの様々なネットワークの相互接続性は、最終的に「インターネット」を通じて世界中で情報の共有を可能にする。従来のコンピュータに加えて、セルラー電話、携帯情報端末（ＰＤＡ）、及びその機能を他の個人、装置、又はシステムとの通信によって高めることができる他の装置を含む他の情報共有装置は、これらのネットワークと相互作用することができる。
【背景技術】
【０００２】
ネットワークを通じて交換される情報量の恒常的な増加は、ネットワーク管理をより重要かつより困難なものにしている。セキュリティの実施、監査、ポリシーコンプライアンス、ネットワーク性能、及び用途解析ポリシー、並びにデータ科学調査及びネットワークの総合管理は、以前のネットワークトラフィックへのアクセスを必要とする場合がある。
一般的に、従来のストレージシステムは、磁気ハードディスクドライブ技術に基づいており、速度及びストレージ容量の限界のために拡大するネットワークトラフィック負荷に追従することができていない。複数ハードディスクのアレイの使用は、速度及び容量を増加させるが、従来のオペレーティングシステム及びネットワークプロトコル技術に基づく最も大規模なアレイでさえも、大規模ネットワーク上の全てのトラフィックをモノリシックにキャプチャかつ保存する機能を欠いている。現在の技術に基づくキャプチャ及び保存システムはまた、それらが機能しているネットワークの一部になり、それらを隠れた攻撃又は「ハッキンング」に対して脆弱にし、従って、科学的調査及び解析ツールとしてのそれらのセキュリティ及び有用性を制限する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許仮出願出願番号第６０／６３８、７０７号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
これらの制約を克服するために、強固なネットワークパケットキャプチャ及び保存システムは、最新ハードウエア技術の最大機能を利用すべきであり、既存技術に固有の隘路も回避すべきである。複数のギガビット「イーサネット（登録商標）」接続、大容量ハードディスクドライブのアレイ、及び様々な装置とのより直接的な通信によって従来の隘路を迂回するソフトウエアを用いることにより、最大規模ネットワークのトラフィックを処理することができるスケールで、パケットキャプチャ及び保存を達成することが可能である。
【課題を解決するための手段】
【０００５】
本発明は、「無限ネットワークパケットキャプチャシステム（ＩＮＰＣＳ）」を説明する。ＩＮＰＣＳは、単一ネットワーク又は複数ネットワーク上に存在する全てのネットワークトラフィックをキャプチャかつ保存することができる高性能データキャプチャレコーダである。キャプチャデータは、拡張可能無限ディスクベースＬＲＵ（最長時間未使用）キャッシュシステム上に複数のギガビット（Ｇｂ）回線速度で保存される。ＩＮＰＣＳは、ギガビット「イーサネット（登録商標）」ネットワーク上の全てのネットワークトラフィックをキャプチャしてディスクまで流す機能を有し、この格納データを「仮想ファイルシステム（ＶＦＳ）」としてエンドユーザに呈示することを可能にする。このファイルシステムは、セキュリティ、科学的調査、コンプライアンス、解析、及びネットワーク管理アプリケーションを容易にする。ＩＮＰＣＳはまた、パケットベースのカプセル化方法を利用するＴ１／Ｔ３及び他のネットワークトポロジーを通じてこの機能をサポートする。
【発明の効果】
【０００６】
ＩＮＰＣＳは、ネットワークキャプチャ装置上でＴＣＩＰ／ＩＰのようなプロトコルスタックの構成を必要としない。その結果、ＩＮＰＣＳは、「不可視」又は受動の状態に留まり、従って、キャプチャされているネットワーク装置からは検出可能又はアドレス可能ではない。検出不能及びアドレス不能であることにより、ＩＮＰＣＳは、それが外部ネットワーク装置から修正又は「ハッキンング」されず、又はネットワーク上の他の装置からの攻撃に対する直接のターゲットになることができないので、セキュリティ及び科学的調査上の信頼性を高めるものである。
【０００７】
ＩＮＰＣＳはまた、一式のツールを提供し、仮想ネットワークインタフェース又は仮想「イーサネット（登録商標）」装置として、外部ネットワークセグメントへの再生成パケットストリームとして、及びに工業規格ＬＩＢＰＣＡＰ（ＴＣＰＤＵＭＰ）ファイルフォーマットを動的に発生するＶＦＳファイルシステムとしてキャプチャデータを時系列再生で公開する。これらのフォーマットは、ＬＩＢＰＣＡＰフォーマットをサポートする現在利用可能か又は特注のアプリケーション中にキャプチャデータをインポートすることを可能にする。装置が能動的にデータをキャプチャかつ保存している間に、ＩＮＰＣＳを通じてライブネットワーク上でキャプチャしたデータの解析を実行することができる。
【０００８】
この基本的ハードウエア構成では、ＩＮＰＣＳプラットフォームは、高性能「入出力（Ｉ／Ｏ）」システムアーキテクチャを有する「ＲＡＩＤ  ０」／「ＲＡＩＤ  ５」ディスクストレージの大規模アレイをサポートすることができるラック装着可能装置である。高密度ネットワークトラフィックの格納は、コピーレス「直接メモリアクセス（ＤＭＡ）」を用いて達成される。ＩＮＰＣＳ装置は、３５０ＭＢ／ｓ（メガバイト毎秒）を超えるキャプチャ及び格納速度を持続することができる。装置は、ＳＰＡＮポートルータ構成又は光スプリッタを通じて銅線又はファイバを通して「イーサネット（登録商標）」ネットワークに取り付けることができる。ＩＮＰＣＳはまた、外部アクセスに向けて非対称経路指定ネットワークトラフィック並びに他の併合ストリームをサポートするためにデータの複数のキャプチャストリームを統一時間索引付きキャプチャストリームへと併合する機能をサポートし、効率的なネットワーク管理、解析、及び科学的調査のための使用を容易にする。
【０００９】
ＩＮＰＣＳソフトウエアは、既存のＬｉｎｕｘネットワークインタフェースドライバに適合する独立型ソフトウエアパッケージとして独立に用いることができる。ＩＮＰＣＳ技術のこの提供がもたらす性能測定基準は、統合ハードウエア／ソフトウエア電子機器に利用可能なものよりも低いが、Ｌｉｎｕｘがサポートする既存のネットワークドライバの広い基盤にわたって移植性があるという利点を有する。ＩＮＰＣＳに向けた独立型ソフトウエアパッケージは、上述したものを提供する電子機器によって利用可能なものと同じ特徴及びアプリケーションサポートの全てを提供するが、統合電子機器の高性能ディスクＩ／Ｏ及びコピーレス「直接メモリアクセス（ＤＭＡ）」切り換え技術は提供しない。
【００１０】
キャプチャネットワークトラフィックは、３つの基本的方法、すなわち、ＰＣＡＰフォーマットファイルを公開するＶＦＳファイルシステム、仮想ネットワークインタフェース（イーサネット（登録商標））装置、及び外部電子機器に給送する外部ネットワークセグメントへ再生成パケットストリームを通すことを利用して、外部電子機器及び装置に対して又はＩＮＰＣＳ電子機器上で実行される適切なアプリケーションに対して公開することができる。ＩＮＰＣＳファイルシステムは、オンディスクＬＲＵ（最長時間未使用）キャッシュとして作用し、ストアが一杯になると最も古いキャプチャデータをリサイクルさせて連続キャプチャを発生させ、最も古いデータは、リサイクルされて上書きされるか、又はネットワークトラフィックをキャプチャした外部ストレージに転送されるかのいずれかである。このアーキテクチャは、無限キャプチャシステムを考慮するものである。オンディスクストアにあらゆる所定の時間にキャプチャされたパケットは、最も古いパケットから最も新しいものまでのキャプチャされた全てのパケットの時間的ビューを表している。
ディスクアレイの容量を増加することにより、システムは、所定のトラフィック容量のネットワークからの全てのネットワークトラフィックに対する所定の時間窓を可能にするように構成することができる。例えば、事業体、政府機関、又は大学は、その前の２４時間、４８時間、又は他の所定の時間フレーム中の全てのトラフィックの試験及び解析を可能にするのに十分なディスクアレイストレージを用いて電子機器を構成することができる。
本発明の他の特徴及び利点は、添付図面と共に下記の「発明を実施するための形態」に示す本発明の特定的な実施形態への参照から明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】ＩＮＰＣＳ電子機器のハードウエア構成を表す図である。
【図２】「ＩＮＰＣＳ  ８×４００  電子機器シャーシ」を表す図である。
【図３】スイッチポートアナライザ構成におけるＩＮＰＣＳ電子機器を表す図である。
【図４】非対称経路指定構成におけるＩＮＰＣＳ電子機器を表す図である。
【図５】インライン光スプリッタ構成におけるＩＮＰＣＳ電子機器を表す図である。
【図６】ＤＳＭＯＮユーティリティに対する一般的なメニューツリーを表す図である。
【図７】「ネットワークインタフェース」情報を示す、ＤＳＭＯＮユーティリティによって生成された表形式レポートを表す図である。
【図８】ディスクスペース情報を示す、ＤＳＭＯＮユーティリティによって生成された表形式レポートを表す図である。
【図９】スロットチェーン情報を示す、ＤＳＭＯＮユーティリティによって生成された表形式レポートを表す図である。
【図１０】ＤＳＦＳファイルシステム編成を表す図である。
【図１１】ＩＮＰＣＳ電子機器に関する標準の科学的調査及び解析ツールの使用を表す図である。
【図１２】ＩＮＰＣＳの内部システムアーキテクチャの図である。
【図１３】物理的６４Ｋクラスターの連続リストとしての「ディスクスペース格納パーティション」の図である。
【図１４】論理スロットが物理装置上にマップされた「「ディスクスペース記録」」を表す図である。
【図１５】連続実行として格納されたスロットキャッシュバッファを表す図である。
【図１６】タイプ０×９８パーティションにおける「名称テーブル」及び「マシンテーブル」の使用を表す図である。
【図１７】６４Ｋクラスターを含むスロットストレージ要素レイアウトを表す図である。
【図１８】データを収容するスロットバッファへのスロットヘッダ及びポインタシステムを表す図である。
【図１９】「ｅ１０００アダプタリングバッファ」からＬＲＵベースでのスロットキャッシュ要素の順次ロードを表す図である。
【図２０】スロットバッファリスト内の各バッファ要素からラウンドロビンパターンで割り振られたスロットバッファを表す図である。
【図２１】スロットキャッシュ要素バッファチェーン内の全ての利用可能バッファスペースを用いるようにパケットが可変サイズでありかつ効率的に格納された、データ投入されたスロットバッファを表す図である。
【図２２】「スロットチェーンテーブル」及び「スロットスペーステーブル」を略式に表す図である。
【図２３】「スロットチェーンテーブル」を示す内部レイアウトを表す図である。
【図２４】「スペーステーブル」レイアウトを概略的に表す図である。
【図２５】「ディスクスペース」記録のストレージ及び格納されたスロットに連結した「スペーステーブル」を表す図である。
【図２６】最長時間未使用ＬＲＵリサイクル法を用いるオンディスクスロットキャッシュセグメントチェーンを表す図である。
【図２７】「割り振りビットマップ」及び「チェーンビットマップ」テーブル構造を表す図である。
【図２８】スロットＬＲＵバッファ要素をマップするためのスロットハッシュテーブルの使用を表す図である。
【図２９】揮発性及び不揮発性スロットキャッシュからスロットデータを読取る又は書き込む要求を表す図である。
【図３０】キャッシュからスロットＬＲＵ要素を割り振る「イーサネット（登録商標）」アダプタを表す図である。
【図３１】最も古いエントリが放出される時のこのエントリの再利用を表す図である。
【図３２】ＤＳＦＳ仮想ファイルシステムを表す図である。
【図３３】時間領域の索引付けに基づくスロット併合における「ｐ＿ｈａｎｄｌｅ」コンテキストポインタの使用を表す図である。
【図３４】ユーザスペースアプリケーションに対して物理アダプタとして見える仮想ネットワークアダプタを作成するためのユーザスペースインタフェースを通じての「ｐ＿ｈａｎｄｌｅ」コンテキスト構造の使用を表す図である。
【図３５】スロットキャッシュ要素からのパケットデータを含めるか又は除外するためのフィルタテーブルの使用を表す図である。
【図３６】特定のスロットチェーンにマップされた「仮想インタフェース」を表す図である。
【図３７】複数の保存ストレージパーティション上にマップされたＤＳＦＳ基本キャプチャノードを表す図である。
【図３８】直接ＤＭＡを用いて２つの装置に同時にデータを書き込むミラーＩ／Ｏモデルの使用を表す図である。
【図３９】ＳＡＮ（システム領域ネットワーク）環境におけるキャプチャデータのミラーリングを表す図である。
【図４０】キャプチャパケットにタグを付ける方法を表す図である。
【発明を実施するための形態】
【００１２】
ＩＮＰＣＳは、ネットワーク上又は複数のネットワーク上に存在する全てのネットワークトラフィックをキャプチャすることができ、かつキャプチャデータを当業技術で公知の拡張可能で無限のディスクベースＬＲＵ（最長時間未使用）キャッシュシステム上に複数のギガビット（Ｇｂ）回線速度で保存することができる高性能データキャプチャレコーダである。ＩＮＰＣＳは、ギガビット「イーサネット（登録商標）」ネットワーク上の全てのネットワークトラフィックをキャプチャしてディスクにストリーミングし、更に、これらのデータを「仮想ファイルシステム（ＶＦＳ）」として表す機能を有する。エンドユーザは、ＶＦＳから情報を検索することによってこれらの情報にアクセスすることができ、それによってネットワークセキュリティ、科学的調査、コンプライアンス、解析法、及びネットワーク管理アプリケーション、更には映像及び音声フォーマットを利用するメディアアプリケーションが容易になる。ＩＮＰＣＳはまた、パケットベースのカプセル化法を利用する当業技術で公知のＴ１／Ｔ３及び他のトポロジーを通じてこの機能をサポートする。
【００１３】
ＩＮＰＣＳは、キャプチャネットワーク装置上でＴＣＰ／ＩＰのようなプロトコルスタック構成を必要としない。それによってＩＮＰＣＳは、「不可視」又は受動になり、キャプチャネットワークセグメントからアドレス不能になる。このようにして、この装置は、ネットワーク上でアドレス指定することができないために、攻撃のターゲットにすることができない。ＩＮＰＣＳはまた、外部ネットワークセグメントへの再生成パケットストリームを仮想ネットワークインタフェース又は仮想「イーサネット（登録商標）」装置として、又はＬＩＢＰＣＡＰ（「パケットキャプチャ」ファイルフォーマット）及びＴＣＰＤＵＭＰ（ＴＣＰプロトコルダンプファイルフォーマット）、ＣＡＰ、ＣＡＺ、及びフォーマットをサポートするあらゆる適切なアプリケーションの中にインポートすることができる工業規格フォーマットを動的に発生するＶＦＳとしてキャプチャデータを時系列再生で検索するための一式のツールを提供する。ＬＩＢＰＣＡＰは、ユーザレベルのパケットキャプチャのためのシステム独立型インタフェースであり、低レベルのネットワークモニタリングに向けて移植性のあるフレームワークを提供する。アプリケーションは、ネットワーク統計収集、セキュリティモニタリング、ネットワークデバッグを含む。ＩＮＰＣＳは、装置が能動的にデータをキャプチャかつ保存している間のキャプチャデータの解析を可能にする。
【００１４】
図１は、統合ＩＮＰＣＳ電子機器のハードウエア構成の一実施形態を表している。この構成におけるＩＮＰＣＳプラットフォームは、高性能「入出力（Ｉ／Ｏ）」システムアーキテクチャを有する大量の「ＲＡＩＤ  ０」／「ＲＡＩＤ  ５」／「ＲＡＩＤ  ０＋１」、及び「ＲＡＩＤ  １」ディスクストレージをサポートするラック装着可能装置である。
ＩＮＰＣＳ装置は、３５０ＭＢ／ｓ（メガバイト毎秒）を超えるキャプチャ及び格納速度を持続することができる。装置は、ＳＰＡＮポート（ミラーリングされたポート）１０１ルータ構成又は光スプリッタ１０２を通じて銅線又はＳＸファイバを通じて「イーサネット（登録商標）」ネットワークに取り付けることができる。本方法により、ギガビット「イーサネット（登録商標）」スイッチ１０３を含む複数のネットワークトラフィック源は、キャプチャ電子機器１０４に並列データ給送を提供することができ、集合データキャプチャ容量を実質的に増大する。非対称経路指定ネットワークトラフィック並びに外部消費に向けた他の併合ストリームをサポートするために、複数のキャプチャデータストリームが、統合時間索引付きキャプチャストリームへと併合される。
【００１５】
併合データストリームは、当業技術で公知である「ＦＣ−ＡＬ  ＳＡＮ（ファイバチャンネル調停ループストレージ領域ネットワーク）」に保存される。図１に示す「ＦＣ−ＡＬ」スイッチ１０５は、専用の非停止１００ＭＢ／秒又は１ＧＢ／秒２地点間並列接続を有する８つのポートを提供する。これらのポートは、キャプチャネットワークトラフィックを複数の「ＦＬ−ＡＬ  ＲＡＩＤアレイ」１０６に向ける。図示のアレイは、各々が７テラバイトの合計ストレージ容量を提供し、当業技術で公知の標準ＲＡＩＤ構成を用いて構成することができる。この実施形態は、好ましいストレージモードとして「ＲＡＩＤ  ０」（冗長性を伴わないストライピング）又は「ＲＡＩＤ  ５」（分散パリティ）、「ＲＡＩＤ  ０＋１」（ストライプを有するミラー）、「ＲＡＩＤ  １」（ミラー）をサポートするコントローラを提供する。図２は、８つまでの標準３インチハードディスクドライブ、並びに関連ハードウエア、ファームウエア、及びソフトウエアを保持するように設計された一般的な電子機器シャーシ（２Ｕ構成）を表している。本発明の現在の実施形態では、各シャーシは、８つの４００ＧＢハードディスクドライブを含むことになり、合計記憶容量は、シャーシ毎に３．２テラバイトになる。
【００１６】
ＩＮＰＣＳプラットフォームは、ＵＬ／ＴＵＶ及びＥＣ公認プラットフォームであり、クラスＡのＦＣＣ装置としてランク付けされている。ＩＮＰＣＳユニットはまた、ＴＵＶ−１００２、１００３、１００４、及び１００７静電放電電磁波耐性要件及びＥＭＩ電磁波耐性仕様を満たしている。ＩＮＰＣＳプラットフォームは、ＳＳＨ（「セキュアシェル」アクセス）によるコンソール管理を可能にし、並びに基本シリアルポートを通じて取り付けられたａｔｔｙ及びｔｔｙシリアルコンソールサポートによって装置へのセキュア接続を保証する。このユニットは、ディスクドライブのホットスワッピング及び「ＲＡＩＤ  ５」の耐障害性構成によるＩＤＥ装置の動的フェイルオーバーをサポートする。このユニットはまた、ディスクキャプチャのためのデュアル「１０００  Ｂａｓｅ  Ｔ」（１Ｇｂ）ストリームをサポートするための高性能「ＲＡＩＤ  ０」アレイ構成をサポートする。
【００１７】
ＳＡＮ上に格納されたキャプチャネットワークトラフィックは、３つの基本的方法、すなわち、ＰＣＡＰフォーマットファイルを公開するＶＦＳファイルシステム、仮想ネットワークインタフェース（イーサネット（登録商標））装置、及び外部電子機器に給送する外部ネットワークセグメントへの再生成パケットストリームを通じることを利用して外部電子機器及び装置、又はＩＮＰＣＳ電子機器上で作動する適切なアプリケーションに公開することができる。ＩＮＰＣＳファイルシステムは、オンディスクＬＲＵ（最長時間未使用）キャッシュとして作用し、ストアが一杯になると最も古いキャプチャデータをリサイクルさせて連続キャプチャの発生を可能にし、最も古いデータは、リサイクルされて上書きされるか、又はキャプチャネットワークトラフィックの永久保存のために外部ストレージに転送されるかのいずれかである。このアーキテクチャは、無限キャプチャシステムを可能にする。
【００１８】
ＶＦＳファイルシステムでは、ファイルは、当業技術で公知の「Ｌｉｎｕｘ  ＶＦＳ」を実施することによって動的に発生され、このＶＦＳは、ディスクにネットワークトラフィックをキャプチャするためにＩＮＰＣＳが用いるディスクＬＲＵの上に常駐する。ＩＮＰＣＳは、標準ＶＦＳを通じてデータを表すので、ｓｃｐ（セキュアコピー）、ＨＴＴＰＳ（セキュア「ハイパーテキスト転送プロトコル」）、ＳＭＢ（Ｍｉｃｒｏｓｏｆｔ製「サーバメッセージブロック」プロトコル）、又はＮＦＳ（Ｕｎｉｘ（登録商標）「ネットワークファイルシステム」プロトコル）のようなネットワーク規格を用いることで、これらのデータをアプリケーションが容易にインポート又はアクセスするか又は他のコンピュータシステムに容易にエクスポートすることが可能になる。それによってＩＮＰＣＳ装置は、幅広く異なるネットワーク環境の中でインストールすることが可能になる。更に、ファイルシステムを通じてキャプチャネットワークトラフィックを公開することにより、データテープ、コンパクトディスク（ＣＤ）、及びデータＤＶＤを含む外部装置への転送又はバックアップが容易になる。キャプチャトラフィックのためのファイルシステムインタフェースは、そのようなフォーマットを認識して読取る幅広い既存のアプリケーションへの容易な統合を可能にする。
【００１９】
ＩＮＰＣＳは、標準「イーサネット（登録商標）」プロトコルを用いて保存データを「仮想ネットワークインタフェース」としてアクセスすることを可能にする。多くのセキュリティ、科学的調査、及びネットワーク管理アプリケーションは、このアプリケーションがオペレーティングシステムを回避し、ネットワークインタフェースカードを直接開くことを可能にするインタフェースを有する。それによってアプリケーションは、開かれた装置で示すネットワークセグメントからパケットをこのパケットの「未処理」形式で読取ることが可能になる。ＩＮＰＣＳ仮想インターネット装置は、キャプチャデータストアにマップすることができ、それによって格納データは、オペレーティングシステムに対して１つ又はそれよりも多くの物理ネットワーク装置として見え、刻時された格納データは、あたかもライブネットワークトラフィックであるかのように見える。それによって既存のアプリケーションは、このアプリケーションのネットワークインタフェース装置への固有の直接アクセスを模擬実行することが可能になるが、パケットは、ＩＮＰＣＳ内のキャプチャパケットから装置に給送される。このアーキテクチャは、実時間ネットワークデータにアクセスするように設計されたアプリケーションとの容易な統合を可能にし、これらのアプリケーションを履歴データと同じ機能を実行するツールに変えることによってこれらのアプリケーションの使用可能度を著しく改善する。
【００２０】
「仮想ネットワークインタフェース」はまた、ＩＮＰＣＳ仮想「イーサネット（登録商標）」装置が望ましい特定パケットのみを配信するように、アナリストがこの装置の挙動を設定することを可能にする。例えば、ＩＮＰＣＳ装置は仮想装置であるので、ユーザは、この装置の挙動をプログラムすることができる。プログラムされたフィルタ仕様（プロトコルＩＤ又は時間領域等による）に所定の要件を満たすパケットのみを一致させるツールが備えられる。更に、アプリケーションによって開かれる物理「イーサネット（登録商標）」装置は、他のアプリケーションに対しては利用不能とされるが、ＩＮＰＣＳによって用いられる仮想インタフェースは、相互排他及び実時間ネットワーク性能へのいかなる影響をも伴わずに、複数のアプリケーションが仮想装置（これは、同じか又は異なるパケット部分集合を選択するようにプログラムすることができる）から読取ることを可能にする。
【００２１】
仮想インタフェースは、履歴データを調べるために用いることができるが、この仮想インタフェースの機能はまた、解析データの完全なデータ保存及びキャプチャと同時に作動する大きなネットワークバッファをアプリケーションに提供し、その一方で、独立型アプリケーションとして輻輳したネットワーク上で作動するパケット解析アプリケーションにおいて一般的に発生するパケット損失を伴わない警告及びライブネットワーク解析を提供することにより、これらのアプリケーションに向けてほぼ実時間のキャプチャデータモニタリングを可能にする。
【００２２】
ＩＮＰＣＳはまた、再生成を通じてデータアクセスを容易にする。ＩＮＰＣＳストア内のキャプチャパケットは、取り付けられたネットワークセグメント上の外部装置へと再伝送することができる。それによってストア内に含まれる「再生成」パケットを外部電子機器に送信することが可能になり、そのような電子機器又はアプリケーションによる実時間データの受信がエミュレートされる。ＩＮＰＣＳは、再生成の挙動をプログラムするためのツールを含む。例えば、パケットは、所定のパケット速度で再伝送することができ、又は特定の所定の基準を満たすパケットを再生成ストリームから除外するか又はその中に含めることができる。
【００２３】
ＩＮＰＣＳ電子機器によって外部電子機器に向けて再生成されたパケットを受容するこの外部電子機器は、ＩＮＰＣＳ電子機器の存在に気付かず、従って、機密性及びセキュリティが最重要のものであるアプリケーションを含み、既存又は今後の電子機器との統合はスムーズであり、容易である。
この再生成法はまた、ＩＮＰＣＳ電子機器の中に受信されるパケットを実時間キャプチャ速度で調べることができない可能性がある外部装置に格納パケットストリームを再伝送することによって「負荷平準化」を容易にする。更に、本方法は、現在の解析に対して重要であるとユーザが判断するパケットのみに注目することによって外部電子機器をより生産的にすることができる。再生成は、所定のインタフェースからＩＮＰＣＳ電子機器がパケットをキャプチャし、かつ格納を継続する間に達成することができるために、ＩＮＰＣＳの基本機能には影響を与えない。
【００２４】
ＩＮＰＣＳファイルシステムは、当業技術で公知のオンディスクＬＲＵ（最長時間未使用）キャッシュとして作用し、ストアが一杯になると最も古いキャプチャデータをリサイクルさせて連続キャプチャの発生を可能にし、最も古いデータは、リサイクルされて上書きされるか、又はキャプチャネットワークトラフィックの永久保存に向けて外部ストレージに押し出されるかのいずれかである。このアーキテクチャは、無限キャプチャシステムを可能にする。オンディスクストア内のあらゆる所定の時間におけるキャプチャパケットは、最も古いパケットから最も新しいものまでの全キャプチャパケットの時間内のビューを呈示する。
【００２５】
ＩＮＰＣＳソフトウエアは、修正Ｌｉｎｕｘオペレーティングシステムカーネルの中にロードされるロード可能モジュールとして実施される。このモジュールは、上述のようにＶＦＳ、仮想ネットワーク装置ドライバ（イーサネット（登録商標））、及び外部ネットワークセグメントへのパケット再生成に向けたサービスを提供し、実施する。ＩＮＰＣＳは、専有のファイルシステム及びデータストレージを用いる。ＩＮＰＣＳモジュールによって利用されるＬｉｎｕｘドライバはまた、全パケットコピーを排除するコピーレスＤＭＡスイッチ技術をサポートするように修正されている。コピーレス受信及び送信方法の使用は、ＩＮＰＣの望ましい処理機能を達成するために不可欠である。コピーレス送信は、送信機能がデータをコピーするのではなく、アプリケーションが送信の前にデータをメッセージバッファに追加することを可能にする。
【００２６】
キャプチャパケットは、従来のネットワークプロトコルスタックでは一般的なコピー又はヘッダ分解への必要性を伴わずにネットワークリングバッファからシステムストレージキャッシュの中に直接ＤＭＡ（直接メモリアクセス）転送される。ディスクストレージへの書込みに向けてスケジュール化されるキャプチャパケットに対して同様の方法が用いられる。これらの方法は、極めて高いレベルの性能を可能にし、パケットデータを３５０ＭＢ／ｓを超える速度でキャプチャし、その後ディスクに書き込むことを可能にし、ギガビットネットワーク上での損失のないパケットキャプチャに対するサポートを可能にする。
それによってＩＮＰＣＳユニットは、ライブネットワークデータのいかなるパケット損失も伴わずに最大回線速度のギガビットトラフィックをキャプチャすることが可能になる。
このアーキテクチャは、重要データ（パケット）の損失を伴わずに、普及している「侵入検出システム（ＩＤＳ）」ソフトウエアＳｎｏｒｔのようなアプリケーションによるキャプチャデータの実時間事後解析を可能にする。更に、セッション再構成等に向けた更に別の研究が望ましいならば、エラーなしの再構成を容易にするデータの全格納が利用可能である。
【００２７】
これらの方法は、ユーザ及びネットワーク調査者が詳細なトリガを作成することを必要とし、イベントモニタがネットワーク上の特定イベントを検索することを必要とすると考えられるより従来型の「スニファー」及びネットワークトリガモデルよりも優れている。
ＩＮＰＣＳを用いると、全てのネットワークパケットは、ネットワークからキャプチャされ、解析作業は、単に大量のキャプチャデータの事後解析に過ぎないために精巧なトリガ及びイベントモニタ技術への要求は不用である。すなわち、ＩＮＰＣＳは、アナリストにライブネットワークトラフィック及びフロー力学の無類の展望を与えるので、ネットワーク障害追求、並びにネットワーク科学的調査及び解析における新しいモデルを呈する。このユニットは、全てのネットワークトラフィックをキャプチャするために、ネットワーク上で時間内に発生したあらゆるイベントを再生することができる。この装置は、本質的にネットワークトラフィックの全体を含むモノリシックな「ネットワークバッファ」を作成する。
【００２８】
一実施形態では、ＩＮＰＣＳは、ＶＦＳファイルシステム（ＤＳＦＳ）を通じてキャプチャデータをＰＣＡＰファイルとして公開する。装着されたＤＳＦＳファイルシステムは、ファイルをリスト化、閲覧、コピー、及び読取ることができる従来のファイルシステムのように振る舞う。これは、ファイルシステムであるために、ＬｉｎｕｘのＮＦＳ又はＳＭＢＦＳを通じて他の取り付けられたネットワークコンピュータにエクスポートすることができ、これらのネットワークコンピュータは、キャプチャデータをネットワーク上の全トラフィックの集合時間索引付きスロットファイル又は統合キャプチャファイルとしてダウンロードすることができる。それによってアナリストには、ローカル解析に向けて重要ファイルをローカルマシンに単純にコピーする機能が与えられる。これらのキャプチャＰＣＡＰファイルはまた、ＣＤのようなより永久的なストレージに書き込むことができ、又は別のマシンにコピーすることができる。
【００２９】
「ＩＮＰＣＳファイルシステム（ＤＳＦＳ）」はまた、キャプチャパケットデータ上にマップされる時間再生ベース及び実時間の両方の仮想ネットワークインタフェースを作成して公開し、パケットがＤＳＦＳキャッシュシステムの中に書き込まれる時に、これらのアプリケーションが実時間でキャプチャデータを処理することを可能にする。それによってセキュリティアプリケーションは、ＩＮＰＣＳが割り込みなしに新しいネットワークトラフィックのキャプチャを継続する間に、例えば、実時間でキャプチャデータを連続的にモニタし、このＩＮＰＣＳ装置からのＩＤＳ及び警告機能を備えることが可能になる。それによって既存のセキュリティ、科学的調査、コンプライアンス、解析、及びネットワーク管理アプリケーションは、これらのプログラムに必要とされるソフトウエア変更を伴わずにＩＮＰＣＳ装置上でスムーズに作動することが可能になり、その一方で、これらのアプリケーションには、ネットワーク上の全てのトラフィックを解析する損失のない方法が与えられる。
【００３０】
ＩＮＰＣＳユニットは、「スイッチポートアナライザ（ＳＰＡＮ）」又は標準ＬＸ又はＳＸ光ファイバ接続のいずれかを通じた光スプリッタのいずれかを通じて接続される独立型電子機器として実施することができる。このユニットはまた、１０／１００／１０００Ｍｂの回線速度におけるＵＴＰベースの「イーサネット（登録商標）」のキャプチャをサポートする。
ＩＮＰＣＳユニットはまた、デュアルＳＸファイバを通じてギガビット「イーサネット（登録商標）」アダプタに非対称に経路指定されたネットワークをサポートするように構成することができ、光スプリッタは、ＴＸ／ＲＸポートをＩＮＰＣＳ装置の両方のＲＸポートに接続する。
【００３１】
ＳＰＡＮ構成では、ＩＮＰＣＳユニットはルータに接続され、更に、ルータは、選択されたポートトラフィックをＩＮＰＣＳユニットに接続したポートの中にミラーリングするようになっている。図３は，ＳＰＡＮ構成におけるＩＮＰＣＳ電子機器の使用を概略的に表している。この構成では、ＩＮＰＣＳ電子機器は、ルータのポートに接続され、このルータは、他の選択されたポートからのパケットをホストルータ上のＳＰＡＮ構成に設定されたポートにミラーリング（すなわち、コピー）するようになっている。本方法は、確かにある程度までルータの性能を劣化させるが、モニタリング用途に向けてＩＮＰＣＳ電子機器をネットワークに接続する最も平易で最も費用効果的な方法である。
【００３２】
ＳＰＡＮ構成を用いる１つの明瞭な利点は、大学又は大規模な事業所に存在するもののような大学構内規模のネットワーク化環境における多数のルータをホストするマルチルータネットワークに関する。大学構内規模の幅広いベースでデータを集積し、ＩＮＰＣＳデータ記録電子機器をホストする特定ルータにこれらのデータを導くために、ルータは、ローカルトラフィックを特定ポート上にミラーリングし、このトラフィックを中央ルータバンクに向け直すように構成することができる。この実施は、ギガビット「イーサネット（登録商標）」セグメントを利用する非常に大規模なネットワークにおいてさえも、本方法が実施可能であり、かつ実用的であることを明らかにしている。３０，０００人又はそれよりも多くの学生がおり、Ｗｉｎｄｏｗｓ（登録商標）、Ｕｎｉｘ（登録商標）、Ｌｉｎｕｘ、及び他のオペレーティングシステムを用いてワークステーション及びサーバが教員、職員、実験室などにサービスを提供する大学では、大学内外の平均ネットワークトラフィックは、複数のギガビット「イーサネット（登録商標）」セグメントにわたって約５５ＭＢ／ｓの持続速度で継続され、ピーク時には８０ＭＢ／ｓに達すると予測することができる。ＳＰＡＮ構成を利用するＩＮＰＣＳ電子機器の実施は、ネットワークへの顕著な影響を伴わずに達成することができ、ＩＮＰＣＳは、これらの速度で全てのネットワークトラフィックを容易にキャプチャすることができ、すなわち、大学又は同様のサイズの企業の内外の全ネットワークトラフィックキャプチャを維持することができる。
【００３３】
ＩＮＰＣＳ電子機器は、インライン光スプリッタを通じたネットワークトラフィックキャプチャをサポートするように構成することができ、この光スプリッタは、ＩＮＰＣＳ電子機器内の２つのＳＸギガビット「イーサネット（登録商標）」アダプタの中に給送する構成の中でＲＸ（受信）及びＴＸ（送信）トラフィックの進路を変更する。図４は、そのような非対称経路指定構成におけるＩＮＰＣＳ電子機器の使用を表している。この構成では、ＩＮＰＣＳ電子機器は、ＳＸ（マルチモード）又はＬＸ（シングルモードの長距離）光ファイバギガビットケーブルのいずれかをサポートする光スプリッタに接続される。本方法は、非常に高レベルの性能を提供し、非侵入的である。このユニットは、あらゆる外側ネットワーク装置の視界から完全に遮蔽されるので、この構成法の非侵入的性質は、ＩＮＰＣＳ電子機器を顧客ネットワーク上で完全に不可視にする。
【００３４】
非対称経路指定のサポートに関する更に別の利点が存在する。ある程度大規模な商用ネットワークでは、ルータ間でネットワークトラフィックを伝播するＲＸ及びＴＸチャンネルは、ネットワークのクロスセクション帯域幅を増加させる手段としてネットワーク基礎構造を通る独立経路を取るように構成することができる。例えば、大規模金融市場において維持されるネットワークは、この方式で構成することができる。この手法を用いると、ネットワークトラフィックを組み立て直し、論理着信順序で見ることができるように、１つ又はそれよりも多くのキャプチャチェーンからのキャプチャトラフィックを統合チェーンに再統合することを必要とする（光スプリッタ構成及びＳＰＡＮポート実施を含む構成の両方において）。
【００３５】
ＩＮＰＣＳ電子機器は、これらのモードの両方をサポートし、更に、キャプチャネットワークトラフィックのビューを併合されて取り付けられたキャプチャパケットチェーンとして表す機能を提供する。図５は、光スプリッタ構成におけるＩＮＰＣＳ電子機器を示している。デフォルトでは、ＩＮＰＣＳは、電子機器シャーシにおいてＳＸファイバのみをサポートする。ＬＸファイバサポートを必要とするユーザに対しては、外部ネットワークタップ装置を通じたＬＸからＳＸへのファイバ接続を可能にするために、この構成に光スプリッタ及びコンバータを追加することができる。
【００３６】
ＩＮＰＣＳは、仮想インタフェースを構成し、物理的アダプタ上でのデータキャプチャを始動及び停止し、仮想ネットワークインタフェースをデータストア内のキャプチャデータ上にマッピングし、更に、ネットワークインタフェース及びキャプチャデータステータスをモニタすることを可能にするいくつかのユーティリティを提供する。更に、全てのキャプチャデータストアは、これらのキャプチャデータがキャプチャされる時に、これらのキャプチャデータからＬＩＢＰＣＡＰファイルを動的に発生する仮想ファイルシステムを通じてエクスポートされ、キャプチャネットワークトラフィック対して「ＴＣＰＤＵＭＰ  ＬＩＢＰＣＡＰ」ファイルフォーマットをサポートするあらゆるネットワーク科学的調査プログラムがこれらのファイルデータセットを閲覧及び科学的調査用途に向けて閲覧し、保存することを可能にする。
【００３７】
ＤＳＣＡＰＴＵＲＥユーティリティは、ネットワークデータのキャプチャを構成してキャプチャを開始し、また「仮想ネットワークインタフェース」をマップすることを可能にし、パケットの索引、日付及び時間、又は特定のネットワークアダプタ又はネットワークセグメントから取り込んだパケットチェーン内のオフセットに基づいて特定の時間領域を選択することを可能にする。
このユーティリティは、指令ライン環境内に現れると考えられる以下の関数を提供する。
【００３８】
【数１】
2011222006.tif 000003
【００３９】
関数「ＤＳＣＡＰＴＵＲＥ  ＩＮＩＴ」は、ＩＮＰＣＳキャプチャストアを初期化することになる。「ＤＳＣＡＰＴＵＥ  ＳＴＡＲＴ」及び「ＤＳＣＡＰＴＵＲＥ  ＳＴＯＰ」は、それぞれ、ネットワークインタフェース名に基づいてローカルストア上へのネットワークトラフィックのパケットキャプチャを始動及び停止する。デフォルトでは、制御コードが以下のものに類似することになるように、Ｌｉｎｕｘは、インタフェースにｅｔｈ０、ｅｔｈ１、ｅｔｈ２等と名付ける。
【００４０】
【数２】
2011222006.tif 000004
【００４１】
「ＤＳＣＡＰＴＵＲＥ  ＭＡＰ」及び「ＤＳＣＡＰＴＵＲＥ  ＭＡＰ  ＳＨＯＷ」関数は、特定の仮想ネットワークインタフェースを物理的ネットワークアダプタからストア内に位置するキャプチャデータ上にマップすることを可能にする。それによって当業技術で公知であるＳＮＯＲＴ、ＴＣＰＤＵＭＰ、ＡＲＧＵＳ、及び他の科学的調査アプリケーションは、このアプリケーションの機能がライブネットワークアダプタ上で作動した場合と同様の方式でＩＮＰＣＳストア上で作動することが可能になる。それによってキャプチャトラフィックをほぼ実時間の性能レベルで同時に解析するための多数の既存又はカスタム設計の科学的調査アプリケーションの使用が容易になる。ライブネットワークストリームをエミュレートするキャプチャデータに対する仮想インタフェースは、物理的ネットワークアダプタからのキャプチャデータストリームの終端に遭遇すると「停止」イベントを生成し、新しいデータが着信するまで待機することになる。この理由から、以下の指令ラインシーケンスに示すように、データストアへのネットワークトラフィックの同時キャプチャと共にトラフィックがこれらのプログラムに連続して実時間でキャプチャされ、ストリーミングされる間に、これらのアプリケーションをＩＮＰＣＳストア上で無修正形態で用いることができる。
【００４２】
【数３】
2011222006.tif 000005
【００４３】
ＤＳＣＡＰＴＵＲＥ関数はまた、以下の指令ラインシーケンス及び表示に示すように特定の仮想インタフェースを物理インタフェースにマップすることを可能にする。
【００４４】
【数４】
2011222006.tif 000006
【００４５】
ここで、「ＤＳＣＡＰＴＵＲＥ  ＭＡＰ  ＳＨＯＷ」関数は、以下のように表示することになる。
【００４６】
【数５】
2011222006.tif 000007
【００４７】
ＩＮＰＣＳによって提供される２つの明瞭な型の仮想ネットワークインタフェースが存在する。ｉｆｐ＜＃＞及びｉｆｔ＜＃＞は、仮想ネットワークインタフェースと呼ばれる。ｉｆｐ＜＃＞という名称の仮想インタフェースは、ストアの終端に到達するまで最大速度でデータストアからデータを読取る機能を提供する。ｉｆｔ＜＃＞という名称の仮想インタフェースは、データがネットワークからキャプチャされた同一の時間窓でキャプチャデータの時系列再生を提供する。この第２のクラスの仮想ネットワークインタフェースは、データがネットワーク源からライブでキャプチャされた時に呈したものと同じタイミング及び挙動を伴ってこれらのデータを再生することを可能にする。元のタイミング挙動が完全に保持されるために、上述したことは、ネットワーク攻撃及びアクセスの企てを閲覧し、解析することにおいて有用である。ＤＳＣＡＰＴＵＲＥ関数はまた、以下の指令ラインシーケンスのように調査者が検査するのに選択すると考えられる時間、パケット番号、又はデータオフセットのいずれかの点において仮想ネットワークインタフェースをストアの中に索引付けすることを可能にする。
【００４８】
【数６】
2011222006.tif 000008
【００４９】
これらの指令は、仮想インタフェース内のどこでキャプチャパケットを読取ることを始動すべきかをユーザが設定することを可能にする。２テラバイトを超えるキャプチャデータを有する大規模システムでは、調査者は、ある一定の日付及び時間で始まるパケットを調べることのみが必要であろう。このユーティリティは、ユーザが仮想ネットワークインタフェースポインタをキャプチャストリーム内の特定位置に設定することを可能にする。
従って、仮想装置が開かれると、この装置は、キャプチャストリームの開始点からではなく、これらの位置からパケットを読取り始めることになる。
【００５０】
ＤＳＭＯＮユーティリティは、シリアルポート、ＳＳＨ（セキュアシェルログイン）を通じてＩＮＰＣＳ装置に接続した標準Ｌｉｎｕｘコンソール、ａｔｔｙ、又はｘｔｅｒｍウィンドウからのＩＮＰＣＳ装置のモニタリング、又は当業技術で公知のｘｔｅｒｍ装置を通じた「Ｔｅｒｍｉｎａｌ  Ｗｉｎｄｏｗ」によるＩＮＰＣＳ装置のモニタリングを可能にする。このプログラムは、データキャプチャステータス、ストア内のキャプチャデータ、ネットワークインタフェース統計値、及び仮想インタフェースマッピングの総合的なモニタリングを提供する。
【００５１】
図６は、ＤＳＭＯＮ関数のスクリーンコンソールにおけるメニュー選択肢を表している。ユーザは、ネットワークインタフェース、スロットキャッシュ、ディスクストレージ、スロットチェーン、利用可能な仮想インタフェース、及び併合チェーンに関連する情報を選択し、閲覧することができる。ＤＳＭＯＮユーティリティは、全てのネットワークインタフェース、並びにパケット落ち、ＦＩＦＯ及びフレームエラー、受信パケット及びバイト数などを含む関連ハードウエア統計値のモニタリングをサポートする。更に、このユーティリティは、システム内のキャッシュ使用、ディスクストレージ使用、異常形態パケットを記録するキャプチャモニタリング、合計キャプチャパケット、ディスクチャンネルＩ／Ｏ性能統計値、物理ネットワークインタフェースへのスロットチェーンのマッピングを含むスロットチェーン情報、特定アダプタにチェーン接続したスロット数、パケットチェーンがスロット内に格納された日付及び時間及びそれらの関連チェーン、仮想インタフェースマッピング、仮想インタフェース設定、及び非対称経路指定キャプチャトラフィック、光スプリッタ構成からキャプチャされて併合されたトラフィックのサポートのための併合スロットチェーンをモニタする。
下記の説明は、このユーティリティによってＩＮＰＣＳ電子機器及び独立型ソフトウエアパッケージからネットワーク管理者及び科学的調査の調査者に提供される情報の一部を詳述するいくつかのＤＳＭＯＮパネルからの一般的な抜粋である。
【００５２】
図７は、ネットワークインタフェースのステータスを示すＤＳＭＯＮユーティリティによって生成される一般的な表形式レポートを表している。この表示は、ネットワークインタフェースの識別、装置の型、「インターネット」アドレス、ハードウエアアドレス、同報通信の型、最大伝送単位（ＭＴＵ）設定、割り込みステータス、回線／リンクステータス、パケット受信速度、バイト受信速度、受信パケット及びバイトにおける最大バースト速度、パケット落ち、合計キャプチャパケット及びバイト、バッファ落ちに関する総合情報を提供する。これらの情報を用いることにより、ユーザに対して、キャプチャデータの保全性のみならず、発生する可能性があるネットワーク問題の障害追求を保証することができる。
【００５３】
図８は、ＩＮＰＣＳのディスクストレージのステータスを示すＤＳＭＯＮユーティリティによって生成された一般的な表形式レポートを表している。この表示は、刻時、ディスク情報、スロット情報、並びにクラスター及びブロック割り振り、データ及びスロットの開始点、論理ブロックアドレス指定に関するデータを含むディスクストレージに関する総合情報を提供する。
図９は、スロットチェーンのステータスを示すＤＳＭＯＮによって生成された一般的な表形式レポートを表しており、各スロットは、所定のキャプチャデータセグメントを呈している。この表示は、ＩＮＰＣＳの作動時間、能動スロットチェーン、及びこれらの始動時間及びサイズに関する情報を提供する。
【００５４】
ＩＮＰＣＳデータレコーダは、データストア内のスロット及びスロットチェーンからＬＩＢＰＣＡＰフォーマットファイルを動的に発生するカスタム「仮想ファイルシステム（ＤＳＦＳ）」を通じてキャプチャデータを公開する。これらのデータは、標準のファイルシステムアクセス方法のあらゆるものを通じてアクセスすることができ、キャプチャデータをコピー、保存、及び検査するか又はＬＩＢＰＣＡＰフォーマットをサポートするあらゆるプログラム又はアプリケーションの中にインポートすることを可能にする。デフォルトでは、ＩＮＰＣＳシステムは、以下のように「Ｌｉｎｕｘ仮想ファイルシステム（ＶＦＳ）」インタフェースの下で新しいファイルシステム型を公開する。
【００５５】
【数７】
2011222006.tif 000009
【００５６】
ＤＳＦＳは、装置ベースのファイルシステムとして登録され、標準「Ｓｙｓｔｅｍ  Ｖ」Ｕｎｉｘ（登録商標）システム及び「Ｓｙｓｔｅｍ  Ｖ」Ｕｎｉｘ（登録商標）の指令構造をエミュレートするためのシステムの下で装着指令を通じて標準ファイルシステムとして装着される。このファイルシステムは、ＮＦＳ、ＳＡＭＢＡ、ＩｎｔｅｒＭｅｚｚｏ、及びＬｉｎｕｘオペレーティングシステムの標準配分によって提供される他のリモートファイルシステムアクセス法のようなプロトコルを通じてリモートユーザに対して公開することができる。それによってＤＳＦＳファイルシステムは、Ｗｉｎｄｏｗｓ（登録商標）及びＵｎｉｘ（登録商標）ワークステーションクライアントが中央ロケーションからリモートにアクセスすることが可能になる。
【００５７】
ＤＳＦＳは、下記の指令ラインシーケンスに示すようにオペレーティングシステム及びリモートユーザに対してＬｉｎｕｘオペレーティングシステムの下でサポートされる単に別の型のファイルシステムとして見える。
【００５８】
【数８】
2011222006.tif 000010
【００５９】
図１０は、ＤＦＳファイルシステム構造を概略的に表している。ＤＳＦＳファイルシステムは、ユーザスペースからの読取専用ファイルシステムである。しかし、このＤＳＦＳファイルシステムは、確かに、このシステムの指定されたエンドユーザに対して特定のファイル許可を割り振るためにｃｈｍｏｄ及びｃｈｏｗｎ指令をサポートする。それによって選択された個人がＤＳＦＳファイルシステムに含まれるファイルに個々のベースでアクセスすることを中央管理者が許可することが可能になり、１人よりも多い「ネットワーク科学的調査の調査者」を有する「ネットワークセキュリティオフィス」によって使用が目論まれる場合には、システムを構成し、管理するためのより高い自由度が許される。
【００６０】
下層のキャプチャエンジンサブシステムのみが、ＤＳＦＳファイルシステム内のデータを書込み、変更することができる。特定ファイルへのユーザ許可の割り振りを超えては、ＤＳＦＳは、システム管理者を含むあらゆるユーザによるキャプチャデータの変更を禁止する。証拠の原則が必須である犯罪又は民事法手続きにおいてキャプチャデータが用いられる場合には、上述のことによって格納の継続性を目的としてキャプチャデータの保全性が保証される。
【００６１】
デフォルトでは、ＤＳＦＳファイルシステムの読取−書込の性質は、ユーザスペースからシステムにアクセスするユーザに対しては読取専用であり、以下の指令ラインシーケンス例に示すように、Ｕｎｉｘ（登録商標）の「ｄｆ」指令は、書込みに対してストアを常にアクセス不可として報告することになる。
【００６２】
【数９】
2011222006.tif 000011
【００６３】
ＤＳＦＳファイルシステムは、以下のディレクトリ構造の中に編入される。
【００６４】
【数１０】
2011222006.tif 000012
【００６５】
デフォルトでは、ＤＳＦＳは、ルートＤＳＦＳディレクトリ内のキャプチャスロットチェーンをシステム内のアダプタ番号及び名称によってＬＩＢＰＣＡＰファイル内に含まれる完全なパケットチェーンとして公開する。キャプチャアダプタがチェーン内に複数のスロットを含む場合には、データは、ＰＣＡＰフォーマットの大きな連続ファイルとして表され、個々のスロットは、透過的に互いにチェーン接続される。これらのファイルは、ローカル又はリモートのいずれからも開くことができ、ＬＩＢＰＣＡＰフォーマットデータを読取るように設計されたあらゆるプログラムに読取ることができる。
【００６６】
これらの主スロットチェーンは、実際には開始及び終了の日付及び時間によって注釈を付けられた個々のスロットのサブチェーンから成る。デフォルトでは、各アダプタに対して作成される２つのファイルが存在する。１つのファイルは、ネットワークトラフィックの完全なペイロードを含み、別のファイルは、フレームに分割されている。フレーム分割は、各キャプチャパケットの最初の９６バイトのみを表し、殆どのネットワーク解析ソフトウエアは、ネットワークヘッダのペイロードだけに関心があり、パケット内の関連データには関心がない。完全なネットワークペイロードを必要としないアプリケーションに対しては、フレーム分割ファイルが利用可能であるために、両方のファイルを提供することにより、ネットワーク解析作業中にネットワークを通じてリモートに転送されるデータ量は減少する。
【００６７】
また、ＤＳＦＳボリュームのルートディレクトリ内に示されている各スロットチェーンを含む個々のスロットを表すいくつかのサブディレクトリが存在する。これらのディレクトリは、キャプチャデータを考察するより大まかな方法を可能にし、スロット及びネットワークアダプタ名と共に各個々のスロット内に含まれるパケットに対する開始及び終了キャプチャ時間によって格納される。全てのパケットデータの完全なネットワークペイロードを表す「ｓｌｏｔｓ」と呼ばれるディレクトリ、及びフレーム分割フォーマットの同じスロットデータを表す「ｓｌｉｃｅ」と呼ばれるディレクトリが作成される。これらのスロットファイルは、下層のＤＳＦＳデータストアから作成される動的生成ＬＩＢＰＣＡＰファイルでもある。
【００６８】
ｅｔｈ１に対する完全なペイロードを有する個々のスロットを有するＳＬＯＴＳディレクトリエントリは、以下の指令ラインシーケンスにおけるもののように表現されることになる。
【００６９】
【数１１】
2011222006.tif 000013
【００７０】
ｅｔｈ１に対するフレーム分割されたペイロードを有する個々のスロットを有するＳＬＩＣＥディレクトリエントリは、以下のように表現されることになる。
【００７１】
【数１２】
2011222006.tif 000014
【００７２】
これらのファイルは、以下のようにＤＳＦＳファイルシステムからＴＣＰＤＵＭＰ又は他のあらゆるＬＩＢＰＣＡＰベースのアプリケーションの中にインポートすることができる。
【００７３】
【数１３】
2011222006.tif 000015
【００７４】
主スロットチェーンファイルもまた、以下の指令ライン例に示すように、同様の方式でルートＤＳＦＳディレクトリからインポートすることができ、後の科学的調査解析に向けて単純なシステムファイルとしてローカル又はリモートのターゲットディレクトリにコピー及び保存することができる。
【００７５】
【数１４】
2011222006.tif 000016
【００７６】
また、キャプチャネットワークトラフィックを保存するために、以下の指令を用いて他のあらゆるシステムファイルと同様にこれらのファイルをコピーすることができる。
【００７７】
【数１５】
2011222006.tif 000017
【００７８】
ＤＳＦＳの「ｓｔａｔｓ」ディレクトリは、ＤＳＭＯＮユーティリティを通じて報告される情報と同様の特定の統計情報によって動的に更新されるテキストファイルを含む。これらのファイルは、開いてコピーすることができ、それによって次に示すように特定の時間間隔におけるＩＮＰＣＳシステムのキャプチャ状態の寸見を提供する。
【００７９】
【数１６】
2011222006.tif 000018
【００８０】
例えば、ｓｌｏｔ．ｔｘｔというファイルは、ＤＳＦＳシステム内の全てのスロットバッファの現在のキャッシュ状態を含み、以下の指令ラインシーケンスによって単純なテキストファイルとして表示及びコピーすることができる。
【００８１】
【数１７】
2011222006.tif 000019
【数１８】
2011222006.tif 000020
【００８２】
更に、既存の「ｍｅｒｇｅ」ディレクトリは、キャプチャデータの非対称経路指定トラフィック及び光タップ構成のサポートに向けて併合スロットチェーンを提供するためにファイルを動的に作成することを可能にする。
ネットワークインタフェース指令をサポートする標準アプリケーションの全ては、仮想ネットワークインタフェースの使用を通じてＩＮＰＣＳと共に実施することができる。図１１は、当業技術で公知であるいくつかの標準ネットワーク解析及び科学的調査ツールに関連したＩＮＰＣＳの使用を表している。ＴＣＰＤＵＭＰは、以下の指令ラインシーケンスのように「仮想ネットワークインタフェース」を利用することによってＩＮＰＣＳ上で作動するように構成することができる。
【００８３】
【数１９】
2011222006.tif 000021
【００８４】
ＳＮＯＲＴ侵入検出システムは、ＩＮＰＣＳ電子機器によって提供される仮想ネットワークインタフェースの同様の使用を通じてＩＮＰＣＳデータレコーダ上でソフトウエア変更なしで作動することができる。「仮想インタフェース」は、格納データの終端に到達すると停止するので、ＳＮＯＲＴは、ＩＮＰＣＳ電子機器内にキャプチャされ、格納されたデータが蓄積する時に、このデータを実時間で読取りながら背景で作動することができる。ＳＮＯＲＴを起動し、初期化するための手順は、以下の指令ラインシーケンス及び表示に示すように表現される。
【００８５】
【数２０】
2011222006.tif 000022
【数２１】
2011222006.tif 000023
【数２２】
2011222006.tif 000024
【数２３】
2011222006.tif 000025
【数２４】
2011222006.tif 000026
【００８６】
図１２は、ＩＮＰＣＳの内部システムアーキテクチャを表している。本発明のこの実施形態では、本発明は、ギガビット毎秒の回線速度でネットワークトラフィックをキャプチャして格納する不揮発性（ディスクに書き込まれる）キャッシュとして扱われるストレージセグメントの高速オンディスクＬＲＵキャッシュとして設計される。このアーキテクチャは、ファイバチャンネル又は１０ＧｂＥ（１０ギガビット）（ＳＣＳＩ）「イーサネット（登録商標）」ネットワーキング技術を利用してストレージクラスター内の複数のノードにわたってスロットキャッシュセグメントをストライピングし、分散させる機能を提供するように更に高められる。スロットストレージセグメントは、システムストレージ内のクラスターベースのマッピング層に相応にマップされる大きな個別のキャッシュ要素としてシステムメモリ内に割り振られ、維持される。これらのスロットキャッシュセグメントは、このセグメントが特定のネットワークセグメントからキャプチャされたパケット及びネットワークペイロードデータを含む対象であるネットワークインタフェースに基づいて、不揮発性（ディスク）ストレージ上の長いチェーン又はリンクリストの中に取り付けられる。
【００８７】
本発明はまた、標準ファイルシステム及びオペレーティングシステムの中へのネットワーク装置インタフェースを通じたキャプチャデータの高速トラフィック再生成及びキャプチャデータの検索を可能にする。この柔軟な設計は、特殊インタフェース及びＡＰＩ（アプリケーションプログラミングインタフェース）を必要とせずにユーザスペースアプリケーションがネイティブファイルフォーマット及びネイティブ装置サポートフォーマットのキャプチャデータにアクセスすることを可能にする。
【００８８】
データは、ネットワークアダプタのリングバッファメモリの直接ＤＭＡマッピングを通じてキャプチャアダプタから揮発性（メモリ）スロットキャッシュバッファの中にストリーミングされ、揮発性キャッシュが一杯になり、オーバーフローすると同時に不揮発性（ディスク）の中にフラッシュされる。各スロットキャッシュセグメントは、時間ベースであり、開始時間、終了時間、サイズ、及びチェーンリンケージメタタグを有し、更に、自己注釈付け及び自己説明のネットワークトラフィックストレージユニットである。スロットキャッシュセグメントが完全に占有されて、スロットキャッシュストレージシステムが一杯になると同時に、スロットチェーン内の古いセグメントは上書きされるか又は長期保存ストレージの中にプッシュ／プルされる。
【００８９】
本発明は、キャプチャネットワークトラフィックの格納及び保存のために２つの基本ディスクパーティションタイプを用いる。これらのオンディスクレイアウトは、キャプチャネットワークトラフィックをディスクに書き込むための不揮発性（オンディスク）ストレージキャッシュへの高速Ｉ／Ｏトランザクションを容易にする。本発明では３つの基本パーティションタイプを実施する。０×９７、０×９８パーティションタイプ、及び０×９９パーティションタイプは、当業技術で公知である。
【００９０】
パーティションタイプ０×９７パーティションは、ライブネットワーク媒体からキャプチャされている能動データを格納するためにシステムによって用いられる。パーティションタイプ０×９８パーティションは、各「基本」キャプチャパーティションに対して１２８テラバイトまでのディスクストレージに及ぶことができる大きなオンディスクライブラリキャッシュの中にキャプチャネットワークトラフィックを保存するために用いられる長期ストレージである。タイプ０×９７パーティションは、各パーティション上に位置する「ディスクスペース記録」ヘッダによって説明される。
【００９１】
「ディスクスペース記録ヘッダ」は、タイプ０×９７パーティションのブロックサイズ、パーティションテーブルレイアウト、及びスロットストレージレイアウトを説明する。
「ディスクスペース記録ヘッダ」は、タイプ０×９７ストレージパーティション又はタイプ０×９８ストレージパーティションのいずれかのストレージ範囲を定めるために以下のオンディスク構造を用いる。
【００９２】
【数２５】
2011222006.tif 000027
【数２６】
2011222006.tif 000028
【数２７】
2011222006.tif 000029
【数２８】
2011222006.tif 000030
【００９３】
「ディスクスペース記録」はまた、メンバーシップクラスターマップ内に格納される作成及びメンバーシップＩＤ情報に基づいて複数のタイプ０×９７又はタイプ０×９８パーティションからの「ディスクスペース記録」をチェーン接続することを可能にし、それによって複数のタイプ０×９７パーティションの単一の論理ビューの作成が可能になる。それによってシステムは、設定済みのタイプ０×９７パーティションをストライプセットの中に連結することが可能になり、複数の装置にわたってデータストライピングがサポートされ、それによってディスクチャンネル性能が劇的に改善する。
【００９４】
更に、「ディスクスペース記録」は、メタデータ及び仮想「ディスクスペース記録」セット内でスロットキャッシュバッファチェーンを管理するために用いられるチェーン接続テーブルのために内部テーブルレイアウトを定義する。「ディスクスペース」記録は、スロットストレージをスロットストレージ要素の論理ファイル及びファイルチェーンとして表すためにＤＳＦＳファイルシステムによって用いられるテーブルを定義するテーブルポインタを含む。
【００９５】
「ディスクスペース記録」ベースのストレージは、ストレージパーティションをスロットと呼ばれるディスクセクターの連続領域へと分割する。スロットは、１６から２０４８までの５１２バイトセクターの６４Ｋブロックを含むことができ、これらのストレージ要素は、順次方式でディスクに格納される。スロットは、索引０で開始し、特定のディスク装置パーティション上の物理ストレージによってバックアップされるスロット数に至るまでの順次位置依存付番手法を通じてアクセスされる。各「ディスクスペース記録」は、スペーステーブルを含む。スペーステーブルは、サイズにおいて、常に、「ＮＵＭＢＥＲ＿ＯＦ＿ＳＬＯＴＳ」＊（ＳＰＡＣＥ＿ＴＡＢＬＥ＿ＥＮＴＲＹ）のサイズである構造の線形リストである。スペーステーブルは、特定のスロットに関するサイズ、リンケージ、及びファイル属性情報を維持し、更に、論理スロットチェーン内の特定スロットの論理チェーン接続及び所有権を格納する。
【００９６】
図１３は、物理６４Ｋクラスターの連続リストとしてアドレス指定された「ディスクスペースストアパーティション」を表している。クラスターは、ディスク装置上の１２８の連続５１２バイトセクターから成る６４Ｋ単位のストレージとして定義される。ＤＳＦＳは、パーティションをクラスターベースのストレージの線形リストとして捉え、ストレージのアドレス指定は、０×９７及び０×９８パーティションタイプでは、クラスター単位で実行される。全てのディスクアドレスは、ストレージ及びキャッシュの論理６４Ｋクラスター単位に基づいて生成され、マップされる。スロットは、６４Ｋバッファのチェーンで構成され、このチェーンは、「ディスクスペースストア」パーティション又は「仮想ディスクストアパーティション」上の６４のクラスターアドレスに相応にマップされる。ストライピングを実行する「ディスクスペース記録」は、ＤＳＦＳ「ディスクスペース記録」メンバのストライプセットを含む様々なパーティション間でクラスターアドレス割り振りをラウンドロビンするアルゴリズムを用いる。
【００９７】
以下のアルゴリズムを用いて、ストライプセットに対する「仮想クラスター」アドレスが生成される。
【００９８】
【数２９】
2011222006.tif 000031
【００９９】
ストライプメンバ数に対するクラスター番号のモジュールが実行され、ディスク装置パーティションテーブル内のパーティションオフセットの特定のディスクＬＢＡオフセットテーブルの中への索引として用いられ、６４Ｋクラスター番号の相対ＬＢＡオフセットが計算される。クラスター番号は、ストライピングされたメンバ数で割算され、特定のストライプセットパーティションの中への物理クラスターアドレス及びセクターＬＢＡオフセットが決定される。
【０１００】
図１４は、論理スロットが物理装置上にマップされた「ディスクスペース」記録を表している。「ディスクスペース」記録は、常にＤＳＦＳパーティション内の最初のストレージセクターである。ＤＳＦＳパーティション内のストレージセクターは、設定済みのＩ／Ｏブロックサイズ（４Ｋ）ページ境界上に常に整合するように計算される。ＬＢＡセクターのアドレス指定に対して４Ｋ境界上に整合しないパーティションを作成することができる例が存在する。整合ブロックではないパーティションが作成された場合には、ＤＳＦＳパーティションは、ＬＢＡ０に対してアドレス可能な整合ブロックに従うように調節される。このアドレス指定整合を実行するアルゴリズムは、Ｉ／Ｏブロックサイズ（４Ｋ）整合を強制するために以下の計算を用いる。
【０１０１】
【数３０】
2011222006.tif 000032
【０１０２】
この最適化は、ディスクレイアウトに対する全てのＩ／Ｏ要求をディスクＩ／Ｏ層内の４Ｋページアドレスへと合体させることを可能にする。ディスク装置に対する全ての読取及び書込要求は、４ＫページとしてのＩ／Ｏ層を通じて実行される。図１５は、１６〜２０４８のセクターの連続実行として格納されたスロットキャッシュバッファを表している。セクター実行サイズは、コンパイル時間選択肢として構成することができる。ＤＭＡアドレスの単一の分散−集合リストを伝送する合体した要求で、かつセクター順にＩ／Ｏに対するスロットが提出され、その結果、物理装置上の最短ヘッド移動及び大きな合体したＩ／Ｏ機能を生じる。
【０１０３】
「ディスクスペース記録」（ＤＳＲ）は、調節済み「ディスクスペース記録」パーティションの最初のクラスターを占有することになる。ＤＳＲは、クラスターオフセットを「スペーステーブル」の位置の仮想「ディスクスペースストア」の中に記録し、任意的に０×９８パーティションタイプでは、「名称及びマシンテーブル」の位置も同様である。また、「仮想ディスクスペースストアパーティション」上でスロットストレージ領域がどこで始まるかを示すクラスター記録が存在する。
【０１０４】
ＤＳＲはまた、スロットチェーンヘッド及びテールポインタのテーブルを含む。このテーブルは、データを個々のスロットチェーンにストリーミングしている物理ネットワークアダプタにマップされるスロットチェーンを作成するために用いられる。このテーブルは、「ディスクスペース記録ストア」毎に最大で３２のスロットチェーンをサポートする。
これは、０×９７基本キャプチャパーティションタイプは能動「キャプチャパーティション」毎に同時に３２までのネットワークアダプタストリームを保存することができることを意味する。
【０１０５】
タイプ０×９８の「保存ストレージパーティション」は、「名称テーブル及びマシン」テーブルを用い、これらは、ネットワークトラフィックの長期の格納及び保存に向けて基本キャプチャパーティションからのスロットを格納するために用いられ、更に、ホストマシン名及び基本キャプチャパーティションからの名称付け及びメタタグ付け情報を記録する。図１６は、タイプ０×９８パーティションにおける「名称テーブル」及び「マシンテーブル」の使用を表している。スロットが基本キャプチャパーティションからストレージパーティションに保存される場合には、インタフェース名及びマシンホスト名が保存ストレージパーティション上の名称テーブル及びホスト名テーブルに追加される。これは、複数の基本キャプチャパーティションが、保存及びキャプチャ後の解析に向けて特定のセグメントからキャプチャされたネットワークトラフィックを大きなストレージプールの中に保存するために保存ストレージプールを利用することを可能にする。
【０１０６】
保存ストレージは、共通のスロットセグメントのプールとして複数の「ネットワークキャプチャ電子機器」にマップすることができる。保存ストレージプールはまた、このアーキテクチャを用いてストレージ区域へと再分割することができ、ターゲットセグメントからの階層キャッシュ及び保存ネットワークトラフィックとして、数ヶ月又は数年に至るまで積み重ねることができる。
個々の「スロット」アドレスは、以下のアルゴリズムに基づくパーティションサイズ、スロット数、ストレージ記録クラスターサイズ、及びリザーブ済みスペースに基づいて「ディスクスペースストア」にマップされる。
【０１０７】
【数３１】
2011222006.tif 000033
【０１０８】
スロットデータの開始は、タイプ０×９７パーティションでは、スペーステーブルの最終クラスターの直後、タイプ０×９８パーティションでは、マシンテーブルの最終クラスターの直後の論理クラスターアドレスである。スロットは、スロット番号から導出されたマッピング済みスロットクラスターアドレスで始まるセクターの連続実行としてディスクストレージ装置から読み取られ、そこに書き込まれる。
スロットは、ネットワークストレージの単位を定義し、各スロットは、スロットヘッダ及び６４Ｋクラスターのチェーンを含む。スロットのオンディスク構造は、キャッシュのインメモリ構造と同様であり、メモリ及びオンディスクスロットキャッシュの両方は、ＤＳＦＳによってＬＲＵ（最長時間未使用）キャッシュの特殊形式として捉えられ、扱われる。
【０１０９】
スロットヘッダは、スロットのコンテンツ及び構造並びに６４のクラスターのこのスロットに対応するチェーンを説明するメタデータを格納する。図１７は、６４Ｋのクラスターを含むスロットストレージ要素レイアウトを表している。スロットヘッダは、文字バイトストリームとしてバッファを指し、更に、スロット内のバッファ索引の中への開始索引：オフセット対を維持する。図１８は、データを含むスロットバッファへのスロットヘッダ及びポインタシステムを表している。スロット内のバッファは、スロットバッファセグメント内に含まれる最初のバッファ要素に対してゼロという索引が付けられる。スロットは、１６〜２０４８のバッファ要素を有することができる。スロットはまた、パケット全探索のためにブロック指定の方法を提供し、それによってネットワークパケットは、索引：オフセット対に基づいて飛び越すことが可能になる。この索引：オフセット対は、ファイルシステム層によってスロットセグメントの中へのパケット毎の仮想索引として扱われる。
【０１１０】
スロットバッファヘッダは、スロットセグメントバッファ内の最初の索引：オフセット対及び最終索引：オフセット対を指し、更に、有効スロットデータを含むことが公知であるバッファ索引のビットマップを含む。これらの索引は、まばらなスロット（ネットワークパケットデータによって完全に占有されていないスロット）をメモリの中に効率的に読取るためにＩ／Ｏキャッシュ層によって用いられる。
【０１１１】
スロットバッファサイズは、アルゴリズムが適正に機能するために下層ハードウエアに適合すべきである。本発明の高い性能は、ネットワークアダプタ装置リングバッファの中への事前ロードアドレスの充填について説明する技術から導出される。ネットワークアダプタは、能動リング又はテーブルをアダプタ上に事前ロードすることによって作動し、バッファアドレスのメモリアドレスは、着信ネットワークパケットを受信する。アダプタは、受信するパケットがどれ程大きいかを予め把握することができないために、事前ロードされるアドレスは、少なくともアダプタがサポートすることになる最大パケットサイズと同程度であると仮定すべきである。ネットワークルータ又はスイッチによって生成されるＶＬＡＮ（仮想ＬＡＮ）ヘッダにより、バッファは、最大パケットサイズを超えることができるために、ＤＳＦＳによって用いられるアルゴリズムは、少なくとも（ＰＡＣＫＥＴ＿ＳＩＺＥ＋１）の自由スペースが事前ロードバッファに対して利用可能でなければならないと常に仮定する。
【０１１２】
ネットワークアダプタは、次に利用可能な索引：オフセット対に基づいてＤＳＦＳスロットキャッシュからアダプタの中にバッファを割り振る。バッファは、割り振り中に全体を通して循環される索引アドレスの線形リストとして維持され、それによって全てのリングバッファエントリをメモリ内のバッファアレイ（すなわち、スロットセグメント）から事前ロードすることが可能になる。すなわち、バッファ要素が受信され、放出されるに従って、上述のことを保証するためにスロットバッファ数は最小値において（ＮＵＭＢＥＲ＿ＯＦ＿ＲＩＮＧ＿ＢＵＦＦＥＲＳ*２）でなければならず、アダプタは、所定のリングバッファに対して割り振られた過剰なバッファを有するスロットセグメントを受けて停止することなく、常に新しい事前ロードバッファを取得することになる。
【０１１３】
リングバッファのリングバッファ事前ロード／放出挙動は、ネットワークアダプタ内で常に連続的であるので、このモデルは、非常に良好に機能し、バッファチェーンが折り返すと、アダプタのリングバッファは、バッファを事前ロードし続けることになり、割り込みを受信して、自由な残留ネットワークパケットは、オペレーティングシステムに放出される。図１９は、「ｅ１０００アダプタリングバッファ」からのＬＲＵベースでのスロットキャッシュ要素の順次ロードを表している。これは、ネットワークアダプタ上のＤＭＡエンジンを利用し、ネットワークデータをコピーせずにスロットバッファセグメントの中にネットワークトラフィックを移動させる影響を有する。
【０１１４】
バッファがスロットキャッシュ要素から割り振られ、アダプタリングバッファメモリの中に事前ロードされると、バッファヘッダは、その特定のバッファに対するメモリ内で固定され、その後の割り振り要求は、アダプタから事前ロード要素を受信するまでは、このバッファを飛び越すことになる。
これは、受信バッファサイズが未知であることから必要である。事前ロードバッファをネットワークパケットの最大サイズ（ＭＴＵ−最大伝送単位）にラウンドロビン割り振りすることは可能であるが、この方法は、スペースを浪費する。本発明では、バッファへのその後の割り振り要求がスペースをより効率的に用いることになるように、事前ロードは、受信までバッファヘッダを固定する。
【０１１５】
図２０に表しているように、スロットバッファは、スロットバッファリスト内の各バッファ要素からラウンドロビンパターンで割り振られる。次のバッファの中への各要素間でリンケージが維持され、上述のように索引：オフセット対を用いてアクセスされる。これらのリンケージは、格納データのバッファ位置に関する座標アドレスを含み、紛失バッファがキャプチャ装置のリングバッファの中にキャプチャアドレスを事前ロードすることを可能にし、それによってメモリ内にキャッシュされたスロットバッファ要素の中への非常に高いデータ速度での直接ＤＭＡアクセスがサポートされる。キャプチャデータを読取ることは、スロットをメモリ内に保持し、格納要素又はネットワークパケットに関する次の索引：オフセットのアドレスペアを指す各要素ヘッダ内の１組のリンケージを通じてこれらの要素を全探索することを必要とする。割り振りアルゴリズムは、以下のようになる。
【０１１６】
【数３２】
2011222006.tif 000034
【数３３】
2011222006.tif 000035
【数３４】
2011222006.tif 000036
【数３５】
2011222006.tif 000037
【数３６】
2011222006.tif 000038
【数３７】
2011222006.tif 000039
【０１１７】
図２１は、パケットが可変サイズであり、スロットキャッシュ要素バッファチェーン内の全ての利用可能バッファスペースを用いるように効率的に格納されている、占有されたスロットバッファの例を表している。これは、アダプタが受信割り込みを通じて割り振り済みの事前ロードバッファを放出し、受信パケットのサイズを通知するまで、この割り振り済み事前ロードバッファからバッファ割り当てを割り振ることで達せられる。続いてバッファは、次の索引：オフセット対に設定され、アダプタのリングバッファの中への事前ロード割り振りに向けて利用可能であるというフラグが立てられる。この手法は、最大量の利用可能スロットキャッシュバッファメモリを浪費することなく用いて、ネットワークパケットを密に詰めることを可能にする。それによってディスクストレージスペースを用いてキャプチャデータのための書込みサイズのオーバーヘッドが低減し、従って、キャプチャ回線速度が改善される。このモデルでは、バイト／秒で表されるネットワークからキャプチャされたデータは、ディスクＩ／Ｏチャンネルを通じて書き込まれるデータの実際の書込みサイズとしてより正確に反映される。
【０１１８】
「ディスクスペース記録」は、３２のエントリのスロットチェーンテーブルを含む。「スロット」チェーンテーブルは、不揮発性システムキャッシュ（オンディスク）内に存在する占有されたキャッシュ要素のチェーンに関する開始及び終了スロット識別子を定義する。「スロットチェーン」テーブルはまた、開始スロットチェーン要素と終了スロットチェーン要素の間の経過時間の加算合計を含む時間領域内に存在するキャプチャネットワークパケットに関する日付範囲を記録する。
【０１１９】
スロットが一杯になると、各スロットは、スロットキャッシュ要素内に含まれる最初及び最終のパケットに関する開始及び終了時間を記録する。スロットは、各受信パケットについてＵＴＣ時間のみならずマイクロ秒時間間隔で内部的に時間を記録するが、仮想ファイルシステム相互作用におけるこれらのレベルでは、マイクロ秒の時間測定精度を必要としないので、「スロットチェーン及びスペーステーブル」内では、ＵＴＣ時間のみがエクスポートされ、記録される。
【０１２０】
図２２は、「スロットチェーンテーブル」及び「スロットスペーステーブル」を略式に表している。スロットチェーンは、ディスクスペース記録構造内に位置するスロットチェーンヘッドテーブル内に示されている。スロットは、スロットチェーン内の各スロットを指すスロットスペーステーブルと呼ばれる順方向リンケージテーブル内で互いにチェーン接続される。スロットがシステム内で互いにチェーン接続されると、ディスクスペース記録内に位置するスロットチェーンテーブル内に開始及び終了時間領域が記録され、これらは、スロットチェーン内に含まれる時間領域を反映する。ＤＳＦＳファイルシステムは、所定のディスクスペース記録ストア内に存在する全ての格納スロットキャッシュ要素及びスロットチェーンに対して時間領域ベースのものである。不揮発性（オンディスク）スロットキャッシュが完全に占有状態になり、ネットワークトラフィックをキャプチャして保存し続けるためにストア内の最も古いスロットを再利用すべきである時には、スロットリサイクルは、どのスロットがシステムによって再使用されることになるかを判断するためにこれらのフィールドを用いる。
【０１２１】
「スロットチェーンテーブル」は、各割り振りスロットチェーンに関する特定情報を記録するために図２３に表す内部レイアウトを用いる。ディスクスペース記録は、キャプチャ要素スロットチェーンに関する開始及び終了スロット索引を記録するスロットチェーンテーブルを含む。このテーブルはまた、チェーン内のスロット数及び取り付けられたスロットチェーン内に格納されたデータに関する開始及び終了日付：時間を記録する。
【０１２２】
「スロットチェーンテーブル」は、スロットチェーンに関する開始スロットアドレス、スロットチェーンに関する終了スロットアドレス、スロットチェーンを構成する合計スロット数、及びスロットチェーンに関する開始及び終了日付を記録する。日付は、「スロットチェーンテーブル」及び「システムスペーステーブル」の両方において標準ＵＴＣ時間フォーマットで格納される。
スロットチェーンテーブルは、ディスクスペース記録ヘッダにおける以下のフィールド内に含まれる。
【０１２３】
【数３８】
2011222006.tif 000040
【０１２４】
「スペーステーブル」は、システム内の「スロットチェーン」に対するファイル割り振りテーブルとしての役割を達成する。図２４は、「スペーステーブル」レイアウトを概略的に表している。「スロットチェーン」は、従来のファイルシステム内のファイルに類似している。「スペース」テーブルは、スロットチェーン内で次の論理スロットを指すフィールド、並びに「スロットキャッシュ要素」内に格納されたパケットに関する開始及び終了日付をＵＴＣ時間フォーマットで収容している。
【０１２５】
スペーステーブルはまた、動的なファイル再構成のために用いられるメタデータを格納し、このメタデータは、スロットキャッシュ要素内に格納されるパケット数、スロットキャッシュ要素内の合計パケットバイト数、ファイル属性、所有者属性、メタデータヘッダサイズ、及びパケット分割バイトサイズ（デフォルトは９６バイト）を含む。
「スペーステーブルエントリ」は、以下の内部構造を用いる。
【０１２６】
【数３９】
2011222006.tif 000041
【０１２７】
「スペーステーブルリンケージ」は、「ディスクスペース記録ストア」上のスロットに対応する次のスロットフィールドを変更することによって作成される。「スペーステーブル」エントリは、ストア内のスロット配置に基づいて連続して順序付けされる。「スペーステーブル」の中への索引０はスロット０に、索引１はスロット１に対応し、以下同様である。「スペーステーブル」情報は、２次「ミラースペース」テーブル内にミラーリングされ、同様にスロットに対するスロットキャッシュ要素ヘッダ内にも存在する。それによってたとえ基本及び２次「スペーステーブル」ミラーの両方が失われたとしても、「スペーステーブル」は、スロットストレージから再構成することが可能になり、耐障害性が増加する。
【０１２８】
スロット番号アドレススペースは、３２ビット値であり、これに対する一意的なディスクスペース記録ストアは、以下のように表現される。
【０１２９】
（０ｘＦＦＦＦＦＦＦＦ    １）    ＝    ｔｏｔａｌ  ｎｕｍｂｅｒ  ｏｆ  ｓｌｏｔ  ａｄｄｒｅｓｓｅｓ．
【０１３０】
値０×ＦＦＦＦＦＦＦＦは、ＥＯＦ（ファイルの終端）マーカとして「スペーステーブル」の次のスロットエントリフィールドのためにリザーブされ、それによって０〜（０×ＦＦＦＦＦＦＦＦ−１）の許容スロットアドレス範囲が与えられる。「スロットチェーン」は、特定のスロットチェーンに属するスロットの「スペーステーブル」内でリンクリストとして作成され、維持される。開始及び終了スロット、並びにこれらの時間領域及び終了領域値は、ＤＳＲ内の「スロットチェーン」テーブル内に格納され、スロット間の実際のリンケージは、スペーステーブル内で維持される。「スペーステーブル」全探索中に、値０×ＦＦＦＦＦＦＦＦに遭遇した時には、このチェーン信号終端に到達している。
ＤＳＦＳスペーステーブルは、ＤＳＦＳファイルシステムパーティション内のスロット索引を説明する順方向リンクリストにおける配置チェーン要素を用いる割り振りテーブルを維持する。「ディスクスペース」記録は、メタテーブル及びスロットストレージに対するＤＳＦＳパーティションの中への実際のクラスターベースのオフセットを記録する。
【０１３１】
図２５は、「ディスクスペース」記録のストレージ及び格納スロットに連結した「スペーステーブル」を表している。この例は、要素０〜４を含むスロットチェーンを例示している。「スペーステーブル」索引０は、次のスロットエントリ１を有し、１は２を指し、２は３を、３は４を、更に、４は、０ＸＦＦＦＦＦＦＦＦを指す。
ディスクスペース記録ストアが完全に占有されていない通常作動中には、スロットは、特定のＤＳＲ上で次の自由スロットが利用可能であることを示しているＤＳＲ装着中に構築されたビットテーブルに基づいて割り振られる。スロットが割り振られ、ディスクスペース記録ストアが一杯になると、最も古いスロットキャッシュ要素をストアからリサイクルすることが必要になる。特定のスロットチェーンに関する時間領域情報は、「ディスクスペース記録」ヘッダ内に格納されるので、テーブル内の３２のエントリを走査し、スロットチェーンヘッドにおいて最も古いスロットキャッシュ要素の参照先を判断するのは単純な事である。スロットキャッシュが完全に一杯なった場合には、最も古いスロットセグメントは、ターゲットスロットチェーンのヘッドから削除され、揮発性（インメモリ）スロット要素キャッシュからストレージに対して再度割り振られる。
【０１３２】
「スロットチェーンヘッド」は、削除されたスロットを反映するために相応に更新され、ストレージは、スロットキャッシュ要素ストレージを割り振った能動スロットチェーンの終了スロットに付加される。図２６は、最長時間未使用ＬＲＵリサイクル法を用いるオンディスクスロットキャッシュセグメントチェーンを表している。スロットチェーンテーブル内に位置する開始スロットは、スロットキャッシュストレージセグメントの所定の「ディスクスペース記録」における「スロットチェーンテーブル」内の最も古い開始スロットに基づいてスロットチェーンヘッドから削除される。
【０１３３】
ＤＳＦＳディスクスペース記録ストアの初期の装着及びロード中に、ストアは走査され、スペーステーブルは、不整合性に関して走査され、チェーン長及び整合性が検査される。この走査段階中に、システムは、スロットキャッシュ要素ストレージの割り振り及びチェーンを管理するために用いられるいくつかのビットテーブルを構築する。これらのテーブルは、割り振り及びチェーン位置の高速検索及び状態判断を可能にし、ファイルのメタデータ及びＬＩＢＰＣＡＰヘッダを動的に発生するためにＤＳＦＳ仮想ファイルシステムによって用いられる。これらのテーブルはまた、システムがデータ不整合性を修正し、不完全なシャットダウンからの迅速な再起動を行うことを可能にする。
【０１３４】
「スペーステーブル」は、特定のＤＳＲ上の通常作動中にミラーリングされ、パーティションが一致していることを保証するために最初の装着中に検査される。システムはまた、スペーステーブル内の有効リンケージと共に存在するように反映されたスロットに基づいて割り振りマップを構築する。図２７は、「割り振りビットマップ」及び「チェーンビットマップ」テーブル構造を表している。このテーブルが構築された後に、ＤＳＦＳは、全てのスロットチェーンリンクを検証し、各チェーン要素が全探索される時に注釈を付けられるチェーンビットマップテーブルに対して割り振りを比較する。チェーンが既にビットマップテーブルの中に入っていることが判明した場合には、循環チェーンが検出されたことになり、チェーンは、０×ＦＦＦＦＦＦＦＦの値へと切除される。チェーンリンケージの検証に続き、システムは、割り振りビットマップをチェーンビットマップと比較し、チェーンビットマップテーブル内で有効なリンケージを持たないスペーステーブル内のあらゆるスロットを放出する。それによってシステムは、不適正なシャットダウン又は電力障害によるデータ不正からオフライン（非装着）修理なしで動的に回復することが可能になる。各「スロットチェーンヘッド」は、現在のスロット割り振りのビットマップをその特定のチェーン内に維持する。このテーブルは、リサイクルイベントの後にチェーンの中に古くなったハンドル又はコンテキストを有する可能性があるＤＳＦＳに関して実行されるユーザスペース処理により、チェーン内のスロットのメンバーシップを検証するために用いられる。
【０１３５】
ユーザスペースアプリケーションは、特定のスロットチェーンに対して開かれたスロットを保持することができ、チェーンは、通常作動中にユーザの下でスロットをリサイクルさせることができる。「スロットチェーン」ビットマップは、ＤＳＦＳ仮想ファイルシステムが既知のスロットオフセット位置を用いて読取りを再試行する前に、チェーン内のスロットのメンバーシップを検証することを可能にする。
【０１３６】
揮発性（インメモリ）スロット要素キャッシュは、ディスク上で用いられるスロットキャッシュ要素構造をミラーリングするスロットキャッシュ要素のメモリベースのリンクリストとして設計される。そのフォーマットは、スロットキャッシュ要素を説明したインメモリフォーマットに等しいオンディスクのものである。このリストは、スロットキャッシュ要素に対するスロットバッファヘッダ内に組み合わされる３組のリンケージを通じて維持される。スロットキャッシュ要素の構造は、以下のようになる。
【０１３７】
【数４０】
2011222006.tif 000042
【数４１】
2011222006.tif 000043
【０１３８】
スロットキャッシュ要素を説明するスロットバッファヘッダは、４つの個別のリストのメンバである。第１のリストは、主割り振りリストである。このリストは、システム内の全てのスロットバッファヘッドのリンケージを維持する。このリストは、スロット要求のエージングを得るためにスロットＬＲＵリストを全探索し、通知スロットのＩ／Ｏ処理依頼を書き込むために用いられる。スロットバッファヘッダはまた、スロットハッシュリスト内に存在することができる。図２８は、スロットＬＲＵバッファ要素をマップするためのスロットハッシュテーブルの使用を表している。このリストは、システム内で現在キャッシュされているスロットハッシュを保持するために拡張可能ハッシュアルゴリズムを利用する索引付きテーブルである。このリストは、システムからの番号によるスロットの高速参照を可能にし、更に、このリストは、ユーザスペースからＤＳＦＳファイルシステムへの主表示ポータルである。スロットが有効ＩＤを有するハッシュリスト内に存在しない場合には、このリストは、スロットの初期開放作動中にはアクセスすることができない。
【０１３９】
ＬＲＵリストは、どのスロットバッファヘッダが最後に接触されたかを判断するためにＤＳＦＳによって用いられる。スロットバッファヘッダへのより直近のアクセスの結果、そのスロットバッファヘッダは、リストの先頭に移動される。有効データを有し、ディスクにフラッシュされ、アクセスされていないスロットキャッシュ要素は、経時的にこのリストの最後尾に移動する傾向がある。システムが、新しいスロットに向けて揮発性スロットのＬＲＵキャッシュに対する読取要求又は書込要求のいずれかのためにスロットキャッシュ要素及びその関連スロットバッファヘッダを再割り振りする必要がある場合には、キャッシュアルゴリズムは、固定されておらず、アクセスされてきておらず、ディスクへのフラッシュが完了しているスロット内の最も古いスロットを選択することになり、このスロットから日付を戻すことになる。ユーザスペースからの読取要求のイベントでは、スロットがスロットハッシュリスト内に存在しない場合は、このスロットは追加され、最も古いスロットバッファヘッダは、キャッシュから追い出され、キャッシュは、ユーザスペース読取装置から要求されるスロットをロードするために読取Ｉ／Ｏに向けてスケジュール化される。
【０１４０】
図２９は、揮発性及び不揮発性スロットキャッシュからスロットデータを読取るか又は書込む要求を表している。ネットワークパケットをユーザスペースアプリケーションの中に読取るためにスロットを開ける要求を処理依頼するために「ｐ＿ｈａｎｄｌｅ」が用いられる。スロットが既にメモリ内に存在する場合には、「ｐ＿ｈａｎｄｌｅ」は欠損部を開き、スロットデータの終端に到達するまでパケットを読取る。スロットがＬＲＵキャッシュ内に存在しない場合には、最長時間未使用スロットキャッシュバッファはリサイクルされ、不揮発性（オンディスク）キャッシュストレージからスロットを充填するためにディスクに非同期読取の処理を依頼する。
【０１４１】
開いており、かつネットワークパケットをキャプチャしているネットワークアダプタは、空のスロットバッファヘッダを割り振り、アダプタがキャッシュからスロットＬＲＵ要素を割り振る方法を示す図３０に表されたアルゴリズムに基づいて、ＬＲＵキャッシュからスロットキャッシュ要素及びその関連バッファチェーンを参照する。これらのスロットバッファヘッダは、アダプタが割り振りバッファを放出するまでメモリ内に係止され、固定される。システムは、特定のアダプタリングバッファからアクセスされている現在の能動スロットキャッシュ要素を記録するアダプタスロットテーブルを通して割り振りスロットバッファヘッダを追跡する。
【０１４２】
ユーザスペースからの読取装置が、ターゲットスロットのリサイクル段階の間にスロットバッファヘッダ及びその関連スロットキャッシュ要素バッファチェーンにアクセスする場合には、スロットＬＲＵは、この層にあるネットワークアダプタが固有のスロットバッファヘッダ及びスロットキャッシュ要素内で同じスロットアドレスを再度割り振ることを可能にする。この処理は、特定のスロットアドレスへの最後のユーザスペース参照が放出されるまで、スロットｉｄがスロットＬＲＵにおいて複製されることを必要とする。これは、ユーザスペースアプリケーションがスロットチェーンからデータを読取っており、スロットストアが完全に一杯になることによってリサイクルされたチェーン内のスロットにアプリケーションが到達する場合にさえも発生する可能性がある。殆どの場合には、スロットは、スロットチェーンの終端に直近のデータを含み、最も古いデータは、スロットチェーンの開始点に位置するので、上述したことは、稀なイベントであると考えられる。
【０１４３】
この場合に新しく割り振られたスロットチェーン要素は、ＬＲＵ内のスロットハッシュリストにおいて基本エントリになり、全てのその後の開放要求は、このエントリに向け直される。このスロットアドレスに対する前のスロットＬＲＵエントリは、−１の値のフラグが立てられてスロットハッシュリストから削除され、このリストは、このスロットＬＲＵエントリをユーザスペースポータルビューからＤＳＦＳ揮発性スロットキャッシュへと移動させる。前のスロットバッファヘッダへの最後の参照がユーザスペースから放出されると、この前のスロットバッファヘッダは、スロットＬＲＵから追い出され、書込に向けてのアダプタによる再割り振り、又は上位層アプリケーションによるスロット読取に向けてのユーザスペース読取装置による再割り振りのために自由リスト上に置かれる。図３１は、最も古いエントリが放出される時のこのエントリのリサイクルを表している。スロットキャッシュバッファがキャプチャストアによってリサイクルされる時に、「ｐ＿ｈａｎｄｌｅ」アクセスからの何らかの参照が存在する場合には、最後の「ｐ＿ｈａｎｄｌｅ」がバッファを放出するまで、前のスロットバッファは、スロットキャッシュ内に固定される。新しい要求は、同じスロット番号を有する新しく割り振られたスロットキャッシュバッファを指している。
【０１４４】
オペレーティングシステムによって単一の処理デーモンが用いられ、スロットのＬＲＵスロットバッファヘッダがダーティーであり、データコンテンツがディスクアレイにフラッシュされることを必要とする場合には、セマフォーを通じてこの処理デーモンに信号が送られる。このデーモンは、ＬＲＵスロットバッファヘッダ内のエージング刻時を更新し、通知ＬＲＵ要素のための書込処理を依頼するために、主スロットリストを用いてスロットバッファヘッダチェーンを吟味する。デフォルトでは、ＬＲＵスロットバッファヘッダは、以下の状態を有することができる。
【０１４５】
【数４２】
2011222006.tif 000044
【０１４６】
「Ｌ＿ＰＯＳＴ」又は「Ｌ＿ＲＥＰＡＩＲ」とフラグが立てられたエントリは、不揮発性ストレージに即時に書き込まれる。「Ｌ＿ＤＩＲＴＹ」とフラグが立てられたエントリは、システムストアに３０秒間隔でフラッシュされる。「Ｌ＿ＤＩＲＴＹ」スロットバッファヘッダに関するスペーステーブルへのメタデータの更新は、特定スロットアドレスのフラッシュと同期される。「Ｌ＿ＬＯＡＤＩＮＧ」とフラグが立てられたスロットバッファヘッダは、非同期読取Ｉ／Ｏを利用する読取要求である。「Ｌ＿ＨＡＳＨＥＤ」は、スロットアドレスを意味し、スロットバッファヘッダは、スロットハッシュリスト内にマップされ、開放、読取、及び閉鎖要求においてユーザスペースアプリケーションによるアクセスが可能である。
【０１４７】
図３２は、ＤＳＦＳ仮想ファイルシステムを表している。ＤＳＦＳ「仮想ファイルシステム」は、スロットキャッシュ要素をファイルとし、更に、スロットキャッシュ要素チェーンをファイルとして、ユーザスペースオペレーティングシステム環境にマップする。ＤＳＦＳはまた、ファイルシステムインタフェースを用いるユーザスペースアプリケーションに対してこれらのデータを未処理のスロットフォーマットで公開する機能を有し、又はＬＩＢＰＣＡＰファイルフォーマットを動的に発生する。更に、ＤＳＦＳは、ファイルシステム及びキャプチャの重要統計値を外部アプリケーションに対してバイナリ及びテキストベースのフォーマットで読取ることができる仮想ファイルとして公開する。「仮想」ファイルシステムは、特定スロットがユーザスペースに対してスロットデータの複数表示を公開することを可能にする仮想ディレクトリ構造を利用する。
【０１４８】
ディレクトリレイアウトは、ｏｐｅｎ（）、ｒｅａｄ（）、ｗｒｉｔｅ（）、ｌｓｅｅｋ（）、及びｃｌｏｓｅ（）システム呼び出しを通じて全てアクセス可能であり、すなわち、スロットチェーンはまた、仮想ファイルとして公開され、また、キャプチャネットワークトラフィックの全てのスロットチェーンを読取るために標準のシステム呼び出しを用いることもできる。ＬＩＢＰＣＡＰは、これらのデータを様々なユーザスペースアプリケーション、ネットワーク科学的調査モニタリング、及び障害追求ツールに対して動的にエクスポートすることを可能にする。
【０１４９】
ＤＳＦＳファイルシステムは、「Ｐ＿ＨＡＮＤＬＥ」構造を利用してスロットキャッシュ要素又はスロットキャッシュ要素チェーンの固有のビューを作成する。「Ｐ−ＨＡＮＤＬＥ」構造は、個々のスロットキャッシュ要素ではなく、スロットチェーンがアクセスされている場合には、「スロットチェーン」テーブルの中へのネットワークインタフェースチェーン索引、及び現在のスロットアドレス、スロット索引アドレスを参照する特定のコンテキスト、並びにスロットチェーン内のオフセットを記録する。
「Ｐ＿ＨＡＮＤＬＥ」構造は、以下のように説明される。
【０１５０】
【数４３】
2011222006.tif 000045
【数４４】
2011222006.tif 000046
【０１５１】
「Ｐ＿ＨＡＮＤＬＥ」構造はまた、階層的であり、「Ｐ＿ＨＡＮＤＬＥ」コンテキストが複数のスロットキャッシュ要素に並列で動的にマップされることを可能にし、それによってキャプチャネットワークトラフィックの時間領域ベースの併合が容易になる。別々のネットワークセグメントにわたって非対称に経路指定されたＴＸ／ＲＸネットワークトラフィック、又は光スプリッタの使用を含む状況の場合には、ネットワークＴＸ／ＲＸトラフィックは、潜在的に２つの別々のネットワーク装置から格納することができ、これらの装置は、実際には単一のネットワークトラフィックストリームを呈している。
【０１５２】
階層的「Ｐ＿ＨＡＮＤＬＥ」コンテキストでは、各々がスロットチェーンの中へのその固有のビューを有する一連の開放「ｐ＿ｈａｎｄｌｅ」を用いて各スロットチェーンから最も古いパケットを選択することにより、いくつかのスロットチェーンを単一チェーンに動的に組合せることができる。それによって複数のネットワークからキャプチャされたネットワークトラフィックの併合が容易になる。本方法はまた、システム内の全てのネットワークインタフェースからの侵入検出システムのようなネットワーク科学的調査アプリケーションの実時間解析に向けて、システムによってキャプチャされる全てのネットワークトラフィックを単一のパケットストリームの中に集合させることを可能にする。
【０１５３】
図３３は、時間領域の索引付けに基づくスロット併合における「ｐ＿ｈａｎｄｌｅ」コンテキストポインタの使用を表している。ＤＳＦＳファイルシステムは、併合ディレクトリと呼ぶ特殊ディレクトリを提供し、このディレクトリは、単一のキャプチャスロットチェーンの中への固有のビューの中に「Ｐ＿ＨＡＮＤＬＥ」コンテキストポインタをマップするファイルをユーザスペースアプリケーションが作成することを可能にし、又は論理的に単一のスロットチェーンとして見えるように組み合わされたいくつかのスロットチェーンの併合ビューをユーザスペースアプリケーションが作成することを可能にする。
【０１５４】
指令は、作成されるファイル名の中に直接組み込まれ、ＤＳＦＳ仮想ファイルシステムによって構文解析され、「Ｐ＿ＨＡＮＤＬＥ」コンテキストを指定されたスロットチェーン内の特定の索引位置に割り振ってマップするために用いられる。指令言語のフォーマットは、以下のようにより完全に定義される。
【０１５５】
【数４５】
2011222006.tif 000047
【０１５６】
ここで、＜ｉｎｔ０＞は、スロットチェーンの名称又はチェーン索引番号であり、＜Ｄ＞ｄａｔｅは、以下の構文内でフォーマット設定される開始又は終了のいずれかの日付、又は併合された一連のスロットチェーンの日付及び終了サイズである。指定されたスロットチェーンの中へのビューを作成するためにタッチ指令を用いることができる。閲覧を望む開始及び終了日付範囲を用いてファイルを作成するには、以下のように入力する。
【０１５７】
【数４６】
2011222006.tif 000048
【０１５８】
開始日付を用いてある一定のサイズに制限されるファイルを作成するには、以下のように入力する。
【０１５９】
【数４７】
2011222006.tif 000049
【０１６０】
また、インタフェース名としてインタフェース番号を用いることもできる。これは、基本パーティション上にキャプチャされたデータを読取る機能を保持しながら、その一方で、インタフェースを改名することを可能にするためにサポートされており、例として以下のデータセット及びそれらのそれぞれの指令ラインエントリを含む。
ｅｔｈ１及びｅｔｈ２上で２００４年８月２日１４：１５：０７から２００４年８月２日１４：１５：０８までの１秒間の期間にわたってキャプチャされた全パケット：
【０１６１】
ｔｏｕｃｈ  ｅｔｈ１：ｅｔｈ２−０８．０２．２００４．１４．１５．０７：ｄ−０８．０２．２００４．１４．１５．０８：ｄ
【０１６２】
ｅｔｈ１上で２００４年８月２日１４：１５：０７から指定されたデータ範囲の＜ｓｉｚｅ＞に至るまでの期間にわたってキャプチャされた全パケット：
【０１６３】
ｔｏｕｃｈ  ｅｔｈ１−０８．０２．２００４．１４．１５．０７：ｄ−３０００００：ｓ
【０１６４】
ｅｔｈ１（１１）において２００４年８月２日１４：１５：０７から２００４年８月２日１４：１５：０８までの１秒間の期間にわたってキャプチャされた全パケット：
【０１６５】
ｔｏｕｃｈ  １１−０８．０２．２００４．１４．１５．０７：ｄ−０８．０２．２００４．１４．１５．０８：ｄ
【０１６６】
ｅｔｈ１（１１）において２００４年８月２日１４：１５：０７から指定されたデータ範囲の＜ｓｉｚｅ＞に至るまでの期間にわたってキャプチャされた全パケット：
【０１６７】
ｔｏｕｃｈ  １１−０８．０２．２００４．１４．１５．０７：ｄ−３０００００：ｓ
【０１６８】
「Ｐ＿ＨＡＮＤＬＥ」コンテキスト構造はまた、ユーザスペースへの仮想ネットワークアダプタを作成するためにユーザスペースインタフェースを通じて用いられ、ユーザスペースアプリケーションに対しては、図３４に表す物理アダプタとして見える。ＤＳＦＳは、ｅｔｈ０のような物理ネットワークアダプタを得るために「ｐ＿ｈａｎｄｌｅ」コンテキストをキャプチャスロットにマップすることを可能にし、キャプチャストアがあたかも物理ネットワークであるかのようにユーザスペースアプリケーションがこのキャプチャストアから読取ることを可能にする。この手法の利点は、パケット損失のない性能に関するものである。このアーキテクチャでは、ＤＳＦＳキャプチャシステム内のＩ／Ｏサブシステムは、ユーザアプリケーションを通じたネットワークキャプチャに有利に働くように構築されている。仮想ネットワークインタフェースをエクスポートすることにより、ユーザスペース侵入検出システムは、アプリケーションをハードウエア装置に直接マップすることなく作動することが可能になる。また、それによってネットワークパケットがディスクアレイにストリーミングされるのに並行して、ユーザアプリケーションが背景でキャプチャネットワークパケットを処理することが可能になる。それによってシステム上のネットワーク負荷がより能動的になる時に、アプリケーションは、単純にスリープ状態に留まることができるので、侵入検出アプリケーションのパケット損失を伴わない著しい性能改善がもたらされる。
【０１６９】
また、それによって標準ネットワーク及びファイルシステムインタフェースを用いる全ての公知のネットワーク科学的調査アプリケーションは、実時間性能レベルでのキャプチャデータへのスムーズで統合されたアクセスが可能になり、更に、永久保存のディスクにパケットをストリーミングするマルチテラバイトキャプチャストアを提供すると同時に、専有インタフェースを伴わない実時間解析及びフィルタリングアプリケーションをサポートする。仮想インタフェースは、下層のオペレーティングシステムのソケット層への呼び出しを用いて作成される。ソケットを開く呼び出しの結果、マップされた仮想装置を得るためにキャプチャスロットチェーンにマップされた「Ｐ＿ＨＡＮＤＬＥ」コンテキストポインタが作成される。「Ｐ＿ＨＡＮＤＬＥ」コンテキストをオペレーティングシステムソケットにマップするアルゴリズムは、以下のように説明される。
【０１７０】
【数４８】
2011222006.tif 000050
【数４９】
2011222006.tif 000051
【数５０】
2011222006.tif 000052
【数５１】
2011222006.tif 000053
【数５２】
2011222006.tif 000054
【数５３】
2011222006.tif 000055
【数５４】
2011222006.tif 000056
【数５５】
2011222006.tif 000057
【０１７１】
仮想装置に対するその後のＩＯＣＴＬ呼び出しは、ストリーム内の次のパケットを戻す。併合スロットチェーンでは、ＩＯＣＴＬ呼び出しは、開放スロットチェーンの全アレイにおいて最も古いパケットを戻す。それによって仮想インタフェースｉｆｍ０及びｉｆｍ１は、仮想アダプタインタフェースを通じてキャプチャシステムの全ペイロードをユーザスペースアプリケーションに戻すことが可能になる。「Ｐ＿ＨＡＮＤＬＥ」コンテキストは一意的であり、デフォルトでは、キャプチャスロットチェーン内の時間領域配置に対する仮想インタフェースが開かれている現在の時間に索引付けされる。それによって物理ネットワークアダプタの実際の挙動がミラーリングされる。また、「Ｐ＿ＨＡＮＤＬＥ」コンテキストを通じて、仮想インタフェースが開かれた現在の時間よりも以前又は以後である時間索引においてスロットチェーン内の開始点を要求することができる。それによってユーザスペースアプリケーションは、キャプチャスロットチェーン上を時間において順方向又は逆方向に移動してネットワークトラフィックを再生することが可能になる。仮想インタフェースはまた、ネットワークデータをネットワークセグメントから実際に受信して保存した厳密なＵＴＣ／マイクロ秒タイミングでユーザスペースアプリケーションに対してデータを再生するように構成することができる。
【０１７２】
再生は、下層のオペレーティングシステムの「ｓｙｓ＿ｒｅｃｖｍｓｇ」ソケット呼び出しにもフックされたスロット受信イベントにおいて実行され、ｒｅｃｖｍｓｇへの呼び出しは、ソケット読取をＤＳＦＳスロットキャッシュストアに向け直し、特定の仮想インタフェースアダプタを得るためにマップされたスロットチェーンから読取る。
仮想インタフェースからソケットを読取るというオペレーティングシステムのユーザスペース要求を向け直すための「ｓｙｓ＿ｒｅｃｖｍｓｇ」アルゴリズムは、以下のように説明される。
【０１７３】
【数５６】
2011222006.tif 000058
【数５７】
2011222006.tif 000059
【数５８】
2011222006.tif 000060
【数５９】
2011222006.tif 000061
【数６０】
2011222006.tif 000062
【数６１】
2011222006.tif 000063
【数６２】
2011222006.tif 000064
【０１７４】
仮想ネットワークインタフェースマッピングはまた、ポート／プロトコルフィルタの包含／除外マスクを用い、このマスクは、別のＩＯＣＴＬ呼び出しを通じてその構成が設定され、包含／除外ポートのビットテーブルを特定の仮想ネットワークインタフェースにマップする。図３５は、スロットキャッシュ要素からのパケットデータを含めるか又は除外するためのフィルタテーブルの使用を表している。これをサポートするアルゴリズムは、ユーザスペースアプリケーションに戻される「ｓｙｓ＿ｒｅｃｖｍｓｇ」ソケットベースのパケットストリームから検索基準に適合しないネットワークパケットをフィルタリングすることになる。それによって所定のポート基準を満たすパケットのみを戻すように仮想インタフェースを構成することが可能になり、これは、ＨＴＴＰ（ウェブトラフィック）を解析することのみを必要とする場合があるアプリケーションにおいて有用である。実際の実施は、システム管理者がユーザスペース内で所定のビットテーブルを作成することを必要とし、次に、これらのテーブルは、ＤＳＦＳのスロットキャッシュストアにコピーされ、特定の仮想インタフェースアダプタと関連付けられる。フィルタパラメータを満たさないパケットは、ストア内で省略され、ユーザスペースには戻されない。
開放スロットチェーンからのネットワークパケットのフィルタリングを実行するアルゴリズムは、以下のようにより完全に説明される。
【０１７５】
【数６３】
2011222006.tif 000065
【数６４】
2011222006.tif 000066
【数６５】
2011222006.tif 000067
【数６６】
2011222006.tif 000068
【数６７】
2011222006.tif 000069
【数６８】
2011222006.tif 000070
【数６９】
2011222006.tif 000071
【数７０】
2011222006.tif 000072
【０１７６】
仮想ネットワークインタフェースはまた、下流のＩＤＳアプリケーション及びネットワーク障害追求コンソールに対する再生に向けて物理ネットワークセグメント上にキャプチャされたネットワークトラフィックを再生成するために用いることができる。図３６は、特定のスロットチェーンにマップされた「仮想インタフェース」を表している。「仮想ネットワーク」インタフェースはまた、特定の包含／除外マスク基準に沿わないネットワークパケットをフィルタリングで除去するために、再生成中にフィルタビットテーブルを用いることができる。「仮想ネットワーク」インタフェースは、最大物理ネットワーク回線速度又はネットワークパケットがキャプチャされたＵＴＣ／マイクロ秒タイミングでネットワークトラフィックを再生成するように構成することができる。時間再生仮想ネットワークインタフェース（ｉｆｔ＃）は、元のキャプチャタイミングにおけるトラフィックを受信する必要がある下流装置に対してキャプチャトラフィックを再生するために用いられる。未処理「仮想ネットワークインタフェース」（ｉｆｐ＃）は、物理インタフェースによってサポートされる最大回線においてキャプチャされ、フィルタリングされたコンテンツを再生することになる。
【０１７７】
仮想インタフェースがストリームの終端（０ｘＦＦＦＦＦＦＦＦ）に遭遇すると、呼び出しは、スロットチェーンの終端において更に別のパケットを受信するまで割り込み可能システムのセマフォーに基づいてブロックするように機能することになる。キャプチャネットワークトラフィックは、複数の仮想ネットワークインタフェースから単一の物理ネットワークインタフェース上に再生成することができ、フィルタを用いることができる。この実施は、ネットワークトラフィックの無限キャプチャ、下流のＩＤＳ電子機器に対する同時再生、及びユーザスペースアプリケーションによるキャプチャネットワークデータの実時間モニタリングを可能にする。
【０１７８】
再生成は、物理インタフェースセッションに対する各再生成仮想ネットワークインタフェースのための固有の処理を作成する。この処理は、仮想ネットワーク装置から読取を行い、スロットチェーンを読取る要求からの各返信に基づいてデータを物理インタフェースに出力する。「Ｐ＿ＨＡＮＤＬＥ」コンテキストは、読取られているキャプチャスロットチェーンの中への固有のビューを有する各固有の再生成セッションにおいて維持される。
【０１７９】
再生成処理は、物理セグメント上へのデータ出力を１ｍｂ／ｓ（メガビット毎秒）増分に制限するように構成することができる。本発明のこの実施形態は、これらの増分が再生成スレッド毎に１〜１００００ｍｂ／ｓの設定可能範囲に及ぶことを可能にする。
再生成段階は、「Ｐ＿ＨＡＮＤＬＥ」コンテキストを仮想インタフェースアダプタに対してマップする段階、このインタフェースがスロットチェーンの終端に到達するまで能動スロットチェーンからパケットを読取る段階、及び更に別のパケットトラフィックが着信するまでブロックする段階から成る。パケットがスロットチェーンから読み取られる時に、それらは、システム依存伝送単位（Ｌｉｎｕｘ上のｓｋｂ）へとフォーマット設定され、ターゲット物理ネットワークインタフェース上で送信に向けてキューに入れられる。
【０１８０】
再生成アルゴリズムは、再生成処理を開始したユーザスペースアプリケーションによって設定された最大バイト毎秒に対して定められた値に対してターゲット物理インタフェースを通じて伝送される合計バイトを測定する。パケット及びプロトコル再生成のこの実施形態は、イベント・ドリブン方法ではなくポーリング方法として装備される。
再生成アルゴリズムは、以下のようにより完全に説明される。
【０１８１】
【数７１】
2011222006.tif 000073
【数７２】
2011222006.tif 000074
【数７３】
2011222006.tif 000075
【数７４】
2011222006.tif 000076
【数７５】
2011222006.tif 000077
【数７６】
2011222006.tif 000078
【数７７】
2011222006.tif 000079
【０１８２】
ＤＳＦＳシステムにおける基本キャプチャ（タイプ０×９７）ディスクスペース記録は、ＦＣ−ＡＬクラスター化ファイバチャンネル「システム領域ネットワーク」内の複数の「保存ストレージ」（タイプ０×９８）パーティションにマップされるように構成することができる。図３７は、ＦＣ−ＡＬ「レイドアレイ」内の複数の保存ストレージパーティション上にマップされたＤＳＦＳ主キャプチャノードを表している。この構成では、能動スロットのＬＲＵスロットキャッシュ要素は、基本ディスク記録ストアと同様にスロットストレージのリモートプールに並行してフラッシュするようにミラーリングすることができる。このアーキテクチャは、キャプチャスロットを長期ネットワークストレージの中に複製する段階的キャッシュとしての役割を達成する基本キャプチャパーティションを有するＳＡＮファイバチャンネルネットワークを通じて、キャッシュストレージの大きなプールを実施することを可能にする。ＤＳＦＳはまた、当業技術で公知のＩｎｔｅｒｍｅｚｚｏ、Ｃｏｄａ、Ｕｎｉｓｏｎ、及び０×９７タイプパーティションから０×９８パーティションのｒｓｙｎｃのようなユーザスペース複製ファイルシステムをサポートする。
このアーキテクチャは、数日、週、数ヶ月、又は更に数年間までのネットワークパケットデータをオフライン事後解析作業、監査、及びネットワークトランザクション計数用途に向けて保存し、索引付けすることを可能にする。
【０１８３】
基本「キャプチャ」パーティションは、スロットストレージを割り振るために用いることができるマップされた保存パーティションのテーブルを含む。スロットがアダプタによって割り振られ、固定され、その後充填される時に、特定の基本ストレージパーティションが保存ストレージパーティションの関連マップを有する場合には、基本キャプチャパーティションは、保存ストレージの中へのデュアルＩ／Ｏリンクを作成し、基本キャプチャパーティション及び保存ストレージパーティションの両方に同時に特定スロットのミラー書込みを開始する。保存ストレージパーティション上に位置するスロットチェーンは、２つの基本スロットチェーンのみをエクスポートする。ＶＦＳの力学は、複製チェーン（チェーン０）及び保存チェーン（１）内のスロットを表している。
【０１８４】
スロットが「保存ストレージ」パーティションから割り振られる時に、それらは、複製パーティションの中に連結される。また、マシンの出所名及び特定スロットに関連するインタフェース情報を識別するために、起点インタフェース名、ＭＡＣアドレス、及びマシンホスト名も、タイプ０×９８パーティション上に存在する追加テーブル内で注釈を付けられる。保存パーティション上でスロットを読取専用に設定して属性を変更することにより、スロットは、複製スロットチェーン（０）から永久保存スロットチェーン（１）に移動する。保存ストレージパーティション上でのスロットリサイクルに向けて適格なターゲットを選択するためのスロット割り振りは、スロット再生に向けて常に複製チェーンを用いるように偏っている。保存スロットチェーン（１）上に格納されたスロットは、所定の保存ストレージパーティションの複製チェーン（０）内の全てのスロットが保存スロットチェーン（１）上のエントリに変換された場合にのみリサイクルされる。両方の場合に、保存ストレージパーティションが完全に占有状態になる時には、最も古いスロットがリサイクルへのターゲットである。それによって科学的調査の調査者には、永久保存に向けて保存チェーン内の特定の重要スロットを固定する機能が与えられる。
【０１８５】
図３８は、直接ＤＭＡを用いて２つの装置に同時にデータを書き込むミラーＩ／Ｏモデルの使用を表している。基本キャプチャパーティションは、保存ストレージパーティションへのＩ／Ｏ書込トランザクションの完了に成功したスロットのビットマップを維持する。スロットバッファヘッダ書込がデュアルストレージ位置にミラーリングされると、「書込Ｉ／Ｏ」作業は、「ディスクスペース記録」内に維持される能動ビットマップ内にタグ付けされる。このビットマップは、装着にわたって維持され、新しいスロットが基本キャプチャパーティション上に割り振られると、個々のエントリは、０にリセットされる。スロットが、基本キャプチャパーティション及び保存ストレージパーティションの両方に首尾よく書き込まれた場合は、ビットが設定される。
【０１８６】
ストレージアレイが一時的にオフラインにされる場合には、スロットビットマップテーブルは、システムの利用不能性のためにミラーリングされなかったあらゆるスロットに対して０の値を記録し、オフラインのストレージが能動的になり、スロットキャッシュ要素をターゲット保存ストレージパーティション上に背景処理によって再ミラーリングする場合には、背景の再ミラー処理が生じる。システムはまた、キャプチャスロットを基本キャプチャパーティション上に単純に落とし、保存パーティション群に対してオフラインストレージの発生中に紛失したスロットのミラーリングを試みないように構成することができる。
再ミラーリング中のセクターの順序付けに対するエレベータ・スターベーションの場合を回避するために、スロットは、オペレーティングシステムのブロックＩ／Ｏ層における合体した読取及び書込セクター実行要求の過度の索引付けを阻止するように基本キャプチャパーティションの開始点ではなく最下点で開始される性能の最適化として、逆方向に再ミラーリングすることができる。
【０１８７】
図３９は、ＳＡＮ（システム領域ネットワーク）環境におけるキャプチャデータのミラーリングを表している。保存ストレージパーティション（タイプ０×９８）をホストするＳＡＮが取り付けられたストレージアレイにおけるスロット割り振りは、特定のディスクスペース記録基本キャプチャパーティションにおいてスロットのストライプ割り振り又は連続スロット割り振りが可能になるように構成することができる。ストライプ割り振りは、基本キャプチャパーティションが、この基本キャプチャパーティションにマップされた保存ストレージパーティションの基本キャプチャマップ内の各エントリに対するスロット割り振りをラウンドロビンすることを可能にする。それによっていくつかのリモートファイバチャンネルアレイにわたって平行に、ある一定のスロット細分性で分散書込をストライピングすることが可能になり、書込性能の向上がもたらされる。連続割り振りは、基本キャプチャパーティションを線形方式で保存ストレージパーティションにハードマップする。
【０１８８】
オフライン索引付けは、各キャプチャパケットをグローバルに独特な識別子を用いてタグ付けすることによってサポートされ、それによってキャプチャネットワークパケットのパケット単位の高速探索及び検索が可能になる。図４０は、キャプチャパケットをタグ付けする方法を表している。これらの索引は、キャプチャ中に構築され、キャプチャ中のネットワークアダプタの送信元ＭＡＣアドレス、スロットアドレス、及びスロット内のパケット索引、並びにプロトコル及びレイヤ３アドレス情報を組み合わせる。これらの索引は、仮想ファイルシステム内の「／ｉｎｄｅｘ」サブディレクトリを通じてスロット毎に公開され、スロットキャッシュ要素に位置する「スロットヘッダ」からチェーン接続された６４Ｋ割り振りクラスター内に格納される。
【０１８９】
オフライン索引は、外部アプリケーションがキャプチャネットワークトラフィックに関する索引付け情報をオフラインデータベースの中にインポートすることを可能にし、ユーザスペースの「Ｐ＿ＨＡＮＤＬＥ」コンテキストポインタを通じてキャプチャネットワークパケットの高速探索及び検索を可能にする。グローバルに独特な識別子は、それがパケットペイロードを取り込んだネットワークアダプタの固有のＭＡＣアドレスを組み込んでいるので、一意的であることが保証される。グローバルなパケット識別子はまた、パケット毎にＩｐｖ４及びＩｐｖ６アドレス情報を格納し、かつＩｐｖ４及びＩｐｖ６索引付けをサポートする。
【符号の説明】
【０１９０】
１０１  ＳＰＡＮポート
１０２  光スプリッタ
１０３  「イーサネット（登録商標）」スイッチ
１０４  キャプチャ電子機器
【図１】
2011222006.tif 000080
【図２】
2011222006.tif 000081
【図３】
2011222006.tif 000082
【図４】
2011222006.tif 000083
【図５】
2011222006.tif 000084
【図６】
2011222006.tif 000085
【図７】
2011222006.tif 000086
【図８】
2011222006.tif 000087
【図９】
2011222006.tif 000088
【図１０】
2011222006.tif 000089
【図１１】
2011222006.tif 000090
【図１２】
2011222006.tif 000091
【図１３】
2011222006.tif 000092
【図１４】
2011222006.tif 000093
【図１５】
2011222006.tif 000094
【図１６】
2011222006.tif 000095
【図１７】
2011222006.tif 000096
【図１８】
2011222006.tif 000097
【図１９】
2011222006.tif 000098
【図２０】
2011222006.tif 000099
【図２１】
2011222006.tif 000100
【図２２】
2011222006.tif 000101
【図２３】
2011222006.tif 000102
【図２４】
2011222006.tif 000103
【図２５】
2011222006.tif 000104
【図２６】
2011222006.tif 000105
【図２７】
2011222006.tif 000106
【図２８】
2011222006.tif 000107
【図２９】
2011222006.tif 000108
【図３０】
2011222006.tif 000109
【図３１】
2011222006.tif 000110
【図３２】
2011222006.tif 000111
【図３３】
2011222006.tif 000112
【図３４】
2011222006.tif 000113
【図３５】
2011222006.tif 000114
【図３６】
2011222006.tif 000115
【図３７】
2011222006.tif 000116
【図３８】
2011222006.tif 000117
【図３９】
2011222006.tif 000118
【図４０】
2011222006.tif 000119
【手続補正書】
【提出日】平成23年4月27日(2011.4.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データパケットをキャプチャする方法であって、
キャプチャ装置をデータ通信経路に接続する段階と、
前記データ通信経路に沿って通信されたデータパケットをキャプチャする段階と、
前記データパケットからの前記キャプチャデータを格納する段階と、
前記格納データパケットを所定サイズのスロットの中に集合させる段階と、
前記集合したデータパケットに注釈を付ける段階と、
無限ジャーナルの一度だけの書込の階層的ファイルシステムを用いて前記注釈付きデータパケットを格納する段階と、
データ精度を保証するためにあらゆる不正データを再構成する手段を組み込む段階と、  キャプチャデータの所定の部分を前記スロットから検索する段階と、
を含むことを特徴とする方法。
【請求項２】
前記キャプチャ装置は、
コンピュータシステムボードと、
デュアルポート／デュアルチャンネル揮発性ストレージと、
１つの入力／出力通信ポートと、
スロットサイズに対応する所定のストレージセグメントに数値的にマップされた不揮発性ストレージと、
電源と、
データを前記不揮発性ストレージ装置上にマップするコントローラと、
を含む、
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記データは、固定時間領域によって注釈を付けられることを特徴とする請求項１に記載の方法。
【請求項４】
前記通信されたデータを検索するのに使用するための前記データパケットの特徴の索引を作成する段階を更に含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記データは、
検索される前記データの特徴を識別する段階、
前記識別された特徴を有する前記データを収容する前記スロットの位置を特定する段階、
前記識別された特徴を有する前記データを前記スロットから揮発性ストレージにコピーする段階、
前記コピーしたデータを所定のアクセス方法を用いてアクセス可能であるように適合させる段階、及び
ユーザが前記コピーしたデータを精査することを可能にする段階、
によって前記スロットから検索される、
ことを特徴とする請求項１に記載の方法。
【請求項６】
前記データは、前記揮発性ストレージにスペースを割り振る最長時間未使用アルゴリズムを用いてコピーされることを特徴とする請求項５に記載の方法。
【請求項７】
データパケットをキャプチャする方法であって、
キャプチャ電子機器をデータ通信経路に接続する段階と、
前記データ通信経路に沿って通信されたデータをキャプチャする段階と、
前記キャプチャしたデータを揮発性ストレージに複製する段階と、
前記揮発性ストレージ内の前記キャプチャしたデータをスロットの中に集合させる段階と、
無限ジャーナルの一度だけの書込の階層的ファイルシステムを用いて前記データを不揮発性ストレージに格納する段階と、
を含むことを特徴とする方法。
【請求項８】
前記キャプチャ電子機器は、
ａ．マイクロプロセッサと内部クロックとを有するコンピュータシステムボード、
ｂ．揮発性ストレージにスペースを割り振るために最長時間未使用アルゴリズムを用いるのに十分な容量を有するデュアルポート／デュアルチャンネル揮発性ストレージ、
ｃ．少なくとも１つの入力／出力通信アダプタポート、
ｄ．所定のスロットサイズに対応する定義された所定のストレージセグメントに数値的にマップされた少なくとも１つの不揮発性ストレージ装置、
ｅ．余剰電源、
ｆ．前記不揮発性ストレージ装置上にデータをマップするコントローラ、及び
ｇ．オペレーティングシステム、
を含む、
ことを特徴とする請求項７に記載の方法。
【請求項９】
前記データは
前記スロットを作成する段階、及び
最長時間未使用キャッシュに基づいて前記スロットを管理する段階、
によって前記スロットの中に集合させられる、
ことを特徴とする請求項７に記載の方法。
【請求項１０】
前記集合したデータに注釈を付ける段階を更に含むことを特徴とする請求項７に記載の方法。
【請求項１１】
前記集合したデータは、固定時間領域に基づいて注釈が付けられることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記データを検索するのに使用可能である１組の所定の特徴に基づいて該データに索引を付ける段階を更に含むことを特徴とする請求項７に記載の方法。
【請求項１３】
データ精度を保証するためにあらゆる不正データを再構成する手段を組み込む段階を更に含むことを特徴とする請求項７に記載の方法。
【請求項１４】
前記格納されたスロットからキャプチャしたデータの一部分を検索する段階を更に含むことを特徴とする請求項７に記載の方法。
【請求項１５】
前記データは、
前記データの特徴を識別する段階、
前記不揮発性ストレージ上で前記識別された特徴を有するデータを収容する前記スロットの位置を特定する段階、及び
前記識別された特徴を有する前記データを前記スロットから前記揮発性ストレージにコピーする段階、
によって検索される、
ことを特徴とする請求項１３に記載の方法。
【請求項１６】
前記識別された特徴を有する前記データは、所定のアクセス方法を用いてアクセス可能であるようにパッケージ化されることを特徴とする請求項１４に記載の方法。
【請求項１７】
ユーザが前記識別された特徴を有する前記データにアクセスすることを可能にする段階を更に含むことを特徴とする請求項１４に記載の方法。
【請求項１８】
前記データは、前記揮発性ストレージにスペースを割り振る最長時間未使用アルゴリズムを用いて前記スロットから該揮発性ストレージにコピーされることを特徴とする請求項１４に記載の方法。