(57)【要約】      （修正有）【課題】キャプチャされた各パケットを、抽出し易い形式で冗長化するパケット制御プログラム、パケット制御装置及びパケット制御システムを提供する。【解決手段】パケット制御方法は、ネットワークからキャプチャされた複数のパケットを第１方式によって分類した複数の第１グループの各々を複数の格納場所のいずれかに割り当て、複数のパケットを第２方式によって分類した複数の第２グループの各々を複数の格納場所のいずれかに割り当てる処理を含む。【選択図】図２５
2018045479.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークからキャプチャされた複数のパケットを第１方式によって分類した複数の第１グループの各々を複数の格納場所のいずれかに割り当て、
前記複数のパケットを第２方式によって分類した複数の第２グループの各々を前記複数の格納場所のいずれかに割り当てる
処理をコンピュータに実行させるパケット制御プログラム。
【請求項２】
更に、
前記複数のパケットの各々を、前記第２方式によって前記複数の第２グループのいずれかに分類する際に、当該パケットが属する前記第１グループが割り当てられる格納場所以外の格納場所に割り当てられる前記第２グループを選択する
処理をコンピュータに実行させる請求項１記載のパケット制御プログラム。
【請求項３】
前記第１方式は、セッション毎に前記第１グループを設け、
前記第２方式は、キャプチャ期間毎に２以上の第２グループを設け、
共通のキャプチャ期間に係る前記第２グループの各々は、互いに異なる格納場所に割り当てられる
請求項２記載のパケット制御プログラム。
【請求項４】
ネットワークからキャプチャされた複数のパケットを第１方式によって分類した複数の第１グループの各々を複数の格納場所のいずれかに割り当てる第１割り当て部と
前記複数のパケットを第２方式によって分類した複数の第２グループの各々を前記複数の格納場所のいずれかに割り当てる第２割り当て部と
を有するパケット制御装置。
【請求項５】
パケット制御システムは、キャプチャ装置と、複数の保存装置とを含み、
前記キャプチャ装置は、
ネットワークからキャプチャされた複数のパケットを第１方式によって分類した複数の第１グループの各々を複数の格納場所のいずれかに割り当てる第１割り当て部と、
前記複数のパケットを第２方式によって分類した複数の第２グループの各々を前記複数の格納場所のいずれかに割り当てる第２割り当て部と
を有し、
前記複数の保存装置の各々は、前記複数の格納場所のいずれかに該当する記憶部を有する
パケット制御システム。
【請求項６】
前記複数の保存装置の各々は、更に、
自らの格納場所に割り当てられた前記第２グループのパケットのうち、当該自らの格納場所以外の或る格納場所に割り当てられた前記第１グループのパケットと同じパケットを選出する選出部と、
選出した前記パケットを、前記或る格納場所に割り当てられた前記第１グループの新たな保存先に送信する送信部と
を有する請求項５記載のパケット制御システム。
【請求項７】
ネットワークからキャプチャされた複数のパケットを第１方式によって分類した第１グループのパケット群を受信し、
前記第１グループに含まれる複数のパケットの各々を、当該パケットが第２方式によって分類される第２グループに割り当てられる宛先に送信する
処理をコンピュータに実行させるパケット制御プログラム。
【請求項８】
ネットワークからキャプチャされた複数のパケットを第１方式によって分類した第１グループを受信する受信部と、
前記第１グループに含まれる複数のパケットの各々を、第２方式によって分類される第２グループに割り当てられる宛先に送信する送信部と
を有するパケット制御装置。
【請求項９】
パケット制御システムは、キャプチャ装置と、複数の保存装置とを含み、
前記キャプチャ装置は、
ネットワークからキャプチャされた複数のパケットを第１方式によって分類した複数の第１グループの各々について、当該第１グループを複数の格納場所のいずれかに割り当てる第１割り当て部
を有し、
前記複数の保存装置の各々は、
前記複数の格納場所のいずれかに該当する記憶部と、
割り当てられた前記第１グループを受信する受信部と、
前記第１グループに含まれる複数のパケットの各々を、第２方式によって分類される第２グループに割り当てられる格納場所の保存装置に送信する送信部と
を有するパケット制御システム。
【請求項１０】
前記複数の保存装置の各々は、更に、
自らの格納場所に割り当てられた前記第２グループのパケットのうち、当該自らの格納場所以外の或る格納場所に割り当てられた前記第１グループのパケットと同じパケットを選出する選出部
を有し、
前記送信部は、選出した前記パケットを、前記或る格納場所に割り当てられた前記第１グループの新たな保存先に送信する
請求項９記載のパケット制御システム。
【請求項１１】
前記複数の保存装置の各々は、更に、
自らの格納場所に割り当てられた前記第１グループのパケットのうち、当該自らの格納場所以外の或る格納場所に割り当てられた前記第２グループのパケットと同じパケットを選出する選出部
を有し、
前記送信部は、選出した前記パケットを、前記或る格納場所に割り当てられた前記第２グループの新たな保存先に送信する
請求項９記載のパケット制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークからキャプチャしたパケットの保存技術に関する。
【背景技術】
【０００２】
ネットワークで伝送されるパケットをキャプチャして、ある単位でパケットをグループ化して保存するシステムがある。このようなシステムで、保存するデータを喪失する場合に備えて、データの冗長化を行うことがある。
【０００３】
例えば、共通のセッションで伝送されたパケットをグループ化する第１分類方式では、同一セッションに係るパケットのグループを、２つ保持することが考えられる。また、これとは別に、期間内に伝送されたパケットをグループ化する第２分類方式では、同一期間に係るパケットのグループを、２つ保持することが考えられる。
【０００４】
但し、このようにパケットのグループを２重化しても、第１分類方式において或る期間に係るパケットを抽出する処理負荷が大きいという欠点は解消されない。同じく、第２分類方式において或るセッションに係るパケットを抽出する処理負荷が大きいという欠点は解消されない。これは、分類方式が単一のままだからである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１２４７５８号公報
【特許文献２】特開２００３−２３４６４号公報
【特許文献３】特開２００３−９１４６８号公報
【特許文献４】特開２００６−３０９７９６号公報
【特許文献５】特開２０１５−９５７８５号公報
【特許文献６】特開２０１３−０６１７３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、キャプチャされた各パケットを、抽出し易い形式で冗長化することである。
【課題を解決するための手段】
【０００７】
一態様に係るパケット制御方法は、（Ａ）ネットワークからキャプチャされた複数のパケットを第１方式によって分類した複数の第１グループの各々を複数の格納場所のいずれかに割り当て、（Ｂ）上記複数のパケットを第２方式によって分類した複数の第２グループの各々を上記複数の格納場所のいずれかに割り当てる処理を含む。
【０００８】
一態様に係るパケット制御方法は、（Ｃ）ネットワークからキャプチャされた複数のパケットを第１方式によって分類した第１グループのパケット群を受信し、（Ｄ）第１グループに含まれる複数のパケットの各々を、当該パケットが第２方式によって分類される第２グループに割り当てられる宛先に送信する処理を含む。
【発明の効果】
【０００９】
一側面としては、キャプチャされた各パケットを、抽出し易い形式で冗長化することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、ネットワーク構成例を示す図である。
【図２】図２は、セッションオブジェクトを蓄積する動作の概要を示す図である。
【図３】図３は、期間オブジェクトを蓄積する動作の概要を示す図である。
【図４】図４は、セッションオブジェクトを提供する動作の概要を示す図である。
【図５】図５は、期間オブジェクトを提供する動作の概要を示す図である。
【図６】図６は、セッションオブジェクト及び期間オブジェクトを復旧する動作の概要を示す図である。
【図７】図７は、キャプチャサーバのモジュール構成例を示す図である。
【図８】図８は、インデックステーブルの例を示す図である。
【図９】図９は、セッションテーブルの例を示す図である。
【図１０】図１０は、期間テーブルの例を示す図である。
【図１１】図１１は、ドライバ処理フローを示す図である。
【図１２】図１２は、解析部のモジュール構成例を示す図である。
【図１３】図１３は、解析処理フローを示す図である。
【図１４】図１４は、解析処理フローを示す図である。
【図１５】図１５は、蓄積部のモジュール構成例を示す図である。
【図１６】図１６は、セッションオブジェクトの例を示す図である。
【図１７】図１７は、セッションオブジェクトにおけるメタデータの例を示す図である。
【図１８】図１８は、セッションオブジェクトにおける結合データの例を示す図である。
【図１９】図１９は、期間オブジェクト記憶部の構成例を示す図である。
【図２０】図２０は、期間オブジェクトの例を示す図である。
【図２１】図２１は、期間オブジェクトにおけるメタデータの例を示す図である。
【図２２】図２２は、期間オブジェクトにおける結合データの例を示す図である。
【図２３】図２３は、期間オブジェクトにおけるメタデータの例を示す図である。
【図２４】図２４は、集合テーブルの例を示す図である。
【図２５】図２５は、蓄積処理（Ａ）フローを示す図である。
【図２６】図２６は、第１分類処理フローを示す図である。
【図２７】図２７は、第１割り当て処理フローを示す図である。
【図２８】図２８は、第１配置テーブルの例を示す図である。
【図２９】図２９は、第２分類処理フロー例を示す図である。
【図３０】図３０は、Ｘ集合処理フローを示す図である。
【図３１】図３１は、Ｙ集合処理フローを示す図である。
【図３２】図３２は、第２割り当て処理フローを示す図である。
【図３３】図３３は、第２配置テーブルの例を示す図である。
【図３４】図３４は、提供処理フローを示す図である。
【図３５】図３５は、提供処理フローを示す図である。
【図３６】図３６は、提供処理フローを示す図である。
【図３７】図３７は、保存サーバのモジュール構成例を示す図である。
【図３８】図３８は、書き込み処理（Ａ）フローを示す図である。
【図３９】図３９は、返還処理フローを示す図である。
【図４０】図４０は、復旧処理フローを示す図である。
【図４１】図４１は、第１選出処理フローを示す図である。
【図４２】図４２は、第２選出処理フローを示す図である。
【図４３】図４３は、第１生成処理フローを示す図である。
【図４４】図４４は、第２生成処理フローを示す図である。
【図４５】図４５は、実施の形態２において期間オブジェクトを蓄積する動作の概要を示す図である。
【図４６】図４６は、実施の形態２において期間オブジェクトを蓄積する動作の概要を示す図である。
【図４７】図４７は、蓄積処理（Ｂ）フローを示す図である。
【図４８】図４８は、実施の形態２における保存サーバのモジュール構成例を示す図である。
【図４９】図４９は、書き込み処理（Ｂ）フローを示す図である。
【図５０】図５０は、転送処理フローを示す図である。
【図５１】図５１は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１１】
［実施の形態１］
図１に、ネットワーク構成例を示す。キャプチャサーバ１０１は、監視対象ネットワークにおいて伝送されているパケットをキャプチャする。キャプチャされたパケットは、監視対象ネットワークに接続されている情報処理装置１０３同士のセッションにおいて伝送されたものである。
【００１２】
キャプチャサーバ１０１は、キャプチャしたパケットをまとめて、オブジェクトを生成する。つまり、この例におけるオブジェクトは、パケットのグループである。そして、キャプチャサーバ１０１は、オブジェクトを伝送ネットワークに接続されている保存サーバ１０５に分散して蓄積する。
【００１３】
本実施の形態では、２種類のオブジェクトが生成される。キャプチャサーバ１０１は、同じセッションで伝送されたパケットを集めたセッションオブジェクトを生成すると共に、期間内に伝送されたパケットを無条件に集めた期間オブジェクトを生成する。
【００１４】
尚、本実施の形態で、保存サーバ１０５は、２つの集合に分けられている。図示するように、Ｘ集合は、保存サーバ１０５ａ及び保存サーバ１０５ｂを含み、Ｙ集合は、保存サーバ１０５ｃ及び保存サーバ１０５ｄを含んでいる。
【００１５】
伝送ネットワーク及び監視対象ネットワークは、例えばＬＡＮ（Local Area Network）である。但し、ＬＡＮ以外のネットワークであってもよい。また、この例では、伝送ネットワークは、監視対象ネットワークと異なるネットワークであるが、伝送ネットワークは、監視対象ネットワークと同じネットワークであってもよい。
【００１６】
図２に、セッションオブジェクト２０１を蓄積する動作の概要を示す。ここでは、１１個のパケットをキャプチャすることを想定する。図２において、取得した順番に従ってパケットに番号を付している。また、同じセッションで伝送されたパケットには、同じ模様を付している。
【００１７】
キャプチャサーバ１０１は、第１分類処理において、セッション毎にパケットをまとめたセッションオブジェクト２０１を生成する。この例では４つのセッションオブジェクト２０１ａ乃至ｄが生成される。セッションオブジェクト２０１ａには、セッションＩＤ「ＳＳ−０１」で識別されるセッションで伝送された１番目のパケットと６番目のパケットと１０番目のパケットとがまとめられている。セッションオブジェクト２０１ｂには、セッションＩＤ「ＳＳ−０２」で識別されるセッションで伝送された２番目のパケットと７番目のパケットとがまとめられている。セッションオブジェクト２０１ｃには、セッションＩＤ「ＳＳ−０３」で識別されるセッションで伝送された３番目のパケットと５番目のパケットと１１番目のパケットとがまとめられている。セッションオブジェクト２０１ｄには、セッションＩＤ「ＳＳ−０４」で識別されるセッションで伝送された４番目のパケットと８番目のパケットと９番目のパケットとがまとめられている。
【００１８】
また、キャプチャサーバ１０１は、第１割り当て処理において、セッションオブジェクト２０１ａ乃至ｄを、それぞれいずれかの保存サーバ１０５に割り当てる。割り当て先の保存サーバ１０５は、セッションＩＤに基づいて一意に定められる。
【００１９】
この例で、セッションオブジェクト２０１ａは、保存サーバＩＤ「ＳＶ−Ａ」で識別される保存サーバ１０５ａに割り当てられる。つまり、セッションオブジェクト２０１ａは、保存サーバ１０５ａに送られ、保存サーバ１０５ａにおいて保存される。セッションオブジェクト２０１ｂは、保存サーバＩＤ「ＳＶ−Ｂ」で識別される保存サーバ１０５ｂに割り当てられる。つまり、セッションオブジェクト２０１ｂは、保存サーバ１０５ｂに送られ、保存サーバ１０５ｂにおいて保存される。セッションオブジェクト２０１ｃは、保存サーバＩＤ「ＳＶ−Ｃ」で識別される保存サーバ１０５ｃに割り当てられる。つまり、セッションオブジェクト２０１ｃは、保存サーバ１０５ｃに送られ、保存サーバ１０５ｃにおいて保存される。セッションオブジェクト２０１ｄは、保存サーバＩＤ「ＳＶ−Ｄ」で識別される保存サーバ１０５ｄに割り当てられる。つまり、セッションオブジェクト２０１ｄは、保存サーバ１０５ｄに送られ、保存サーバ１０５ｄにおいて保存される。
【００２０】
ここでは、説明の便宜のために、Ｘ集合に属する保存サーバ１０５ａ又は保存サーバ１０５ｂで保存されるパケットを太線枠で示している。
【００２１】
図３に、期間オブジェクト３０１を蓄積する動作の概要を示す。つまり、図２に示したパケットを別の形式で保存する。キャプチャサーバ１０１は、キャプチャした日時を期間によって分ける。この例では、１番目から６番目までのパケットが１番目の期間にキャプチャされたと想定する。同じく、７番目から１１番目までのパケットが２番目の期間にキャプチャされたと想定する。便宜的に、５個又は６個のパケットが同一の期間内にキャプチャされたものとしているが、実際にはもっと多くのパケットがキャプチャされる場合もある。
【００２２】
キャプチャサーバ１０１は、第２分類処理において、１つの期間にキャプチャされたパケットを２つのグループに分ける。つまり、１つの期間について、２つの期間オブジェクト３０１が生成される。一方の期間オブジェクト３０１は、Ｘ集合に属する保存サーバ１０５において保存されることを前提として、Ｘ集合領域に記憶される。他方の期間オブジェクト３０１は、Ｙ集合に属する保存サーバ１０５において保存されることを前提として、Ｙ集合領域に記憶される。
【００２３】
この例で、ＩＤ「Ｐ−０１」で識別される１番目の期間においてキャプチャされた１番目から６番目までのパケットを、Ｘ集合領域に記憶される期間オブジェクト３０１ａとＹ集合領域に記憶される期間オブジェクト３０１ｃとに分けている。同様に、ＩＤ「Ｐ−０２」で識別される２番目の期間においてキャプチャされた７番目から１１番目までのパケットを、Ｘ集合領域に記憶される期間オブジェクト３０１ｂとＹ集合領域に記憶される期間オブジェクト３０１ｄとに分けている。
【００２４】
キャプチャサーバ１０１は、第２割り当て処理において、各期間オブジェクト３０１ａ乃至ｄを、前提としている集合の保存サーバ１０５に割り当てる。割り当て先の保存サーバ１０５は、期間ＩＤ及び前提とする集合に基づいて一意に定められる。
【００２５】
この例で、Ｘ集合領域に記憶された期間オブジェクト３０１ａは、Ｘ集合の保存サーバ１０５ａに割り当てられる。つまり、期間オブジェクト３０１ａは、保存サーバ１０５ａに送られ、保存サーバ１０５ａにおいて保存される。Ｘ集合領域に記憶された期間オブジェクト３０１ｂは、Ｘ集合の保存サーバ１０５ｂに割り当てられる。つまり、期間オブジェクト３０１ｂは、保存サーバ１０５ｂに送られ、保存サーバ１０５ｂにおいて保存される。Ｙ集合領域に記憶された期間オブジェクト３０１ｃは、Ｙ集合の保存サーバ１０５ｃに割り当てられる。つまり、期間オブジェクト３０１ｃは、保存サーバ１０５ｃに送られ、保存サーバ１０５ｃにおいて保存される。Ｙ集合領域に記憶された期間オブジェクト３０１ｄは、Ｙ集合の保存サーバ１０５ｄに割り当てられる。つまり、期間オブジェクト３０１ｄは、保存サーバ１０５ｄに送られ、保存サーバ１０５ｄにおいて保存される。
【００２６】
図２において太線枠で示したパケット、つまりＸ集合に属する保存サーバ１０５に保存されたパケットは、図３においてＹ集合に属する保存サーバ１０５に保存される。他方、図２においてＹ集合に属する保存サーバ１０５に保存されたパケットは、図３においてＸ集合に属する保存サーバ１０５に保存される。従って、同一のパケットは、異なる集合に属する保存サーバ１０５に分散される。
【００２７】
尚、説明の便宜のため、１番目の期間に係る期間オブジェクト３０１ａ及び期間オブジェクト３０１ｃと共に、２番目の期間に係る期間オブジェクト３０１ｂ及び期間オブジェクト３０１ｄを表しているが、後述する処理では、第２割り当て処理を終えた期間オブジェクト３０１は消去されるので、２番目の期間に係る期間オブジェクト３０１ｂ及び期間オブジェクト３０１ｄが設けられる段階では、１番目の期間に係る期間オブジェクト３０１ａ及び期間オブジェクト３０１ｃは存在しない。
【００２８】
次に、保存されているセッションオブジェクト２０１を抽出する場合について説明する。図４に、セッションオブジェクト２０１を提供する動作の概要を示す。キャプチャサーバ１０１は、セッションを指定した抽出条件を受け付ける。そして、キャプチャサーバ１０１は、提供処理において、当該セッションに係るセッションオブジェクト２０１を保存サーバ１０５から取得して、そのまま出力する。
【００２９】
この例では、指定されたセッションがセッションＩＤ「ＳＳ−０１」に該当するものとする。セッションＩＤ「ＳＳ−０１」のセッションオブジェクト２０１ａが、保存サーバ１０５ａから抽出され、キャプチャサーバ１０１から出力される。
【００３０】
続いて、保存されている期間オブジェクト３０１を抽出する場合について説明する。図５に、期間オブジェクト３０１を提供する動作の概要を示す。キャプチャサーバ１０１は、期間を指定した抽出条件を受け付ける。複数の期間が指定されることもあるが、ここでは１つの期間が指定されたものとして説明する。キャプチャサーバ１０１は、提供処理において、当該期間に係る期間オブジェクト３０１をＸ集合に属する保存サーバ１０５及びＹ集合に属する保存サーバ１０５から取得する。そして、キャプチャサーバ１０１は、取得した２つの保存サーバ１０５をマージし、キャプチャした順番にパケットを並び替えて１つの期間オブジェクト３０１を生成し、出力する。
【００３１】
この例では、指定された期間が期間ＩＤ「Ｐ−０１」に該当するものとする。図示するように、期間ＩＤ「Ｐ−０１」の期間オブジェクト３０１ａが、保存サーバ１０５ａから抽出され、同じく期間ＩＤ「Ｐ−０１」の期間オブジェクト３０１ｃが、保存サーバ１０５ｃから抽出される。そして、期間オブジェクト３０１ａと期間オブジェクト３０１ｃとが１つにまとめられた期間オブジェクト３０１ｅが生成される。図示するように、期間オブジェクト３０１ｅに含まれるパケットは、１番目から６番目までキャプチャされた順番に並べられる。
【００３２】
次に、いずれかの保存サーバ１０５ｄが故障した場合の復旧について説明する。図６に、セッションオブジェクト２０１及び期間オブジェクト３０１を復旧する動作の概要を示す。ここでは、保存サーバＩＤ「ＳＶ−Ｄ」の保存サーバ１０５ｄが故障し、セッションオブジェクト２０１ｄと期間オブジェクト３０１ｄとを喪失したものと想定する。そして、保存サーバＩＤ「ＳＶ−Ｅ」で識別される保存サーバ１０５ｅを新たに設け、保存サーバ１０５ｅにおいてセッションオブジェクト２０１ｄと期間オブジェクト３０１ｄとを再現するものとする。
【００３３】
このように、Ｙ集合の保存サーバ１０５ｄが故障した場合には、Ｘ集合の保存サーバ１０５に格納されているデータに基づいて、喪失したデータを再現する。また、セッションオブジェクト２０１は、期間オブジェクト３０１に含まれるパケットに基づいて復旧され、期間オブジェクト３０１は、セッションオブジェクト２０１に含まれるパケットに基づいて復旧される。
【００３４】
まず、セッションオブジェクト２０１を復旧する動作について述べる。保存サーバ１０５ａは、第１選出処理において、セッションオブジェクト２０１ｄに含まれていた４番目のパケットを、期間オブジェクト３０１ａから取り出し、保存サーバ１０５ｅへ送る。また、保存サーバ１０５ｂは、第１選出処理において、セッションオブジェクト２０１ｄに含まれていた８番目のパケットと９番目のパケットとを、期間オブジェクト３０１ｂから取り出し、保存サーバ１０５ｅへ送る。
【００３５】
一方、保存サーバ１０５ｅは、４番目のパケット、８番目のパケット及び９番目のパケットを受信すると、第１生成処理において、これらのパケットをまとめたセッションオブジェクト２０１ｄを生成する。
【００３６】
次に、期間オブジェクト３０１を復旧する動作について述べる。保存サーバ１０５ａは、第２選出処理において、期間オブジェクト３０１ｄに含まれていた１０番目のパケットを、セッションオブジェクト２０１ａから取り出し、保存サーバ１０５ｅへ送る。また、保存サーバ１０５ｂは、第２選出処理において、期間オブジェクト３０１ｄに含まれていた７番目のパケットを、セッションオブジェクト２０１ｂから取り出し、保存サーバ１０５ｅへ送る。
【００３７】
一方、保存サーバ１０５ｅは、７番目のパケット及び１０番目のパケットを受信すると、第２生成処理において、これらのパケットをまとめた期間オブジェクト３０１ｄを生成する。
【００３８】
ここでは、新たに設けた保存サーバ１０５においてデータを再現する例を示したが、既存の保存サーバ１０５においてデータを再現するようにしてもよい。その場合の動作も、上述の通りである。以上で本実施の形態における概要の説明を終える。
【００３９】
以下、キャプチャサーバ１０１の動作について説明する。図７に、キャプチャサーバ１０１のモジュール構成例を示す。キャプチャサーバ１０１は、ＮＩＣ（Network Interface Card）７０３、ドライバ７０５、バッファ７０７、解析部７０９、Ｌ４解析部７１１、インデックス記憶部７１５、定義データ記憶部７１７、蓄積部７１９、送信部７２１、受信部７２３及び提供部７２５を有する。
【００４０】
キャプチャサーバ１０１は、ネットワークタップ７０１を介して監視対象ネットワークに接続している。上述の通り、キャプチャサーバ１０１は、監視対象ネットワークを流れているパケットをキャプチャする。この例では、ネットワークタップ７０１を使用してキャプチャする。但し、監視対象ネットワークのスイッチを通過するパケットをミラーポートに複製してキャプチャするようにしてもよい。尚、パケットは、ＰＤＵ（Protocol Data Unit）の例である。
【００４１】
ＮＩＣ７０３は、ネットワークに接続するためのインターフェースカードである。ドライバ７０５は、パケットを抽出し、抽出したパケットをバッファ７０７に格納すると共に、抽出したパケットにＩＤを割り当て、取得時間を特定する。尚、ＮＩＣ７０３が、取得時間を特定するようにしてもよい。バッファ７０７は、取得時間を付加されたパケットを格納する。
【００４２】
解析部７０９は、主にパケットを解析すると共に、パケットを収集するためのインデックを生成する。解析部７０９は、Ｌ４解析部７１１を有している。Ｌ４解析部７１１は、ＩＳＯ（International Organization for Standardization）のＯＳＩ参照モデル（OSI reference model）における第４層（以下、Ｌ４という。）に関する解析を行う。
【００４３】
インデックス記憶部７１５は、インデックステーブルを記憶するための領域を２つ有する。定義データ記憶部７１７は、セッションを定義するデータ、具体的にはセッションテーブルを記憶する。セッションテーブルについては、図９を用いて後述する。更に、定義データ記憶部７１７は、期間を定義するデータ、具体的には期間テーブルを記憶する。期間テーブルについては、図１０を用いて後述する。
【００４４】
蓄積部７１９は、収集したパケットをまとめたセッションオブジェクト２０１及び期間オブジェクト３０１を生成し、生成したセッションオブジェクト２０１及び期間オブジェクト３０１を保存サーバ１０５に蓄積する。送信部７２１は、各種データを伝送ネットワークを介して保存サーバ１０５に送信する。受信部７２３は、伝送ネットワークを介して保存サーバ１０５から各種データを受信する。提供部７２５は、セッションオブジェクト２０１又は期間オブジェクト３０１を抽出して、提供する。
【００４５】
上述したドライバ７０５、解析部７０９、Ｌ４解析部７１１、蓄積部７１９、送信部７２１、受信部７２３及び提供部７２５は、ハードウエア資源（例えば、図５１）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【００４６】
上述したバッファ７０７、インデックス記憶部７１５及び定義データ記憶部７１７は、ハードウエア資源（例えば、図５１）を用いて実現される。
【００４７】
尚、キャプチャサーバ１０１以外の装置（例えば、提供サーバ）において、提供処理を行うようにしてもよい。その場合には、当該装置は、送信部７２１、受信部７２３及び提供部７２５を有する。
【００４８】
続いて、インデックス記憶部７１５に記憶されるインデックステーブルについて説明する。図８に、インデックステーブルの例を示す。この例におけるインデックステーブルは、パケットに対応するレコードを有している。インデックステーブルのレコードは、パケットＩＤが格納されるフィールドと、セッションＩＤが格納されるフィールドと、取得日時が格納されるフィールドとを有している。
【００４９】
パケットＩＤは、パケットを識別するための情報である。この例で、パケットＩＤとして、キャプチャされたパケットに対してシーケンシャルなコードが付与される。セッションＩＤは、当該パケットの伝送に係るセッションを特定するための情報である。取得日時は、当該パケットをキャプチャした日付及び時刻である。
【００５０】
この例における第１レコードにおいて、パケットＩＤ「ＰＣ−００１」が割り振られたパケットに係るセッションは、セッションＩＤ「ＳＳ−０１」で内部的に識別されることを示している。また、当該パケットが日時「Ｔ−００１」にキャプチャされたことを示している。具体的には、いずれのパラメータも実際には数値コードであるが、説明の便宜のため文字コードで示している。
【００５１】
次に、定義データ記憶部７１７に記憶されるセッションテーブルについて説明する。図９に、セッションテーブルの例を示す。この例におけるセッションテーブルは、セッションに対応するレコードを有している。セッションテーブルのレコードは、セッションＩＤが格納されるフィールドと、送信元ＩＰ（Internet Protocol）アドレスが格納されるフィールドと、送信元ポート番号が格納されるフィールドと、送信先ＩＰアドレスが格納されるフィールドと、送信先ポート番号が格納されるフィールドと、プロトコル番号が格納されるフィールドとを有している。
【００５２】
セッションＩＤは、セッションを特定するために解析部７０９が割り振る識別子である。送信元ＩＰアドレスは、当該パケットの送信元である情報処理装置１０３のＩＰアドレスである。送信元ポート番号は、当該パケットの送信元である情報処理装置１０３において当該パケットを送出するポートの番号である。送信先ＩＰアドレスは、当該パケットの送信先に相当する情報処理装置１０３のＩＰアドレスである。送信先ポート番号は、当該パケットの送信先に相当する情報処理装置１０３において当該パケットを受け入れるポートの番号である。プロトコル番号は、ＩＳＯのＯＳＩ参照モデルにおける第４層のプロトコルを識別する番号である。プロトコル番号「６」は、ＴＣＰ（Transmission Control Protocol）を示し、プロトコル番号「１７」は、ＵＤＰ（User Datagram Protocol）を示している。
【００５３】
この例における第１レコードは、セッションＩＤ「ＳＳ−０１」が割り振られたセッションについて、ＩＰアドレス「１０．２０．３０．４０」の情報処理装置１０３におけるポート番号「２０００」が送信元に相当し、ＩＰアドレス「１０．２０．３０．５０」の情報処理装置１０３におけるポート番号「２０」が送信先に相当することを示している。また、第１レコードは、このセッションにおける第４層のプロトコルは、ＴＣＰであることも示している。
【００５４】
図１０に、期間テーブルの例を示す。この例における期間テーブルは、期間オブジェクト３０１を特定する期間に対応するレコードを有している。期間テーブルのレコードは、期間ＩＤが格納されるフィールドと、開始日時が格納されるフィールドと、終了日時が格納されるフィールドとを有している。
【００５５】
期間ＩＤは、期間を識別するための情報である。開始日時は、期間の始点を特定する。終了日時は、期間の終点を特定する。
【００５６】
この例における第１レコードは、期間ＩＤ「Ｐ−０１」が割り振られた期間は、日時「Ｑ−０１」に始まり、日時「Ｑ−０２」に終わることを示している。例えば、期間は周期的に定められる。期間の長さは、例えば０．１秒である。
【００５７】
図１１に、ドライバ処理フローを示す。ドライバ７０５は、待機して、ＮＩＣ７０３からパケットを受ける（Ｓ１１０１）。ＮＩＣ７０３からパケットを受けると、ドライバ７０５は受けたパケットにパケットＩＤを割り当てる（Ｓ１１０３）。そして、ドライバ７０５は、バッファ７０７にパケット及び取得日時を格納する（Ｓ１１０５）。つまり、ドライバ７０５は、格納されるパケットに、当該パケットをキャプチャした日時を付する。ドライバ７０５は、パケットＩＤ、取得日時及びパケットヘッダのアドレスを含む通知を解析部７０９に渡す（Ｓ１１０７）。図１１に示した処理は、ドライバ処理の例である。
【００５８】
図１２に、解析部７０９のモジュール構成例を示す。解析部７０９は、Ｌ４解析部７１１の他に、受付部１２０１、生成部１２０３、第１切り替え部１２０５及び内部記憶部１２０７を有する。
【００５９】
受付部１２０１は、ドライバ７０５から通知を受け付ける。生成部１２０３は、セッションテーブルを生成する。第１切り替え部１２０５は、インデックスを書き込む先となるインデックステーブルの領域を切り替える。内部記憶部１２０７は、解析部７０９の内部で用いるデータを記憶する。
【００６０】
上述した受付部１２０１、生成部１２０３及び第１切り替え部１２０５は、ハードウエア資源（例えば、図５１）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【００６１】
上述した内部記憶部１２０７は、ハードウエア資源（例えば、図５１）を用いて実現される。
【００６２】
図１３及び図１４に、解析処理フローを示す。最初に、送信部７２１は、各保存サーバ１０５へ期間テーブルを送信する（Ｓ１３０１）。但し、他の方法によって、キャプチャサーバ１０１及び各保存サーバ１０５において期間テーブルを共有するようにしてもよい。
【００６３】
受付部１２０１がドライバ７０５から通知を受けると（Ｓ１３０３）、生成部１２０３は、通知から得られるパケットＩＤ及び取得日時を、インデックステーブルの新しいレコードに書く（Ｓ１３０５）。Ｌ４解析部７１１は、通知に含まれるアドレスによってパケットヘッダを特定する（Ｓ１３０７）。Ｌ４解析部７１１は、当該パケットのプロトコルが所定のプロトコルに該当するか否かを判定する（Ｓ１３０９）。所定のプロトコルは、例えばＴＣＰ又はＵＤＰである。当該パケットのプロトコルが所定のプロトコルに該当しないと判定した場合には、端子Ｃを介して図１４のＳ１４０３の処理に移る。このとき、新しいレコードにおけるセッションＩＤのフィールドは、未設定のままとなる。
【００６４】
一方、当該パケットのプロトコルが所定のプロトコルに該当すると判定した場合には、Ｌ４解析部７１１は、パケットヘッダからセッションデータを抽出する（Ｓ１３１１）。セッションデータには、送信元ＩＰアドレス、送信元ポート番号、送信先ＩＰアドレス、送信先ポート番号及びプロトコル番号が含まれる。これらの組は、５−ｔｕｐｌｅと呼ばれることもある。
【００６５】
生成部１２０３は、セッションデータが既にセッションテーブルに登録されているか否かを判定する（Ｓ１３１３）。セッションデータが既にセッションテーブルに登録されていると判定した場合には、端子Ａを介して図１４に示したＳ１４０１の処理に移る。
【００６６】
一方、セッションデータが未だセッションテーブルに登録されていないと判定した場合には、生成部１２０３は、セッションテーブルにレコードを追加する（Ｓ１３１５）。新たなレコードには、新たなセッションＩＤと当該セッションデータとが設定される。具体的には、セッションＩＤ、送信元ＩＰアドレス、送信元ポート番号、送信先ＩＰアドレス、送信先ポート番号及びプロトコル番号が設定される。
【００６７】
そして、送信部７２１は、各保存サーバ１０５へセッションテーブルを送信する（Ｓ１３１７）。但し、他の方法によって、キャプチャサーバ１０１及び各保存サーバ１０５においてセッションテーブルを共有するようにしてもよい。Ｓ１３１７の処理を終えると、端子Ａを介して図１４に示したＳ１４０１の処理に移る。
【００６８】
図１４の説明に移る。生成部１２０３は、Ｓ１３０５の場合と同じ新しいレコードにセッションＩＤを書く（Ｓ１４０１）。セッションＩＤは、セッションテーブルに基づいて特定される。
【００６９】
続いて、Ｌ４解析部７１１は、Ｌ４解析処理を実行する（Ｓ１４０３）。Ｌ４解析処理は、従来の処理と同様であるので、これ以上説明しない。
【００７０】
第１切り替え部１２０５は、インデックステーブル切り替えのタイミングに至ったか否かを判定する（Ｓ１４０７）。第１切り替え部１２０５は、例えば、インデックステーブルに格納されているレコードの数が所定基準数に至った場合に、インデックステーブル切り替えのタイミングに至ったと判定する。或いは、第１切り替え部１２０５は、前回の切り替え時から所定に期間が経過した場合に、インデックステーブル切り替えのタイミングに至ったと判定するようにしてもよい。
【００７１】
インデックステーブル切り替えのタイミングに至ったと判定した場合には、第１切り替え部１２０５はインデックスを書き込むインデックステーブルの領域を切り替える（Ｓ１４０９）。第１切り替え部１２０５は、切り替え指示を蓄積部７１９へ送る（Ｓ１４１１）。これは、蓄積部７１９においても、同時にインデックスを読み込むインデックステーブルの領域を切り替えさせるためである。
【００７２】
図１４に示した処理を終えると、端子Ｂを介して図１３に示したＳ１３０３の処理に戻り、上述した処理を繰り返す。
【００７３】
図１５に、蓄積部７１９のモジュール構成例を示す。蓄積部７１９は、読み込み部１５０１、レコード記憶部１５０３、第１分類部１５０５、第２分類部１５０６、セッションオブジェクト記憶部１５０７、期間オブジェクト記憶部１５０９、第１割り当て部１５１１、第２割り当て部１５１２、集合記憶部１５１３、配置記憶部１５１５及び第２切り替え部１５１７を有する。
【００７４】
読み込み部１５０１は、インデックス記憶部７１５からインデックステーブルのレコードを読み込む。レコード記憶部１５０３は、読み込まれたインデックステーブルのレコードを一時的に記憶する。第１分類部１５０５は、第１分類処理を実行する。第２分類部１５０６は、第２分類処理を実行する。
【００７５】
セッションオブジェクト記憶部１５０７は、生成されたセッションオブジェクト２０１を記憶する。期間オブジェクト記憶部１５０９は、生成された期間オブジェクト３０１を記憶する。
【００７６】
第１割り当て部１５１１は、第１割り当て処理を実行する。第２割り当て部１５１２は、第２割り当て処理を実行する。
【００７７】
集合記憶部１５１３は、集合テーブルを記憶する。集合テーブルについては、図２４を用いて後述する。配置記憶部１５１５は、第１配置テーブル及び第２配置テーブルを記憶する。第１配置テーブルについては、図２８を用いて後述する。第２配置テーブルについては、図３３を用いて後述する。
【００７８】
第２切り替え部１５１７は、読み込む元となるインデックステーブルの領域を切り替える。
【００７９】
上述した読み込み部１５０１、第１分類部１５０５、第２分類部１５０６、第１割り当て部１５１１、第２割り当て部１５１２、及び第２切り替え部１５１７は、ハードウエア資源（例えば、図５１）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【００８０】
上述したレコード記憶部１５０３、セッションオブジェクト記憶部１５０７、期間オブジェクト記憶部１５０９、集合記憶部１５１３及び配置記憶部１５１５は、ハードウエア資源（例えば、図５１）を用いて実現される。
【００８１】
図１６に、セッションオブジェクト２０１の例を示す。この例におけるセッションオブジェクト２０１は、メタデータ１６０１及び結合データ１６０３を含んでいる。結合データ１６０３は、パケットを連結したデータである。メタデータ１６０１は、セッションに関するデータ及びパケットに関するデータを含んでいる。
【００８２】
図１７に、セッションオブジェクト２０１におけるメタデータ１６０１の例を示す。メタデータ１６０１は、ヘッダ部とテーブル部とを有している。ヘッダ部には、セッションＩＤを格納するためのフィールドと、セッションデータを格納するためのフィールドとが設けられている。セッションデータを格納するためのフィールドには、送信元ＩＰアドレスを格納するためのフィールドと、送信元ポート番号を格納するためのフィールドと、送信先ＩＰアドレスを格納するためのフィールドと、送信先ポート番号を格納するためのフィールドと、プロトコル番号を格納するためのフィールドとが含まれている。
【００８３】
この例のヘッダ部は、このメタデータ１６０１が、セッションＩＤ「ＳＳ−０１」のセッションに係るパケットの結合データ１６０３に対応することを示している。また、この例のヘッダ部は、このセッションについて、ＩＰアドレス「１０．２０．３０．４０」の情報処理装置１０３におけるポート番号「２０００」が送信元に相当し、ＩＰアドレス「１０．２０．３０．５０」の情報処理装置１０３におけるポート番号「２０」が送信先に相当することを示している。また、この例のヘッダ部は、このセッションにおける第４層のプロトコルは、ＴＣＰであることも示している。
【００８４】
テーブル部には、結合データ１６０３に含まれるパケット毎のレコードが設けられている。レコードには、パケットＩＤを格納するためのフィールドと、オフセットを格納するためのフィールドと、取得日時を格納するためのフィールドとが設けられている。この例のテーブル部は、１番目のパケットが、パケットＩＤ「ＰＣ−００１」で特定され、オフセット「０」を先頭に格納されていることを示している。また、１番目のパケットは、日時「Ｔ−００１」にキャプチャされている。２番目のパケットは、パケットＩＤ「ＰＣ−００６」で特定され、オフセット「６２４」を先頭に格納されている。また、２番目のパケットは、日時「Ｔ−００６」にキャプチャされている。
【００８５】
図１８に、セッションオブジェクト２０１における結合データ１６０３の例を示す。結合データ１６０３において、同じセッションで伝送されたパケットが連結されている。図１８は、パケットＩＤ「ＰＣ−００１」のパケットにおける先頭オフセットが「０」であり、パケットＩＤ「ＰＣ−００６」のパケットにおける先頭オフセットが「６２４」であることを表している。
【００８６】
図１９に、期間オブジェクト記憶部１５０９の構成例を示す。期間オブジェクト記憶部１５０９は、Ｘ集合領域及びＹ集合領域を有している。Ｘ集合領域には、Ｘ集合に属する保存サーバ１０５に送られる期間オブジェクト３０１（例えば、図３に示した期間オブジェクト３０１ａ）が格納される。Ｙ集合領域には、Ｙ集合に属する保存サーバ１０５に送られる期間オブジェクト３０１（例えば、図３に示した期間オブジェクト３０１ｃ）が格納される。これらの期間オブジェクト３０１は、同一の期間に関する。
【００８７】
図２０に、期間オブジェクト３０１の例を示す。この例における期間オブジェクト３０１は、メタデータ２００１及び結合データ２００３を含んでいる。結合データ２００３は、パケットを連結したデータである。メタデータ２００１は、期間に関するデータ及びパケットに関するデータを含んでいる。
【００８８】
図２１に、期間オブジェクト３０１ａにおけるメタデータ２００１の例を示す。メタデータ２００１は、ヘッダ部とテーブル部とを有している。ヘッダ部には、期間ＩＤを格納するためのフィールドと、開始日時を格納するためのフィールドと、終了日時を格納するためのフィールドとが設けられている。
【００８９】
この例のヘッダ部は、このメタデータ２００１が、期間ＩＤ「Ｐ−０１」のキャプチャに係るパケットの結合データ２００３に対応することを示している。また、この例のヘッダ部は、日時「Ｑ−０１」から日時「Ｑ−０２」までにキャプチャされたパケットを収集していることを示している。
【００９０】
テーブル部には、結合データ２００３に含まれるパケット毎のレコードが設けられている。レコードには、パケットＩＤを格納するためのフィールドと、オフセットを格納するためのフィールドと、取得日時を格納するためのフィールドと、セッションＩＤを格納するためのフィールドとが設けられている。
【００９１】
この例のテーブル部は、１番目のパケットがパケットＩＤ「ＰＣ−００３」で特定され、オフセット「０」を先頭に格納されていることを示している。また、１番目のパケットは、ＩＤ「ＳＳ−０３」で識別されるセッションで伝送され、日時「Ｔ−００３」にキャプチャされている。２番目のパケットは、パケットＩＤ「ＰＣ−００４」で特定され、オフセット「３８４」を先頭に格納されている。また、２番目のパケットは、ＩＤ「ＳＳ−０４」で識別されるセッションで伝送され、日時「Ｔ−００４」にキャプチャされている。
【００９２】
図２２に、期間オブジェクト３０１における結合データ２００３の例を示す。結合データ２００３において、同じ期間にキャプチャされたパケットが連結されている。図２２は、パケットＩＤ「ＰＣ−００３」のパケットにおける先頭オフセットが「０」であり、パケットＩＤ「ＰＣ−００４」のパケットにおける先頭オフセットが「３８４」であることを表している。
【００９３】
図２３に、期間オブジェクト３０１ｃにおけるメタデータ２００１の例を示す。ヘッダ部は、図２１の場合と同様である。一方、テーブル部は、図２１の場合と異なる。
【００９４】
この例のテーブル部は、１番目のパケットが、パケットＩＤ「ＰＣ−００１」で特定され、オフセット「０」を先頭に格納されていることを示している。また、１番目のパケットは、ＩＤ「ＳＳ−０１」で識別されるセッションで伝送され、日時「Ｔ−００１」にキャプチャされている。２番目のパケットは、パケットＩＤ「ＰＣ−００２」で特定され、オフセット「６２４」を先頭に格納されている。また、２番目のパケットは、ＩＤ「ＳＳ−０２」で識別されるセッションで伝送され、日時「Ｔ−００２」にキャプチャされている。
【００９５】
図２４に、集合テーブルの例を示す。この例における集合テーブルは、集合に対応するレコードを有している。集合テーブルのレコードは、保存サーバＩＤが格納されるフィールドを有している。保存サーバＩＤは、当該集合に属する保存サーバ１０５を特定する。集合に属する保存サーバ１０５の数は、１又は複数である。
【００９６】
この例では、ＩＤ「ＳＶ−Ａ」の保存サーバ１０５ａ及びＩＤ「ＳＶ−Ｂ」の保存サーバ１０５ｂがＸ集合に属することを示している。また、ＩＤ「ＳＶ−Ｃ」の保存サーバ１０５ｃ及びＩＤ「ＳＶ−Ｄ」の保存サーバ１０５ｄがＹ集合に属することを示している。
【００９７】
次に、蓄積部７１９による蓄積処理について説明する。本実施の形態では、蓄積処理（Ａ）を実行する。図２５に、蓄積処理（Ａ）フローを示す。読み込み部１５０１は、読み込み元のインデックステーブルに未処理のレコードがあるか否かを判定する（Ｓ２５０１）。未処理のレコードとは、まだ第１分類処理及び第２分類処理が行われていないインデックスに相当する。インデックステーブルに未処理のレコードがあると判定した場合には、読み込み部１５０１は、未処理のレコード群を読み、レコード記憶部１５０３に記憶させる（Ｓ２５０３）。
【００９８】
第１分類部１５０５は、読んだレコードの各々について第１分類処理を行う。第１分類部１５０５は、レコード記憶部１５０３に記憶させたレコードのうち、分類処理の対象となっていない未処理のレコードを１つ特定する（Ｓ２５０５）。そして、第１分類部１５０５は、第１分類処理を実行する（Ｓ２５０７）。第１分類処理では、セッション毎にパケットを収集し、セッションオブジェクト２０１を生成する
【００９９】
図２６に、第１分類処理フローを示す。第１分類部１５０５は、図２５のＳ２５０５で特定されたレコードのパケットＩＤで特定されるパケットをバッファ７０７から取得する（Ｓ２６０１）。第１分類部１５０５は、当該レコードのセッションＩＤ及び取得日時を読む（Ｓ２６０３）。第１分類部１５０５は、当該セッションＩＤに係るセッションオブジェクト２０１が、既にセッションオブジェクト記憶部１５０７に設けられているか否かを判定する（Ｓ２６０５）。
【０１００】
当該セッションＩＤに係るセッションオブジェクト２０１が未だ設けられていないと判定した場合には、第１分類部１５０５は、まずセッションオブジェクト記憶部１５０７に新たな結合データ１６０３の予約領域を設定し、その領域の先頭に当該パケットを格納する（Ｓ２６０７）。続いて、第１分類部１５０５は、セッションオブジェクト記憶部１５０７に当該結合データ１６０３に対応するメタデータ１６０１を生成する。メタデータ１６０１のヘッダ部には、当該セッションＩＤと、セッションテーブルから取得されたセッションデータとが設定される。また、第１分類部１５０５は、メタデータ１６０１のテーブル部に最初のレコードを設定する（Ｓ２６０９）。レコードには、パケットＩＤと当該パケットの先頭を指すオフセットと取得日時とが設定される。
【０１０１】
一方、Ｓ２６０５において、当該セッションＩＤに係るセッションオブジェクト２０１が既に設けられていると判定した場合には、第１分類部１５０５は、既存の結合データ１６０３の予約領域にパケットを追加する（Ｓ２６１１）。また、第１分類部１５０５は、既存のメタデータ１６０１のテーブル部にレコードを追加する（Ｓ２６１３）。レコードには、パケットＩＤと当該パケットの先頭を指すオフセットと取得日時とが設定される。第１分類処理を終えると、呼び出し元の蓄積処理（Ａ）に復帰する。
【０１０２】
図２５の説明に戻る。第１割り当て部１５１１は、セッションオブジェクト２０１を割り当てるタイミングに至ったか否かを判定する（Ｓ２５０９）。第１割り当て部１５１１は、前回の割り当てから所定の時間が経過した場合に、セッションオブジェクト２０１を割り当てるタイミングに至ったと判定する。セッションオブジェクト２０１を割り当てる周期は、例えば１０秒である。
【０１０３】
セッションオブジェクト２０１を割り当てるタイミングに至ったと判定した場合には、蓄積部７１９は、第１割り当て処理を起動する（Ｓ２５１１）。この例で、第１割り当て処理は、スレッドとして動作する。第１割り当て処理では、セッションオブジェクト２０１が保存サーバ１０５に割り当てられる。つまり、第１割り当て部１５１１は、セッションオブジェクト２０１毎に保存サーバ１０５を特定し、当該セッションオブジェクト２０１を当該保存サーバ１０５に格納する。
【０１０４】
図２７に、第１割り当て処理フローを示す。第１割り当て部１５１１は、セッションオブジェクト記憶部１５０７に記憶されているセッションオブジェクト２０１を１つ特定する（Ｓ２７０１）。第１割り当て部１５１１は、特定したセッションオブジェクト２０１のメタデータ１６０１からセッションＩＤを読み、当該セッションＩＤのハッシュ値を算出する（Ｓ２７０３）。第１割り当て部１５１１は、第１配置テーブルに基づいて、当該セッションオブジェクト２０１を割り当てる保存サーバ１０５を特定する（Ｓ２７０５）。
【０１０５】
図２８に、第１配置テーブルの例を示す。第１配置テーブルのレコードは、セッションＩＤのハッシュ値の範囲が格納されるフィールドと、保存サーバＩＤが格納されるフィールドとを有している。
【０１０６】
セッションＩＤのハッシュ値の範囲は、セッションオブジェクト２０１を分類するために用いられる。保存サーバＩＤは、当該範囲に基づいて特定されるセッションオブジェクト２０１を割り当てる保存サーバ１０５を識別する。
【０１０７】
図示した１番目のレコードは、或るセッションＩＤに係るセッションオブジェクト２０１について、当該セッションＩＤのハッシュ値が、「０ｘ００００〜０ｘ３ｆｆｆ」の範囲に含まれる場合に、当該セッションオブジェクト２０１は、ＩＤ「ＳＶ−Ａ」で識別される保存サーバ１０５ａに保存されることを示している。
【０１０８】
図２７の説明に戻る。第１割り当て部１５１１は、当該セッションオブジェクト２０１の保存要求を、特定された保存サーバ１０５に送信する（Ｓ２７０７）。このとき、当該セッションオブジェクト２０１が当該保存サーバ１０５に送られる。そして、第１割り当て部１５１１は、当該セッションオブジェクト２０１を消去する（Ｓ２７０９）。
【０１０９】
第１割り当て部１５１１は、未処理のセッションオブジェクト２０１があるか否かを判定する（Ｓ２７１１）。未処理のセッションオブジェクト２０１があると判定した場合には、Ｓ２７０１に示した処理に戻って、上述した処理を繰り返す。一方、未処理のセッションオブジェクト２０１がないと判定した場合には、第１割り当て処理を終える。
【０１１０】
図２５の説明に戻る。Ｓ２５０９において、セッションオブジェクト２０１を割り当てるタイミングに至っていないと判定した場合には、そのままＳ２５１３の処理に移る。また、Ｓ２５１１において第１割り当て処理を起動した場合には、第１割り当て処理の終了を待たずに、Ｓ２５１３の処理に移る。
【０１１１】
第２分類部１５０６は、第２分類処理を実行する（Ｓ２５１３）。第２分類処理では、期間毎にパケットを収集し、期間オブジェクト３０１を生成する
【０１１２】
図２９に、第２分類処理フロー例を示す。第２分類部１５０６は、図２５のＳ２５０５で特定されたレコードのパケットＩＤで特定されるパケットをバッファ７０７から取得する（Ｓ２９０１）。第２分類部１５０６は、当該レコードのセッションＩＤ及び取得日時を読む（Ｓ２９０３）。第２分類部１５０６は、期間テーブルに基づいて、当該取得日時を含む期間のＩＤを特定する（Ｓ２９０４）。
【０１１３】
第２分類部１５０６は、当該セッションＩＤのハッシュ値を算出する（Ｓ２９０５）。第２分類部１５０６は、第１配置テーブルに基づいて、当該パケットを含むセッションオブジェクト２０１を割り当てる保存サーバ１０５を特定する（Ｓ２９０７）。そして、第２分類部１５０６は、当該保存サーバ１０５はＸ集合に属するか否かを判定する（Ｓ２９０９）。
【０１１４】
Ｓ２９０７で特定した保存サーバ１０５はＸ集合に属さないと判定した場合、つまり当該保存サーバ１０５がＹ集合に属する場合には、第２分類部１５０６は、Ｘ集合処理を実行する（Ｓ２９１１）。Ｘ集合処理では、Ｘ集合領域に期間オブジェクト３０１を生成する。Ｘ集合処理については、図３０を用いて後述する。
【０１１５】
一方、Ｓ２９０７で特定した保存サーバ１０５はＸ集合に属すると判定した場合、第２分類部１５０６は、Ｙ集合処理を実行する（Ｓ２９１３）。Ｙ集合処理では、Ｙ集合領域に期間オブジェクト３０１を生成する。Ｙ集合処理については、図３１を用いて後述する。第２分類処理を終えると、呼び出し元の蓄積処理（Ａ）に復帰する。
【０１１６】
図３０に、Ｘ集合処理フローを示す。第２分類部１５０６は、Ｘ集合領域に、図２９のＳ２９０４で特定した期間ＩＤに係る期間オブジェクト３０１が既に期間オブジェクト記憶部１５０９に設けられているか否かを判定する（Ｓ３００１）。
【０１１７】
当該期間ＩＤに係る期間オブジェクト３０１が未だ設けられていないと判定した場合には、第２分類部１５０６は、まずＸ集合領域に新たな結合データ２００３の予約領域を設定し、その領域の先頭に当該パケットを格納する（Ｓ３００３）。続いて、第２分類部１５０６は、Ｘ集合領域に当該結合データ２００３に対応するメタデータ２００１を生成する。メタデータ２００１のヘッダ部には、当該期間ＩＤと、期間テーブルから取得した開始日時及び終了日時が設定される。また、第２分類部１５０６は、メタデータ２００１のテーブル部に最初のレコードを設定する（Ｓ３００５）。レコードには、パケットＩＤと当該パケットの先頭を指すオフセットと取得日時とセッションＩＤとが設定される。
【０１１８】
一方、当該期間ＩＤに係る期間オブジェクト３０１が既に設けられていると判定した場合には、第２分類部１５０６は、既存の結合データ２００３の予約領域にパケットを追加する（Ｓ３００７）。また、第２分類部１５０６は、既存のメタデータ２００１のテーブル部にレコードを追加する（Ｓ３００９）。レコードには、パケットＩＤと当該パケットの先頭を指すオフセットと取得日時とセッションＩＤとが設定される。Ｘ集合処理を終えると、呼び出し元の第２分類処理に復帰する。
【０１１９】
図３１に、Ｙ集合処理フローを示す。第２分類部１５０６は、Ｙ集合領域に、図２９のＳ２９０４で特定した期間ＩＤに係る期間オブジェクト３０１が既に期間オブジェクト記憶部１５０９に設けられているか否かを判定する（Ｓ３１０１）。
【０１２０】
当該期間ＩＤに係る期間オブジェクト３０１が未だ設けられていないと判定した場合には、第２分類部１５０６は、まずＹ集合領域に新たな結合データ２００３の予約領域を設定し、その領域の先頭に当該パケットを格納する（Ｓ３１０３）。続いて、第２分類部１５０６は、Ｙ集合領域に当該結合データ２００３に対応するメタデータ２００１を生成する。メタデータ２００１のヘッダ部には、当該期間ＩＤと、期間テーブルから取得した開始日時及び終了日時が設定される。また、第２分類部１５０６は、メタデータ２００１のテーブル部に最初のレコードを設定する（Ｓ３１０５）。レコードには、パケットＩＤと当該パケットの先頭を指すオフセットと取得日時とセッションＩＤとが設定される。
【０１２１】
一方、当該期間ＩＤに係る期間オブジェクト３０１が既に設けられていると判定した場合には、第２分類部１５０６は、既存の結合データ２００３の予約領域にパケットを追加する（Ｓ３１０７）。また、第２分類部１５０６は、既存のメタデータ２００１のテーブル部にレコードを追加する（Ｓ３１０９）。レコードには、パケットＩＤと当該パケットの先頭を指すオフセットと取得日時とセッションＩＤとが設定される。Ｙ集合処理を終えると、呼び出し元の第２分類処理に復帰する。
【０１２２】
図２５の説明に戻る。Ｓ２５１３の第２分類処理を終えると、第２割り当て部１５１２は、期間オブジェクト３０１を割り当てるタイミングに至ったか否かを判定する（Ｓ２５１５）。第２割り当て部１５１２は、現在の期間の終了日時に至った場合に、期間オブジェクト３０１を割り当てるタイミングに至ったと判定する。
【０１２３】
期間オブジェクト３０１を割り当てるタイミングに至ったと判定した場合には、蓄積部７１９は、第２割り当て処理を起動する（Ｓ２５１７）。この例で、第２割り当て処理は、スレッドとして動作する。第２割り当て処理では、期間オブジェクト３０１が保存サーバ１０５に割り当てられる。つまり、第２割り当て部１５１２は、期間オブジェクト３０１に対応する保存サーバ１０５を特定し、当該期間オブジェクト３０１を当該保存サーバ１０５に格納する。
【０１２４】
図３２に、第２割り当て処理フローを示す。第２割り当て部１５１２は、図２５のＳ２５１５において終了したと判定した期間のＩＤのハッシュ値を算出する（Ｓ３２０１）。第２割り当て部１５１２は、第２配置テーブルに基づいて、期間ＩＤのハッシュ値が含まれる範囲に対応するＸ集合の保存サーバＩＤを特定する。つまり、Ｘ集合領域の期間オブジェクト３０１が割り当てられる保存サーバ１０５が特定される（Ｓ３２０３）。
【０１２５】
図３３に、第２配置テーブルの例を示す。第２配置テーブルのレコードは、期間ＩＤのハッシュ値の範囲が格納されるフィールドと、Ｘ集合の保存サーバＩＤが格納されるフィールドと、Ｙ集合の保存サーバＩＤが格納されるフィールドとを有している。
【０１２６】
期間ＩＤのハッシュ値の範囲は、期間オブジェクト３０１を分類するために用いられる。Ｘ集合の保存サーバＩＤは、当該範囲に基づいて特定される期間オブジェクト３０１を保存するＸ集合の保存サーバ１０５を識別する。Ｙ集合の保存サーバＩＤは、当該範囲に基づいて特定される期間オブジェクト３０１を保存するＹ集合の保存サーバ１０５を識別する。
【０１２７】
図示した１番目のレコードは、或る期間ＩＤに係る２つの期間オブジェクト３０１について、当該期間ＩＤのハッシュ値が、「０ｘ００００〜０ｘ３ｆｆｆ」の範囲に含まれる場合に、Ｘ集合領域の期間オブジェクト３０１はＩＤ「ＳＶ−Ａ」で識別される保存サーバ１０５ａに保存され、Ｙ集合領域の期間オブジェクト３０１はＩＤ「ＳＶ−Ｃ」で識別される保存サーバ１０５ｃに保存されることを示している。
【０１２８】
図３２の説明に戻る。第２割り当て部１５１２は、Ｘ集合領域の期間オブジェクト３０１の保存要求をＳ３２０３で特定した保存サーバ１０５に送信する（Ｓ３２０５）。その後、第２割り当て部１５１２は、Ｘ集合領域の期間オブジェクト３０１を消去する（Ｓ３２０７）。
【０１２９】
次に、第２割り当て部１５１２は、第２配置テーブルに基づいて、期間ＩＤのハッシュ値が含まれる範囲に対応するＹ集合の保存サーバＩＤを特定する。つまり、Ｙ集合領域の期間オブジェクト３０１が割り当てられる保存サーバ１０５が特定される（Ｓ３２０９）。
【０１３０】
第２割り当て部１５１２は、Ｙ集合領域の期間オブジェクト３０１の保存要求をＳ３２０９で特定した保存サーバ１０５に送信する（Ｓ３２１１）。その後、第２割り当て部１５１２は、Ｙ集合領域の期間オブジェクト３０１を消去する（Ｓ３２１３）。そして、第２割り当て処理を終える。
【０１３１】
図２５の説明に戻る。Ｓ２５１５において、期間オブジェクト３０１を割り当てるタイミングに至っていないと判定した場合には、そのままＳ２５１９の処理に移る。また、Ｓ２５１７において第２割り当て処理を起動した場合には、第２割り当て処理の終了を待たずに、Ｓ２５１９の処理に移る。
【０１３２】
第１分類部１５０５は、Ｓ２５０３で読み込んだレコード群のうち、未処理のレコードがあるか否かを判定する（Ｓ２５１９）。未処理のレコードがあると判定した場合には、Ｓ２５０５に示した処理に戻って、上述した処理を繰り返す。
【０１３３】
一方、未処理のレコードがないと判定した場合には、Ｓ２５０１に示した処理に戻って、上述した処理を繰り返す。
【０１３４】
Ｓ２５０１の説明に戻る。Ｓ２５０１において、インデックステーブルに未処理のレコードがないと判定した場合には、第２切り替え部１５１７は、解析部７０９の第１切り替え部１２０５から切り替え指示を受けたか否かを判定する（Ｓ２５２１）。切り替え指示を受けたと判定した場合には、第２切り替え部１５１７は、第１分類部１５０５及び第２分類部１５０６がインデックスを読み取る元となるインデックステーブルの領域を切り替える（Ｓ２５２３）。そして、Ｓ２５０１に示した処理に戻って、上述した処理を繰り返す。
【０１３５】
続いて、提供部７２５による提供処理について説明する。図３４に、提供処理フローを示す。提供部７２５は、例えば受信部７２３を介して、抽出条件を受け付ける（Ｓ３４０１）。提供部７２５は、セッションオブジェクト２０１の抽出条件であるか否かを判定する（Ｓ３４０３）。セッションオブジェクト２０１の抽出条件である場合には、抽出条件にセッションデータが含まれているものとする。
【０１３６】
セッションオブジェクト２０１の抽出条件であると判定した場合に、提供部７２５は、セッションテーブルに基づいて、抽出条件に含まれるセッションデータに対応するセッションＩＤを特定する（Ｓ３４０５）。提供部７２５は、当該セッションＩＤのハッシュ値を算出する（Ｓ３４０７）。提供部７２５は、第１配置テーブルに基づいて、当該ハッシュ値に対応する保存サーバＩＤを読む。つまり、当該セッションＩＤのオブジェクトを保存している保存サーバ１０５が特定される（Ｓ３４０９）。
【０１３７】
提供部７２５は、送信部７２１を介して、当該保存サーバ１０５にセッションオブジェクト２０１の取得要求を送信する（Ｓ３４１１）。セッションオブジェクト２０１の取得要求には、セッションＩＤが含まれる。提供部７２５は、受信部７２３を介して、セッションオブジェクト２０１を受信する（Ｓ３４１３）。そして、提供部７２５は、例えば送信部７２１を介して、当該セッションオブジェクト２０１を出力して（Ｓ３４１５）、提供処理を終える。
【０１３８】
Ｓ３４０３の説明に戻る。Ｓ３４０３において、セッションオブジェクト２０１の抽出条件ではないと判定した場合、つまり期間オブジェクト３０１の抽出条件である場合には、端子Ｄを介して、図３５に示したＳ３５０１の処理に移る。尚、期間オブジェクト３０１の抽出条件である場合には、抽出条件において期間が指定されているものとする。
【０１３９】
図３５の説明に移る。提供部７２５は、期間テーブルに基づいて、指定された期間に対応する期間ＩＤを抽出する（Ｓ３５０１）。複数の期間ＩＤが抽出される場合があるものとする。
【０１４０】
提供部７２５は、期間ＩＤを１つ特定する（Ｓ３５０３）。提供部７２５は、当該期間ＩＤのハッシュ値を算出する（Ｓ３５０５）。提供部７２５は、第２配置テーブルに基づいて、当該ハッシュ値に対応するＸ集合の保存サーバＩＤを読む。つまり、当該期間ＩＤのオブジェクトを保存しているＸ集合の保存サーバ１０５が特定される（Ｓ３５０７）。
【０１４１】
提供部７２５は、送信部７２１を介して、当該Ｘ集合の保存サーバ１０５に期間オブジェクト３０１の取得要求を送信する（Ｓ３５０９）。期間オブジェクト３０１の取得要求には、期間ＩＤが含まれる。提供部７２５は、受信部７２３を介して、期間オブジェクト３０１を受信する（Ｓ３５１１）。そして、端子Ｅを介して、図３６に示したＳ３６０１の処理に移る。
【０１４２】
図３６の説明に移る。提供部７２５は、第２配置テーブルに基づいて、当該期間ＩＤのハッシュ値に対応するＹ集合の保存サーバＩＤを読む。つまり、当該期間ＩＤのオブジェクトを保存しているＹ集合の保存サーバ１０５が特定される（Ｓ３６０１）。
【０１４３】
提供部７２５は、送信部７２１を介して、Ｙ集合の保存サーバ１０５に期間オブジェクト３０１の取得要求を送信する（Ｓ３６０３）。提供部７２５は、受信部７２３を介して、期間オブジェクト３０１を受信する（Ｓ３６０５）。提供部７２５は、図３５のＳ３５１１で受信した期間オブジェクト３０１とＳ３６０５で受信した期間オブジェクト３０１とをマージし、パケットを取得日時の昇順にソートする（Ｓ３６０７）。
【０１４４】
提供部７２５は、例えば送信部７２１を介して、ソートされた期間オブジェクト３０１を出力する（Ｓ３６１１）。
【０１４５】
提供部７２５は、Ｓ３５０３において未特定の期間ＩＤがあるか否かを判定する（Ｓ３６１３）。未特定の期間ＩＤがあると判定した場合には、端子Ｆを介して、図３５に示したＳ３５０３の処理に戻って、上述した処理を繰り返す。一方、未特定の期間ＩＤがないと判定した場合には、提供処理を終える。
【０１４６】
尚、図３４乃至図３６に示した処理は、提供処理の例である。提供部７２５は、抽出条件を各保存サーバ１０５に送信するようにしてもよい。各保存サーバ１０５は、抽出条件に従って自ら保持するセッションオブジェクト及び期間オブジェクトを特定するようにしてもよい。以上で、キャプチャサーバ１０１の動作についての説明を終える。
【０１４７】
続いて、保存サーバ１０５の動作について説明する。図３７に、保存サーバ１０５のモジュール構成例を示す。保存サーバ１０５は、送信部３７０１、受信部３７０３、書き込み部３７０５、定義データ記憶部３７０７、セッションオブジェクト記憶部３７０９、期間オブジェクト記憶部３７１１、返還部３７１３及び復旧部３７１５を有する。
【０１４８】
送信部３７０１は、伝送ネットワークを介して各種データを送信する。受信部３７０３は、伝送ネットワークを介して各種データを受信する。書き込み部３７０５は、各種データを書き込む。定義データ記憶部３７０７は、キャプチャサーバ１０１の定義データ記憶部７１７と同様のデータ（セッションテーブル及び期間テーブル）を記憶する。セッションオブジェクト記憶部３７０９は、セッションオブジェクト２０１を記憶する。期間オブジェクト記憶部３７１１は、期間オブジェクト３０１を記憶する。返還部３７１３は、キャプチャサーバ１０１から取得要求に応じてセッションオブジェクト２０１又は期間オブジェクト３０１を返還する。
【０１４９】
復旧部３７１５は、喪失したセッションオブジェクト２０１及び期間オブジェクト３０１を復旧するための処理を行う。復旧部３７１５は、選出部３７１７及び第１生成部３７１９を有する。選出部３７１７は、第１選出処理及び第２選出処理を実行する。第１生成部３７１９は、第１生成処理及び第２生成処理を実行する。
【０１５０】
上述した送信部３７０１、受信部３７０３、書き込み部３７０５、返還部３７１３、復旧部３７１５、選出部３７１７及び第１生成部３７１９は、ハードウエア資源（例えば、図５１）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【０１５１】
上述した定義データ記憶部３７０７、セッションオブジェクト記憶部３７０９及び期間オブジェクト記憶部３７１１は、ハードウエア資源（例えば、図５１）を用いて実現される。
【０１５２】
続いて、書き込み部３７０５による書き込み処理について説明する。本実施の形態では、書き込み処理（Ａ）を実行する。図３８に、書き込み処理（Ａ）フローを示す。受信部３７０３に於いて期間テーブルを受信すると（Ｓ３８０１）、書き込み部３７０５は、受信した期間テーブルを定義データ記憶部３７０７に記憶する（Ｓ３８０３）。
【０１５３】
書き込み部３７０５は、受信部３７０３に於いてセッションテーブルを受信したか否かを判定する（Ｓ３８０５）。一方、セッションテーブルを受信したと判定した場合には、書き込み部３７０５は、受信したセッションテーブルを定義データ記憶部３７０７に記憶する（Ｓ３８０７）。セッションテーブルを受信していないと判定した場合には、そのままＳ３８０９の処理に移る。
【０１５４】
書き込み部３７０５は、受信部３７０３に於いてセッションオブジェクト２０１の保存要求を受信したか否かを判定する（Ｓ３８０９）。セッションオブジェクト２０１の保存要求を受信したと判定した場合には、書き込み部３７０５は、セッションオブジェクト２０１をセッションオブジェクト記憶部３７０９に記憶する（Ｓ３８１１）。一方、セッションオブジェクト２０１の保存要求を受信していないと判定した場合には、そのままＳ３８１３の処理に移る。
【０１５５】
書き込み部３７０５は、受信部３７０３に於いて期間オブジェクト３０１の保存要求を受信したか否かを判定する（Ｓ３８１３）。期間オブジェクト３０１の保存要求を受信したと判定した場合には、書き込み部３７０５は、期間オブジェクト３０１を期間オブジェクト記憶部３７１１に記憶する（Ｓ３８１５）。そして、Ｓ３８０５に示した処理に戻って、上述した処理を繰り返す。また、期間オブジェクト３０１の保存要求を受信していないと判定した場合にも、そのままＳ３８０５に示した処理に戻って、上述した処理を繰り返す。
【０１５６】
図３８に示した処理は、書き込み処理の例である。保存サーバ１０５において、自ら保持するセッションオブジェクト２０１に関するセッションテーブルを生成するようにしてもよい。その場合には、Ｓ３８０５及びＳ３８０７の処理を省くようにしてもよい。または、保存サーバ１０５において、自ら保持する期間オブジェクト３０１に関する期間テーブルを生成するようにしてもよい。その場合には、Ｓ３８０１及びＳ３８０３の処理を省くようにしてもよい。
【０１５７】
次に、返還部３７１３による返還処理について説明する。図３９に、返還処理フローを示す。返還部３７１３は、受信部３７０３に於いてセッションオブジェクト２０１の取得要求を受信したか否かを判定する（Ｓ３９０１）。セッションオブジェクト２０１の取得要求を受信したと判定した場合には、返還部３７１３は、セッションオブジェクト２０１の取得要求に含まれるセッションＩＤで特定されるセッションオブジェクト２０１を読む（Ｓ３９０３）。そして、返還部３７１３は、送信部３７０１を介して、当該セッションオブジェクト２０１を要求元へ送信する（Ｓ３９０５）。セッションオブジェクト２０１の取得要求を受信していないと判定した場合には、そのままＳ３９０７の処理に移る。
【０１５８】
返還部３７１３は、受信部３７０３に於いて期間オブジェクト３０１の取得要求を受信したか否かを判定する（Ｓ３９０７）。期間オブジェクト３０１の取得要求を受信したと判定した場合には、返還部３７１３は、期間オブジェクト３０１の取得要求に含まれる期間ＩＤで特定される期間オブジェクト３０１を読む（Ｓ３９０９）。そして、返還部３７１３は、送信部３７０１を介して、当該期間オブジェクト３０１を要求元へ送信する（Ｓ３９１１）。期間オブジェクト３０１の取得要求を受信していないと判定した場合には、Ｓ３９０１の処理に戻る。
【０１５９】
図３９に示した処理は、返還処理の例である。返還部３７１３は、受信部３７０３に於いて受信した抽出条件に従って、自ら保持するセッションオブジェクト２０１及び期間オブジェクト３０１を特定するようにしてもよい。
【０１６０】
最後に、復旧部３７１５による復旧処理について説明する。図４０に、復旧処理フローを示す。受信部３７０３に於いて復旧指示を受信すると（Ｓ４００１）、復旧部３７１５は、集合テーブルに基づいて、故障した保存サーバ１０５が保存サーバ１０５自身と同じ集合に属するか否かを判定する（Ｓ４００３）。尚、復旧指示には、故障した保存サーバ１０５のＩＤ及び新たな保存先となる保存サーバ１０５のＩＤが含まれているものとする。故障した保存サーバ１０５が保存サーバ１０５自身と同じ集合に属すると判定した場合には、Ｓ４００１に示した処理に戻って、上述した処理を繰り返す。
【０１６１】
故障した保存サーバ１０５が保存サーバ１０５自身と異なる集合に属すると判定した場合には、選出部３７１７は、第１選出処理を実行する（Ｓ４００５）。第１選出処理では、喪失したセッションオブジェクト２０１の再現に用いられるパケットを期間オブジェクト３０１から選び出す。
【０１６２】
図４１に、第１選出処理フローを示す。選出部３７１７は、期間オブジェクト記憶部３７１１に記憶している期間オブジェクト３０１を１つ特定する（Ｓ４１０１）。
【０１６３】
選出部３７１７は、当該期間オブジェクト３０１に含まれるパケットを１つ特定する（Ｓ４１０３）。選出部３７１７は、当該パケットのセッションＩＤを特定する（Ｓ４１０５）。選出部３７１７は、セッションＩＤのハッシュ値を算出する（Ｓ４１０７）。選出部３７１７は、第１配置テーブルに基づいて、セッションＩＤのハッシュ値に対応する保存サーバＩＤを特定する（Ｓ４１０９）。
【０１６４】
選出部３７１７は、特定した保存サーバＩＤが故障した保存サーバ１０５のＩＤであるか否かを判定する（Ｓ４１１１）。特定した保存サーバＩＤが故障した保存サーバ１０５のＩＤであると判定した場合には、選出部３７１７は、送信部３７０１を介して、新たな保存先である保存サーバ１０５にパケット及び第１付加データを送信する（Ｓ４１１３）。第１付加データは、パケットＩＤ、セッションＩＤ及び取得時間を含む。特定した保存サーバＩＤが故障した保存サーバ１０５のＩＤでないと判定した場合には、そのままＳ４１１５の処理に移る。
【０１６５】
選出部３７１７は、未処理のパケットがあるか否かを判定する（Ｓ４１１５）。未処理のパケットがあると判定した場合には、Ｓ４１０３に示した処理に戻って、上述した処理を繰り返す。
【０１６６】
一方、未処理のパケットがないと判定した場合には、選出部３７１７は、未処理の期間オブジェクト３０１があるか否かを判定する（Ｓ４１１７）。未処理の期間オブジェクト３０１があると判定した場合には、Ｓ４１０１に示した処理に戻って、上述した処理を繰り返す。
【０１６７】
一方、未処理の期間オブジェクト３０１がないと判定した場合には、第１選出処理を終え、呼び出し元の復旧処理に復帰する。
【０１６８】
図４０の説明に戻る。続いて、選出部３７１７は、第２選出処理を実行する（Ｓ４００７）。第２選出処理では、喪失した期間オブジェクト３０１の再現に用いられるパケットをセッションオブジェクト２０１から選び出す。
【０１６９】
図４２に、第２選出処理フローを示す。選出部３７１７は、セッションオブジェクト記憶部３７０９に記憶しているセッションオブジェクト２０１を１つ特定する（Ｓ４２０１）。
【０１７０】
選出部３７１７は、当該セッションオブジェクト２０１に含まれるパケットを１つ特定する（Ｓ４２０３）。選出部３７１７は、当該パケットの取得時間が該当する期間のＩＤを特定する（Ｓ４２０５）。選出部３７１７は、期間ＩＤのハッシュ値を算出する（Ｓ４２０７）。選出部３７１７は、第２配置テーブルに基づいて、保存サーバＩＤを特定する（Ｓ４２０９）。このとき、選出部３７１７は、保存サーバ１０５自身と異なる集合に属する保存サーバ１０５のＩＤを特定する。
【０１７１】
選出部３７１７は、特定した保存サーバＩＤが故障した保存サーバ１０５のＩＤであるか否かを判定する（Ｓ４２１１）。特定した保存サーバＩＤが故障した保存サーバ１０５のＩＤであると判定した場合には、選出部３７１７は、送信部３７０１を介して、新たな保存先である保存サーバ１０５にパケット及び第２付加データを送信する（Ｓ４２１３）。第２付加データは、パケットＩＤ、セッションＩＤ、取得時間及び期間ＩＤを含む。特定した保存サーバＩＤが故障した保存サーバ１０５のＩＤでないと判定した場合には、そのままＳ４２１５の処理に移る。
【０１７２】
選出部３７１７は、未処理のパケットがあるか否かを判定する（Ｓ４２１５）。未処理のパケットがあると判定した場合には、Ｓ４２０３に示した処理に戻って、上述した処理を繰り返す。
【０１７３】
一方、未処理のパケットがないと判定した場合には、選出部３７１７は、未処理のセッションオブジェクト２０１があるか否かを判定する（Ｓ４２１７）。未処理のセッションオブジェクト２０１があると判定した場合には、Ｓ４２０１に示した処理に戻って、上述した処理を繰り返す。
【０１７４】
一方、未処理のセッションオブジェクト２０１がないと判定した場合には、第２選出処理を終え、呼び出し元の復旧処理に復帰する。
【０１７５】
図４０の説明に戻る。第２選出処理を終えると、Ｓ４００１に示した処理に戻って、上述した処理を繰り返す。
【０１７６】
一方のオブジェクトを再現する側の処理の説明に移る。図４３に、第１生成処理フローを示す。受信部３７０３に於いてパケット及び第１付加データを受信すると（Ｓ４３０１）、第１生成部３７１９は、第１付加データに含まれるセッションＩＤのセッションオブジェクト２０１が、既にセッションオブジェクト記憶部３７０９に設けられているか否かを判定する（Ｓ４３０３）。
【０１７７】
当該セッションＩＤのセッションオブジェクト２０１が、未だセッションオブジェクト記憶部３７０９に設けられていないと判定した場合には、第１生成部３７１９は、まずセッションオブジェクト記憶部３７０９に新たな結合データ１６０３の予約領域を設定し、その領域の先頭に当該パケットを格納する（Ｓ４３０５）。続いて、第１生成部３７１９は、セッションオブジェクト記憶部３７０９に当該結合データ１６０３に対応するメタデータ１６０１を生成する。メタデータ１６０１のヘッダ部には、当該セッションＩＤと当該セッションＩＤに対応するセッションデータとが設定される。また、第１生成部３７１９は、メタデータ１６０１のテーブル部に最初のレコードを設定する（Ｓ４３０７）。レコードには、パケットＩＤと当該パケットの先頭を指すオフセットと取得日時とが設定される。
【０１７８】
一方、当該セッションＩＤに係るセッションオブジェクト記憶部３７０９が既に設けられていると判定した場合には、第１生成部３７１９は、既存の結合データ１６０３の予約領域にパケットを追加する（Ｓ４３０９）。また、第１生成部３７１９は、既存のメタデータ１６０１のテーブル部にレコードを追加する（Ｓ４３１１）。レコードには、パケットＩＤと当該パケットの先頭を指すオフセットと取得日時とが設定される。そして、Ｓ４３０１に示した処理に戻って、上述した処理を繰り返す。
【０１７９】
図４４に、第２生成処理フローを示す。受信部３７０３に於いてパケット及び第２付加データを受信すると（Ｓ４４０１）、第１生成部３７１９は、第２付加データに含まれる期間ＩＤの期間オブジェクト３０１が、既に期間オブジェクト記憶部３７１１に設けられているか否かを判定する（Ｓ４４０３）。
【０１８０】
当該期間ＩＤの期間オブジェクト３０１が、未だ期間オブジェクト記憶部３７１１に設けられていないと判定した場合には、第１生成部３７１９は、まず期間オブジェクト記憶部３７１１に新たな結合データ２００３の予約領域を設定し、その領域の先頭に当該パケットを格納する（Ｓ４４０５）。続いて、第１生成部３７１９は、期間オブジェクト記憶部３７１１に当該結合データ２００３に対応するメタデータ２００１を生成する。メタデータ２００１のヘッダ部には、当該期間ＩＤと、当該期間ＩＤに対応する開始日時及び終了日時が設定される。また、第１生成部３７１９は、メタデータ２００１のテーブル部に最初のレコードを設定する（Ｓ４４０７）。レコードには、パケットＩＤと当該パケットの先頭を指すオフセットと取得日時とセッションＩＤとが設定される。
【０１８１】
一方、当該期間ＩＤに係る期間オブジェクト記憶部３７１１が既に設けられていると判定した場合には、第１生成部３７１９は、既存の結合データ２００３の予約領域にパケットを追加する（Ｓ４４０９）。また、第１生成部３７１９は、既存のメタデータ２００１のテーブル部にレコードを追加する（Ｓ４４１１）。レコードには、パケットＩＤと当該パケットの先頭を指すオフセットと取得日時とセッションＩＤとが設定される。そして、Ｓ４４０１に示した処理に戻って、上述した処理を繰り返す。
【０１８２】
本実施の形態によれば、キャプチャされた各パケットを、抽出し易い形式で冗長化することができる。
【０１８３】
更に、キャプチャされた各パケットを、異なる格納場所で保存できる。
【０１８４】
更にセッションオブジェクトの取り出しが容易である。また、２以上の期間オブジェクトの取り出しも比較的容易であるという面がある。
【０１８５】
［実施の形態２］
上述した実施の形態では、キャプチャサーバ１０１においてセッションオブジェクト２０１及び期間オブジェクト３０１を振り分けるフォーク方式の例について説明したが、本実施の形態では、セッションオブジェクト２０１を受けた保存サーバ１０５において期間オブジェクト３０１の元となるパケットを配信するチェーン方式の例について説明する。
【０１８６】
セッションオブジェクト２０１を蓄積する動作は、実施の形態１の場合（図２）と同様である。
【０１８７】
図４５に、実施の形態２において期間オブジェクト３０１を蓄積する動作の概要を示す。Ｘ集合に属する保存サーバ１０５は、転送処理において、保存サーバ１０５自身が保持するセッションオブジェクト２０１に含まれる各パケットをＹ集合に属する保存サーバ１０５に転送する。転送先の保存サーバ１０５は、転送されるパケットの取得時間を含む期間のＩＤに基づいて一意に定められる。
【０１８８】
この例で、保存サーバ１０５ａは、転送処理において、セッションオブジェクト２０１ａに含まれている１番目のパケット及び６番目のパケットを保存サーバ１０５ｃに送る。更に、保存サーバ１０５ａは、同様にセッションオブジェクト２０１ａに含まれている１０番目のパケットを保存サーバ１０５ｄに送る。
【０１８９】
また、保存サーバ１０５ｂは、転送処理において、セッションオブジェクト２０１ｂに含まれている２番目のパケットを保存サーバ１０５ｃに送る。更に、保存サーバ１０５ｂは、同様にセッションオブジェクト２０１ｂに含まれている７番目のパケットを保存サーバ１０５ｄに送る。
【０１９０】
一方、Ｙ集合に属する保存サーバ１０５は、受信したパケットをまとめて期間オブジェクト３０１を生成する。
【０１９１】
この例で、保存サーバ１０５ｃは、１番目のパケット、２番目のパケット及び６番目のパケットを受信すると、第１生成処理において、これらのパケットをまとめた期間オブジェクト３０１ｃを生成する。
【０１９２】
更に、保存サーバ１０５ｄは、７番目のパケット及び１０番目のパケットを受信すると、第１生成処理において、これらのパケットをまとめた期間オブジェクト３０１ｄを生成する。尚、第１生成処理の動作は、実施の形態１における復旧の場合と同様である。
【０１９３】
図４６に、実施の形態２において期間オブジェクト３０１を蓄積する動作の概要を示す。Ｙ集合に属する保存サーバ１０５は、転送処理において、保存サーバ１０５自身が保持するセッションオブジェクト２０１に含まれる各パケットをＸ集合に属する保存サーバ１０５に転送する。上述の通り、転送先の保存サーバ１０５は、転送されるパケットの取得時間を含む期間のＩＤに基づいて一意に定められる。
【０１９４】
この例で、保存サーバ１０５ｃは、転送処理において、セッションオブジェクト２０１ｃに含まれている３番目のパケット及び５番目のパケットを保存サーバ１０５ａに送る。更に、保存サーバ１０５ｃは、同様にセッションオブジェクト２０１ｃに含まれている１１番目のパケットを保存サーバ１０５ｂに送る。
【０１９５】
また、保存サーバ１０５ｄは、転送処理において、セッションオブジェクト２０１ｄに含まれている４番目のパケットを保存サーバ１０５ａに送る。更に、保存サーバ１０５ｄは、同様にセッションオブジェクト２０１ｄに含まれている８番目のパケット及び９番目のパケットを保存サーバ１０５ｂに送る。
【０１９６】
一方、Ｘ集合に属する保存サーバ１０５は、受信したパケットをまとめて期間オブジェクト３０１を生成する。
【０１９７】
この例で、保存サーバ１０５ａは、３番目のパケット、４番目のパケット及び５番目のパケットを受信すると、第１生成処理において、これらのパケットをまとめた期間オブジェクト３０１ａを生成する。
【０１９８】
更に、保存サーバ１０５ｂは、８番目のパケット、９番目のパケット及び１１番目のパケットを受信すると、第１生成処理において、これらのパケットをまとめた期間オブジェクト３０１ｂを生成する。以上で本実施の形態における概要の説明を終える。
【０１９９】
キャプチャサーバ１０１では、蓄積処理（Ａ）に代えて、蓄積処理（Ｂ）を実行する。図４７に、蓄積処理（Ｂ）フローを示す。図２５に示した処理のうち、Ｓ２５１３乃至Ｓ２５１７の処理が省かれる。
【０２００】
続いて、保存サーバ１０５の動作について説明する。図４８に、実施の形態２における保存サーバ１０５のモジュール構成例を示す。実施の形態２における保存サーバ１０５は、図３７に示したモジュールの他に、転送部４８０１及び第２生成部４８０３を有する。
【０２０１】
転送部４８０１は、転送処理を実行する。第２生成部４８０３は、第１生成部３７１９と同様の第１生成処理を実行する。
【０２０２】
上述した転送部４８０１及び第２生成部４８０３は、ハードウエア資源（例えば、図５１）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【０２０３】
本実施の形態では、書き込み処理（Ａ）に代えて、書き込み処理（Ｂ）を実行する。図４９に、書き込み処理（Ｂ）フローを示す。Ｓ３８０１乃至Ｓ３８１１の処理は、図３８の場合と同様である。Ｓ３８１１の処理に続いて、転送部４８０１は、転送処理を実行する（Ｓ４９０１）。
【０２０４】
図５０に、転送処理フローを示す。転送部４８０１は、Ｓ３８１１で記憶したセッションオブジェクト２０１に含まれるパケットを１つ特定する（Ｓ５００１）。
【０２０５】
転送部４８０１は、当該パケットの取得時間が該当する期間のＩＤを特定する（Ｓ５００３）。転送部４８０１は、特定した期間ＩＤのハッシュ値を算出する（Ｓ５００５）。転送部４８０１は、第２配置テーブルに基づいて、保存サーバ１０５自身と異なる集合に属する保存サーバＩＤを特定する（Ｓ５００７）。転送部４８０１は、送信部３７０１を介して、特定した保存サーバ１０５にパケット及び第２付加データを送信する（Ｓ５００９）。
【０２０６】
転送部４８０１は、未処理のパケットがあるか否かを判定する（Ｓ５０１１）。未処理のパケットがあると判定した場合には、Ｓ５００１に示した処理に戻って、上述した処理を繰り返す。一方、未処理のパケットがないと判定した場合には、転送処理を終え、呼び出し元の書き込み処理（Ｂ）に復帰する。
【０２０７】
図４９の説明に戻る。Ｓ３８０９において、セッションオブジェクト２０１の保存要求を受信していないと判定した場合には、Ｓ３８０５に示した処理に戻って、上述した処理を繰り返す。転送処理を終えた場合にも、Ｓ３８０５に示した処理に戻って、上述した処理を繰り返す。
【０２０８】
第２生成部４８０３は、第１生成処理を実行する。第２生成部４８０３における第１生成処理は、実施の形態１の場合（図４３）と同様である。
【０２０９】
本実施の形態によれば、トラフィックを分散できる。
【０２１０】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
【０２１１】
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
【０２１２】
尚、上で述べたキャプチャサーバ１０１は、コンピュータ装置であって、図５１に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５と監視対象ネットワークに接続するための通信制御部２５１７ａ及び伝送ネットワークに接続するための通信制御部２５１７ｂとがバス２５１９で接続されている場合もある。なお、場合によっては、表示制御部２５０７、表示装置２５０９、ドライブ装置２５１３、入力装置２５１５は含まれない場合もある。オペレーティング・システム（ＯＳ：Operating System）及び本実施の形態における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７ａ、通信制御部２５１７ｂ、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。監視対象ネットワークと通信制御部２５１７ａを経由して、或いは伝送ネットワークと通信制御部２５１７ｂを経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０２１３】
また、上で述べた保存サーバ１０５も、コンピュータ装置であって、図５１に示す構成を有することがある。但し、保存サーバ１０５は、監視対象ネットワークに接続するための通信制御部２５１７ａを含まない場合もある。
【０２１４】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【０２１５】
本実施の形態に係るパケット制御方法は、（Ａ）ネットワークからキャプチャされた複数のパケットを第１方式によって分類した複数の第１グループの各々を複数の格納場所のいずれかに割り当て、（Ｂ）上記複数のパケットを第２方式によって分類した複数の第２グループの各々を上記複数の格納場所のいずれかに割り当てる処理を含む。
【０２１６】
このようにすれば、キャプチャされた各パケットを、抽出し易い形式で冗長化することができる。
【０２１７】
更に、複数のパケットの各々を、第２方式によって複数の第２グループのいずれかに分類する際に、当該パケットが属する第１グループが割り当てられる格納場所以外の格納場所に割り当てられる第２グループを選択するようにしてもよい。
【０２１８】
このようにすれば、キャプチャされた各パケットを、異なる格納場所で保存できる。
【０２１９】
また、第１方式は、セッション毎に第１グループを設けるものであってもよい。第２方式は、キャプチャ期間毎に２以上の第２グループを設けるものであってもよい。そして、共通のキャプチャ期間に係る第２グループの各々は、互いに異なる格納場所に割り当てられるようにしてもよい。
【０２２０】
このようにすれば、第１グループの取り出しが容易である。また、２以上の第２グループの取り出しも比較的容易であるという面がある。
【０２２１】
本実施の形態に係るパケット制御方法は、（Ｃ）ネットワークからキャプチャされた複数のパケットを第１方式によって分類した第１グループのパケット群を受信し、（Ｄ）第１グループに含まれる複数のパケットの各々を、当該パケットが第２方式によって分類される第２グループに割り当てられる宛先に送信する処理を含む。
【０２２２】
このようにすれば、トラフィックを分散できる。
【０２２３】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
【０２２４】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０２２５】
（付記１）
ネットワークからキャプチャされた複数のパケットを第１方式によって分類した複数の第１グループの各々を複数の格納場所のいずれかに割り当て、
前記複数のパケットを第２方式によって分類した複数の第２グループの各々を前記複数の格納場所のいずれかに割り当てる
処理をコンピュータに実行させるパケット制御プログラム。
【０２２６】
（付記２）
更に、
前記複数のパケットの各々を、前記第２方式によって前記複数の第２グループのいずれかに分類する際に、当該パケットが属する前記第１グループが割り当てられる格納場所以外の格納場所に割り当てられる前記第２グループを選択する
処理をコンピュータに実行させる付記１記載のパケット制御プログラム。
【０２２７】
（付記３）
前記第１方式は、セッション毎に前記第１グループを設け、
前記第２方式は、キャプチャ期間毎に２以上の第２グループを設け、
共通のキャプチャ期間に係る前記第２グループの各々は、互いに異なる格納場所に割り当てられる
付記２記載のパケット制御プログラム。
【０２２８】
（付記４）
ネットワークからキャプチャされた複数のパケットを第１方式によって分類した複数の第１グループの各々を複数の格納場所のいずれかに割り当てる第１割り当て部と
前記複数のパケットを第２方式によって分類した複数の第２グループの各々を前記複数の格納場所のいずれかに割り当てる第２割り当て部と
を有するパケット制御装置。
【０２２９】
（付記５）
パケット制御システムは、キャプチャ装置と、複数の保存装置とを含み、
前記キャプチャ装置は、
ネットワークからキャプチャされた複数のパケットを第１方式によって分類した複数の第１グループの各々を複数の格納場所のいずれかに割り当てる第１割り当て部と、
前記複数のパケットを第２方式によって分類した複数の第２グループの各々を前記複数の格納場所のいずれかに割り当てる第２割り当て部と
を有し、
前記複数の保存装置の各々は、前記複数の格納場所のいずれかに該当する記憶部を有する
パケット制御システム。
【０２３０】
（付記６）
前記複数の保存装置の各々は、更に、
自らの格納場所に割り当てられた前記第２グループのパケットのうち、当該自らの格納場所以外の或る格納場所に割り当てられた前記第１グループのパケットと同じパケットを選出する選出部と、
選出した前記パケットを、前記或る格納場所に割り当てられた前記第１グループの新たな保存先に送信する送信部と
を有する付記５記載のパケット制御システム。
【０２３１】
（付記７）
ネットワークからキャプチャされた複数のパケットを第１方式によって分類した第１グループのパケット群を受信し、
前記第１グループに含まれる複数のパケットの各々を、当該パケットが第２方式によって分類される第２グループに割り当てられる宛先に送信する
処理をコンピュータに実行させるパケット制御プログラム。
【０２３２】
（付記８）
ネットワークからキャプチャされた複数のパケットを第１方式によって分類した第１グループを受信する受信部と、
前記第１グループに含まれる複数のパケットの各々を、第２方式によって分類される第２グループに割り当てられる宛先に送信する送信部と
を有するパケット制御装置。
【０２３３】
（付記９）
パケット制御システムは、キャプチャ装置と、複数の保存装置とを含み、
前記キャプチャ装置は、
ネットワークからキャプチャされた複数のパケットを第１方式によって分類した複数の第１グループの各々について、当該第１グループを複数の格納場所のいずれかに割り当てる第１割り当て部
を有し、
前記複数の保存装置の各々は、
前記複数の格納場所のいずれかに該当する記憶部と、
割り当てられた前記第１グループを受信する受信部と、
前記第１グループに含まれる複数のパケットの各々を、第２方式によって分類される第２グループに割り当てられる格納場所の保存装置に送信する送信部と
を有するパケット制御システム。
【０２３４】
（付記１０）
前記複数の保存装置の各々は、更に、
自らの格納場所に割り当てられた前記第２グループのパケットのうち、当該自らの格納場所以外の或る格納場所に割り当てられた前記第１グループのパケットと同じパケットを選出する選出部
を有し、
前記送信部は、選出した前記パケットを、前記或る格納場所に割り当てられた前記第１グループの新たな保存先に送信する
付記９記載のパケット制御システム。
【０２３５】
（付記１１）
前記複数の保存装置の各々は、更に、
自らの格納場所に割り当てられた前記第１グループのパケットのうち、当該自らの格納場所以外の或る格納場所に割り当てられた前記第２グループのパケットと同じパケットを選出する選出部
を有し、
前記送信部は、選出した前記パケットを、前記或る格納場所に割り当てられた前記第２グループの新たな保存先に送信する
付記９記載のパケット制御システム。
【符号の説明】
【０２３６】
１０１  キャプチャサーバ    １０３  情報処理装置
１０５  保存サーバ    ２０１  セッションオブジェクト
３０１  期間オブジェクト    ７０１  ネットワークタップ
７０３  ＮＩＣ    ７０５  ドライバ
７０７  バッファ    ７０９  解析部
７１１  Ｌ４解析部
７１５  インデックス記憶部    ７１７  定義データ記憶部
７１９  蓄積部    ７２１  送信部
７２３  受信部    ７２５  提供部
１２０１  受付部    １２０３  生成部
１２０５  第１切り替え部    １２０７  内部記憶部
１５０１  読み込み部    １５０３  レコード記憶部
１５０５  第１分類部    １５０６  第２分類部
１５０７  セッションオブジェクト記憶部    １５０９  期間オブジェクト記憶部
１５１１  第１割り当て部    １５１２  第２割り当て部
１５１３  集合記憶部    １５１５  配置記憶部
１５１７  第２切り替え部    １６０１  メタデータ
１６０３  結合データ    ２００１  メタデータ
２００３  結合データ    ３７０１  送信部
３７０３  受信部    ３７０５  書き込み部
３７０７  定義データ記憶部    ３７０９  セッションオブジェクト記憶部
３７１１  期間オブジェクト記憶部    ３７１３  返還部
３７１５  復旧部    ３７１７  選出部
３７１９  第１生成部    ４８０１  転送部
４８０３  第２生成部
【図１】
2018045479.tif 000003
【図２】
2018045479.tif 000004
【図３】
2018045479.tif 000005
【図４】
2018045479.tif 000006
【図５】
2018045479.tif 000007
【図６】
2018045479.tif 000008
【図７】
2018045479.tif 000009
【図８】
2018045479.tif 000010
【図９】
2018045479.tif 000011
【図１０】
2018045479.tif 000012
【図１１】
2018045479.tif 000013
【図１２】
2018045479.tif 000014
【図１３】
2018045479.tif 000015
【図１４】
2018045479.tif 000016
【図１５】
2018045479.tif 000017
【図１６】
2018045479.tif 000018
【図１７】
2018045479.tif 000019
【図１８】
2018045479.tif 000020
【図１９】
2018045479.tif 000021
【図２０】
2018045479.tif 000022
【図２１】
2018045479.tif 000023
【図２２】
2018045479.tif 000024
【図２３】
2018045479.tif 000025
【図２４】
2018045479.tif 000026
【図２５】
2018045479.tif 000027
【図２６】
2018045479.tif 000028
【図２７】
2018045479.tif 000029
【図２８】
2018045479.tif 000030
【図２９】
2018045479.tif 000031
【図３０】
2018045479.tif 000032
【図３１】
2018045479.tif 000033
【図３２】
2018045479.tif 000034
【図３３】
2018045479.tif 000035
【図３４】
2018045479.tif 000036
【図３５】
2018045479.tif 000037
【図３６】
2018045479.tif 000038
【図３７】
2018045479.tif 000039
【図３８】
2018045479.tif 000040
【図３９】
2018045479.tif 000041
【図４０】
2018045479.tif 000042
【図４１】
2018045479.tif 000043
【図４２】
2018045479.tif 000044
【図４３】
2018045479.tif 000045
【図４４】
2018045479.tif 000046
【図４５】
2018045479.tif 000047
【図４６】
2018045479.tif 000048
【図４７】
2018045479.tif 000049
【図４８】
2018045479.tif 000050
【図４９】
2018045479.tif 000051
【図５０】
2018045479.tif 000052
【図５１】
2018045479.tif 000053