(57)【要約】      （修正有）【課題】キャプチャしたパケットを特性に応じてまとめる際の即時分析処理に対する負荷を軽減する。【解決手段】パケット保存方法は、ネットワークからキャプチャしたパケットに順次順序識別子を割り当てると共に、当該パケットをバッファに格納する処理と、パケットをバッファから読み出して、当該パケットの特性に係る第１識別子を特定し、順序識別子と当該第１識別子とを対応付けるインデックスを生成する生成処理と、インデックスに含まれる順序識別子に対応するパケットをバッファから読み出して、インデックスに含まれる第１識別子に従って当該パケットを分別し、分別されたパケットを第１識別子毎に記憶部に格納する格納処理とを含む。【選択図】図１
2015095785.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークからキャプチャしたパケットに順次順序識別子を割り当てると共に、当該パケットをバッファに格納する処理と、
前記パケットを前記バッファから読み出して、当該パケットの特性に係る第１識別子を特定し、前記順序識別子と当該第１識別子とを対応付けるインデックスを生成する生成処理と、
前記インデックスに含まれる前記順序識別子に対応する前記パケットを前記バッファから読み出して、前記インデックスに含まれる前記第１識別子に従って当該パケットを分別し、分別された前記パケットを前記第１識別子毎に記憶部に格納する格納処理と
を含み、コンピュータにより実行されるパケット保存方法。
【請求項２】
前記格納処理において、分別された前記パケットと共に、前記パケット毎の前記順序識別子を記憶部に格納する
請求項１記載のパケット保存方法。
【請求項３】
前記特性は前記パケットにおけるコネクションであり、
前記第１識別子はコネクション識別子であり、
前記生成処理において、前記パケットから送信元装置アドレス、送信元ポート識別子、送信先装置アドレス及び送信先ポート識別子を抽出し、当該送信元装置アドレス、当該送信元ポート識別子、当該送信先装置アドレス及び当該送信先ポート識別子に基づいて前記コネクション識別子を特定する
請求項１又は２記載のパケット保存方法。
【請求項４】
更に、
前記生成処理において生成した前記インデックスを書き込む先を第１記憶領域から第２記憶領域に切り替える第１切り替え処理と、
前記第１切り替え処理と同期して、前記格納処理において前記インデックスを読み取る元を前記２記憶領域から前記第１記憶領域に切り替える第２切り替え処理と
を含む、請求項１乃至３のいずれか１つ記載のパケット保存方法。
【請求項５】
前記生成処理において、前記パケットの各々について、前記特性と異なる他の特性に係る第２識別子を特定し、前記インデックスに当該第２識別子を対応付け、
前記格納処理において、前記第２識別子が共通する前記第１識別子に従って分別された前記パケット同士を関連付ける
請求項１乃至４のいずれか１つ記載のパケット保存方法。
【請求項６】
前記他の特性は、前記パケットの送信元装置と送信先装置との組み合わせであり、
前記第２識別子は、装置組み合わせ識別子であり、
前記生成処理において、前記パケットから送信元装置アドレス及び送信先装置アドレスを抽出し、当該送信元装置アドレス及び当該送信先装置アドレスに基づいて前記装置組み合わせ識別子を特定する
請求項５記載のパケット保存方法。
【請求項７】
前記他の特性は、前記パケットの送信元サブネットワークと送信先サブネットワークとの組み合わせであり、
前記第２識別子は、サブネットワーク組み合わせ識別子であり、
前記生成処理において、前記パケットから送信元装置アドレス及び送信先装置アドレスを抽出し、当該送信元装置アドレス及び当該送信先装置アドレスに基づいて前記サブネットワーク組み合わせ識別子を特定する
請求項５記載のパケット保存方法。
【請求項８】
前記他の特性は、前記ネットワークに係る通信品質であり、
前記第２識別子は、通信品質識別子であり、
前記生成処理において、前記パケットに係るコネクションの状態に関する解析によって前記通信品質識別子を特定する
請求項５記載のパケット保存方法。
【請求項９】
前記他の特性は、前記パケットによるリクエスト先のＵＲＬであり、
前記第２識別子は、ＵＲＬ識別子であり、
前記生成処理において、前記パケットから抽出した前記ＵＲＬに基づいて前記ＵＲＬ識別子を特定する
請求項５記載のパケット保存方法。
【請求項１０】
更に、
前記他の特性を一又は複数指定する格納条件を受け付ける処理
を含み、
前記生成処理及び前記格納処理において、前記格納条件によって指定された一又は複数の前記他の特性に応じる
請求項５乃至９のいずれか１つ記載のパケット保存方法。
【請求項１１】
ネットワークからキャプチャしたパケットに順次順序識別子を割り当てると共に、当該パケットをバッファに格納する処理と、
前記パケットを前記バッファから読み出して、当該パケットの特性に係る第１識別子を特定し、前記順序識別子と当該第１識別子とを対応付けるインデックスを生成する生成処理と、
前記インデックスに含まれる前記順序識別子に対応する前記パケットを前記バッファから読み出して、前記インデックスに含まれる前記第１識別子に従って当該パケットを分別し、分別された前記パケットを前記第１識別子毎に記憶部に格納する格納処理と
をコンピュータに実行させるためのパケット保存プログラム。
【請求項１２】
ネットワークからキャプチャしたパケットに順次順序識別子を割り当てると共に、当該パケットをバッファに格納する第１格納処理部と、
前記パケットを前記バッファから読み出して、当該パケットの特性に係る第１識別子を特定し、前記順序識別子と当該第１識別子とを対応付けるインデックスを生成する生成部と、
前記インデックスに含まれる前記順序識別子に対応する前記パケットを前記バッファから読み出して、前記インデックスに含まれる前記第１識別子に従って当該パケットを分別し、分別された前記パケットを前記第１識別子毎に記憶部に格納する第２格納処理部と
を含むパケット保存装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークからキャプチャしたＰＤＵ（Protocol Data Unit）の保存技術に関する。
【背景技術】
【０００２】
例えばスイッチを通過するパケットをミラーリングによってキャプチャし、ネットワークの状態を監視するネットワーク監視装置がある。
【０００３】
具体的には、逐次パケットを解析し、解析結果に基づきパケットのロス数やＲＴＴ（Round Trip Time）などの統計処理を行うことによってネットワークの状態を即時分析する方法の他に、キャプチャしたパケットを蓄積し、事後的にネットワークの状態を分析する方法がある。
【０００４】
しかし、無作為に抽出したパケットを含む膨大なデータの中から、所定の特性に係るパケットを抽出する処理は負荷が大きい。また、上記の解析処理を含む一連の流れにおいてパケットの蓄積処理も行うようにすると、即時分析の処理性能を劣化させることになる。  更に、一時的にパケットを仕分ける方法としてリスト構造を用いた場合にも、処理負荷が大きくなる。
【０００５】
近年では、ネットワークにおけるデータ伝送量が膨大になっているため、ネットワーク監視装置における処理性能を劣化させずに、円滑な分析に資するパケットの保存方法が望まれている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−９６４１３号公報
【特許文献２】特開２００８−１１５３７号公報
【特許文献３】特開２００４−１５８９０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、一側面では、キャプチャしたパケットを特性に応じてまとめる際の即時分析処理に対する負荷を軽減することである。
【課題を解決するための手段】
【０００８】
一態様に係るパケット保存方法は、ネットワークからキャプチャしたパケットに順次順序識別子を割り当てると共に、当該パケットをバッファに格納する処理と、パケットをバッファから読み出して、当該パケットの特性に係る第１識別子を特定し、順序識別子と当該第１識別子とを対応付けるインデックスを生成する生成処理と、インデックスに含まれる順序識別子に対応するパケットをバッファから読み出して、インデックスに含まれる第１識別子に従って当該パケットを分別し、分別されたパケットを第１識別子毎に記憶部に格納する格納処理とを含む。
【発明の効果】
【０００９】
一側面としては、キャプチャしたパケットを特性に応じてまとめる際の即時分析処理に対する負荷を軽減することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、ネットワーク監視システムの構成例を示す図である。
【図２】図２は、インデックステーブルの例を示す図である。
【図３】図３は、コネクションテーブルの例を示す図である。
【図４】図４は、オブジェクトの構成例を示す図である。
【図５】図５は、割り当て処理フローを示す図である。
【図６】図６は、解析部のモジュール構成例を示す図である。
【図７Ａ】図７Ａは、解析部の処理フローを示す図である。
【図７Ｂ】図７Ｂは、解析部の処理フローを示す図である。
【図８】図８は、格納処理部のモジュール構成例を示す図である。
【図９】図９は、収集データの例を示す図である。
【図１０】図１０は、メタデータの例を示す図である。
【図１１】図１１は、格納処理部の処理フローを示す図である。
【図１２】図１２は、パケット分別処理（Ａ）フローを示す図である。
【図１３】図１３は、第１分別処理フローを示す図である。
【図１４】図１４は、実施の形態２に係るオブジェクトの構成例を示す図である。
【図１５】図１５は、実施の形態２に係るインデックステーブルの例を示す図である。
【図１６】図１６は、実施の形態２に係るコネクションテーブルの例を示す図である。
【図１７】図１７は、ホスト組み合わせテーブルの例を示す図である。
【図１８】図１８は、実施の形態２に係る解析部の処理フローを示す図である。
【図１９】図１９は、ホスト組み合わせ特定処理フローを示す図である。
【図２０】図２０は、実施の形態２に係る収集データの例を示す図である。
【図２１】図２１は、実施の形態２に係るメタデータの例を示す図である。
【図２２】図２２は、実施の形態２に係るメタデータの例を示す図である。
【図２３】図２３は、実施の形態２に係る上位メタデータの例を示す図である。
【図２４】図２４は、パケット分別処理（Ｂ）フローを示す図である。
【図２５】図２５は、第２分別処理フローを示す図である。
【図２６】図２６は、実施の形態３に係るインデックステーブルの例を示す図である。
【図２７】図２７は、サブネット組み合わせテーブルの例を示す図である。
【図２８】図２８は、実施の形態３に係る解析部１１７の処理フローを示す図である。
【図２９】図２９は、サブネット組み合わせ特定処理フローを示す図である。
【図３０】図３０は、実施の形態３に係る収集データの例を示す図である。
【図３１】図３１は、実施の形態３に係る上位メタデータの例を示す図である。
【図３２】図３２は、パケット分別処理（Ｃ）フローを示す図である。
【図３３】図３３は、第３分別処理フローを示す図である。
【図３４】図３４は、実施の形態４に係るインデックステーブルの例を示す図である。
【図３５】図３５は、実施の形態４に係る解析部の処理フローを示す図である。
【図３６】図３６は、ネットワーク品質設定処理フローを示す図である。
【図３７】図３７は、実施の形態４に係る収集データの例を示す図である。
【図３８】図３８は、実施の形態４に係る上位メタデータの例を示す図である。
【図３９】図３９は、パケット分別処理（Ｄ）フローを示す図である。
【図４０】図４０は、第４分別処理フローを示す図である。
【図４１】図４１は、実施の形態５に係るインデックステーブルの例を示す図である。
【図４２】図４２は、ＵＲＬテーブルの例を示す図である。
【図４３】図４３は、関連テーブルの例を示す図である。
【図４４】図４４は、実施の形態５に係る解析部の処理フローを示す図である。
【図４５】図４５は、ＵＲＬ設定処理フローを示す図である。
【図４６】図４６は、実施の形態５に係る収集データの例を示す図である。
【図４７】図４７は、実施の形態５に係る上位メタデータの例を示す図である。
【図４８】図４８は、パケット分別処理（Ｅ）フローを示す図である。
【図４９】図４９は、第５分別処理フローを示す図である。
【図５０】図５０は、実施の形態６に係るネットワーク監視システムの構成例を示す図である。
【図５１】図５１は、マネージャ部の処理フローを示す図である。
【図５２Ａ】図５２Ａは、実施の形態６に係る解析部の処理フローを示す図である。
【図５２Ｂ】図５２Ｂは、実施の形態６に係る解析部の処理フローを示す図である。
【図５２Ｃ】図５２Ｃは、実施の形態６に係る解析部の処理フローを示す図である。
【図５３】図５３は、実施の形態６に係る格納処理部の処理フローを示す図である。
【図５４Ａ】図５４Ａは、パケット分別処理（Ｆ）フローを示す図である。
【図５４Ｂ】図５４Ｂは、パケット分別処理（Ｆ）フローを示す図である。
【図５５】図５５は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１１】
［実施の形態１］
図１に、ネットワーク監視システムの構成例を示す。ネットワーク監視装置１０１は、ネットワークタップ１０５を介して監視対象ネットワーク１０３に接続している。監視対象ネットワーク１０３は、例えばＬＡＮ（Local Area Network）である。ネットワーク監視装置１０１は、監視対象ネットワーク１０３を伝送されているパケットをキャプチャする。例えば、監視対象ネットワーク１０３のスイッチを通過するパケットをミラーポートに複製してキャプチャする。あるいは、タップを使用してキャプチャするようにしてもよい。尚、パケットは、ＰＤＵの例である。
【００１２】
ネットワーク監視装置１０１は、ＮＩＣ（Network Interface Card）１１１、ドライバ１１３、バッファ１１５、解析部１１７、統計部１１９、インデックスデータ記憶部１２１、分別データ記憶部１２３及び格納処理部１２５を有している。ＮＩＣ１１１は、ネットワークに接続するためのインターフェースカードである。ドライバ１１３は、パケットを抽出し、抽出したパケットをバッファ１１５に格納すると共に、抽出したパケットにＩＤを割り当てる。バッファ１１５は、パケットを格納する。
【００１３】
解析部１１７は、主にパケットを解析すると共に、パケットを分別するためのインデックを生成する。解析部１１７は、Ｌ４解析部１３１とＬ７解析部１３３とを有している。Ｌ４解析部１３１は、ＩＳＯのＯＳＩ参照モデルにおける第４層（以下、Ｌ４という。）に関する解析を行う。Ｌ７解析部１３３は、ＩＳＯのＯＳＩ参照モデルにおける第７層（以下、Ｌ７という。）に関する解析を行う。
【００１４】
統計部１１９は、解析結果に基づき統計処理を行う。統計部１１９は、Ｌ４統計部１３５とＬ７統計部１３７とを有している。Ｌ４解析部１３１は、Ｌ４に関する統計処理を行う。具体的には、Ｌ４解析部１３１は、送受信パケット数及びバイト数、パケットのロス数、ＲＴＴ等の統計的な解析情報によりネットワーク状態をほぼリアルタイムに診断する。Ｌ７解析部１３３は、Ｌ７に関する統計処理を行う。
【００１５】
インデックスデータ記憶部１２１は、インデックステーブルを記憶するための領域を２つ有する。分別データ記憶部１２３は、パケットの分別に関するデータを記憶する。格納処理部１２５は、パケットを分別し、分別されたパケットを収集したオブジェクトを記憶部に格納する。
【００１６】
ネットワーク監視装置１０１は、伝送ネットワーク１０７を介してストレージ装置１０９に接続している。ストレージ装置１０９は、統計データ記憶部１４１とオブジェクトデータ記憶部１４３とを有している。統計データ記憶部１４１は、統計部１１９における統計処理の結果を記憶する。オブジェクトデータ記憶部１４３は、オブジェクトを記憶する。伝送ネットワーク１０７は、監視対象ネットワーク１０３と同じネットワークであってもよい。以上で、ネットワーク監視システムの構成についての説明を終える。
【００１７】
インデックスデータ記憶部１２１に記憶されるインデックステーブルについて説明する。図２に、インデックステーブルの例を示す。インデックステーブルには、パケット毎に、当該パケットの特性に係る識別子が設定されている。この例におけるコネクションＩＤは、当該パケットの特性に係る識別子の例である。インデックステーブルは、パケット毎のレコードを有している。レコードは、パケットＩＤを設定するためのフィールドと、コネクションＩＤを設定するためのフィールドとを有している。パケットＩＤは、キャプチャされたパケットにシーケンシャルに付与される識別子である。
【００１８】
この例は、第１レコードにおいて、パケットＩＤ「ＰＣ−００１」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−０１」によって特定されることを示している。
【００１９】
この例は、第２レコードにおいて、パケットＩＤ「ＰＣ−００２」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−０２」によって特定されることを示している。
【００２０】
この例は、第３レコードにおいて、パケットＩＤ「ＰＣ−００３」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−０２」によって特定されることを示している。
【００２１】
この例は、第４レコードにおいて、パケットＩＤ「ＰＣ−００４」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−０３」によって特定されることを示している。
【００２２】
この例は、第５レコードにおいて、パケットＩＤ「ＰＣ−００５」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−０３」によって特定されることを示している。
【００２３】
この例は、第６レコードにおいて、パケットＩＤ「ＰＣ−００６」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−０１」によって特定されることを示している。以上で、インデックステーブルについての説明を終える。
【００２４】
次に、分別データ記憶部１２３に記憶されるコネクションテーブルについて説明する。図３に、コネクションテーブルの例を示す。コネクションテーブルには、コネクション毎に、コネクションを定義するデータが設定されている。コネクションテーブルは、コネクション毎のレコードを有している。レコードは、コネクションＩＤを設定するためのフィールドと、送信元ＩＰ（Internet Protocol）アドレスを設定するためのフィールドと、送信元ポート番号を設定するためのフィールドと、送信先ＩＰアドレスを設定するためのフィールドと、送信先ポート番号を設定するためのフィールドと、プロトコル番号を設定するためのフィールドとを有している。
【００２５】
コネクションＩＤは、コネクションを特定するために解析部１１７が割り振る識別子である。送信元ＩＰアドレスは、当該パケットの送信元であるホスト装置のＩＰアドレスである。送信元ポート番号は、当該パケットの送信元であるホスト装置において当該パケットを送出するポートの番号である。送信先ＩＰアドレスは、当該パケットの送信先に相当するホスト装置のＩＰアドレスである。送信先ポート番号は、当該パケットの送信先に相当するホスト装置において当該パケットを受け入れるポートの番号である。プロトコル番号は、ＩＳＯのＯＳＩ参照モデルにおける第４層のプロトコルを識別する番号である。プロトコル番号「６」は、ＴＣＰ（Transmission Control Protocol）を示し、プロトコル番号「１７」は、ＵＤＰ（User Datagram Protocol）を示している。
【００２６】
この例における第１レコードは、コネクションＩＤ「ＣＮ−０１」が割り振られたコネクションについて、ＩＰアドレス「１０．２０．３０．４０」のホスト装置におけるポート番号「２０００」が送信元に相当し、ＩＰアドレス「１０．２０．３０．５０」のホスト装置におけるポート番号「２０」が送信先に相当することを示している。また、第１レコードは、このコネクションにおける第４層のプロトコルは、ＴＣＰであることも示している。
【００２７】
この例における第２レコードは、コネクションＩＤ「ＣＮ−０２」が割り振られたコネクションについて、ＩＰアドレス「２０．３０．４０．５０」のホスト装置におけるポート番号「３０００」が送信元に相当し、ＩＰアドレス「１０．２０．３０．６０」のホスト装置におけるポート番号「８０」が送信先に相当することを示している。また、第２レコードは、このコネクションにおける第４層のプロトコルは、ＴＣＰであることも示している。
【００２８】
この例における第３レコードは、コネクションＩＤ「ＣＮ−０３」が割り振られたコネクションについて、ＩＰアドレス「３０．４０．５０．６０」のホスト装置におけるポート番号「４０００」が送信元に相当し、ＩＰアドレス「４０．５０．６０．７０」のホスト装置におけるポート番号「３０００」が送信先に相当することを示している。また、第３レコードは、このコネクションにおける第４層のプロトコルは、ＵＤＰであることも示している。以上で、コネクションテーブルについての説明を終える。
【００２９】
次に、オブジェクトデータ記憶部１４３に記憶されるオブジェクトについて説明する。図４に、オブジェクトの構成例を示す。この例におけるオブジェクト４０１は、メタデータ４０３と収集データ４０５とを含んでいる。収集データ４０５は、分別されたパケットを収集したデータである。メタデータ４０３は、分別のキーとなった特性（例えば、コネクション）に関するデータ及び収集データ４０５に関するデータを含んでいる。尚、メタデータ４０３を除き、収集データ４０５をオブジェクトと呼んでもよい。
【００３０】
以下、ネットワーク監視装置１０１における処理について説明する。図５に、ドライバ１１３による割り当て処理フローを示す。ドライバ１１３は、待機して、ＮＩＣ１１１からパケットを受ける（Ｓ５０１）。ＮＩＣ１１１からパケットを受けると、ドライバ１１３は受けたパケットにパケットＩＤを割り当てる（Ｓ５０３）。そして、ドライバ１１３は、バッファ１１５にパケットを格納する（Ｓ５０５）。また、ドライバ１１３は、パケットＩＤとパケットヘッダのアドレスとを含む通知を解析部に渡す（Ｓ５０７）。
【００３１】
図６に、解析部１１７のモジュール構成例を示す。解析部１１７は、Ｌ４解析部１３１とＬ７解析部１３３との他、受付部６０１、生成部６０３、第１切り替え部６０５及び記憶部６０７を有している。受付部６０１は、ドライバ１１３から通知を受け付ける。生成部６０３は、インデックスと分別に関するデータ（例えば、コネクションテーブル）を生成する。第１切り替え部６０５は、インデックスを書き込む先となるインデックステーブルの領域を切り替える。記憶部６０７は、解析部１１７の内部で用いるデータを記憶する。
【００３２】
図７Ａに、解析部１１７の処理フローを示す。受付部６０１がドライバ１１３から通知を受けると（Ｓ７０１）、生成部６０３は、通知から得られるパケットＩＤを、インデックステーブルの新しいレコードに書く（Ｓ７０２）。Ｌ４解析部１３１は、通知に含まれるアドレスによってパケットヘッダを特定する（Ｓ７０３）。Ｌ４解析部１３１は、当該パケットのプロトコルが所定のプロトコルに該当するか否かを判定する（Ｓ７０４）。所定のプロトコルは、例えばＴＣＰとＵＤＰとである。当該パケットのプロトコルが所定のプロトコルに該当しないと判定した場合には、端子Ｃを介して図７ＢのＳ７１３の処理に移る。このとき、新しいレコードにおけるコネクションＩＤのフィールドは、未設定のままとなる。
【００３３】
一方、当該パケットのプロトコルが所定のプロトコルに該当すると判定した場合には、Ｌ４解析部１３１は、パケットヘッダからコネクションデータを抽出する（Ｓ７０５）。コネクションデータには、送信元ＩＰアドレス、送信元ポート番号、送信先ＩＰアドレス、送信先ポート番号及びプロトコル番号が含まれる。生成部６０３は、コネクションデータが既にコネクションテーブル（図３）に登録されているか否かを判定する（Ｓ７０７）。コネクションデータが既にコネクションテーブルに登録されていると判定した場合には、端子Ａを介して図７ＢのＳ７１１の処理に移る。
【００３４】
コネクションデータが未だコネクションテーブルに登録されていないと判定した場合には、生成部６０３は、コネクションテーブルにレコードを追加する（Ｓ７０９）。新たなレコードには、新たなコネクションＩＤと当該コネクションデータが設定される。具体的には、コネクションＩＤ、送信元ＩＰアドレス、送信元ポート番号、送信先ＩＰアドレス、送信先ポート番号及びプロトコル番号が設定される。Ｓ７０９の処理を終えると、端子Ａを介して図７ＢのＳ７１１の処理に移る。
【００３５】
生成部６０３は、当該レコードにコネクションＩＤを書く（Ｓ７１１）。コネクションＩＤは、コネクションテーブルに基づいて特定される。
【００３６】
続いて、Ｌ４解析部１３１は、Ｌ４解析処理を実行する（Ｓ７１３）。また、Ｌ７解析部１３３は、Ｌ７解析処理を実行する（Ｓ７１５）。Ｌ４解析処理とＬ７解析処理とは、従来の処理と同様であるので、これ以上説明しない。
【００３７】
第１切り替え部６０５は、インデックステーブル切り替えのタイミングに至ったか否かを判定する（Ｓ７１７）。第１切り替え部６０５は、例えば、インデックステーブルに格納されているレコード数が所定基準数に至った場合に、インデックステーブル切り替えのタイミングに至ったと判定する。あるいは、第１切り替え部６０５は、前回の切り替え時から所定に期間が経過した場合に、インデックステーブル切り替えのタイミングに至ったと判定する。
【００３８】
インデックステーブル切り替えのタイミングに至ったと判定した場合には、第１切り替え部６０５はインデックスを書き込むインデックステーブルの領域を切り替える（Ｓ７１９）。第１切り替え部６０５は格納処理部１２５へ切り替え指示を送る（Ｓ７２１）。格納処理部１２５においても、同時にインデックスを読み込むインデックステーブルの領域を切り替えさせるためである。
【００３９】
このように、インデックステーブルを切り替えれば、解析部１１７がインデックスを書き込む領域と格納処理部１２５が読み出す領域とが常に異なり、完全ロックフリーアルゴリズムによって、マルチコアを生かす並列処理が実現される。例えば、ストレージ装置１０９に対する処理待ちで一部のオブジェクトの格納が遅れても、全体処理に対する影響は抑えられ、また復旧されるまでデータを消失しないようにできる。
【００４０】
図７Ｂに示した処理を終えると、端子Ｂを介して図７Ａに示したＳ７０１の処理に戻り、上述の処理を繰り返す。
【００４１】
以上で解析部１１７についての説明を終える。続いて、格納処理部１２５について説明する。
【００４２】
図８に、格納処理部１２５のモジュール構成例を示す。格納処理部１２５は、読み込み部８０１、記憶部８０３、分別部８０５、収集データ記憶部８０７、メタデータ記憶部８０９、書き込み部８１１及び第２切り替え部８１３を有している。読み込み部８０１は、インデックスデータ記憶部１２１からインデックスを読み込む。記憶部８０３は、読み込まれたインデックスを一時的に記憶する。分別部８０５は、インデックスに基づいて、パケットを分別する。収集データ記憶部８０７は、分別されたパケットを連結した収集データを記憶する。メタデータ記憶部８０９は、収集データ４０５に関するメタデータ４０３を記憶する。書き込み部８１１は、収集データ４０５とメタデータ４０３とをオブジェクトデータ記憶部１４３に書き込む。第２切り替え部８１３は、インデックスを読み込む元となるインデックステーブルの領域を切り替える。
【００４３】
収集データ記憶部８０７に記憶される収集データ４０５について説明する。図９に、収集データ４０５の例を示す。この例における収集データは、同じコネクションに係るパケットを連結している。収集データ４０５ａは、コネクションＩＤ「ＣＮ−０１」に係るパケットを３個連結している。１番目のパケットの先頭オフセットが「０」であり、２番目のパケットの先頭オフセットが「６２４」である。収集データ４０５ｂは、コネクションＩＤ「ＣＮ−０２」に係るパケットを３個連結している。収集データ４０５ｃは、コネクションＩＤ「ＣＮ−０３」に係るパケットを１４個連結している。
【００４４】
続いて、メタデータ記憶部８０９に記憶されるメタデータ４０３について説明する。図１０に、メタデータ４０３の例を示す。メタデータ４０３は、収集データ４０５に対応付けて設けられる。図１０に示したメタデータ４０３は、図９の収集データ４０５ａに対応付けられている。メタデータ４０３は、ヘッダ部とテーブル部とを有している。
【００４５】
ヘッダ部には、コネクションＩＤを設定するためのフィールドと、コネクションデータを設定するためのフィールドとが設けられている。コネクションデータを設定するためのフィールドには、送信元ＩＰアドレスを設定するためのフィールドと、送信元ポート番号を設定するためのフィールドと、送信先ＩＰアドレスを設定するためのフィールドと、送信先ポート番号を設定するためのフィールドと、プロトコル番号を設定するためのフィールドとが含まれている。
【００４６】
この例のヘッダ部は、このメタデータが、コネクションＩＤ「ＣＮ−０１」のコネクションに係るパケットの収集データ４０５ａに対応することを示している。また、この例のヘッダ部は、このコネクションについて、ＩＰアドレス「１０．２０．３０．４０」のホスト装置におけるポート番号「２０００」が送信元に相当し、ＩＰアドレス「１０．２０．３０．５０」のホスト装置におけるポート番号「２０」が送信先に相当することを示している。また、この例のヘッダ部は、このコネクションにおける第４層のプロトコルは、ＴＣＰであることも示している。
【００４７】
テーブル部には、収集データに含まれるパケット毎のレコードが設けられている。レコードには、パケットＩＤを設定するためのフィールドと、オフセットを設定するためのフィールドとが設けられている。この例のテーブル部において、１番目のパケットは、パケットＩＤ「ＰＣ−００１」で特定され、オフセット「０」を先頭に格納されている。２番目のパケットは、パケットＩＤ「ＰＣ−００６」で特定され、オフセット「６２４」を先頭に格納されている。
【００４８】
図９に示した収集データ４０５ｂ及び収集データ４０５ｃについても、同様にメタデータ４０３が設けられる。
【００４９】
続いて、格納処理部１２５による処理について説明する。図１１に、格納処理部１２５の処理フローを示す。読み込み部８０１は、読み込み元のインデックステーブルに未処理のレコードがあるか否かを判定する（Ｓ１１０１）。未処理のレコードとは、まだ分別処理されていないインデックスを指す。
【００５０】
インデックステーブルに未処理のレコードがあると判定した場合には、読み込み部８０１は、未処理のレコード群を読み、記憶部８０３に記憶させる（Ｓ１１０３）。
【００５１】
分別部８０５は、読んだレコードの各々についてパケット分別処理を行う。そのため、分別部８０５は、パケット分別処理の対象となっていない未処理のレコードを１つ特定する（Ｓ１１０５）。そして、分別部８０５は、パケット分別処理（Ａ）を実行する（Ｓ１１０７）。パケット分別処理（Ｂ乃至Ｅ）については、後述の実施の形態で説明する。
【００５２】
図１２に、パケット分別処理（Ａ）フローを示す。分別部８０５は、当該レコードのパケットＩＤで特定されるパケットをバッファ１１５から取得する（Ｓ１２０１）。分別部８０５は、当該レコードのコネクションＩＤを読み（Ｓ１２０３）、第１分別処理を実行する（Ｓ１２０５）。
【００５３】
図１３に、第１分別処理フローを示す。分別部８０５は、当該コネクションＩＤに相当するメタデータが設定済みであるか否かを判定する（Ｓ１３０１）。具体的には、分別部８０５は、メタデータ記憶部８０９に記憶されているメタデータのいずれかに当該コネクションＩＤが設定されているか否かを判定する。
【００５４】
当該コネクションＩＤに相当するメタデータが設定されていないと判定した場合に、分別部８０５は、まず収集データ記憶部８０７に新たな収集データ４０５の予約領域を設定し、その領域の先頭に当該パケットを格納する（Ｓ１３０３）。
【００５５】
続いて、分別部８０５は、メタデータ記憶部８０９に当該収集データ４０５のメタデータ４０３を生成する。メタデータ４０３のヘッダ部には、当該コネクションＩＤと、コネクションテーブルから取得されたコネクションデータが設定される。また、分別部８０５は、メタデータ４０３のテーブル部に最初のレコードを設定する（Ｓ１３０５）。レコードには、パケットＩＤと当該パケットの先頭を指すオフセットとが設定される。
【００５６】
一方、当該コネクションＩＤに相当するメタデータが設定されていると判定した場合には、既に当該コネクションＩＤに係る収集データとメタデータが存在する。分別部８０５は、既存の収集データ４０５の予約領域にパケットを追加する（Ｓ１３０７）。また、既存のメタデータ４０３のテーブル部にレコードを追加する（Ｓ１３０９）。レコードには、パケットＩＤと当該パケットの先頭を指すオフセットとが設定される。
【００５７】
コネクションＩＤが未設定であるパケットを収集するようにしてもよい。その場合には、所定のプロトコルに該当しないパケットのための収集データとメタデータが生成される。所定のプロトコルに該当しないパケットのためのメタデータにおけるヘッダ部の各フィールドは、未設定とする。例えば第１分別処理で、分別部８０５はコネクションＩＤが未設定であるか否かを判定する。コネクションＩＤが未設定であると判定した場合には、分別部８０５は所定のプロトコルに該当しないパケットのための収集データに当該パケットを加え、所定のプロトコルに該当しないパケットのためのメタデータにレコードを追加する。
【００５８】
第１分別処理を終えると、図１２のパケット分別処理（Ａ）も終え、図１１の処理に戻る。書き込み部８１１は、書き込みのタイミングに至ったか否かを判定する（Ｓ１１０９）。書き込み部８１１は、例えば収集データ記憶部８０７で記憶しているデータ量が基準を越えた場合に、書き込みのタイミングに至ったと判定する。あるいは、書き込み部８１１は、前回の書き込みから所定の時間が経過した場合に、書き込みのタイミングに至ったと判定するようにしてもよい。
【００５９】
書き込み部８１１は、メタデータ４０３と収集データ４０５とをオブジェクトデータ記憶部１４３に書き込む（Ｓ１１１１）。このとき、書き込み部８１１は、メタデータ記憶部８０９に記憶されているメタデータ４０３と収集データ記憶部８０７に記憶されている収集データ４０５とをそのまま書き込んでもよいし、オブジェクト単位でまとめて書き込むようにしてもよい。いずれの場合にも、メタデータ４０３と収集データ４０５とは関連し、論理的にオブジェクト（図４）の構成が保たれるようにする。
【００６０】
分別部８０５は、未処理のレコードがあるか否かを判定する（Ｓ１１１３）。未処理のレコードがあると判定した場合には、Ｓ１１０５に戻って上述の処理を繰り返す。
【００６１】
未処理のレコードがないと判定した場合には、Ｓ１１０１に戻って、上述の処理を繰り返す。
【００６２】
Ｓ１１０１において、インデックステーブルに未処理のレコードがないと判定した場合には、第２切り替え部８１３は、解析部１１７の第１切り替え部６０５から切り替え指示を受けたか否かを判定する（Ｓ１１１５）。解析部１１７の第１切り替え部６０５から切り替え指示を受けたと判定した場合には、第２切り替え部８１３は、分別部８０５がインデックスを読み取る元となるインデックステーブルの領域を切り替える（Ｓ１１１７）。  この実施の形態によれば、特性に応じてキャプチャしたパケットをまとめるための処理負荷を軽減することができる。例えば、リスト解析のような煩雑な手順を要しないので、少ない資源及び小さい負荷で処理することができる。
【００６３】
また、オブジェクトのメタデータにパケットＩＤが含まれるので、パケットをキャプチャした順序を特定することができる。例えば、キャプチャした順にパケットを並べ直すことに役立つ。
【００６４】
また、コネクション毎にパケットを収集しようとする場合に、パケットのコネクションを特定する処理と、コネクションによってパケットを分別して格納する処理とを分離するので、処理負荷を分散させることができる。
【００６５】
また、インデックステーブルの領域を同期して切り替えるので、インデックスを記憶するための領域の容量不足や記憶装置の処理待ちによる不具合を回避できる。
【００６６】
［実施の形態２］
本実施の形態では、パケットの送信元装置と送信先装置の組み合わせが共通する収集データ同士をまとめて格納する例について説明する。
【００６７】
ネットワーク監視システムの構成は、実施の形態１と同様である。
【００６８】
図１４に、実施の形態２に係るオブジェクト４０１の構成例を示す。本実施の形態におけるオブジェクトは、複数の収集データ４０５を含んでいる。複数の収集データのまとまりを、収集データセットと呼ぶ。
【００６９】
本実施の形態では、収集データセットに含まれる収集データ４０５に対応するメタデータを関連付ける上位メタデータ１４０１を設けている。上位メタデータ１４０１とメタデータ４０３とのまとまりをメタデータセットと呼ぶ。尚、図中のメタデータ４０３ａは、収集データ４０５ａに関し、同じくメタデータ４０３ｂは、収集データ４０５ｂに関する。
【００７０】
次に、本実施の形態におけるインデックステーブルについて説明する。図１５に、実施の形態２に係るインデックステーブルの例を示す。図２の場合と同様に、インデックステーブルには、パケット毎に、当該パケットの特性が設定されている。この例では、パケットの特性として、コネクションＩＤの他にホスト組み合わせＩＤが設定されている。ホスト組み合わせＩＤは、送信元であるホスト装置と送信先であるホスト装置との組み合わせを特定するための識別子である。
【００７１】
この例は、第１レコードにおいて、パケットＩＤ「ＰＣ−０１１」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−１１」で特定され、更に当該パケットに係るホスト組み合わせは、ホスト組み合わせＩＤ「ＨｔｏＨ−０１」で特定されることを示している。
【００７２】
この例は、第２レコードにおいて、パケットＩＤ「ＰＣ−０１２」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−１２」で特定され、更に当該パケットに係るホスト組み合わせは、ホスト組み合わせＩＤ「ＨｔｏＨ−０１」で特定されることを示している。
【００７３】
この例は、第３レコードにおいて、パケットＩＤ「ＰＣ−０１３」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−１２」で特定され、更に当該パケットに係るホスト組み合わせは、ホスト組み合わせＩＤ「ＨｔｏＨ−０１」で特定されることを示している。
【００７４】
この例は、第４レコードにおいて、パケットＩＤ「ＰＣ−０１４」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−１３」で特定され、更に当該パケットに係るホスト組み合わせは、ホスト組み合わせＩＤ「ＨｔｏＨ−０２」で特定されることを示している。
【００７５】
この例は、第５レコードにおいて、パケットＩＤ「ＰＣ−０１５」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−１３」で特定され、更に当該パケットに係るホスト組み合わせは、ホスト組み合わせＩＤ「ＨｔｏＨ−０２」で特定されることを示している。
【００７６】
この例は、第６レコードにおいて、パケットＩＤ「ＰＣ−０１６」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−１１」で特定され、更に当該パケットに係るホスト組み合わせは、ホスト組み合わせＩＤ「ＨｔｏＨ−０１」で特定されることを示している。以上で、インデックステーブルについての説明を終える。
【００７７】
次に、本実施の形態におけるコネクションテーブルについて説明する。図１６に、実施の形態２に係るコネクションテーブルの例を示す。コネクションテーブルの構成は、図３の場合と同様である。
【００７８】
この例における第１レコードは、コネクションＩＤ「ＣＮ−１１」が割り振られたコネクションについて、ＩＰアドレス「１０．２０．３０．４０」のホスト装置におけるポート番号「２０００」が送信元に相当し、ＩＰアドレス「２０．３０．４０．５０」のホスト装置におけるポート番号「８０」が送信先に相当することを示している。また、第１レコードは、このコネクションにおける第４層のプロトコルは、ＴＣＰであることも示している。
【００７９】
この例における第２レコードは、コネクションＩＤ「ＣＮ−１２」が割り振られたコネクションについて、ＩＰアドレス「１０．２０．３０．４０」のホスト装置におけるポート番号「２１００」が送信元に相当し、ＩＰアドレス「２０．３０．４０．５０」のホスト装置におけるポート番号「８０」が送信先に相当することを示している。また、第２レコードは、このコネクションにおける第４層のプロトコルは、ＴＣＰであることも示している。
【００８０】
この例における第３レコードは、コネクションＩＤ「ＣＮ−１３」が割り振られたコネクションについて、ＩＰアドレス「３０．４０．５０．６０」のホスト装置におけるポート番号「２１００」が送信元に相当し、ＩＰアドレス「２０．３０．４０．５０」のホスト装置におけるポート番号「８０」が送信先に相当することを示している。また、第３レコードは、このコネクションにおける第４層のプロトコルは、ＴＣＰであることも示している。以上で、コネクションテーブルについての説明を終える。
【００８１】
本実施の形態では、分別データ記憶部１２３において、上述したコネクションテーブルの他に、ホスト組み合わせテーブルも記憶している。図１７に、ホスト組み合わせテーブルの例を示す。ホスト組み合わせテーブルには、ホスト組み合わせ毎に、ホスト組み合わせを定義するデータが設定されている。ホスト組み合わせテーブルは、ホスト組み合わせ毎のレコードを有している。レコードは、ホスト組み合わせＩＤを設定するためのフィールドと、送信元ＩＰアドレスを設定するためのフィールドと、送信先ＩＰアドレスを設定するためのフィールドとを有している。この例では、送信元ＩＰアドレスと送信先ＩＰアドレスとによってホスト組み合わせを定義しているが、他のデータによってホスト組み合わせを定義するようにしてもよい。
【００８２】
この例における第１レコードは、ＩＰアドレスが「１０．２０．３０．４０」である送信元のホスト装置と、ＩＰアドレスが「２０．３０．４０．５０」である送信先のホスト装置との組み合わせに対して、ホスト組み合わせＩＤ「ＨｔｏＨ−０１」が割り振られていることを示している。
【００８３】
この例における第２レコードは、ＩＰアドレスが「３０．４０．５０．６０」である送信元のホスト装置と、ＩＰアドレスが「２０．３０．４０．５０」である送信先のホスト装置との組み合わせに対して、ホスト組み合わせＩＤ「ＨｔｏＨ−０２」が割り振られていることを示している。以上で、ホスト組み合わせテーブルについての説明を終える。
【００８４】
ドライバ１１３による割り当て処理フロー（図５）については、上述した実施の形態と同様である。
【００８５】
解析部１１７のモジュール構成（図６）についても、上述した実施の形態と同様である。
【００８６】
実施の形態２に係る解析部１１７における処理について説明する。図１８に、実施の形態２に係る解析部１１７の処理フローを示す。Ｓ７０１乃至Ｓ７０９は、上述した実施の形態と同様である。
【００８７】
本実施の形態では、Ｓ７０７においてコネクションデータがコネクションテーブルに登録されていると判定した場合、あるいはＳ７０９の処理の後に、生成部６０３は、ホスト組み合わせ特定処理を実行する（Ｓ１８０１）。
【００８８】
図１９に、ホスト組み合わせ特定処理フローを示す。生成部６０３は、パケットヘッダからホスト組み合わせデータを抽出する（Ｓ１９０１）。ホスト組み合わせデータには、送信元ＩＰアドレスと送信先ＩＰアドレスとが含まれている。生成部６０３は、ホスト組み合わせデータがホスト組み合わせテーブル（図１７）に登録されているか否かを判定する（Ｓ１９０３）。
【００８９】
ホスト組み合わせデータがホスト組み合わせテーブルに登録されていると判定した場合には、ホスト組み合わせ特定処理を終える。
【００９０】
ホスト組み合わせデータがホスト組み合わせテーブルに登録されていないと判定した場合には、生成部６０３は、ホスト組み合わせテーブルにレコードを追加する（Ｓ１９０５）。新たなレコードには、新たなホスト組み合わせＩＤ、送信元ＩＰアドレス及び送信先ＩＰアドレスが設定される。
【００９１】
ホスト組み合わせ特定処理（図１８のＳ１８０１）を終えると、端子Ａを介して図７Ｂに示したＳ７１１の処理に戻る。
【００９２】
Ｓ７１１において生成部６０３がインデックステーブルに追加するレコードには、パケットＩＤとコネクションＩＤとホスト組み合わせＩＤとが設定される。ホスト組み合わせＩＤは、ホスト組み合わせテーブルに基づいて特定される。図７Ｂに示したＳ７１３乃至Ｓ７２１の処理については、上述した実施の形態と同様である。解析部１１７における処理についての説明を終える。
【００９３】
次に、本実施の形態における収集データ４０５について説明する。図２０に、実施の形態２に係る収集データ４０５の例を示す。この例における収集データも、同じコネクションに係るパケットを連結している。収集データ４０５ｄは、コネクションＩＤ「ＣＮ−１１」に係るパケットを３個連結している。１番目のパケットの先頭オフセットが「０」であり、２番目のパケットの先頭オフセットが「６２４」である。収集データ４０５ｅは、コネクションＩＤ「ＣＮ−１２」に係るパケットを３個連結している。１番目のパケットの先頭オフセットが「６２００４」であり、２番目のパケットの先頭オフセットが「６３０５０」である。収集データ４０５ｆは、コネクションＩＤ「ＣＮ−１３」に係るパケットを１４個連結している。  
【００９４】
収集データ４０５ｄと収集データ４０５ｅとは、ホスト組み合わせＩＤが「ＨｔｏＨ−０１」である点で共通する。本実施の形態では、ホスト組み合わせＩＤが共通する収集データ４０５ｄと収集データ４０５ｅとをまとめて扱うようにする。尚、収集データ４０５ｆのホスト組み合わせＩＤは「ＨｔｏＨ−０２」であり、収集データ４０５ｆは単独で扱われる。
【００９５】
次に、本実施の形態におけるメタデータ４０３について説明する。図２１に、図２０に示した収集データ４０５ｄに対するメタデータ４０５ｄの例を示す。この例のヘッダ部は、このメタデータが、コネクションＩＤ「ＣＮ−１１」のコネクションに係るパケットの収集データ４０５ｄに対応することを示している。また、この例のヘッダ部は、このコネクションについて、ＩＰアドレス「１０．２０．３０．４０」のホスト装置におけるポート番号「２０００」が送信元に相当し、ＩＰアドレス「２０．３０．４０．５０」のホスト装置におけるポート番号「８０」が送信先に相当することを示している。また、この例のヘッダ部は、このコネクションにおける第４層のプロトコルは、ＴＣＰであることも示している。
【００９６】
この例のテーブル部において、１番目のパケットは、パケットＩＤ「ＰＣ−０１１」で特定され、相対オフセット「０」を先頭に格納されていることを示している。相対オフセットは、収集データの先頭位置をオフセット「０」とした相対的な位置を示している。２番目のパケットは、パケットＩＤ「ＰＣ−０１６」で特定され、相対オフセット「６２４」を先頭に格納されていることを示している。
【００９７】
図２２に、図２０に示した収集データ４０５ｅに対するメタデータ４０５ｅの例を示す。この例のヘッダ部は、このメタデータが、コネクションＩＤ「ＣＮ−１２」のコネクションに係るパケットの収集データ４０５ｅに対応することを示している。また、この例のヘッダ部は、このコネクションについて、ＩＰアドレス「１０．２０．３０．４０」のホスト装置におけるポート番号「２１００」が送信元に相当し、ＩＰアドレス「２０．３０．４０．５０」のホスト装置におけるポート番号「８０」が送信先に相当することを示している。また、この例のヘッダ部は、このコネクションにおける第４層のプロトコルは、ＴＣＰであることも示している。
【００９８】
この例のテーブル部において、１番目のパケットは、パケットＩＤ「ＰＣ−０１２」で特定され、相対オフセット「０」を先頭に格納されていることを示している。２番目のパケットは、パケットＩＤ「ＰＣ−０１３」で特定され、相対オフセット「１０４６」を先頭に格納されていることを示している。
【００９９】
続いて、メタデータ記憶部８０９に記憶される上位メタデータ１４０１について説明する。図２３に、実施の形態２に係る上位メタデータ１４０１の例を示す。上位メタデータ１４０１は、ヘッダ部とテーブル部とを有している。ヘッダ部には、ホスト組み合わせＩＤを設定するためのフィールドと、送信元ＩＰアドレスを設定するためのフィールドと、送信先ＩＰアドレスを設定するためのフィールドとが含まれている。ホスト組み合わせＩＤは、収集データ４０５をまとめるキーとなる特性に係る識別子の例である。
【０１００】
テーブル部のレコードには、コネクションＩＤを設定するためのフィールドと、開始オフセットを設定するためのフィールドとが設けられている。この例のテーブル部の第１レコードは、１番目のメタデータ４０３ｄがコネクションＩＤ「ＣＮ−１１」で特定され、１番目の収集データ４０５ｄが収集データ記憶部８０７のオフセット「０」を先頭に格納されていることを示している。この例のテーブル部の第２レコードは、２番目のメタデータ４０３ｅがコネクションＩＤ「ＣＮ−１２」で特定され、２番目の収集データ４０５ｅが収集データ記憶部８０７のオフセット「６２００４」を先頭に格納されていることを示している。
【０１０１】
格納処理部１２５のモジュール構成は、上述した実施の形態と同様である。
【０１０２】
格納処理部１２５における処理は、図１１に示した通りである。Ｓ１１０１乃至Ｓ１１０５の処理については、上述した実施の形態と同様である。本実施の形態では、Ｓ１１０７において分別部８０５がパケット分別処理（Ｂ）を実行する。
【０１０３】
図２４に、パケット分別処理（Ｂ）フローを示す。Ｓ１２０１及びＳ１２０３の処理は、図１２に示したパケット分別処理（Ａ）の場合と同様である。分別部８０５は、第２分別処理を実行する（Ｓ２４０１）。
【０１０４】
図２５に、第２分別処理フローを示す。Ｓ１３０１乃至Ｓ１３０９については、図１３に示した第１分別処理の場合と同様である。
【０１０５】
Ｓ１３０５の処理に続いて、分別部８０５は、ホスト組み合わせＩＤに相当する上位メタデータ１４０１が設定済みであるか否かを判定する（Ｓ２５０１）。具体的には、分別部８０５は、Ｓ１１０５で特定したレコードに含まれるホスト組み合わせＩＤを特定し、メタデータ記憶部８０９に記憶されている上位メタデータ１４０１のいずれかに当該ホスト組み合わせＩＤが設定されているか否かを判定する。
【０１０６】
ホスト組み合わせＩＤに相当する上位メタデータ１４０１が設定されていないと判定した場合には、分別部８０５は、メタデータ記憶部８０９に上位メタデータ１４０１を生成する。上位メタデータ１４０１のヘッダ部には、ホスト組み合わせＩＤ、送信元ＩＰアドレス及び送信先ＩＰアドレスが設定される。送信元ＩＰアドレスと送信先ＩＰアドレスとは、ホスト組み合わせテーブルから取得される。また、分別部８０５は、テーブル部に最初のレコードを設定する（Ｓ２５０３）。レコードには、コネクションＩＤと収集データ４０５の先頭位置を指すオフセットとが設定される。
【０１０７】
一方、ホスト組み合わせＩＤに相当する上位メタデータ１４０１が設定されていると判定した場合には、分別部８０５は、当該上位メタデータ１４０１のテーブル部にレコードを追加する（Ｓ２５０５）。レコードには、コネクションＩＤと収集データ４０５の先頭位置を指すオフセットとが設定される。
【０１０８】
第２分別処理を終えると、図２４のパケット分別処理（Ｂ）も終え、図１１に示したＳ１１０９の処理に戻る。図１１に示したＳ１１０９乃至Ｓ１１１７の処理については、上述した実施の形態と同様である。
【０１０９】
この実施の形態によれば、ある特性（例えば、コネクション）に従って分別されたパケットを、更に他の特性に従ってまとめて扱うことができる。例えば、ある特性と他の特性とに係るパケットを分析しようとする場合に便利である
【０１１０】
具体的には、ある特性に従って分別されたパケットを、更にパケットの送信元装置と送信先装置との組み合わせに従ってまとめて扱うことができる。
【０１１１】
［実施の形態３］
本実施の形態では、パケットの送信元サブネットワークと送信先サブネットワークの組み合わせが共通する収集データ同士をまとめて格納する例について説明する。
【０１１２】
ネットワーク監視システムの構成は、上述した実施の形態と同様である。また、オブジェクト４０１の構成は、実施の形態２と同様である。
【０１１３】
図２６に、実施の形態３に係るインデックステーブルの例を示す。上述した実施の形態と同様に、インデックステーブルには、パケット毎に、当該パケットの特性が設定されている。この例では、パケットの特性として、コネクションＩＤの他にサブネット組み合わせＩＤが設定されている。サブネット組み合わせＩＤは、送信元であるサブネットワークと送信先であるサブネットワークとの組み合わせを特定するための識別子である。
【０１１４】
この例は、第１レコードにおいて、パケットＩＤ「ＰＣ−０１１」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−１１」で特定され、更に当該パケットに係るサブネット組み合わせは、サブネット組み合わせＩＤ「ＳｔｏＳ−０１」で特定されることを示している。
【０１１５】
この例は、第２レコードにおいて、パケットＩＤ「ＰＣ−０１２」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−１２」で特定され、更に当該パケットに係るサブネット組み合わせは、サブネット組み合わせＩＤ「ＳｔｏＳ−０１」で特定されることを示している。
【０１１６】
この例は、第３レコードにおいて、パケットＩＤ「ＰＣ−０１３」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−１２」で特定され、更に当該パケットに係るサブネット組み合わせは、サブネット組み合わせＩＤ「ＳｔｏＳ−０１」で特定されることを示している。
【０１１７】
この例は、第４レコードにおいて、パケットＩＤ「ＰＣ−０１４」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−１３」で特定され、更に当該パケットに係るサブネット組み合わせは、サブネット組み合わせＩＤ「ＳｔｏＳ−０２」で特定されることを示している。
【０１１８】
この例は、第５レコードにおいて、パケットＩＤ「ＰＣ−０１５」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−１３」で特定され、更に当該パケットに係るサブネット組み合わせは、サブネット組み合わせＩＤ「ＳｔｏＳ−０２」で特定されることを示している。
【０１１９】
この例は、第６レコードにおいて、パケットＩＤ「ＰＣ−０１６」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−１１」で特定され、更に当該パケットに係るサブネット組み合わせは、サブネット組み合わせＩＤ「ＳｔｏＳ−０１」で特定されることを示している。以上で、インデックステーブルについての説明を終える。
【０１２０】
本実施の形態におけるコネクションテーブルは、図１６に示した通りである。
【０１２１】
本実施の形態では、分別データ記憶部１２３において、上述したコネクションテーブルの他に、サブネット組み合わせテーブルも記憶している。図２７に、サブネット組み合わせテーブルの例を示す。サブネット組み合わせテーブルには、サブネット組み合わせ毎に、サブネット組み合わせを定義するデータが設定されている。サブネット組み合わせテーブルは、サブネット組み合わせ毎のレコードを有している。レコードは、サブネット組み合わせＩＤを設定するためのフィールドと、送信元サブネットアドレスを設定するためのフィールドと、送信先サブネットアドレスを設定するためのフィールドとを有している。この例では、送信元サブネットアドレスと送信先サブネットアドレスとによってサブネット組み合わせを定義しているが、他のデータによってサブネット組み合わせを定義するようにしてもよい。
【０１２２】
この例における第１レコードは、サブネットアドレスが「１０．２０．３０．０／２４」である送信元のサブネットワークと、サブネットアドレスが「２０．３０．４０．０／２４」である送信先のサブネットワークとの組み合わせに対して、ホスト組み合わせＩＤ「ＳｔｏＳ−０１」が割り振られていることを示している。
【０１２３】
この例における第２レコードは、サブネットアドレスが「３０．４０．５０．０／２４」である送信元のサブネットワークと、サブネットアドレスが「２０．３０．４０．０／２４」である送信先のサブネットワークとの組み合わせに対して、ホスト組み合わせＩＤ「ＳｔｏＳ−０２」が割り振られていることを示している。以上で、ホスト組み合わせテーブルについての説明を終える。
【０１２４】
ドライバ１１３による割り当て処理フロー（図５）については、上述した実施の形態と同様である。
【０１２５】
解析部１１７のモジュール構成（図６）についても、上述した実施の形態と同様である  実施の形態３に係る解析部１１７における処理について説明する。図２８に、実施の形態３に係る解析部１１７の処理フローを示す。Ｓ７０１乃至Ｓ７０９は、上述した実施の形態と同様である。
【０１２６】
本実施の形態では、Ｓ７０７においてコネクションデータがコネクションテーブルに登録されていると判定した場合、あるいはＳ７０９の処理の後に、生成部６０３は、サブネット組み合わせ特定処理を実行する（Ｓ２８０１）。
【０１２７】
図２９に、サブネット組み合わせ特定処理フローを示す。生成部６０３は、パケットヘッダからホスト組み合わせデータを抽出する（Ｓ２９０１）。ホスト組み合わせデータには、送信元ＩＰアドレスと送信先ＩＰアドレスとが含まれている。
【０１２８】
生成部６０３は、サブネット組み合わせデータを生成する（Ｓ２９０３）。サブネット組み合わせデータは、送信元サブネットアドレスと送信先サブネットアドレスとを有している。送信元サブネットアドレスは、送信元ＩＰアドレスについて、２４ビットのネットワーク部を特定し、ＣＩＤＲ（Classless Inter-Domain Routing）形式のアドレスに改めることによって特定される。送信先サブネットアドレスも、送信先ＩＰアドレスについて、２４ビットのネットワーク部を特定し、ＣＩＤＲ形式のアドレスに改めることによって特定される。あるいは、生成部６０３は、候補となるサブネットワークについてＣＩＤＲ形式のアドレスで予め設定しておき、その候補の中からサブネットアドレスを選択するようにしてもよい。例えば、「１０．２０．０．０／１６」の候補が予め設定されており、送信元ＩＰアドレスが「１０．２０．３０．４０」である場合には、送信元サブネットアドレスを「１０．２０．０．０／１６」とする。
【０１２９】
生成部６０３は、サブネット組み合わせデータがサブネット組み合わせテーブル（図２７）に登録されているか否かを判定する（Ｓ２９０５）。
【０１３０】
サブネット組み合わせデータがサブネット組み合わせテーブルに登録されていると判定した場合には、サブネット組み合わせ特定処理を終える。
【０１３１】
サブネット組み合わせデータがサブネット組み合わせテーブルに登録されていないと判定した場合には、生成部６０３は、サブネット組み合わせテーブルにレコードを追加する（Ｓ１９０５）。新たなレコードには、新たなサブネット組み合わせＩＤ、送信元サブネットアドレス及び送信先サブネットアドレスが設定される。
【０１３２】
サブネット組み合わせ特定処理（図２８のＳ２８０１）を終えると、端子Ａを介して図７Ｂに示したＳ７１１の処理に戻る。
【０１３３】
Ｓ７１１において生成部６０３がインデックステーブルに追加するレコードには、パケットＩＤとコネクションＩＤとサブネット組み合わせＩＤとが設定される。サブネット組み合わせＩＤは、サブネット組み合わせテーブルに基づいて特定される。図７Ｂに示したＳ７１３乃至Ｓ７２１の処理については、上述した実施の形態と同様である。以上で、解析部１１７における処理についての説明を終える。
【０１３４】
次に、本実施の形態における収集データ４０５について説明する。図３０に、実施の形態３に係る収集データ４０５の例を示す。この例における収集データも、同じコネクションに係るパケットを連結している。収集データ４０５ｇは、コネクションＩＤ「ＣＮ−１１」に係るパケットを３個連結している。１番目のパケットの先頭オフセットが「０」であり、２番目のパケットの先頭オフセットが「６２４」である。収集データ４０５ｈは、コネクションＩＤ「ＣＮ−１２」に係るパケットを３個連結している。１番目のパケットの先頭オフセットが「６２００４」であり、２番目のパケットの先頭オフセットが「６３０５０」である。収集データ４０５ｉは、コネクションＩＤ「ＣＮ−１３」に係るパケットを１４個連結している。  
【０１３５】
収集データ４０５ｇと収集データ４０５ｈとは、サブネット組み合わせＩＤが「ＳｔｏＳ−０１」である点で共通する。本実施の形態では、サブネット組み合わせＩＤが共通する収集データ４０５ｇと収集データ４０５ｈとをまとめて扱うようにする。尚、収集データ４０５ｉのサブネット組み合わせＩＤは「ＳｔｏＳ−０２」であり、収集データ４０５ｉは単独で扱われる。
【０１３６】
図３０に示した収集データ４０５ｇに対するメタデータ４０５ｇは、図２１に示したメタデータ４０５ｄと同様である。また、図３０に示した収集データ４０５ｈに対するメタデータ４０５ｈは、図２２に示したメタデータ４０５ｅと同様である。
【０１３７】
続いて、本実施の形態に係る上位メタデータ１４０１について説明する。図３１に、実施の形態３に係る上位メタデータ１４０１の例を示す。上位メタデータ１４０１は、前述と同様にヘッダ部とテーブル部とを有している。ヘッダ部には、サブネット組み合わせＩＤを設定するためのフィールドと、送信元サブネットアドレスを設定するためのフィールドと、送信先サブネットアドレスを設定するためのフィールドとが含まれている。サブネット組み合わせＩＤは、収集データ４０５をまとめるキーとなる特性に係る識別子の例である。
【０１３８】
テーブル部のレコードには、コネクションＩＤを設定するためのフィールドと、開始オフセットを設定するためのフィールドとが設けられている。この例のテーブル部の第１レコードは、１番目のメタデータ４０３ｇがコネクションＩＤ「ＣＮ−１１」で特定され、１番目の収集データ４０５ｇが収集データ記憶部８０７のオフセット「０」を先頭に格納されていることを示している。この例のテーブル部の第２レコードは、２番目のメタデータ４０３ｈがコネクションＩＤ「ＣＮ−１２」で特定され、２番目の収集データ４０５ｈが収集データ記憶部８０７のオフセット「６２００４」を先頭に格納されていることを示している。
【０１３９】
格納処理部１２５のモジュール構成は、上述した実施の形態と同様である。
【０１４０】
格納処理部１２５における処理は、図１１に示した通りである。Ｓ１１０１乃至Ｓ１１０５の処理については、上述した実施の形態と同様である。本実施の形態では、Ｓ１１０７において分別部８０５がパケット分別処理（Ｃ）を実行する。
【０１４１】
図３２に、パケット分別処理（Ｃ）フローを示す。Ｓ１２０１及びＳ１２０３の処理は、図１２に示したパケット分別処理（Ａ）の場合と同様である。分別部８０５は、第３分別処理を実行する（Ｓ３２０１）。
【０１４２】
図３３に、第３分別処理フローを示す。Ｓ１３０１乃至Ｓ１３０９については、図１３に示した第１分別処理の場合と同様である。
【０１４３】
Ｓ１３０５の処理に続いて、分別部８０５は、サブネット組み合わせＩＤに相当する上位メタデータ１４０１が設定済みであるか否かを判定する（Ｓ３３０１）。具体的には、分別部８０５は、Ｓ１１０５で特定したレコードに含まれるサブネット組み合わせＩＤを特定し、メタデータ記憶部８０９に記憶されている上位メタデータ１４０１のいずれかに当該サブネット組み合わせＩＤが設定されているか否かを判定する。
【０１４４】
サブネット組み合わせＩＤに相当する上位メタデータ１４０１が設定されていないと判定した場合には、分別部８０５は、メタデータ記憶部８０９に上位メタデータ１４０１を生成する。上位メタデータ１４０１のヘッダ部には、サブネット組み合わせＩＤ、送信元サブネットアドレス及び送信先サブネットアドレスが設定される。送信元サブネットアドレスと送信先サブネットアドレスとは、サブネット組み合わせテーブルから取得される。また、分別部８０５は、テーブル部に最初のレコードを設定する（Ｓ３３０３）。レコードには、コネクションＩＤと収集データ４０５の先頭位置を指すオフセットとが設定される。
【０１４５】
一方、サブネット組み合わせＩＤに相当する上位メタデータ１４０１が設定されていると判定した場合には、分別部８０５は、当該上位メタデータ１４０１のテーブル部にレコードを追加する（Ｓ３３０５）。レコードには、コネクションＩＤと収集データ４０５の先頭位置を指すオフセットとが設定される。
【０１４６】
第３分別処理を終えると、図３２のパケット分別処理（Ｃ）も終え、図１１に示したＳ１１０９の処理に戻る。図１１に示したＳ１１０９乃至Ｓ１１１７の処理については、上述した実施の形態と同様である。
【０１４７】
この実施の形態によれば、ある特性（例えば、コネクション）に従って分別されたパケットを、更にパケットの送信元サブネットワークと送信先サブネットワークとの組み合わせに従ってまとめて扱うことができる。
【０１４８】
［実施の形態４］
本実施の形態では、ネットワーク品質が共通する収集データ同士をまとめて格納する例について説明する。ネットワーク品質は、監視対象ネットワーク１０３における通信状態に関する品質を意味する。
【０１４９】
ネットワーク監視システムの構成は、上述した実施の形態と同様である。また、オブジェクト４０１の構成は、実施の形態２及び３と同様である。
【０１５０】
図３４に、実施の形態４に係るインデックステーブルの例を示す。上述した実施の形態と同様に、インデックステーブルには、パケット毎に、当該パケットの特性が設定されている。この例では、パケットの特性として、コネクションＩＤの他にネットワーク品質が設定されている。以下、理解しやすくするために、ネットワーク品質の内容をそのまま示して説明する。但し、実装する場合には、ネットワーク品質の内容に相当する識別子を用いる。つまり、この例におけるネットワーク品質の内容は、通信品質識別子に相当する。
【０１５１】
この例は、第１レコードにおいて、パケットＩＤ「ＰＣ−００１」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−０１」で特定され、更に当該パケットに係るネットワーク品質は「ロス多発」であることを示している。
【０１５２】
この例は、第２レコードにおいて、パケットＩＤ「ＰＣ−００２」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−０２」で特定され、更に当該パケットに係るネットワーク品質は「ロス多発」であることを示している。
【０１５３】
この例は、第３レコードにおいて、パケットＩＤ「ＰＣ−００３」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−０２」で特定され、更に当該パケットに係るネットワーク品質は「ロス多発」であることを示している。
【０１５４】
この例は、第４レコードにおいて、パケットＩＤ「ＰＣ−００４」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−０３」で特定され、更に当該パケットに係るネットワーク品質は「ＲＴＴ増大」であることを示している。
【０１５５】
この例は、第５レコードにおいて、パケットＩＤ「ＰＣ−００５」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−０３」で特定され、更に当該パケットに係るネットワーク品質は「ＲＴＴ増大」であることを示している。
【０１５６】
この例は、第６レコードにおいて、パケットＩＤ「ＰＣ−００６」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−０１」で特定され、更に当該パケットに係るネットワーク品質は「ロス多発」であることを示している。
【０１５７】
本実施の形態におけるコネクションテーブルは、図３に示した通りである。
【０１５８】
ドライバ１１３による割り当て処理フロー（図５）については、上述した実施の形態と同様である。
【０１５９】
解析部１１７のモジュール構成（図６）についても、上述した実施の形態と同様である。
【０１６０】
実施の形態４に係る解析部１１７における処理について説明する。図７Ａに示したＳ７０１乃至Ｓ７０９については、上述した実施の形態と同様である。
【０１６１】
本実施の形態では、端子Ａを介して図３５に示した処理に移る。Ｓ７１１において生成部６０３がインデックステーブルに追加するレコードには、パケットＩＤとコネクションＩＤが設定される。
【０１６２】
生成部６０３は、ネットワーク品質設定処理を実行する（Ｓ３５０１）。図３６に、ネットワーク品質設定処理フローを示す。Ｌ４解析部１３１は、当該パケットに係るコネクションの状態を解析し、ネットワーク品質を特定する（Ｓ３６０１）。Ｌ４解析部１３１は、例えばコネクションの一定期間内におけるロスの割合を特定する。あるいは、Ｌ４解析部１３１は、ＲＴＴの増加率を特定する。
【０１６３】
Ｌ４解析部１３１は、ネットワーク品質が異常であるか否かを判定する（Ｓ３６０３）。Ｌ４解析部１３１は、例えばロスの割合が閾値を越えている場合に、ネットワーク品質が異常であると判定する。「ロス多発」は、この場合のネットワーク品質を意味する。あるいは、Ｌ４解析部１３１は、ＲＴＴの増加率が閾値を越えている場合に、ネットワーク品質が異常であると判定する。「ＲＴＴ増大」は、この場合のネットワーク品質を意味する。
【０１６４】
ネットワーク品質が異常であると判定した場合に、生成部６０３は、インデックスに相当するレコードにネットワーク品質の内容（例えば、「ロス多発」）を設定する（Ｓ３６０５）。ネットワーク品質が異常でないと判定した場合、つまりネットワーク品質が正常である場合には、ネットワーク品質の内容は設定せずに、初期値「正常」のままとする。あるいは、ネットワーク品質が異常でないと判定した場合に、生成部６０３は、インデックスに「正常」と設定するようにしてもよい。
【０１６５】
ネットワーク品質設定処理を終えると、図３５に示したＳ７１３の処理に戻る。Ｓ７１３乃至Ｓ７２１の処理については、上述した実施の形態の場合と同様である。
【０１６６】
次に、本実施の形態における収集データ４０５について説明する。図３７に、実施の形態４に係る収集データ４０５の例を示す。この例における収集データも、同じコネクションに係るパケットを連結している。収集データ４０５ｊは、コネクションＩＤ「ＣＮ−０１」に係るパケットを３個連結している。１番目のパケットの先頭オフセットが「０」であり、２番目のパケットの先頭オフセットが「６２４」である。収集データ４０５ｋは、コネクションＩＤ「ＣＮ−０２」に係るパケットを３個連結している。１番目のパケットの先頭オフセットが「６２００４」であり、２番目のパケットの先頭オフセットが「６３０５０」である。収集データ４０５ｌは、コネクションＩＤ「ＣＮ−０３」に係るパケットを１４個連結している。  
【０１６７】
収集データ４０５ｊと収集データ４０５ｋとは、ネットワーク品質が「ロス多発」である点で共通する。本実施の形態では、ネットワーク品質が共通する収集データ４０５ｊと収集データ４０５ｋとをまとめて扱うようにする。尚、収集データ４０５ｌのサブネット組み合わせＩＤは「ＲＴＴ増大」であり、収集データ４０５ｌは単独で扱われる。
【０１６８】
続いて、本実施の形態に係る上位メタデータ１４０１について説明する。図３８に、実施の形態４に係る上位メタデータ１４０１の例を示す。上位メタデータ１４０１は、前述と同様にヘッダ部とテーブル部とを有している。ヘッダ部には、ネットワーク品質を設定するためのフィールドが含まれている。ネットワーク品質は、収集データ４０５をまとめるキーとなる特性に係る識別子の例である。
【０１６９】
テーブル部のレコードには、コネクションＩＤを設定するためのフィールドと、開始オフセットを設定するためのフィールドとが設けられている。この例のテーブル部の第１レコードは、１番目のメタデータ４０３ｊがコネクションＩＤ「ＣＮ−０１」で特定され、１番目の収集データ４０５ｊが収集データ記憶部８０７のオフセット「０」を先頭に格納されていることを示している。この例のテーブル部の第２レコードは、２番目のメタデータ４０３ｋがコネクションＩＤ「ＣＮ−０２」で特定され、２番目の収集データ４０５ｋが収集データ記憶部８０７のオフセット「６２００４」を先頭に格納されていることを示している。
【０１７０】
格納処理部１２５のモジュール構成は、上述した実施の形態と同様である。
【０１７１】
格納処理部１２５における処理は、図１１に示した通りである。Ｓ１１０１乃至Ｓ１１０５の処理については、上述した実施の形態と同様である。本実施の形態では、Ｓ１１０７において分別部８０５がパケット分別処理（Ｄ）を実行する。
【０１７２】
図３９に、パケット分別処理（Ｄ）フローを示す。Ｓ１２０１及びＳ１２０３の処理は、図１２に示したパケット分別処理（Ａ）の場合と同様である。分別部８０５は、第４分別処理を実行する（Ｓ３９０１）。
【０１７３】
図４０に、第４分別処理フローを示す。Ｓ１３０１乃至Ｓ１３０９については、図１３に示した第１分別処理の場合と同様である。
【０１７４】
Ｓ１３０５の処理に続いて、分別部８０５は、当該ネットワーク品質の内容に相当する上位メタデータ１４０１が設定済みであるか否かを判定する（Ｓ４００１）。具体的には、分別部８０５は、Ｓ１１０５で特定したレコードに含まれるネットワーク品質の内容を特定し、メタデータ記憶部８０９に記憶されている上位メタデータ１４０１のいずれかに当該ネットワーク品質の内容が設定されているか否かを判定する。
【０１７５】
当該ネットワーク品質の内容に相当する上位メタデータ１４０１が設定されていないと判定した場合には、分別部８０５は、メタデータ記憶部８０９に上位メタデータ１４０１を生成する。上位メタデータ１４０１のヘッダ部には、当該ネットワーク品質の内容が設定される。また、分別部８０５は、テーブル部に最初のレコードを設定する（Ｓ４００３）。レコードには、コネクションＩＤと収集データ４０５の先頭位置を指すオフセットとが設定される。
【０１７６】
一方、当該ネットワーク品質の内容に相当する上位メタデータ１４０１が設定されていると判定した場合には、分別部８０５は、当該上位メタデータ１４０１のテーブル部にレコードを追加する（Ｓ４００５）。レコードには、コネクションＩＤと収集データ４０５の先頭位置を指すオフセットとが設定される。
【０１７７】
第４分別処理を終えると、図３２のパケット分別処理（Ｄ）も終え、図１１に示したＳ１１０９の処理に戻る。図１１に示したＳ１１０９乃至Ｓ１１１７の処理については、上述した実施の形態と同様である。
【０１７８】
この実施の形態によれば、ある特性（例えば、コネクション）に従って分別されたパケットを、更に通信品質に従ってまとめて扱うことができる。
【０１７９】
［実施の形態５］
本実施の形態では、ＨＴＴＰ（Hypertext Transfer Protocol）リクエスト（以下、リクエストという。）先のＵＲＬが共通する収集データ同士をまとめて格納する例について説明する。
【０１８０】
ネットワーク監視システムの構成は、上述した実施の形態と同様である。また、オブジェクト４０１の構成は、実施の形態２乃至４と同様である。
【０１８１】
図４１に、実施の形態５に係るインデックステーブルの例を示す。上述した実施の形態と同様に、インデックステーブルには、パケット毎に、当該パケットの特性が設定されている。この例では、パケットの特性として、コネクションＩＤの他にリクエスト先のＵＲＬを特定するＵＲＬＩＤが設定されている。
【０１８２】
この例は、第１レコードにおいて、パケットＩＤ「ＰＣ−０１１」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−１１」で特定され、更に当該パケットのリクエスト先のＵＲＬは「ＵＲＬ−０１」で特定されることを示している。
【０１８３】
この例は、第２レコードにおいて、パケットＩＤ「ＰＣ−０１２」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−１２」で特定され、更に当該パケットのリクエスト先のＵＲＬは「ＵＲＬ−０１」で特定されることを示している。
【０１８４】
この例は、第３レコードにおいて、パケットＩＤ「ＰＣ−０１３」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−１２」で特定され、更に当該パケットのリクエスト先のＵＲＬは「ＵＲＬ−０１」で特定されることを示している。
【０１８５】
この例は、第４レコードにおいて、パケットＩＤ「ＰＣ−０１４」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−１３」で特定され、更に当該パケットのリクエスト先のＵＲＬは「ＵＲＬ−０１」で特定されることを示している。
【０１８６】
この例は、第５レコードにおいて、パケットＩＤ「ＰＣ−０１５」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−１３」で特定され、更に当該パケットのリクエスト先のＵＲＬは「ＵＲＬ−０１」で特定されることを示している。
【０１８７】
この例は、第６レコードにおいて、パケットＩＤ「ＰＣ−０１６」が割り振られたパケットに係るコネクションは、コネクションＩＤ「ＣＮ−１１」で特定され、更に当該パケットのリクエスト先のＵＲＬは「ＵＲＬ−０１」で特定されることを示している。
【０１８８】
本実施の形態におけるコネクションテーブルは、図１６に示した通りである。
【０１８９】
続いて、分別データ記憶部１２３に記憶されるＵＲＬテーブルについて説明する。図４２に、ＵＲＬテーブルの例を示す。ＵＲＬテーブルは、ＵＲＬ毎に割り振られたＵＲＬＩＤを特定するためのテーブルある。ＵＲＬテーブルは、ＵＲＬ毎のレコードを有している。レコードは、ＵＲＬＩＤを設定するためのフィールドと、ＵＲＬを設定するためのフィールドとを有している。
【０１９０】
この例における第１レコードは、ＵＲＬ「ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ」に対して、ＵＲＬＩＤ「ＵＲＬ−０１」が割り振られていることを示している。同じく第２レコードは、ＵＲＬ「ｗｗｗ．ｅｘａｍｐｌｅ２．ｃｏｍ／ｓｐｏｒｔｓ」に対して、ＵＲＬＩＤ「ＵＲＬ−０２」が割り振られていることを示している。
【０１９１】
次に、分別データ記憶部１２３に記憶される関連テーブルについて説明する。図４３に、関連テーブルの例を示す。関連テーブルは、ＵＲＬＩＤとコネクションとを関連付けるためのテーブルである。関連テーブルは、コネクションに基づいてＵＲＬＩＤを推定する場合に用いられる。関連テーブルは、ＵＲＬＩＤ毎のレコードを有している。レコードは、ＵＲＬＩＤを設定するためのフィールドと、コネクションＩＤを設定するためのフィールドとを有している。
【０１９２】
この例における第１レコードは、コネクションＩＤ「ＣＮ−１１」のコネクションに係るパケットによって、ＵＲＬＩＤ「ＵＲＬ−０１」で特定されるＵＲＬに対するリクエストが発行されたことを示している。同じく第２レコードは、コネクションＩＤ「ＣＮ−１２」のコネクションに係るパケットによって、ＵＲＬＩＤ「ＵＲＬ−０１」で特定されるＵＲＬに対するリクエストが発行されたことを示している。同じく第３レコードは、コネクションＩＤ「ＣＮ−１３」のコネクションに係るパケットによって、ＵＲＬＩＤ「ＵＲＬ−０１」で特定されるＵＲＬに対するリクエストが発行されたことを示している。
【０１９３】
ドライバ１１３による割り当て処理フロー（図５）については、上述した実施の形態と同様である。
【０１９４】
解析部１１７のモジュール構成（図６）についても、上述した実施の形態と同様である。
【０１９５】
実施の形態５に係る解析部１１７における処理について説明する。図７Ａに示したＳ７０１乃至Ｓ７０９については、上述した実施の形態と同様である。
【０１９６】
本実施の形態では、端子Ａを介して図４４に示した処理に移る。Ｓ７１１において生成部６０３がインデックステーブルに追加するレコードには、パケットＩＤとコネクションＩＤが設定される。
【０１９７】
Ｌ４解析部１３１は、前述と同様にＬ４解析処理を実行する（Ｓ７１３）。
【０１９８】
続いて、生成部６０３は、ＵＲＬ設定処理を実行する（Ｓ４４０１）。図４５に、ＵＲＬ設定処理フローを示す。生成部６０３は、コネクションＩＤが既に関連テーブルに設定されているか否かを判定する（Ｓ４５０１）。
【０１９９】
コネクションＩＤが既に関連テーブルに設定されていると判定した場合には、生成部６０３は、関連テーブルにおいてコネクションＩＤに対応するＵＲＬＩＤを特定し、当該ＵＲＬＩＤをインデックスに設定する（Ｓ４５１３）。
【０２００】
コネクションＩＤが未だ関連テーブルに設定されていないと判定した場合には、Ｌ７解析部１３３は、当該パケットのＴＣＰペイロードにＨＴＴＰリクエストが含まれているか否かを判定する（Ｓ４５０３）。
【０２０１】
当該パケットのＴＣＰペイロードにＨＴＴＰリクエストが含まれていないと判定した場合には、ＵＲＬＩＤを設定すべき対象ではないので、そのままＵＲＬ設定処理を終了する。
【０２０２】
当該パケットのＴＣＰペイロードにＨＴＴＰリクエストが含まれていると判定した場合には、Ｌ７解析部１３３は、ＨＴＴＰリクエスト先のＵＲＬを抽出する（Ｓ４５０５）。
【０２０３】
生成部６０３は、抽出されたＵＲＬがＵＲＬテーブルに設定されているか否かを判定する（Ｓ４５０７）。抽出されたＵＲＬがＵＲＬテーブルに設定されていないと判定した場合には、生成部６０３は、ＵＲＬテーブルにレコードを追加する（Ｓ４５０９）。新しいレコードにおいて、新しいＵＲＬＩＤに当該ＵＲＬが対応付けられる。
【０２０４】
抽出されたＵＲＬがＵＲＬテーブルに設定されていると判定した場合には、Ｓ４５１１の処理に移る。
【０２０５】
生成部６０３は、関連テーブルにレコードを追加する（Ｓ４５１１）。新しいレコードにおいて、ＵＲＬＩＤにコネクションＩＤが対応付けられる。
【０２０６】
生成部６０３は、当該ＵＲＬＩＤをインデックスに相当するレコードに設定して（Ｓ４５１３）、ＵＲＬ設定処理を終える。
【０２０７】
ＵＲＬ設定処理を終えると、図４４に示したＳ７１５の処理に移る。Ｓ７１５乃至Ｓ７２１の処理については、上述した実施の形態と同様である。以上で、解析部１１７における処理についての説明を終える。
【０２０８】
次に、本実施の形態における収集データ４０５について説明する。図４６に、実施の形態５に係る収集データ４０５の例を示す。この例における収集データも、同じコネクションに係るパケットを連結している。収集データ４０５ｍは、コネクションＩＤ「ＣＮ−１１」に係るパケットを３個連結している。１番目のパケットの先頭オフセットが「０」であり、２番目のパケットの先頭オフセットが「６２４」である。収集データ４０５ｎは、コネクションＩＤ「ＣＮ−１２」に係るパケットを３個連結している。１番目のパケットの先頭オフセットが「６２００４」であり、２番目のパケットの先頭オフセットが「６３０５０」である。収集データ４０５ｌは、コネクションＩＤ「ＣＮ−０３」に係るパケットを１４個連結している。１番目のパケットの先頭オフセットが「１０３３４０」である。  
【０２０９】
収集データ４０５ｍと収集データ４０５ｎと収集データ４０５ｏとはＵＲＬＩＤが「ＵＲＬ−０１」である点で共通する。本実施の形態では、リクエスト先のＵＲＬが共通する収集データ４０５ｍと収集データ４０５ｎと収集データ４０５ｏとをまとめて扱うようにする。
【０２１０】
続いて、本実施の形態に係る上位メタデータ１４０１について説明する。図４７に、実施の形態５に係る上位メタデータ１４０１の例を示す。上位メタデータ１４０１は、前述と同様にヘッダ部とテーブル部とを有している。ヘッダ部には、ＵＲＬＩＤを設定するためのフィールドが含まれている。ＵＲＬＩＤは、収集データ４０５をまとめるキーとなる特性に係る識別子の例である。
【０２１１】
テーブル部のレコードには、コネクションＩＤを設定するためのフィールドと、開始オフセットを設定するためのフィールドとが設けられている。この例のテーブル部の第１レコードは、１番目のメタデータ４０３ｍがコネクションＩＤ「ＣＮ−１１」で特定され、１番目の収集データ４０５ｍが収集データ記憶部８０７のオフセット「０」を先頭に格納されていることを示している。この例のテーブル部の第２レコードは、２番目のメタデータ４０３ｎがコネクションＩＤ「ＣＮ−１２」で特定され、２番目の収集データ４０５ｎが収集データ記憶部８０７のオフセット「６２００４」を先頭に格納されていることを示している。この例のテーブル部の第３レコードは、３番目のメタデータ４０３ｏがコネクションＩＤ「ＣＮ−１３」で特定され、３番目の収集データ４０５ｏが収集データ記憶部８０７のオフセット「１０３３４０」を先頭に格納されていることを示している。
【０２１２】
格納処理部１２５のモジュール構成は、上述した実施の形態と同様である。
【０２１３】
格納処理部１２５における処理は、図１１に示した通りである。Ｓ１１０１乃至Ｓ１１０５の処理については、上述した実施の形態と同様である。本実施の形態では、Ｓ１１０７において分別部８０５がパケット分別処理（Ｅ）を実行する。
【０２１４】
図４８に、パケット分別処理（Ｅ）フローを示す。Ｓ１２０１及びＳ１２０３の処理は、図１２に示したパケット分別処理（Ａ）の場合と同様である。分別部８０５は、第５分別処理を実行する（Ｓ４８０１）。
【０２１５】
図４９に、第５分別処理フローを示す。Ｓ１３０１乃至Ｓ１３０９については、図１３に示した第１分別処理の場合と同様である。
【０２１６】
Ｓ１３０５の処理に続いて、分別部８０５は、当該ＵＲＬＩＤに相当する上位メタデータ１４０１が設定済みであるか否かを判定する（Ｓ４９０１）。具体的には、分別部８０５は、Ｓ１１０５で特定したレコードに含まれるＵＲＬＩＤを特定し、メタデータ記憶部８０９に記憶されている上位メタデータ１４０１のいずれかに当該ＵＲＬＩＤが設定されているか否かを判定する。
【０２１７】
当該ＵＲＬＩＤに相当する上位メタデータ１４０１が設定されていないと判定した場合には、分別部８０５は、メタデータ記憶部８０９に上位メタデータ１４０１を生成する。上位メタデータ１４０１のヘッダ部には、当該ＵＲＬＩＤが設定される。また、分別部８０５は、テーブル部に最初のレコードを設定する（Ｓ４９０３）。レコードには、コネクションＩＤと収集データ４０５の先頭位置を指すオフセットとが設定される。
【０２１８】
一方、当該ネットワーク品質の内容に相当する上位メタデータ１４０１が設定されていると判定した場合には、分別部８０５は、当該上位メタデータ１４０１のテーブル部にレコードを追加する（Ｓ４９０５）。レコードには、コネクションＩＤと収集データ４０５の先頭位置を指すオフセットとが設定される。
【０２１９】
第５分別処理を終えると、図４８のパケット分別処理（Ｅ）も終え、図１１に示したＳ１１０９の処理に戻る。図１１に示したＳ１１０９乃至Ｓ１１１７の処理については、上述した実施の形態と同様である。
【０２２０】
尚、Ｌ４解析部１３１においてコネクションの終了を検出した時点で、当該オネクションに関する関連テーブルのレコードを削除するようにしてもよい。このようにすれば、コネクションが終了した後は、当該ＵＲＬＩＤとコネクションとの関連を取り消すことができる。
【０２２１】
この実施の形態によれば、ある特性（例えば、コネクション）に従って分別されたパケットを、更にリクエスト先のＵＲＬに従ってまとめて扱うことができる。
【０２２２】
［実施の形態６］
本実施の形態では、指定された特性をキーとして、収集データ４０５をまとめる例について説明する。
【０２２３】
図５０に、実施の形態６に係るネットワーク監視システムの構成例を示す。ネットワーク監視装置１０１は、更にマネージャ部５００１を有する。マネージャ部５００１は、一又は複数の特性を指定する格納条件を受け付け、解析部１１７及び格納処理部１２５を制御する。
【０２２４】
図５１に、マネージャ部５００１の処理フローを示す。マネージャ部５００１は、ユーザ操作によって、一又は複数の特性を指定する格納条件を受け付ける（Ｓ５１０１）。あるいは、マネージャ部５００１は、他のモジュール又は他の装置から、一又は複数の特性を指定する格納条件を受け付ける。
【０２２５】
格納条件を受け付けると、マネージャ部５００１は、受け付けた格納条件の指定データを解析部１１７と格納処理部１２５とへ渡す（Ｓ５１０３）。そして、Ｓ５１０１に戻って、格納条件を受け付ける処理を繰り返す。
【０２２６】
図５２Ａに、実施の形態６に係る解析部１１７の処理フローを示す。受付部６０１は、格納条件の指定データを受けたか否かを判定する（Ｓ５２０１）。格納条件の指定データを受けたと判定した場合には、解析部１１７は格納条件の指定データを記憶部６０７に記憶する（Ｓ５２０３）。格納条件の指定データを受けていないと判定した場合には、そのままＳ７０１の処理に移る。
【０２２７】
Ｓ７０１乃至Ｓ７０９については、上述した実施の形態と同様である。端子Ｃを介して、図５２Ｂに示した処理に移る。
【０２２８】
生成部６０３は、指定データにおいて「ホスト組み合わせ」が指定されているか否かを判定する（Ｓ５２０５）。指定データにおいて「ホスト組み合わせ」が指定されていると判定した場合には、生成部６０３は、上述したホスト組み合わせ特定処理を実行する（Ｓ５２０７）。指定データにおいて「ホスト組み合わせ」が指定されていないと判定した場合には、生成部６０３は、ホスト組み合わせ特定処理を実行しない。
【０２２９】
生成部６０３は、指定データにおいて「サブネット組み合わせ」が指定されているか否かを判定する（Ｓ５２０９）。指定データにおいて「サブネット組み合わせ」が指定されていると判定した場合には、生成部６０３は、上述したサブネット組み合わせ特定処理を実行する（Ｓ５２１１）。指定データにおいて「サブネット組み合わせ」が指定されていないと判定した場合には、生成部６０３は、サブネット組み合わせ特定処理を実行しない。
【０２３０】
Ｓ７１１において生成部６０３がインデックステーブルに追加するレコードには、パケットＩＤとコネクションＩＤとが設定される。ホスト組み合わせ特定処理を実行した場合には、ホスト組み合わせＩＤもレコードに設定される。また、サブネット組み合わせ特定処理を実行した場合には、サブネット組み合わせＩＤもレコードに設定される。
【０２３１】
尚、本実施の形態に係るインデックステーブルのレコードは、パケットＩＤを設定するためのフィールドと、コネクションＩＤを設定するためのフィールドと、ホスト組み合わせＩＤを設定するためのフィールドと、サブネット組み合わせＩＤを設定するためのフィールドと、ネットワーク品質の内容を設定するためのフィールドと、ＵＲＬＩＤを設定するためのフィールドとを有している。
【０２３２】
生成部６０３は、指定データにおいて「ネットワーク品質」が指定されているか否かを判定する（Ｓ５２１３）。指定データにおいて「ネットワーク品質」が指定されていると判定した場合には、生成部６０３は、上述したネットワーク品質設定処理を実行する（Ｓ５２１５）。指定データにおいて「ネットワーク品質」が指定されていないと判定した場合には、生成部６０３は、ネットワーク品質設定処理を実行しない。
【０２３３】
Ｓ７１３の処理は、上述した実施の形態と同様である。端子Ｄを介して図５２Ｃに示した処理に移る。
【０２３４】
生成部６０３は、指定データにおいて「ＵＲＬ」が指定されているか否かを判定する（Ｓ５２１７）。指定データにおいて「ＵＲＬ」が指定されていると判定した場合には、生成部６０３は、上述したＵＲＬ設定処理を実行する（Ｓ５２１９）。指定データにおいて「ＵＲＬ」が指定されていないと判定した場合には、生成部６０３は、ＵＲＬ設定処理を実行しない。
【０２３５】
Ｓ７１７乃至Ｓ７２１の処理については、上述した実施の形態と同様である。端子Ｅを介して、図５２Ａに示したＳ５２０１の処理に戻って、上述の処理を繰り返す。
【０２３６】
図５３に、実施の形態６に係る格納処理部１２５の処理フローを示す。分別部８０５は、格納条件の指定データを受けたか否かを判定する（Ｓ５３０１）。格納条件の指定データを受けたと判定した場合には、分別部８０５は格納条件の指定データを記憶部８０３に記憶する（Ｓ５３０３）。格納条件の指定データを受けていないと判定した場合には、そのままＳ１１０１の処理に移る。
【０２３７】
Ｓ１１０１、Ｓ１１０３、Ｓ１１１５及びＳ１１１７の処理については、上述した実施の形態と同様である。
【０２３８】
分別部８０５は、パケット分別処理（Ｆ）を実行する（Ｓ５３０５）。図５４Ａに、パケット分別処理（Ｆ）フローを示す。Ｓ１２０１とＳ１２０３の処理については、上述した実施の形態と同様である。
【０２３９】
分別部８０５は、指定データがあるか否かを判定する（Ｓ５４０１）。指定データがないと判定した場合には、分別部８０５は、第１分別処理を実行し（Ｓ５４０３）、パケット分別処理（Ｆ）を終える。
【０２４０】
指定データがあると判定した場合には、分別部８０５は、指定データにおいて「ホスト組み合わせ」が指定されているか否かを判定する（Ｓ５４０５）。「ホスト組み合わせ」が指定されていると判定した場合には、分別部８０５は、上述した第２分別処理を実行する（Ｓ５４０７）。「ホスト組み合わせ」が指定されていないと判定した場合には、分別部８０５は、第２分別処理を実行しない。
【０２４１】
続いて、分別部８０５は、指定データにおいて「サブネット組み合わせ」が指定されているか否かを判定する（Ｓ５４０９）。「サブネット組み合わせ」が指定されていると判定した場合には、分別部８０５は、上述した第３分別処理を実行する（Ｓ５４１１）。「サブネット組み合わせ」が指定されていないと判定した場合には、分別部８０５は、第３分別処理を実行しない。そして、端子Ｆを介して、図５４Ｂに示す処理に移る。
【０２４２】
続いて、分別部８０５は、指定データにおいて「ネットワーク品質」が指定されているか否かを判定する（Ｓ５４１３）。「ネットワーク品質」が指定されていると判定した場合には、分別部８０５は、上述した第４分別処理を実行する（Ｓ５４１５）。「ネットワーク品質」が指定されていないと判定した場合には、分別部８０５は、第４分別処理を実行しない。
【０２４３】
続いて、分別部８０５は、指定データにおいて「ＵＲＬ」が指定されているか否かを判定する（Ｓ５４１７）。「ＵＲＬ」が指定されていると判定した場合には、分別部８０５は、上述した第５分別処理を実行する（Ｓ５４１９）。「ＵＲＬ」が指定されていないと判定した場合には、分別部８０５は、第５分別処理を実行しない。
【０２４４】
そして、パケット分別処理（Ｆ）を終えると、図５３に示したＳ１１０９の処理に戻る。Ｓ１１０９乃至Ｓ１１１３の処理については、上述した実施の形態と同様である。
【０２４５】
この実施の形態によれば、ある特性（コネクション）に従って分別されたパケットを、受け付けた格納条件で指定された他の特性に従ってまとめて扱うことができる。
【０２４６】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【０２４７】
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【０２４８】
また、上で述べたネットワーク監視装置１０１は、コンピュータ装置であって、図２２に示すように、メモリ２６０１とＣＰＵ２６０３とハードディスク・ドライブ（ＨＤＤ）２６０５と表示装置２６０９に接続される表示制御部２６０７とリムーバブル・ディスク２６１１用のドライブ装置２６１３と入力装置２６１５とネットワークに接続するための通信部２６１７（図２２では、２６１７ａ乃至２６１７ｃ）とがバス２６１９で接続されている場合もある。なお、場合によっては、表示制御部２６０７、表示装置２６０９、ドライブ装置２６１３、入力装置２６１５は含まれない場合もある。オペレーティング・システム（ＯＳ：Operating System）及び本実施の形態における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２６０５に格納されており、ＣＰＵ２６０３により実行される際にはＨＤＤ２６０５からメモリ２６０１に読み出される。必要に応じてＣＰＵ２６０３は、表示制御部２６０７、通信部２６１７、ドライブ装置２６１３を制御して、必要な動作を行わせる。なお、通信部２６１７のいずれかを介して入力されたデータは、他の通信部２６１７を介して出力される。ＣＰＵ２６０３は、通信部２６１７を制御して、適切に出力先を切り替える。また、処理途中のデータについては、メモリ２６０１に格納され、必要があればＨＤＤ２６０５に格納される。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２６１１に格納されて頒布され、ドライブ装置２６１３からＨＤＤ２６０５にインストールされる。インターネットなどのネットワーク及び通信部２６１７を経由して、ＨＤＤ２６０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２６０３、メモリ２６０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０２４９】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【０２５０】
本実施の形態に係るパケット保存方法は、ネットワークからキャプチャしたパケットに順次順序識別子を割り当てると共に、当該パケットをバッファに格納する処理と、パケットをバッファから読み出して、当該パケットの特性に係る第１識別子を特定し、順序識別子と当該第１識別子とを対応付けるインデックスを生成する生成処理と、インデックスに含まれる順序識別子に対応するパケットをバッファから読み出して、インデックスに含まれる第１識別子に従って当該パケットを分別し、分別されたパケットを第１識別子毎に記憶部に格納する格納処理とを含む。
【０２５１】
このようにすれば、キャプチャしたパケットを特性に応じてまとめる際の即時分析処理に対する負荷を軽減することができる。例えば、リスト解析のような煩雑な手順を要しないので、少ない資源及び小さい負荷で処理することができる。
【０２５２】
また、上記格納処理において、分別されたパケットと共に、パケット毎の順序識別子を記憶部に格納するようにしてもよい。
【０２５３】
このようにすれば、パケットをキャプチャした順序を特定することができる。例えば、キャプチャした順にパケットを並べ直すことに役立つ。
【０２５４】
また、上記特性はパケットにおけるコネクションであってもよい。上記第１識別子はコネクション識別子であってもよい。上記生成処理において、パケットから送信元装置アドレス、送信元ポート識別子、送信先装置アドレス及び送信先ポート識別子を抽出し、当該送信元装置アドレス、当該送信元ポート識別子、当該送信先装置アドレス及び当該送信先ポート識別子に基づいてコネクション識別子を特定するようにしてもよい。
【０２５５】
このようにすれば、コネクション毎にパケットを収集しようとする場合に、パケットのコネクションを特定する処理と、コネクションによってパケットを分別して格納する処理とを分離するので、処理負荷を分散させることができる。
【０２５６】
更に、上記パケット保存方法は、生成処理において生成したインデックスを書き込む先を第１記憶領域から第２記憶領域に切り替える第１切り替え処理を含むようにしてもよい。上記パケット保存方法は、第１切り替え処理と同期して、格納処理においてインデックスを読み取る元を第２記憶領域から第１記憶領域に切り替える第２切り替え処理を含むようにしてもよい。
【０２５７】
このようにすれば、インデックスを記憶するための領域の容量不足や記憶装置の処理待ちによる不具合を回避できる。
【０２５８】
また、上記生成処理において、パケットの各々について、上記特性と異なる他の特性に係る第２識別子を特定し、インデックスに当該第２識別子を対応付けるようにしてもよい。上記格納処理において、第２識別子が共通する第１識別子に従って分別されたパケット同士を関連付ける
【０２５９】
このようにすれば、ある特性に従って分別されたパケットを、更に他の特性に従ってまとめて扱うことができる。例えば、ある特性と他の特性とに係るパケットを分析しようとする場合に便利である。
【０２６０】
また、上記他の特性は、パケットの送信元装置と送信先装置との組み合わせであってもよい。上記第２識別子は、装置組み合わせ識別子であってもよい。上記生成処理において、パケットから送信元装置アドレス及び送信先装置アドレスを抽出し、当該送信元装置アドレス及び当該送信先装置アドレスに基づいて装置組み合わせ識別子を特定するようにしてもよい。
【０２６１】
このようにすれば、ある特性に従って分別されたパケットを、更にパケットの送信元装置と送信先装置との組み合わせに従ってまとめて扱うことができる。
【０２６２】
また、上記他の特性は、パケットの送信元サブネットワークと送信先サブネットワークとの組み合わせであってもよい。上記第２識別子は、サブネットワーク組み合わせ識別子であってもよい。上記生成処理において、パケットから送信元装置アドレス及び送信先装置アドレスを抽出し、当該送信元装置アドレス及び当該送信先装置アドレスに基づいてサブネットワーク組み合わせ識別子を特定するようにしてもよい。
【０２６３】
このようにすれば、ある特性に従って分別されたパケットを、更にパケットの送信元サブネットワークと送信先サブネットワークとの組み合わせに従ってまとめて扱うことができる。
【０２６４】
また、上記他の特性は、上記ネットワークに係る通信品質であってもよい。上記第２識別子は、通信品質識別子であってもよい。上記生成処理において、パケットに係るコネクションの状態に関する解析によって通信品質識別子を特定するようにしてもよい。
【０２６５】
このようにすれば、ある特性に従って分別されたパケットを、更に通信品質に従ってまとめて扱うことができる。
【０２６６】
また、上記他の特性は、パケットによるリクエスト先のＵＲＬであってもよい。上記第２識別子は、ＵＲＬ識別子であってもよい。上記生成処理において、パケットから抽出した上記ＵＲＬに基づいてＵＲＬ識別子を特定するようにしてもよい。
【０２６７】
このようにすれば、ある特性に従って分別されたパケットを、更にリクエスト先のＵＲＬに従ってまとめて扱うことができる。
【０２６８】
また、上記パケット保存方法は、更に、上記他の特性を一又は複数指定する格納条件を受け付ける処理を含むようにしてもよい。上記生成処理において、格納条件によって指定された一又は複数の上記他の特性に応じるようにしてもよい。上記格納処理において、格納条件によって指定された一又は複数の上記他の特性に応じるようにしてもよい。
【０２６９】
このようにすれば、ある特性に従って分別されたパケットを、受け付けた格納条件で指定された他の特性に従ってまとめて扱うことができる。
【０２７０】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
【０２７１】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０２７２】
（付記１）
ネットワークからキャプチャしたパケットに順次順序識別子を割り当てると共に、当該パケットをバッファに格納する処理と、
前記パケットを前記バッファから読み出して、当該パケットの特性に係る第１識別子を特定し、前記順序識別子と当該第１識別子とを対応付けるインデックスを生成する生成処理と、
前記インデックスに含まれる前記順序識別子に対応する前記パケットを前記バッファから読み出して、前記インデックスに含まれる前記第１識別子に従って当該パケットを分別し、分別された前記パケットを前記第１識別子毎に記憶部に格納する格納処理と
を含み、コンピュータにより実行されるパケット保存方法。
【０２７３】
（付記２）
前記格納処理において、分別された前記パケットと共に、前記パケット毎の前記順序識別子を記憶部に格納する
付記１記載のパケット保存方法。
【０２７４】
（付記３）
前記特性は前記パケットにおけるコネクションであり、
前記第１識別子はコネクション識別子であり、
前記生成処理において、前記パケットから送信元装置アドレス、送信元ポート識別子、送信先装置アドレス及び送信先ポート識別子を抽出し、当該送信元装置アドレス、当該送信元ポート識別子、当該送信先装置アドレス及び当該送信先ポート識別子に基づいて前記コネクション識別子を特定する
付記１又は２記載のパケット保存方法。
【０２７５】
（付記４）
更に、
前記生成処理において生成した前記インデックスを書き込む先を第１記憶領域から第２記憶領域に切り替える第１切り替え処理と、
前記第１切り替え処理と同期して、前記格納処理において前記インデックスを読み取る元を前記２記憶領域から前記第１記憶領域に切り替える第２切り替え処理と
を含む、付記１乃至３のいずれか１つ記載のパケット保存方法。
【０２７６】
（付記５）
前記生成処理において、前記パケットの各々について、前記特性と異なる他の特性に係る第２識別子を特定し、前記インデックスに当該第２識別子を対応付け、
前記格納処理において、前記第２識別子が共通する前記第１識別子に従って分別された前記パケット同士を関連付ける
付記１乃至４のいずれか１つ記載のパケット保存方法。
【０２７７】
（付記６）
前記他の特性は、前記パケットの送信元装置と送信先装置との組み合わせであり、
前記第２識別子は、装置組み合わせ識別子であり、
前記生成処理において、前記パケットから送信元装置アドレス及び送信先装置アドレスを抽出し、当該送信元装置アドレス及び当該送信先装置アドレスに基づいて前記装置組み合わせ識別子を特定する
付記５記載のパケット保存方法。
【０２７８】
（付記７）
前記他の特性は、前記パケットの送信元サブネットワークと送信先サブネットワークとの組み合わせであり、
前記第２識別子は、サブネットワーク組み合わせ識別子であり、
前記生成処理において、前記パケットから送信元装置アドレス及び送信先装置アドレスを抽出し、当該送信元装置アドレス及び当該送信先装置アドレスに基づいて前記サブネットワーク組み合わせ識別子を特定する
付記５記載のパケット保存方法。
【０２７９】
（付記８）
前記他の特性は、前記ネットワークに係る通信品質であり、
前記第２識別子は、通信品質識別子であり、
前記生成処理において、前記パケットに係るコネクションの状態に関する解析によって前記通信品質識別子を特定する
付記５記載のパケット保存方法。
【０２８０】
（付記９）
前記他の特性は、前記パケットによるリクエスト先のＵＲＬであり、
前記第２識別子は、ＵＲＬ識別子であり、
前記生成処理において、前記パケットから抽出した前記ＵＲＬに基づいて前記ＵＲＬ識別子を特定する
付記５記載のパケット保存方法。
【０２８１】
（付記１０）
更に、
前記他の特性を一又は複数指定する格納条件を受け付ける処理
を含み、
前記生成処理及び前記格納処理において、前記格納条件によって指定された一又は複数の前記他の特性に応じる
付記５乃至９のいずれか１つ記載のパケット保存方法。
【０２８２】
（付記１１）
ネットワークからキャプチャしたパケットに順次順序識別子を割り当てると共に、当該パケットをバッファに格納する処理と、
前記パケットを前記バッファから読み出して、当該パケットの特性に係る第１識別子を特定し、前記順序識別子と当該第１識別子とを対応付けるインデックスを生成する生成処理と、
前記インデックスに含まれる前記順序識別子に対応する前記パケットを前記バッファから読み出して、前記インデックスに含まれる前記第１識別子に従って当該パケットを分別し、分別された前記パケットを前記第１識別子毎に記憶部に格納する格納処理と
をコンピュータに実行させるためのパケット保存プログラム。
【０２８３】
（付記１２）
ネットワークからキャプチャしたパケットに順次順序識別子を割り当てると共に、当該パケットをバッファに格納する第１格納処理部と、
前記パケットを前記バッファから読み出して、当該パケットの特性に係る第１識別子を特定し、前記順序識別子と当該第１識別子とを対応付けるインデックスを生成する生成部と、
前記インデックスに含まれる前記順序識別子に対応する前記パケットを前記バッファから読み出して、前記インデックスに含まれる前記第１識別子に従って当該パケットを分別し、分別された前記パケットを前記第１識別子毎に記憶部に格納する第２格納処理部と
を含むパケット保存装置。
【符号の説明】
【０２８４】
１０１  ネットワーク監視装置    １０３  監視対象ネットワーク
１０５  ネットワークタップ    １０７  伝送ネットワーク
１０９  ストレージ装置    １１１  ＮＩＣ
１１３  ドライバ    １１５  バッファ
１１７  解析部    １１９  統計部
１２１  インデックスデータ記憶部    １２３  分別データ記憶部
１２５  格納処理部    １３１  Ｌ４解析部
１３３  Ｌ７解析部    １３５  Ｌ４統計部
１３７  Ｌ７統計部    １４１  統計データ記憶部
１４３  オブジェクトデータ記憶部    ４０１  オブジェクト
４０３  メタデータ    ４０５  収集データ
６０１  受付部    ６０３  生成部
６０５  第１切り替え部    ６０７  記憶部
８０１  読み込み部    ８０３  記憶部
８０５  分別部    ８０７  収集データ記憶部
８０９  メタデータ記憶部    ８１１  書き込み部
８１３  第２切り替え部    １４０１  上位メタデータ
３００１  マネージャ部
【図１】
2015095785.tif 000003
【図２】
2015095785.tif 000004
【図３】
2015095785.tif 000005
【図４】
2015095785.tif 000006
【図５】
2015095785.tif 000007
【図６】
2015095785.tif 000008
【図７Ａ】
2015095785.tif 000009
【図７Ｂ】
2015095785.tif 000010
【図８】
2015095785.tif 000011
【図９】
2015095785.tif 000012
【図１０】
2015095785.tif 000013
【図１１】
2015095785.tif 000014
【図１２】
2015095785.tif 000015
【図１３】
2015095785.tif 000016
【図１４】
2015095785.tif 000017
【図１５】
2015095785.tif 000018
【図１６】
2015095785.tif 000019
【図１７】
2015095785.tif 000020
【図１８】
2015095785.tif 000021
【図１９】
2015095785.tif 000022
【図２０】
2015095785.tif 000023
【図２１】
2015095785.tif 000024
【図２２】
2015095785.tif 000025
【図２３】
2015095785.tif 000026
【図２４】
2015095785.tif 000027
【図２５】
2015095785.tif 000028
【図２６】
2015095785.tif 000029
【図２７】
2015095785.tif 000030
【図２８】
2015095785.tif 000031
【図２９】
2015095785.tif 000032
【図３０】
2015095785.tif 000033
【図３１】
2015095785.tif 000034
【図３２】
2015095785.tif 000035
【図３３】
2015095785.tif 000036
【図３４】
2015095785.tif 000037
【図３５】
2015095785.tif 000038
【図３６】
2015095785.tif 000039
【図３７】
2015095785.tif 000040
【図３８】
2015095785.tif 000041
【図３９】
2015095785.tif 000042
【図４０】
2015095785.tif 000043
【図４１】
2015095785.tif 000044
【図４２】
2015095785.tif 000045
【図４３】
2015095785.tif 000046
【図４４】
2015095785.tif 000047
【図４５】
2015095785.tif 000048
【図４６】
2015095785.tif 000049
【図４７】
2015095785.tif 000050
【図４８】
2015095785.tif 000051
【図４９】
2015095785.tif 000052
【図５０】
2015095785.tif 000053
【図５１】
2015095785.tif 000054
【図５２Ａ】
2015095785.tif 000055
【図５２Ｂ】
2015095785.tif 000056
【図５２Ｃ】
2015095785.tif 000057
【図５３】
2015095785.tif 000058
【図５４Ａ】
2015095785.tif 000059
【図５４Ｂ】
2015095785.tif 000060
【図５５】
2015095785.tif 000061