(57)【特許請求の範囲】
【請求項１】
送信元装置から宛先装置へ送信されたパケットを記憶する記憶部と、
受信した前記パケットに含まれるポート番号に応じて前記パケットを圧縮するか否かを決定し、圧縮すると決定した前記パケットを圧縮し、前記記憶部に格納する演算部と、
を有し、
前記演算部は、非圧縮とするポート番号のパケットも間欠的に圧縮して圧縮率を求め、圧縮率の変化に応じて当該ポート番号のパケットを圧縮対象に変更する、
通信記録装置。
【請求項２】
送信元装置から宛先装置へ送信されたパケットを記憶する記憶部と、
受信した前記パケットに含まれるポート番号に応じて前記パケットを圧縮するか否かを決定し、圧縮すると決定した前記パケットを圧縮し、前記記憶部に格納する演算部と、
を有し、
前記演算部は、前記パケットの圧縮実績として圧縮前サイズの累計値と圧縮後サイズの累計値とをポート番号毎に記録し、前記圧縮実績からポート番号毎に圧縮率を求め、ポート番号毎の圧縮率に応じて圧縮するか否かを決定し、前記圧縮前サイズの累計値と前記圧縮後サイズの累計値とを所定周期で減少させる、
通信記録装置。
【請求項３】
送信元装置から宛先装置へ送信されたパケットを記憶する記憶装置と、
受信した前記パケットに含まれるポート番号に応じて前記パケットを圧縮するか否かを決定し、圧縮すると決定した前記パケットを圧縮し、前記記憶装置に格納する情報処理装置と、
を有し、
前記情報処理装置は、非圧縮とするポート番号のパケットも間欠的に圧縮して圧縮率を求め、圧縮率の変化に応じて当該ポート番号のパケットを圧縮対象に変更する、
通信記録システム。
【請求項４】
コンピュータに、
受信したパケットに含まれるポート番号に応じて前記パケットを圧縮するか否かを決定し、
圧縮すると決定した前記パケットを圧縮し、記憶部に格納し、
非圧縮とするポート番号のパケットも間欠的に圧縮して圧縮率を求め、圧縮率の変化に応じて当該ポート番号のパケットを圧縮対象に変更する、
処理を実行させる通信記録プログラム。
【請求項５】
コンピュータが、
受信したパケットに含まれるポート番号に応じて前記パケットを圧縮するか否かを決定し、
圧縮すると決定した前記パケットを圧縮し、記憶部に格納し、
非圧縮とするポート番号のパケットも間欠的に圧縮して圧縮率を求め、圧縮率の変化に応じて当該ポート番号のパケットを圧縮対象に変更する、
通信記録方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信記録装置、通信記録システム、通信記録プログラムおよび通信記録方法に関する。
【背景技術】
【０００２】
現在、種々の装置を含む情報処理システムが利用されている。各装置は、ネットワークや所定のケーブルなどを介して接続され相互に通信する。ネットワーク上でデータをパケット化して伝送するためのプロトコルとして、ＴＣＰ（Transmission Control Protocol）／ＩＰ（Internet Protocol）がある。
【０００３】
ここで、通信するデータを圧縮して、データのサイズを小さくし、送信するデータ量を小さくすることがある。例えば、パーソナルコンピュータとプリンタとを複数種別の通信インタフェースを介して接続可能な場合に、プリンタへデータを圧縮して送信するか非圧縮で送信するかを選択する方法が提案されている。この提案では、パーソナルコンピュータが、プリンタに印刷データを圧縮して送信するか、非圧縮で送信するかを、通信インタフェースの通信速度に応じて決定する（低速通信の場合に圧縮とする）。この提案では、送信対象のデータの圧縮を行って圧縮率を取得し、圧縮して送信するか非圧縮で送信するかを、通信インタフェースの通信速度および当該データの圧縮率により決定することも考えられている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−１１１４３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
装置間で送受信されるパケットを、通信監視用の装置により収集して保存しておき、システムの運用管理に役立てることがある。例えば、通信障害が発生した際、原因や対策の分析に、収集したパケットを活用できる。しかし、収集されるパケットの量は膨大であり、記憶装置の容量を圧迫し得る。そこで、収集したパケットを圧縮することで、保存するデータ量を削減することが考えられる。この場合、圧縮処理の負荷が問題となる。
【０００６】
上記のように、送信されるパケットには、圧縮済のものや非圧縮のものがある。圧縮済のパケットを更に圧縮しても、圧縮によるサイズ減少の効果は小さい。また、パケット化されるデータの種別によっても、圧縮によるサイズ減少の効果が大きいものや小さいものなど様々である。圧縮によるサイズ減少の効果が比較的小さいパケットも含め全てのパケットを圧縮していると、圧縮処理の負荷が大きくなり非効率である。例えば、パケット収集を行う装置の負荷が高まると、パケットの取りこぼしが発生するおそれがある。
【０００７】
１つの側面では、本発明は、圧縮処理の負荷を効率的に減らす通信記録装置、通信記録システム、通信記録プログラムおよび通信記録方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
１つの態様では、通信記録装置が提供される。この通信記録装置は、記憶部と演算部とを有する。記憶部は、送信元装置から宛先装置へ送信されたパケットを記憶する。演算部は、受信したパケットに含まれるポート番号に応じてパケットを圧縮するか否かを決定し、圧縮すると決定したパケットを圧縮し、記憶部に格納する。演算部は、非圧縮とするポート番号のパケットも間欠的に圧縮して圧縮率を求め、圧縮率の変化に応じて当該ポート番号のパケットを圧縮対象に変更する。
また、１つの態様では、通信記録装置が提供される。この通信記録装置は、記憶部と演算部とを有する。記憶部は、送信元装置から宛先装置へ送信されたパケットを記憶する。演算部は、受信したパケットに含まれるポート番号に応じてパケットを圧縮するか否かを決定し、圧縮すると決定したパケットを圧縮し、記憶部に格納する。演算部は、パケットの圧縮実績として圧縮前サイズの累計値と圧縮後サイズの累計値とをポート番号毎に記録し、圧縮実績からポート番号毎に圧縮率を求め、ポート番号毎の圧縮率に応じて圧縮するか否かを決定し、圧縮前サイズの累計値と圧縮後サイズの累計値とを所定周期で減少させる。
【０００９】
また、１つの態様では、通信記録システムが提供される。この通信記録システムは、記憶装置と情報処理装置とを有する。記憶装置は、送信元装置から宛先装置へ送信されたパケットを記憶する。情報処理装置は、受信したパケットに含まれるポート番号に応じてパケットを圧縮するか否かを決定し、圧縮すると決定したパケットを圧縮し、記憶装置に格納する。情報処理装置は、非圧縮とするポート番号のパケットも間欠的に圧縮して圧縮率を求め、圧縮率の変化に応じて当該ポート番号のパケットを圧縮対象に変更する。
【００１０】
また、１つの態様では、通信記録プログラムが提供される。この通信記録プログラムは、コンピュータに、受信したパケットに含まれるポート番号に応じてパケットを圧縮するか否かを決定し、圧縮すると決定したパケットを圧縮し、記憶部に格納し、非圧縮とするポート番号のパケットも間欠的に圧縮して圧縮率を求め、圧縮率の変化に応じて当該ポート番号のパケットを圧縮対象に変更する、処理を実行させる。
【００１１】
また、１つの態様では、通信記録方法が提供される。この通信記録方法では、コンピュータが、受信したパケットに含まれるポート番号に応じてパケットを圧縮するか否かを決定し、圧縮すると決定したパケットを圧縮し、記憶部に格納し、非圧縮とするポート番号のパケットも間欠的に圧縮して圧縮率を求め、圧縮率の変化に応じて当該ポート番号のパケットを圧縮対象に変更する。
【発明の効果】
【００１２】
１つの側面では、圧縮処理の負荷を効率的に減らす。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態の通信記録装置を示す図である。
【図２】第２の実施の形態の通信記録システムを示す図である。
【図３】キャプチャサーバのハードウェア例を示す図である。
【図４】キャプチャサーバの機能例を示す図である。
【図５】パケットに含まれるヘッダの例を示す図である。
【図６】圧縮率管理テーブルの例を示す図である。
【図７】圧縮量管理テーブルの例を示す図である。
【図８】圧縮制御テーブルの例を示す図である。
【図９】圧縮率補正テーブルの例を示す図である。
【図１０】圧縮処理の例を示すフローチャートである。
【図１１】圧縮率管理処理の例を示すフローチャートである。
【図１２】圧縮率補正処理の例を示すフローチャートである。
【図１３】圧縮率を減衰させる例を示す図である。
【図１４】圧縮率管理テーブルの他の例（その１）を示す図である。
【図１５】圧縮率管理テーブルの他の例（その２）を示す図である。
【図１６】第３の実施の形態の圧縮率管理テーブルの例を示す図である。
【図１７】第３の実施の形態の圧縮率管理処理の例を示すフローチャートである。
【図１８】第４の実施の形態のストレージサーバの機能例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の通信記録装置を示す図である。第１の実施の形態で例示するシステムは、通信記録装置１、送信元装置２および宛先装置３を含む。送信元装置２および宛先装置３は、ネットワーク４に接続されている。通信記録装置１、送信元装置２および宛先装置３は、通信プロトコルにＴＣＰ／ＩＰを利用する。
【００１５】
ネットワーク４では、送信元装置２と宛先装置３との間の通信経路上にタップ５が設けられている。通信記録装置１は、タップ５に接続されている。タップ５は、送信元装置２から宛先装置３へ送信されるパケット６を宛先装置３側へ転送する。
【００１６】
パケット６は、ポート番号の情報を含む。ポート番号は、パケット６内のＴＣＰヘッダまたはＵＤＰ（User Datagram Protocol）ヘッダに含まれる情報である。ポート番号は、ＯＳＩ（Open Systems Interconnection）参照モデルの第４層（トランスポート層）において、送信元／宛先のアプリケーションプログラムの識別に用いられる。
【００１７】
タップ５は、パケット６を複製することでパケット６ａを生成し、パケット６ａを通信記録装置１側へも送信する。パケット６ａは、パケット６の複製であるため、パケット６と同じ情報を含む。通信記録装置１は、タップ５から受信するパケット６ａを保存する。こうして、通信記録装置１は、送信元装置２と宛先装置３との間の通信内容を記録する。
【００１８】
通信記録装置１は、記憶部１ａおよび演算部１ｂを有する。記憶部１ａは、例えば、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置である。記憶部１ａは、ＲＡＭ（Random Access Memory）などの揮発性記憶装置でもよい。演算部１ｂは、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）などを含み得る。演算部１ｂはプログラムを実行するプロセッサであってもよい。ここでいう「プロセッサ」には、複数のプロセッサの集合（マルチプロセッサ）も含まれ得る。
【００１９】
記憶部１ａは、パケット６ａを記憶する。パケット６ａは、演算部１ｂにより圧縮されて記憶部１ａに格納されることもある。
演算部１ｂは、受信したパケット６ａに含まれるポート番号に応じてパケットを圧縮するか否かを決定する。演算部１ｂは、圧縮すると決定したパケットを圧縮し、記憶部１ａに格納する。演算部１ｂは、パケット毎に圧縮してもよいし、セッション単位に複数のパケットをまとめて圧縮してもよい。セッションは、パケット内のアドレスやポート番号などの組による通信の識別単位である。演算部１ｂは、圧縮しないと決定したパケットを、圧縮せずに記憶部１ａに格納する。
【００２０】
ポート番号は、前述のようにアプリケーションプログラムに対応している。アプリケーションプログラムは、平文データを扱うもの（例えば、ＴｅｌｎｅｔやＨＴＴＰ（Hypertext Transfer Protocol））や暗号化されたデータを扱うもの（例えば、ＳＳＨ（Secure SHell）やＨＴＴＰＳ（HTTP over TLS/SSL）（ＴＬＳ／ＳＳＬはTransport Layer Security / Secure Sockets Layerの略））など様々である。また、平文データを扱うものでも、主にテキスト形式のデータを扱うもの（例えば、Ｔｅｌｎｅｔ）や画像や動画などのデータを扱うことがあるもの（例えば、ＨＴＴＰ）など様々である。
【００２１】
すなわち、通信先のアプリケーションプログラムに応じて、例えばパケット化されたデータが暗号化されたデータか平文データか、あるいは平文のテキストデータか、などを区別できる。例えば、暗号化されていないデータは、暗号化されているデータよりも圧縮によるサイズ減少の効果が高い。また、例えば、テキスト形式のデータは、他の形式のデータよりも圧縮によるサイズ減少の効果が高い。
【００２２】
演算部１ｂは、圧縮によるサイズ減少の効果が比較的高いと見込まれるアプリケーションプログラムに対応するポート番号（例えば、Ｔｅｌｎｅｔに対応する２３など）をパケット６ａが含む場合、パケット６ａを圧縮すると決定する。演算部１ｂは、圧縮によるサイズ減少の効果が比較的低いと見込まれるアプリケーションプログラムに対応するポート番号（例えば、ＳＳＨに対応する２２など）をパケット６ａが含む場合、パケット６ａを圧縮しないと決定する。
【００２３】
ここで、全てのパケットを圧縮していると、圧縮処理の負荷によって通信記録装置１の負荷が高まるおそれがある。圧縮処理の負荷は他の処理の負荷に比べて大きい。通信記録装置１では、大量のパケットを収集するため、収集自体の負荷も高い。通信記録装置１の負荷が高まると、通信記録装置１でバッファリングできなくなった到着パケットが破棄されてしまい、パケットの取りこぼしが発生するおそれがある。他方、全く圧縮を行わないとすると収集したいパケット量に応じて多くの記憶容量を用意せねばならなくなる。
【００２４】
そこで、通信記録装置１は、収集したパケット６ａに含まれるポート番号に応じてパケット６ａの圧縮／非圧縮を決定することで、圧縮効率のよいパケットを圧縮し、圧縮効率の悪いパケットを圧縮しないようにする。圧縮効率の悪いパケットを圧縮しても、記憶容量の節約への寄与は小さいからである。これにより、圧縮処理の負荷を効率的に減らすことができる。その結果、通信記録装置１の負荷を軽減し、パケットの取りこぼしを抑制しながら、パケットを保存するための記憶容量を節約できる。
【００２５】
更に、ＦＴＰ（File Transfer Protocol）やＨＴＴＰなどのように、種々の形式のデータを転送するアプリケーションプログラムや、ウェルノウンポート（well-known port）以外のポート番号に対応するアプリケーションプログラムでは、どのような形式のデータを扱うか不明なこともある。そこで、通信記録装置１は、圧縮により削減されたデータ量の実績を、ポート番号毎に記録し、当該圧縮の実績に基づいて、ポート番号毎にパケットを圧縮するか否かを決定してもよい。
【００２６】
例えば、演算部１ｂは、ある期間におけるパケットの収集／圧縮の実績として、テーブルＴ１を作成する。テーブルＴ１には、ポート番号とパケットの圧縮前のサイズの累計と圧縮後のサイズの累計とが対応づけて記録されている。例えば、テーブルＴ１は、ポート番号“Ｘ”、圧縮前の累計サイズ“ａ１”、圧縮後の累計サイズ“ａ２”という情報を含む。テーブルＴ１は、ポート番号“Ｙ”、圧縮前の累計サイズ“ｂ１”、圧縮後の累計サイズ“ｂ２”という情報を含む。テーブルＴ１は、ポート番号“Ｚ”、圧縮前の累計サイズ“ｃ１”、圧縮後の累計サイズ“ｃ２”という情報を含む。
【００２７】
演算部１ｂは、ポート番号“Ｘ”を含むパケット６ａを受信したとき、テーブルＴ１に基づいて、パケット６ａを圧縮して保存するか否かを決定してもよい。より具体的には、演算部１ｂは、（圧縮により削減されるサイズの割合）＝｛（圧縮前の累計サイズ）−（圧縮後の累計サイズ）｝／（圧縮前の累計サイズ）＝（ａ１−ａ２）／ａ１が閾値以上である場合にパケット６ａを圧縮する。演算部１ｂは、圧縮により削減されるサイズの割合が閾値よりも小さい場合にパケット６ａを圧縮しないと決定する。
【００２８】
このように、通信記録装置１は、ポート番号毎の圧縮実績に基づいて、圧縮効率のよいパケットに限定して圧縮を行うことで、圧縮処理の負荷を効率的に減らすことができる。また、現状用いられているデータ形式の傾向に追随して、ポート番号毎に圧縮を行うか否かを選択可能となる。すなわち、同じポート番号について、時間帯によって通信内容が変化する場合にも対応可能となる。
【００２９】
なお、第１の実施の形態では、タップ５を用いる例を示した。一方、タップ５に代えて、ポートミラーリング機能（ある通信インタフェースを用いて転送されるパケットを複製して、通信記録装置１が接続される監視用の通信インタフェースからも送出する機能）を備えるスイッチを用いてもよい。また、通信記録装置１が収集したパケットを保存する記憶装置を、通信記録装置１に外付けしてもよい。
【００３０】
［第２の実施の形態］
図２は、第２の実施の形態の通信記録システムを示す図である。第２の実施の形態の通信記録システムは、キャプチャサーバ１００、ストレージサーバ２００，２００ａ，２００ｂを含む。キャプチャサーバ１００は、ストレージサーバ２００，２００ａ，２００ｂと所定のケーブルを介して接続されている。キャプチャサーバ１００は、スイッチを介して、ストレージサーバ２００，２００ａ，２００ｂと接続されてもよい。
【００３１】
ストレージサーバ２００は、ストレージ装置３００と接続されている。ストレージサーバ２００ａは、ストレージ装置３００ａと接続されている。ストレージサーバ２００ｂは、ストレージ装置３００ｂと接続されている。
【００３２】
第２の実施の形態の通信記録システムは、ネットワーク１０を経由するパケットを収集して保存する。ネットワーク１０は、複数の中継装置が所定のケーブルで接続されることで形成される。ネットワーク１０は、例えばＬＡＮ（Local Area Network）である。ネットワーク１０は、サーバコンピュータやストレージ装置が接続されるＳＡＮ（Storage Area Network）でもよい。
【００３３】
ネットワーク１０には業務サーバ４００，５００が接続されている。業務サーバ４００，５００は、相互に通信し、業務処理を実行するサーバコンピュータであり、Ｗｅｂサーバ、アプリケーションサーバおよびデータベースサーバなどとして機能する。ネットワーク１０には、業務サーバ４００，５００以外にも種々のサーバコンピュータが接続されてもよい。ネットワーク１０には、業務サーバ４００，５００などのサーバコンピュータと通信するクライアントコンピュータが接続されてもよい。第２の実施の形態では通信にＴＣＰ／ＩＰが用いられる。
【００３４】
ネットワーク１０は、タップ１１を含む。キャプチャサーバ１００は、タップ１１に接続されている。タップ１１は、ネットワーク１０を介して送受信されるパケットを複製し、キャプチャサーバ１００にも送信する。
【００３５】
キャプチャサーバ１００は、ネットワーク１０を介して送受信されるパケットを収集するサーバコンピュータである。パケットを収集することを、パケットキャプチャあるいは単にキャプチャということがある。キャプチャサーバ１００は、収集した複数のパケットをセッション単位に分類し、セッションに対応づけられた所定サイズの１まとまりのデータとする。セッションは、後述するようにパケットに含まれるＩＰヘッダやＴＣＰ／ＵＤＰヘッダの情報によって識別される。キャプチャサーバ１００は、分類後のデータにメタデータを追加し、ストレージサーバ２００，２００ａ，２００ｂに振り分ける。メタデータは、収集したデータを後で分析する際に、特定の情報を含むデータを抽出し易くするための付加情報である。また、キャプチャサーバ１００は、データの圧縮を行うこともある。
【００３６】
ストレージサーバ２００，２００ａ，２００ｂは、キャプチャサーバ１００により振り分けられたデータを、それぞれストレージ装置３００，３００ａ，３００ｂに保存するサーバコンピュータである。
【００３７】
なお、ストレージ装置３００は、ストレージサーバ２００に外付けされてもよいし内蔵されてもよい。ストレージ装置３００ａは、ストレージサーバ２００ａに外付けされてもよいし内蔵されてもよい。ストレージ装置３００ｂは、ストレージサーバ２００ｂに外付けされてもよいし内蔵されてもよい。
【００３８】
図３は、キャプチャサーバのハードウェア例を示す図である。キャプチャサーバ１００は、プロセッサ１０１、ＲＡＭ１０２、ＨＤＤ１０３、画像信号処理部１０４、入力信号処理部１０５、読み取り装置１０６および通信インタフェース１０７，１０８を有する。各ユニットはキャプチャサーバ１００のバスに接続されている。ストレージサーバ２００，２００ａ，２００ｂや業務サーバ４００，５００もキャプチャサーバ１００と同様のユニットを用いて実現できる。
【００３９】
プロセッサ１０１は、キャプチャサーバ１００の情報処理を制御する。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ、ＤＳＰ、ＡＳＩＣまたはＦＰＧＡなどである。プロセッサ１０１は、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどのうちの２以上の要素の組み合わせであってもよい。
【００４０】
ＲＡＭ１０２は、キャプチャサーバ１００の主記憶装置である。ＲＡＭ１０２は、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１０２は、プロセッサ１０１による処理に用いる各種データを記憶する。
【００４１】
ＨＤＤ１０３は、キャプチャサーバ１００の補助記憶装置である。ＨＤＤ１０３は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３は、ＯＳのプログラム、アプリケーションプログラム、および各種データを記憶する。キャプチャサーバ１００は、フラッシュメモリやＳＳＤ（Solid State Drive）などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
【００４２】
画像信号処理部１０４は、プロセッサ１０１からの命令に従って、キャプチャサーバ１００に接続されたディスプレイ１２に画像を出力する。ディスプレイ１２としては、ＣＲＴ（Cathode Ray Tube）ディスプレイや液晶ディスプレイなどを用いることができる。
【００４３】
入力信号処理部１０５は、キャプチャサーバ１００に接続された入力デバイス１３から入力信号を取得し、プロセッサ１０１に出力する。入力デバイス１３としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
【００４４】
読み取り装置１０６は、記録媒体１４に記録されたプログラムやデータを読み取る装置である。記録媒体１４として、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）を使用できる。また、記録媒体１４として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。読み取り装置１０６は、例えば、プロセッサ１０１からの命令に従って、記録媒体１４から読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【００４５】
通信インタフェース１０７は、タップ１１からパケットを受信する。通信インタフェース１０８は、所定のケーブルによりストレージサーバ２００，２００ａ，２００ｂと接続されている。通信インタフェース１０８を所定のケーブルによりスイッチと接続してもよい。すなわち、通信インタフェース１０８は、スイッチを介してストレージサーバ２００，２００ａ，２００ｂと接続されてもよい。
【００４６】
図４は、キャプチャサーバの機能例を示す図である。キャプチャサーバ１００は、記憶部１１０、入力データ処理部１２０、データ圧縮部１３０、圧縮率管理部１４０、メタデータ追加部１５０および出力データ処理部１６０を有する。記憶部１１０は、ＲＡＭ１０２やＨＤＤ１０３に確保された記憶領域として実現される。入力データ処理部１２０、データ圧縮部１３０、圧縮率管理部１４０、メタデータ追加部１５０および出力データ処理部１６０は、ＲＡＭ１０２などに記憶されたプログラムをプロセッサ１０１が実行することで実現される。
【００４７】
記憶部１１０は、データの圧縮を行うか否かを制御するための情報を記憶する。記憶部１１０が記憶する情報には、データ圧縮部１３０によるデータの圧縮実績を管理するためのテーブルが含まれる。
【００４８】
入力データ処理部１２０は、タップ１１から受信した複数のパケットをセッション毎に分類する。セッションは、パケットのＩＰヘッダに含まれるプロトコル、送信元／宛先ＩＰアドレスおよびＴＣＰ／ＵＤＰヘッダに含まれる送信元／宛先ポート番号の組によって識別される。入力データ処理部１２０は、受信した複数のパケットを、セッション毎、所定サイズ毎にまとめたデータ（複数のパケットを連ねたデータ）を作成する。
【００４９】
データ圧縮部１３０は、入力データ処理部１２０が作成したデータを圧縮したときの圧縮率を圧縮率管理部１４０に問い合わせる。データ圧縮部１３０は、問い合わせの際に、当該データのセッション情報を圧縮率管理部１４０に通知する。データ圧縮部１３０は、圧縮率管理部１４０が返した圧縮率に応じて、該当のデータを圧縮するか否かを決定する。データ圧縮部１３０は、圧縮すると決定した場合、当該データを圧縮する。データ圧縮部１３０は、圧縮しないと決定した場合、当該データを圧縮しない。
【００５０】
圧縮率管理部１４０は、データ圧縮部１３０によるデータ圧縮の実績をポート番号毎に管理する。圧縮率管理部１４０は、データ圧縮部１３０により圧縮処理が行われると、圧縮を行ったデータのセッション情報と、圧縮前のデータサイズと、圧縮後のデータサイズとをデータ圧縮部１３０から取得する。圧縮率管理部１４０は、取得した情報をポート番号に対応づけて、記憶部１１０に記憶された所定のテーブルに記録する。また、圧縮率管理部１４０は、データ圧縮部１３０による圧縮率の問い合わせを受け付けると、圧縮実績のテーブルに基づいて、ポート番号毎の圧縮率を返す。
【００５１】
メタデータ追加部１５０は、データ圧縮部１３０から取得したデータ（圧縮されていることもあるし、圧縮されていないこともある）にメタデータを追加し、出力データを作成する。メタデータは、例えば、送信元／宛先ＩＰアドレスや、送信元／宛先ポート番号などを特定するための情報である。
【００５２】
出力データ処理部１６０は、ストレージサーバ２００，２００ａ，２００ｂに出力データを振り分けて送信する。例えば、出力データ処理部１６０は、出力データに含まれるメタデータに応じて振り分けを行う。出力データ処理部１６０は、同じメタデータを含む出力データを同じストレージサーバに振り分けてもよい。
【００５３】
ストレージサーバ２００，２００ａ，２００ｂは、キャプチャサーバ１００から受信したデータをストレージ装置３００，３００ａ，３００ｂに格納する。ストレージサーバ２００，２００ａ，２００ｂは、ストレージ装置３００，３００ａ，３００ｂに格納する前に、データに対してウィルススキャンなどを行うこともある。
【００５４】
図５は、パケットに含まれるヘッダの例を示す図である。図５（Ａ）はＩＰヘッダを例示している。図５（Ｂ）はＴＣＰヘッダを例示している。図５（Ｃ）はＵＤＰヘッダを例示している。
【００５５】
ＩＰヘッダは、プロトコル、送信元ＩＰアドレスおよび宛先ＩＰアドレスのフィールドを含む。プロトコルは、上位層のプロトコル（ＴＣＰやＵＤＰなど）を識別するための情報である。送信元ＩＰアドレスは、パケットの送信元装置（例えば、業務サーバ４００）のＩＰアドレスである。宛先ＩＰアドレスは、パケットの宛先装置（例えば、業務サーバ５００）のＩＰアドレスである。
【００５６】
ＴＣＰヘッダは、送信元ポート番号および宛先ポート番号のフィールドを含む。送信元ポート番号は、パケットの送信元装置において、当該パケットを処理したアプリケーションプログラムに対応する情報である。宛先ポート番号は、パケットの宛先装置において、当該パケットを処理するアプリケーションプログラムに対応する情報である。
【００５７】
ＵＤＰヘッダは、送信元ポート番号および宛先ポート番号のフィールドを含む。送信元ポート番号および宛先ポート番号の内容は、ＴＣＰヘッダにおける送信元ポート番号および宛先ポート番号と同様である。
【００５８】
例えば、入力データ処理部１２０は、ＩＰヘッダにおいてプロトコルがＴＣＰを示す場合、ＩＰヘッダの当該プロトコル、送信元ＩＰアドレスおよび宛先ＩＰアドレスと、ＴＣＰヘッダの送信元ポート番号および宛先ポート番号との組により、セッションを識別する。また、入力データ処理部１２０は、ＩＰヘッダにおいてプロトコルがＵＤＰを示す場合、ＩＰヘッダの当該プロトコル、送信元ＩＰアドレスおよび宛先ＩＰアドレスと、ＵＤＰヘッダの送信元ポート番号および宛先ポート番号との組により、セッションを識別する。
【００５９】
図６は、圧縮率管理テーブルの例を示す図である。圧縮率管理テーブル１１１は、記憶部１１０に記憶される。圧縮率管理テーブル１１１は、圧縮率管理部１４０によって更新される。圧縮率管理テーブル１１１は、プロトコル、ポート番号、圧縮前サイズおよび圧縮後サイズの項目を含む。
【００６０】
プロトコルの項目には、プロトコルの種別が登録される。ポート番号の項目には、ポート番号が登録される。宛先／送信元ポート番号が同一の場合には、当該ポート番号を１つ登録すればよい。宛先／送信元ポート番号が異なる場合には、宛先ポート番号を登録する。ただし、両ポート番号の組を登録することで、宛先／送信元ポート番号の組に応じて圧縮実績を管理してもよい。圧縮前サイズの項目には、圧縮前のデータサイズの累計が登録される。圧縮後サイズの項目には、圧縮後のデータサイズの累計が登録される。
【００６１】
例えば、圧縮率管理テーブル１１１には、プロトコルが“ＴＣＰ”、ポート番号が“２１”、圧縮前サイズが“１ＧＢ”、圧縮後サイズが“２００ＭＢ”という情報が登録される。これは、プロトコル“ＴＣＰ”のポート番号“２１”に対応するデータの圧縮前サイズの累計が１ＧＢ（ギガバイト：Giga Bytes）であり、圧縮後サイズの累計が２００ＭＢ（メガバイト：Mega Bytes）であることを示す。
【００６２】
圧縮率管理テーブル１１１に登録された情報に基づいて、ポート番号毎の圧縮率を計算できる。圧縮率は、圧縮によって削減されるデータ量の圧縮前のデータ量に対する割合（圧縮により削減されるサイズの割合）である。具体的には、圧縮率＝（圧縮前サイズ−圧縮後サイズ）／圧縮前サイズとなる（百分率で表す場合には更に１００を乗じる）。
【００６３】
図７は、圧縮量管理テーブルの例を示す図である。圧縮量管理テーブル１１２は、記憶部１１０に記憶される。圧縮量管理テーブル１１２は、データ圧縮部１３０によって更新される。圧縮量管理テーブル１１２は、累計データ量および累計圧縮データ量の項目を含む。
【００６４】
累計データ量の項目には、収集したデータ量の累計が登録される。累計圧縮データ量の項目には、収集したデータ量のうち圧縮を行ったデータ量の累計が登録される。例えば、圧縮量管理テーブル１１２には、累計データ量が“５０００２ＭＢ”、累計圧縮データ量が“４９８０ＭＢ”という情報が登録される。これは、現在までに収集したデータ量の累計が５０００２ＭＢであり、そのうち圧縮処理したデータ量の累計が４９８０ＭＢであることを示す。
【００６５】
図８は、圧縮制御テーブルの例を示す図である。圧縮制御テーブル１１３は、記憶部１１０に記憶される。圧縮制御テーブル１１３は、データ圧縮部１３０による圧縮処理の制御に用いられる。圧縮制御テーブル１１３は、システムの管理者などによって、事前に作成され、記憶部１１０に格納される。圧縮制御テーブル１１３は、圧縮対象とするデータ割合、圧縮率閾値およびランダム圧縮割合の項目を含む。
【００６６】
圧縮対象とするデータ割合の項目には、収集したデータ量のうち、圧縮対象とするデータ量の割合を示す閾値（第１閾値と称する）が登録される。圧縮率閾値の項目には、圧縮を行うか否かを判定する際の閾値（第２閾値と称する）が登録される。ランダム圧縮割合の項目には、ランダム圧縮割合が登録される。ランダム圧縮割合は、過去の圧縮実績からは圧縮対象としていないデータについて、現在の圧縮率を確認するために圧縮を試行するサンプリングタイミングを決定するための情報である。
【００６７】
例えば、圧縮制御テーブル１１３には、圧縮対象とするデータ割合が“１０％”、圧縮率閾値が“５０％”、ランダム圧縮割合が“１％”という情報が登録される。これは、圧縮対象とするデータ量を、収集する全データ量の１０％とすることを示す。また、圧縮率が５０％以上となる場合（元サイズの５０％以上のデータ量を削減できる場合）に圧縮を行うと決定し、圧縮率が５０％未満の場合には圧縮を行わないと決定することを示す。また、過去の実績からは圧縮を行わないと決定されるデータについても、１００回収集したうちの１回の頻度で、圧縮を試行し、圧縮率の判断を行うよう制御することを示す。
【００６８】
図９は、圧縮率補正テーブルの例を示す図である。圧縮率補正テーブル１１４は、記憶部１１０に記憶される。圧縮率補正テーブル１１４は、圧縮率管理部１４０による圧縮実績の補正に用いられる。圧縮率補正テーブル１１４は、システムの管理者などによって事前に作成され、記憶部１１０に格納される。圧縮率補正テーブル１１４は、補正間隔、圧縮前累計サイズの減少率および圧縮率の減少率の項目を含む。
【００６９】
補正間隔の項目には、圧縮実績の補正を行う時間間隔が登録される。圧縮前累計サイズの減少率の項目には、圧縮率管理テーブル１１１における圧縮前サイズを減少させる割合が登録される。圧縮率の減少率の項目には、圧縮率を減少させる割合が登録される。
【００７０】
例えば、圧縮率補正テーブル１１４には、補正間隔が“１時間”、圧縮前累計サイズの減少率が“９０％”、圧縮率の減少率が“９０％”という情報が登録される。これは、圧縮率管理テーブル１１１の設定値を１時間毎に補正すること、圧縮前サイズを０．９倍、圧縮率の減少率を０．９倍に補正することを示す。圧縮率管理部１４０は、これらの情報を用いて、圧縮率管理テーブル１１１における圧縮前サイズおよび圧縮後サイズの登録値を補正する（詳細は後述する）。
【００７１】
図１０は、圧縮処理の例を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。
（Ｓ１１）入力データ処理部１２０は、データを受信する。データは、前述のように、あるセッションに分類される複数のパケットの集合である。したがって、データの受信は、あるセッションに分類される複数のパケットを受信することに相当する。入力データ処理部１２０は、受信した複数のパケットをセッション毎に分類することで、セッション毎のデータを得る。
【００７２】
（Ｓ１２）データ圧縮部１３０は、圧縮量管理テーブル１１２に基づいて、累計データ量に対する累計圧縮データ量の比率が第１閾値以下であるか否かを判定する。第１閾値以下である場合、処理をステップＳ１３に進める。第１閾値よりも大きい場合、処理をステップＳ１９に進める。圧縮制御テーブル１１３の例によれば、第１閾値は１０％である。圧縮量管理テーブル１１２の例によれば、累計データ量に対する累計圧縮データ量の比率は、（４９８０ＭＢ÷５０００２ＭＢ）×１００＝９．９５９６％である。当該比率９．９５９６％は、第１閾値（１０％）以下である。よって、この場合、処理をステップＳ１３に進める。
【００７３】
（Ｓ１３）データ圧縮部１３０は、セッション情報を圧縮率管理部１４０に通知して、圧縮を行う場合の圧縮率を確認する。セッション情報は、前述のように、プロトコル、送信元／宛先ＩＰアドレスおよび送信元／宛先ポート番号（例えば、“２１”）の情報を含む。データ圧縮部１３０は、セッション情報に含まれる送信元／宛先ポート番号に応じた圧縮率を圧縮率管理部１４０から取得する。
【００７４】
（Ｓ１４）データ圧縮部１３０は、圧縮率管理部１４０から取得した圧縮率が第２閾値以上であるか否かを判定する。第２閾値以上である場合、処理をステップＳ１７に進める。第２閾値よりも小さい場合、処理をステップＳ１５に進める。圧縮制御テーブル１１３の例によれば、第２閾値は５０％である。圧縮率管理テーブル１１１の例によれば、ポート番号“２１”に対応する圧縮率は、｛（１ＧＢ−０．２ＧＢ）／１ＧＢ｝×１００＝８０％である。圧縮率８０％は、第２閾値（５０％）よりも大きい。よって、ポート番号“２１”に対応するデータを圧縮するか否かを決定する場合、データ圧縮部１３０は、圧縮すると決定する。
【００７５】
（Ｓ１５）データ圧縮部１３０は、０以上１未満で０．０１刻みの乱数を生成する。乱数の種類は、０，０．０１，０．０２，・・・，０．９９と全部で１００種類ある。
（Ｓ１６）データ圧縮部１３０は、ステップＳ１５における生成値がランダム圧縮割合より小さいか否かを判定する。ランダム圧縮割合よりも小さい場合、処理をステップＳ１７に進める。ランダム圧縮割合以上である場合、処理をステップＳ１９に進める。圧縮制御テーブル１１３の例によれば、ランダム圧縮割合は１％（＝０．０１）である。したがって、データ圧縮部１３０は、生成値が０の場合にランダム圧縮割合（０．０１）よりも小さいと判定し、処理をステップＳ１７に進める。他方、生成値が０．０１以上の場合にランダム圧縮割合（０．０１）以上であると判定し、処理をステップＳ１９に進める。
【００７６】
（Ｓ１７）データ圧縮部１３０は、受信したデータを圧縮する。圧縮方式は、パケットの全ての情報を復元可能とするためには可逆圧縮が好ましい。ただし、保存しなくてよい情報を削除した後に可逆圧縮するなど、非可逆の変換を行ってもよい。
【００７７】
（Ｓ１８）データ圧縮部１３０は、圧縮前後のデータサイズを、圧縮率管理部１４０に通知する。この通知には、セッション情報も含まれる。
（Ｓ１９）データ圧縮部１３０は、圧縮量管理テーブル１１２を更新する。具体的には、データを圧縮した場合、データ圧縮部１３０は、累計データ量および累計圧縮データ量の両方に今回の圧縮前データサイズを加算する。他方、データを圧縮しなかった場合、データ圧縮部１３０は、累計データ量のみに今回の圧縮前データサイズを加算する。
【００７８】
その後、メタデータ追加部１５０は、データ圧縮部１３０により処理されたデータにメタデータを追加し、出力データを作成する。メタデータ追加部１５０は、追加するメタデータの内容をデータ圧縮部１３０から取得する。そして、出力データ処理部１６０は、メタデータに応じて、出力データの振り分け先のストレージサーバを決定する。出力データ処理部１６０は、決定した振り分け先のストレージサーバに出力データを送信する。
【００７９】
なお、ステップＳ１２で累計データ量に対する累計圧縮データ量の比率が第１閾値以下であるかを判定する理由は、受信データのうち圧縮対象とするデータ量を一定の割合に抑えるためである。例えば、ほとんど全ての通信で、特定のポート番号による通信が行われる場合、データ圧縮部１３０が圧縮対象とするデータ量が過大になり、圧縮処理が追いつかなくなることがある。そこで、第１閾値を設けることで、圧縮対象とするデータ量が過大になることを防止する。ただし、ポート番号の偏りがなく、複数の種類のポート番号で通信が行われている場合、ステップＳ１２の判定を行わなくてもよい（ステップＳ１１の後、ステップＳ１２をスキップして、ステップＳ１３を実行してもよい）。
【００８０】
また、ステップＳ１５，Ｓ１６により、データの圧縮を行うかを再度判定する理由は、これまでの実績では圧縮率が第２閾値より小さいと計測される場合でも、通信内容の変化により、現状では圧縮率が向上している可能性もあるからである。そこで、データ圧縮部１３０は、非圧縮とするポート番号のパケットも間欠的に圧縮して圧縮率を求め、圧縮率の変化に応じて当該ポート番号のパケットを圧縮対象に変更する。これにより、非圧縮と判断されるポート番号でも、通信内容の変化により、圧縮の効果が見込める場合には、圧縮するように制御できる。
【００８１】
更に、ステップＳ１３においてデータ圧縮部１３０は、圧縮率管理部１４０から圧縮率を取得できないこともある。圧縮率管理テーブル１１１に該当のプロトコル／ポート番号に対応するレコードが未だ登録されていない場合である。この場合、データ圧縮部１３０は、処理をステップＳ１７に進める。その結果、該当のプロトコル／ポート番号に対応するレコードが圧縮率管理テーブル１１１に追加されることになる。
【００８２】
図１１は、圧縮率管理処理の例を示すフローチャートである。以下、図１１に示す処理をステップ番号に沿って説明する。
（Ｓ２１）圧縮率管理部１４０は、データ圧縮部１３０から圧縮前後のデータサイズの通知を受け付ける。この通知には、セッション情報も含まれる。ステップＳ２１は、図１０のステップＳ１８に対応するステップである。
【００８３】
（Ｓ２２）圧縮率管理部１４０は、圧縮率管理テーブル１１１の圧縮前後の累計データサイズを更新する。具体的には、通知されたセッション情報に対応するレコード（プロトコルおよびポート番号で識別される）の圧縮前サイズの登録値に圧縮前のデータサイズを加算する。また、同レコードの圧縮後サイズの登録値に圧縮後のデータサイズを加算する。例えば、セッション情報に、プロトコル“ＴＣＰ”、ポート番号“２１”が含まれていれば、プロトコル“ＴＣＰ”およびポート番号“２１”に対応するレコードの圧縮前サイズおよび圧縮後サイズを更新する。
【００８４】
このようにして、圧縮率管理部１４０は、データ圧縮部１３０によるデータ圧縮の実績を、圧縮率管理テーブル１１１にポート番号毎に記録する。圧縮率管理部１４０は、圧縮率管理テーブル１１１の登録値を定期的に補正する。次に、補正手順を説明する。
【００８５】
図１２は、圧縮率補正処理の例を示すフローチャートである。以下、図１２に示す処理をステップ番号に沿って説明する。
（Ｓ３１）圧縮率管理部１４０は、一定時間毎にステップＳ３２の処理を繰り返し実行する。繰り返す時間間隔は、圧縮率補正テーブル１１４に登録された補正間隔である。
【００８６】
（Ｓ３２）圧縮率管理部１４０は、圧縮率管理テーブル１１１の登録値を所定割合だけ減らす。具体的には、まず、圧縮率管理部１４０は、圧縮率管理テーブル１１１に基づいて、レコード毎に圧縮率を求める。そして、圧縮率管理部１４０は、圧縮率補正テーブル１１４に登録された圧縮前累計サイズの減少率の分だけ、圧縮率管理テーブル１１１の全レコードの圧縮前サイズを減少させる。圧縮率管理部１４０は、圧縮率補正テーブル１１４に登録された圧縮率の減少率を用いて、求めた圧縮率を減少させ、レコード毎に圧縮後サイズを計算し直す。圧縮前累計サイズの減少率をα、圧縮率の減少率をβ、圧縮率管理テーブル１１１に登録された補正前の圧縮前サイズをａ、補正前の圧縮後サイズをｂとすると、補正後の圧縮後サイズｘは、式（１）で表される。
【００８７】
【数１】
0006451359.tif 000002
【００８８】
（Ｓ３３）圧縮率管理部１４０は、キャプチャサーバ１００によるパケット収集が終了すると、繰り返しを終了し、圧縮率補正処理を終了する。
このように、圧縮率は時間帯とともに変動することが考えられるので、圧縮率管理部１４０は、一定時間毎に圧縮率管理テーブル１１１の全登録値に定数を乗算して圧縮率が減衰するよう補正する。圧縮率補正テーブル１１４の例によれば、１時間毎に圧縮前サイズの累計値を１割減らし、圧縮率も１割減るように圧縮後サイズの累計値を補正する。
【００８９】
図１３は、圧縮率を減衰させる例を示す図である。例えば、あるタイミングにおいて、圧縮率管理テーブル１１１のあるレコードにおける圧縮前サイズが１００、圧縮後サイズが８０であるとする。このタイミングでの圧縮率は２０％である。以後、圧縮前サイズおよび圧縮後サイズへの加算がないとすると、圧縮率管理部１４０は、式（１）により、次のように圧縮後サイズを補正する。ここで、一例としてα＝β＝０．９とする。
【００９０】
１時間後には、圧縮前サイズを９０と補正し、圧縮率が１８％となるので、圧縮後サイズを７４と補正する。２時間後には、圧縮前サイズを８１と補正し、圧縮率が１６％となるので、圧縮後サイズを６８と補正する。３時間後には、圧縮前サイズを７３と補正し、圧縮率が１５％となるので、圧縮後サイズを６２と補正する。以降、圧縮率管理部１４０は、同様にして圧縮後サイズを補正する。
【００９１】
図１２，１３に示すように、圧縮率管理テーブル１１１の登録値を減少させる理由は、過去の通信傾向の影響を減らすためである。すなわち、圧縮前後のサイズの累計値を保持していると過去の影響を受け続けることになる。この場合、現在の通信の傾向とは異なる過去の傾向の影響が累計値に反映され続けるおそれがある。そこで、圧縮率管理テーブル１１１の登録値を定期的に減少させることで、過去の影響を低減し、現在の傾向における圧縮率を、より適切に算出可能となる。なお、例示した補正間隔やαおよびβの値は、運用に応じて任意に変更可能である。
【００９２】
このように、キャプチャサーバ１００は、収集したデータに含まれるポート番号に応じてデータ保存時の圧縮／非圧縮を決定することで、圧縮効率のよいデータを圧縮し、圧縮効率の悪いデータを圧縮しないようにする。圧縮効率の悪いデータを圧縮しても、ストレージ装置３００，３００ａ，３００ｂにおける記憶容量の節約への寄与は小さいからである。これにより、圧縮処理の負荷を効率的に減らすことができる。その結果、キャプチャサーバ１００の負荷を軽減し、データの取りこぼしを抑制しながら、データを保存するための記憶容量を節約できる。
【００９３】
ところで、ポート番号に対応するアプリケーションプログラムには、様々な形式のデータを送信するものがある。このようなアプリケーションプログラムは、宛先や送信元の装置に応じて、送信するデータ形式が偏ることもあり、ポート番号が同じでも、宛先や送信元の装置に応じて、データの圧縮率が異なることも考えられる。例えば、あるクライアントコンピュータはＷｅｂサーバ（例えば、ポート番号“８０”を用いる）が配信する動画コンテンツを主に受信するのに対し、他のクライアントコンピュータはＷｅｂサーバ（同ポート番号“８０”を用いる）からテキストコンテンツを主に受信することもある。この場合、宛先または送信元の装置を区別して圧縮対象とするデータを選択できることが好ましい。そこで、キャプチャサーバ１００は、圧縮率管理テーブル１１１において追加の情報を管理してもよい。
【００９４】
図１４は、圧縮率管理テーブルの他の例（その１）を示す図である。圧縮率管理テーブル１１１ａは、圧縮率管理テーブル１１１の代わりに、記憶部１１０に記憶される。圧縮率管理テーブル１１１ａでは、圧縮率管理テーブル１１１に登録される情報に加えて、宛先ＩＰアドレスを更に記録可能な点が異なる。宛先ＩＰアドレスの項目には、受信したパケットの宛先ＩＰアドレスが登録される。
【００９５】
例えば、圧縮率管理テーブル１１１ａには、プロトコルが“ＴＣＰ”、ポート番号が“８０”、宛先ＩＰアドレスが“１９２．１６８．１．１００”、圧縮前サイズが“１００ＭＢ”、圧縮後サイズが“２０ＭＢ”という情報が登録される。
【００９６】
これは、プロトコル“ＴＣＰ”、ポート番号“８０”および宛先ＩＰアドレス“１９２．１６８．１．１００”に対応するデータの圧縮前サイズの累計が１００ＭＢであり、圧縮後サイズの累計が２０ＭＢであることを示す。
【００９７】
このように、圧縮率管理部１４０は、同じポート番号でも、更にＩＰアドレスによって区別して、圧縮実績を記録することもできる。このようにすれば、装置毎の通信内容の傾向に応じて、圧縮実績を管理し、データの圧縮率を取得できる。
【００９８】
なお、宛先ＩＰアドレスを記録するものとしたが、送信元ＩＰアドレスを記録してもよい。また、宛先ＩＰアドレスおよび送信元ＩＰアドレスの両方を記録してもよい。
圧縮率管理テーブル１１１ａを用いる場合、図１０のステップＳ１３において、圧縮率管理部１４０は、プロトコル、宛先ＩＰアドレスおよびポート番号に対応する圧縮率をデータ圧縮部１３０に提供する。データ圧縮部１３０は、当該圧縮率に応じて、データを圧縮するか否かを決定する。また、圧縮率管理部１４０は、図１１のステップＳ２２において、プロトコル、宛先ＩＰアドレスおよびポート番号で識別されるレコードに、圧縮前後の累計データサイズを記録する。
【００９９】
このように、圧縮率管理部１４０は、同じポート番号でも、宛先ＩＰアドレスによってデータを区別して圧縮実績を記録することもできる。このようにすれば、ポート番号に加えて、通信を行う装置に応じた圧縮実績を管理でき、通信を行う装置毎の通信内容の傾向に応じた圧縮率を取得できる。その結果、圧縮効果が高いと見込まれるデータをより詳細に選択可能となり、圧縮処理の負荷をより低減できる。
【０１００】
図１５は、圧縮率管理テーブルの他の例（その２）を示す図である。圧縮率管理テーブル１１１ｂは、圧縮率管理テーブル１１１の代わりに、記憶部１１０に記憶される。圧縮率管理テーブル１１１ｂでは、圧縮率管理テーブル１１１に登録される情報に加えて、ファイルタイプを更に記録可能な点が異なる。ファイルタイプの項目には、データの形式（ファイルタイプ）が登録される。ファイルタイプの項目には、ファイルタイプが不明な場合、“不明”という情報が登録される。
【０１０１】
例えば、圧縮率管理テーブル１１１ｂには、プロトコルが“ＴＣＰ”、ポート番号が“８０”、ファイルタイプが“ｖｉｄｅｏ／ｍｐｅｇ”、圧縮前サイズが“１００ＧＢ”、圧縮後サイズが“９７ＧＢ”という情報が登録される。
【０１０２】
これは、プロトコル“ＴＣＰ”、ポート番号“８０”およびファイルタイプ“ｖｉｄｅｏ／ｍｐｅｇ”に対応するデータの圧縮前サイズの累計が１００ＧＢであり、圧縮後サイズの累計が９７ＧＢであることを示す。
【０１０３】
圧縮率管理テーブル１１１ｂを用いる場合、図１０のステップＳ１３において、圧縮率管理部１４０は、プロトコル、ポート番号およびファイルタイプに対応する圧縮率をデータ圧縮部１３０に提供する。データ圧縮部１３０は、当該圧縮率に応じて、データを圧縮するか否かを決定する。また、圧縮率管理部１４０は、図１１のステップＳ２２において、プロトコル、ポート番号およびファイルタイプで識別されるレコードに、圧縮前後の累計データサイズを記録する。
【０１０４】
このように、圧縮率管理部１４０は、収集したパケットの内容を解析し、同じポート番号でもファイルタイプによってデータを区別して、圧縮実績を記録することもできる。このようにすれば、各ポート番号に対してファイルタイプ毎の圧縮実績を管理し、データの圧縮率を取得できる。その結果、圧縮効果が高いと見込まれるデータをより詳細に選択可能となり、圧縮処理の負荷をより低減できる。
【０１０５】
なお、第２の実施の形態では、圧縮後のデータにメタデータを追加するものとしたが、メタデータを追加した後にデータの圧縮を行ってもよい。この場合、データ圧縮部１３０は、メタデータ以外の部分の圧縮を行い、メタデータの部分の圧縮を行わないようにしてもよい。
【０１０６】
［第３の実施の形態］
以下、第３の実施の形態を説明する。前述の第２の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
【０１０７】
ポート番号毎の通信内容の傾向は、時間帯に応じて変化することもある。そこで、第３の実施の形態では、ポート番号毎の圧縮実績を時間帯別に記録し、圧縮対象のデータの選択に利用する。
【０１０８】
ここで、第３の実施の形態の通信記録システムは、図２で例示した第２の実施の形態の通信記録システムと同様である。第３の実施の形態の通信記録システムに含まれる各要素を、第２の実施の形態と同じ名称・符号を用いて指し示す。ただし、第３の実施の形態では、ポート番号毎の圧縮実績を時間帯別に記録する点が第２の実施の形態と異なる。
【０１０９】
図１６は、第３の実施の形態の圧縮率管理テーブルの例を示す図である。圧縮率管理テーブル１１１ｃは、圧縮率管理テーブル１１１の代わりに、記憶部１１０に記憶される。圧縮率管理テーブル１１１ｃでは、圧縮前サイズおよび圧縮後サイズの組を、時間帯別に記録可能な点が、圧縮率管理テーブル１１１と異なる。
【０１１０】
圧縮率管理テーブル１１１ｃには、０時台、１時台、２時台、・・・、２３時台と１時間毎の圧縮前サイズ、圧縮後サイズが登録される。１つの時間帯の長さを、一例として１時間とするが、２時間や３時間など他の長さでもよい。
【０１１１】
例えば、圧縮率管理テーブル１１１ｃには、プロトコルが“ＴＣＰ”、ポート番号が“２１”、０時台の圧縮前サイズが“２００ＭＢ”、０時台の圧縮後サイズが“４０ＭＢ”、１時台の圧縮前サイズが“１００ＭＢ”、１時台の圧縮後サイズが“３０ＭＢ”、２時台の圧縮前サイズが“１００ＭＢ”、２時台の圧縮後サイズが“２５ＭＢ”という情報が登録される。これは、プロトコル“ＴＣＰ”、ポート番号“２１”に対応するデータについて、０時台では圧縮前サイズの累計が２００ＭＢであり、圧縮後サイズの累計が４０ＭＢであったことを示す。また、１時台では圧縮前サイズの累計が１００ＭＢであり、圧縮後サイズの累計が３０ＭＢであったことを示す。また、２時台では圧縮前サイズの累計が１００ＭＢであり、圧縮後サイズの累計が２５ＭＢであったことを示す。
【０１１２】
圧縮率管理テーブル１１１ｃを用いる場合、圧縮率管理部１４０は、データ圧縮部１３０による圧縮率の確認の際に、現時間帯に対応する圧縮率を提供する（図１０のステップＳ１３）。データ圧縮部１３０は、現時間帯に対応する圧縮率を用いて、図１０のステップＳ１４の判定を行うことになる。第３の実施の形態では、図１１で例示した圧縮率管理処理を次のように行う。
【０１１３】
図１７は、第３の実施の形態の圧縮率管理処理の例を示すフローチャートである。以下、図１７に示す処理をステップ番号に沿って説明する。
（Ｓ４１）圧縮率管理部１４０は、データ圧縮部１３０から圧縮前後のデータサイズの通知を受け付ける。この通知には、セッション情報も含まれる。ステップＳ４１は、図１０のステップＳ１８に対応するステップである。
【０１１４】
（Ｓ４２）圧縮率管理部１４０は、現時間帯で初めての呼び出しであるか否かを判定する。現時間帯で初めての呼び出しである場合、処理をステップＳ４３に進める。現時点で初めての呼び出しでない場合、処理をステップＳ４４に進める。
【０１１５】
（Ｓ４３）圧縮率管理部１４０は、圧縮率管理テーブル１１１ｃの現時間帯の登録値を全てリセットする。すなわち、圧縮率管理部１４０は、全てのポート番号について現時間帯の登録値を０にリセットする。例えば、現時間帯が０時台であれば、圧縮率管理テーブル１１１ｃの０時台における圧縮前サイズおよび圧縮後サイズの全ての登録値を０にリセットする。
【０１１６】
（Ｓ４４）圧縮率管理部１４０は、圧縮率管理テーブル１１１ｃの圧縮前後の累計データサイズを更新する。具体的には、通知されたセッション情報に対応するレコードにおける現時間帯の圧縮前サイズの登録値に圧縮前のデータサイズを加算する。また、同レコードの現時間帯の圧縮後サイズの登録値に圧縮後のデータサイズを加算する。例えば、セッション情報に、プロトコル“ＴＣＰ”、ポート番号“２１”が含まれており、現時間帯が０時台であれば、プロトコル“ＴＣＰ”およびポート番号“２１”に対応するレコードの０時台の圧縮前サイズおよび圧縮後サイズを更新する。
【０１１７】
このようにして、キャプチャサーバ１００は、時間帯毎の圧縮実績を管理し、時間帯毎の圧縮率に応じて、データを圧縮するか否かを選択する。これにより、時間帯に応じて送受信されるデータの種類の傾向の変化に応じて、圧縮によるサイズ削減の効果の大きいデータを圧縮対象と選択できるようになる。なお、第３の実施の形態では、図１７で例示したように、時間帯が変わるたびに該当の時間帯における登録値をリセットするので、図１２で例示した圧縮率補正処理を行わなくてもよい。
【０１１８】
［第４の実施の形態］
以下、第４の実施の形態を説明する。前述の第２，第３の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
【０１１９】
第２，第３の実施の形態では、キャプチャサーバ１００によりデータの圧縮を行うものとしたが、データ圧縮の機能をストレージサーバ２００，２００ａ，２００ｂに設けてもよい。そこで、第４の実施の形態では、ストレージサーバ２００，２００ａ，２００ｂによりデータ圧縮を行う機能を提供する。
【０１２０】
ここで、第４の実施の形態の通信記録システムは、図２で例示した第２の実施の形態の通信記録システムと同様である。第４の実施の形態の通信記録システムに含まれる各要素を第２の実施の形態と同じ名称・符号を用いて指し示す。ただし、第４の実施の形態では、データ圧縮部１３０および圧縮率管理部１４０の機能を、キャプチャサーバ１００ではなく、ストレージサーバ２００，２００ａ，２００ｂに設ける点が第２の実施の形態と異なる。すなわち、第４の実施の形態では、キャプチャサーバ１００は、パケットをセッション毎に分類してメタデータを追加し、圧縮せずにストレージサーバ２００，２００ａ，２００ｂに送信する。
【０１２１】
図１８は、第４の実施の形態のストレージサーバの機能例を示す図である。ストレージサーバ２００は、記憶部２１０、受信部２２０、データ圧縮部２３０、圧縮率管理部２４０および出力部２５０を有する。記憶部２１０は、ストレージサーバ２００が有するＲＡＭやＨＤＤなどに確保された記憶領域として実現される。受信部２２０、データ圧縮部２３０、圧縮率管理部２４０および出力部２５０は、ストレージサーバ２００が有するプロセッサがＲＡＭに記憶されたプログラムを実行することで実現される。ストレージサーバ２００ａ，２００ｂもストレージサーバ２００と同様の機能を有する。
【０１２２】
記憶部２１０は、圧縮率管理テーブル１１１、圧縮量管理テーブル１１２、圧縮制御テーブル１１３および圧縮率補正テーブル１１４を記憶する。
受信部２２０は、キャプチャサーバ１００からデータを受信する。当該データは、前述のようにキャプチャサーバ１００により受信された複数のパケットが、セッション毎、所定サイズ毎にまとめられたデータ（複数のパケットを連ねたデータ）を含み、キャプチャサーバ１００により追加されたメタデータを含む。
【０１２３】
データ圧縮部２３０は、受信部２２０により受信されたデータに含まれるパケット、または、当該に含まれるメタデータからセッション情報を取得する。データ圧縮部２３０は、受信部２２０により受信されたデータを圧縮したときの圧縮率を圧縮率管理部２４０に問い合わせる。データ圧縮部２３０は、問い合わせの際に、当該データのセッション情報を圧縮率管理部２４０に通知する。
【０１２４】
データ圧縮部２３０は、圧縮率管理部２４０が返した圧縮率に応じて、該当のデータを圧縮するか否かを決定する。データ圧縮部２３０は、圧縮すると決定した場合、当該データ（メタデータ以外の部分）を圧縮する。データ圧縮部２３０は、圧縮しないと決定した場合、当該データを圧縮しない。データ圧縮部２３０は、記憶部２１０に記憶された圧縮量管理テーブル１１２の更新も行う（累計データ量および累計圧縮データ量を更新する）。
【０１２５】
圧縮率管理部２４０は、データ圧縮部２３０によるデータ圧縮の実績を管理する。圧縮率管理部２４０は、データ圧縮部２３０により圧縮処理が行われると、圧縮を行ったデータのセッション情報と、圧縮前のデータサイズと、圧縮後のデータサイズとをデータ圧縮部２３０から取得する。圧縮率管理部２４０は、取得した情報により記憶部２１０に記憶された圧縮率管理テーブル１１１を更新する（圧縮前サイズおよび圧縮後サイズの累計を更新する）。
【０１２６】
出力部２５０は、データ圧縮部２３０から取得したデータ（圧縮されていることもあるし、圧縮されていないこともある）をストレージ装置３００に格納する。
このように、データ圧縮部２３０および圧縮率管理部２４０をストレージサーバ２００に設けてもよい。この場合、図１０で例示したデータ圧縮部１３０の手順を、データ圧縮部２３０により実行する。図１１，１２で例示した圧縮率管理部１４０の手順を、圧縮率管理部２４０により実行する。
【０１２７】
これにより、第２の実施の形態と同様に、圧縮処理の負荷を効率的に減らすことができる。圧縮率管理部２４０は、圧縮率管理テーブル１１１の代わりに、圧縮率管理テーブル１１１ａ，１１１ｂ，１１１ｃの何れかを記憶部２１０に格納して、圧縮実績を管理してもよい。これにより、圧縮候補のデータを、ファイルタイプや時間帯等により細かく分類して圧縮効果の高いデータを選択可能となる。
【０１２８】
なお、第１の実施の形態の情報処理は、演算部１ｂにプログラムを実行させることで実現できる。第２，第３の実施の形態の情報処理は、プロセッサ１０１にプログラムを実行させることで実現できる。第４の実施の形態の情報処理は、ストレージサーバ２００が備えるプロセッサにプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体１４に記録できる。
【０１２９】
例えば、プログラムを記録した記録媒体１４を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体１４に記録されたプログラムまたは他のコンピュータから受信したプログラムを、ＲＡＭ１０２やＨＤＤ１０３などの記憶装置に格納し（インストールし）、当該記憶装置からプログラムを読み込んで実行してもよい。
【０１３０】
以上の第１〜第４の実施の形態を含む実施形態に関し、更に以下の付記を開示する。
（付記１）  送信元装置から宛先装置へ送信されたパケットを記憶する記憶部と、
受信した前記パケットに含まれるポート番号に応じて前記パケットを圧縮するか否かを決定し、圧縮すると決定した前記パケットを圧縮し、前記記憶部に格納する演算部と、
を有する通信記録装置。
【０１３１】
（付記２）  前記演算部は、非圧縮とするポート番号のパケットも間欠的に圧縮して圧縮率を求め、圧縮率の変化に応じて当該ポート番号のパケットを圧縮対象に変更する、付記１記載の通信記録装置。
【０１３２】
（付記３）  前記演算部は、前記パケットの圧縮実績からポート番号毎に圧縮率を求め、ポート番号毎の圧縮率に応じて圧縮するか否かを決定する、付記１または２記載の通信記録装置。
【０１３３】
（付記４）  前記演算部は、前記パケットに含まれるポート番号および宛先アドレスに対して前記圧縮率を求め、ポート番号および宛先アドレスに対する圧縮率に応じて圧縮するか否かを決定する、付記３記載の通信記録装置。
【０１３４】
（付記５）  前記演算部は、前記パケットに含まれるポート番号およびパケット化されたデータのデータ形式に応じた前記圧縮率を求め、ポート番号およびデータ形式に対する圧縮率に応じて圧縮するか否かを決定する、付記３記載の通信記録装置。
【０１３５】
（付記６）  前記演算部は、ポート番号毎の圧縮率を時間帯別に求め、ポート番号毎の時間帯別の圧縮率に応じて圧縮するか否かを決定する、付記３記載の通信記録装置。
（付記７）  前記演算部は、前記圧縮実績として圧縮前サイズの累計値と圧縮後サイズの累計値とをポート番号毎に記録し、前記圧縮前サイズの累計値と圧縮後サイズの累計値とを所定周期で減少させる、付記３乃至５の何れか１つに記載の通信記録装置。
【０１３６】
（付記８）  前記演算部は、圧縮により削減されるデータサイズの圧縮前のデータサイズに対する割合が閾値以上の場合に圧縮すると決定し、前記割合が閾値よりも小さい場合に圧縮しないと決定する、付記３乃至７の何れか１つに記載の通信記録装置。
【０１３７】
（付記９）  前記演算部は、保存したパケットの総サイズのうち圧縮したパケットの累計サイズが所定割合に達していない場合にパケットを圧縮する、付記１乃至８の何れか１つに記載の通信記録装置。
【０１３８】
（付記１０）  送信元装置から宛先装置へ送信されたパケットを記憶する記憶装置と、
受信した前記パケットに含まれるポート番号に応じて前記パケットを圧縮するか否かを決定し、圧縮すると決定した前記パケットを圧縮し、前記記憶装置に格納する情報処理装置と、
を有する通信記録システム。
【０１３９】
（付記１１）  コンピュータに、
受信したパケットに含まれるポート番号に応じて前記パケットを圧縮するか否かを決定し、
圧縮すると決定した前記パケットを圧縮し、記憶部に格納する、
処理を実行させる通信記録プログラム。
【０１４０】
（付記１２）  コンピュータが、
受信したパケットに含まれるポート番号に応じて前記パケットを圧縮するか否かを決定し、
圧縮すると決定した前記パケットを圧縮し、記憶部に格納する、
通信記録方法。
【符号の説明】
【０１４１】
１  通信記録装置
１ａ  記憶部
１ｂ  演算部
２  送信元装置
３  宛先装置
４  ネットワーク
５  タップ
６，６ａ  パケット
Ｔ１  テーブル
【図１】
0006451359.tif 000003
【図２】
0006451359.tif 000004
【図３】
0006451359.tif 000005
【図４】
0006451359.tif 000006
【図５】
0006451359.tif 000007
【図６】
0006451359.tif 000008
【図７】
0006451359.tif 000009
【図８】
0006451359.tif 000010
【図９】
0006451359.tif 000011
【図１０】
0006451359.tif 000012
【図１１】
0006451359.tif 000013
【図１２】
0006451359.tif 000014
【図１３】
0006451359.tif 000015
【図１４】
0006451359.tif 000016
【図１５】
0006451359.tif 000017
【図１６】
0006451359.tif 000018
【図１７】
0006451359.tif 000019
【図１８】
0006451359.tif 000020