JP6451359B2 - 通信記録装置、通信記録システム、通信記録プログラムおよび通信記録方法 - Google Patents

通信記録装置、通信記録システム、通信記録プログラムおよび通信記録方法 Download PDF

Info

Publication number
JP6451359B2
JP6451359B2 JP2015019091A JP2015019091A JP6451359B2 JP 6451359 B2 JP6451359 B2 JP 6451359B2 JP 2015019091 A JP2015019091 A JP 2015019091A JP 2015019091 A JP2015019091 A JP 2015019091A JP 6451359 B2 JP6451359 B2 JP 6451359B2
Authority
JP
Japan
Prior art keywords
compression
packet
data
port number
compression rate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2015019091A
Other languages
English (en)
Other versions
JP2016144060A (ja
Inventor
達夫 熊野
達夫 熊野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015019091A priority Critical patent/JP6451359B2/ja
Priority to US15/012,899 priority patent/US9848066B2/en
Publication of JP2016144060A publication Critical patent/JP2016144060A/ja
Application granted granted Critical
Publication of JP6451359B2 publication Critical patent/JP6451359B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/38Flow control; Congestion control by adapting coding or compression rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は通信記録装置、通信記録システム、通信記録プログラムおよび通信記録方法に関する。
現在、種々の装置を含む情報処理システムが利用されている。各装置は、ネットワークや所定のケーブルなどを介して接続され相互に通信する。ネットワーク上でデータをパケット化して伝送するためのプロトコルとして、TCP(Transmission Control Protocol)/IP(Internet Protocol)がある。
ここで、通信するデータを圧縮して、データのサイズを小さくし、送信するデータ量を小さくすることがある。例えば、パーソナルコンピュータとプリンタとを複数種別の通信インタフェースを介して接続可能な場合に、プリンタへデータを圧縮して送信するか非圧縮で送信するかを選択する方法が提案されている。この提案では、パーソナルコンピュータが、プリンタに印刷データを圧縮して送信するか、非圧縮で送信するかを、通信インタフェースの通信速度に応じて決定する(低速通信の場合に圧縮とする)。この提案では、送信対象のデータの圧縮を行って圧縮率を取得し、圧縮して送信するか非圧縮で送信するかを、通信インタフェースの通信速度および当該データの圧縮率により決定することも考えられている。
特開2001−111432号公報
装置間で送受信されるパケットを、通信監視用の装置により収集して保存しておき、システムの運用管理に役立てることがある。例えば、通信障害が発生した際、原因や対策の分析に、収集したパケットを活用できる。しかし、収集されるパケットの量は膨大であり、記憶装置の容量を圧迫し得る。そこで、収集したパケットを圧縮することで、保存するデータ量を削減することが考えられる。この場合、圧縮処理の負荷が問題となる。
上記のように、送信されるパケットには、圧縮済のものや非圧縮のものがある。圧縮済のパケットを更に圧縮しても、圧縮によるサイズ減少の効果は小さい。また、パケット化されるデータの種別によっても、圧縮によるサイズ減少の効果が大きいものや小さいものなど様々である。圧縮によるサイズ減少の効果が比較的小さいパケットも含め全てのパケットを圧縮していると、圧縮処理の負荷が大きくなり非効率である。例えば、パケット収集を行う装置の負荷が高まると、パケットの取りこぼしが発生するおそれがある。
1つの側面では、本発明は、圧縮処理の負荷を効率的に減らす通信記録装置、通信記録システム、通信記録プログラムおよび通信記録方法を提供することを目的とする。
1つの態様では、通信記録装置が提供される。この通信記録装置は、記憶部と演算部とを有する。記憶部は、送信元装置から宛先装置へ送信されたパケットを記憶する。演算部は、受信したパケットに含まれるポート番号に応じてパケットを圧縮するか否かを決定し、圧縮すると決定したパケットを圧縮し、記憶部に格納する。演算部は、非圧縮とするポート番号のパケットも間欠的に圧縮して圧縮率を求め、圧縮率の変化に応じて当該ポート番号のパケットを圧縮対象に変更する。
また、1つの態様では、通信記録装置が提供される。この通信記録装置は、記憶部と演算部とを有する。記憶部は、送信元装置から宛先装置へ送信されたパケットを記憶する。演算部は、受信したパケットに含まれるポート番号に応じてパケットを圧縮するか否かを決定し、圧縮すると決定したパケットを圧縮し、記憶部に格納する。演算部は、パケットの圧縮実績として圧縮前サイズの累計値と圧縮後サイズの累計値とをポート番号毎に記録し、圧縮実績からポート番号毎に圧縮率を求め、ポート番号毎の圧縮率に応じて圧縮するか否かを決定し、圧縮前サイズの累計値と圧縮後サイズの累計値とを所定周期で減少させる。
また、1つの態様では、通信記録システムが提供される。この通信記録システムは、記憶装置と情報処理装置とを有する。記憶装置は、送信元装置から宛先装置へ送信されたパケットを記憶する。情報処理装置は、受信したパケットに含まれるポート番号に応じてパケットを圧縮するか否かを決定し、圧縮すると決定したパケットを圧縮し、記憶装置に格納する。情報処理装置は、非圧縮とするポート番号のパケットも間欠的に圧縮して圧縮率を求め、圧縮率の変化に応じて当該ポート番号のパケットを圧縮対象に変更する。
また、1つの態様では、通信記録プログラムが提供される。この通信記録プログラムは、コンピュータに、受信したパケットに含まれるポート番号に応じてパケットを圧縮するか否かを決定し、圧縮すると決定したパケットを圧縮し、記憶部に格納非圧縮とするポート番号のパケットも間欠的に圧縮して圧縮率を求め、圧縮率の変化に応じて当該ポート番号のパケットを圧縮対象に変更する、処理を実行させる。
また、1つの態様では、通信記録方法が提供される。この通信記録方法では、コンピュータが、受信したパケットに含まれるポート番号に応じてパケットを圧縮するか否かを決定し、圧縮すると決定したパケットを圧縮し、記憶部に格納し、非圧縮とするポート番号のパケットも間欠的に圧縮して圧縮率を求め、圧縮率の変化に応じて当該ポート番号のパケットを圧縮対象に変更する
1つの側面では、圧縮処理の負荷を効率的に減らす。
第1の実施の形態の通信記録装置を示す図である。 第2の実施の形態の通信記録システムを示す図である。 キャプチャサーバのハードウェア例を示す図である。 キャプチャサーバの機能例を示す図である。 パケットに含まれるヘッダの例を示す図である。 圧縮率管理テーブルの例を示す図である。 圧縮量管理テーブルの例を示す図である。 圧縮制御テーブルの例を示す図である。 圧縮率補正テーブルの例を示す図である。 圧縮処理の例を示すフローチャートである。 圧縮率管理処理の例を示すフローチャートである。 圧縮率補正処理の例を示すフローチャートである。 圧縮率を減衰させる例を示す図である。 圧縮率管理テーブルの他の例(その1)を示す図である。 圧縮率管理テーブルの他の例(その2)を示す図である。 第3の実施の形態の圧縮率管理テーブルの例を示す図である。 第3の実施の形態の圧縮率管理処理の例を示すフローチャートである。 第4の実施の形態のストレージサーバの機能例を示す図である。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の通信記録装置を示す図である。第1の実施の形態で例示するシステムは、通信記録装置1、送信元装置2および宛先装置3を含む。送信元装置2および宛先装置3は、ネットワーク4に接続されている。通信記録装置1、送信元装置2および宛先装置3は、通信プロトコルにTCP/IPを利用する。
ネットワーク4では、送信元装置2と宛先装置3との間の通信経路上にタップ5が設けられている。通信記録装置1は、タップ5に接続されている。タップ5は、送信元装置2から宛先装置3へ送信されるパケット6を宛先装置3側へ転送する。
パケット6は、ポート番号の情報を含む。ポート番号は、パケット6内のTCPヘッダまたはUDP(User Datagram Protocol)ヘッダに含まれる情報である。ポート番号は、OSI(Open Systems Interconnection)参照モデルの第4層(トランスポート層)において、送信元/宛先のアプリケーションプログラムの識別に用いられる。
タップ5は、パケット6を複製することでパケット6aを生成し、パケット6aを通信記録装置1側へも送信する。パケット6aは、パケット6の複製であるため、パケット6と同じ情報を含む。通信記録装置1は、タップ5から受信するパケット6aを保存する。こうして、通信記録装置1は、送信元装置2と宛先装置3との間の通信内容を記録する。
通信記録装置1は、記憶部1aおよび演算部1bを有する。記憶部1aは、例えば、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置である。記憶部1aは、RAM(Random Access Memory)などの揮発性記憶装置でもよい。演算部1bは、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。演算部1bはプログラムを実行するプロセッサであってもよい。ここでいう「プロセッサ」には、複数のプロセッサの集合(マルチプロセッサ)も含まれ得る。
記憶部1aは、パケット6aを記憶する。パケット6aは、演算部1bにより圧縮されて記憶部1aに格納されることもある。
演算部1bは、受信したパケット6aに含まれるポート番号に応じてパケットを圧縮するか否かを決定する。演算部1bは、圧縮すると決定したパケットを圧縮し、記憶部1aに格納する。演算部1bは、パケット毎に圧縮してもよいし、セッション単位に複数のパケットをまとめて圧縮してもよい。セッションは、パケット内のアドレスやポート番号などの組による通信の識別単位である。演算部1bは、圧縮しないと決定したパケットを、圧縮せずに記憶部1aに格納する。
ポート番号は、前述のようにアプリケーションプログラムに対応している。アプリケーションプログラムは、平文データを扱うもの(例えば、TelnetやHTTP(Hypertext Transfer Protocol))や暗号化されたデータを扱うもの(例えば、SSH(Secure SHell)やHTTPS(HTTP over TLS/SSL)(TLS/SSLはTransport Layer Security / Secure Sockets Layerの略))など様々である。また、平文データを扱うものでも、主にテキスト形式のデータを扱うもの(例えば、Telnet)や画像や動画などのデータを扱うことがあるもの(例えば、HTTP)など様々である。
すなわち、通信先のアプリケーションプログラムに応じて、例えばパケット化されたデータが暗号化されたデータか平文データか、あるいは平文のテキストデータか、などを区別できる。例えば、暗号化されていないデータは、暗号化されているデータよりも圧縮によるサイズ減少の効果が高い。また、例えば、テキスト形式のデータは、他の形式のデータよりも圧縮によるサイズ減少の効果が高い。
演算部1bは、圧縮によるサイズ減少の効果が比較的高いと見込まれるアプリケーションプログラムに対応するポート番号(例えば、Telnetに対応する23など)をパケット6aが含む場合、パケット6aを圧縮すると決定する。演算部1bは、圧縮によるサイズ減少の効果が比較的低いと見込まれるアプリケーションプログラムに対応するポート番号(例えば、SSHに対応する22など)をパケット6aが含む場合、パケット6aを圧縮しないと決定する。
ここで、全てのパケットを圧縮していると、圧縮処理の負荷によって通信記録装置1の負荷が高まるおそれがある。圧縮処理の負荷は他の処理の負荷に比べて大きい。通信記録装置1では、大量のパケットを収集するため、収集自体の負荷も高い。通信記録装置1の負荷が高まると、通信記録装置1でバッファリングできなくなった到着パケットが破棄されてしまい、パケットの取りこぼしが発生するおそれがある。他方、全く圧縮を行わないとすると収集したいパケット量に応じて多くの記憶容量を用意せねばならなくなる。
そこで、通信記録装置1は、収集したパケット6aに含まれるポート番号に応じてパケット6aの圧縮/非圧縮を決定することで、圧縮効率のよいパケットを圧縮し、圧縮効率の悪いパケットを圧縮しないようにする。圧縮効率の悪いパケットを圧縮しても、記憶容量の節約への寄与は小さいからである。これにより、圧縮処理の負荷を効率的に減らすことができる。その結果、通信記録装置1の負荷を軽減し、パケットの取りこぼしを抑制しながら、パケットを保存するための記憶容量を節約できる。
更に、FTP(File Transfer Protocol)やHTTPなどのように、種々の形式のデータを転送するアプリケーションプログラムや、ウェルノウンポート(well-known port)以外のポート番号に対応するアプリケーションプログラムでは、どのような形式のデータを扱うか不明なこともある。そこで、通信記録装置1は、圧縮により削減されたデータ量の実績を、ポート番号毎に記録し、当該圧縮の実績に基づいて、ポート番号毎にパケットを圧縮するか否かを決定してもよい。
例えば、演算部1bは、ある期間におけるパケットの収集/圧縮の実績として、テーブルT1を作成する。テーブルT1には、ポート番号とパケットの圧縮前のサイズの累計と圧縮後のサイズの累計とが対応づけて記録されている。例えば、テーブルT1は、ポート番号“X”、圧縮前の累計サイズ“a1”、圧縮後の累計サイズ“a2”という情報を含む。テーブルT1は、ポート番号“Y”、圧縮前の累計サイズ“b1”、圧縮後の累計サイズ“b2”という情報を含む。テーブルT1は、ポート番号“Z”、圧縮前の累計サイズ“c1”、圧縮後の累計サイズ“c2”という情報を含む。
演算部1bは、ポート番号“X”を含むパケット6aを受信したとき、テーブルT1に基づいて、パケット6aを圧縮して保存するか否かを決定してもよい。より具体的には、演算部1bは、(圧縮により削減されるサイズの割合)={(圧縮前の累計サイズ)−(圧縮後の累計サイズ)}/(圧縮前の累計サイズ)=(a1−a2)/a1が閾値以上である場合にパケット6aを圧縮する。演算部1bは、圧縮により削減されるサイズの割合が閾値よりも小さい場合にパケット6aを圧縮しないと決定する。
このように、通信記録装置1は、ポート番号毎の圧縮実績に基づいて、圧縮効率のよいパケットに限定して圧縮を行うことで、圧縮処理の負荷を効率的に減らすことができる。また、現状用いられているデータ形式の傾向に追随して、ポート番号毎に圧縮を行うか否かを選択可能となる。すなわち、同じポート番号について、時間帯によって通信内容が変化する場合にも対応可能となる。
なお、第1の実施の形態では、タップ5を用いる例を示した。一方、タップ5に代えて、ポートミラーリング機能(ある通信インタフェースを用いて転送されるパケットを複製して、通信記録装置1が接続される監視用の通信インタフェースからも送出する機能)を備えるスイッチを用いてもよい。また、通信記録装置1が収集したパケットを保存する記憶装置を、通信記録装置1に外付けしてもよい。
[第2の実施の形態]
図2は、第2の実施の形態の通信記録システムを示す図である。第2の実施の形態の通信記録システムは、キャプチャサーバ100、ストレージサーバ200,200a,200bを含む。キャプチャサーバ100は、ストレージサーバ200,200a,200bと所定のケーブルを介して接続されている。キャプチャサーバ100は、スイッチを介して、ストレージサーバ200,200a,200bと接続されてもよい。
ストレージサーバ200は、ストレージ装置300と接続されている。ストレージサーバ200aは、ストレージ装置300aと接続されている。ストレージサーバ200bは、ストレージ装置300bと接続されている。
第2の実施の形態の通信記録システムは、ネットワーク10を経由するパケットを収集して保存する。ネットワーク10は、複数の中継装置が所定のケーブルで接続されることで形成される。ネットワーク10は、例えばLAN(Local Area Network)である。ネットワーク10は、サーバコンピュータやストレージ装置が接続されるSAN(Storage Area Network)でもよい。
ネットワーク10には業務サーバ400,500が接続されている。業務サーバ400,500は、相互に通信し、業務処理を実行するサーバコンピュータであり、Webサーバ、アプリケーションサーバおよびデータベースサーバなどとして機能する。ネットワーク10には、業務サーバ400,500以外にも種々のサーバコンピュータが接続されてもよい。ネットワーク10には、業務サーバ400,500などのサーバコンピュータと通信するクライアントコンピュータが接続されてもよい。第2の実施の形態では通信にTCP/IPが用いられる。
ネットワーク10は、タップ11を含む。キャプチャサーバ100は、タップ11に接続されている。タップ11は、ネットワーク10を介して送受信されるパケットを複製し、キャプチャサーバ100にも送信する。
キャプチャサーバ100は、ネットワーク10を介して送受信されるパケットを収集するサーバコンピュータである。パケットを収集することを、パケットキャプチャあるいは単にキャプチャということがある。キャプチャサーバ100は、収集した複数のパケットをセッション単位に分類し、セッションに対応づけられた所定サイズの1まとまりのデータとする。セッションは、後述するようにパケットに含まれるIPヘッダやTCP/UDPヘッダの情報によって識別される。キャプチャサーバ100は、分類後のデータにメタデータを追加し、ストレージサーバ200,200a,200bに振り分ける。メタデータは、収集したデータを後で分析する際に、特定の情報を含むデータを抽出し易くするための付加情報である。また、キャプチャサーバ100は、データの圧縮を行うこともある。
ストレージサーバ200,200a,200bは、キャプチャサーバ100により振り分けられたデータを、それぞれストレージ装置300,300a,300bに保存するサーバコンピュータである。
なお、ストレージ装置300は、ストレージサーバ200に外付けされてもよいし内蔵されてもよい。ストレージ装置300aは、ストレージサーバ200aに外付けされてもよいし内蔵されてもよい。ストレージ装置300bは、ストレージサーバ200bに外付けされてもよいし内蔵されてもよい。
図3は、キャプチャサーバのハードウェア例を示す図である。キャプチャサーバ100は、プロセッサ101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、読み取り装置106および通信インタフェース107,108を有する。各ユニットはキャプチャサーバ100のバスに接続されている。ストレージサーバ200,200a,200bや業務サーバ400,500もキャプチャサーバ100と同様のユニットを用いて実現できる。
プロセッサ101は、キャプチャサーバ100の情報処理を制御する。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ101は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。
RAM102は、キャプチャサーバ100の主記憶装置である。RAM102は、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。
HDD103は、キャプチャサーバ100の補助記憶装置である。HDD103は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、OSのプログラム、アプリケーションプログラム、および各種データを記憶する。キャプチャサーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
画像信号処理部104は、プロセッサ101からの命令に従って、キャプチャサーバ100に接続されたディスプレイ12に画像を出力する。ディスプレイ12としては、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。
入力信号処理部105は、キャプチャサーバ100に接続された入力デバイス13から入力信号を取得し、プロセッサ101に出力する。入力デバイス13としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
読み取り装置106は、記録媒体14に記録されたプログラムやデータを読み取る装置である。記録媒体14として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。また、記録媒体14として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。読み取り装置106は、例えば、プロセッサ101からの命令に従って、記録媒体14から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
通信インタフェース107は、タップ11からパケットを受信する。通信インタフェース108は、所定のケーブルによりストレージサーバ200,200a,200bと接続されている。通信インタフェース108を所定のケーブルによりスイッチと接続してもよい。すなわち、通信インタフェース108は、スイッチを介してストレージサーバ200,200a,200bと接続されてもよい。
図4は、キャプチャサーバの機能例を示す図である。キャプチャサーバ100は、記憶部110、入力データ処理部120、データ圧縮部130、圧縮率管理部140、メタデータ追加部150および出力データ処理部160を有する。記憶部110は、RAM102やHDD103に確保された記憶領域として実現される。入力データ処理部120、データ圧縮部130、圧縮率管理部140、メタデータ追加部150および出力データ処理部160は、RAM102などに記憶されたプログラムをプロセッサ101が実行することで実現される。
記憶部110は、データの圧縮を行うか否かを制御するための情報を記憶する。記憶部110が記憶する情報には、データ圧縮部130によるデータの圧縮実績を管理するためのテーブルが含まれる。
入力データ処理部120は、タップ11から受信した複数のパケットをセッション毎に分類する。セッションは、パケットのIPヘッダに含まれるプロトコル、送信元/宛先IPアドレスおよびTCP/UDPヘッダに含まれる送信元/宛先ポート番号の組によって識別される。入力データ処理部120は、受信した複数のパケットを、セッション毎、所定サイズ毎にまとめたデータ(複数のパケットを連ねたデータ)を作成する。
データ圧縮部130は、入力データ処理部120が作成したデータを圧縮したときの圧縮率を圧縮率管理部140に問い合わせる。データ圧縮部130は、問い合わせの際に、当該データのセッション情報を圧縮率管理部140に通知する。データ圧縮部130は、圧縮率管理部140が返した圧縮率に応じて、該当のデータを圧縮するか否かを決定する。データ圧縮部130は、圧縮すると決定した場合、当該データを圧縮する。データ圧縮部130は、圧縮しないと決定した場合、当該データを圧縮しない。
圧縮率管理部140は、データ圧縮部130によるデータ圧縮の実績をポート番号毎に管理する。圧縮率管理部140は、データ圧縮部130により圧縮処理が行われると、圧縮を行ったデータのセッション情報と、圧縮前のデータサイズと、圧縮後のデータサイズとをデータ圧縮部130から取得する。圧縮率管理部140は、取得した情報をポート番号に対応づけて、記憶部110に記憶された所定のテーブルに記録する。また、圧縮率管理部140は、データ圧縮部130による圧縮率の問い合わせを受け付けると、圧縮実績のテーブルに基づいて、ポート番号毎の圧縮率を返す。
メタデータ追加部150は、データ圧縮部130から取得したデータ(圧縮されていることもあるし、圧縮されていないこともある)にメタデータを追加し、出力データを作成する。メタデータは、例えば、送信元/宛先IPアドレスや、送信元/宛先ポート番号などを特定するための情報である。
出力データ処理部160は、ストレージサーバ200,200a,200bに出力データを振り分けて送信する。例えば、出力データ処理部160は、出力データに含まれるメタデータに応じて振り分けを行う。出力データ処理部160は、同じメタデータを含む出力データを同じストレージサーバに振り分けてもよい。
ストレージサーバ200,200a,200bは、キャプチャサーバ100から受信したデータをストレージ装置300,300a,300bに格納する。ストレージサーバ200,200a,200bは、ストレージ装置300,300a,300bに格納する前に、データに対してウィルススキャンなどを行うこともある。
図5は、パケットに含まれるヘッダの例を示す図である。図5(A)はIPヘッダを例示している。図5(B)はTCPヘッダを例示している。図5(C)はUDPヘッダを例示している。
IPヘッダは、プロトコル、送信元IPアドレスおよび宛先IPアドレスのフィールドを含む。プロトコルは、上位層のプロトコル(TCPやUDPなど)を識別するための情報である。送信元IPアドレスは、パケットの送信元装置(例えば、業務サーバ400)のIPアドレスである。宛先IPアドレスは、パケットの宛先装置(例えば、業務サーバ500)のIPアドレスである。
TCPヘッダは、送信元ポート番号および宛先ポート番号のフィールドを含む。送信元ポート番号は、パケットの送信元装置において、当該パケットを処理したアプリケーションプログラムに対応する情報である。宛先ポート番号は、パケットの宛先装置において、当該パケットを処理するアプリケーションプログラムに対応する情報である。
UDPヘッダは、送信元ポート番号および宛先ポート番号のフィールドを含む。送信元ポート番号および宛先ポート番号の内容は、TCPヘッダにおける送信元ポート番号および宛先ポート番号と同様である。
例えば、入力データ処理部120は、IPヘッダにおいてプロトコルがTCPを示す場合、IPヘッダの当該プロトコル、送信元IPアドレスおよび宛先IPアドレスと、TCPヘッダの送信元ポート番号および宛先ポート番号との組により、セッションを識別する。また、入力データ処理部120は、IPヘッダにおいてプロトコルがUDPを示す場合、IPヘッダの当該プロトコル、送信元IPアドレスおよび宛先IPアドレスと、UDPヘッダの送信元ポート番号および宛先ポート番号との組により、セッションを識別する。
図6は、圧縮率管理テーブルの例を示す図である。圧縮率管理テーブル111は、記憶部110に記憶される。圧縮率管理テーブル111は、圧縮率管理部140によって更新される。圧縮率管理テーブル111は、プロトコル、ポート番号、圧縮前サイズおよび圧縮後サイズの項目を含む。
プロトコルの項目には、プロトコルの種別が登録される。ポート番号の項目には、ポート番号が登録される。宛先/送信元ポート番号が同一の場合には、当該ポート番号を1つ登録すればよい。宛先/送信元ポート番号が異なる場合には、宛先ポート番号を登録する。ただし、両ポート番号の組を登録することで、宛先/送信元ポート番号の組に応じて圧縮実績を管理してもよい。圧縮前サイズの項目には、圧縮前のデータサイズの累計が登録される。圧縮後サイズの項目には、圧縮後のデータサイズの累計が登録される。
例えば、圧縮率管理テーブル111には、プロトコルが“TCP”、ポート番号が“21”、圧縮前サイズが“1GB”、圧縮後サイズが“200MB”という情報が登録される。これは、プロトコル“TCP”のポート番号“21”に対応するデータの圧縮前サイズの累計が1GB(ギガバイト:Giga Bytes)であり、圧縮後サイズの累計が200MB(メガバイト:Mega Bytes)であることを示す。
圧縮率管理テーブル111に登録された情報に基づいて、ポート番号毎の圧縮率を計算できる。圧縮率は、圧縮によって削減されるデータ量の圧縮前のデータ量に対する割合(圧縮により削減されるサイズの割合)である。具体的には、圧縮率=(圧縮前サイズ−圧縮後サイズ)/圧縮前サイズとなる(百分率で表す場合には更に100を乗じる)。
図7は、圧縮量管理テーブルの例を示す図である。圧縮量管理テーブル112は、記憶部110に記憶される。圧縮量管理テーブル112は、データ圧縮部130によって更新される。圧縮量管理テーブル112は、累計データ量および累計圧縮データ量の項目を含む。
累計データ量の項目には、収集したデータ量の累計が登録される。累計圧縮データ量の項目には、収集したデータ量のうち圧縮を行ったデータ量の累計が登録される。例えば、圧縮量管理テーブル112には、累計データ量が“50002MB”、累計圧縮データ量が“4980MB”という情報が登録される。これは、現在までに収集したデータ量の累計が50002MBであり、そのうち圧縮処理したデータ量の累計が4980MBであることを示す。
図8は、圧縮制御テーブルの例を示す図である。圧縮制御テーブル113は、記憶部110に記憶される。圧縮制御テーブル113は、データ圧縮部130による圧縮処理の制御に用いられる。圧縮制御テーブル113は、システムの管理者などによって、事前に作成され、記憶部110に格納される。圧縮制御テーブル113は、圧縮対象とするデータ割合、圧縮率閾値およびランダム圧縮割合の項目を含む。
圧縮対象とするデータ割合の項目には、収集したデータ量のうち、圧縮対象とするデータ量の割合を示す閾値(第1閾値と称する)が登録される。圧縮率閾値の項目には、圧縮を行うか否かを判定する際の閾値(第2閾値と称する)が登録される。ランダム圧縮割合の項目には、ランダム圧縮割合が登録される。ランダム圧縮割合は、過去の圧縮実績からは圧縮対象としていないデータについて、現在の圧縮率を確認するために圧縮を試行するサンプリングタイミングを決定するための情報である。
例えば、圧縮制御テーブル113には、圧縮対象とするデータ割合が“10%”、圧縮率閾値が“50%”、ランダム圧縮割合が“1%”という情報が登録される。これは、圧縮対象とするデータ量を、収集する全データ量の10%とすることを示す。また、圧縮率が50%以上となる場合(元サイズの50%以上のデータ量を削減できる場合)に圧縮を行うと決定し、圧縮率が50%未満の場合には圧縮を行わないと決定することを示す。また、過去の実績からは圧縮を行わないと決定されるデータについても、100回収集したうちの1回の頻度で、圧縮を試行し、圧縮率の判断を行うよう制御することを示す。
図9は、圧縮率補正テーブルの例を示す図である。圧縮率補正テーブル114は、記憶部110に記憶される。圧縮率補正テーブル114は、圧縮率管理部140による圧縮実績の補正に用いられる。圧縮率補正テーブル114は、システムの管理者などによって事前に作成され、記憶部110に格納される。圧縮率補正テーブル114は、補正間隔、圧縮前累計サイズの減少率および圧縮率の減少率の項目を含む。
補正間隔の項目には、圧縮実績の補正を行う時間間隔が登録される。圧縮前累計サイズの減少率の項目には、圧縮率管理テーブル111における圧縮前サイズを減少させる割合が登録される。圧縮率の減少率の項目には、圧縮率を減少させる割合が登録される。
例えば、圧縮率補正テーブル114には、補正間隔が“1時間”、圧縮前累計サイズの減少率が“90%”、圧縮率の減少率が“90%”という情報が登録される。これは、圧縮率管理テーブル111の設定値を1時間毎に補正すること、圧縮前サイズを0.9倍、圧縮率の減少率を0.9倍に補正することを示す。圧縮率管理部140は、これらの情報を用いて、圧縮率管理テーブル111における圧縮前サイズおよび圧縮後サイズの登録値を補正する(詳細は後述する)。
図10は、圧縮処理の例を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
(S11)入力データ処理部120は、データを受信する。データは、前述のように、あるセッションに分類される複数のパケットの集合である。したがって、データの受信は、あるセッションに分類される複数のパケットを受信することに相当する。入力データ処理部120は、受信した複数のパケットをセッション毎に分類することで、セッション毎のデータを得る。
(S12)データ圧縮部130は、圧縮量管理テーブル112に基づいて、累計データ量に対する累計圧縮データ量の比率が第1閾値以下であるか否かを判定する。第1閾値以下である場合、処理をステップS13に進める。第1閾値よりも大きい場合、処理をステップS19に進める。圧縮制御テーブル113の例によれば、第1閾値は10%である。圧縮量管理テーブル112の例によれば、累計データ量に対する累計圧縮データ量の比率は、(4980MB÷50002MB)×100=9.9596%である。当該比率9.9596%は、第1閾値(10%)以下である。よって、この場合、処理をステップS13に進める。
(S13)データ圧縮部130は、セッション情報を圧縮率管理部140に通知して、圧縮を行う場合の圧縮率を確認する。セッション情報は、前述のように、プロトコル、送信元/宛先IPアドレスおよび送信元/宛先ポート番号(例えば、“21”)の情報を含む。データ圧縮部130は、セッション情報に含まれる送信元/宛先ポート番号に応じた圧縮率を圧縮率管理部140から取得する。
(S14)データ圧縮部130は、圧縮率管理部140から取得した圧縮率が第2閾値以上であるか否かを判定する。第2閾値以上である場合、処理をステップS17に進める。第2閾値よりも小さい場合、処理をステップS15に進める。圧縮制御テーブル113の例によれば、第2閾値は50%である。圧縮率管理テーブル111の例によれば、ポート番号“21”に対応する圧縮率は、{(1GB−0.2GB)/1GB}×100=80%である。圧縮率80%は、第2閾値(50%)よりも大きい。よって、ポート番号“21”に対応するデータを圧縮するか否かを決定する場合、データ圧縮部130は、圧縮すると決定する。
(S15)データ圧縮部130は、0以上1未満で0.01刻みの乱数を生成する。乱数の種類は、0,0.01,0.02,・・・,0.99と全部で100種類ある。
(S16)データ圧縮部130は、ステップS15における生成値がランダム圧縮割合より小さいか否かを判定する。ランダム圧縮割合よりも小さい場合、処理をステップS17に進める。ランダム圧縮割合以上である場合、処理をステップS19に進める。圧縮制御テーブル113の例によれば、ランダム圧縮割合は1%(=0.01)である。したがって、データ圧縮部130は、生成値が0の場合にランダム圧縮割合(0.01)よりも小さいと判定し、処理をステップS17に進める。他方、生成値が0.01以上の場合にランダム圧縮割合(0.01)以上であると判定し、処理をステップS19に進める。
(S17)データ圧縮部130は、受信したデータを圧縮する。圧縮方式は、パケットの全ての情報を復元可能とするためには可逆圧縮が好ましい。ただし、保存しなくてよい情報を削除した後に可逆圧縮するなど、非可逆の変換を行ってもよい。
(S18)データ圧縮部130は、圧縮前後のデータサイズを、圧縮率管理部140に通知する。この通知には、セッション情報も含まれる。
(S19)データ圧縮部130は、圧縮量管理テーブル112を更新する。具体的には、データを圧縮した場合、データ圧縮部130は、累計データ量および累計圧縮データ量の両方に今回の圧縮前データサイズを加算する。他方、データを圧縮しなかった場合、データ圧縮部130は、累計データ量のみに今回の圧縮前データサイズを加算する。
その後、メタデータ追加部150は、データ圧縮部130により処理されたデータにメタデータを追加し、出力データを作成する。メタデータ追加部150は、追加するメタデータの内容をデータ圧縮部130から取得する。そして、出力データ処理部160は、メタデータに応じて、出力データの振り分け先のストレージサーバを決定する。出力データ処理部160は、決定した振り分け先のストレージサーバに出力データを送信する。
なお、ステップS12で累計データ量に対する累計圧縮データ量の比率が第1閾値以下であるかを判定する理由は、受信データのうち圧縮対象とするデータ量を一定の割合に抑えるためである。例えば、ほとんど全ての通信で、特定のポート番号による通信が行われる場合、データ圧縮部130が圧縮対象とするデータ量が過大になり、圧縮処理が追いつかなくなることがある。そこで、第1閾値を設けることで、圧縮対象とするデータ量が過大になることを防止する。ただし、ポート番号の偏りがなく、複数の種類のポート番号で通信が行われている場合、ステップS12の判定を行わなくてもよい(ステップS11の後、ステップS12をスキップして、ステップS13を実行してもよい)。
また、ステップS15,S16により、データの圧縮を行うかを再度判定する理由は、これまでの実績では圧縮率が第2閾値より小さいと計測される場合でも、通信内容の変化により、現状では圧縮率が向上している可能性もあるからである。そこで、データ圧縮部130は、非圧縮とするポート番号のパケットも間欠的に圧縮して圧縮率を求め、圧縮率の変化に応じて当該ポート番号のパケットを圧縮対象に変更する。これにより、非圧縮と判断されるポート番号でも、通信内容の変化により、圧縮の効果が見込める場合には、圧縮するように制御できる。
更に、ステップS13においてデータ圧縮部130は、圧縮率管理部140から圧縮率を取得できないこともある。圧縮率管理テーブル111に該当のプロトコル/ポート番号に対応するレコードが未だ登録されていない場合である。この場合、データ圧縮部130は、処理をステップS17に進める。その結果、該当のプロトコル/ポート番号に対応するレコードが圧縮率管理テーブル111に追加されることになる。
図11は、圧縮率管理処理の例を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
(S21)圧縮率管理部140は、データ圧縮部130から圧縮前後のデータサイズの通知を受け付ける。この通知には、セッション情報も含まれる。ステップS21は、図10のステップS18に対応するステップである。
(S22)圧縮率管理部140は、圧縮率管理テーブル111の圧縮前後の累計データサイズを更新する。具体的には、通知されたセッション情報に対応するレコード(プロトコルおよびポート番号で識別される)の圧縮前サイズの登録値に圧縮前のデータサイズを加算する。また、同レコードの圧縮後サイズの登録値に圧縮後のデータサイズを加算する。例えば、セッション情報に、プロトコル“TCP”、ポート番号“21”が含まれていれば、プロトコル“TCP”およびポート番号“21”に対応するレコードの圧縮前サイズおよび圧縮後サイズを更新する。
このようにして、圧縮率管理部140は、データ圧縮部130によるデータ圧縮の実績を、圧縮率管理テーブル111にポート番号毎に記録する。圧縮率管理部140は、圧縮率管理テーブル111の登録値を定期的に補正する。次に、補正手順を説明する。
図12は、圧縮率補正処理の例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
(S31)圧縮率管理部140は、一定時間毎にステップS32の処理を繰り返し実行する。繰り返す時間間隔は、圧縮率補正テーブル114に登録された補正間隔である。
(S32)圧縮率管理部140は、圧縮率管理テーブル111の登録値を所定割合だけ減らす。具体的には、まず、圧縮率管理部140は、圧縮率管理テーブル111に基づいて、レコード毎に圧縮率を求める。そして、圧縮率管理部140は、圧縮率補正テーブル114に登録された圧縮前累計サイズの減少率の分だけ、圧縮率管理テーブル111の全レコードの圧縮前サイズを減少させる。圧縮率管理部140は、圧縮率補正テーブル114に登録された圧縮率の減少率を用いて、求めた圧縮率を減少させ、レコード毎に圧縮後サイズを計算し直す。圧縮前累計サイズの減少率をα、圧縮率の減少率をβ、圧縮率管理テーブル111に登録された補正前の圧縮前サイズをa、補正前の圧縮後サイズをbとすると、補正後の圧縮後サイズxは、式(1)で表される。
Figure 0006451359
(S33)圧縮率管理部140は、キャプチャサーバ100によるパケット収集が終了すると、繰り返しを終了し、圧縮率補正処理を終了する。
このように、圧縮率は時間帯とともに変動することが考えられるので、圧縮率管理部140は、一定時間毎に圧縮率管理テーブル111の全登録値に定数を乗算して圧縮率が減衰するよう補正する。圧縮率補正テーブル114の例によれば、1時間毎に圧縮前サイズの累計値を1割減らし、圧縮率も1割減るように圧縮後サイズの累計値を補正する。
図13は、圧縮率を減衰させる例を示す図である。例えば、あるタイミングにおいて、圧縮率管理テーブル111のあるレコードにおける圧縮前サイズが100、圧縮後サイズが80であるとする。このタイミングでの圧縮率は20%である。以後、圧縮前サイズおよび圧縮後サイズへの加算がないとすると、圧縮率管理部140は、式(1)により、次のように圧縮後サイズを補正する。ここで、一例としてα=β=0.9とする。
1時間後には、圧縮前サイズを90と補正し、圧縮率が18%となるので、圧縮後サイズを74と補正する。2時間後には、圧縮前サイズを81と補正し、圧縮率が16%となるので、圧縮後サイズを68と補正する。3時間後には、圧縮前サイズを73と補正し、圧縮率が15%となるので、圧縮後サイズを62と補正する。以降、圧縮率管理部140は、同様にして圧縮後サイズを補正する。
図12,13に示すように、圧縮率管理テーブル111の登録値を減少させる理由は、過去の通信傾向の影響を減らすためである。すなわち、圧縮前後のサイズの累計値を保持していると過去の影響を受け続けることになる。この場合、現在の通信の傾向とは異なる過去の傾向の影響が累計値に反映され続けるおそれがある。そこで、圧縮率管理テーブル111の登録値を定期的に減少させることで、過去の影響を低減し、現在の傾向における圧縮率を、より適切に算出可能となる。なお、例示した補正間隔やαおよびβの値は、運用に応じて任意に変更可能である。
このように、キャプチャサーバ100は、収集したデータに含まれるポート番号に応じてデータ保存時の圧縮/非圧縮を決定することで、圧縮効率のよいデータを圧縮し、圧縮効率の悪いデータを圧縮しないようにする。圧縮効率の悪いデータを圧縮しても、ストレージ装置300,300a,300bにおける記憶容量の節約への寄与は小さいからである。これにより、圧縮処理の負荷を効率的に減らすことができる。その結果、キャプチャサーバ100の負荷を軽減し、データの取りこぼしを抑制しながら、データを保存するための記憶容量を節約できる。
ところで、ポート番号に対応するアプリケーションプログラムには、様々な形式のデータを送信するものがある。このようなアプリケーションプログラムは、宛先や送信元の装置に応じて、送信するデータ形式が偏ることもあり、ポート番号が同じでも、宛先や送信元の装置に応じて、データの圧縮率が異なることも考えられる。例えば、あるクライアントコンピュータはWebサーバ(例えば、ポート番号“80”を用いる)が配信する動画コンテンツを主に受信するのに対し、他のクライアントコンピュータはWebサーバ(同ポート番号“80”を用いる)からテキストコンテンツを主に受信することもある。この場合、宛先または送信元の装置を区別して圧縮対象とするデータを選択できることが好ましい。そこで、キャプチャサーバ100は、圧縮率管理テーブル111において追加の情報を管理してもよい。
図14は、圧縮率管理テーブルの他の例(その1)を示す図である。圧縮率管理テーブル111aは、圧縮率管理テーブル111の代わりに、記憶部110に記憶される。圧縮率管理テーブル111aでは、圧縮率管理テーブル111に登録される情報に加えて、宛先IPアドレスを更に記録可能な点が異なる。宛先IPアドレスの項目には、受信したパケットの宛先IPアドレスが登録される。
例えば、圧縮率管理テーブル111aには、プロトコルが“TCP”、ポート番号が“80”、宛先IPアドレスが“192.168.1.100”、圧縮前サイズが“100MB”、圧縮後サイズが“20MB”という情報が登録される。
これは、プロトコル“TCP”、ポート番号“80”および宛先IPアドレス“192.168.1.100”に対応するデータの圧縮前サイズの累計が100MBであり、圧縮後サイズの累計が20MBであることを示す。
このように、圧縮率管理部140は、同じポート番号でも、更にIPアドレスによって区別して、圧縮実績を記録することもできる。このようにすれば、装置毎の通信内容の傾向に応じて、圧縮実績を管理し、データの圧縮率を取得できる。
なお、宛先IPアドレスを記録するものとしたが、送信元IPアドレスを記録してもよい。また、宛先IPアドレスおよび送信元IPアドレスの両方を記録してもよい。
圧縮率管理テーブル111aを用いる場合、図10のステップS13において、圧縮率管理部140は、プロトコル、宛先IPアドレスおよびポート番号に対応する圧縮率をデータ圧縮部130に提供する。データ圧縮部130は、当該圧縮率に応じて、データを圧縮するか否かを決定する。また、圧縮率管理部140は、図11のステップS22において、プロトコル、宛先IPアドレスおよびポート番号で識別されるレコードに、圧縮前後の累計データサイズを記録する。
このように、圧縮率管理部140は、同じポート番号でも、宛先IPアドレスによってデータを区別して圧縮実績を記録することもできる。このようにすれば、ポート番号に加えて、通信を行う装置に応じた圧縮実績を管理でき、通信を行う装置毎の通信内容の傾向に応じた圧縮率を取得できる。その結果、圧縮効果が高いと見込まれるデータをより詳細に選択可能となり、圧縮処理の負荷をより低減できる。
図15は、圧縮率管理テーブルの他の例(その2)を示す図である。圧縮率管理テーブル111bは、圧縮率管理テーブル111の代わりに、記憶部110に記憶される。圧縮率管理テーブル111bでは、圧縮率管理テーブル111に登録される情報に加えて、ファイルタイプを更に記録可能な点が異なる。ファイルタイプの項目には、データの形式(ファイルタイプ)が登録される。ファイルタイプの項目には、ファイルタイプが不明な場合、“不明”という情報が登録される。
例えば、圧縮率管理テーブル111bには、プロトコルが“TCP”、ポート番号が“80”、ファイルタイプが“video/mpeg”、圧縮前サイズが“100GB”、圧縮後サイズが“97GB”という情報が登録される。
これは、プロトコル“TCP”、ポート番号“80”およびファイルタイプ“video/mpeg”に対応するデータの圧縮前サイズの累計が100GBであり、圧縮後サイズの累計が97GBであることを示す。
圧縮率管理テーブル111bを用いる場合、図10のステップS13において、圧縮率管理部140は、プロトコル、ポート番号およびファイルタイプに対応する圧縮率をデータ圧縮部130に提供する。データ圧縮部130は、当該圧縮率に応じて、データを圧縮するか否かを決定する。また、圧縮率管理部140は、図11のステップS22において、プロトコル、ポート番号およびファイルタイプで識別されるレコードに、圧縮前後の累計データサイズを記録する。
このように、圧縮率管理部140は、収集したパケットの内容を解析し、同じポート番号でもファイルタイプによってデータを区別して、圧縮実績を記録することもできる。このようにすれば、各ポート番号に対してファイルタイプ毎の圧縮実績を管理し、データの圧縮率を取得できる。その結果、圧縮効果が高いと見込まれるデータをより詳細に選択可能となり、圧縮処理の負荷をより低減できる。
なお、第2の実施の形態では、圧縮後のデータにメタデータを追加するものとしたが、メタデータを追加した後にデータの圧縮を行ってもよい。この場合、データ圧縮部130は、メタデータ以外の部分の圧縮を行い、メタデータの部分の圧縮を行わないようにしてもよい。
[第3の実施の形態]
以下、第3の実施の形態を説明する。前述の第2の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
ポート番号毎の通信内容の傾向は、時間帯に応じて変化することもある。そこで、第3の実施の形態では、ポート番号毎の圧縮実績を時間帯別に記録し、圧縮対象のデータの選択に利用する。
ここで、第3の実施の形態の通信記録システムは、図2で例示した第2の実施の形態の通信記録システムと同様である。第3の実施の形態の通信記録システムに含まれる各要素を、第2の実施の形態と同じ名称・符号を用いて指し示す。ただし、第3の実施の形態では、ポート番号毎の圧縮実績を時間帯別に記録する点が第2の実施の形態と異なる。
図16は、第3の実施の形態の圧縮率管理テーブルの例を示す図である。圧縮率管理テーブル111cは、圧縮率管理テーブル111の代わりに、記憶部110に記憶される。圧縮率管理テーブル111cでは、圧縮前サイズおよび圧縮後サイズの組を、時間帯別に記録可能な点が、圧縮率管理テーブル111と異なる。
圧縮率管理テーブル111cには、0時台、1時台、2時台、・・・、23時台と1時間毎の圧縮前サイズ、圧縮後サイズが登録される。1つの時間帯の長さを、一例として1時間とするが、2時間や3時間など他の長さでもよい。
例えば、圧縮率管理テーブル111cには、プロトコルが“TCP”、ポート番号が“21”、0時台の圧縮前サイズが“200MB”、0時台の圧縮後サイズが“40MB”、1時台の圧縮前サイズが“100MB”、1時台の圧縮後サイズが“30MB”、2時台の圧縮前サイズが“100MB”、2時台の圧縮後サイズが“25MB”という情報が登録される。これは、プロトコル“TCP”、ポート番号“21”に対応するデータについて、0時台では圧縮前サイズの累計が200MBであり、圧縮後サイズの累計が40MBであったことを示す。また、1時台では圧縮前サイズの累計が100MBであり、圧縮後サイズの累計が30MBであったことを示す。また、2時台では圧縮前サイズの累計が100MBであり、圧縮後サイズの累計が25MBであったことを示す。
圧縮率管理テーブル111cを用いる場合、圧縮率管理部140は、データ圧縮部130による圧縮率の確認の際に、現時間帯に対応する圧縮率を提供する(図10のステップS13)。データ圧縮部130は、現時間帯に対応する圧縮率を用いて、図10のステップS14の判定を行うことになる。第3の実施の形態では、図11で例示した圧縮率管理処理を次のように行う。
図17は、第3の実施の形態の圧縮率管理処理の例を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
(S41)圧縮率管理部140は、データ圧縮部130から圧縮前後のデータサイズの通知を受け付ける。この通知には、セッション情報も含まれる。ステップS41は、図10のステップS18に対応するステップである。
(S42)圧縮率管理部140は、現時間帯で初めての呼び出しであるか否かを判定する。現時間帯で初めての呼び出しである場合、処理をステップS43に進める。現時点で初めての呼び出しでない場合、処理をステップS44に進める。
(S43)圧縮率管理部140は、圧縮率管理テーブル111cの現時間帯の登録値を全てリセットする。すなわち、圧縮率管理部140は、全てのポート番号について現時間帯の登録値を0にリセットする。例えば、現時間帯が0時台であれば、圧縮率管理テーブル111cの0時台における圧縮前サイズおよび圧縮後サイズの全ての登録値を0にリセットする。
(S44)圧縮率管理部140は、圧縮率管理テーブル111cの圧縮前後の累計データサイズを更新する。具体的には、通知されたセッション情報に対応するレコードにおける現時間帯の圧縮前サイズの登録値に圧縮前のデータサイズを加算する。また、同レコードの現時間帯の圧縮後サイズの登録値に圧縮後のデータサイズを加算する。例えば、セッション情報に、プロトコル“TCP”、ポート番号“21”が含まれており、現時間帯が0時台であれば、プロトコル“TCP”およびポート番号“21”に対応するレコードの0時台の圧縮前サイズおよび圧縮後サイズを更新する。
このようにして、キャプチャサーバ100は、時間帯毎の圧縮実績を管理し、時間帯毎の圧縮率に応じて、データを圧縮するか否かを選択する。これにより、時間帯に応じて送受信されるデータの種類の傾向の変化に応じて、圧縮によるサイズ削減の効果の大きいデータを圧縮対象と選択できるようになる。なお、第3の実施の形態では、図17で例示したように、時間帯が変わるたびに該当の時間帯における登録値をリセットするので、図12で例示した圧縮率補正処理を行わなくてもよい。
[第4の実施の形態]
以下、第4の実施の形態を説明する。前述の第2,第3の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
第2,第3の実施の形態では、キャプチャサーバ100によりデータの圧縮を行うものとしたが、データ圧縮の機能をストレージサーバ200,200a,200bに設けてもよい。そこで、第4の実施の形態では、ストレージサーバ200,200a,200bによりデータ圧縮を行う機能を提供する。
ここで、第4の実施の形態の通信記録システムは、図2で例示した第2の実施の形態の通信記録システムと同様である。第4の実施の形態の通信記録システムに含まれる各要素を第2の実施の形態と同じ名称・符号を用いて指し示す。ただし、第4の実施の形態では、データ圧縮部130および圧縮率管理部140の機能を、キャプチャサーバ100ではなく、ストレージサーバ200,200a,200bに設ける点が第2の実施の形態と異なる。すなわち、第4の実施の形態では、キャプチャサーバ100は、パケットをセッション毎に分類してメタデータを追加し、圧縮せずにストレージサーバ200,200a,200bに送信する。
図18は、第4の実施の形態のストレージサーバの機能例を示す図である。ストレージサーバ200は、記憶部210、受信部220、データ圧縮部230、圧縮率管理部240および出力部250を有する。記憶部210は、ストレージサーバ200が有するRAMやHDDなどに確保された記憶領域として実現される。受信部220、データ圧縮部230、圧縮率管理部240および出力部250は、ストレージサーバ200が有するプロセッサがRAMに記憶されたプログラムを実行することで実現される。ストレージサーバ200a,200bもストレージサーバ200と同様の機能を有する。
記憶部210は、圧縮率管理テーブル111、圧縮量管理テーブル112、圧縮制御テーブル113および圧縮率補正テーブル114を記憶する。
受信部220は、キャプチャサーバ100からデータを受信する。当該データは、前述のようにキャプチャサーバ100により受信された複数のパケットが、セッション毎、所定サイズ毎にまとめられたデータ(複数のパケットを連ねたデータ)を含み、キャプチャサーバ100により追加されたメタデータを含む。
データ圧縮部230は、受信部220により受信されたデータに含まれるパケット、または、当該に含まれるメタデータからセッション情報を取得する。データ圧縮部230は、受信部220により受信されたデータを圧縮したときの圧縮率を圧縮率管理部240に問い合わせる。データ圧縮部230は、問い合わせの際に、当該データのセッション情報を圧縮率管理部240に通知する。
データ圧縮部230は、圧縮率管理部240が返した圧縮率に応じて、該当のデータを圧縮するか否かを決定する。データ圧縮部230は、圧縮すると決定した場合、当該データ(メタデータ以外の部分)を圧縮する。データ圧縮部230は、圧縮しないと決定した場合、当該データを圧縮しない。データ圧縮部230は、記憶部210に記憶された圧縮量管理テーブル112の更新も行う(累計データ量および累計圧縮データ量を更新する)。
圧縮率管理部240は、データ圧縮部230によるデータ圧縮の実績を管理する。圧縮率管理部240は、データ圧縮部230により圧縮処理が行われると、圧縮を行ったデータのセッション情報と、圧縮前のデータサイズと、圧縮後のデータサイズとをデータ圧縮部230から取得する。圧縮率管理部240は、取得した情報により記憶部210に記憶された圧縮率管理テーブル111を更新する(圧縮前サイズおよび圧縮後サイズの累計を更新する)。
出力部250は、データ圧縮部230から取得したデータ(圧縮されていることもあるし、圧縮されていないこともある)をストレージ装置300に格納する。
このように、データ圧縮部230および圧縮率管理部240をストレージサーバ200に設けてもよい。この場合、図10で例示したデータ圧縮部130の手順を、データ圧縮部230により実行する。図11,12で例示した圧縮率管理部140の手順を、圧縮率管理部240により実行する。
これにより、第2の実施の形態と同様に、圧縮処理の負荷を効率的に減らすことができる。圧縮率管理部240は、圧縮率管理テーブル111の代わりに、圧縮率管理テーブル111a,111b,111cの何れかを記憶部210に格納して、圧縮実績を管理してもよい。これにより、圧縮候補のデータを、ファイルタイプや時間帯等により細かく分類して圧縮効果の高いデータを選択可能となる。
なお、第1の実施の形態の情報処理は、演算部1bにプログラムを実行させることで実現できる。第2,第3の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。第4の実施の形態の情報処理は、ストレージサーバ200が備えるプロセッサにプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体14に記録できる。
例えば、プログラムを記録した記録媒体14を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体14に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
以上の第1〜第4の実施の形態を含む実施形態に関し、更に以下の付記を開示する。
(付記1) 送信元装置から宛先装置へ送信されたパケットを記憶する記憶部と、
受信した前記パケットに含まれるポート番号に応じて前記パケットを圧縮するか否かを決定し、圧縮すると決定した前記パケットを圧縮し、前記記憶部に格納する演算部と、
を有する通信記録装置。
(付記2) 前記演算部は、非圧縮とするポート番号のパケットも間欠的に圧縮して圧縮率を求め、圧縮率の変化に応じて当該ポート番号のパケットを圧縮対象に変更する、付記1記載の通信記録装置。
(付記3) 前記演算部は、前記パケットの圧縮実績からポート番号毎に圧縮率を求め、ポート番号毎の圧縮率に応じて圧縮するか否かを決定する、付記1または2記載の通信記録装置。
(付記4) 前記演算部は、前記パケットに含まれるポート番号および宛先アドレスに対して前記圧縮率を求め、ポート番号および宛先アドレスに対する圧縮率に応じて圧縮するか否かを決定する、付記3記載の通信記録装置。
(付記5) 前記演算部は、前記パケットに含まれるポート番号およびパケット化されたデータのデータ形式に応じた前記圧縮率を求め、ポート番号およびデータ形式に対する圧縮率に応じて圧縮するか否かを決定する、付記3記載の通信記録装置。
(付記6) 前記演算部は、ポート番号毎の圧縮率を時間帯別に求め、ポート番号毎の時間帯別の圧縮率に応じて圧縮するか否かを決定する、付記3記載の通信記録装置。
(付記7) 前記演算部は、前記圧縮実績として圧縮前サイズの累計値と圧縮後サイズの累計値とをポート番号毎に記録し、前記圧縮前サイズの累計値と圧縮後サイズの累計値とを所定周期で減少させる、付記3乃至5の何れか1つに記載の通信記録装置。
(付記8) 前記演算部は、圧縮により削減されるデータサイズの圧縮前のデータサイズに対する割合が閾値以上の場合に圧縮すると決定し、前記割合が閾値よりも小さい場合に圧縮しないと決定する、付記3乃至7の何れか1つに記載の通信記録装置。
(付記9) 前記演算部は、保存したパケットの総サイズのうち圧縮したパケットの累計サイズが所定割合に達していない場合にパケットを圧縮する、付記1乃至8の何れか1つに記載の通信記録装置。
(付記10) 送信元装置から宛先装置へ送信されたパケットを記憶する記憶装置と、
受信した前記パケットに含まれるポート番号に応じて前記パケットを圧縮するか否かを決定し、圧縮すると決定した前記パケットを圧縮し、前記記憶装置に格納する情報処理装置と、
を有する通信記録システム。
(付記11) コンピュータに、
受信したパケットに含まれるポート番号に応じて前記パケットを圧縮するか否かを決定し、
圧縮すると決定した前記パケットを圧縮し、記憶部に格納する、
処理を実行させる通信記録プログラム。
(付記12) コンピュータが、
受信したパケットに含まれるポート番号に応じて前記パケットを圧縮するか否かを決定し、
圧縮すると決定した前記パケットを圧縮し、記憶部に格納する、
通信記録方法。
1 通信記録装置
1a 記憶部
1b 演算部
2 送信元装置
3 宛先装置
4 ネットワーク
5 タップ
6,6a パケット
T1 テーブル

Claims (5)

  1. 送信元装置から宛先装置へ送信されたパケットを記憶する記憶部と、
    受信した前記パケットに含まれるポート番号に応じて前記パケットを圧縮するか否かを決定し、圧縮すると決定した前記パケットを圧縮し、前記記憶部に格納する演算部と、
    を有し、
    前記演算部は、非圧縮とするポート番号のパケットも間欠的に圧縮して圧縮率を求め、圧縮率の変化に応じて当該ポート番号のパケットを圧縮対象に変更する、
    通信記録装置。
  2. 送信元装置から宛先装置へ送信されたパケットを記憶する記憶部と、
    受信した前記パケットに含まれるポート番号に応じて前記パケットを圧縮するか否かを決定し、圧縮すると決定した前記パケットを圧縮し、前記記憶部に格納する演算部と、
    を有し、
    前記演算部は、前記パケットの圧縮実績として圧縮前サイズの累計値と圧縮後サイズの累計値とをポート番号毎に記録し、前記圧縮実績からポート番号毎に圧縮率を求め、ポート番号毎の圧縮率に応じて圧縮するか否かを決定し、前記圧縮前サイズの累計値と前記圧縮後サイズの累計値とを所定周期で減少させる、
    信記録装置。
  3. 送信元装置から宛先装置へ送信されたパケットを記憶する記憶装置と、
    受信した前記パケットに含まれるポート番号に応じて前記パケットを圧縮するか否かを決定し、圧縮すると決定した前記パケットを圧縮し、前記記憶装置に格納する情報処理装置と、
    を有し、
    前記情報処理装置は、非圧縮とするポート番号のパケットも間欠的に圧縮して圧縮率を求め、圧縮率の変化に応じて当該ポート番号のパケットを圧縮対象に変更する、
    通信記録システム。
  4. コンピュータに、
    受信したパケットに含まれるポート番号に応じて前記パケットを圧縮するか否かを決定し、
    圧縮すると決定した前記パケットを圧縮し、記憶部に格納
    非圧縮とするポート番号のパケットも間欠的に圧縮して圧縮率を求め、圧縮率の変化に応じて当該ポート番号のパケットを圧縮対象に変更する、
    処理を実行させる通信記録プログラム。
  5. コンピュータが、
    受信したパケットに含まれるポート番号に応じて前記パケットを圧縮するか否かを決定し、
    圧縮すると決定した前記パケットを圧縮し、記憶部に格納
    非圧縮とするポート番号のパケットも間欠的に圧縮して圧縮率を求め、圧縮率の変化に応じて当該ポート番号のパケットを圧縮対象に変更する、
    通信記録方法。
JP2015019091A 2015-02-03 2015-02-03 通信記録装置、通信記録システム、通信記録プログラムおよび通信記録方法 Expired - Fee Related JP6451359B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015019091A JP6451359B2 (ja) 2015-02-03 2015-02-03 通信記録装置、通信記録システム、通信記録プログラムおよび通信記録方法
US15/012,899 US9848066B2 (en) 2015-02-03 2016-02-02 Communication recording apparatus, system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015019091A JP6451359B2 (ja) 2015-02-03 2015-02-03 通信記録装置、通信記録システム、通信記録プログラムおよび通信記録方法

Publications (2)

Publication Number Publication Date
JP2016144060A JP2016144060A (ja) 2016-08-08
JP6451359B2 true JP6451359B2 (ja) 2019-01-16

Family

ID=56553497

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015019091A Expired - Fee Related JP6451359B2 (ja) 2015-02-03 2015-02-03 通信記録装置、通信記録システム、通信記録プログラムおよび通信記録方法

Country Status (2)

Country Link
US (1) US9848066B2 (ja)
JP (1) JP6451359B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170257796A1 (en) * 2016-03-07 2017-09-07 Mediatek Inc. Selective Uplink Only Header Compression Mechanism
JP6750417B2 (ja) * 2016-09-15 2020-09-02 富士通株式会社 パケット制御プログラム、パケット制御装置及びパケット制御システム
US11202050B2 (en) * 2016-10-14 2021-12-14 Lg Electronics Inc. Data processing method and device for adaptive image playing
CN114780501A (zh) * 2021-01-22 2022-07-22 伊姆西Ip控股有限责任公司 数据处理方法、电子设备和计算机程序产品
CN114816222A (zh) * 2021-01-22 2022-07-29 伊姆西Ip控股有限责任公司 数据压缩方法、电子设备和计算机程序产品
JP2022138624A (ja) * 2021-03-10 2022-09-26 株式会社オートネットワーク技術研究所 車載装置、車載システム、情報処理方法、及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657452A (en) * 1995-09-08 1997-08-12 U.S. Robotics Corp. Transparent support of protocol and data compression features for data communication
JPH10294769A (ja) * 1997-04-17 1998-11-04 Furukawa Electric Co Ltd:The 中継装置
US6624761B2 (en) * 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
JP2001111432A (ja) * 1999-10-04 2001-04-20 Seiko Epson Corp データ圧縮制御装置、データ圧縮制御方法、印刷情報形成装置、印刷システム及びプログラムを記録した記録媒体
US7362780B2 (en) * 2002-12-11 2008-04-22 Nokia Corporation Avoiding compression of encrypted payload
US7420992B1 (en) * 2005-03-17 2008-09-02 Packeteer, Inc. Adaptive network traffic compression mechanism including dynamic selection of compression algorithms
JP4699893B2 (ja) * 2005-12-19 2011-06-15 三菱スペース・ソフトウエア株式会社 パケット解析システム、パケット解析プログラム、パケット解析方法及びパケット取得装置
US8417833B1 (en) * 2006-11-29 2013-04-09 F5 Networks, Inc. Metacodec for optimizing network data compression based on comparison of write and read rates
US8908700B2 (en) * 2007-09-07 2014-12-09 Citrix Systems, Inc. Systems and methods for bridging a WAN accelerator with a security gateway
WO2010042578A1 (en) * 2008-10-08 2010-04-15 Citrix Systems, Inc. Systems and methods for real-time endpoint application flow control with network structure component
CN102405631B (zh) * 2009-02-20 2015-02-18 思杰系统有限公司 用于中间设备压缩通过远程显示协议传递的数据的系统和方法
US8792491B2 (en) * 2010-08-12 2014-07-29 Citrix Systems, Inc. Systems and methods for multi-level quality of service classification in an intermediary device
US9130864B2 (en) * 2011-06-27 2015-09-08 Citrix Systems, Inc. Prioritizing classes of network traffic to provide a predetermined quality of service
JP6051549B2 (ja) * 2012-03-16 2016-12-27 株式会社リコー 通信制御システム、制御装置、プログラムおよび電子情報ボード
US8867447B2 (en) * 2012-08-28 2014-10-21 Verizon Patent And Licensing Inc. Dynamic header compression based on attributes of traffic

Also Published As

Publication number Publication date
US9848066B2 (en) 2017-12-19
US20160227001A1 (en) 2016-08-04
JP2016144060A (ja) 2016-08-08

Similar Documents

Publication Publication Date Title
JP6451359B2 (ja) 通信記録装置、通信記録システム、通信記録プログラムおよび通信記録方法
US11936764B1 (en) Generating event streams based on application-layer events captured by remote capture agents
US9843598B2 (en) Capture triggers for capturing network data
US10404556B2 (en) Methods and computer program products for correlation analysis of network traffic in a network device
US8868727B2 (en) Methods and computer program products for storing generated network application performance data
JP4967014B2 (ja) ストリームデータ処理装置及び方法
US9621441B2 (en) Methods and computer program products for analysis of network traffic by port level and/or protocol level filtering in a network device
US20080147673A1 (en) High-throughput extract-transform-load (ETL) of program events for subsequent analysis
JP6455135B2 (ja) パケット抽出装置、パケット抽出プログラムおよびパケット抽出方法
US11003513B2 (en) Adaptive event aggregation
US20150331917A1 (en) Recording medium having stored therein transmission order determination program, transmission order determination device, and transmission order determination method
US11233886B2 (en) Storage medium and packet analyzing device
CN114697205A (zh) 日志处理方法及装置
CN112541825B (zh) 基于区块链的交易处理方法及装置、电子设备
JP7318729B2 (ja) データ処理装置、データ処理方法、及びプログラム
US20100023479A1 (en) Hexadecimal file fast decompression method
CN103457773A (zh) 一种终端客户体验管理的方法及装置
US20210400068A1 (en) Communication information integration system, communication information integration method, communication information integration apparatus, terminal apparatus, and computer readable recording medium
CN118476201A (zh) 用于软件负载平衡器的链接分组跟踪
JP2018142158A (ja) データ収集システムおよびデータ収集システムの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181101

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181126

R150 Certificate of patent or registration of utility model

Ref document number: 6451359

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees