(57)【要約】【課題】処理リソースの負荷増大やリソース不足による記録処理エラーを回避可能であり、且つパケットデータの記録領域の容量を抑える。【解決手段】パケット記録装置は、ネットワーク上を流れるパケットに係るパケット情報が単位時間でまとめられたファイルが周期的に記録される記録領域と、ファイルが前記記録領域に記録される時間を示す記録時間が前記ネットワーク上で生じた事象に基づき決定されたパケット検出期間に含まれるファイルを特定する情報を記憶する記憶領域と、前記記録領域に記録されたファイルから前記情報によって特定されるファイルが除外された残りのファイルの中から削除すべきファイルを決定し、決定されたファイルを前記記録領域から削除する処理を周期的に実行する制御装置と、を含む。【選択図】図６
2014204396.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上を流れるパケットに係るパケット情報が単位時間でまとめられたファイルが周期的に記録される記録領域と、
ファイルが前記記録領域に記録される時間を示す記録時間が前記ネットワーク上で生じた事象に基づき決定されたパケット検出期間に含まれるファイルを特定する情報を記憶する記憶領域と、
前記記録領域に記録されたファイルから前記情報によって特定されるファイルが除外された残りのファイルの中から削除すべきファイルを決定し、決定されたファイルを前記記録領域から削除する処理を周期的に実行する制御装置と、
を含むパケット記録装置。
【請求項２】
前記記憶領域は、前記記憶領域に記録される各ファイルに対応するレコードを記憶するための複数のレコード記憶領域を含み、
前記レコードは、前記記録時間と、レコードに対応するファイルが前記記録領域に記録されていることを示す第１フラグと、レコードに含まれた記録時間が前記パケット検出期間に含まれることを示す、前記情報としての第２フラグとを記憶し、
前記制御装置は、前記記憶領域に記憶された第１フラグの数から第２フラグの数を減じた数が、所定のレコード数以上である場合に、前記記憶領域に記憶された、前記第２フラグが設定されていないレコードの中から、前記記録時間が最も古いレコードを前記記録領域から削除するとともに、削除されたレコードに対応するファイルを前記記録領域から削除する処理を、周期的に実行する
請求項１に記載のパケット記録装置。
【請求項３】
前記制御装置は、前記ネットワーク上で生じた事象の内容と、当該事象の検出時刻とを含む検出通知が受信された場合に、前記検出通知と、前記検出通知に対応するパケット保存時間を示す情報とに基づいて、前記パケット検出期間を算出し、前記記録時間が前記パケット検出期間に含まれる前記記憶領域内の各レコードに、前記第２フラグを設定するとともに、少なくとも前記第２フラグが新たに設定された数と同数のレコード記憶領域を追加する処理を行う
請求項２に記載のパケット記録装置。
【請求項４】
前記記録領域に記録されるファイルは、当該ファイルに対応するレコードに含まれた記録時間を含み、
前記制御装置は、前記記録領域に記録された各ファイルと、前記記憶領域に記憶された各レコードとを対比して、前記記録領域に記録されていないファイルに対応するレコードが前記記憶領域に含まれている場合には、当該レコードを前記記憶領域から削除する
請求項２又は３に記載のパケット記録装置。
【請求項５】
前記制御装置は、前記記録領域に記録されていないファイルに対応するレコードに前記第２フラグが設定されている場合には、当該レコードをレコード記憶領域ごと削除する
請求項４に記載のパケット記録装置。
【請求項６】
ネットワーク上を流れるパケットに係るパケット情報が単位時間でまとめられたファイルが周期的に記録される記録領域と、
ファイルが前記記録領域に記録される時間を示す記録時間が前記ネットワーク上で生じた事象に基づき決定されたパケット検出期間に含まれるファイルを特定する情報を記憶する記憶領域と、を含むパケット記録装置に含まれる制御装置が、
前記記録領域に記録されたファイルから前記情報によって特定されるファイルが除外された残りのファイルの中から削除すべきファイルを決定し、決定されたファイルを前記記
録領域から削除する処理を周期的に実行する、
ことを含むパケット記録方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、パケット記録装置に関する。
【背景技術】
【０００２】
データがパケットにより伝送されるパケット通信ネットワークでは、様々な通信エラーが発生する。例えば、ネットワークに接続された特定の機器にデータを送信できないときに通信エラーが報告される。報告を受けたパケットネットワークの管理者は、通信エラーの原因を特定し、パケット通信ネットワークを早期に復旧させるための作業を行う。
【０００３】
一般に、通信エラーが発生した場合には、通信エラーに関連するパケットのキャプチャが行われる。管理者は、キャプチャされたパケット内のデータを解析することによって、通信エラーの原因を特定することができる。
【０００４】
従来技術として、例えば、トラフィックデータを受信するデータ受信部と、不揮発的な記録領域であるダンプファイル記録部と、受信したトラフィックデータを所定時間毎に分割してキャッシュデータとして一時的に保持するキャッシュ部と、を備え、トラフィックデータを記録するトラフィック記録装置がある。このトラフィック記録装置は、トラフィックデータで所定の事象が発生したことを通知する検出通知を受信すると、キャッシュ部のキャッシュデータの中から、検出通知の受信から所定時間前までのトラフィックデータを記録したキャッシュデータを特定し、特定したキャッシュデータを検出通知と関連付けてダンプファイル記録部に記録するキャッシュ管理部を備える（例えば、特許文献１）。
【０００５】
また、監視回線上の全通信パケットのパケット情報を受信時刻情報と対応付けてパケット情報保持部を保持し、所定の収集条件のトラフィックフロー情報を求める複数の収集手段と、各収集手段からのトラフィックフロー情報に基づく所定の監視対象の集計情報を管理する管理手段と、外部の監視対象通知手段からの少なくとも監視時間条件を有する監視対象特定情報より新たな監視設定条件を設定し、その監視設定条件を新たな収集条件として各収集手段に設定させる監視対象設定管理手段とを備えるネットワーク監視システムがあり、各収集手段は、新たな収集条件の監視時間条件が過去の時間範囲である場合、パケット情報保持部を参照して、新たな収集条件のトラフィックフロー情報を求める（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２１３１４３号公報
【特許文献２】特開２００８−２４４６３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１記載の技術では、特定したキャッシュデータを検出通知と関連付けてダンプファイル記録部に記録する。このため、同時多発的に検出通知が発生すると、キャッシュデータの記録処理が集中的に発生し、処理リソースの負荷増大やリソース不足による記録処理エラーが生じる可能性があった。また、検出通知に対応するキャッシュデータが記録されるため、検出通知が集中的に発生した場合には、冗長なキャッシュデータが記録され、記憶容量を浪費する問題があった。
【０００８】
また、特許文献１記載の技術では、検出通知に応じてキャッシュデータをダンプファイ
ル記録部に記録する。このため、検出通知の受信タイミングによっては、ダンプファイル記録部に記録すべきキャッシュデータがキャッシュ部から消去されている場合が起こり得る。この場合、キャッシュデータをダンプファイル記録部に記録できない。
【０００９】
一方、特許文献２記載の技術では、パケット情報保持部に保持されたパケット情報が削除されないため、大容量の記録媒体を用意しなければ、空き容量不足によってパケット情報が保持されなくなる可能性があった。
【００１０】
本発明の実施形態は、処理リソースの負荷増大やリソース不足による記録処理エラーを回避可能であり、且つパケットデータの記録領域の容量を抑えることが可能なパケット記録装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の実施形態は、ネットワーク上を流れるパケットに係るパケット情報を単位時間でまとめたファイルが周期的に記録される記録領域と、
ファイルが前記記録領域に記録される時間を示す記録時間が前記ネットワーク上で生じた事象に基づき決定されたパケット検出期間に含まれるファイルを特定する情報を記憶する記憶領域と、
前記記録領域に記録されたファイルの中から前記情報によって特定されるファイルが除外された残りのファイルから削除すべきファイルを決定し、決定されたファイルを前記記録領域から削除する処理を周期的に実行する制御装置と、を含むパケット記録装置である。
【発明の効果】
【００１２】
本発明の実施形態によれば、処理リソースの負荷増大やリソース不足による記録処理エラーを回避可能であり、且つパケットデータの記録領域の容量を抑えることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施形態に係るパケットネットワーク装置を含むネットワークシステムの構成例を示す。
【図２】図２は、図１に示したネットワークシステムにおいて障害が発生した時の情報伝達の様子を示す。
【図３】図３は、図２に示したＮＷ装置，監視サーバ及びパケットキャプチャ装置を抽出した図である。
【図４】図４は、図３に示した障害通知及び検出通知を送るための構成を模式的に示す。
【図５】図５は、情報処理装置のハードウェア構成例を示す。
【図６】図６は、パケットキャプチャ装置の構成例を模式的に示す。
【図７】図７は、検出通知情報領域のデータ構造例を示す。
【図８】図８は、パケット保存時間情報テーブルのデータ構造例を示す。
【図９】図９は、検出時間条件情報テーブルのデータ構造例を示す。
【図１０】図１０は、パケットデータ管理処理に係るシーケンス図である。
【図１１】図１１は、通常時におけるパケットデータ保存処理（動作例１）を模式的に示す。
【図１２】図１２は、通常時におけるパケットデータ保存処理（動作例１）を模式的に示す。
【図１３】図１３は、退避フラグが設定されたパケットデータ（ダンプファイル）が最も古いデータとなった場合におけるパケットデータ保存処理（動作例２）を模式的に示す。
【図１４】図１４は、退避フラグが設定されたパケットデータ（ダンプファイル）が最も古いデータとなった場合におけるパケットデータ保存処理（動作例２）を模式的に示す。
【図１５】図１５は、保存中のパケットデータ（ダンプファイル）が回収された場合（第１パターン）におけるパケットデータ回収確認及び回収後処理（動作例３）を模式的に示す。
【図１６】図１６は、保存中のパケットデータ（ダンプファイル）が回収された場合（第１パターン）におけるパケットデータ回収確認及び回収後処理（動作例３）を模式的に示す。
【図１７】図１７は、保存中のパケットデータ（ダンプファイル）が回収された場合（第２パターン）におけるパケットデータ回収確認及び回収後処理（動作例４）を模式的に示す。
【図１８】図１８は、保存中のパケットデータ（ダンプファイル）が回収された場合（第２パターン）におけるパケットデータ回収確認及び回収後処理（動作例４）を模式的に示す。
【図１９】図１９は、パケットデータ管理処理（動作例１〜４に係るＣＰＵの処理の例）を示すフローチャートである。
【図２０】図２０は、パケットデータ管理処理（動作例１〜４に係るＣＰＵの処理の例）を示すフローチャートである。
【図２１】図２１は、検出通知管理処理を示すシーケンス図である。
【図２２】図２２は、検出通知管理処理（動作例５）を模式的に示す。
【図２３】図２３は、検出通知管理処理（動作例５）を模式的に示す。
【図２４】図２４は、検出通知管理処理におけるＣＰＵの処理の例を示すフローチャートである。
【図２５】図２５は、検出通知管理処理におけるＣＰＵの処理の例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施形態について説明する。実施形態の構成は例示であり、本発明の実施形態は、以下の実施形態の構成に限定されない。
【００１５】
＜ネットワークワーク構成＞
図１は、実施形態に係るパケット記録装置を含むネットワークシステムの構成例を示す。図１において、ネットワークシステムは、サービス用ネットワークＮ１と、管理用ネットワークＮ２とを備えている。
【００１６】
サービス用ネットワークＮ１は、ユーザに対するパケット通信サービスが実行されるネットワーク（パケット通信ネットワーク）であり、例えば、インターネットＩＮに接続された複数のネットワーク装置（ＮＷ装置）１１を備えている。ＮＷ装置１１は、レイヤ３スイッチ（Ｌ３スイッチ）や、ルータのような、パケットの中継装置である。
【００１７】
管理用ネットワークＮ２は、例えば、サービスの提供者又はネットワークの管理者が、ネットワークシステムを保守・管理するためのネットワークであり、複数のＮＷ装置２１を含んでいる。各ＮＷ装置２１は、監視サーバ（検出装置）２２に接続される。ＮＷ装置２１も、レイヤ３スイッチ（Ｌ３スイッチ）や、ルータのような、パケットの中継装置である。
【００１８】
サービス用ネットワークＮ１と管理用ネットワークワークＮ２とは、図１に例示されるサーバＳ１及びＳ２のような１以上のサーバＳによって接続されている。各サーバＳは、ＮＷ装置１１やＮＷ装置２１に接続される。また、ＮＷ装置１１とＮＷ装置２１とは、必要に応じて接続される。
【００１９】
パケットキャプチャ装置３０は、パケット記録装置の一例である。パケットキャプチャ装置３０は、管理用ネットワークＮ２におけるＮＷ装置２１を介して監視サーバ２２と接続される。また、パケットキャプチャ装置３０は、サービス用ネットワークＮ１における所定のＮＷ装置１１と、パケットキャプチャ用の通信線Ｌを介して接続される。図１に示す例では、パケットキャプチャ装置３０は、ＮＷ装置１１Ａと通信線（リンク）Ｌを介して接続されている。
【００２０】
パケット通信ネットワーク（すなわち、サービス用ネットワークＮ１）を伝送されるパケットに関して所定の事象（例えば、通信エラー）が検出された場合に、パケットキャプチャ装置３０は、所定の事象の発生前後のパケットに係るデータ（パケットデータ）を記録する。
【００２１】
図２は、図１に示したネットワークシステムにおいて障害が発生した時の情報伝達の様子を示す。図２に示すように、例えば、ＮＷ装置１１ＡとサーバＳ１とを結ぶリンク（通信線）が切断された（リンクダウンが生じた）場合を仮定する。この場合、ＮＷ装置１１Ａ及びサーバＳ１から、監視サーバ２２に対して障害通知が送られる。監視サーバ２２は、ＮＷ装置１１Ａ及びサーバＳ１から受け取った障害通知に対応する障害の検出通知をパケットキャプチャ装置３０に送る。
【００２２】
図３は、図２に示したＮＷ装置１１（１１Ａ），監視サーバ２２及びパケットキャプチャ装置３０を抽出した図であり、図４は、図３に示した障害通知及び検出通知を送るための構成を模式的に示す。
【００２３】
図４において、ＮＷ装置１１は、通信ポートとして、サービスパケット通信ポートＰ１（以下、パケット通信ポートＰ１）と、管理ポートＰ３と、ミラーリングポートＰ２とを有している。
【００２４】
パケット通信ポートＰ１は、パケット通信サービスを提供するため使用される通信ポートであり、パケット（ユーザパケット）の転送に使用される。パケット通信ポートＰ１から送出されるパケット（図４のパケットＰ）は、パケット通信ポートＰ１を通過するトラフィック（トラフィックフロー）上を流れる。
【００２５】
管理ポートＰ３は、ＮＷ装置１１が管理ネットワークＮ２経由で監視サーバ２２と通信するために使用される。ＮＷ装置１１は、リンクダウンのような所定事象の検出機能を有しており、検出された所定事象を示す情報は、障害通知として管理ポートＰ３から監視サーバ２２へ送信される。なお、サーバＳも、上記した管理ポートＰ３を有している。
【００２６】
ミラーリングポートＰ２は、パケット通信ポートＰ１から送信されるパケットのコピー（図４のコピーのパケットＣＰ）をパケットキャプチャ装置３０へ送信するためのポートである。ミラーリングポートＰ２は、予めパケットキャプチャ装置３０でのキャプチャを所望するＮＷ装置１１のパケット通信ポートＰ１、又はVirtual Local Area Network（ＶＬＡＮ）が選択されることによって、ミラーリングパケット（コピーのパケット）をパケットキャプチャ装置３０へ送ることができる。なお、パケットキャプチャ装置３０は、ミラーポートの利用の代わりに、Simple Network Management Protocol（ＳＮＭＰ）を用いてパケットのコピーを取得しても良い。ミラーリングパケットは、「ネットワーク上を流れるパケットのコピー」の一例である。
【００２７】
監視サーバ２２は、検出装置の一例である。監視サーバ２２は、ＮＷ装置１１やサーバＳのようなサービス用ネットワークＮ１に接続された各装置からの障害通知（障害ログ）
をリアルタイムに監視することができる。監視サーバ２２は、障害通知からインシデントの可能性がある特徴的な事象の発生を検出することができる。
【００２８】
監視サーバ２２は、図４に示すように、検出情報受信部２２１と、検出部２２２と、検出情報送信部２２３とを含むことができる。検出情報受信部２２１は、ＮＷ装置１１やサーバＳから特徴的な事象の発生を障害通知（障害ログ）として受信し、検出部２２２に与える。
【００２９】
検出部２２２は、検出情報受信部２２１から受信された障害通知で示される事象がパケットデータの検出を要する事象か否かを判定する。障害通知がパケットデータの検出を要する事象を示す場合には、検出情報送信部２２３に対し、検出通知の出力指示を与える。
【００３０】
検出情報送信部２２３は、検出部２２２からの出力指示に応じて、検出通知を含むパケット（検出通知信号）を生成し、パケットキャプチャ装置３０に送信する。検出通知信号は、通知内容と検出時刻とを含む。通知内容は、障害通知の内容を含み、検出時刻は、例えば、障害通知の発生時刻である。
【００３１】
なお、検出通知（検出通知信号）は、監視サーバ２２以外の装置からパケットキャプチャ装置３０に入力される場合もある。或いは、管理者又は作業者が、パケットキャプチャ装置３０が備えるユーザインタフェースを用いて、検出通知（検出通知信号）をパケットキャプチャ装置３０に直接に入力する場合もある。
【００３２】
監視サーバ２２は、パケットキャプチャ装置３０に保存されたダンプファイルの提供をパケットキャプチャ装置に要求することができる。パケットキャプチャ装置３０からのダンプファイルの取得は、例えば、File Transfer Protocol（ＦＴＰ）のような既存の手法を適用することができる。なお、パケットキャプチャ装置３０に保存されたダンプファイルは、作業者（オペレータ）が、例えば、パケットキャプチャ装置３０に接続されたユーザインタフェースを用いて、直接的にパケットキャプチャ装置３０から取り出すこともできる。
【００３３】
パケットキャプチャ装置３０は、ミラーリングポートＰ２から送信されたミラーリングパケット（パケットのコピー）を一時的に記録する。パケットのコピーは、「パケットに係る情報」の一例である。パケットキャプチャ装置３０は、ミラーリングパケットを単位時間でまとめたファイル（ダンプファイル）を生成する。ダンプファイルは、所定の記録領域に記録（保存）される。ダンプファイルは、ネットワークで生じた事象（検出通知として、パケットキャプチャ装置３０に通知される事象）の解析のために使用される。
【００３４】
ダンプファイルの記録領域への記録は、検出通知の受信とは無関係に、周期的に実行される。これによって、検出通知を集中的に受信することによって、ダンプファイルの記録処理が集中的に発生することがない。これによって、記録処理用のリソースの負荷増大やリソース不足によって、ダンプファイルが記録領域に記録できなくなることを回避することができる。
【００３５】
ダンプファイルの記録領域は、所定容量を有し、新規のダンプファイルを記録するための空き領域がない場合には、記録領域に記録された複数のダンプファイル（ダンプファイル群）の中から削除すべきダンプファイルが決定され、当該ダンプファイルが記録領域から削除される。例えば、記録領域に記録された時間が最も古いダンプファイルが削除対象として決定され、削除される。これにより、解析に利用されない（検出通知と無関係の）ダンプファイルが制限なく保存され続けることが回避される。したがって、記録領域の容量を抑えることができる。換言すれば、パケットキャプチャ装置３０が備える記録媒体の
容量を抑えることができる。
【００３６】
なお、ダンプファイルの記録領域の容量は、検出通知の受信が遅延した場合であっても、当該検出通知に関連するダンプファイルが記録領域内に存在し得る容量が、実験や経験則に基づいて設定される。
【００３７】
また、本実施形態において、記録領域に記録される各ダンプファイルは、各ダンプファイルが記録領域に記録される記録時間と関連づけられる。パケットキャプチャ装置３０では、受信された検出通知で特定される事象と関連づけられたパケット検出期間（以下、単に検出期間とも表記）に記録時間が含まれるダンプファイルを特定するための情報が、記憶領域に記憶される。パケット検出期間は、検出通知によって特定される或る時間（時刻）から後ろに（過去に）向かった所定時間と或る時間から前に（未来に）進んだ所定時間とからなる。記録時間がパケット検出期間に含まれるダンプファイルは、事象の解析のために検出が所望されるダンプファイルを示す。
【００３８】
上記した記録領域から削除すべきダンプファイルを決定する処理は、パケットキャプチャ装置３０が備える制御装置によって周期的に実行される。制御装置は、周期的な決定処理において、記憶領域に記憶された情報によって特定されるダンプファイルを、削除すべき対象から除外する。したがって、事象解析のための検出が所望されるダンプファイルは、単なる時間経過によって削除されない。
【００３９】
従って、事象解析を所望する作業者（オペレータ）は、都合の良いタイミングで、記録領域へのアクセスを通じて、所望のダンプファイルを取得することができる。このとき、上記した情報を手がかりに取得すべきダンプファイルを決定することができるので、所望のダンプファイルの入手が容易となる。
【００４０】
＜情報処理装置のハードウェア構成＞
次に、パケットキャプチャ装置３０として適用可能な情報処理装置（コンピュータ）のハードウェア構成例について説明する。パケットキャプチャ装置３０のハードウェア構成として、パーソナルコンピュータ（ＰＣ），ワークステーション，専用又は汎用のサーバマシンが有する既存のハードウェアアーキテクチャを適用することができる。
【００４１】
図５は、情報処理装置のハードウェア構成例を示す図である。図５において、情報処理装置５０は、例として、ＣＰＵ５１と、メモリ５２と、記憶装置５３と、入出力（Ｉ／Ｏ）デバイス５４とを備える。ＣＰＵ５１，メモリ５２，記憶装置５３，Ｉ／Ｏデバイス５４は、バスＢを介して相互に接続されている。
【００４２】
メモリ５２は、ＣＰＵ５１の作業領域として使用されるメインメモリとして機能する。メインメモリは、例えば、ＲＡＭ（Random Access Memory）及びＲＯＭ（Read Only Memory）によって形成される。
【００４３】
記憶装置５３は、ＣＰＵ５１によって実行される各種のプログラム，及び各プログラムの実行時に使用されるデータを記憶する。記憶装置５３は、例えば、不揮発性記録媒体であり、例えば、ハードディスク，フラッシュメモリ，ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）の少なくとも１つを用いて形成することができる
。メモリ５２及び記憶装置５３のそれぞれは、記録媒体の一例である。
【００４４】
Ｉ／Ｏデバイス５４は、通信インタフェース回路（通信インタフェース（通信ＩＦ））を含む。通信ＩＦとして、例えば、既存のネットワーク・カードやネットワーク・インタフェース・カード（ＮＩＣ）と呼ばれるLocal Area Network（ＬＡＮ）接続用のインタフ
ェース装置を適用することができる。また、Ｉ／Ｏデバイス５４は、キーボード，ボタン，ポインティングデバイス，タッチパネルのような入力装置や、ディスプレイ装置のような出力装置を接続することができる。出力装置及び入力装置は、管理者及び作業者（オペレータ）が情報を入力、或いは情報を取得するためのユーザインタフェース（ＵＩ）を提供する。
【００４５】
ＣＰＵ５１は、例えば、記憶装置５３にインストールされたプログラムをメモリ５２にロードして実行することにより、パケットキャプチャ装置３０としての機能を発揮することができる。ＣＰＵ５１は、プロセッサ（マイクロプロセッサ）や制御装置の一例である。ＣＰＵ５１の代わりに、Digital Signal Processor（ＤＳＰ）を使用することもできる。
【００４６】
図５に示した情報処理装置５０のハードウェア構成は、監視サーバ２２のハードウェア構成に適用することができる。すなわち、図５に示すＩ／Ｏデバイス５４（通信ＩＦ）は、図４に示した検出情報受信部２２１及び検出情報送信部２２３として機能することができる。また、ＣＰＵ５１は、監視サーバ２２の記憶装置５３に記憶されたプログラムをメモリ５２上で実行することによって、検出部２２２として機能することができる。換言すれば、監視サーバ２２は、ＰＣや専用又は汎用のサーバマシンのようなコンピュータを用いて実現することができる。
【００４７】
また、図５に示した情報処理装置５０のハードウェア構成は、ＮＷ装置１１，ＮＷ装置２１及びサーバＳにも適用が可能である。
【００４８】
上述したＣＰＵ５１，メモリ５２及び記憶装置５３を用いたプログラム実行によって実現される機能は、専用又は汎用のハードウェアチップを用いたハードウェアロジック（ワイヤードロジック）によって実現されても良い。
【００４９】
ハードウェアロジック又はワイヤードロジックによって実現される機能は、例えば、電気回路，電子回路，集積回路（Integrated circuit（ＩＣ），Large Scale Integration
（ＬＳＩ），Application Specific Integrated Circuit（ＡＳＩＣ）等），Programmable Logic Device （ＰＬＤ，例えば、Field Programmable Gate Array（ＦＰＧＡ））のうちの少なくとも１つ、又は２以上によって実現されることができる。
【００５０】
＜パケットキャプチャ装置の構成例＞
図６は、パケットキャプチャ装置３０の構成例を模式的に示す。図６において、Ｉ／Ｏデバイス５４（通信ＩＦ）は、ＮＷ装置１１のミラーポートＰ２（図４）から送信されたミラーリングパケットを受信するパケット受信機能５４１と、監視サーバ２２から検出通知を受信する検出通知受信機能５４２とを果たす。
【００５１】
メモリ５２は、キャッシュ領域（キャッシュエリア）５２１と、検出通知情報領域（検出通知情報エリア）５２２と、パケット保存時間情報テーブル５２３の記憶領域とを含んでいる。記憶装置５３は、パケットデータ保存領域５３１と、検出時間条件情報テーブル５３２とを有している。パケットデータ保存領域５３１は、「記録領域」の一例である。
【００５２】
検出通知情報領域５２２は、検出通知受信機能５４２によって受信された検出通知に含まれる情報（検出通知情報）を記憶する。図７は、検出通知情報領域５２２のデータ構造例を示す。検出通知情報領域５２２は、検出通知単位のレコードを有する。レコードは、レコード番号（検出通知の識別情報（ＩＤ））と、通知内容と、検出時刻とを含む。通知内容は、障害通知で通知された事象の種別を示す。事象は、例えば、「リンクダウン」，「不正アクセス」，「アプリ（アプリケーション）エラー」，「その他」を含むことがで
きる。
【００５３】
キャッシュ領域５２１は、Ｉ／Ｏデバイス５４（パケット受信機能５４１）で受信されたミラーリングパケット（パケットデータ）の全てを一時的に記憶（キャッシュ）する領域であり、所定サイズを有する。
【００５４】
パケットデータ保存領域５３１は、原則として、現在から所定時間過去に遡った期間内にキャプチャされた（キャッシュ領域５２１に記憶された）パケットデータをダンプファイル（ログ）として記憶する。例えば、パケットデータ保存領域５３１は、原則として、現在時刻から１時間前の時刻の間にキャプチャされたパケットデータを記録する。
【００５５】
キャッシュ領域５２１に記憶されたパケットデータ（キャッシュデータ）は、単位時間（例えば１分）毎にまとめられ（ブロック化）され、ブロック化されたパケットデータ（パケットデータブロック）が、ダンプファイルとしてパケットデータ保存領域５３１に記録される。パケットデータ保存領域５３１は、少なくとも所定時間分の複数のダンプファイル（ダンプファイル群）を記録することができる。
【００５６】
パケットデータ保存領域５３１は、初期容量（初期サイズ）として、所定時間（１時間）分のダンプファイルを記録可能な所定の記憶容量（所定サイズ）を有している。パケットデータ保存領域５３１に新規のダンプファイル（新規ファイル）を記録するための空き容量がなくなると、最古のダンプファイルが削除され、新規ファイルを記録するための領域が作成される。このようにして、パケットデータ保存領域５３１は、原則として、所定容量を保つ。
【００５７】
但し、パケットデータ保存領域５３１に記録されたダンプファイルのうち、検出通知に関連するダンプファイルは、例外的に扱われ、単なる時間経過によって削除されない。検出通知に関連するダンプファイルは、例えば、検出通知で特定される事象を解析する管理者又は作業者（オペレータ）によって意図的にパケットデータ保存領域５３１から取り出されるまで、パケットデータ保存領域５３１に保持される。
【００５８】
図８は、パケット保存時間情報テーブル５２３のデータ構造例を示す。パケット保存時間情報テーブル５２３は、パケットデータ保存領域５３１に記録されるダンプファイルのそれぞれを管理するために使用される。パケット保存時間情報テーブル５２３は、「記憶領域」の一例である。
【００５９】
パケット保存時間情報テーブル５２３は、パケットデータ保存領域５３１に記録されるダンプファイルに対応するレコードを記憶する。例えば、上記したように、ダンプファイルを記録する総時間である所定時間が“１時間”であり、且つ単位時間が“１分”である場合には、図８に示すように、パケット保存時間情報テーブル５２３は、初期レコード数として、６０個のレコードを記憶可能な領域を有する。
【００６０】
但し、所定時間“１時間”及び単位時間“１分”は例示であり、ダンプファイルを記録する総時間及び単位時間のそれぞれの長さ，及び初期レコード数は、適宜設定可能である。
【００６１】
パケット保存時間情報テーブル５２３における各レコードは、レコード番号（レコードの識別情報（ＩＤ））と、記録時間と、書込フラグと、ファイル退避フラグ（以下、退避フラグ）とを含む。記録時間は、パケットデータ保存領域５３１に対するダンプファイルの記録時間（記録時刻）を示す。
【００６２】
書込フラグは、パケットデータ保存領域５３１にダンプファイルが書き込まれていることを確認するためのフラグである。書込フラグがオン（“１”）である（セットされている）ときに、対応するダンプファイルがパケットデータ保存領域５３１に存在することを示す。書込フラグは、ダンプファイルがパケットデータ保存領域５３１に記録される場合にセットされる。
【００６３】
退避フラグは、パケットデータ保存領域５３１からの削除を回避すべきダンプファイルを示すためのフラグである。退避フラグがセットされた（オン（“１”）に設定された）ダンプファイルは、上述したように、単なる時間の経過によってパケットデータ保存領域５３１から削除されない。退避フラグは、検出通知に含まれる検出時刻を元に、検出時間条件情報テーブル５３２を用いて決定した検出期間に対応するレコードにセットされる。
【００６４】
図９は、検出時間条件情報テーブル５３２のデータ構造例を示す。図９に示すように、検出時間条件情報テーブル５３２は、検出通知に関連するダンプファイルとして検出されるべきダンプファイルの時間的な検出条件を定義したテーブルである。時間的な検出条件として、検出通知の検出時刻を基準とする所定の前後の時間が、ダンプファイルの時間的検出条件として定義される。検出時刻から過去に所定時間戻った時刻と、検出時刻から未来に所定時間進んだ時刻との間の期間が、「検出期間」である。
【００６５】
図９に示す例では、検出時間条件情報テーブル５３２は、検出通知の通知内容（事象の種別）毎に用意された１以上のレコードからなる。各レコードは、レコードの識別情報（ＩＤ）と、通知内容の種別と、通知前保存時間（分）と、通知後保存時間とを含む。
【００６６】
通知内容の種別として、本実施形態では、「リンクダウン」，「不正アクセス」，「アプリエラー」，「その他」等が設定されている。但し、通知内容の種別数は、適宜設定可能である。通知前保存時間は、検出時刻から過去に遡る所定時間を示し、通知後保存時間は、検出時刻から未来に進んだ所定時間を示す。例えば、通知内容が「リンクダウン」である場合には、検出時刻の前後１分が検出時間条件として定義されている。
【００６７】
図６に戻って、記憶装置５３には、ＣＰＵ５１によって実行される各種のプログラム（意オペレーティングシステム，アプリケーションプログラム）がインストールされており、且つ各プログラムの実行に際して使用されるデータが記憶されている。メモリ５２は、ＣＰＵ５１の作業領域（メインメモリ）として使用される。ＣＰＵ５１は、記憶装置５３に記憶されたプログラムをメモリ５２にロードして実行することにより、パケットデータ管理処理５１１と、検出通知管理処理５１２とを実行する。
【００６８】
＜パケット管理処理＞
次に、ＣＰＵ５１により実行されるパケットデータ管理処理５１１について説明する。図１０は、パケットデータ管理処理５１１に係るシーケンス図である。パケットデータ管理処理５１１は、パケットデータ保存処理と、パケットデータ回収確認・回収後処理に大別される。
【００６９】
＜＜パケット管理処理のシーケンス＞＞
図１０のシーケンス図において、パケットデータ保存処理は、大略して、以下のように行われる。例えば、作業者（オペレータ）によって、パケットキャプチャ装置３０に対して、パケットキャプチャの開始指示が入力される（図１０＜１＞）。すると、キャッシュ領域５２１へのミラーリングパケット（パケットデータ）の一時保存処理が開始される（図１０＜２＞）。また、パケットキャプチャの開始指示は、ＣＰＵ５１に与えられ（図１０＜３＞）、パケットデータ管理処理５１１の実行が開始される。
【００７０】
パケットデータ管理処理５１１において、ＣＰＵ５１は、単位時間毎に、次のような処理を行う。最初に、ＣＰＵ５１は、パケット保存時間情報テーブル５２３を参照する（図１０＜４＞）。このとき、パケット保存時間情報テーブル５２３に削除対象のレコードが存在する場合には、ＣＰＵ５１は、パケット保存時間情報テーブル５２３の更新処理を行う。すなわち、ＣＰＵ５１は、パケット保存時間情報テーブル５２３中の記録時間が最も古いレコード（但し、退避フラグがオフ）を削除する（図１０＜５＞）。
【００７１】
続いて、ＣＰＵ５１は、削除されたレコードに対応するダンプファイル（パケットデータ）を、パケットデータ保存領域５３１から削除する（図１０＜６＞）。
【００７２】
次に、ＣＰＵ５１は、パケット保存時間情報テーブル５２３の更新処理を行う（図１０＜７＞）。すなわち、ＣＰＵ５１は、新規ファイルのレコードをパケット保存時間情報テーブル５２３に追加する。
【００７３】
続いて、ＣＰＵ５１は、キャッシュ領域５２１から単位時間分のキャッシュデータを取得し（図１０＜８＞）、ダンプファイルとしてパケットデータ保存領域５３１に格納する。これによって、パケットデータ保存領域５３１が更新される（図１０＜９＞）。ここまでが、パケットデータ保存処理であり、続いて、パケットデータ回収確認・回収後処理が実行される。
【００７４】
すなわち、ＣＰＵ５１は、パケットデータ保存領域５３１に記録（保存）された各ダンプファイルを監視する（図１０＜１０＞）。次に、ＣＰＵ５１は、パケット保存時間情報テーブル５２３中の各レコードを参照し、各ダンプファイルと各レコードとの間に内容の差分があるか否かを判定する（図１０＜１１＞）。
【００７５】
このとき、差分があれば、当該差分は、パケットデータ保存領域５３１に記録されたダンプファイルがオペレータによって取り出された（パケットデータ保存領域５３１から削除された）ことを示す。よって、ＣＰＵ５１は、パケットデータ保存領域５３１における存在が確認できないダンプファイルに対応するレコードをパケット保存時間情報テーブル５２３から削除する（図１０＜１２＞）。
【００７６】
上述した＜４＞〜＜１２＞の処理は、パケットキャプチャが終了するまで、単位時間毎に繰り返し実行される（ループする）。以下、パケットデータ保存処理及びパケットデータ回収確認及び回収後処理の詳細について説明する。
【００７７】
＜＜パケットデータ保存処理＞＞
〔動作例１〕
図１１及び図１２は、動作例１としての、通常時におけるパケットデータ保存処理を模式的に示す。但し、図１１及び図１２に示す例では、パケット保存時間情報テーブル５２３の所定時間分のレコード数（初期レコード数）は１２個となっており、図８に示したパケット保存時間情報テーブル５２３の初期レコード数（６０個）と異なっている。
【００７８】
ＣＰＵ５１は、キャプチャ入力（パケットキャプチャの開始指示）を受け取ると、パケット保存時間情報テーブル５２３の記録時間、書込フラグ、ファイル退避フラグを参照し、削除すべきダンプファイルの有無を確認する（図１１（１），図１０＜４＞）。
【００７９】
ここで、削除すべきダンプファイルの有無は、“書込フラグ数Ａ−ファイル退避フラグ数Ｂ”が初期レコード数Ｃ（１２個）より少ないか否か（判定式：（Ａ−Ｂ）＜Ｃ？））で判断される。
【００８０】
すなわち、判定式が満たされる場合（（Ａ−Ｂ）＜Ｃ）には、ＣＰＵ５１は、削除すべきダンプファイルはないと判定する。これに対し、判定式が満たされない場合（（Ａ−Ｂ）≧Ｃ）には、ＣＰＵ５１は、削除すべきダンプファイルがあると判定する。
【００８１】
パケット保存時間情報テーブル５２３に削除すべきレコードが存在する場合には、ＣＰＵ５１は、パケット保存時間情報テーブル５２３から削除対象のレコードを削除する（図１１（２），図１０＜５＞）。
【００８２】
このとき、退避フラグがセットされていない（オフである）レコードのうち、記録時間が最も古いレコードが削除すべきレコード（削除対象）として決定される。図１２に示す例では、更新前のパケット保存時間情報テーブル５２３において、記録時間が最も古い（１３：００）のレコード（ＩＤ=１）が削除対象となる。
【００８３】
続いて、ＣＰＵ５１は、パケットデータ保存領域５３１から、削除されたレコードに対応するダンプファイルを削除する（図１１（３），図１０＜６＞）。ダンプファイルは、記録時間とパケットデータとを含んでいる。ＣＰＵ５１は、削除されたレコード中の記録時間と一致する記録時間を有するダンプファイルが削除される。すなわち、図１２の更新後のパケット保存時間情報テーブル５２３に示すように、ＩＤ=１のレコードに対応する
ダンプファイルが削除される。レコードが削除されると、その直後に存するレコードから最後尾のレコードまでのそれぞれが１つ繰り上げられ、新規のダンプファイルに係るレコードを記憶するための領域が生成される。
【００８４】
次に、ＣＰＵ５１は、パケット保存時間情報テーブル５２３に対し、新規のダンプファイルの情報（記録時間と書込フラグ）を記録する（図１１（４），図１０＜７＞）。すなわち、ＣＰＵ５１は、新規のダンプファイルのレコード（記録時間１３：１２，書込フラグ“１”）のレコードを生成し、パケット保存時間情報テーブル５２３の空き領域に記憶する。これによって、パケット保存時間情報テーブル５２３の記録内容が、図１２に示した更新後の状態となる。
【００８５】
図１１に示すように、受信されたミラーリングパケット（パケットデータ）は、キャッシュデータとしてキャッシュ領域５２１に一時保存される。ＣＰＵ５１は、キャッシュ領域５２１に格納されたキャッシュデータのうち、単位時間（１分）分のキャッシュデータを新規のダンプファイル（新規ファイル）として取り出す。ＣＰＵ５１は、新規ファイルをパケットデータ保存領域５３１に格納する（図１１（５），図１０＜８＞及び＜９＞）。
【００８６】
このようにして、ＩＤ＝１３を有するレコードに対応するダンプファイルがパケットデータ保存領域５３１にて保存（記録）される。このとき、パケットデータ保存領域５３１に記録されるダンプファイルには、ＩＤ＝１３のレコードに設定された記録時間（１３：１２）が設定される。この操作によって、パケットデータ保存領域５３１内のダンプファイルとパケット保存時間情報テーブル５２３のレコードとを関連付けることができる。
【００８７】
〔動作例２〕
図１３及び図１４は、動作例２としての、退避フラグが設定されたパケットデータ（ダンプファイル）が最も古いデータとなった場合におけるパケットデータ保存処理を模式的に示す。
【００８８】
図１４において、更新前のパケット保存時間情報テーブル５２３は、初期レコード数１２個に、退避フラグがセットされたレコード（ＩＤ=８及びＩＤ=９を有する各レコード）の数である２個を加えた１４個のレコードを有している。レコードの記憶領域を追加する
処理については後述する。
【００８９】
パケット保存時間情報テーブル５２３の内容が図１４に示した更新前の内容である状態において、パケットデータ管理処理５１１は、以下のように行われる。すなわち、現在時刻が単位時間の周期（パケットデータ保存処理の開始時刻）となると、ＣＰＵ５１は、パケット保存時間情報テーブル５２３を参照し、上述した判定式を用いてパケットデータ保存領域５３１から削除すべきダンプファイルの有無を確認する。
【００９０】
図１４に示す例では、書込フラグ数Ａが１４であり、退避フラグ数が２であり、初期レコード数Ｃは１２である。このため、“（Ａ−Ｂ）＜Ｃ”の関係は成立しないので、ＣＰＵ５１は、削除対象ファイルが存在する、と判定する。
【００９１】
判定結果に従い、ＣＰＵ５１は、退避フラグがセットされていない（オフである）レコードのうち、記録時間が最も古いレコードを、削除対象のレコードとして検出する（図１３（１），図１０＜１＞）。ここでは、ＣＰＵ５１は、図１４の更新前のパケット保存時間情報テーブル５２３におけるＩＤ=１０を有するレコードを削除対象として検出し、パ
ケット保存時間情報テーブル５２３から削除する（図１３（２），図１０＜５＞）。
【００９２】
続いて、ＣＰＵ５１は、パケットデータ保存領域５３１から、削除されたレコード（ＩＤ＝１０，記録時間１３：０９）に対応するダンプファイルを削除する（図１３（３），図１０＜６＞）。
【００９３】
次に、ＣＰＵ５１は、パケット保存時間情報テーブル５２３に対し、次の単位時間のダンプファイル（新規のダンプファイル）の情報（記録時間と書込フラグ）を記録する（図１３（４），図１０＜７＞）。すなわち、ＣＰＵ５１は、ＩＤ＝１０を有するレコードの削除に伴い、残りのレコードを１つずつ繰り上げ、最後尾のレコード格納領域（１４番目のレコード格納領域）に、新規のダンプファイルのレコード（ＩＤ＝１２，記録時間１３：２１，書込フラグ“１”）を書き込む（図１３（４））。
【００９４】
そして、ＣＰＵ５１は、キャッシュ領域５２１から、ＩＤ＝２２に対応する単位時間分のパケットデータ（ダンプファイル）を取得し、パケットデータ保存領域５３１に記録する（図１３（５））。このように、退避フラグが設定されたレコードは、単位時間経過毎に実行される（周期的に実行される）、削除すべきダンプファイルの決定処理において、削除対象から除外される。これによって、当該レコードに対応するダンプファイルがパケットデータ保存領域５３１から削除されることが回避される。
【００９５】
＜＜パケットデータ回収確認・回収後処理＞＞
〔動作例３〕
図１５及び図１６は、動作例３としての、保存中のパケットデータ（ダンプファイル）が回収された場合（第１パターン）におけるパケットデータ回収確認及び回収後処理を模式的に示す。
【００９６】
動作例３の開始前では、パケット保存時間情報テーブル５２３の記憶内容は、図１６における更新前のパケット保存時間情報テーブル５２３に示した内容であると仮定する。動作例３は、図１０に示した＜９＞の処理に続いて行われる。
【００９７】
動作例３の前提として、図１５に示すように、パケットデータ保存領域５３１に記録された複数のダンプファイルのうち、ＩＤ＝８，ＩＤ＝９の各レコードに対応するダンプファイル（退避フラグが設定されたダンプファイル）は、作業者（オペレータ）によって回収され、パケットデータ保存領域５３１から既に削除されていると仮定する。
【００９８】
ＣＰＵ５１は、パケットデータ保存領域５３１を参照して、パケットデータ保存領域５３１に記録された各ダンプファイルの記録時間が記載されたリスト（ファイルリスト）を取得する（図１５（１））。
【００９９】
次に、ＣＰＵ５１は、パケット保存時間情報テーブル５２３を参照し、パケットデータ保存領域５３１から回収及び削除されたダンプファイルの有無を確認する（図１５（２））。すなわち、ＣＰＵ５１は、ファイルリストの各記録時間と、パケットデータ保存時間情報テーブル５２３に記録された各記録時間とを対比し、差分があるか否かを判定する。
【０１００】
上述したように、ＩＤ＝８，ＩＤ＝９の各レコードに対応するダンプファイルは既に削除されているので、ファイルリストには、これらのレコードの記録時間は含まれていない。よって、ＩＤ＝８，ＩＤ＝９の各レコードが差分として発見される。ＣＰＵ５１は、差分が発見された場合、差分に係るダンプファイルが削除されていると判定する。
【０１０１】
すると、ＣＰＵ５１は、差分に係るレコード（ＩＤ＝８，ＩＤ＝９の各レコード）をパケット保存時間情報テーブル５２３から削除する（図１５（３））。このとき、ＣＰＵ５１は、単なるレコードの記憶内容ではなく、レコードの記録領域も削除する。これによって、更新後のパケット保存時間情報テーブル５２３の総レコード数は、削除されたレコード数だけ減少する。
【０１０２】
動作例３では、図１６に示すように、レコード領域の削除によって、パケット保存時間情報テーブル５２３に記録可能な総レコード数が１２個、すなわち初期レコード数に戻っている。このように、退避フラグがセットされたレコードがない場合には、総レコード数は初期レコード数となる。これによって、結果として、パケットデータ保存領域５３１に記録可能なダンプファイルの数が減る。このように、パケットデータ保存領域５３１の容量は、可能な限り抑えられる。
【０１０３】
〔動作例４〕
図１７及び図１８は、動作例４としての、保存中のパケットデータ（ダンプファイル）が回収された場合（第２パターン）におけるパケットデータ回収確認及び回収後処理を模式的に示す。
【０１０４】
動作例４の開始前では、パケット保存時間情報テーブル５２３の記憶内容は、図１８における更新前のパケット保存時間情報テーブル５２３に示した内容であると仮定する（図１４の更新前の内容と同じ）。動作例４は、動作例３と同様に、図１０に示した＜９＞の処理に続いて行われる。
【０１０５】
但し、動作例４では、図１７に示すように、パケットデータ保存領域５３１に記録された複数のダンプファイルのうち、ＩＤ＝１４，１５，１６の各レコードに対応するダンプファイル（退避フラグがセットされていないダンプファイル）が、作業者（オペレータ）によって回収され、パケットデータ保存領域５３１から既に削除されていると仮定する。
【０１０６】
ＣＰＵ５１は、パケットデータ保存領域５３１を参照して、パケットデータ保存領域５３１に記録された各ダンプファイルの記録時間が記載されたリスト（ファイルリスト）を取得する（図１７（１））。
【０１０７】
次に、ＣＰＵ５１は、パケット保存時間情報テーブル５２３を参照し、ファイルリストの各記録時間と、パケットデータ保存時間情報テーブル５２３に記録された各記録時間とを対比し、差分があるか否かを判定する（図１７（２））。
【０１０８】
対比の結果、ファイルリストには、ＩＤ＝１４，１５，１６のレコードに記録された記録時間が含まれていないことが判明する。したがって、ＣＰＵ５１は、これらのレコードをパケット保存時間情報テーブル５２３から削除する（図１７（３））。
【０１０９】
削除の結果、パケット保存時間情報テーブル５２３の内容は、図１８に示す更新後の内容となる。すなわち、退避フラグがセットされていないダンプファイルが削除されている場合には、対応するレコードの情報が削除されるのみであり、レコードの記録領域の削除（縮小化）は行われない。これによって、パケットデータ保存領域５３１には、検出通知に関連するダンプファイルに加えて、所定時間に対応する数のダンプファイルを保存（記録）することができる。
【０１１０】
＜＜フローチャート＞＞
図１９及び図２０は、パケットデータ管理処理５１１（動作例１〜４に係るＣＰＵ５１の処理）を示すフローチャートである。図１９及び図２０に示す処理は、周期が単位時間のループ処理として実行される。
【０１１１】
最初の０１において、ＣＰＵ５１は、判定式（書込フラグ数Ａ−退避フラグ数Ｂ＜初期レコード数Ｃ）が満たされるか否かを判定する。判定式が満たされる場合（０１，Ｙｅｓ）には、処理が０４へ進む。判定式が満たされない場合（０１，Ｎｏ）には、処理が０２へ進む。
【０１１２】
判定式が満たされないことは、パケット保存時間情報テーブル５２３に新規レコードを追加するための空き領域がないことを意味する。このため、０２において、ＣＰＵ５１は、退避フラグがセットされていないレコードのうち、記録時間が最古のレコードをパケット保存時間情報テーブル５２３から削除する。続いて、ＣＰＵ５１は、０２にて削除したレコードに対応するダンプファイルをパケットデータ保存領域５３１から削除する（０３）。
【０１１３】
０４において、ＣＰＵ５１は、パケット保存時間情報テーブル５２３の空きレコードに、記録時間として現在時刻を記録する。続いて、ＣＰＵ５１は、現在時刻を記録したレコードの書込フラグをオンに設定する（０５）。そして、ＣＰＵ５１は、キャッシュ領域５２１から単位時間分のパケットデータを取り出し、新規のダンプファイルとしてパケットデータ保存領域５３１に書き込む（０６）。
【０１１４】
次に、ＣＰＵ５１は、パケットデータ保存領域５３１からファイルリストを取得する（０７）。次に、ＣＰＵ５１は、ファイルリストとパケット保存時間情報テーブル５２３の記録内容とに差分があるか否かを判定する（０８）。差分がない場合（０８，Ｙｅｓ）には、パケットデータ管理処理５１１が終了する。
【０１１５】
これに対し、差分がある場合（０８，Ｎｏ）には、ＣＰＵ５１は、差分に該当するレコードに退避フラグがセットされているか否かを判定する（０９）。このとき、差分のレコードに退避フラグがセットされている場合（０９，Ｙｅｓ）には、ＣＰＵ５１は、対象レコードをレコード領域ごと削除する（１０）。
【０１１６】
これに対し、退避フラグがセットされていない場合（０９，Ｎｏ）には、ＣＰＵ５１は、対象レコードの情報を削除するとともに、レコードを前詰めにするための記録時間及び書込フラグの更新処理を行う（１１）。１０又は１１の処理が終了すると、パケットデータ管理処理１１１が終了する。もっとも、パケットデータ管理処理１１１は、上述したように、パケットキャプチャが実施されている間、単位時間周期で繰り返し実行される。
【０１１７】
＜検出通知管理処理＞
次に、ＣＰＵ５１によって実行される検出通知管理処理５１２について説明する。図２１は、検出通知管理処理５１２を示すシーケンス図である。図２１において、パケットキャプチャの開始指示（図２１＜１＞）を受けて、Ｉ／Ｏデバイス５４の検出通知受信機能５４２は、検出通知の受信処理を実行する状態となる（図２１＜２＞）。また、ＣＰＵ５１は、検出通知管理処理５１２の実行を開始する（図２１＜３＞）。
【０１１８】
ＣＰＵ５１は、検出通知管理処理５１２を開始すると、検出通知受信機能５４２で受信される検出通知を待ち受ける状態となる。検出受信機能５４２が検出通知をＣＰＵ５１に送信し（図２１＜４＞）、ＣＰＵ５１が受け取ると、ＣＰＵ５１は、検出通知情報（すなわち、通知内容及び検出時刻）を検出通知情報領域５２２（図７）に記憶した後に、検出時間条件情報テーブル５３２（図９）を参照する（図２１＜５＞）。
【０１１９】
ＣＰＵ５１は、検出通知に含まれた通知内容に対応する通知前保存時間及び通知後保存時間を検出時間条件情報テーブル５３２から読み出す。続いて、ＣＰＵ５１は、検出通知に含まれた検出時刻から通知前保存時間過去に遡った時刻と、検出時刻から通知後保存時間未来に進んだ時刻とを求め、これらの二つの時刻を始期及び周期とする検出期間を求める。
【０１２０】
次に、ＣＰＵ５１は、検出期間を用いて、パケット保存時間情報テーブル５２３を更新する（図２１＜６＞）。すなわち、パケット保存時間情報テーブル５２３に記録されたレコードのうち、記録時間が検出期間内に含まれている１以上のレコードを特定し、特定した各レコードに退避フラグをセットする。そして、ＣＰＵ５１は、退避フラグをセットしたレコード数と同数のレコードをさらに記録するためのレコード記録領域を作成する。
【０１２１】
上述したように、本実施形態では、パケット保存時間情報テーブル５２３にレコードが記憶されなければ、対応するダンプファイルはパケットデータ保存領域５３１に記録されない。一方で、退避フラグがセットされたレコードは、対応するダンプファイルの削除が確認されるまで、パケット保存時間情報テーブル５２３から削除されない。
【０１２２】
このため、退避フラグがセットされたレコード（退避レコード）が増加するにつれて、新規レコード（新規のダンプファイル）を記録するためのレコード記憶領域が減少する。従って、全てのレコードに退避フラグがセットされ、新規レコード（すなわち、新規のダンプファイル）を記録できない状態に至ることが起こり得る。
【０１２３】
上記の不都合を解消すべく、レコードに退避フラグがセットされた場合には、退避フラグがセットされていないレコードの記憶可能数が初期レコード数を維持するように、退避フラグがセットされたレコード数と同数のレコード記憶領域が拡張される。
【０１２４】
〔動作例５〕
図２２及び図２３は、動作例５として、検出通知管理処理５１２を模式的に示す。動作例５の前提として、図２３において、更新前のパケット保存時間情報テーブル５２３として図示したように、パケット保存時間情報テーブル５２３には、初期レコード数（１２個）のレコードが記憶されている。そして、全てのレコードに退避フラグがセットされていない。さらに、最新のレコードの記録時刻は、“１３：１２”である。
【０１２５】
図２２において、検出通知管理処理５１２（ＣＰＵ５１）は、検出通知を受け取ると（図２２（１））、検出通知の内容（ＩＤ＝１，通知内容“不正アクセス”，検出時刻“１３：１２”）を検出通知情報領域５２２に記憶する（図２２（２））。なお、図２２では
、１分遅れ（検出時刻“１３：１３”）で同内容の検出通知が受信され、検出通知情報が記憶された状態の検出通知情報領域５２２が例示されている。
【０１２６】
ＣＰＵ５１は、ＩＤ＝１の検出通知に関して、検出時間条件情報テーブル５３２を参照し、通知内容（不正アクセス）が合致するレコードから、通知前保存時間“２分”及び通知後保存時間“３分”を取得する。
【０１２７】
続いて、ＣＰＵ５１は、検出時刻“１３：１２”から２分遡った１３：１０を始期とし、検出時刻“１３：１２”から３分進んだ１３：１５を終期とする検出期間（１３：１０〜１３：１５）を算出する。
【０１２８】
次に、ＣＰＵ５１は、記録時間が検出期間に含まれるレコードに退避フラグをセットする。すなわち、図２３の更新後のパケット保存時間情報テーブル５２３に示すように、最初に、ＣＰＵ５１は、記録時刻が１３：１０〜１３：１２である３つのレコードに退避フラグをセットする（図２３（４−１））。
【０１２９】
次に、ＣＰＵ５１は、残りの検出期間１３：１３〜１３：１５について退避フラグがセットされたレコードを記録するため、３つのレコード記憶領域を追加して（図２３（４−２））、各レコード記憶領域に退避フラグをセットする（図２３（４−３））。これによって、将来的な（未来における）パケットデータ保存処理によってパケットデータ保存領域５３１に記録される３つのダンプファイルに対応するレコードがパケット保存時間情報テーブル５２３に記憶される。
【０１３０】
次に、ＣＰＵ５１は、新規にセットされた退避フラグ数と同数のレコード記憶領域をパケット保存時間情報テーブル５２３に追加する。ここでは、新規の退避フラグ数である６個の新たなレコード記録領域が追加される。但し、初期レコード数（１２個）を考慮して、レコード記憶領域の総数が初期レコード数に退避フラグ数を加えた数（１２＋６＝１８）となるように、３つの新たなレコード記録領域が追加されるようにしても良い。このようにして、レコード記憶領域の数（すなわち、パケットデータ保存領域５３１に記録されるダンプファイルの数）を抑えることができる。
【０１３１】
以上のようにして、ＩＤ＝１の検出通知に係る検出通知管理処理５１２が行われる。このとき、未処理の検出通知（例えば、ＩＤ＝２の検出通知）が検出通知情報領域５２２に記憶されている場合には、ＣＰＵ５１は、当該検出通知に対する処理を行う。
【０１３２】
ＩＤ＝２の検出通知に対する処理は、ＩＤ＝１の検出通知に対する処理とほぼ同じである。但し、検出期間の算出において、検出期間“１３：１１〜１３：１６”が算出される。当該検出期間に対応するレコード記憶領域は、既に追加されているので、ＣＰＵ５１は、記録時間“１３：１６”に対する退避フラグをセットする。
【０１３３】
続いて、ＣＰＵ５１は、新規にセットされた退避フラグ数（１個）と同数のレコード記憶領域をパケット保存時間情報テーブル５２３に追加する。もっとも、レコード記憶領域の総数が初期レコード数（１２個）に退避フラグ数を加えた数を超えている場合には、ＣＰＵ５１がレコード記憶領域の追加を行わない構成を採用することもできる。このようにして、レコード記憶領域の数（すなわち、パケットデータ保存領域５３１に記録されるダンプファイルの数）を抑えることができる。
【０１３４】
＜＜フローチャート＞＞
図２４及び図２５は、検出通知管理処理５１２におけるＣＰＵ５１の処理の例を示すフローチャートである。検出通知管理処理５１２は、検出通知受信機能５２３（図６）から
検出通知を受け取ることによって開始される。
【０１３５】
最初に、ＣＰＵ５１は、検出通知の内容（通知内容及び検出時刻）検出通知情報領域５２２に記憶する（２１）。２１以降の処理は、検出通知毎に繰り返し行われる。
【０１３６】
ＣＰＵ５１は、検出時間条件情報テーブル５３２（図９）を参照し、検出通知の通知内容に対応するレコードに含まれた通知前保存時間及び通知後保存期間を読み出し、検出通知の検出時刻を用いて検出期間（ファイル退避フラグ対象時間）を算出する（２２）。
【０１３７】
次に、ＣＰＵ５１は、パケット保存時間情報テーブル５２３の更新処理を行う。すなわち、ＣＰＵ５１は、パケット保存時間情報テーブル５２３を参照し、検出期間が現在時刻より未来の時刻を含んでいるが、当該時刻に対応するレコードを記憶するためのレコード記録領域がパケット保存時間情報テーブル５２３にあるか否かを判定する（２３）。
【０１３８】
このとき、レコード記録領域がない（不足している）場合（２３，Ｎｏ）には、検出期間に含まれる各記録時間のレコード記録領域（不足分）をパケット保存時間情報テーブル５２３に追加する（２４）。これに対し、レコード記録領域がある場合（２３，Ｙｅｓ）には、検出期間に対応するレコード記録領域（レコード）に、退避フラグを記録する（２５）。但し、２５の処理は、退避フラグが記録されていないレコード記録領域に対して実行される。
【０１３９】
次に、ＣＰＵ５１は、新規にセットした退避フラグ数と同数のレコード記憶領域をパケット保存時間情報テーブル５２３に追加する（２６）。２６の処理が終了すると、次の検出通知が検出通知情報領域２２２に記憶されていれば、当該検出通知に対する２２〜２６の処理が実行される。検出通知情報領域２２２に記憶された全ての検出通知に対する処理が終了した時点で、検出通知管理処理５１２が一旦終了し、新たな検出通知が受信されるまで、検出通知の待ち受け状態となる。
【０１４０】
＜実施形態の効果＞
実施形態によれば、パケット保存時間情報テーブル５２３に情報が記憶されたダンプファイルがパケットデータ保存領域５３１に記録される。ダンプファイルの記録は、単位時間毎に実行される。このように、ダンプファイルの記録が周期的に実行されるため、従来技術（特許文献１記載の技術）のように、検出通知が同時多発的に発生した結果、処理エラーとなってダンプファイルが記録されなくなることを回避することができる。
【０１４１】
また、実施形態によれば、単位時間毎に、パケットデータ保存領域５３１の記憶内容が上記した判定式が満たされるか否かが判定される。そして、判定式が満たされない場合には、最古のレコードが削除され、削除されたレコードに対応するダンプファイルが削除される。これによって、パケットデータ保存領域５３１に記録されるダンプファイルの数をある程度の範囲に抑えることができる。これより、ダンプファイルの記録容量を抑えることができる。
【０１４２】
さらに、実施形態によれば、検出通知が受信された場合に、検出時間条件情報に基づき検出期間が算出され、検出期間に含まれる記録時間を有するレコードに退避フラグがセットされる。退避フラグがセットされたレコードは、周期的に実行される削除対象のレコードの決定処理から除外される。
【０１４３】
すなわち、退避フラグがセットされたレコードは、作業者（オペレータ）によって、パケットデータ保存領域５３１から対応するダンプファイルが回収・削除されるまで、パケット保存時間情報テーブル５２３から削除されない。これによって、検出通知で示された
事象に対する解析に使用されるダンプファイルを、オペレータが取得するまで、パケットデータ保存領域５３１で保存し続けることができる。
【０１４４】
パケット保存時間情報テーブル５２３は、退避フラグがセットされた場合に、新たなレコード記憶領域が追加され、レコード記録領域の総数が、少なくとも初期レコード数に退避フラグ数を加えた数以上とされる。これによって、退避フラグがセットされたレコードに対応するダンプファイルに加えて、少なくとも初期レコード数と同数のダンプファイルをパケットデータ保存領域５３１にて保存することができる。
【０１４５】
そして、単位時間毎に（周期的に）、パケットデータ保存領域５３１からダンプファイルが回収・削除されているかが判定され、退避フラグがセットされたレコードに対応するダンプファイルが回収・削除されている場合には、パケット保存時間情報テーブル５２３から、該当するレコードが、レコード記録領域ごと削除される。これによって、パケットデータ保存領域５３１に記録されるダンプファイル数が徒に増加することを抑えることができる。
【０１４６】
以上のように、実施形態に係るパケットキャプチャ装置３０（パケット記録装置）によれば、検出通知に関連するパケットデータ（ダンプファイル）を効率的に（記憶容量の無駄を少なくして）保存することができる。上記した実施形態の構成は、適宜組み合わせることができる。
【符号の説明】
【０１４７】
Ｓ・・・サーバ
１１，２１・・・ネットワーク装置
２２・・・監視サーバ
３０・・・パケットキャプチャ装置
５１・・・ＣＰＵ
５２・・・メモリ
５３・・・記憶装置
５４・・・Ｉ／Ｏデバイス
５１１・・・パケットデータ管理処理
５１２・・・検出通知管理処理
５２１・・・キャッシュ領域
５２２・・・検出通知情報領域
５２３・・・パケット保存時間情報テーブル
５３１・・・パケットデータ保存領域
５３２・・・検出時間条件情報テーブル
５４１・・・パケット受信機能
５４２・・・検出通知受信機能
【図１】
2014204396.tif 000003
【図２】
2014204396.tif 000004
【図３】
2014204396.tif 000005
【図４】
2014204396.tif 000006
【図５】
2014204396.tif 000007
【図６】
2014204396.tif 000008
【図７】
2014204396.tif 000009
【図８】
2014204396.tif 000010
【図９】
2014204396.tif 000011
【図１０】
2014204396.tif 000012
【図１１】
2014204396.tif 000013
【図１２】
2014204396.tif 000014
【図１３】
2014204396.tif 000015
【図１４】
2014204396.tif 000016
【図１５】
2014204396.tif 000017
【図１６】
2014204396.tif 000018
【図１７】
2014204396.tif 000019
【図１８】
2014204396.tif 000020
【図１９】
2014204396.tif 000021
【図２０】
2014204396.tif 000022
【図２１】
2014204396.tif 000023
【図２２】
2014204396.tif 000024
【図２３】
2014204396.tif 000025
【図２４】
2014204396.tif 000026
【図２５】
2014204396.tif 000027