(57)【要約】【課題】多数の通信が存在するネットワークにおいて、通信装置を有効に機能させる。【解決手段】ネットワークに接続される通信装置が処理するパケットを解析する、解析装置であって、前記ネットワークを流れるパケットのミラーパケットを受信する、受信部 と、前記ミラーパケットの一部情報を取得して解析し、前記解析の結果に基づき前記ネットワークを転送されるパケットに対する前記通信装置の機能の適用の要否を判定する解析部と、を含む。【選択図】図４
2016100721.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続される通信装置が処理するパケットを解析する、解析装置であって、
前記ネットワークを流れるパケットのミラーパケットを受信する、受信部と、
前記ミラーパケットの一部情報を取得して解析し、前記解析の結果に基づき前記ネットワークを転送されるパケットに対する前記通信装置の機能の適用の要否を判定する解析部と、を含む解析装置。
【請求項２】
請求項１に記載の解析装置であって、
前記解析部は、複数通信それぞれに含まれる複数パケットのヘッダ情報を解析し、前記解析の結果に基づき前記複数通信それぞれにおける前記通信装置の機能の適用の要否を判定する、解析装置。
【請求項３】
請求項２に記載の解析装置であって、
前記機能は、ネットワーク高速化機能であり、
前記解析部は、前記複数通信それぞれにおける通信遅延及びパケット廃棄率の少なくとも一方に基づき、前記複数通信それぞれに対する前記ネットワーク高速化機能適用の要否を判定する、解析装置。
【請求項４】
請求項３に記載の解析装置であって、
前記解析部は、前記複数通信それぞれにおける通信遅延、パケット廃棄率及び通信量に基づき、前記複数通信それぞれに対する前記ネットワーク高速化機能適用の要否を判定する、解析装置。
【請求項５】
請求項２に記載の解析装置であって、
前記機能は、ファイアウォール機能であり、
前記解析部は、前記複数通信それぞれにおける一方向のパケット数と反対方向のパケット数の差分に基づき、前記複数通信それぞれに対する前記ファイアウォール機能の適用の要否を判定する、解析装置。
【請求項６】
請求項２に記載の解析装置であって、
前記解析部は、前記複数通信それぞれの宛先に基づき、前記複数通信それぞれに対する前記ネットワーク高速化機能適用の要否を判定する、解析装置。
【請求項７】
請求項２に記載の解析装置であって、
前記複数通信それぞれは、ＴＣＰ／ＩＰプロトコルにおけるＴＣＰセッションである、解析装置。
【請求項８】
請求項１に記載の解析装置であって、
前記解析部による判定結果に応じて、転送されるパケットに対する前記通信装置の機能の適用を制御する制御部をさらに含む、解析装置。
【請求項９】
請求項８に記載の制御装置であって、
前記受信部は、前記ミラーパケットのヘッダ情報を選択して、保存部に保存し、
前記解析部は、前記保存部から前記ヘッダ情報を読み出して解析し、前記通信装置の機能の適用の要否を示す解析結果を前記保存部に保存し、
前記制御部は、前記保存部から前記解析結果を読み出し、当該解析結果に従って前記通信装置の機能を制御する、解析装置。
【請求項１０】
ネットワークに接続される通信装置と、
前記通信装置が処理するパケットを解析する、解析装置と、を含むシステムであって
前記解析装置は、
前記ネットワークを流れるパケットのミラーパケットを受信し、
前記ミラーパケットの一部情報を取得して解析し、前記解析の結果に基づき前記ネットワークを転送されるパケットに対する前記通信装置の機能の適用の要否を判定する、システム。
【請求項１１】
ネットワークに接続される通信装置が処理するパケットを解析する、解析方法であって、
前記ネットワークを流れるパケットのミラーパケットを受信し、
前記ミラーパケットの一部情報を取得して解析し、前記解析の結果に基づき前記ネットワークを転送されるパケットに対する前記通信装置の機能の適用の要否を判定する、ことを含む解析方法。
【請求項１２】
ネットワークに接続される通信装置が処理するパケットの解析を、計算機に実行させるためのプログラムであって、
前記ネットワークを流れるパケットのミラーパケットを受信するステップと、
前記ミラーパケットの一部情報を取得して解析し、前記解析の結果に基づき前記ネットワークを転送されるパケットに対する前記通信装置の機能の適用の要否を判定するステップと、を前記計算機に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置の制御に関する。
【背景技術】
【０００２】
ネットワーク回線の高速化、通信装置の多様化及び大容量化により、ネットワークアプライアンスが多数のセッションを扱うことが必要となっている。ネットワークアプライアンスが処理できるセッション数は有限であるため、処理可能なセッション数を超えたネットワークにおいて有効にネットワークアプライアンスを機能させるためには、多くのネットワークアプライアンスを用意する必要がある。
【０００３】
本技術分野の背景技術として、特開２０１２−１４２８６２号公報（特許文献１）がある。「ＴＣＰ／ＩＰ通信を処理する通信装置であって、ソフトウェアによるＴＣＰ／ＩＰ制御によりＴＣＰ／ＩＰ通信を処理するソフトウェア通信手段と、ＴＯＥによるＴＣＰ／ＩＰ制御によりＴＣＰ／ＩＰ通信を処理するハードウェア通信手段と、通信負荷の度合いを応じて動的に変化する通信負荷情報を管理する通信負荷管理手段と、通信負荷情報に応じて、ソフトウェア通信手段又はハードウェア通信手段に当該ＴＣＰ／ＩＰ通信の処理を振り分ける通信処理振分手段と、を有し、通信処理振分手段は、通信負荷情報が所定閾値以上である場合、ハードウェア通信手段に当該ＴＣＰ／ＩＰ通信処理を振り分ける」ことが開示されている（要約）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１４２８６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の方式は、通信負荷情報が所定閾値以上である場合、ハードウェア通信手段に当該ＴＣＰ／ＩＰ通信処理を振り分ける。しかし、処理すべきセッションが数多くある場合に、ソフトウェア通信手段とハードウェア通信手段の双方で処理可能なセッション数を超える可能性がある。
【０００６】
したがって、多数のセッション数が存在するネットワークにおいて通信装置を有効に機能させる技術が望まれる。発明者らは、ネットワークを転送されるデータを解析し、通信装置が提供する特定機能を適用しても、当該機能による効果が小さいデータが含まれていることを見出した。
【課題を解決するための手段】
【０００７】
本発明の代表的な一例は、ネットワークに接続される通信装置が処理するパケットを解析する、解析装置であって、前記ネットワークを流れるパケットのミラーパケットを受信する、受信部と、前記ミラーパケットの一部情報を取得して解析し、前記解析の結果に基づき前記ネットワークを転送されるパケットに対する前記通信装置の機能の適用の要否を判定する解析部と、を含むものである。
【発明の効果】
【０００８】
本発明の一態様によれば、多数の通信が存在するネットワークにおいて、通信装置を有効に機能させることができる。
【図面の簡単な説明】
【０００９】
【図１】実施例１における多セッション解析装置を含むネットワークシステムの構成図である。
【図２】実施例１における多セッション解析装置のハードウェア構成図である。
【図３】ＴＣＰのパケットフォーマットである。
【図４】実施例１における多セッション解析装置を含むネットワークシステムの機能ブロック図である。
【図５】実施例１における多セッション解析装置のアルゴリズムを示すブロック図である。
【図６】実施例１における通信情報保存部のデータ構造の一例である。
【図７】実施例１における通信情報保存部のデータ構造の一例である。
【図８】実施例１における通信情報保存部のデータ構造の一例である。
【図９】実施例１における通信情報保存部のデータ構造の一例である。
【図１０】実施例１における通信情報保存部のデータ構造の一例である。
【図１１】実施例１における受信処理部の動作を示すフローチャートである。
【図１２】実施例１における通信情報巡回処理部の動作を示すフローチャートである。
【図１３】実施例１における通信情報巡回処理部が通信装置のＷＡＮ高速化機能の要否スコアを算出する動作を示すフローチャートである。
【図１４】実施例２における仮想多セッション解析装置が実装される計算機を含むネットワークシステムの構成図である。
【図１５】実施例２における仮想多セッション解析装置が実装される計算機のハードウェア構成図である。
【図１６】実施例２における仮想多セッション解析装置が実装される計算機の機能ブロック図である。
【図１７】実施例３における多セッション解析部を含む通信装置を含むネットワークシステムの構成図である。
【図１８】実施例３における多セッション解析部を含む通信装置のハードウェア構成図である。
【図１９】実施例３における多セッション解析部を含む通信装置の機能ブロック図である。
【図２０】実施例４における多セッション解析装置を含むネットワークシステムの機能ブロック図である。
【図２１】実施例４における受信情報巡回処理部の動作を示すフローチャートである。
【図２２】実施例４における受信情報巡回処理部が通信装置のファイアウォール機能の要否スコアを算出する動作を示すフローチャートである。
【図２３】実施例５における多セッション解析装置を含むネットワークシステムの構成図である。
【図２４】実施例５における多セッション解析装置のハードウェア構成図である。
【図２５】実施例５における多セッション解析装置を含むネットワークシステムの機能ブロック図である。
【図２６】実施例５における通信情報保存部のデータ構造の一例である。
【図２７】実施例６における通信情報巡回処理部が通信装置のＷＡＮ高速化機能の要否スコアを算出する動作を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明の実施形態を説明する。本実施形態は本発明を実現するための一例にすぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。各図において共通の構成については、同一の参照符号が付されている。
【００１１】
以下において、通信装置の機能を制御するためのパケット解析手法を説明する。当該パケット解析手法は、ネットワーク上を転送されるパケットのミラーパケットを受信し、当該ミラーパケットから得られる一部情報に基づいて、通信データに対する通信装置機能の適用の要否を判定する。
【００１２】
通信装置機能を適用する（発現させる）パケットを選別することによって、通信装置機能を適用することが効果的なパケットに優先的に通信装置機能を適用することができる。これにより、多数のパケットが流れるネットワークにおいて、通信装置の機能を有効に動作させることができる。
【００１３】
本開示において、１つの通信は、開始パケットと終了パケットによって規定される。１つの通信を構成するパケットは、開始パケットから終了パケットまでのパケットである。１つの通信は、例えば、通信プロトコルにおけるセッションである。
【００１４】
例えば、ＴＣＰ／ＩＰプロトコルにおいて、１つの通信は、１又は複数セッションで構成され得る。ＴＣＰセッションは、送信元及び宛先のＩＰアドレス及びポート番号で特定され、ＳＹＮパケットとＦＩＮパケットとによって１つのセッションの開始と終了が定義される。または、例えば、ＵＤＰ／ＩＰプロトコルにおいて、セッションは、送信元及び宛先のＩＰアドレス及びポート番号で特定され、前回パケットからの経過時間が所定時間内の連続するパケットで構成される。
【実施例１】
【００１５】
実施例１は、基本的な一例を説明する。本実施例では、通信装置が扱うことのできるセッション数を超えたセッションが存在するネットワークにおいて、通信装置の機能を有効に作用させる構成例を示す。
【００１６】
以下においては、通信装置の一例として、ＷＡＮ高速化装置を説明する。ＷＡＮ高速化装置は、ネットワークアプライアンスである。ネットワークアプライアンスは、ネットワーク上のパケットについて特定の処理を行う特定の機能を有する装置であり、物理装置又は仮想装置であり、一つの物理装置で、複数の仮想ネットワークアプライアンスが動作し得る。また、ネットワークアプライアンスにおけるハードウェア構成及びソフトウェア構成は特に限定されない。
【００１７】
図１は、本実施例の多セッション解析装置１００を含むネットワークシステムの構成図を示す。多セッション解析装置１００は通信装置１１０とパケット転送装置１２０に接続される。通信装置１１０はネットワーク１４０に、パケット転送装置１２０はネットワーク１３０に接続される。
【００１８】
多セッション解析装置１００は、通信装置１１０とパケット転送装置１２０の間を流れるパケットのミラーパケットを、パケット転送装置１２０から受信する。多セッション解析装置１００は、ミラーパケットを用いて、通信装置１１０が処理するパケットの情報をセッション毎に管理する。
【００１９】
多セッション解析装置１００は、セッション毎に管理した情報を用いて、通信装置１１０の特定機能の要否をセッション毎に判断する。多セッション解析装置１００は、通信装置１１０の機能を要と判定したセッションに対して、通信装置１１０の機能を有効とするように、通信装置１１０を制御する。以下に説明する例において、セッションはＴＣＰセッションである。ＴＣＰセッション毎に管理、制御を行うことで、効率的かつ効果的に通信装置の機能を制御することができる。
【００２０】
多セッション解析装置１００は、通信装置１１０の機能を不要と判定したセッションに対して、通信装置１１０の機能を無効とするように通信装置１１０を制御する。これにより、通信装置１１０は、その機能を有効にされたセッションのみ管理し、その機能を無効にされたセッションに属するパケットはそのまま中継すればよい。
【００２１】
通信装置機能を適用するセッションを選別することによって、通信装置機能を適用することが効果的なセッションに優先的に通信装置機能を適用することができる。これにより、通信装置１１０が扱える最大セッション数を超えるセッションが存在するネットワークにおいて、通信装置１１０の機能を有効に動作させることができる。ネットワークに多数の通信装置を設置する必要が無いため、多数のセッションが存在するネットワークにおいて、低コストで、適切なパケット制御を実現できる。
【００２２】
以下、便宜的に、ネットワーク１３０からネットワーク１４０の方向へ流れるパケットを右方向のパケット、ネットワーク１４０からネットワーク１３０の方向へ流れるパケットを左方向のパケットと呼称する。また、右方向へ流れるパケットを送信している計算機を左側の計算機、左方向へ流れるパケットを送信している計算機を右側の計算機と呼称する。
【００２３】
図２は本実施例の多セッション解析装置１００のハードウェア構成例を示す。多セッション解析装置１００は、主記憶２００、二次記憶２１０、処理装置２２０、ネットワークインターフェース（ＮＩＦ）２３０、ＮＩＦ２３１、ＮＩＦ２３２、及びそれらを相互接続しデータを転送するシステムバス２４０を含む。
【００２４】
主記憶２００は、プログラム及びデータを一時的に記憶しデータの読み書きを受け付ける。二次記憶２１０はプログラム及びデータを長期的に保存し、保存プログラム及びデータは、必要に応じて主記憶２３０へロードされる。処理装置２２０は、主記憶２００上のプログラムを実行し、主記憶２００上のデータを処理し、結果を主記憶２００へ書き込む。
【００２５】
主記憶２００は受信処理部２０１、通信装置制御部２０２、通信情報巡回処理部２０３、通信情報保存部２０４などのプログラムを記憶する。受信処理部２０１はパケット転送装置１２０から受け取ったミラーパケットの情報と通信情報保存部２０４のデータを処理し、結果を通信情報保存部２０４へ保存する。
【００２６】
通信情報巡回処理部２０３は解析部であって、通信情報保存部２０４のデータを解析し、解析結果を通信情報保存部２０４へ保存する。通信装置制御部２０２は通信情報保存部２０４のデータを処理し、通信装置１１０の通信装置機能をセッション毎に制御し、結果を通信情報保存部２０４へ保存する。通信情報保存部２０４は、受信処理部２０１、通信装置制御部２０２、通信情報巡回処理部２０３によってデータの読み書きを行う。
【００２７】
処理装置２２０は、主記憶２００のプログラムに従って動作することで、各機能部として機能する。プログラムは、プログラム配布サーバや、計算機読み取り可能な非一時的記憶媒体によって多セッション解析装置１００にインストールすることができ、二次記憶２１０に格納することができる。この点は、他の装置について同様である。
【００２８】
上記構成により、ネットワーク１３０とネットワーク１４０の間を、パケット転送装置１２０及び通信装置１１０を経由して通過するパケットは、パケット転送装置１２０によってミラーリングされる。通信装置１１０を通過するパケットの情報は、受信処理部２０１によって処理される。
【００２９】
通信情報巡回処理部２０３は、通信情報保存部２０４からパケットの一部情報を取得し、セッション毎に、通信装置１１０の機能を有効にするか無効にするかを判定する。通信装置制御部２０２は、通信装置１１０の機能をセッション毎に制御する。
【００３０】
図２は、主記憶２００、二次記憶２１０、処理装置２２０、ＮＩＦ２３０、ＮＩＦ２３１、ＮＩＦ２３２がひとつのシステムバス２４０を介して接続されている例を示す。複数のシステムバスを介して接続されていたり、システムバスを介さずに直接接続されていたりしてもよい。図示した数とは異なる数の、処理装置、主記憶、二次記憶、ＮＩＦが実装されていてもよい。
【００３１】
図２は、受信処理部２０１、通信装置制御部２０２、通信情報巡回処理部２０３、通信情報保存部２０４が全てソフトウェアにより構成されている例を示す。これら機能の一部又はすべては、処理装置２２０、ＮＩＦ２３０、ＮＩＦ２３１、ＮＩＦ２３２のうち一つ又は複数要素に実装されてもよい。ＮＩＦ２３０、ＮＩＦ２３１、ＮＩＦ２３２は、一つの物理的なＮＩＦに実装された論理的なＮＩＦでもよい。
【００３２】
図３は、多セッション解析装置１００が受信するミラーパケットのフォーマットを示す。パケットは、ＭＡＣヘッダ３１０、ＩＰヘッダ３２０、ＴＣＰヘッダ３３０、ＴＣＰオプションヘッダ３４０、ペイロード３６０を含む。
【００３３】
ＭＡＣヘッダ３１０は、宛先ＭＡＣアドレスを表すＤＭＡＣ３１１と、送信元ＭＡＣアドレスを表すＳＭＡＣ３１２と、タグ付きフレームであること及びタグの種類を表すＴＰＩＤ３１３と、タグの情報を表すＴＣＩ３１４と、ＭＡＣフレームタイプを表すＴｙｐe３１５を含む。ＴＣＩ３１４は、優先度を表すＰＣＰ３１６と、ＭＡＣアドレスが正規フォーマットであるかを表す３１７と、ＶＬＡＮのＩＤを表すＶＩＤ３１８を含む。
【００３４】
ＶＬＡＮが使用されていないネットワークにおいては、ＴＰＩＤ３１３及びＴＣＩ３１４は存在しない。その場合、多セッション解析装置１００は、ＶＩＤが０であるとしてパケットを処理する。
【００３５】
ＩＰヘッダ３２０は、ＭＡＣヘッダ３１０を除くパケット長を表すＩＰ  ｌｅｎｇｔｈ３２１と、プロトコル番号を表すｐｒｏｔｏｃｏｌ３２２と、送信元ＩＰアドレスを表すＳＩＰ３２３と、宛先ＩＰアドレスを表すＤＩＰ３２４を含む。
【００３６】
ＴＣＰヘッダ３３０は、送信元ポート番号を表すｓｒｃ．ｐｏｒｔ３３１と、宛先ポート番号を表すｄｓｔ．ｐｏｒｔ３３２と、送信シーケンス番号を表すＳＥＱ３３３と、受信シーケンス番号を表すＡＣＫ３３４と、ＴＣＰフラグ番号を表すｆｌａｇ３３５と、ＴＣＰのヘッダ長を表すｔｃｐ  ｈｌｅｎ３３６と、広告ウィンドウサイズを対向装置へ通知するｗｉｎ＿ｓｉｚｅ３３７を含む。
【００３７】
ＴＣＰオプションヘッダ３４０は、０ないし複数のオプションを含む。本例において、ＴＣＰオプションヘッダ３４０は、オプション種別を表すｏｐｔｉｏｎ  ｋｉｎｄ３４１と、オプション長を表すｏｐｔｉｏｎ  ｌｅｎｇｔｈ３４２と、オプションの種類に応じた情報を表すオプション情報３４３を含む。
【００３８】
例えば、ＭＳＳ（Ｍａｘｉｍｕｍ  Ｓｅｇｍｅｎｔ  Ｓｉｚｅ）オプションは、ＴＣＰ通信を開始するときに自装置の受信可能なＭＳＳサイズを対向装置に通知するために用いられる。ＳＡＣＫ（Ｓｅｌｅｃｔｉｖｅ  ＡＣＫｎｏｗｌｅｄｇｅｍｅｎｔ）オプションは、ＴＣＰ通信を開始するときに、自装置がＳＡＣＫオプションに対応可能であることを対向装置に通知するために用いられる。ＳＡＣＫオプションは、さらに、通信中に廃棄が検出されたときに部分的に受信できた箇所を対向装置に通知するために用いられる。
【００３９】
タイムスタンプオプションは、通信中の自装置の受信時刻を対向装置に通知するために用いられる。ウィンドウスケールオプションは、ｗｉｎ＿ｓｉｚｅ３３７で通知する値をｆシフトするビット数を対向装置に通知することで、対向装置に通知可能な広告ウィンドウサイズの最大値を大きくするために用いられる。このように、ＴＣＰオプションは、通信開始時及び通信中に自装置の対応可能な機能や情報を対向装置に伝えるために用いられる。
【００４０】
図４は本実施例の多セッション解析装置１００を含むシステムの機能ブロック構成例を表す。当該システムは、さらに、多セッション解析装置１００によって制御される通信装置１１０、及び多セッション解析装置１００にミラーパケットを送信するパケット転送装置１２０を含む。
【００４１】
通信装置１１０はＷＡＮ高速化装置であり、ＷＡＮ高速化処理部４１１、セッション単位機能切替部４１２、フィルタ４１３、フィルタ４１４、ＮＩＦ４１５、ＮＩＦ４１６及びＮＩＦ４１７を含む。パケット転送装置１２０は、ポートミラーリング機能部４２１、ＮＩＦ４２２、ＮＩＦ４２３、ＮＩＦ４２４、及びＮＩＦ４２５を含む。通信装置１１０及びパケット転送装置１２０の各機能部は、メモリに格納されたプログラムに従って動作するプロセッサ又は専用論理回路で実装される。
【００４２】
多セッション解析装置１００の各部の動作の詳細については後述するが、ここでは簡単に各部の機能を説明する。ＮＩＦ２３１及びＮＩＦ２３２は、パケット転送装置１２０から受信したミラーパケットを受信処理部２０１へ渡す。
【００４３】
受信処理部２０１は、ＮＩＦ２３１及びＮＩＦ２３２から受けっとったミラーパケットのヘッダ情報から、ミラーパケットが属するセッションのセッション情報が通信情報保存部２０４に保存されているか検索する。
【００４４】
上記情報が保存されている場合、受信処理部２０１は、通信情報保存部２０４に保存されているセッション情報とミラーパケットのヘッダ情報におけるセッション情報とを解析し、通信情報保存部２０４に保存されているセッション情報を更新する。ミラーパケットが属するセッションのセッション情報が通信情報保存部２０４に保存されていない場合、受信処理部２０１は、当該セッションのセッション情報を、新たに通信情報保存部２０４に保存する。
【００４５】
通信情報巡回処理部２０３は、通信情報保存部２０４に保存されている各セッションのセッション情報を順番に確認し、各セッションに対して通信装置１１０の機能を有効にするか無効にするかを判定し、判定結果を含むセッション情報を更新する。
【００４６】
通信装置制御部２０２は、通信情報保存部２０４に保存されている各セッションのセッション情報を順番に確認し、通信装置１１０の機能を有効にすると判定されている場合には通信装置１１０に対して、そのセッションに対して機能を有効にするように指示する。通信装置１１０の機能を無効にすると判定されている場合、通信装置制御部２０２は、通信装置１１０に対して、そのセッションに対して機能を無効にするように指示する。
【００４７】
通信情報保存部２０４は、受信処理部２０１、通信装置制御部２０２、通信情報巡回処理部２０３から並列にセッション情報の更新操作を受け付ける。
【００４８】
ＷＡＮ高速化処理部４１１は、ＮＩＦ４１６からフィルタ４１４を経由して受け取ったパケットのＴＣＰ通信を終端し、より高速な輻輳制御アルゴリズムを実行するＴＣＰ通信によってＮＩＦ４１５へパケットを送出するプロキシ機能を提供する。ＷＡＮ高速化処理部４１１は、ＮＩＦ４１５からフィルタ４１３を経由して受け取ったパケットのＴＣＰ通信を終端し、ＲＥＮＯとして知られるアルゴリズムを実行するＴＣＰ通信によってＮＩＦ４１６へパケットを送出する。
【００４９】
セッション単位機能切替部４１２は、ＮＩＦ４１７を経由して多セッション解析装置１００から受け取った機能切替指示に基づいて、フィルタ４１３及びフィルタ４１４に対し、ＷＡＮ高速化機能を有効にするセッションのパケットはＷＡＮ高速化処理部４１１を経由し、ＷＡＮ高速化機能を無効にするセッションのパケットはＷＡＮ高速化処理部４１１を経由しないよう指示を出す。パケットはＷＡＮ高速化処理部４１１を経由することで、当該パケットに対するＷＡＮ高速化が発現する。
【００５０】
フィルタ４１３は、ＮＩＦ４１５から受け取ったパケットが属するセッションに対してＷＡＮ高速化機能を有効にするようセッション単位機能切替部４１２から指示を受けている場合、パケットをＷＡＮ高速化処理部４１１へ渡す。フィルタ４１３は、ＷＡＮ高速化機能を無効にするよう指示を受けている場合、ＮＩＦ４１６へパケットを渡す。
【００５１】
フィルタ４１４は、ＮＩＦ４１６から受け取ったパケットが属するセッションに対してＷＡＮ高速化機能を有効にするようセッション単位機能切替部４１２から指示を受けている場合、パケットをＷＡＮ高速化処理部４１１へ渡す。フィルタ４１４は、ＷＡＮ高速化機能を無効にするよう指示を受けている場合、ＮＩＦ４１５へパケットを渡す。
【００５２】
ポートミラーリング機能部４２１は、ＮＩＦ４２２から受け取ったパケットをＮＩＦ４２５へ送出するとともに、ミラーパケットとして同一のパケットをＮＩＦ４２３から送出する。またポートミラーリング機能部４２１は、ＮＩＦ４２５から受け取ったパケットをＮＩＦ４２２へ送出するとともに、ミラーパケットとして同一のパケットをＮＩＦ４２４から送出する。
【００５３】
図５は、多セッション解析装置１００のブロック機能構成例の詳細を表す。多セッション解析装置１００において、受信処理部２０１、通信装置制御部２０２、通信情報巡回処理部２０３はそれぞれ並列に動作する。
【００５４】
受信処理部２０１は、パケット転送装置１２０からミラーパケットを受信（５１０）し、ミラーパケットのヘッダ情報のみをコピー（５１１）する。受信処理部２０１は、通信情報検索処理（５１２）によって、通信情報保存部２０４においてミラーパケットが属するセッションのセッション情報を検索する。受信処理部２０１は、検索したミラーパケットのセッション情報とミラーパケットのヘッダ情報を処理し、処理した情報とミラーパケットのヘッダ情報の一部を通信情報保存部２０４に保存（５１３）する。
【００５５】
通信情報巡回処理部２０３は、通信情報巡回処理（５３１）によって通信情報保存部２０４に保存されている各セッションのセッション情報を巡回し、各セッションのセッション情報に対して通信情報解析処理５３２によって、通信装置１１０の通信装置機能を有効にするか無効にするかの判断を含むセッション情報の解析を行う。そして、解析したセッション情報を通信情報保存部２０４に保存する。
【００５６】
通信装置制御部２０２は、通信情報巡回処理（５２１）によって通信情報保存部２０４に保存されている各セッションのセッション情報を巡回し、各セッションのセッション情報に含まれる通信装置１１０のＷＡＮ高速化機能の有効又は無効の判定結果を参照する。通信装置制御部２０２は、当該判定結果に基づいて、通信装置１１０のＷＡＮ高速化機能の有効／無効をセッション毎に制御する。
【００５７】
本実施例は、受信処理部２０１と通信情報巡回処理部２０３の処理を並列にし、受信処理部２０１で行う処理を少なくして、時間がかかってもよい処理を通信情報巡回処理部が行うことによって、多セッション解析装置１００の性能のボトルネックである受信処理部２０１のパケット受信能力を向上させることができる。
【００５８】
図６〜図１０は、通信情報保存部２０４に保存されるデータ構造を示す。
【００５９】
図６は、受信処理部２０１によって生成される、各セッションの管理情報を保持するｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００のデータ構造を示す。ｓｒｃ＿ｉｐ６０１は左側計算機のＩＰアドレスである。ｄｅｓｔ＿ｉｐ６０２は右側計算機のＩＰアドレスである。ｓｒｃ＿ｐｏｒｔ６０３は左側計算機のポート番号である。ｄｅｓｔ＿ｐｏｒｔ６０４は右側計算機の番号である。ｖｌａｎ６０５はｖｌａｎ番号である。
【００６０】
ｐｒｅｖ６０６及びｎｅｘｔ６０７はｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００に対するポインタ変数である。ｃｄ［０］６０８及びｃｄ［１］６０９はｃａｐｔｕｒｅ＿ｄａｔａ構造体７００に対するポインタ変数である。ａｄ６１０はａｎａｌｙｓｉｓ＿ｄａｔａ構造体８００に対するポインタ変数である。
【００６１】
図７は受信処理部２０１によって生成、更新されるセッション情報であるｃａｐｔｕｒｅ＿ｄａｔａ構造体７００のデータ構造を示す。右方向と左方向のパケットそれぞれに対する、ｃａｐｔｕｒｅ＿ｄａｔａ構造体７００が生成される。
【００６２】
ｓｅｑ７０１はこれまでに受信したミラーパケットのシーケンス番号の最後尾の番号である。ａｃｋ７０２はこれまでに受信したミラーパケットのＡＣＫ番号の最後尾の番号である。ｔｘ＿ｐｋｔｓ７０４はこれまでに受信したミラーパケット数である。ｒｅｔｒ＿ｐｋｔｓ７０４はこれまでに受信したミラーパケットのうちＴＣＰによる再送パケットの数である。
【００６３】
ｔｘ＿ｂｙｔｅｓ７０５は、これまでに受信したミラーパケットのペイロードサイズの合計である。ａｃｋ＿ｂｙｔｅｓ７０６は、これまでに受信したミラーパケットによってＡＣＫ済みのバイト数の合計である。ｔｉｍｅｓｔａｍｐ＿ｔｖ３２［０］７０７はｓｅｑ７０１がｍｉｌｅｓｔｏｎｅ＿ｓｅｑ７０９を超えた最初のミラーパケットのタイムスタンプである。ｔｉｍｅｓｔａｍｐ＿ｔｖ３２［１］７０８はａｃｋ７０２がｍｉｌｅｓｔｏｎｅ＿ａｃｋ７１０を超えた最初のミラーパケットのタイムスタンプである。
【００６４】
ｍｉｌｅｓｔｏｎｅ＿ｓｅｑ７０９は送受信端末間の往復遅延時間を計測する際に利用する目印ＳＥＱ番号、ｍｉｌｅｓｔｏｎｅ＿ａｃｋ７１０は送受信端末間の往復遅延時間を計測する際に利用する目印ＡＣＫ番号である。目印ＳＥＱ番号及び目印ＡＣＫ番号を同一にすることで、目印ＳＥＱ番号を送信したパケットに対するＡＣＫパケットを識別することができる。
【００６５】
図８は、受信処理部２０１によって生成され、通信情報巡回処理部２０３によって更新されるセッション情報であるａｎａｌｙｓｉｓ＿ｄａｔａ構造体８００のデータ構造を示す。ｉｎｉｔ＿ｔｖ８０１は、セッション内で最初に受信したミラーパケットのタイムスタンプである。ｌａｓｔ＿ｕｐｄａｔｅ＿ｔｖ８０２は前回通信情報巡回処理部２０３がセッション情報を更新したときの時刻である。
【００６６】
ｌａｓｔ＿ｔｘ＿ｂｙｔｅ［０］８０３は、前回通信情報巡回処理部２０３がセッション情報を更新したときまでに受信した、右方向のパケットに対するミラーパケットのペイロードサイズの合計である。ｌａｓｔ＿ｔｘ＿ｂｙｔｅ［１］８０４は、前回通信情報巡回処理部２０３がセッション情報を更新したときまでに受信した、左方向のパケットに対するミラーパケットのペイロードサイズの合計である。
【００６７】
ｌａｓｔ＿ａｃｋ＿ｂｙｔｅｓ［０］８０５は、前回通信情報巡回処理部２０３がセッション情報を更新したときまでに受信した、右方向のパケットに対するミラーパケットによってＡＣＫ済みのバイト数の合計である。
【００６８】
ｌａｓｔ＿ａｃｋ＿ｂｙｔｅｓ［１］８０６は、前回通信情報巡回処理部２０３がセッション情報を更新したときまでに受信した、左方向のパケットに対するミラーパケットによってＡＣＫ済みのバイト数の合計である。
【００６９】
ａｖｅｒａｇｅ＿ｂｗ［０］８０７、はｉｎｉｔ＿ｔｖ８０１以降現在までの右方向パケットの通信速度の平均値である。ａｖｅｒａｇｅ＿ｂｗ［１］８０８は、ｉｎｉｔ＿ｔｖ８０１以降現在までの左方向パケットの通信速度の平均値である。
【００７０】
ｃｕｒｒｅｎｔ＿ｂｗ［０］８０９は、前回通信情報巡回処理部２０３がセッション情報を更新して以降現在までの右方向パケットの通信速度の平均値である。ｃｕｒｒｅｎｔ＿ｂｗ［１］８１０は、前回通信情報巡回処理部２０３がセッション情報を更新して以降現在までの左方向パケットの通信速度の平均値である。
【００７１】
ｃｕｒｒｅｎｔ＿ｔｘ＿ｒａｔｅ［０］８１１は、前回通信情報巡回処理部２０３がセッション情報を更新して以降現在までの再送パケットを含む右方向パケットの速度である。ｃｕｒｒｅｎｔ＿ｔｘ＿ｒａｔｅ［１］８１２は、前回通信情報巡回処理部２０３がセッション情報を更新して以降現在までの再送パケットを含む左方向パケットの速度である。ｃｕｒｒｅｎｔ＿ｌｏｓｓ＿ｒａｔｅ［０］８１３は、右向きパケットの再送率、ｃｕｒｒｅｎｔ＿ｌｏｓｓ＿ｒａｔｅ［１］８１４は、左向きパケットの再送率である。
【００７２】
ｃｕｒｒｅｎｔ＿ｒｔｔ＿ｕｓ［０］８１５は、パケットをやり取りしているネットワーク１４０側の端末とパケット転送装置１２０との間のマイクロ秒単位の往復遅延時間である。ｃｕｒｒｅｎｔ＿ｒｔｔ＿ｕｓ［１］８１６は、パケットをやり取りしているネットワーク１３０側の端末とパケット転送装置１２０との間のマイクロ秒単位の往復遅延時間である。ｃｕｒｒｅｎｔ＿ｒｔｔ＿ｕｓ［０］８１５を右向きの往復遅延時間、ｃｕｒｒｅｎｔ＿ｒｔｔ＿ｕｓ［１］８１６を左向きの往復遅延時間と呼ぶ。
【００７３】
ｆｉｎｉｓｈ＿ｃｏｕｎｔ８１７は、セッションが終了したかどうかを判定する際に用いるフラグ変数である。ＦＩＮパケットが受信されると、ｆｉｎｉｓｈ＿ｃｏｕｎｔ８１７の値が変更される。終了したセッションのセッション情報は、通信情報巡回処理部２０３によって削除される。また、通信情報巡回処理部２０３は、所定時間更新されていないセッション情報を削除する。ｓｃｏｒｅ８１８は、通信装置１１０の通信装置機能の要否を示す点数である。
【００７４】
図９は同じセッションに対するｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００、ｃａｐｔｕｒｅ＿ｄａｔａ構造体７００、及びａｎａｌｙｓｉｓ＿ｄａｔａ構造体８００が、どのように関連付けられているかを示す。
【００７５】
受信処理部２０１は、新たなセッションが開始されると、ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００、左右方向２つのｃａｐｔｕｒｅ＿ｄａｔａ構造体７００、及びａｎａｌｙｓｉｓ＿ｄａｔａ構造体８００を生成する。当該セッションの新たなパケットを受信すると、受信処理部２０１は、ｃａｐｔｕｒｅ＿ｄａｔａ構造体７００を更新する。通信情報巡回処理部２０３は、繰り返される巡回処理において、ａｎａｌｙｓｉｓ＿ｄａｔａ構造体８００を更新する。
【００７６】
右向きパケットのｃａｐｔｕｒｅ＿ｄａｔａ構造体７００は、右向きパケットの情報を保存するｓｅｓｓｉｏｎ＿ｄａｔａ構造体のポインタｃｄ［０］６０８によって示される。左向きパケットのｃａｐｔｕｒｅ＿ｄａｔａ構造体７００は、左向きパケットの情報を保存するｓｅｓｓｉｏｎ＿ｄａｔａ構造体へのポインタｃｄ［１］６０９によって示される。ａｎａｌｙｓｉｓ＿ｄａｔａ構造体８００は、ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００のポインタａｄ６１０によって示される。
【００７７】
図１０は、ｃａｐｔｕｒｅ＿ｄａｔａ構造体７００及びａｎａｌｙｓｉｓ＿ｄａｔａ構造体８００へのポインタを持つｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００が、通信情報保存部２０４においてどのように配置されるかを示す。当該配置によって、通信情報保存部２０４において、ミラーパケットが属するセッションのデータ構造体６００〜８００を検索することができる。
【００７８】
通信情報保存部２０４はセッションの情報をオープンハッシュテーブル構造によって保持する。オープンハッシュテーブル構造は、各セッションのデータを保持するｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００を示すポインタ１００１が２００万並んだ配列として表現される。各ｓｅｓｓｅｉｏｎ＿ｄａｔａ構造体６００はさらに別のｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００を示すポインタｐｒｅｖ６０６とｎｅｘｔ６０７とを含む。
【００７９】
セッションのｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００と、当該ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００を示すポインタ１００１との関係は、以下の方法で決定される。ｓｒｃ＿ｉｐ６０１、ｄｅｓｔ＿ｉｐ６０２、ｓｒｃ＿ｐｏｒｔ６０３、ｄｅｓｔ＿ｐｏｒｔ６０４、ｖｌａｎ６０５の５つの値を結合したビット列に対してハッシュ関数ｍｄ５を適用した値を、配列の要素数２００万で割った剰余ｘが算出される。
【００８０】
配列のｘ番目のポインタ１００１が、ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００を指し示すポインタとして選択される。さらに、ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００のポインタｐｒｅｖ６０６は、配列のｘ番目のポインタ１００１のアドレスを指し示すように決定される。
【００８１】
例えば、あるｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００ｙから算出される剰余がｘであり、さらに、既にｘ番目のポインタ１００１が別のｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００ｚを指し示しているとする。この場合、ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００ｚのポインタｎｅｘｔ６０７がｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００ｙを指し示し、ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００yのポインタｐｒｅｖ６０６がｚを指し示すように決定される。
【００８２】
図１１は、受信処理部２０１の動作詳細を示すフローチャートである。受信処理部２０１は、ミラーパケットを受信する（５１０）と、ヘッダ情報のみをメモリに保持する（５１１）。パケットの一部情報のみ格納することで、メモリ帯域の節約が可能となり、処理性能を高くすることができる。
【００８３】
次に、受信処理部２０１は、通信情報保存部２０４において、ミラーパケットのセッション情報を検索する（５１２）。まず、受信処理部２０１は、ミラーパケットに対して、同一セッションだと判定されるセッション情報を検索する（１００１）。
【００８４】
ＮＩＦ２３１から受信したミラーパケットについては、ミラーパケットのヘッダ情報のうち、ＳＩＰ３２３がｓｒｃ＿ｉｐ６０１、ＤＩＰ３２４がｄｅｓｔ＿ｉｐ６０２、ｓｒｃ＿ｐｏｒｔ３３１がｓｒｃ＿ｐｏｒｔ６０３、ｄｓｔ＿ｐｏｒｔ３３２がｄｅｓｔ＿ｐｏｒｔ６０４、ＶＩＤ３１８がｖｌａｎ６０５と一致している場合、受信処理部２０１は、当該セッション情報は、ミラーパケットのセッションと同一セッションの情報と判定する。
【００８５】
ＮＩＦ２３２から受信したミラーパケットについては、ミラーパケットのヘッダ情報のうち、ＳＩＰ３２３がｄｅｓｔ＿ｉｐ６０２、ＤＩＰ３２４がｓｒｃ＿ｉｐ６０１、ｓｒｃ＿ｐｏｒｔ３３１がｄｅｓｔ＿ｐｏｒｔ６０４、ｄｓｔ＿ｐｏｒｔ３３２がｓｒｃ＿ｐｏｒｔ６０３、ＶＩＤ３１８がｖｌａｎ６０５と一致している場合、受信処理部２０１は、当該セッション情報は、ミラーパケットのセッションと同一セッションの情報と判定する。
【００８６】
ＮＩＦ２３１とＮＩＦ２３２でセッションが同一だと判定する条件が異なるのは、同一セッションに含まれる右方向と左方向のパケットが、同一セッションに含まれると判定するためである。
【００８７】
検索した結果、ミラーパケットのセッションと同一セッションのセッション情報が保存されている場合（１００１：Ｙｅｓ）、受信処理部２０１は、当該セッション情報を読み出す（６００）。ミラーパケットのセッションと同一セッションのセッション情報が保存されていない場合（１００１：Ｎｏ）、受信処理部２０１は、新たにセッション情報を通信情報保存部２０４に作成する（６０３）。受信処理部２０１は、ｓｅｓｓｉｏｎ＿ｄａｔａ構造体６００、２つのｃａｐｔｕｒｅ＿ｄａｔａ構造体７００、及びａｎａｌｙｓｉｓ＿ｄａｔａ構造体８００を作成し、通信情報保存部２０４に保存する。
【００８８】
次に、受信処理部２０１は、ヘッダ情報の一部を処理、保存する（５１３）。具体的には、対応するセッション情報が保存されている場合は、受信処理部２０１は、当該セッション情報を更新する（６０４）。例えば、受信処理部２０１は、ｔｘ＿ｐｋｔｓ７０３に１を加算する。ＳＥＱ３３３がｓｅｑ７０１よりも進んでいる場合、受信処理部２０１は、差分をｔｘ＿ｂｙｔｅｓ７０５に加え、ｓｅｑ７０１及びｔｉｍｅｓｔａｍｐ＿ｔｖ３２［０］７０７を更新する。
【００８９】
ＡＣＫ３３４がａｃｋ７０２よりも進んでいる場合、受信処理部２０１は、差分をａｃｋ＿ｂｙｔｅｓ７０２に加え、ａｃｋ７０２及びｔｉｍｅｓｔａｍｐ＿ｔｖ３２［１］７０８を更新する。ＳＥＱ３３３がｓｅｑ８０１よりも手前であるか、又はＳＥＱ３３３がｓｅｑ８０１と等しくペイロード長が０の場合、受信処理部２０１は、ｒｅｔｒ＿ｐｋｔｓ７０４に１を加算する。
【００９０】
対応するセッション情報が保存されていない場合には、受信処理部２０１は、新規情報を、通信情報保存部２０４の構造体に保存する（６０５）。例えば、受信処理部２０１は、ｔｉｍｅｓｔａｍｐ＿ｔｖ３２［０］７０７及びｔｉｍｅｓｔａｍｐ＿ｔｖ３２［１］７０８に、ミラーパケットのタイムスタンプを保存する。受信処理部２０１は、ｔｘ＿ｐｋｔｓ７０３を１にする。受信処理部２０１は、ｔｘ＿ｂｙｔｅｓ７０５にペイロード長を保存し、ＳＥＱ３３３をｓｅｑ７０１に保存し、ＡＣＫ３３４をａｃｋ７０２に保存する。
【００９１】
図１２は通信情報巡回処理部２０３の動作詳細を示すフローチャートである。通信情報巡回処理部は２０３、通信情報保存部２０４に保存されているセッション情報に対して順番に処理を行う。これを、通信情報を巡回すると呼ぶ。
【００９２】
まず、通信情報巡回処理部２０３は、次のセッション情報を探す（１２０１）。次のセッション情報がないとき、通信情報巡回処理部２０３は、最初のステップに戻る。ひとつのセッションのセッション情報もないとき、通信情報巡回処理部２０３は、新たなセッション情報が保存されるまで待つ。
【００９３】
セッション情報が見つかると、通信情報巡回処理部２０３は、前回巡回時のセッション情報及び現在のセッション情報から、通信装置１１０の制御に必要な情報を計算し保存する（１２０２−１２０５）。
【００９４】
具体的には、通信情報巡回処理部２０３は、再送率をｒｅｔｒ＿ｐｋｔｓ７０４÷ｔｘ＿ｐｋｔｓ７０３として計算し、右向きパケットの再送率をｃｕｒｒｅｎｔ＿ｌｏｓｓ＿ｒａｔｅ［０］８１３、左向きパケットの再送率をｃｕｒｒｅｎｔ＿ｌｏｓｓ＿ｒａｔｅ［１］８１４として保存する（１２０２）。
【００９５】
通信情報巡回処理部２０３は、通信開始時からの平均帯域をａｃｋ＿ｂｙｔｅｓ７０６÷（現在時刻−ｉｎｉｔ＿ｔｖ８０１）として計算し、右向きの平均帯域をａｖｅｒａｇｅ＿ｂｗ［０］８０７、左向きの平均帯域をａｖｅｒａｇｅ＿ｂｗ［０］８０８として保存する（１２０３）。
【００９６】
通信情報巡回処理部２０３は、前回巡回時からの現在帯域をａｃｋ＿ｂｙｔｅｓ７０６÷（現在時刻−ｌａｓｔ＿ｕｐｄａｔｅ＿ｔｖ８０２）として計算し、右向きの現在帯域をｃｕｒｒｅｎｔ＿ｂｗ［０］８０９、左向きの現在帯域をｃｕｒｒｅｎｔ＿ｂｗ［１］８１０として保存する（１２０４）。
【００９７】
通信情報巡回処理部２０３は、前回巡回時からの現在送信速度をｔｘ＿ｂｙｔｅｓ７０５÷（現在時刻−ｌａｓｔ＿ｕｐｄａｔｅ＿ｔｖ８０２）として計算し、右向きの現在送信速度をｃｕｒｒｒｅｎｔ＿ｔｘ＿ｒａｔｅ［０］８１１、左向きの現在送信速度をｃｕｒｒｒｅｎｔ＿ｔｘ＿ｒａｔｅ［１］８１２として保存する（１２０５）。
【００９８】
次に、通信情報巡回処理部２０３は、現在のセッション情報を保存する（１２０６−１２０９）。
【００９９】
具体的には、通信情報巡回処理部２０３は、右向きのｔｘ＿ｂｙｔｅｓ７０５をｌａｓｔ＿ｔｘ＿ｂｙｔｅｓ［０］８０３、左向きのｔｘ＿ｂｙｔｅｓ７０５をｌａｓｔ＿ｔｘ＿ｂｙｔｅｓ［１］８０４として保存する（１２０６）。
【０１００】
通信情報巡回処理部２０３は、右向きのａｃｋ＿ｂｙｔｅｓ７０６をｌａｓｔ＿ａｃｋ＿ｂｙｔｅｓ［０］８０５、左向きのａｃｋ＿ｂｙｔｅｓ７０６をｌａｓｔ＿ａｃｋ＿ｂｙｔｅｓ［１］８０６として保存する（１２０７）。
【０１０１】
通信情報巡回処理部２０３は、現在時刻を巡回時刻としてｌａｓｔ＿ｕｐｄａｔｅ＿ｔｖ８０２に保存する（１２０８）。
【０１０２】
通信情報巡回処理部２０３は、通信の往復遅延時間を計算して、保存する（１２０９）。具体的には、右向き往復遅延時間を、＜右方向ｓｅｓｓｉｏｎ＿ｄａｔａ構造体のｔｉｍｅｓｔａｍｐ＿ｔｖ３２［１］７０８＞−＜左方向ｓｅｓｓｉｏｎ＿ｄａｔａ構造体のｔｉｍｅｓｔａｍｐ＿ｔｖ３２［０］７０７＞として計算し、ｃｕｒｒｅｎｔ＿ｒｔｔ＿ｕｓ［０］８１５に保存する。
【０１０３】
さらに、通信情報巡回処理部２０３は、左向き往復遅延時間を、＜左方向ｓｅｓｓｉｏｎ＿ｄａｔａ構造体のｔｉｍｅｓｔａｍｐ＿ｔｖ３２［１］７０８＞−＜右方向ｓｅｓｓｉｏｎ＿ｄａｔａ構造体のｔｉｍｅｓｔａｍｐ＿ｔｖ３２［０］７０７＞として計算し、ｃｕｒｒｅｎｔ＿ｒｔｔ＿ｕｓ［１］８１６に保存する。
【０１０４】
最後に、通信情報巡回処理部２０３は、通信装置１１０のＷＡＮ高速化機能の要否スコアを算出し、ｓｃｏｒｅ８１８に保存する（１２１０）。
【０１０５】
図１３は、通信情報巡回処理部２０３が通信装置１１０のＷＡＮ高速化機能の要否スコアを算出する動作（１２１０）を示すフローチャートである。
【０１０６】
まず、通信情報巡回処理部２０３は、右方向パケットに対する要否スコアを、（ｃｕｒｒｅｎｔ＿ｒｔｔ＿ｕｓ［０］８１５＋ｃｕｒｒｅｎｔ＿ｒｔｔ＿ｕｓ［１］８１６）＊ａ＋ｃｕｒｒｅｎｔ＿ｌｏｓｓ＿ｒａｔｅ［０］８１３＊ｂ、により算出する。通信情報巡回処理部２０３は、算出した要否スコアを、ｓｃｏｒｅ８１８に保存する（１３０１）。
【０１０７】
ａ及びｂは変更可能なパラメータであり、例えば、ａが０．００１、ｂが１である。本計算式により、通信遅延及びネットワークによるパケット廃棄が大きいセッションの要否スコアを高くし、このようなセッションに優先的にＷＡＮ高速化機能を適用する。
【０１０８】
ただし、ｌａｓｔ＿ａｃｋ＿ｂｙｔｅｓ［１］８０５がｃ以下の場合（１３０２）、通信情報巡回処理部２０３は、ｓｃｏｒｅ８１８を０にする。通信開始時からの通信量が少ない場合、ＷＡＮ高速化機能を有効にする必要性がないためである。
【０１０９】
また、ｃｕｒｒｅｎｔ＿ｂｗ［０］８０９がｄ以下の場合（１３０３）、通信情報巡回処理部２０３は、ｓｃｏｒｅ８１８を０にする（１３０４）。現在の通信量が少ない場合、ＷＡＮ高速化機能を有効にする必要性がないためである。
【０１１０】
次に、通信情報巡回処理部２０３は、同様に、左方向パケットに対する要否スコアを算出し、右方向パケットに対する要否スコアと加算した値を、ｓｃｏｒｅ８１８に保存する。右方向と左方向のパケットをセットとして処理する通信装置１１０を制御するときは、双方向のパケットに対して要否スコアを算出して組み合わせることによって、効果的制御が実現される。
【０１１１】
通信情報巡回処理部２０３は、算出した要否スコアに基づき、セッションに対するＷＡＮ高速化機能の適用の要否を判定する。例えば、要否スコアが閾値未満である場合、通信情報巡回処理部２０３は、当該セッションに対するＷＡＮ高速化機能の適用は不要であると判定する。または、通信情報巡回処理部２０３は、要否スコアが高い規定数以下のセッションを選択し、それらに対するＷＡＮ高速化機能の適用が必要であると判定する。要否スコアに基づく要否判定は、通信装置制御部２０２が行ってもよい。
【０１１２】
上記要否スコアの算出により、ＷＡＮ高速化機能の適用を必要とされるセッションに対して優先的にＷＡＮ高速化機能を適用することができる。なお、要否スコアの算出は、上記計算式に限定されない。例えば、上記計算式における一部の項のみを使用してもよい。例えば、通信情報巡回処理部２０３は、廃棄率又は遅延時間の一方のみを使用してもよく、通信量によらず要否スコアを決定してもよい。
【０１１３】
上述の仕組みによって、多セッション解析装置１００は通信装置１１０が実際に処理するセッション数を増加させることなく、多数のセッションが存在するネットワークにおいて通信装置１１０を有効に機能させることができる。なお、本実施例の通信機能制御方法は、ＴＣＰセッションと異なる通信毎に、通信機能適用要否を判定してもよい。多セッション解析装置１００は、通信装置１１０のＷＡＮ高速化機能を制御することなく、又はＷＡＮ高速化機能の制御と共に、判定結果を含む情報を、出力装置（不図示）において管理者に提示してもよい。この点は、他の実施例において同様である。
【０１１４】
例えば、通信装置１１０のＷＡＮ高速化処理部４１１が１セッション当たり１６ＭＢの転送用バッファを必要とする。この場合、ＷＡＮ高速化処理部４１１は１０００セッションを処理するために１６ＧＢ、１００００セッションを処理するためには１６０ＧＢ、１００００００セッションを処理するためには１６ＴＢのメモリが転送用バッファのためだけに必要となる。
【０１１５】
一方で、多セッション解析装置１００はセッションの管理情報として、１セッション当たり、１つのｓｅｓｓｉｏｎ＿ｄａｔａ６００、２つのｃａｐｔｕｒｅ＿ｄａｔａ７００、ひとつのａｎａｌｙｓｉｓ＿ｄａｔａ８００の合計３２０バイトのデータを消費する。オープンハッシュテーブルのポインタ１００１が全部で１００００００個あり、ひとつにつき６４ビットであるとして、１０００セッション管理するのに必要なメモリ量は８３２０ＫＢ、１００００００セッション管理するのに必要なメモリ量は３２８ＭＢとなる。
【０１１６】
１００００００セッションが流れているネットワークにおいてＷＡＮ高速化機能を有効にする効果があるセッションが１０００存在するとした場合、この１０００セッションを有効に高速化するために必要なメモリ量は、多セッション解析装置１００を用いない場合、１６ＴＢとなるが、多セッション解析装置１００を用いる場合、１６３２８ＭＢと、大幅に計算機資源を節約することが可能となる。
【実施例２】
【０１１７】
実施例１は多セッション解析装置１００が通信装置１１０と独立したハードウェア構成に実装される構成を示した。本実施例は、仮想多セッション解析装置１６１００、仮想通信装置１６１１０、仮想パケット転送装置１６１２０が仮想装置として同じ計算機１４００に組み込まれて実装される例を説明する。特に断りのない限り、実施例１と同様の構成のものには同じ符号を付し、説明を省略する。
【０１１８】
図１４は、実施例２における計算機１４００を含むネットワークシステムの構成例を示す。計算機１４００はネットワーク１３０とネットワーク１４０に接続される。実施例１との違いは、パケット転送装置１２０、通信装置１１０、多セッション解析装置１００が独立した装置としてネットワーク１３０とネットワーク１４０の間に設置されず、計算機１４００に仮想装置として実装される形で設置される点である。
【０１１９】
図１５は実施例２における計算機１４００のハードウェア構成図の例を示す。計算機１４００の主記憶にはハイパバイザ１６０００、仮想パケット転送装置１６１２０、仮想通信装置１６１１０、仮想多セッション解析装置１６１００のプログラムが格納されている。ハイパバイザ１６０００は、主記憶２００や処理装置２２０を含むハードウェアリソースを論理的に分割し、各分割したリソースを、仮想パケット転送装置１６１２０、仮想通信装置１６１１０、仮想多セッション解析装置１６１００に割り当てる。これによって、各仮想装置が、１つの計算機１４００で動作し得る。
【０１２０】
図１６は実施例２における計算機１４００の機能ブロック構成例を示す。計算機１４００は、実施例１におけるパケット転送装置１２０と同等の機能を持つ仮想パケット転送装置１６１２０、実施例１における通信装置１１０と同等の機能を持つ仮想通信装置１６１１０、実施例１における多セッション解析装置１００と同等の機能を持つ仮想多セッション解析装置１６１００を備える。
【０１２１】
仮想ＮＩＦ１６２２はＮＩＦ２３０とポートミラーリング機能部４２１との間でパケットの受け渡しを行う。仮想ＮＩＦ１６２５はポートミラーリング機能部４２１と仮想ＮＩＦ１６１５との間でパケットの受け渡しを行う。仮想ＮＩＦ１６２３はポートミラーリング機能部４２１から仮想ＮＩＦ１６３１へパケットの転送を行う。仮想ＮＩＦ１６２４はポートミラーリング機能部４２１から仮想ＮＩＦ１６３２へパケットの転送を行う。
【０１２２】
仮想ＮＩＦ１６１５は仮想ＮＩＦ１６２５とフィルタ４１３との間でパケットの受け渡しを行う。仮想ＮＩＦ１６１６はフィルタ４１４とＮＩＦ２３１との間でパケットの受け渡しを行う。仮想ＮＩＦ１６１７は仮想ＮＩＦ１６３０からセッション単位機能切替部４１２へパケットの転送を行う。
【０１２３】
仮想ＮＩＦ１６３１は仮想ＮＩＦ１６２３から受信処理部２０１へパケットの転送を行う。仮想ＮＩＦ１６３２は仮想ＮＩＦ１６２４から受信処理部２０１へパケットの転送を行う。仮想ＮＩＦ１６３０は通信装置制御部２０２から仮想ＮＩＦ１６１７へパケットの転送を行う。
【０１２４】
ここでは、仮想パケット転送装置１６１２０、仮想通信装置１６１１０、仮想多セッション解析装置１６１００が仮想装置としてひとつの計算機１４００に組み込まれて実装される例を挙げたが、これらの一部又はすべてが別々の計算機に実装されてもよい。また、これらの一部のみが仮想装置として実装され、一部が独立した装置として実装されてもよい。
【０１２５】
本実施例では実施例１と比べ、複数の物理装置がひとつの物理装置に集約されるため、コスト面で有利である。また、各装置が仮想装置として実装されることにより、クラウド環境等より広範に本システムを導入することが容易となる。
【実施例３】
【０１２６】
実施例２は仮想多セッション解析装置１６１００、仮想通信装置１６１１０、仮想パケット転送装置１６１２０が仮想装置として同じ計算機１４００に組み込まれて実装される構成を説明した。本実施例は、多セッション解析部１８１００、通信装置機能部１８１１０、パケットコピー部１８１２０が、ひとつの通信装置１７００に実装される構成を説明する。特に断りのない限り、実施例１及び実施例２と同様の構成のものには同じ符号を付し、説明を省略する。
【０１２７】
図１７は、実施例３における通信装置１７００を含むネットワークシステムの構成例を示す。通信装置１７００はネットワーク１３０とネットワーク１４０に接続される。実施例１との違いは、パケット転送装置１２０、通信装置１１０、及び多セッション解析装置１００が、独立した装置としてネットワーク１３０とネットワーク１４０の間に設置されず、通信装置１７００の機能として実装、設置される点である。
【０１２８】
図１８は、実施例３における通信装置１７００のハードウェア構成図の例を示す。通信装置１７００の主記憶には、パケットコピー部１８１２０、通信装置機能部１８１１０、多セッション解析部１８１００のプログラムが保存されている。
【０１２９】
図１９は実施例３における通信装置１７００の機能ブロック構成例を示す。通信装置１７００は、実施例１におけるパケット転送装置１２０と同等の機能を持つパケットコピー部１８１２０、実施例１における多セッション解析装置１００と同等の機能を持つ通信装置機能部１８１１０、実施例１における多セッション解析装置１００と同等の機能を持つ多セッション解析部１８１００を備える。
【０１３０】
パケットコピー部１８１２０はＮＩＦ２３０から受け取ったパケットを複製しフィルタ４１３と受信処理部１９０１の両方に転送する。また、パケットコピー部１８１２０は、フィルタ４１４から受け取ったパケットを複製し、ＮＩＦ２３０と受信処理部１９０１の両方に転送する。
【０１３１】
本実施例では、パケットコピー部１８１２０、通信装置機能部１８１１０、多セッション解析部１８１００が一つの装置内に実装されており、実施例２で仮想装置として実装される場合と比べて処理性能の点で有利である。
【実施例４】
【０１３２】
実施例１〜３では、多セッション解析装置がＷＡＮ高速化機能を持った通信装置（ネットワークアプライアンス）を制御する例を示した。本実施例では、多セッション解析装置がファイアウォール機能を持った通信装置（ネットワークアプライアンス）を制御する例を示す。特に断りのない限り、実施例１〜３と同様の構成のものには同じ符号を付し、説明を省略する。
【０１３３】
図２０は本実施例の多セッション解析装置２００３、多セッション解析装置２００３よって制御される通信装置２０００、及び多セッション解析装置２００３にミラーパケットを送信するパケット転送装置１２０を含むシステムの機能ブロック構成例を示す。
【０１３４】
多セッション解析装置２００３は、受信処理部２０１、通信装置制御部２０２、通信情報巡回処理部２００２、ＮＩＦ２３０、ＮＩＦ２３１、ＮＩＦ２３２、通信情報保存部２０４を備える。通信装置２０００は、ファイアウォール処理部２００１を備える。ファイアウォール処理部２００１は、規定基準に従って不正と判断したパケットを遮断する。セッション単位機能切替部４１２は、多セッション解析装置１００から受け取った機能切替指示に基づいて、パケットをファイアウォール処理部２００１へ入力する、又は迂回させる。
【０１３５】
図２１は、通信情報巡回処理部２００２の動作を示すフローチャートである。図２１は通信情報巡回処理部２００２の動作詳細を示すフローチャートである。実施例１の図１２に示すフローチャートと比較して、ステップ１２０２及びステップ１２０９が省略され、ステップ１２１０が、ステップ２１０１に代えられている。ステップ２１０１において、通信情報巡回処理部２００２は、通信装置２０００のファイアウォール機能の要否スコアを算出し、ｓｃｏｒｅ８１８に保存する（２１０１）。
【０１３６】
図２２は通信情報巡回処理部２００２が通信装置２０００のファイアウォール機能の要否スコアを算出する動作（２１０１）の詳細を示すフローチャートである。
【０１３７】
通信情報巡回処理部２００２は、右向きの送信済みバイト数ｌａｓｔ＿ｔｘ＿ｂｙｔｅｓ［０］８０３と左向きのＡＣＫ済みバイト数ｌａｓｔ＿ａｃｋ＿ｂｙｔｅｓ［１］８０６の差分の絶対値を算出する。通信情報巡回処理部２００２は、左向きの送信済みバイト数ｌａｓｔ＿ｔｘ＿ｂｙｔｅｓ［１］８０４と右向きのＡＣＫ済みバイト数ｌａｓｔ＿ａｃｋ＿ｂｙｔｅｓ［０］８０５の差分の絶対値を算出する。通信情報巡回処理部２００２は、ふたつの絶対値の和をＸと定義する（２２００）。
【０１３８】
通信情報巡回処理部２００２は、右方向送信済みバイト数ｌａｓｔ＿ｔｘ＿ｂｙｔｅｓ［０］８０３と左方向送信済みバイト数ｌａｓｔ＿ｔｘ＿ｂｙｔｅｓ［０］８０４の和を、Ｙと定義する（２２０１）。
【０１３９】
通信情報巡回処理部２００２は、ｓｃｏｒｅ８１８として、Ｘ＊ａ＋Ｙ＊ｂを保存する（２２０２）。ａ及びｂは、変更可能なパラメータである。例えば、ａに１００、ｂに１が用いられる。
【０１４０】
上記計算により、一方的にパケットが送信されているが適切にＡＣＫが返されていない不審なセッションであり、さらに通信量が多いセッションを見つけ出すことができる。このようなセッションにファイアウォール機能を適用することでファイアウォールを有効に活用することができる。
【０１４１】
ただし、ｃｕｒｒｅｎｔ＿ｂｗ［０］とｃｕｒｒｅｎｔ＿ｂｗ［１］の和がｃ以下のとき（２２０３）、通信情報巡回処理部２００２は、ｓｃｏｒｅ８１８に１以下の正の値ｄをかける（２２０４）。これにより、現在の通信量が少なく危険性が少ないセッションの要否スコアを小さくする。
【０１４２】
なお、ファイアウォール機能要否スコアは、上記計算方法と異なる方法で計算されてもよい。例えば、変数Ｘのみを使用して計算してもよい。要否スコアに基づくファイアウォール機能適用の要否判定は、実施例１における要否判定と同様である。通信装置制御部２０２は、ファイアウォール機能要否判定結果に基づいて、ファイアウォール機能を制御してもよい。通信装置制御部２０２は、ファイアウォール機能を制御することなく、又はファイアウォール機能の制御と共に、判定結果を含む情報を、出力装置（不図示）において管理者に提示してもよい。
【実施例５】
【０１４３】
実施例１〜４では、多セッション解析装置が単一の通信装置を制御する例を示した。本実施例では、多セッション解析装置が複数の通信装置を制御する例を示す。特に断りのない限り、実施例１〜３と同様の構成のものには同じ符号を付し、説明を省略する。
【０１４４】
図２３は、本実施例の多セッション解析装置２３００を含むネットワークシステムの構成を示す。多セッション解析装置２３００は、通信装置１１０、通信装置２０００、及びパケット転送装置１２０に接続される。通信装置２０００はネットワーク１４０に、パケット転送装置１２０はネットワーク１３０に接続される。
【０１４５】
図２４は、本実施例の多セッション解析装置２３００のハードウェア構成例を示す。多セッション解析装置１００は、主記憶２００、二次記憶２１０、処理装置２２０、ネットワークインターフェース（ＮＩＦ）２３０、ＮＩＦ２３１、ＮＩＦ２３２、ＮＩＦ２５０５及びそれらを相互接続しデータを転送するシステムバス２４０を含む。当該ハードウェア構成は、多セッション解析装置１００のハードウェア構成と同様である。
【０１４６】
多セッション解析装置２３００の主記憶２００は受信処理部２０１、通信装置制御部２０２、通信情報巡回処理部２０３、通信情報保存部２０４に加え、通信装置制御部２５０４を記憶する。
【０１４７】
図２５は本実施例の多セッション解析装置２３００、多セッション解析装置２３００によって制御される通信装置１１０、通信装置２０００、及び多セッション解析装置１００にミラーパケットを送信するパケット転送装置１２０を含むシステムの機能ブロック構成例を表す。
【０１４８】
多セッション解析装置２３００は、受信処理部２０１、２つの通信装置制御部２０２、２５０４、通信情報巡回処理部２５０７、通信情報保存部２０４、ＮＩＦ２３０、ＮＩＦ２３１、ＮＩＦ２３２及びＮＩＦ２５０５を含む。通信装置１１０は、ＷＡＮ高速化処理部４１１、セッション単位機能切替部４１２、フィルタ４１３、フィルタ４１４、ＮＩＦ４１５、ＮＩＦ２５０１及びＮＩＦ４１７を含む。
【０１４９】
パケット転送装置１２０は、ポートミラーリング機能部４２１、ＮＩＦ４２２、ＮＩＦ４２３、ＮＩＦ４２４、及びＮＩＦ４２５を含む。通信装置２０００はファイアウォール処理部２００１、セッション単位機能切替部４１２、フィルタ４１３、フィルタ４１４、ＮＩＦ２５０２、ＮＩＦ２５０３及びＮＩＦ２５０６を含む。
【０１５０】
図２６は、本実施例におけるａｎａｌｙｓｉｓ＿ｄａｔａ構造体２６００のデータ構造を示す。ａｎａｌｙｓｉｓ＿ｄａｔａ構造体２６００は、主に通信情報巡回処理部２５０７によって更新されるセッション情報である。本例のａｎａｌｙｓｉｓ＿ｄａｔａ構造体２６００は、実施例１におけるａｎａｌｙｓｉｓ＿ｄａｔａ構造体８００のデータに加え、ｓｃｏｒｅ２  ２６０１を値として持つ。
【０１５１】
通信情報巡回処理部２５０７は、実施例１において示した処理（１２０１−１２１０）によってＷＡＮ高速化機能の要否スコアを算出し、ｓｃｏｒｅ８１８に保存する。また、通信情報巡回処理部２５０７は、実施例４において示した処理によってファイアウォール機能の要否スコアを算出し、ｓｃｏｒｅ２６０１に保存する。
【０１５２】
通信装置制御部２０２は、ｓｃｏｒｅ８１８の値に基づいて通信装置１１０を制御する。通信装置制御部２５０４は、ｓｃｏｒｅ２６０１の値に基づいて通信装置２０００を制御する。要否スコアに基づく機能適用の要否判定は、実施例１において説明した通りである。
【０１５３】
本実施例により、一つの多セッション解析装置によって複数の通信装置を制御することができ、さらに通信装置のコストを削減することが可能である。
【０１５４】
本実施例では２つの通信装置を制御する例を示したが、ａｎａｌｙｓｉｓ＿ｄａｔａ構造体２６００における変数ｓｃｏｒｅの個数を増やし、通信装置制御部の数を増やすことでさらに多くの通信装置を制御してもよい。また、連動する複数の装置を制御する場合には、多セッション解析装置は、単一の変数ｓｃｏｒｅと単一の通信装置制御部から同一の制御を複数の通信装置に対して行うこともできる。
【実施例６】
【０１５５】
本実施例では、実施例１と同様の構成において、異なるアルゴリズムによってｓｃｏｒｅ８１８が計算される例を示す。図２７は通信情報巡回処理部２０３が通信装置１１０のＷＡＮ高速化機能の要否スコアを算出する動作を示すフローチャートである。
【０１５６】
通信情報巡回処理部２０３は、左方向パケットに対して、要否スコアを算出する。具体的には、通信情報巡回処理部２０３は、（ｃｕｒｒｅｎｔ＿ｒｔｔ＿ｕｓ［０］＋ｃｕｒｒｅｎｔ＿ｒｔｔ＿ｕｓ［１］）＊（ｃｕｒｒｅｎｔ＿ｒｔｔ＿ｕｓ［０］＋ｃｕｒｒｅｎｔ＿ｒｔｔ＿ｕｓ［１］）＊ａ＋ｃｕｒｒｅｎｔ＿ｌｏｓｓ＿ｒａｔｅ［１］８１４＊ｂ−（ｌａｓｔ＿ｕｐｄａｔｅ＿ｔｖ８０２−ｉｎｉｔ＿ｔｖ８０１）＊ｃを算出し、ｓｃｏｒｅ８１８に保存する（２７０１）。
【０１５７】
ａ、ｂ、及びｃは、変更可能なパラメータである。例えば、ａに０．００１、ｂに１、ｃに１が適用される。
【０１５８】
このように非線形式を用いることにより、変数に重みづけをすることができる。こうすることで、通信遅延の要素を重視できる。通信時間によってｓｃｏｒｅ８１８を減算することで、また、通信時間が長い場合には徐々に優先度を落とすことができ、一部のセッションが通信装置１１０のＷＡＮ高速化機能を占有することを防ぐことができる。
【０１５９】
次に通信中のポート番号が特定の値である場合（２７０２：Ｙｅｓ）、ｓｃｏｒｅ８１８にｓｃｏｒｅ８１８＊ｄを保存する（２７０３）。ｄは変更可能なパラメータである。例えば８０番ポートに対する通信を重視する場合、ｓｒｃ＿ｐｏｒｔ６０３又はｄｅｓｔ＿ｐｏｒｔ６０４が８０であったら、ｄを１以上の値として、ｓｃｏｒｅ８１８にｓｃｏｒｅ８１８＊ｄを保存する。
【０１６０】
このように、左方向のパケットに対してのみ要否スコアを算出することで、左方向の通信に特化した優先度制御を実現することができ、通信装置１１０の通信機能が左方向にのみ機能する場合には効果的である。また、ポート番号によってｓｃｏｒｅ８１８を加減することで、特定の条件の通信を重視又は軽視することが可能である。
【０１６１】
本実施例では単一のポート番号に対してｓｃｏｒｅ８１８を加減する例を示したが、複数のポート番号に対して加減してもよい。本実施例では特定のポート番号に対してｓｃｏｒｅ８１８を加減する例を示したが、特定のＩＰアドレスに対してｓｃｏｒｅ８１８を加減することで、特定の通信先を重視又は軽視する、といったこともできる。ポート番号とＩＰアドレスの双方を条件として用いてもよい。
【０１６２】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１６３】
また、上記の各構成・機能・処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード等の記録媒体に置くことができる。
【０１６４】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆どすべての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１６５】
１００  多セッション解析装置、１１０  パケット通信装置、２０１  受信処理部、２０２  通信装置制御部、２０３  通信情報巡回処理部、２０４  通信情報保存部
【図１】
2016100721.tif 000003
【図２】
2016100721.tif 000004
【図３】
2016100721.tif 000005
【図４】
2016100721.tif 000006
【図５】
2016100721.tif 000007
【図６】
2016100721.tif 000008
【図７】
2016100721.tif 000009
【図８】
2016100721.tif 000010
【図９】
2016100721.tif 000011
【図１０】
2016100721.tif 000012
【図１１】
2016100721.tif 000013
【図１２】
2016100721.tif 000014
【図１３】
2016100721.tif 000015
【図１４】
2016100721.tif 000016
【図１５】
2016100721.tif 000017
【図１６】
2016100721.tif 000018
【図１７】
2016100721.tif 000019
【図１８】
2016100721.tif 000020
【図１９】
2016100721.tif 000021
【図２０】
2016100721.tif 000022
【図２１】
2016100721.tif 000023
【図２２】
2016100721.tif 000024
【図２３】
2016100721.tif 000025
【図２４】
2016100721.tif 000026
【図２５】
2016100721.tif 000027
【図２６】
2016100721.tif 000028
【図２７】
2016100721.tif 000029