(57)【要約】【課題】受信される通信パケットの解析処理に使用されるメモリ容量を増大させることなく、通信パケットの解析処理効率を向上させる。【解決手段】通信装置は、受信される複数の通信パケットの複数のヘッダを解析し、解析された解析結果を第１の記憶部に格納するとともに、第１の解析要求に後続する第２の解析要求が通知された際に、第１の解析要求に対する解析処理が完了する前である場合および第１の記憶部に未処理の解析結果がある場合の少なくとも一方の場合、第１の記憶部に格納された解析結果を、第１の記憶部と異なる第２の記憶部に退避させ、第２の記憶部への解析結果の退避が完了してから、第２の解析要求に対する解析処理を実行する。【選択図】  図８
2020088517.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
他の通信装置から、通信パケットを受信する受信手段と、
前記受信手段により受信された複数の通信パケットの複数のヘッダを解析する解析手段と、
前記解析手段により解析された解析結果を格納する第１の記憶手段と、
前記第１の記憶手段に格納された前記解析結果を、前記第１の記憶手段と異なる第２の記憶手段に退避させる退避手段と、
第１の解析要求に後続する第２の解析要求が通知された際に、前記第１の解析要求に対する解析処理が完了していない場合、および、前記第１の記憶手段に未処理の解析結果がある場合の少なくとも一方の場合、前記退避手段に前記解析結果を前記第２の記憶手段へ退避させて、前記第２の解析要求に対する解析処理を前記解析手段に実行させるよう制御する制御手段と、
を備えることを特徴とする通信装置。
【請求項２】
前記制御手段は、前記解析手段に、前記第２の解析要求に対する解析処理の解析結果を、前記第１の記憶手段に上書きで格納させることを特徴とする請求項１に記載の通信装置。
【請求項３】
前記制御手段は、前記退避手段による前記解析結果の前記第２の記憶手段への退避が完了した際に、前記解析結果の退避の完了を示す信号を外部に通知することを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記制御手段は、前記第１の解析要求に対する解析処理が完了するまでに前記第２の解析要求が発行されない場合、前記退避手段に前記解析結果を前記第２の記憶手段に退避させることなく、前記第１の解析要求に対する解析処理の完了を外部に通知することを特徴とする請求項１から３のいずれか１項に記載の通信装置。
【請求項５】
前記第２の解析要求が通知された際に、前記退避手段に前記第１の解析要求に対する解析処理の解析結果を前記第２の記憶手段へ退避させるか否かを判定する判定手段をさらに備えることを特徴とする請求項１から４のいずれか１項に記載の通信装置。
【請求項６】
前記第１の解析要求および前記第２の解析要求は、先行する解析要求に対する解析処理の解析結果を前記第２の記憶手段に退避させるか否かを示す退避情報を含み、
前記判定手段は、前記退避情報を参照して、前記退避手段に前記解析結果を前記第２の記憶手段へ退避させるか否かを判定することを特徴とする請求項５に記載の通信装置。
【請求項７】
前記判定手段は、前記解析手段がアイドル状態である間に前記第２の解析要求が通知された場合、前記退避手段に前記第１の解析要求に対する解析処理の解析結果を前記第２の記憶手段へ退避させるか否かを判定することを特徴とする請求項１から６のいずれか１項に記載の通信装置。
【請求項８】
前記第１の解析要求および前記第２の解析要求がセットされるレジスタをさらに備え、
前記制御手段は、前記レジスタに前記第１の解析要求または前記第２の解析要求がセットされたことを契機に、前記解析手段による解析処理または前記退避手段による前記解析結果の前記第２の記憶手段への退避の実行を開始することを特徴とする請求項１から７のいずれか１項に記載の通信装置。
【請求項９】
前記第１の記憶手段は、前記第２の記憶手段のアクセスレイテンシより小さいアクセスレイテンシを有することを特徴とする請求項１から８のいずれか１項に記載の通信装置。
【請求項１０】
前記第１の記憶手段または前記第２の記憶手段のいずれか１つに格納された解析結果を読み込んで、前記複数の通信パケットからラージパケットを生成する生成手段をさらに備えることを特徴とする請求項１から９のいずれか１項に記載の通信装置。
【請求項１１】
前記生成手段は、前記制御手段から通知される前記解析結果の退避の完了を示す信号に基づいて、前記第１の記憶手段または前記第２の記憶手段のいずれかを前記解析結果の読み込み元として選択することを特徴とする請求項１０に記載の通信装置。
【請求項１２】
前記解析手段は、Ｌａｒｇｅ  Ｒｅｃｅｉｖｅ  Ｏｆｆｌｏａｄ（ＬＲＯ）により、前記複数の通信パケットの前記複数のヘッダを解析することを特徴とする請求項１から１１のいずれか１項に記載の通信装置。
【請求項１３】
他の通信装置から、通信パケットを受信する通信装置の制御方法であって、
受信された複数の通信パケットの複数のヘッダを解析するステップと、
解析された解析結果を第１の記憶手段に格納するステップと、
第１の解析要求に後続する第２の解析要求が通知された際に、前記第１の解析要求に対する解析処理が完了していない場合、および、前記第１の記憶手段に未処理の解析結果がある場合の少なくとも一方の場合、前記第１の記憶手段に格納された前記解析結果を、前記第１の記憶手段と異なる第２の記憶手段に退避させるステップと、
前記第２の記憶手段への前記解析結果の退避が完了してから、前記第２の解析要求に対する解析処理を実行するステップと、
を含むことを特徴とする制御方法。
【請求項１４】
コンピュータを、請求項１から１２のいずれか１項に記載の通信装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信パケットの受信に伴う通信プロトコル処理を実行可能な通信装置に関する。
【背景技術】
【０００２】
近年、いわゆるスマートデバイス等の多機能端末上では、ネットワーク経由で配信される高解像度動画（８Ｋ／４Ｋ）をリアルタイムで閲覧することができる。こうした高解像度動画を閲覧するニーズの増加に伴って、動画配信のためのネットワーク上のデータトラフィックが増大している。
一方、Ｅｔｈｅｒｎｅｔ（登録商標）による１０Ｇｂｐｓ通信、移動体通信の５Ｇ通信等、データトラフィックの増大に対応すべくネットワークの高速化が進展している。こうしたネットワークの高速化に伴って、各通信プロトコルで規定された処理である通信プロトコル処理の効率化が要請されている。こうした通信プロトコルにはＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）やＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）等がある。
【０００３】
高速データ通信を実現するためには、通信パケットを受信する処理の効率化が欠かせないものとなる。ネットワークから高レートで到達する通信パケットに追従して通信プロトコル処理しなければならない通信装置のＣＰＵへの負荷はそれだけ高まることになる。
このような通信パケットの受信に伴うＣＰＵの負荷を低減させて通信パケット受信を高速化する技術の１つに、ＬＲＯ（Ｌａｒｇｅ  Ｒｅｃｅｉｖｅ  Ｏｆｆｌｏａｄ）処理がある。
【０００４】
このＬＲＯ処理では、ネットワークから受信される複数の通信パケットを解析し、同一ソケットに分類される複数の通信パケットをまとめて１つのラージパケットを生成するという通信プロトコル処理の一部を、ＣＰＵからハードウエアへオフロードする。複数の通信パケットをまとめたラージパケットをより大きなバッファに再構築し、通信装置のＣＰＵへ受け渡すことで、パケットサイズは大きくなるがＣＰＵが処理すべきパケット数は少なくなるため、ＣＰＵの処理負荷が軽減される。
【０００５】
特許文献１は、受信されるパケットを解析して、サーバ装置に備えられた複数の仮想ノードへパケットを送信する帯域制御装置を開示する。
具体的には、特許文献１の技術によれば、帯域制御装置は、複数の高優先キューおよび複数の低優先キューをそれぞれ備える。この帯域制御装置において、パケットヘッダ解析部が受信されるパケットのヘッダを解析し、統計部が受信されるパケットの通信量を計測し、これらの解析および計測結果に基づいて、振り分け部が受信されたパケットをそれぞれのキューに振り分ける。それぞれ振り分けられたキューからパケットが複数の仮想ノードへ送信される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−１４９５７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記のＬＲＯ処理においてラージパケットを生成するには、受信される複数の通信パケットを解析して得られる解析結果をメモリに格納し、格納された解析結果を参照して同一ソケットに分類される複数の通信パケットをバッファから読み出さなければならない。
ここで、通信パケットの受信に伴う通信プロトコル処理を効率化する観点からは、ハードウエアが解析結果を格納するメモリに、データ転送要求からデータ転送完了までの遅延時間であるアクセスレイテンシがより小さいメモリを使用した方がよい。
【０００８】
しかしながら、このようなアクセスレイテンシの小さい高速メモリは一般に単位メモリ容量当たりの単価が高価であり、通信装置によっては潤沢なメモリ容量を備えることが困難な場合がある。受信される複数の通信パケットの解析処理において、不十分なメモリ容量のメモリに解析結果を格納していると、解析対象の通信パケットの数が多くなり、多数の解析要求が発行された場合、解析結果を格納するメモリ容量の不足を来たしかねない。このように、解析結果を格納するメモリ容量が不足すると、複数のパケットの解析処理や後続するラージパケットの生成処理の処理効率を低下させ、通信パケットの受信処理全体の効率も低下させるおそれがある。
【０００９】
本発明は、上述の課題に鑑みてなされたものであり、受信される通信パケットの解析処理に使用される記憶容量を増大させることなく、通信パケットの解析処理効率を向上させることを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明に係る通信装置は、他の通信装置から、通信パケットを受信する受信手段と、前記受信手段により受信された複数の通信パケットの複数のヘッダを解析する解析手段と、前記解析手段により解析された解析結果を格納する第１の記憶手段と、前記第１の記憶手段に格納された前記解析結果を、前記第１の記憶手段と異なる第２の記憶手段に退避させる退避手段と、第１の解析要求に後続する第２の解析要求が通知された際に、前記第１の解析要求に対する解析処理が完了していない場合、および、前記第１の記憶手段に未処理の解析結果がある場合の少なくとも一方の場合、前記退避手段に前記解析結果を前記第２の記憶手段へ退避させて、前記第２の解析要求に対する解析処理を前記解析手段に実行させるよう制御する制御手段と、を備える。
【発明の効果】
【００１１】
本発明によれば、受信される通信パケットの解析処理に使用される記憶容量を増大させることなく、通信パケットの解析処理効率を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る通信装置１のハードウエアおよび機能構成の一例を示すブロック図
【図２】通信装置１のパケット解析部５が実行するパケット解析処理の一例を説明する図
【図３】パケット解析部５が出力する解析結果の詳細の一例を説明する図
【図４】通信装置１のＣＰＵ２が実行するラージパケット生成処理の一例を説明する図
【図５】第１の解析要求に対する解析処理を完了するまでに第２の解析要求が発行されない場合のパケット解析処理の詳細処理手順の一例を示す図
【図６】第１の解析要求に対する解析処理を完了するまでに第２の解析要求が発行された場合のパケット解析処理の詳細処理手順の一例を示す図
【図７】第１の解析要求に対する解析処理が完了し、かつ解析結果が一時記憶部５５に残っている際に第２の解析要求が発行された場合のパケット解析処理の詳細処理手順の一例を示す図
【図８】パケット解析部５の制御部５１が実行するパケット解析制御処理の詳細処理手順の一例を示すフローチャート
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して、本発明を実施するための実施形態について詳細に説明する。なお、以下に説明する実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施形態に必ずしも限定されるものではない。また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【００１４】
本実施形態において、通信装置は、受信される複数の通信パケット（以下、単に「パケット」ともいう。）を解析して得られる解析結果に基づいて、同一ソケットで受信されるべき複数パケットを１つにまとめたラージパケットを生成してよい。また、この複数のパケットを解析してラージパケットを生成する処理の少なくとも一部は、例えば、ＬＲＯ（Ｌａｒｇｅ  Ｒｅｃｅｉｖｅ  Ｏｆｆｌｏａｄ）技術を使用してオフロード実行されてよい。
また、ＬＲＯにおいて解析されるパケットの通信ヘッダは、ＴＣＰヘッダ、ＩＰヘッダ（ＩＰｖ４ヘッダ、ＩＰｖ６ヘッダ）、およびＥｔｈｅｒ（Ｅｔｈｅｒｎｅｔ（登録商標））ヘッダを含んでよい。
【００１５】
＜本実施形態のハードウエアおよび機能構成＞
図１は、本実施形態に係る通信装置のハードウエア構成および機能構成の一例を示す図である。
図１に示す通信装置１の各機能モジュールのうち、ソフトウエアにより実現される機能については、各機能モジュールの機能を提供するためのプログラムがＲＯＭ等のメモリに記憶され、ＲＡＭに読み出してＣＰＵが実行することにより実現される。ハードウエアにより実現される機能については、例えば、所定のコンパイラを用いることで、各機能モジュールの機能を実現するためのプログラムからＦＰＧＡ上に自動的に専用回路を生成すればよい。ＦＰＧＡとは、Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略である。また、ＦＰＧＡと同様にしてＧａｔｅ  Ａｒｒａｙ回路を形成し、ハードウエアとして実現するようにしてもよい。また、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）により実現するようにしてもよい。なお、図１に示した機能ブロックの構成は一例であり、複数の機能ブロックが１つの機能ブロックを構成するようにしてもよいし、いずれかの機能ブロックが複数の機能を行うブロックに分かれてもよい。
通信装置１は、ＣＰＵ２、主記憶部３、通信Ｉ／Ｆ４、およびパケット解析部５を備える。パケット解析部５は、各種通信プロトコルで規定された通信プロトコル処理の一部として、受信される複数のパケットの解析処理を実行する。ＣＰＵ２、主記憶部３、通信Ｉ／Ｆ４、およびパケット解析部５は、システムバス６を介して相互に接続されている。
【００１６】
ＣＰＵ２は、通信装置１が外部機器とネットワーク４０を介して通信を実行する際に必要となる各種通信制御を実行する。本実施形態では、ＣＰＵ２は、特に、パケット解析部５によるパケット解析処理全体の実行を制御する。またＣＰＵ２は、ＴＣＰ／ＩＰプロトコル等の通信プロトコル処理に特化して、外部機器とネットワーク４０を介したデータ転送処理を実行してよい。
主記憶部３は、システムバス６を介して、通信装置１内の各機能ブロックが共有して利用可能な記憶領域であり、例えば主としてＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の半導体メモリで構成されてよい。主記憶部３内部の領域は、プログラムを格納する領域や、受信されるパケットを記憶する受信バッファ領域などに分けられる。図１において、主記憶部３に記憶される複数のパケットＰ１〜Ｐ４は、それぞれ、ヘッダＰ１１〜Ｐ４１とデータＰ１２〜Ｐ４２から成る。
【００１７】
通信Ｉ／Ｆ４は、有線あるいは無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等で構成されるネットワーク４０とのインタフェースであり、外部装置との通信における物理層（ＰＨＹ層）とデータリンク層（ＭＡＣ層）の通信制御を担っている。
通信Ｉ／Ｆ４は、通信装置１をネットワーク４０へ接続し、ネットワーク４０から受信されるパケットを主記憶部３へ書き込んだり、主記憶部３に配置されたパケットをネットワーク４０へ送信したりする。本実施形態において、通信Ｉ／Ｆ４は、通信Ｉ／Ｆ４が実行する各種処理が完了したことを通知する通知信号をＣＰＵ２へ出力する。この通知信号７１は、通信Ｉ／Ｆ４によるパケットの受信が完了したことを通知する受信完了通知信号７１を含む。
【００１８】
パケット解析部５は、制御部５１、レジスタ部５２、解析処理部５３、解析結果登録部５４、一時記憶部５５、および退避制御部５６を備える。制御部５１、レジスタ部５２、解析処理部５３、解析結果登録部５４、一時記憶部５５、および退避制御部５６は、ローカルバスを介して相互に接続されている。
【００１９】
パケット解析部５は、ＣＰＵ２からの処理要求により、主記憶部３に配置される複数の受信済みパケットＰ１〜Ｐ４の解析処理を実行するサブシステムである。本実施形態において、パケット解析部５は、複数のパケットＰ１〜Ｐ４の解析処理の解析結果の出力先を、一時記憶部５５または主記憶部３のいずれかに変更する機能を有する。パケット解析部５は、通信プロトコル処理専用のハードウエア（ハードウエアアクセラレータ）を搭載して、通信プロトコル処理の一部である複数のパケットの解析処理をＣＰＵ２に代えて高速で実行可能であってよい。
【００２０】
制御部５１は、レジスタ部５２にセットされた解析要求等の処理要求によって発生した要求受信通知に応じて、パケット解析部５全体の制御を実行する。
具体的には、制御部５１は、解析処理部５３に対してパケットの解析処理の開始を指示する解析開始指示を出力し、解析結果登録部５４に対して解析結果を一時記憶部５５に登録開始するよう指示する登録開始指示を出力する。制御部５１はまた、退避制御部５６に対して、一時記憶部５５に登録された解析結果を主記憶部３に退避するよう指示する解析結果退避指示を出力する。
解析処理が完了した際に、制御部５１は、ＣＰＵ２に対して解析処理が完了したことを通知する処理完了通知信号７２をＣＰＵ２へ通知する。制御部５１は、一時記憶部５５に登録された解析結果の主記憶部３への退避が必要である場合には、解析結果の主記憶部３への退避が完了した際に、処理完了通知信号７２をＣＰＵ２へ通知する。この制御部５１が実行する制御の詳細は図５〜図８を参照して後述する。
【００２１】
レジスタ部５２は、ＣＰＵ２がパケット解析部５を使用してパケット解析処理等を実行させるためのレジスタ群で構成される。レジスタ部５２は、パケット解析部５への解析要求等の処理要求をセットするためのレジスタや、パケット解析部５における処理状態を表示させるためのレジスタ等を備える。
解析処理部５３は、レジスタ部５２にセットされた解析要求に基づいて、主記憶部３に配置されたパケットＰ１〜Ｐ４のうち、ヘッダ部分Ｐ１１〜Ｐ４１を読み出して、複数のパケットの解析処理を実行する。具体的には、解析処理部５３は、パケットのヘッダＰ１１〜Ｐ４１に記述された情報を解析して、受信されたパケットの分類／グループ分け処理やソート処理を実行する。
【００２２】
解析結果登録部５４は、解析処理部５３から出力される解析結果を一時記憶部５５に登録する。解析結果登録部５４は、解析結果の一時記憶部５５への登録状態も併せて管理しており、登録ができない状況が発生した場合は、制御部５１に対して解析結果が登録できなかった旨の通知を出力する。
【００２３】
一時記憶部５５は、パケット解析部５の各機能ブロックからアクセス可能なメモリであり、かつＣＰＵ２からも直接アクセス可能なメモリである。一時記憶部５５は、例えば主としてＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の半導体メモリで構成されてよい。
この一時記憶部５５は、パケット解析部５がパケットの解析処理を実行し、解析結果を出力するまでの間に使用する各種情報の一時的な記憶領域であり、また最終的な解析結果を格納する領域として動作する。主記憶部３と比較して、一時記憶部５５は、単位メモリ容量当たりの実装コストが高いものであり得るが、データ転送要求からデータ転送完了までの遅延時間であるアクセスレイテンシが主記憶部３より小さいメモリで構成される。
【００２４】
退避制御部５６は、制御部５１から出力される解析結果退避指示に応答して、一時記憶部５５に登録された解析結果を読み込んで、主記憶部３に退避出力する。主記憶部３への退避が完了すると、退避制御部５６は、制御部５１に対して主記憶部３への退避が完了した旨を示す解析結果退避完了通知を制御部５１へ出力する。
【００２５】
＜パケット解析部５のパケット解析処理＞
図２は、通信装置１のパケット解析部５が実行する複数のパケットの解析処理の概要を一例として説明する図である。
通信装置１において、まずパケット解析部５は、ＣＰＵ２からパケットの解析処理を要求する処理要求２１を受け取る。この処理要求２１は、受信された複数のパケット８１のそれぞれが配置されている主記憶部３の受信バッファ内のアドレス、解析処理を実行すべきパケットの数、および退避情報を含む。この退避情報は、パケットの解析結果を一時記憶部５５から主記憶部３へ退避させるか否かの解析結果の退避先を指定する情報を含んでよい。
【００２６】
処理要求２１を受け取ったパケット解析部５は、主記憶部３に配置された受信済みパケット８１の分類／グループ分けを実行する。
具体的には、パケット解析部５は、複数のパケットのそれぞれについて、受け取った処理要求２１に含まれるアドレスに配置されたパケットのヘッダを読み込み、当該ヘッダに含まれるグループ分けに必要となるグループ情報を解析する。グループ分けの解析結果８２は、一時記憶部５５または主記憶部３に出力される。解析結果を一時記憶部５５または主記憶部３のいずれに出力するかの判定処理については、図６ないし図８を参照して後述する。複数のパケットのグループ分けは、具体的には解析対象となるパケットに付与されるＩＤであるパケット番号を使用して実行されてよい。図２では、解析結果８２は、グループ１（パケット番号１、２、３、４、７・・・）、グループ２（パケット番号５、６、８）、およびグループ３（パケット番号９、１０、１１）の３つにグルーピングされている。
【００２７】
図３は、図２でパケット解析部５が一時記憶部５５または主記憶部３のいずれかに出力する解析結果８２の詳細を一例として説明する図である。
パケット解析部５は、各パケットのヘッダに含まれるグループ情報として、Ｓｒｃ（Ｓｏｕｒｃｅ）/Ｄｓｔ（Ｄｅｓｔｉｎａｔｉｏｎ）ＩＰアドレス、Ｓｒｃ／Ｄｓｔポート番号、およびプロトコル種別を含む情報の解析を実行する。パケット解析部５は、これら３つのグループ情報のすべてが、他のパケットと一致するパケットを同一グループとして分類する。一方、いずれかのグループ情報が各グループ情報（グループ１〜ｎ）と異なっていた場合は、当該パケットを別グループとして分類する。
【００２８】
パケット解析部５は、Ｓｒｃ（Ｓｏｕｒｃｅ）/Ｄｓｔ（Ｄｅｓｔｉｎａｔｉｏｎ）ＩＰアドレス、Ｓｒｃ／Ｄｓｔポート番号、およびプロトコル種別を含むグループ情報３１の値を、複数のグループのそれぞれに共通する解析結果として出力する。一方、パケット解析部５は、同一グループに属する複数のパケットそれぞれの固有の情報の値を、固有のパケット情報１〜ｍ（３２１〜３２５）の解析結果として併せて出力する。具体的には、解析されるパケットがＴＣＰ（ＵＤＰ）／ＩＰパケットの場合、ＩＰチェックサム、ＴＣＰ（／ＵＤＰ）チェックサム、ＴＣＰシーケンスナンバーが固有のパケット情報となり、これらがパケット番号と併せて解析結果として記憶される。
なお、ＴＣＰシーケンスナンバーを元に、各グループに登録されているパケットの順序をソートしてもよい。パケット解析部５は、最終的に、グループ情報３１と、各グループに属するパケットのパケット情報１〜ｍ（３２１〜３２５）を、解析結果８２として、一時記憶部５５または主記憶部３のいずれかに出力する。
【００２９】
＜ラージパケット生成処理＞
図４は、通信装置１のＣＰＵ２が実行する、複数のパケットの解析結果を用いてラージパケットを生成する処理の概要を一例として説明する図である。ここでラージパケットとは、ネットワークから受信された複数パケットのうち、同一グループに分類された複数のパケットを１つにまとめて生成されるパケットである。
ＣＰＵ２は、パケット解析部５が出力した解析結果を用いて、複数のパケットを一括受信処理する。図４を参照して、ＣＰＵ２がグループ２の解析結果４１を用いた場合のラージパケット生成処理の例を説明する。
【００３０】
まずＣＰＵ２は、グループ２の解析結果４１に登録されている複数のパケット４２（パケット番号５、６、８）を１つにまとめて、ラージパケット４３を生成する。ラージパケット４３は、１つのラージパケットヘッダ４３１と、グループ２に登録されている複数の通信パケット（パケット番号５，６、８）のデータａ、データｂ、データｃから成るラージパケットデータ４３２とで構成される。
ＣＰＵ２は、このように生成されたラージパケット４３を通常のパケット受信処理に必要なプロトコル解析およびデコードすることにより、当該ラージパケット４３の受信処理を実行する。グループ２に登録されている複数の通信パケット４２（パケット番号５、６、８）を1つのラージパケット４３に集約することで、１つのパケットに対する受信処理のみを実行すればよいため、パケット受信処理効率が向上する。
なお、上記では、ラージパケット４３の生成処理をＣＰＵ２が実行する場合を説明したが、ＣＰＵ２とは独立したモジュールによりラージパケットを生成してもよい。
【００３１】
＜通信装置１のパケット解析処理の処理フロー＞
以下、図５ないし図７を参照して、本実施形態において通信装置１が実行する、ネットワーク４０からパケットを受信してからパケット解析処理が完了するまでの処理フローの一例を説明する。
図５は、解析処理部５３が第１の処理要求に対する解析処理を完了した段階で、未だ第２の処理要求がない場合の処理フローの一例である。具体的には、パケット解析部５がＣＰＵ２から１つの解析要求を通知されてから、ＣＰＵ２に対して解析処理完了を通知するまでの間に、他の解析要求と競合しない場合の処理フローである。以下、パケット解析部５に通知される処理要求が、パケット解析処理を指示する解析要求であるものとして説明する。
【００３２】
Ｓ５１で、通信Ｉ／Ｆ４は、ネットワーク４０から受信した複数のパケットを主記憶部３に書き込む。
Ｓ５２で、通信Ｉ／Ｆ４は、ＣＰＵ２に対して、複数のパケットの受信完了を、受信完了通知信号７１により通知する。
Ｓ５３で、受信完了通知信号７１を通知されたＣＰＵ２は、パケット解析部５に対して、受信された複数のパケットの解析処理を要求する。
具体的には、ＣＰＵ２は、パケット解析部５のレジスタ部５２に解析処理を要求する解析要求をセットする。Ｓ５３でレジスタ部５２にセットされる解析要求は、図２に示すように、各パケットの配置されているアドレス、解析すべき通信パケットの数、および当該解析要求に対する解析結果を退避すべきか否かを指示する退避情報を含む。
【００３３】
Ｓ５４で、制御部５１に対して、解析要求がセットされたレジスタ部５２から、解析要求がセットされたことを示す要求受信通知が発生する。すなわち、制御部５１は、レジスタ部５２に解析要求がセットされたことを契機にパケット解析処理を開始させる。
Ｓ５５で、レジスタ部５２から要求受信通知が通知された制御部５１は、解析処理部５３に対して解析開始指示を出力する。
Ｓ５６で、レジスタ部５２から要求受信通知が通知された制御部５１はまた、解析結果登録部５４に対して解析処理部５３が実行する解析処理の解析結果を一時記憶部５５に登録するよう、登録開始指示を出力する。
【００３４】
Ｓ５７で、Ｓ５５で解析開始指示を受信した解析処理部５３は、主記憶部３に配置されているパケット群の各ヘッダを読み込む。
Ｓ５８で、パケット群の各ヘッダを読み込んだ解析処理部５３は、解析結果登録部５４に対して、逐次、解析結果を通知する。
Ｓ５９で、解析結果登録部５４は、Ｓ５８で逐次通知される解析結果を、一時記憶部５５に登録する。解析結果登録部５４は、受信した解析結果を、一時記憶部５５に登録可能であるか、また一時記憶部５５のどこに登録すべきかを、登録状況を管理することにより判定し、解析結果の登録が可能であれば、解析結果を一時記憶部５５に登録する。
【００３５】
Ｓ６０で、パケット解析部５は、各パケットについてのＳ５７からＳ５９の処理を、レジスタ部５２にセットされた解析要求で示される、解析処理を実行すべきパケットの数分、繰り返し実行する。
Ｓ６１で、解析処理部５３は、制御部５１に対して、解析要求された全てのパケットの解析が完了したことを示す解析完了通知を出力する。
Ｓ６２で、解析結果登録部５４は、制御部５１に対して、解析要求された全てのパケットの解析結果を一時記憶部５５に登録完了したことを示す登録完了通知を出力する。
【００３６】
Ｓ６３で、制御部５１は、パケットの解析完了通知、および解析結果の一時記憶部５５への登録が完了したことを示す登録完了通知の双方を受信すると、生成された解析結果の概要をレジスタ部５２を介して表示装置等に表示させるよう通知する。
例えば、制御部５１は、レジスタ部５２を介して、解析結果のうち、解析結果を出力したアドレスや解析したパケットの総数を表示装置に表示させてよく、また、解析処理中にエラーが発生した場合、当該エラー内容を表示装置に適宜表示させてもよい。
【００３７】
Ｓ６４で、制御部５１は、ＣＰＵ２に対して、Ｓ５３で要求された全てのパケットについての解析処理が完了したことを、処理完了通知信号７２により通知する。
要求された全ての解析処理が完了したことをパケット解析部５から通知されると、ＣＰＵ２は、Ｓ６５で、グループ１を構成すると解析された複数のパケットから１つのラージパケットを生成すべく、グループ１に属する複数のパケットを一括受信処理する。ＣＰＵ２は、グループ２以降のグループに属するパケットについても同様に一括受信処理する。
【００３８】
具体的には、Ｓ６６で、ＣＰＵ２は、まず一時記憶部５５に登録されている解析結果を読み込む。
Ｓ６７で、ＣＰＵ２は、Ｓ６６で読み込んだ解析結果に基づいて、主記憶部３に配置されている複数のパケットのうち、グループ１に属する複数のパケットを抽出して読み出し、１つのラージパケットを生成する。グループ１に属する複数のパケットは、グループ情報として同一のＳｒｃ／ＤｓｔＩＰアドレスおよびＳｒｃ／Ｄｓｔポート番号、および同一のプロトコル種別を有しており、同一のアプリケーションへの同一のソケットから受信されるべきパケットである。通信装置１は、ソケットごとにバッファを備え、ＣＰＵ２がラージパケットを生成するまで一時的に格納する。ＣＰＵ２は、バッファに生成されたラージパケットをアプリケーションにソケットを介して受け渡すための受信キューに格納し、後続の通信プロトコル処理を実行する。ＣＰＵ２が実行する一括受信処理、すなわちラージパケット生成処理は、図４を参照して説明したとおりである。
このように、複数の解析要求が競合しない場合、本実施形態に係るパケット解析部５は、主記憶部３よりアクセスレイテンシの小さい一時記憶部５５に解析結果を書き込むことで、パケット解析処理を高速化している。
【００３９】
図６は、解析処理部５３が第１の処理要求に対する解析処理を完了した段階で、第２の処理要求が通知されている場合の処理フローの一例である。具体的には、パケット解析部５が複数の解析要求を受信した場合、または第１の解析要求についての解析処理中に新たに第２の解析要求を受信した場合等、解析要求を受信してから解析完了通知を送信するまでの間で解析要求が競合する場合の処理フローである。
【００４０】
Ｓ５１およびＳ５２は、図５に示すＳ５１およびＳ５２と同様である。
Ｓ５３１およびＳ５３２で、ＣＰＵ２は、パケット解析部５に対してパケットの解析要求１および解析要求２をそれぞれ通知する。具体的には、ＣＰＵ２は、パケット解析部５のレジスタ部５２に、解析要求１および解析要求２をセットする。レジスタ部５２にセットされる解析要求１および解析要求２は、各通信パケットの配置されているアドレス、解析すべき通信パケットの数、および退避情報をそれぞれ含む。
【００４１】
Ｓ５４１およびＳ５４２で、制御部５１に対して、解析要求１と解析要求２がセットされたレジスタ部５２から、各解析要求がセットされたことの通知がそれぞれ発生する。
ここで、制御部５１は、複数の解析要求を受信した場合、解析要求を受信した順に処理を実行する。
解析処理部５３への解析開始を指示するＳ５５から解析結果登録部５４による一時記憶部５５への解析結果の登録完了を通知するＳ６２までの処理は、図５のＳ５５からＳ６２までの処理と同様である。
【００４２】
なお、図６では、パケット解析部５が解析処理の実行を開始する前に、複数の解析要求を受信している例が示されているが、１つの解析要求に対する解析処理を実行している間に、新たな解析要求を受信する場合でも、パケット解析部５は同様に動作する。すなわち、本実施形態では、制御部５１がＳ６２で登録処完了通知を受信する前に、新たな解析要求を通知された場合は、図５のＳ７１以降の処理を実行する。一方、Ｓ６２で登録完了通知を受信した後に新たな解析要求を受信した場合の処理フローは、図７を参照して後述する。
【００４３】
Ｓ６２の後、Ｓ７１で、第１の解析要求に対する解析完了通知および登録完了通知をそれぞれ受信した制御部５１は、退避制御部５６に対して、一時記憶部５５に登録された解析結果を主記憶部３に退避出力するよう指示する解析結果退避指示を出力する。
具体的には、制御部５１は、現在処理している解析要求の他に処理すべき解析要求が通知されたと判断すると、一時記憶部５５に登録された解析結果を、主記憶部３に退避するよう、退避制御部５６に指示する。Ｓ７１では、制御部５１は、解析要求１の解析完了通知と登録完了通知を受信した段階で、解析要求２に対応する解析処理が残っているため、一時記憶部５５にある解析結果を主記憶部３に出力するよう退避制御部５６に指示する。
【００４４】
Ｓ７２で、解析結果の主記憶部３への退避を指示された退避制御部５６は、一時記憶部５５に登録された解析結果を読み込む。
Ｓ７３で、解析結果を読み込んだ退避制御部５６は、読み込まれた解析結果を主記憶部３に書き込む。
Ｓ７４で、パケット解析部５は、各解析結果についてＳ７２およびＳ７３の処理を、解析処理が実行パケットの数だけ繰り返し実行する。
Ｓ７５で、退避制御部５６は、制御部５１に対して、一時記憶部５５に登録された全ての解析結果の主記憶部３への書き込み完了、すなわち全ての解析結果の一時記憶部５５から主記憶部３への退避完了を通知する。
その後のＳ６３およびＳ６４の処理は、図５に示すＳ６３およびＳ６４と同様である。
ただし、Ｓ６４で制御部５１がＣＰＵ２へ通知する処理完了通知信号７２は、Ｓ５３１で発行された解析要求１に対する解析処理、および解析要求１に対する解析結果の主記憶部３への退避処理の双方が完了したことを示す。このため、処理完了通知信号７２は、解析処理の完了と退避処理の完了を区別してそれぞれ示すことが可能な情報、例えば複数のフラグ、を備えてよい。また、制御部５１からＣＰＵ２へ通知される処理完了通知信号７２は、退避先の情報として、解析結果の退避先のアドレス、解析処理されたパケット数等を含んでよい。
【００４５】
Ｓ６４で要求された全ての解析処理が完了したことをパケット解析部５から通知されると、Ｓ７６で、ＣＰＵ２は、グループ１を構成する複数のパケットから１つのラージパケットを生成すべく、グループ１に属する複数のパケットを一括受信処理する。
具体的には、Ｓ７７で、ＣＰＵ２は、まず主記憶部３に登録されている解析結果を読み込む。Ｓ６４でパケット解析部５から通知される処理完了通知信号７２は、解析結果の読み込み元の記憶部が一時記憶部５５または主記憶部３のいずれであるかの情報を含む。図６では、Ｓ７３およびＳ７４で、解析要求１に対する解析結果が一時記憶部５５から主記憶部３に退避される。このため、Ｓ７７で、ＣＰＵ２は、解析処理完了通知に含まれる解析結果の読み込み元の情報を参照して、解析結果を主記憶部３から読み込むべきものと判断することができる。
Ｓ７８で、ＣＰＵ２は、Ｓ７７で読み込んだ解析結果に基づいて、主記憶部３に配置されている複数のパケットのうち、グループ１に属する複数のパケットを抽出して読み出して、１つのラージパケットを生成する。ＣＰＵ２が実行する一括受信処理は、図４を参照して説明したとおりである。
【００４６】
なお、図６の例では、ＣＰＵ２がＳ６４でパケット解析部５から解析要求１に対する解析完了通知を通知されてからすぐに解析結果を用いて複数パケットの一括受信処理を開始しているが、本実施形態はこれに限定されない。例えば、ＣＰＵ２は、パケット解析部５が他の解析要求に対する解析処理を完了してから、まとめてパケットの一括受信処理を開始してもよい。
Ｓ７９で、パケット解析部５の制御部５１は、ＣＰＵ２に対して解析要求１に対する解析完了通知を処理完了通知信号７２により通知したことをトリガーにして、解析要求２に対する解析処理の開始を解析処理部５３に指示する。
【００４７】
Ｓ８０で、Ｓ７９と同様のトリガーで、パケット解析部５の制御部５１は、解析要求２に対する解析結果の一時記憶部５５への登録の開始を解析結果登録部５４に指示する。
Ｓ８１からＳ９１までの処理は、解析要求２に対するパケットの解析処理、解析結果の一時記憶部５５への登録、および一時記憶部５５に登録された解析結果を用いたラージパケットの生成処理であり、図５のＳ５７からＳ６７と同様である。ただし、Ｓ８３での解析要求２に対する解析結果の一時記憶部５５への登録は、解析要求１に対する解析結果に上書きする態様で実行される。
このように、複数の解析要求が競合する場合、本実施形態に係るパケット解析部５は、先の解析要求に対する解析結果を主記憶部３に退避してからＣＰＵ２に解析処理完了を通知して、後続する解析要求に対する解析処理を開始する。これにより、アクセスレイテンシの小さい一時記憶部５５のメモリ使用効率が向上するとともに、パケット解析処理の効率低下も低減される。
【００４８】
図７は、解析処理部５３が第１の処理要求に対する解析処理を完了してアイドル状態に移行し、かつ一時記憶部５５に解析結果が残っている場合の処理フローの一例である。この場合、本実施形態では、パケット解析部５の制御部５１は、後続するパケットの解析要求に対する解析処理を開始する前に、一時記憶部５５に残っている解析結果を退避するか否かを判定する。具体的には、制御部５１は、一時記憶部５５に残っている解析結果を主記憶部３に退避してから解析処理を実行する、あるいは解析結果を退避せずに一時記憶部５５に残っている解析結果に上書きする、のいずれかの処理を選択する。
【００４９】
Ｓ５１からＳ６４までの処理は、他の解析要求と競合しない１つの解析要求に対する解析処理を実行する処理であり、図５のＳ５１からＳ６４と同様である。
Ｓ６４で、パケット解析部５の制御部５１がＣＰＵ２に対して処理完了通知信号７２により解析処理完了を通知した段階で、新たな解析要求が通知されていない場合、パケット解析部５はアイドル状態に移行する。
Ｓ１０１以降では、ＣＰＵ２が、Ｓ５３で発行された解析要求１に対する解析結果を読み込んでラージパケットを生成する前に、パケット解析部５が新たな解析要求２を通知されたものとする。
【００５０】
Ｓ１０１からＳ１０４までの処理は、図５のＳ５１からＳ５４と同様である。
ただし、Ｓ１０３で解析要求２をパケット解析部５に通知する段階で、ＣＰＵ２は、未だ一時記憶部５５にある解析結果を読み込んでいない。すなわち、一時記憶部５５には未処理の解析結果が残っている。このため、Ｓ１０３で、ＣＰＵ２は、解析要求２を発行する際に、一時記憶部５５にある解析結果を主記憶部３に退避させるようレジスタ部５２に退避情報をセットする。具体的には、ＣＰＵ２は、例えば、レジスタ部５２にセットすべき解析要求中の退避情報を、先行する解析要求に対する解析結果を一時記憶部５５から主記憶部３に退避させるようフラグをセットしてよい。
【００５１】
Ｓ１０５からＳ１１１までの処理は、パケット解析部５の制御部５１が退避制御部５６に解析結果の退避を指示してから解析結果の退避完了を処理完了通知信号７２によりＣＰＵ２に通知するまでの処理であり、図６のＳ７１からＳ６４と同様である。
なお、図７では、解析結果を退避させるか否かを選択させる退避情報のパケット解析部５への通知を、レジスタ部５２を介して実行しているが、本実施形態はこれに限定されない。例えば、パケット解析部５の制御部５１は、後続する解析要求を受信した際やアイドル状態から復帰した際に、ＣＰＵ２に対して解析結果を既に読み込んだか否か、すなわち一時記憶部５５にある解析結果の退避が必要か否か、を問い合わせてもよい。
【００５２】
Ｓ１１２からＳ１１４までの処理は、ＣＰＵ２が、解析要求１に対する解析結果に基づいてグループ１に属する複数のパケットから１つのラージパケットを生成する処理であり、図５に示すＳ７６からＳ７８と同様である。
なお、図７の例では、ＣＰＵ２がＳ１１１でパケット解析部５から解析要求１に対する解析完了通知を通知されてからすぐに解析結果を用いて複数パケットの一括受信処理を開始しているが、本実施形態はこれに限定されない。例えば、ＣＰＵ２は、パケット解析部５が他の解析要求に対する解析処理を完了してから、まとめてパケットの一括受信処理を開始してもよい。
【００５３】
一方、Ｓ１０４に戻り、パケット解析部５の制御部５１が、先行する解析要求１に対する解析結果を主記憶部３へ退避せずに解析要求２に対して生成される解析結果の一時記憶部５５への上書きを選択した場合、Ｓ１０５からＳ１１４まではスキップされる。
解析要求１を主記憶部３へ退避するには一時記憶部５５から主記憶部３へのコピー時間が必要となる。本実施形態では、パケット解析部５の制御部５１は、Ｓ１０４で先行する解析結果が必要か否かを解析要求２を解析することで、解析結果の退避が不要な場合に、解析要求１に対する解析結果を退避することなく一時記憶部５５へ上書きする。これにより、パケットの受信効率が向上する。
Ｓ１１５からＳ１２７までの処理は、解析要求２に対するパケットの解析処理、解析結果の一時記憶部５５への登録、および一時記憶部５５に登録された解析結果を用いたラージパケットの生成処理であり、図５のＳ５７からＳ６７と同様である。
なお、図６に示す処理フローと図７に示す処理フローを適宜組み合わせて通信装置１にパケット解析処理を実行させてもよい。
【００５４】
＜パケット解析部５の制御部５１の解析制御処理の動作フロー＞
図８は、パケット解析部５の制御部５１が実行する解析制御処理の動作フローの一例を示すフローチャートである。図８の動作フローは、通信装置１が起動して、パケット解析部５の制御部５１が解析要求を受信可能な状態になった際に開始してよい。
Ｓ１０で、パケット解析部５の制御部５１は、ＣＰＵ２からレジスタ部５２を介して解析要求の受信が通知されたか否かを判定する。解析要求の受信が通知された場合（Ｓ１０：Ｙ）、Ｓ１１に進み、一方、解析要求の受信が通知されていない場合（Ｓ１０：Ｎ）、Ｓ１０に戻って処理を繰り返す。
【００５５】
Ｓ１１で、制御部５１は、解析処理部５３が先行する解析要求に対する解析処理を実行中であるか否かを判定する。解析処理部５３が解析処理を実行中でない場合（Ｓ１０：Ｎ）、Ｓ１２に進み、一方、解析処理部５３が解析処理を実行中である場合（Ｓ１０：Ｙ）、Ｓ１１に戻って処理を繰り返す。
【００５６】
Ｓ１２で、制御部５１は、Ｓ１０で受信が通知された解析要求中の退避情報のフラグが、一時記憶部５５にある解析結果を主記憶部３に退避するよう、レジスタ部５２にセットされているか否かを判定する。退避情報のフラグが解析結果を退避するようセットされていた場合（Ｓ１２：Ｙ）、Ｓ１３に進み、一方、出力情報のフラグがセットされていない場合（Ｓ１２：Ｎ）、Ｓ１３からＳ１７までの処理をスキップしてＳ１８の解析処理の開始指示に進む。
【００５７】
Ｓ１３で、制御部５１は、一時記憶部５５に先行する解析要求に対する解析結果があるか否かを判定する。一時記憶部５５に解析結果がある場合（Ｓ１３：Ｙ）、Ｓ１４に進み、一方、一時記憶部５５に解析結果がない場合（Ｓ１３：Ｎ）、Ｓ１４からＳ１７までの処理をスキップしてＳ１８の解析処理の開始指示に進む。制御部５１は、Ｓ１３で、一時記憶部５５に解析結果があるが既にＣＰＵ２に読み込まれている場合にも、解析結果の退避が不要と判断してＳ１８に進んでよい。
【００５８】
Ｓ１４で、制御部５１は、退避制御部５６に、一時記憶部５５にある解析結果を主記憶部３に退避するよう指示する。
Ｓ１５で、制御部５１は、退避制御部５６が一時記憶部５５にある解析結果を主記憶部３に退避する処理を完了したことを示す退避完了通知を、退避制御部５６から受信したか否かを判定する。退避完了通知を受信した場合（Ｓ１５：Ｙ）、Ｓ１６に進み、一方、退避完了通知を受信していない場合（Ｓ１５：Ｎ）、Ｓ１５に戻って処理を繰り返す。
【００５９】
Ｓ１６で、制御部５１は、レジスタ部５２に、主記憶部３に退避された解析結果、または解析結果の概要を表示装置等に表示させるよう、必要に応じて通知する。
Ｓ１７で、制御部５１は、ＣＰＵ２に、処理完了通知信号７２により、解析結果を一時記憶部５５から主記憶部３に退避する処理が完了した旨を通知する。
Ｓ１８で、制御部５１は、解析処理部５３に、Ｓ１０で受信された解析要求に対応する解析処理の開始を指示する。
Ｓ１９で、制御部５１は、解析結果登録部５４に、Ｓ１８で開始が指示された解析処理の解析結果の登録開始を指示する。
【００６０】
Ｓ２０で、制御部５１は、解析処理部５３から、Ｓ１０で受信された解析要求で指示されたすべてのパケットについての解析処理の完了通知を受信したか否かを判定する。すべてのパケットについての解析完了通知を受信した場合（Ｓ２０：Ｙ）、Ｓ２１に進み、一方、未だすべてのパケットについての解析完了通知を受信していない場合（Ｓ２０：Ｎ）、Ｓ２０に戻って処理を繰り返す。
Ｓ２１で、制御部５１は、解析結果登録部５４から、すべてのパケットについての解析結果の一時記憶部５５への登録完了通知を受信したか否かを半定する。すべてのパケットについての登録完了通知を受信した場合（Ｓ２１：Ｙ）、Ｓ２２に進み、一方、未だ全てのパケットについての登録完了通知を受信していない場合（Ｓ２１：Ｎ）、Ｓ２１に戻って処理を繰り返す。
【００６１】
Ｓ２２で、制御部５１は、処理すべき要求が残っているか否かを判定する。処理すべき要求が残っていない場合（Ｓ２２：Ｎ）Ｓ２３に進み、一方、処理すべき要求が残っている場合（Ｓ２２：Ｙ）、Ｓ１１に戻ってＳ１１からＳ２１までの処理を繰り返す。
Ｓ２３で、制御部５１は、レジスタ部５２に、解析処理の解析結果、または解析結果の概要を表示装置等に表示させるよう、必要に応じて通知する。
Ｓ２４で、制御部５１は、ＣＰＵ２に、処理完了通知信号７２により、Ｓ１０で受信された解析要求に対する解析処理が完了した旨を通知する。
【００６２】
以上説明したように、通信装置は、第１の解析要求に対する解析結果を主記憶部に退避することで、後続する第２の解析要求に対する解析処理を迅速に実行し、第２の解析要求に対する解析結果を一時記憶部に上書きで格納することができる。従って、受信されるパケットの解析処理に使用される一時記憶部のメモリ使用効率が向上するため、メモリ容量を増大させることなくパケットの解析処理効率が低下することが有効に防止され、高速データ通信におけるパケットの受信処理能力の向上に資する。
【００６３】
なお、上述した各実施形態は、その複数を組み合わせて実現することが可能である。
また、本発明は、上述の実施形態の一部または１以上の機能を実現するプログラムによっても実現可能である。すなわち、そのプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータ（またはＣＰＵやＭＰＵ等）における１つ以上のプロセッサがプログラムを読出し実行する処理により実現可能である。また、そのプログラムをコンピュータ可読な記録媒体に記録して提供してもよい。
また、コンピュータが読みだしたプログラムを実行することにより、実施形態の機能が実現されるものに限定されない。例えば、プログラムの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって上記した実施形態の機能が実現されてもよい。
【符号の説明】
【００６４】
１…通信装置、２…ＣＰＵ、３…主記憶部、４…通信Ｉ／Ｆ、５…パケット解析部、６…システムバス、４０…ネットワーク、５１…制御部、５２…レジスタ部、５３…解析処理部、５４…解析結果登録部、５５…一時記憶部、５６…退避制御部、７１…受信完了通知信号、７２…処理完了通知信号
【図１】
2020088517.tif 000003
【図２】
2020088517.tif 000004
【図３】
2020088517.tif 000005
【図４】
2020088517.tif 000006
【図５】
2020088517.tif 000007
【図６】
2020088517.tif 000008
【図７】
2020088517.tif 000009
【図８】
2020088517.tif 000010