(57)【要約】【課題】休止状態にあるホストプロセッサを頻繁に起動しないことにより、休止状態から稼働状態に遷移する際の時間的オーバヘッドを軽減するとともに、オーバヘッド時間に浪費する電力を抑制し、通信性能の向上を図ること。【解決手段】通信インタフェース回路１０１は、受信信号からパケットデータを抽出する。通信インタフェース制御回路１０２は、割り込み信号を生成して出力する。ネットワークプロセッサ１０３は、パケットデータを解析して、解析結果に基づいて、パケットデータをホストプロセッサ１０８に転送するか否かを判定する。割り込み制御回路１０５は、ネットワークプロセッサ１０３から割り込み信号を受け取った際に、ホストプロセッサ１０８を起動させる。ホストプロセッサ１０８は、電源及びクロックの供給を受けて起動し、割り込み信号を受けてパケットデータの受信処理を実行する。【選択図】図１
2008270918.tif 000002
【特許請求の範囲】
【請求項１】
受信信号からパケットデータを抽出するパケット抽出手段と、
抽出した前記パケットデータを解析することにより前記パケットデータを受信処理すべきであるか否か判定するパケット解析手段と、
前記パケット解析手段が受信処理すべきであると判定した場合に起動してパケットデータの受信処理を実行する受信処理実行手段と、
を具備するパケット受信装置。
【請求項２】
前記パケット解析手段は、稼働状態から休止状態または休止状態から稼働状態に遷移可能であるとともに、前記稼働状態の際に前記判定を行い、
前記受信処理実行手段は、前記受信処理後に廃棄したパケットデータの廃棄数に基づいて、前記パケット解析手段を稼働状態から休止状態または休止状態から稼働状態に遷移させる請求項１記載のパケット受信装置。
【請求項３】
前記受信処理実行手段は、アクセスポイントを識別するための識別情報とアクセスポイント毎の前記廃棄数とを関係付けた接続環境情報をあらかじめ生成するとともに、受信した前記識別情報を用いて前記接続環境情報を参照することにより前記廃棄数を選択する請求項２記載のパケット受信装置。
【請求項４】
前記パケット解析手段は、稼働状態から休止状態または休止状態から稼働状態に遷移可能であるとともに、前記稼働状態での前記判定により廃棄したパケットデータの廃棄数を前記受信処理実行手段へ報告し、
前記受信処理実行手段は、前記パケット解析手段から報告された前記廃棄数に基づいて、前記パケット解析手段を稼働状態から休止状態または休止状態から稼働状態に遷移させる請求項１記載のパケット受信装置。
【請求項５】
前記受信処理実行手段は、前記パケット解析手段から報告された前記廃棄数と前記受信処理後に廃棄したパケットデータの廃棄数とに基づいて、前記パケット解析手段を稼働状態から休止状態または休止状態から稼働状態に遷移させる請求項４記載のパケット受信装置。
【請求項６】
前記受信処理実行手段は、前記パケット解析手段が休止状態の際に前記廃棄数がしきい値を超えた場合に、前記パケット解析手段を休止状態から稼働状態に遷移させる請求項２から請求項５のいずれかに記載のパケット受信装置。
【請求項７】
前記受信処理実行手段は、前記パケット解析手段が稼働状態の際に前記廃棄数がしきい値以下の場合に、前記パケット解析手段を稼働状態から休止状態に遷移させる請求項２から請求項５のいずれかに記載のパケット受信装置。
【請求項８】
前記パケット抽出手段で抽出したパケットデータの前記受信処理実行手段における受信処理を依頼する割り込み信号を生成する割り込み信号生成手段と、
前記パケット解析手段で受信処理すべきであると判定した際に、前記割り込み信号による前記受信処理の依頼のタイミングと前記起動のタイミングとの間に所定の時間差を設けるタイミング制御手段と、
を具備する請求項１から請求項７のいずれかに記載のパケット受信装置。
【請求項９】
前記タイミング制御手段は、所定の遅延時間を設定することにより前記時間差を設けるとともに、設定した前記遅延時間内は前記受信処理実行手段が起動しないようにし、
前記受信処理実行手段は、前記遅延時間内に前記割り込み信号生成手段で生成した複数の前記割り込み信号の各々が依頼する前記受信処理を起動後に一括で行う請求項８記載のパケット受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット受信装置に関し、特に電源の供給箇所を絞ることにより消費電力を最小限にするパケット受信装置に関する。
【背景技術】
【０００２】
ＩＰネットワーク系の通信に用いられる携帯電話等の端末装置では、受信処理不要なブロードキャストパケット及びマルチキャストパケットの受信動作による電流消費が、電池持続時間に大きく影響する。従って、一般的に、端末装置は、行うべき処理がない場合には、極力ホストプロセッサを停止することにより消費電力の低減を図っている（例えば、特許文献１）。
【０００３】
例えば、非専用線通信において、ＡＲＰパケット、ｕＰｎＰパケット、ＮｅｔＢＩＯＳパケット等の同報パケットは、無関係の端末でも受信されることとなる。同報パケットの中には、自分が受信しなければならないものも含まれるため、端末装置は、受信するすべてのパケットを一旦ホストプロセッサで処理することにより、受信処理をすべきパケットか廃棄すべきパケットかの判断を行う必要がある。廃棄すべきパケットの受信頻度が、受信処理すべきパケットの受信頻度に比べて僅かであれば問題とはならないが、実際の通信路においては、受信すべきパケットよりも廃棄すべきパケットを多く受信する場合もあり、毎秒数個の廃棄すべきパケットを受信するケースも珍しくない。
【０００４】
図１３は、従来の端末装置における動作シーケンスの概略を示す図である。図１３では、説明を簡単にするため、通信インタフェース回路１０とホストプロセッサ１１間のイベント発生関係のみを示している。通信インタフェース回路１０が無線通信パケット１２を受信したタイミングに呼応して、ホストプロセッサ１１には割り込み信号１３が送られ、それまで休止状態（Sleep）１４にあったホストプロセッサ１１が都度稼動状態（Run）１５となる。
【０００５】
ホストプロセッサ１１は、休止状態１４から稼働状態１５に遷移することにより電源及びクロックが供給されて暫くは、電源及びクロックの安定化待ち時間１６として動作不能の状態（Ready）になる。そして、ホストプロセッサ１１は、安定化待ち時間１６が経過して電源及びクロックが安定した後は、パケット受信処理期間１７において、所望のパケット受信処理と通信プロトコル処理とアプリケーション処理を行い、その後の事後処理期間１８において、再び稼動状態１５から休止状態１４へ遷移するための事後処理（Close）を行う。
【特許文献１】特開２００５−３９６１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の装置においては、安定化待ち時間１６は、電源及びクロックの安定を待つだけでなく、電源及びクロックが安定した後も、ホストプロセッサ１１が動作を再開するための各種コンテキスト情報の再設定時間も含み、パケット受信処理期間１７と同等、或いはパケット受信処理期間１７以上の時間を要する。従って、従来の装置においては、休止状態から稼働状態へ遷移する際の時間的オーバヘッドが大きいという問題がある。また、安定化待ち時間１６は、電源及びクロックが既に供給されている期間であるため、消費電力抑制の観点ではオーバヘッド時間とみなされ、このオーバヘッド時間に電力を浪費してしまうという問題がある。特に、受信処理不要なパケットを毎秒数個受け取るような状況下では、上記の問題は顕著になる。
【０００７】
本発明はかかる点に鑑みてなされたものであり、休止状態にあるホストプロセッサを頻繁に起動しないことにより、休止状態から稼働状態に遷移する際の時間的オーバヘッドを軽減することができるとともに、オーバヘッド時間に浪費する電力を抑制することができ、通信性能の向上を図ることができるパケット受信装置を提供することである。
【課題を解決するための手段】
【０００８】
本発明のパケット受信装置は、受信信号からパケットデータを抽出するパケット抽出手段と、抽出した前記パケットデータを解析することにより前記パケットデータを受信処理すべきであるか否か判定するパケット解析手段と、前記パケット解析手段が受信処理すべきであると判定した場合に起動してパケットデータの受信処理を実行する受信処理実行手段と、を具備する構成を採る。
【発明の効果】
【０００９】
本発明によれば、休止状態にあるホストプロセッサを頻繁に起動しないことにより、休止状態から稼働状態に遷移する際の時間的オーバヘッドを軽減することができるとともに、オーバヘッド時間に浪費する電力を抑制することができ、通信性能の向上を図ることができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００１１】
（実施の形態１）
図１は、本発明の実施の形態１に係るパケット受信装置１００の構成を示すブロック図である。パケット受信装置１００において、電源領域（常時稼動領域）１２０に配置される、通信インタフェース回路１０１と、通信インタフェース制御回路１０２と、ネットワークプロセッサ１０３と、割り込み遅延回路１０４と、割り込み制御回路１０５と、クロック供給回路１０６と、電源供給回路１０７は、常時、電源及び動作クロックが供給され、通信インタフェース処理等は随時可能である。従ってホストプロセッサ１０８が休止状態であっても、通信インタフェース制御回路１０２は、受信したパケットデータの判定、及び受信処理を実行すべき場合に割り込み信号を発行することが可能である。
【００１２】
また、電源領域（選択的稼動領域）１２１に配置される、ホストプロセッサ１０８と、制御回路１０９と、表示部１１０と、キー入力部１１１と、アクセス制御回路１１２と、記憶部１１３は、状況に応じて電源及び動作クロックが供給される。電源領域（選択的稼動領域）１２１に配置される、ホストプロセッサ１０８、制御回路１０９、表示部１１０、キー入力部１１１、アクセス制御回路１１２及び記憶部１１３は、ホストプロセッサ１０８が休止状態にある場合、電源供給回路１０７及びクロック供給回路１０６の働きにより、電源及びクロックの双方の供給が遮断され、自律動作が不可能な状態となる。
【００１３】
以下に、パケット受信装置１００の構成について、詳細に説明する。
【００１４】
パケット抽出手段としての通信インタフェース回路１０１は、通信機能の物理層制御を実現するものであり、通信インタフェース制御回路１０２の制御に基づいて、ネットワークから入力した無線電波に対してレイヤ１の処理を行う。具体的には、通信インタフェース回路１０１は、ネットワークから受信した受信信号からパケットデータを抽出する処理を行い、抽出したパケットデータを通信インタフェース制御回路１０２へ出力する。
【００１５】
割り込み信号生成手段としての通信インタフェース制御回路１０２は、通信インタフェース回路１０１を制御するとともに、通信インタフェース回路１０１から入力したパケットデータに対してレイヤ２の処理を行う。そして、通信インタフェース制御回路１０２は、レイヤ２の処理を行ったパケットデータをネットワークプロセッサ１０３へ出力するとともに、割り込み信号を割り込み遅延回路１０４へ出力することにより、割り込み遅延回路１０４に対して、受信すべきパケットデータであるか否かの判定を行うべきパケットデータを受信した旨を伝達する。
【００１６】
パケット解析手段としてのネットワークプロセッサ１０３は、ホストプロセッサ１０８で行う処理の一部をホストプロセッサ１０８の代わりに行うものであり、受信したパケットデータの受信処理が不要であるか否かの判定機構（フィルタ機能）を有する。具体的には、ネットワークプロセッサ１０３は、後述する割り込み制御回路１０５から割り込み信号が入力した際に、通信インタフェース制御回路１０２から入力したパケットデータの解析を行い、ホストプロセッサ１０８へ転送すべきか否かを判定する。そして、ネットワークプロセッサ１０３は、ホストプロセッサ１０８へ転送すべきでないと判定した場合にはホストプロセッサ１０８へ転送すべきでないと判定したパケットデータを廃棄する。一方、ネットワークプロセッサ１０３は、ホストプロセッサ１０８へ転送すべきであると判定した場合には、ホストプロセッサ１０８を起動するための割り込み信号を割り込み制御回路１０５へ出力するとともに、転送すべきであると判定したパケットデータをホストプロセッサ１０８へ出力する。なお、ネットワークプロセッサ１０３の構成の詳細については後述する。
【００１７】
タイミング制御手段としての割り込み遅延回路１０４は、クロック供給回路１０６からのクロックの供給を受けて、通信インタフェース制御回路１０２から入力した割り込み信号に対して一定量の遅延を設けて割り込み制御回路１０５へ出力する。なお、割り込み遅延回路１０４の構成の詳細については後述する。
【００１８】
割り込み制御回路１０５は、割り込み遅延回路１０４から割り込み信号が入力した際に、まず、パケットデータの解析を依頼するための割り込み信号をネットワークプロセッサ１０３へ出力する。また、割り込み制御回路１０５は、ネットワークプロセッサ１０３から割り込み信号が入力した際に、クロック供給回路１０６に対してホストプロセッサ１０８を含む電源領域１２１へのクロックの供給を依頼するとともに、電源供給回路１０７に対してホストプロセッサ１０８を含む電源領域１２１への電源の供給を依頼する。また、割り込み制御回路１０５は、ホストプロセッサ１０８へ割り込み信号を出力することにより、ホストプロセッサ１０８に対して、受信処理すべきパケットデータが存在する旨を伝達する。
【００１９】
クロック供給回路１０６は、電源領域１２０及び電源領域１２１に動作クロックを供給する。具体的には、クロック供給部１０６は、電源領域１２０に配置される通信インタフェース回路１０１、通信インタフェース制御回路１０２、ネットワークプロセッサ１０３、割り込み遅延回路１０４、割り込み制御回路１０５及び電源供給回路１０７へ常時クロックを供給する。また、クロック供給回路１０６は、割り込み制御回路１０５からのクロック供給の依頼に従って、電源領域１２１に配置されるホストプロセッサ１０８、制御回路１０９、アクセス制御回路１１２及び記憶部１１３へのクロックの供給を開始する。
【００２０】
電源供給回路１０７は、電源領域１２０及び電源領域１２１に電源を供給する。具体的には、電源供給回路１０７は、電源領域１２０に配置される通信インタフェース回路１０１、通信インタフェース制御回路１０２、ネットワークプロセッサ１０３、割り込み遅延回路１０４、割り込み制御回路１０５及びクロック供給回路１０６へ常時電源を供給する。また、電源供給回路１０７は、割り込み制御回路１０４からの電源供給の依頼に従って、電源領域１２１に配置されるホストプロセッサ１０８、制御回路１０９、アクセス制御回路１１２及び記憶部１１３への電源の供給を開始する。
【００２１】
受信処理実行手段としてのホストプロセッサ１０８は、電源供給回路１０７から電源の供給を受けた場合に、休止状態から稼働状態に遷移し、クロック供給回路１０６からクロックの供給を受ける。また、ホストプロセッサ１０８は、割り込み制御回路１０５から割り込み信号が入力することにより受信処理すべきパケットデータの存在を検知し、ネットワークプロセッサ１０３にアクセスする。そして、ホストプロセッサ１０８は、受信処理すべきパケットデータをアクセス制御部１１２を介して記憶部１１３に転送し、レイヤ３以上の上位層の通信プロトコル処理を行う。また、ホストプロセッサ１０８は、パケット受信装置１００全体の制御を行っている比較的大規模なプロセッサ回路及び周辺回路を起動する必要があり、高速で動作するとともに高性能なプロセッサである。従って、ホストプロセッサ１０８は、ネットワークプロセッサ１０３と比べて、起動してから動作が安定するまでの時間（ＰＬＬロック時間）が長くなるとともに、共に動作する周辺回路群の初期設定、ＯＳの起動及び初期化に時間を要し、駆動する際の消費電力が大きくなる。
【００２２】
制御回路１０９は、クロック供給回路１０６からのクロックの供給及び電源供給回路１０７からの電源の供給を受けて、表示部１１０の画面表示を制御するとともに、キー入力部１１１のキー入力を制御する。
【００２３】
表示部１１０は、制御回路１０９の制御により、画面表示を行う。
【００２４】
キー入力部１１１は、制御回路１０９の制御により、キー入力を受け付ける。
【００２５】
アクセス制御回路１１２は、記憶部１１３のアクセス制御を行う。
【００２６】
記憶部１１３は、ホストプロセッサ１０８を動作させる際、表示部１１０に画面表示させる際、または送受信する際に、パケットデータの一時保存に使用されるデータ記憶用メモリであり、アクセス制御回路１１２のアクセス制御により、パケットデータの書き込み及び読み出しを行う。
【００２７】
次に、ネットワークプロセッサ１０３の詳細な構成について説明する。ネットワークプロセッサ１０３は、通信処理に特化しているため、比較的周波数の低いクロックで動作可能であり、初期設定が必要な周辺回路が少なく、最小限のＯＳを搭載するかまたはＯＳを搭載しなくても良いとともに、動作速度はホストプロセッサ１０８に比べて低速であるので、動作開始するまでの時間はホストプロセッサ１０８に比べて相対的に短い。図２は、ネットワークプロセッサ１０３の構成を示すブロック図である。
【００２８】
パケット処理シーケンサ２０１は、ネットワークプロセッサ１０３の動作を制御し、主にパケットデータのパケット受信装置１００内の転送処理を行う。また、パケット処理シーケンサ２０１は、パケットフィルタ回路２０３における解析結果を参照して、パケットデータの種別判定処理を行う。そして、パケット処理シーケンサ２０１は、パケットデータの種別判定処理の結果が、受信処理すべきである種別判定結果である場合には、パケットインタフェース制御部２０４に対して、パケット転送用メモリ２０６に記憶しているパケットデータをホストプロセッサ１０８に転送するように指示し、受信処理すべきでない種別判定結果である場合には、パケットインタフェース制御部２０４に対して、パケット転送用メモリ２０６に記憶しているパケットデータを廃棄するように指示する。
【００２９】
ローカルメモリ２０２は、パケット処理シーケンサ２０１が動作するための命令コードを格納する。
【００３０】
パケットフィルタ回路２０３は、通信インタフェース制御回路１０２から入力したパケットデータのプロトコル構造の解析処理と特定のプロトコルフィールドのパターンマッチング処理（パターン照合処理）を行い、解析処理及びパターンマッチング処理の結果をパケット処理シーケンサ２０１から参照可能な形態で提示する。
【００３１】
パケットインタフェース制御部２０４は、通信インタフェース制御回路１０２から入力したパケットデータを、パケット転送メモリ２０６に一時的に蓄積させる。
【００３２】
ホストインタフェース回路２０５は、ホストプロセッサ１０８、割り込み制御回路１０５及びネットワークプロセッサ１０３を連携させる処理を行う。
【００３３】
パケット転送用メモリ２０６は、パケット処理シーケンサ２０１が処理対象とするパケットデータを、処理が完了するまでの間、一時的に記憶する。そして、パケット転送用メモリ２０６は、パケットインタフェース制御部２０４の制御により、記憶しているパケットデータをホストプロセッサ１０８に転送するか、または廃棄する。
【００３４】
次に、割り込み遅延回路１０４の詳細な構成について、図３を用いて説明する。図３は、割り込み遅延回路１０４の構成を示すブロック図である。
【００３５】
割り込み検出回路３０１は、割り込みの発生を検出するための回路であり、通信インタフェース制御回路１０２から入力する割り込み信号を検出した場合に、遅延割り込み生成回路３０２を起動する。また、割り込み検出回路３０１は、入力信号に対するハザード除去（ノイズ反応防止）を目的に、クロック３サイクル分の保護機構を設けた上で割込み発生の検出を行う。即ち、割り込み検出回路３０１は、割り込み信号の論理が負極性となったことをクロック３サイクル分で連続して検出した場合に、割り込みが発生したものとみなす。割込み信号は、負極性論理で割込みの発生を伝える。
【００３６】
遅延割り込み生成回路３０２は、遅延カウンタ３０５と連動して動作する。具体的には、遅延割り込み生成回路３０２は、割り込み検出回路３０１が割り込みを検出した際に起動し、遅延カウンタ３０５のカウントアップ動作を開始させる。そして、遅延割り込み生成回路３０２は、遅延カウンタ３０５のカウンタ値が満了した際に、遅延割り込み信号を非同期セレクタ３０６へ出力する。
【００３７】
ホストインタフェース回路３０３は、バス１１４を介してホストプロセッサ１０８からの動作モード設定を受け入れるホストインタフェース回路である。具体的には、ホストインタフェース回路３０３は、バス制御の終端点として機能し、クロック供給回路１０６から供給されたクロックに同期して、ホストプロセッサ１０８から受け取った設定値を設定レジスタ部３０４に書き込むとともに、設定レジスタ部３０４の内容をホストプロセッサ１０８から参照可能にする。また、ホストインタフェース回路３０３は、ホストプロセッサ１０８の要求により、遅延カウンタ３０５のカウンタ値を読み出してホストプロセッサ１０８へ出力する。
【００３８】
設定レジスタ部３０４は、ホストインタフェース回路３０３から受け取った設定値を記憶するレジスタであり、ホストプロセッサ１０８からの設定項目である割り込み遅延回路１０４のディセーブル／イネーブル設定値と遅延量設定のためのカウンタ満了値を記憶する。ホストインタフェース回路３０３から受け取ったカウンタ満了値は、ホストプロセッサ１０８で任意の値に設定可能である。そして、設定レジスタ部３０４は、記憶しているディセーブル／イネーブル設定値を非同期セレクタ３０６へ出力するとともに、記憶しているカウンタ満了値を、遅延カウンタ３０５の停止タイミング（停止までの遅延量）を決定するために遅延カウンタ３０５へ通知する。
【００３９】
遅延カウンタ３０５は、遅延割り込み生成回路３０２と連動して動作する。具体的には、遅延カウンタ３０５は、遅延割り込み生成回路３０２からカウントアップ開始タイミングが通知された際に、クロック毎にカウンタ値を更新する。そして、遅延カウンタ３０５は、カウンタ値が、設定レジスタ部３０４から通知されたカウンタ満了値に達した時点でカウントアップ動作を停止し、カウントアップ動作を停止したタイミングを遅延割り込み生成回路３０２へ通知する。
【００４０】
非同期セレクタ３０６は、割り込み遅延回路１０４の動作イネーブル／ディセーブルの切り替えに使用するものであり、通信インタフェース制御回路１０２から入力した割り込み信号を直接出力する場合と、遅延割り込み生成回路３０２から入力した遅延割り込み信号を出力する場合とを選択する。なお、非同期セレクタ３０６が、通信インタフェース制御回路１０２から入力した割り込み信号を直接出力する場合、割り込み遅延回路１０４は機能しないことと等価となる。
【００４１】
次に、パケット受信装置１００の動作について、図４を用いて説明する。図４は、パケット受信装置１００の動作を示すシーケンス図である。
【００４２】
図４は、割り込み遅延回路１０４とネットワークプロセッサ１０３を併用する場合を示すものである。また、図４は、ネットワークプロセッサ１０３が、割り込み遅延回路１０４で遅延した割り込み信号に反応して、受信処理すべきか否かのパケットデータの判定処理を行い、受信処理すべきであると判定した場合に、ホストプロセッサ１０８を起動する際のシーケンス図である。これにより、省電力効果を高めることができる。
【００４３】
最初に、通信待ち受け状態にあるパケット受信装置１００がパケットデータを受信した際に、通信インタフェース回路１０１は、受信したパケットデータに対してレイヤ１の処理を行い、通信インタフェース制御回路１０２へ転送する（ステップＳＴ４０１）。
【００４４】
次に、通信インタフェース制御回路１０２は、転送されたパケットデータに対してレイヤ２の処理を行うとともに、割り込み遅延回路１０４に対して、割り込み信号を出力して、受信処理すべきか否かの判定が必要なパケットデータを受信した旨を伝達する（ステップＳＴ４０２）。
【００４５】
次に、割り込み信号を受けた割り込み遅延回路１０４は、遅延カウンタ３０５をイネーブルにして、予め設定された遅延量分の時間計測を開始する（ステップＳＴ４０３）。
【００４６】
次に、パケット受信装置１００は、遅延カウンタ３０５が満了する以前に後続のパケットデータを受信した場合、ステップＳＴ４０１で受信したパケットデータと同様の処理を行うが（ステップＳＴ４０４〜ステップＳＴ４０７）、遅延カウンタ３０５は、リセットせずに、カウントアップを継続する。
【００４７】
次に、割り込み遅延回路１０４は、遅延カウンタ３０５が満了した時点で（ステップＳＴ４０８）、割り込み制御回路１０５に対して、割り込み信号を出力し、受信処理すべきか否かの判定が必要なパケットデータを受信した旨を伝達する。この際、割り込み制御回路１０５は、割り込み遅延回路１０４から割り込み信号が入力した場合には、まず、ネットワークプロセッサ１０３に対して、割り込み信号を出力して、ネットワークプロセッサ１０３の動作を開始させる（ステップＳＴ４０９）。
【００４８】
次に、ネットワークプロセッサ１０３のパケットインタフェース制御部２０４は、通信インタフェース制御回路１０２に蓄積されたパケットデータを取り込み、取り込んだパケットデータを内部バス２０７を介してパケット転送用メモリ２０６に格納する。
【００４９】
また、ネットワークプロセッサ１０３のパケットフィルタ回路２０３は、パケットインタフェース制御部２０４に取り込まれたパケットデータが同時に入力し、入力したパケットデータを解析してパケットデータの種別判定を行う。具体的には、パケットフィルタ回路２０３は、入力したパケットデータのプロトコル構造の解析、及び特定のプロトコルフィールドのパターンマッチング（パターン照合）を行うことにより、パケットデータの種別判定を行う。そして、パケットフィルタ回路２０３は、判定結果を内部の結果レジスタに表示する。例えば、パケットフィルタ回路２０３は、パケットデータのプロトコル構造がＩＰｓｅｃである場合には、ＩＰヘッダに含まれる送受信ＩＰアドレスと、ＩＰｓｅｃヘッダに含まれるセッション識別情報（ＳＰＩ値）とに基づいて、パケットデータが属する通信セッションを判断し、判断した通信セッションが受信許可されているものであるか否かを判断することにより受信処理すべきか否かを判定し、判定結果を内部の結果レジスタに表示する。ここで、パケットデータが属する通信セッションは、あらかじめネットワークプロセッサ１０３とホストプロセッサ１０８との間で交換されている、ＩＰアドレスとＳＰＩ値とを組み合わせた情報である通信セッション情報を参照することにより判断することができる。
【００５０】
次に、パケット転送用メモリ２０６へのパケットデータの転送処理、及びパケットフィルタ回路２０３におけるパケット解析処理が終了した時点で、パケット処理シーケンサ２０１は、パケットフィルタ回路２０３における解析結果を参照し、また必要に応じてパケット転送用メモリ２０６に蓄積されたパケットデータそのものを直接に解析した上で、パケットデータをホストプロセッサ１０８に転送すべきか否か、即ちパケット受信装置１００が受信処理すべきか否かの判断を行う。図４では、転送の必要がないパケットと判断し（ステップＳＴ４１０）、パケット処理シーケンサ２０１は、パケットインタフェース制御部２０４にパケットデータの廃棄処理を指示し、パケットインタフェース制御部２０４は、パケット転送用メモリ２０６に蓄積されたパケットデータを廃棄する。
【００５１】
次に、パケット転送用メモリ２０６に蓄積されたパケットデータの廃棄処理が終わった後に、パケット処理シーケンサ２０１は、通信インタフェース制御回路１０２からの状態通知により、後続の判定すべきパケットデータがすでに受信されている状態であることを検知し、次の後続パケットデータに対して、同様の処理を繰り返す（ステップＳＴ４１１）。なお、ネットワークプロセッサ１０３における処理は、１パケットデータ毎に実施されるものであり、ネットワークプロセッサ１０３が割り込み信号を受け取るまでに、パケット受信装置１００が複数のパケットデータを受信している場合には、受信したパケットデータ毎に繰り返し同様の処理が実施される。また、複数のパケットデータが通信インタフェース制御回路１０２のみならず通信インタフェース回路１０１に蓄積されて読み出し待ち状態になっている場合には、ネットワークプロセッサ１０３は通信インタフェース制御回路１０２と連携して、適宜読み出し待ち状態のパケットデータの読み出しを行う。
【００５２】
次に、パケット処理シーケンサ２０１は、パケットフィルタ回路２０３の解析処理の結果を参照して、ホストプロセッサ１０８に転送すべきパケットデータであると判断した場合には（ステップＳＴ４１２）、ホストインタフェース回路２０５にはたらきかけ、割り込み制御回路１０５に対して、ホストプロセッサ１０８を起動するための割り込み信号を出力する。なお、ネットワークプロセッサ１０３は、この時点で動作を停止する。
【００５３】
次に、割り込み制御回路１０５は、割り込み信号を受けた場合には、電源領域１２１に対して、電源供給回路１０７から電源を供給するように制御するとともに、クロック供給回路１０６からクロックを供給するように制御する。さらに、割り込み制御回路１０５は、ホストプロセッサ１０８に対して、割り込み信号を出力することにより、受信処理すべきパケットデータが存在することを伝達する。
【００５４】
次に、ステップＳＴ４００から停止状態にあったホストプロセッサ１０８は、電源供給回路１０７から電源の供給を受けるとともにクロック供給回路１０６からクロックの供給を受け、且つ割り込み信号を受けることにより起動して（ステップＳＴ４１３）、動作可能状態になる。
【００５５】
次に、割り込み信号を受けることにより、受信処理すべきパケットデータの存在を検知したホストプロセッサ１０８は、ネットワークプロセッサ１０３にアクセスし、受信処理すべきパケットデータをパケット転送用メモリ２０６から読み出し、読み出したパケットデータをプロセッサバス１１４及びアクセス制御回路１１２を介して記憶部１１３に転送する。その後、ホストプロセッサ１０８は、通信プロトコル処理等の所定の受信処理を行う（ステップＳＴ４１４）。
【００５６】
一旦、ホストプロセッサ１０８が起動した後は、一連の必要処理が完了して再びホストプロセッサ１０８を含む電源領域１２１が停止状態に戻るまでの間、ネットワークプロセッサ１０３及び割り込み遅延回路１０４は、ホストプロセッサ１０８からの指示により、処理を停止する。また、ネットワークプロセッサ１０３及び割り込み遅延回路１０４の処理が停止した後も、通信インタフェース制御回路１０２、割り込み遅延回路１０４、割り込み制御回路１０５、ネットワークプロセッサ１０３、及び割り込み制御回路１０５の割り込み信号の伝達経路は、引き続き使われるものの、ネットワークプロセッサ１０３及び割り込み遅延回路１０４が実質的に機能せず、情報伝達のみを行う。これにより、通信インタフェース制御回路１０２から出力されるパケットデータは、恣意的な遅延無くホストプロセッサ１０８に転送される。
【００５７】
図５は、パケット受信装置１００の動作の一部を示すシーケンス図である。図５では、説明を簡単にするため、通信インタフェース回路１０１と割り込み遅延回路１０４とホストプロセッサ１０８のイベント発生関係のみを示している。
【００５８】
通信インタフェース回路１０１は、ネットワークからパケットデータを受信し（ＳＴ５０１ａ、ＳＴ５０１ｂ、・・・）、通信インタフェース回路１０１がネットワークからパケットデータを受信したタイミングに呼応して、割り込み遅延回路１０４には割り込み信号が送られる（ＳＴ５０２ａ、ＳＴ５０２ｂ・・・）。この場合、割り込み遅延回路１０４は、遅延時間Ｔ１内の割り込み入力信号（ＳＴ５０２ａ〜ＳＴ５０２ｄ）に対する割り込み出力信号を出力しない。そして、割り込み遅延回路１０４は、遅延時間Ｔ１経過後に、遅延時間Ｔ１内に入力した割り込み入力信号（ＳＴ５０２ａ〜ＳＴ５０２ｄ）に対する割り込み出力信号を出力する（ＳＴ５０３ａ）。また、割り込み遅延回路１０４は、遅延時間Ｔ１経過後に割り込み入力信号が入力した場合には（ＳＴ５０２ｅ）、入力した割り込み入力信号に対する割り込み出力信号を出力する（ＳＴ５０３ｂ）。
【００５９】
ホストプロセッサ１０８は、休止状態５０４から稼働状態５０５に遷移することにより電源及びクロックが供給されて暫くは、電源及びクロックの安定化待ち時間５１０として動作不能の状態である。そして、ホストプロセッサ１０８は、安定化待ち時間５１０が経過して電源及びクロックが安定した後は、パケット受信処理期間５１１ａ〜５１１ｅにおいて、所望のパケット受信処理と通信プロトコル処理とアプリケーション処理のパケット受信処理を行い、その後の事後処理期間５１２において、再び稼動状態５０５から休止状態５０４へ遷移するための事後処理を行う。
【００６０】
ホストプロセッサ１０８は、パケット受信処理期間５１１ａ〜５１１ｅにおいて、遅延時間Ｔ１内の割り込み入力信号（ＳＴ５０２ａ〜ＳＴ５０２ｄ）の入力の契機となった各パケットデータの受信処理を一括で行う。このようにしてパケット受信装置１００は、通信インタフェース制御回路１０２における割り込み入力信号（ＳＴ５０２ａ〜ＳＴ５０２ｄ）の生成のタイミングと、ホストプロセッサ１０８における休止状態５０４から稼働状態５０５に遷移するタイミングとの間に時間差を設けることができる。
【００６１】
このように、本実施の形態１によれば、受信処理すべきパケットデータであるか否かをホストプロセッサの代わりにネットワークプロセッサが判定することにより、休止状態にあるホストプロセッサを頻繁に起動しないので、休止状態から稼働状態に遷移する際の時間的オーバヘッドを軽減することができるとともに、オーバヘッド時間に浪費する電力を抑制することができ、通信性能の向上を図ることができる。
【００６２】
（実施の形態２）
本実施の形態２は、ネットワークプロセッサが、稼働状態から休止状態、または休止状態から稼働状態に遷移するとともに、ホストプロセッサが、起動時に、廃棄したパケットデータの廃棄数を計測し、計測結果に基づいて、休止状態のネットワークプロセッサを起動させることを特徴とするものである。
【００６３】
図６は、本発明の実施の形態２に係るパケット受信装置６００の構成を示すブロック図である。
【００６４】
本実施の形態２に係るパケット受信装置６００は、図１に示す実施の形態１に係るパケット受信装置１００において、図６に示すように、ネットワークプロセッサ１０３の代わりにネットワークプロセッサ６０１を有し、ホストプロセッサ１０８の代わりにホストプロセッサ６０２を有し、クロック供給回路１０６の代わりにクロック供給回路６０３を有するとともに、電源供給回路１０７の代わりに電源供給回路６０４を有する。なお、図６においては、図１と同一構成である部分には同一の符号を付してその説明は省略する。
【００６５】
パケット受信装置６００において、電源領域（常時稼動領域）６２０に配置される、通信インタフェース回路１０１と、通信インタフェース制御回路１０２と、割り込み遅延回路１０４と、割り込み制御回路１０５と、ネットワークプロセッサ６０１と、クロック供給回路６０３と、電源供給回路６０４は、常時、電源及び動作クロックが供給される。また、電源領域（選択的稼動領域）６２１に配置される、制御回路１０９と、表示部１１０と、キー入力部１１１と、アクセス制御回路１１２と、記憶部１１３と、ホストプロセッサ６０２は、状況に応じて電源及び動作クロックが供給される。
【００６６】
通信インタフェース制御回路１０２は、通信インタフェース回路１０１を制御するとともに、通信インタフェース回路１０１から入力したパケットデータに対してレイヤ２の処理を行う。そして、通信インタフェース制御回路１０２は、レイヤ２の処理を行ったパケットデータをネットワークプロセッサ６０１へ出力するとともに、割り込み信号を割り込み遅延回路１０４へ出力することにより、割り込み遅延回路１０４に対して、受信すべきパケットデータであるか否かの判定を行うべきパケットデータを受信した旨を伝達する。
【００６７】
割り込み遅延回路１０４は、クロック供給回路６０３からのクロックの供給を受けて、通信インタフェース制御回路１０２から入力した割り込み信号に対して一定量の遅延を設けて割り込み制御回路１０５へ出力する。なお、割り込み遅延回路１０４の構成の詳細については後述する。
【００６８】
割り込み制御回路１０５は、割り込み遅延回路１０４から割り込み信号が入力した際に、まず、パケットデータの解析を依頼するための割り込み信号をネットワークプロセッサ６０１へ出力する。また、割り込み制御回路１０５は、ネットワークプロセッサ６０１から割り込み信号が入力した際に、クロック供給回路６０３に対してホストプロセッサ６０２を含む電源領域６２１へのクロックの供給を依頼するとともに、電源供給回路６０４に対してホストプロセッサ６０１を含む電源領域６２１への電源の供給を依頼する。また、割り込み制御回路１０５は、ホストプロセッサ６０２へ割り込み信号を出力することにより、ホストプロセッサ６０２に対して、受信処理すべきパケットデータの存在を伝達する。
【００６９】
パケット解析手段としてのネットワークプロセッサ６０１は、クロック供給回路６０３からクロックを供給されるとともに電源供給回路６０４から電源を供給された際に起動して、休止状態から稼働状態に遷移する。また、ネットワークプロセッサ６０１は、クロック供給回路６０３からのクロックの供給が停止するとともに電源供給回路６０４からの電源の供給が停止した際に、稼働状態から休止状態に遷移する。また、ネットワークプロセッサ６０１は、起動後に、割り込み制御回路１０５から割り込み信号が入力した際に、通信インタフェース制御回路１０２から入力したパケットデータの解析を行い、ホストプロセッサ６０２へ転送すべきか否かを判定する。そして、ネットワークプロセッサ６０１は、ホストプロセッサ６０２へ転送すべきでないと判定した場合にはホストプロセッサ６０２へ転送すべきでないと判定したパケットデータを廃棄する。一方、ネットワークプロセッサ６０１は、ホストプロセッサ６０２へ転送すべきであると判定した場合には、ホストプロセッサ６０２を起動するための割り込み信号を割り込み制御回路１０５へ出力するとともに、転送すべきであると判定したパケットデータをホストプロセッサ６０２へ出力する。
【００７０】
受信処理実行手段としてのホストプロセッサ６０２は、電源供給回路６０４から電源の供給を受けた場合に起動して、休止状態から稼働状態に遷移して、クロック供給回路６０３からクロックの供給を受ける。また、ホストプロセッサ６０２は、起動後に、クロック供給回路６０３に対して、ネットワークプロセッサ６０１へのクロックの供給の停止を指示するとともに、電源供給回路６０４に対して、ネットワークプロセッサ６０１への電源の供給の停止を指示する。そして、ホストプロセッサ６０２は、稼働状態に遷移した際に、受信処理すべきでないパケットデータであるために廃棄したパケットデータの廃棄数を計測し、計測したパケットデータの廃棄数が閾値以上になった場合に、クロック供給回路６０３に対して、ネットワークプロセッサ６０１へのクロックの供給の開始を指示するとともに、電源供給回路６０４に対して、ネットワークプロセッサ６０１への電源の供給の開始を指示する。また、ホストプロセッサ６０２は、割り込み制御回路１０５から割り込み信号が入力することにより受信処理すべきパケットデータの存在を検知し、ネットワークプロセッサ６０１にアクセスする。そして、ホストプロセッサ６０２は、受信処理すべきパケットデータをアクセス制御部１１２を介して記憶部１１３に転送し、レイヤ３以上の上位層の通信プロトコル処理を行う。
【００７１】
クロック供給回路６０３は、電源領域６２０及び電源領域６２１に動作クロックを供給する。具体的には、クロック供給部６０３は、電源領域６２０に配置される通信インタフェース回路１０１、通信インタフェース制御回路１０２、割り込み遅延回路１０４、割り込み制御回路１０５及び電源供給回路１０７へ常時クロックを供給する。また、クロック供給部６０３は、割り込み制御回路１０５からのクロック供給の依頼に従って、電源領域６２１に配置される制御回路１０９、アクセス制御回路１１２、記憶部１１３、ネットワークプロセッサ６０１及びホストプロセッサ６０２へのクロックの供給を開始する。また、クロック供給回路６０３は、ホストプロセッサ６０２の指示により、ネットワークプロセッサ６０１へのクロックの供給を停止する。
【００７２】
電源供給回路６０４は、電源領域６２０及び電源領域６２１に電源を供給する。具体的には、電源供給部６０４は、電源領域６２０に配置される通信インタフェース回路１０１、通信インタフェース制御回路１０２、割り込み遅延回路１０４、割り込み制御回路１０５及びクロック供給回路６０３へ常時電源を供給する。また、電源供給回路６０４は、割り込み制御回路１０４からの電源供給の依頼に従って、電源領域６２１に配置される制御回路１０９、アクセス制御回路１１２、記憶部１１３、ネットワークプロセッサ６０１及びホストプロセッサ６０２への電源の供給を開始する。また、電源供給回路６０４は、ホストプロセッサ６０２の指示により、ネットワークプロセッサ６０１への電源の供給を停止する。
【００７３】
次に、パケット受信装置６００の動作について、図７を用いて説明する。図７は、パケット受信装置６００の動作を示すシーケンス図である。
【００７４】
図７は、ホストプロセッサ６０２が、廃棄したパケットデータの廃棄数を計測し、計測結果に基づいて接続状況の悪化の有無の判断を行った上で、ネットワークプロセッサ６０１の起動を行うシーケンス図である。これにより、接続状況に応じた最適な判断を行うことができる。
【００７５】
ホストプロセッサ６０２の起動時において、パケット受信装置６００がパケットデータを受信した際に、通信インタフェース回路１０１は、受信した各パケットデータに対してレイヤ１の処理を行い、通信インタフェース制御回路１０２へ転送する（ステップＳＴ７０１ａ〜ステップＳＴ７０１ｄ）。
【００７６】
次に、通信インタフェース制御回路１０２は、パケットデータを取得する毎に割り込み信号を出力してホストプロセッサ６０２を起動させる。また、通信インタフェース制御回路１０２は、通信インタフェース回路１０１から転送されたパケットデータに対してレイヤ２の処理を行うとともに、ホストプロセッサ６０２に対して、パケットデータを転送する（ステップＳＴ７０２ａ〜ステップＳＴ７０２ｄ）。
【００７７】
ホストプロセッサ６０２の通信処理プロセス機能部７５１は、転送されたパケットデータを受信し（ステップＳＴ７０３ａ〜ステップＳＴ７０３ｄ）、ホストプロセッサ６０２の不要パケット受信頻度計数プロセス機能部７５２は、廃棄すべきパケットデータの廃棄数を廃棄するたびに計測する（ステップＳＴ７０４ａ〜ステップＳＴ７０４ｄ）。また、ホストプロセッサ６０２は、パケットデータが転送されない間は、稼働状態から休止状態に遷移して休止状態になっている（ステップＳＴ７０５ａ〜ステップＳＴ７０５ｃ）。
【００７８】
ホストプロセッサ６０２の不要パケット受信頻度計数プロセス機能部７５２は、計測した廃棄数があらかじめ設定した閾値を超えた場合に（ステップＳＴ７０６）、閾値を超えたことをホストプロセッサ６０２のネットワークプロセッサ制御プロセス機能部７５０に通知する（ステップＳＴ７０７）。
【００７９】
次に、ネットワークプロセッサ制御プロセス機能部７５０は、クロック供給回路６０３に対して、ネットワークプロセッサ６０１へのクロックの供給を指示するとともに、電源供給回路６０４に対して、ネットワークプロセッサ６０１への電源の供給を指示する。そして、クロック供給回路６０３は、ネットワークプロセッサ６０１に対してクロックを供給するとともに、電源供給回路６０４は、ネットワークプロセッサ６０１に対して電源を供給する。
【００８０】
次に、クロック供給回路６０３からクロックを供給されるとともに電源供給回路６０４から電源を供給されたネットワークプロセッサ６０１は、起動して、休止状態から稼働状態に遷移する（ステップＳＴ７０８）。なお、ネットワークプロセッサ６０１が休止状態の際に、ネットワークプロセッサ６０１のパケットインタフェース制御部２０４及びパケット転送メモリ２０６は使用されない。従って、ホストプロセッサ６０２は、通信インタフェース制御回路１０２に直接アクセスして、パケットデータを内部転送してもらう処理を行う。
【００８１】
次に、ネットワークプロセッサ制御プロセス機能部７５０は、ネットワークプロセッサ６０１の起動後の、受信したパケットデータを受信処理すべきか否かを判定するためのルールを設定し（ステップＳＴ７０９）、設定をネットワークプロセッサ６０１に通知する（ステップＳＴ７１０）。
【００８２】
次に、ホストプロセッサ６０２は、稼働状態から休止状態に遷移することにより（ステップＳＴ７１１）、パケット受信装置６００は待ち受け状態になる（ステップＳＴ７１２）。
【００８３】
次に、通信待ち受け状態にあるパケット受信装置６００がパケットデータを受信した際に、通信インタフェース回路１０１は、受信したパケットデータに対してレイヤ１の処理を行い、通信インタフェース制御回路１０２へ転送する（ステップＳＴ７１３）。
【００８４】
次に、通信インタフェース制御回路１０２は、転送されたパケットデータに対してレイヤ２の処理を行うとともに、割り込み遅延回路１０４に対して、割り込み信号を出力して、受信処理すべきか否かの判定が必要なパケットデータを受信した旨を伝達する。
【００８５】
次に、割り込み信号を受けた割り込み遅延回路１０４は、遅延カウンタ３０５をイネーブルにして、予め設定された遅延量分の時間計測を開始する。
【００８６】
次に、パケット受信装置６００は、遅延カウンタ３０５が満了する以前に後続のパケットデータを受信した場合、ステップＳＴ７１４で最初に受信したパケットデータと同様の処理を行うが、遅延カウンタ３０５は、リセットせずに、カウントアップを継続する。
【００８７】
次に、割り込み遅延回路１０４は、遅延カウンタ３０５が満了した時点で、割り込み制御回路１０５に対して、割り込み信号を出力し、受信処理すべきか否かの判定が必要なパケットデータを受信した旨を伝達する。この際、割り込み制御回路１０５は、割り込み遅延回路１０４から割り込み信号が入力した場合には、まず、ネットワークプロセッサ６０１に対して、割り込み信号を出力して、ネットワークプロセッサ６０１の動作を開始させる。
【００８８】
次に、ネットワークプロセッサ６０１のパケットインタフェース制御部２０４は、通信インタフェース制御回路１０２に蓄積されたパケットデータを取り込み（ステップＳＴ７１４）、取り込んだパケットデータを内部バス２０７を介してパケット転送用メモリ２０６に格納する。
【００８９】
また、ネットワークプロセッサ６０１のパケットフィルタ回路２０３は、パケットインタフェース制御部２０４に取り込まれたパケットデータが同時に入力し、入力したパケットデータを解析してパケットデータの種別判定を行う。具体的には、パケットフィルタ回路２０３は、入力したパケットデータのプロトコル構造の解析、及び特定のプロトコルフィールドのパターンマッチング（パターン照合）を行うことにより、パケットデータの種別判定を行う。そして、パケットフィルタ回路２０３は、判定結果を内部の結果レジスタに表示する。例えば、パケットフィルタ回路２０３は、パケットデータのプロトコル構造がＩＰｓｅｃである場合には、ＩＰヘッダに含まれる送受信ＩＰアドレスと、ＩＰｓｅｃヘッダに含まれるセッション識別情報（ＳＰＩ値）とに基づいて、パケットデータが属する通信セッションを判断し、判断した通信セッションが受信許可されているものであるか否かを判断することにより受信処理すべきか否かを判定し、判定結果を内部の結果レジスタに表示する。
【００９０】
次に、パケット転送用メモリ２０６へのパケットデータの転送処理、及びパケットフィルタ回路２０３におけるパケット解析処理が終了した時点で、パケット処理シーケンサ２０１は、パケットフィルタ回路２０３における解析結果を参照し、また必要に応じてパケット転送用メモリ２０６に蓄積されたパケットデータそのものを直接に解析した上で、パケットデータをホストプロセッサ６０２に転送すべきか否か、即ちパケット受信装置６００が受信処理すべきか否かの判断を行う。図７では、転送の必要がないパケットと判断し、パケット処理シーケンサ２０１は、パケットインタフェース制御部２０４にパケットデータの廃棄処理を指示し、パケットインタフェース制御部２０４は、パケット転送用メモリ２０６に蓄積されたパケットデータを廃棄する（ステップＳＴ７１５）。
【００９１】
次に、パケット転送用メモリ２０６に蓄積されたパケットデータの廃棄処理が終わった後に、パケット処理シーケンサ２０１は、通信インタフェース制御回路１０２からの状態通知により、後続の判定すべきパケットデータがすでに受信されている状態であることを検知し、次の後続パケットデータに対して、同様の処理を繰り返す（ステップＳＴ７１６〜ステップＳＴ７２０）。
【００９２】
次に、パケット処理シーケンサ２０１は、パケットフィルタ回路２０３の解析処理の結果を参照して、ホストプロセッサ６０２に転送すべきパケットデータであると判断した場合には（ステップＳＴ７２１）、ホストインタフェース回路２０５にはたらきかけ、割り込み制御回路１０５に対して、ホストプロセッサ６０２を起動するための割り込み信号を出力する。
【００９３】
次に、割り込み制御回路１０５は、割り込み信号を受けた場合には、電源領域６２１に対して、電源供給回路６０４から電源を供給するように制御するとともに、クロック供給回路６０３からクロックを供給するように制御する。さらに、割り込み制御回路１０５は、ホストプロセッサ６０２に対して、割り込み信号を出力することにより、受信処理すべきパケットデータが存在することを伝達する。
【００９４】
次に、ステップＳＴ７１１から停止状態にあったホストプロセッサ６０２は、電源供給回路６０４から電源の供給を受けるとともにクロック供給回路６０３からクロックの供給を受け、且つ割り込み信号を受けることにより起動して（ステップＳＴ７２２）、稼働状態になる。
【００９５】
次に、ネットワークプロセッサ６０１は、受信処理すべきパケットデータをホストプロセッサ６０２に転送する（ステップＳＴ７２３）。
【００９６】
ホストプロセッサ６０２の通信処理プロセス機能部７５１は、転送されたパケットデータを受信し（ステップＳＴ７２４）、ホストプロセッサ６０２の不要パケット受信頻度計数プロセス機能部７５２は、廃棄したパケットデータの廃棄数を計測する（ステップＳＴ７２５）。
【００９７】
なお、ステップＳＴ７１５、ステップＳＴ７１８及びステップＳＴ７２１は、ホストプロセッサ６０２が休止状態（ステップＳＴ７１２）におけるパケットデータの受信処理であり、割込み遅延回路１０４は、通信インタフェース制御回路１０２から入力した割り込み信号に対して、所望の遅延を加えて出力する。
【００９８】
図８は、割込み遅延回路１０４のみによる省電力効果と、割り込み遅延回路１０４及びネットワークプロセッサ６０１を併用した場合の省電力効果との比較を示す図である。図８において、曲線＃８１０は、割り込み遅延回路１０４及びネットワークプロセッサ６０１の双方を使用しない場合（従来の場合）を示し、曲線＃８１１、＃８１２は、割込み遅延回路１０４のみを使う場合を示すとともに、曲線＃８１３は、割り込み遅延回路１０４及びネットワークプロセッサ６０１を併用した場合を示す。また、曲線＃８１１よりも曲線＃８１２の方が、割り込み遅延回路１０４における遅延量が大きい。また、曲線＃８１３は、割り込み遅延回路１０４における遅延量が曲線＃８１２と同じである。
【００９９】
図８より、一般に、割り込み遅延回路１０４及びネットワークプロセッサ６０１の双方を使用しない場合（曲線＃８１０）よりも、割込み遅延回路１０４のみを使う場合（曲線＃８１１、＃８１２）のほうがより高い効果が望めるとともに、割込み遅延回路１０４のみを使う場合（曲線＃８１１、＃８１２）よりも、割り込み遅延回路１０４及びネットワークプロセッサ６０１を併用した場合（曲線＃８１３）のほうがより高い効果が望める。しかし、パケットフィルタ機能等の比較的高度な機能を有するネットワークプロセッサ６０１は、定常的なリーク電流も大きいため、効果が最大限発揮できない状況下、すなわち不要パケットがそもそも少ない環境下では、逆に使用しないほうが望ましいといった傾向を示す（逆転現象＃８０１）。本実施の形態２では、この逆転現象＃８０１に対する対策として、接続状況及び接続環境に応じてネットワークプロセッサ６０１を使用するか否かを判断して切り替えるものである。
【０１００】
因みに、パケットデータの受信処理をネットワークプロセッサ６０１で行うか、またはホストプロセッサ６０２で行うかは、ネットワークプロセッサ６０１及びホストプロセッサ６０２の何れが通信インタフェース制御回路１０２に対してアクセスするかの相違による。また、パケットデータの受信処理にネットワークプロセッサ６０１を使用する場合において、ネットワークプロセッサ６０１が受信処理すべきパケットデータであると判断した後は、ホストプロセッサ６０２にとっては、ネットワークプロセッサ６０１が通信インタフェース制御回路１０２のような動作を行う。
【０１０１】
このように、本実施の形態２によれば、上記実施の形態１の効果に加えて、廃棄するパケットデータが少ない環境下ではホストプロセッサを使用するので、廃棄するパケットデータが少ない環境下において、定常的なリーク電流を抑制することができるとともに、消費電力を低減することができる。
【０１０２】
なお、本実施の形態２において、パケットデータの廃棄数の計測結果に応じてネットワークプロセッサ６０１を起動させるか否か判定したが、これに限らず、パケットデータの廃棄頻度を求めて、求めた廃棄頻度に応じてネットワークプロセッサ６０１を起動させるか否か判定しても良い。
【０１０３】
（実施の形態３）
本実施の形態３は、ネットワークプロセッサが、稼働状態から休止状態、または休止状態から稼働状態に遷移するとともに、ホストプロセッサが、起動時に、アクセスポイントの識別情報に基づいて、休止状態のネットワークプロセッサを起動させることを特徴とするものである。
【０１０４】
図９は、本発明の実施の形態３に係るパケット受信装置の動作を示すシーケンス図である。なお、本実施の形態３においては、受信装置の構成は図６と同一であるので、その説明は省略するとともに、図９の動作の説明において、パケット受信装置は図６と同一の符号を用いる。
【０１０５】
図９は、通信リンク確立時にホストプロセッサ６０２が接続環境情報を取得し、ホストプロセッサ６０２が、データベースとして管理する接続環境情報に基づき、必要に応じてネットワークプロセッサ６０１を起動するシーケンス図である。図示しない無線ＬＡＮのアクセスポイントと受信装置６００との間で通信リンクを確立する際には、アクセスポイントは、各アクセスポイントに個別の識別情報であるＳＳＩＤ（Service Set ID）及びその他の認証情報を受信装置６００に対して通知するので、ホストプロセッサ６０２は、識別情報の１つと廃棄したパケットデータの廃棄数とを対応付けた接続環境情報をテーブルで管理することが可能である。
【０１０６】
図９では、ホストプロセッサ６０２は、リンク確立時にテーブル照合を行い、過去に廃棄したパケットデータの数が多い環境であったことを検知した場合に、ネットワークプロセッサ６０１の使用を開始させる。ネットワークプロセッサ６０１の使用中は、ネットワークプロセッサ６０１側（シーケンサ上のソフトウェア）で廃棄したパケットデータの廃棄数を計測しており、通信終了時には廃棄数の計測結果をホストプロセッサ６０２が拾い上げて、接続環境情報を更新する。
【０１０７】
以下に、図９を用いてさらに詳細に説明する。
【０１０８】
通信インタフェース制御回路１０２は、アクセスポイントとの間で接続を確立し（ステップＳＴ９０１）、接続確立後に、アクセスポイントから送信された信号を受信し、受信信号からパケットデータを抽出して、抽出したパケットデータをホステプロセッサ６０２に転送する（ステップＳＴ９０２）。なお、ネットワークプロセッサ６０１が休止状態の際に、ネットワークプロセッサ６０１のパケットインタフェース制御部２０４及びパケット転送メモリ２０６は使用されない。従って、ホストプロセッサ６０２は、通信インタフェース制御回路１０２に直接アクセスして、パケットデータを内部転送してもらう処理を行う。
【０１０９】
次に、ホストプロセッサ６０２の通信処理プロセス機能部７５１は、受信したパケットデータに含まれているＳＳＩＤ等のアクセスポイントを識別するための識別情報を抽出し、抽出した識別情報を用いて、接続したアクセスポイントを識別する（ステップＳＴ９０３）。
【０１１０】
通信処理プロセス機能部７５１は、あらかじめ、アクセスポイントの識別情報と、アクセスポイント毎の過去の所定時間におけるパケットデータの廃棄数とを関係付けた接続環境情報を記憶している。そして、通信処理プロセス機能部７５１は、抽出した識別情報を用いて、接続環境情報を参照することによりパケットデータの廃棄数を選択する（ステップＳＴ９０４、ステップＳＴ９０５）。
【０１１１】
次に、通信処理プロセス機能部７５１は、選択したパケットデータの廃棄数としきい値とを比較して、パケットデータの廃棄数がしきい値以上である場合に、ネットワークプロセッサ制御プロセス機能部７５０に対して、ネットワークプロセッサ６０１の起動を依頼する（ステップＳＴ９０６）。
【０１１２】
次に、ネットワークプロセッサ制御プロセス機能部７５０は、クロック供給回路６０３に対して、ネットワークプロセッサ６０１へのクロックの供給を指示するとともに、電源供給回路６０４に対して、ネットワークプロセッサ６０１への電源の供給を指示する。そして、クロック供給回路６０３は、ネットワークプロセッサ６０１に対してクロックを供給するとともに、電源供給回路６０４は、ネットワークプロセッサ６０１に対して電源を供給する。
【０１１３】
次に、クロック供給回路６０３からクロックを供給されるとともに電源供給回路６０４から電源を供給されたネットワークプロセッサ６０１は、起動して、休止状態から稼働状態に遷移する（ステップＳＴ９０７）。
【０１１４】
次に、ネットワークプロセッサ制御プロセス機能部７５０は、ネットワークプロセッサ６０１の起動後の、受信したパケットデータを受信処理すべきか否かを判定するためのルールを設定し（ステップＳＴ９０８）、設定をネットワークプロセッサ６０１に通知する（ステップＳＴ９０９）。
【０１１５】
次に、ホストプロセッサ６０２は、稼働状態から休止状態に遷移することにより（ステップＳＴ９１０）、パケット受信装置６００は待ち受け状態になる（ステップＳＴ９１１）。
【０１１６】
次に、通信待ち受け状態にあるパケット受信装置６００がパケットデータを受信した際に、通信インタフェース回路１０１は、受信したパケットデータに対してレイヤ１の処理を行い、通信インタフェース制御回路１０２へ転送する（ステップＳＴ９１２）。
【０１１７】
次に、通信インタフェース制御回路１０２は、転送されたパケットデータに対してレイヤ２の処理を行うとともに、割り込み遅延回路１０４に対して、割り込み信号を出力して、受信処理すべきか否かの判定が必要なパケットデータを受信した旨を伝達する。
【０１１８】
次に、割り込み信号を受けた割り込み遅延回路１０４は、遅延カウンタ３０５をイネーブルにして、予め設定された遅延量分の時間計測を開始する。
【０１１９】
次に、パケット受信装置６００は、遅延カウンタ３０５が満了する以前に後続のパケットデータを受信した場合、ステップＳＴ９１３で最初に受信したパケットデータと同様の処理を行うが、遅延カウンタ３０５は、リセットせずに、カウントアップを継続する。
【０１２０】
次に、割り込み遅延回路１０４は、遅延カウンタ３０５が満了した時点で、割り込み制御回路１０５に対して、割り込み信号を出力し、受信処理すべきか否かの判定が必要なパケットデータを受信した旨を伝達する。この際、割り込み制御回路１０５は、割り込み遅延回路１０４から割り込み信号が入力した場合には、まず、ネットワークプロセッサ６０１に対して、割り込み信号を出力して、ネットワークプロセッサ６０１の動作を開始させる。
【０１２１】
次に、ネットワークプロセッサ６０１のパケットインタフェース制御部２０４は、通信インタフェース制御回路１０２に蓄積されたパケットデータを取り込み（ステップＳＴ９１３）、取り込んだパケットデータを内部バス２０７を介してパケット転送用メモリ２０６に格納する。
【０１２２】
また、ネットワークプロセッサ６０１のパケットフィルタ回路２０３は、パケットインタフェース制御部２０４に取り込まれたパケットデータが同時に入力し、入力したパケットデータを解析してパケットデータの種別判定を行う。具体的には、パケットフィルタ回路２０３は、入力したパケットデータのプロトコル構造の解析、及び特定のプロトコルフィールドのパターンマッチング（パターン照合）を行うことにより、パケットデータの種別判定を行う。そして、パケットフィルタ回路２０３は、判定結果を内部の結果レジスタに表示する。例えば、パケットフィルタ回路２０３は、パケットデータのプロトコル構造がＩＰｓｅｃである場合には、ＩＰヘッダに含まれる送受信ＩＰアドレスと、ＩＰｓｅｃヘッダに含まれるセッション識別情報（ＳＰＩ値）とに基づいて、パケットデータが属する通信セッションを判断し、判断した通信セッションが受信許可されているものであるか否かを判断することにより受信処理すべきか否かを判定し、判定結果を内部の結果レジスタに表示する。
【０１２３】
次に、パケット転送用メモリ２０６へのパケットデータの転送処理、及びパケットフィルタ回路２０３におけるパケット解析処理が終了した時点で、パケット処理シーケンサ２０１は、パケットフィルタ回路２０３における解析結果を参照し、また必要に応じてパケット転送用メモリ２０６に蓄積されたパケットデータそのものを直接に解析した上で、パケットデータをホストプロセッサ６０２に転送すべきか否か、即ちパケット受信装置６００が受信処理すべきか否かの判断を行う。図７では、転送の必要がないパケットと判断し、パケット処理シーケンサ２０１は、パケットインタフェース制御部２０４にパケットデータの廃棄処理を指示し、パケットインタフェース制御部２０４は、パケット転送用メモリ２０６に蓄積されたパケットデータを廃棄する（ステップＳＴ９１４）。
【０１２４】
次に、パケット転送用メモリ２０６に蓄積されたパケットデータの廃棄処理が終わった後に、パケット処理シーケンサ２０１は、通信インタフェース制御回路１０２からの状態通知により、後続の判定すべきパケットデータがすでに受信されている状態であることを検知し、次なる後続パケットデータに対して、同様の処理を繰り返す（ステップＳＴ９１５〜ステップＳＴ９１９）。
【０１２５】
次に、パケット処理シーケンサ２０１は、パケットデータの解析処理を行った結果、ホストプロセッサ６０２に転送すべきパケットデータであると判断した場合には（ステップＳＴ９２０）、ホストインタフェース回路２０５にはたらきかけ、割り込み制御回路１０５に対して、ホストプロセッサ６０２を起動するための割り込み信号を出力する。
【０１２６】
次に、割り込み制御回路１０５は、割り込み信号を受けた場合には、電源領域６２１に対して、電源供給回路６０４から電源を供給するように制御するとともに、クロック供給回路６０３からクロックを供給するように制御する。さらに、割り込み制御回路１０５は、ホストプロセッサ６０２に対して、割り込み信号を出力することにより、受信処理すべきパケットデータが存在することを伝達する。
【０１２７】
次に、ステップＳＴ９１１から停止状態にあったホストプロセッサ６０２は、電源供給回路６０４から電源の供給を受けるとともにクロック供給回路６０３からクロックの供給を受け、且つステップＳＴ９２２で割り込み信号を受けることにより起動して（ステップＳＴ９２１）、稼働状態になる。
【０１２８】
次に、ネットワークプロセッサ６０１は、受信処理すべきパケットデータをホストプロセッサ６０２に転送する（ステップＳＴ９２２）。
【０１２９】
ホストプロセッサ６０２の通信処理プロセス機能部７５１は、転送されたパケットデータを受信し（ステップＳＴ９２３）、ホストプロセッサ６０２の不要パケット受信頻度計数プロセス機能部７５２は、廃棄したパケットデータの廃棄数を計測する（ステップＳＴ９２４）。
【０１３０】
次に、パケット受信装置６００は、アクセスポイントとの通信ができない通信圏外に移動することにより、通信インタフェース制御回路１０２は、アクセスポイントとの接続を解除し（ステップＳＴ９２５）、ホストプロセッサ６０２は、接続解除を認識する（ステップＳＴ９２６）。
【０１３１】
次に、ネットワークプロセッサ６０１は、ステップＳＴ９０８で起動した後に、受け取ったパケットデータが受信処理すべきパケットデータであるか否かを判定し、判定の結果、受信処理すべきパケットデータでない場合には廃棄するとともに、廃棄したパケットデータの廃棄数を計測する。そして、ネットワークプロセッサ６０１は、ステップＳＴ９２６で接続解除を認識するまでに計測したパケットデータの廃棄数の結果である計数結果を、ホストプロセッサ６０２へ出力する（ステップＳＴ９２７）。
【０１３２】
ホストプロセッサ６０２の通信処理プロセス機能部７５１は、ネットワークプロセッサ６０１で計測した計数結果と、不要パケット受信頻度計数プロセス機能部７５２で計測した計数結果とを取得する（ステップＳＴ９２８、ステップＳＴ９２９）。
【０１３３】
次に、ホストプロセッサ６０２の通信処理プロセス機能部７５１は、ステップＳＴ９２９とステップＳＴ９３０の双方で取得した計数結果をアクセスポイントの識別情報と関係付けることにより、都度、接続環境情報を更新する（ＡＰテーブル更新）（ステップＳＴ９３０）。
【０１３４】
次に、ホストプロセッサ６０２の通信処理プロセス機能部７５１は、クロック供給回路６０３に対して、ネットワークプロセッサ６０１へのクロックの供給の停止を指示するとともに、電源供給回路６０４に対して、ネットワークプロセッサ６０１への電源の供給の停止を指示する（ステップＳＴ９３１）。
【０１３５】
次に、クロック供給回路６０３は、ネットワークプロセッサ６０１へのクロックの供給を停止するとともに、電源供給回路６０４は、ネットワークプロセッサ６０１への電源の供給を停止する。これにより、ネットワークプロセッサ６０１は、稼働状態から休止状態に遷移する（ステップＳＴ９３２）。
【０１３６】
なお、ステップＳＴ９１２〜ステップＳＴ９２０は、ホストプロセッサ６０２が休止状態（ステップＳＴ９１１）におけるパケットデータの受信処理であり、割込み遅延回路１０４は、通信インタフェース制御回路１０２から入力した割り込み信号に対して、所望の遅延を加えて出力する。
【０１３７】
図１０は、接続環境情報の他の例を示す図である。接続環境情報は、アクセスポイントの識別情報とパケットデータの廃棄数とを関係付けるものに限らず、図１０に示すように、アクセスポイントの識別情報（ＡＰ  ＳＳＩＤ）と過去実績とを関係付けるものであっても良い。即ち、ステップＳＴ９３０で取得したパケットデータの廃棄数がしきい値以下である場合には、過去実績としてネットワークプロセッサ６０１の使用が不要であることを示す「０」を設定するとともに、ステップＳＴ９３０で取得したパケットデータの廃棄数がしきい値を超えている場合には、過去実績としてネットワークプロセッサ６０１の使用が必要であることを示す「１」を設定する。
【０１３８】
このように、本実施の形態３によれば、上記実施の形態１の効果に加えて、廃棄するパケットデータが少ない環境下ではネットワークプロセッサを使用するので、廃棄するパケットデータが少ない環境下において、定常的なリーク電流を抑制することができるとともに、消費電力を低減することができる。また、本実施の形態３によれば、あらかじめ記憶しておいた接続環境情報に基づいて、ネットワークプロセッサを使用するか否かを判定して切り替えるので、パケットデータの廃棄数を計測している間の電力の浪費を抑制することができる。
【０１３９】
なお、本実施の形態３において、パケットデータの廃棄数の計測結果に応じてネットワークプロセッサ６０１を起動させるか否か判定したが、これに限らず、パケットデータの廃棄頻度を求めて、求めた廃棄頻度に応じてネットワークプロセッサ６０１を起動させるか否か判定しても良い。
【０１４０】
（実施の形態４）
本実施の形態４は、ネットワークプロセッサが、稼働状態から休止状態、または休止状態から稼働状態に遷移するとともに、ネットワークプロセッサが、起動時に、廃棄したパケットデータの廃棄数を計測して、計測結果をホストプロセッサに報告するとともに、ホストプロセッサが、ネットワークプロセッサからの報告に基づいて、ネットワークプロセッサを休止状態にすることを特徴とするものである。
【０１４１】
図１１は、本発明の実施の形態４に係る受信装置の動作を示すシーケンス図である。なお、本実施の形態４においては、受信装置の構成は図６と同一であるので、その説明は省略するとともに、図１１の動作の説明において、パケット受信装置は図６と同一の符号を用いる。
【０１４２】
図１１は、受信処理すべきパケットデータの受信時にホストプロセッサ６０２が起動し、ホストプロセッサ６０２による状況確認を行って、ネットワークプロセッサ６０１を停止させるシーケンス図である。起動中のネットワークプロセッサ６０１は、廃棄したパケットデータの廃棄数を計測しており、起動したホストプロセッサ６０２は、ネットワークプロセッサ６０１から取得した計数結果を確認する。ホストプロセッサ６０２は、計数結果より、ネットワークプロセッサ６０１を使うまでも無い環境であること、すなわち廃棄するパケットデータの廃棄数が充分に小さい環境であることを検知した場合、ネットワークプロセッサ６０１を停止して直接にホストプロセッサ６０２でパケットデータの受信処理を行う。
【０１４３】
以下に、図１１を用いてさらに詳細に説明する。
【０１４４】
ネットワークプロセッサ６０１は、クロック供給回路６０３からクロックを供給されるとともに、電源供給回路６０４から電源を供給されることにより、稼働状態になる（ステップＳＴ１１００）。
【０１４５】
次に、通信待ち受け状態にあるパケット受信装置６００がパケットデータを受信した際に、通信インタフェース回路１０１は、受信したパケットデータに対してレイヤ１の処理を行い、通信インタフェース制御回路１０２へ転送する（ステップＳＴ１１０１）。
【０１４６】
次に、通信インタフェース制御回路１０２は、転送されたパケットデータに対してレイヤ２の処理を行うとともに、割り込み遅延回路１０４に対して、割り込み信号を出力して、受信処理すべきか否かの判定が必要なパケットデータを受信した旨を伝達する。
【０１４７】
次に、割り込み信号を受けた割り込み遅延回路１０４は、遅延カウンタ３０５をイネーブルにして、予め設定された遅延量分の時間計測を開始する。
【０１４８】
次に、パケット受信装置６００は、遅延カウンタ３０５が満了する以前に後続のパケットデータを受信した場合、ステップＳＴ１１０１で最初に受信したパケットデータと同様の処理を行うが、遅延カウンタ３０５は、リセットせずに、カウントアップを継続する。
【０１４９】
次に、割り込み遅延回路１０４は、遅延カウンタ３０５が満了した時点で、割り込み制御回路１０５に対して、割り込み信号を出力し、受信処理すべきか否かの判定が必要なパケットデータを受信した旨を伝達する。この際、割り込み制御回路１０５は、割り込み遅延回路１０４から割り込み信号が入力した場合には、まず、ネットワークプロセッサ６０１に対して、割り込み信号を出力して、ネットワークプロセッサ６０１の動作を開始させる。
【０１５０】
次に、ネットワークプロセッサ６０１のパケットインタフェース制御部２０４は、通信インタフェース制御回路１０２に蓄積されたパケットデータを取り込み（ステップＳＴ１１０２）、取り込んだパケットデータを内部バス２０７を介してパケット転送用メモリ２０６に格納する。
【０１５１】
また、ネットワークプロセッサ６０１のパケットフィルタ回路２０３は、パケットインタフェース制御部２０４に取り込まれたパケットデータが同時に入力し、入力したパケットデータを解析してパケットデータの種別判定を行う。具体的には、パケットフィルタ回路２０３は、入力したパケットデータのプロトコル構造の解析、及び特定のプロトコルフィールドのパターンマッチング（パターン照合）を行うことにより、パケットデータの種別判定を行う。そして、パケットフィルタ回路２０３は、判定結果を内部の結果レジスタに表示する。例えば、パケットフィルタ回路２０３は、パケットデータのプロトコル構造がＩＰｓｅｃである場合には、ＩＰヘッダに含まれる送受信ＩＰアドレスと、ＩＰｓｅｃヘッダに含まれるセッション識別情報（ＳＰＩ値）とに基づいて、パケットデータが属する通信セッションを判断し、判断した通信セッションが受信許可されているものであるか否かを判断することにより受信処理すべきか否かを判定し、判定結果を内部の結果レジスタに表示する。
【０１５２】
次に、パケット転送用メモリ２０６へのパケットデータの転送処理、及びパケットフィルタ回路２０３におけるパケット解析処理が終了した時点で、パケット処理シーケンサ２０１は、パケットフィルタ回路２０３における解析結果を参照し、また必要に応じてパケット転送用メモリ２０６に蓄積されたパケットデータそのものを直接に解析した上で、パケットデータをホストプロセッサ６０２に転送すべきか否か、即ちパケット受信装置６００が受信すべきか否かの判断を行う。図１１では、転送の必要がないパケットと判断し、パケット処理シーケンサ２０１は、パケットインタフェース制御部２０４にパケットデータの廃棄処理を指示し、パケットインタフェース制御部２０４は、パケット転送用メモリ２０６に蓄積されたパケットデータを廃棄する（ステップＳＴ１１０３）。
【０１５３】
次に、パケット転送用メモリ２０６に蓄積されたパケットデータの廃棄処理が終わった後に、パケット処理シーケンサ２０１は、通信インタフェース制御回路１０２からの状態通知により、後続の判定すべきパケットデータがすでに受信されている状態であることを検知し、次なる後続パケットデータに対して、同様の処理を繰り返す（ステップＳＴ１１０４〜ステップＳＴ１１０８）。
【０１５４】
次に、パケット処理シーケンサ２０１は、パケットデータの解析処理を行った結果、ホストプロセッサ６０２に転送すべきパケットデータであると判断した場合には（ステップＳＴ１１０９）、ホストインタフェース回路２０５にはたらきかけ、割り込み制御回路１０５に対して、ホストプロセッサ６０２を起動するための割り込み信号を出力する。
【０１５５】
次に、割り込み制御回路１０５は、割り込み信号を受けた場合には、電源領域６２１に対して、電源供給回路６０４から電源を供給するように制御するとともに、クロック供給回路６０３からクロックを供給するように制御する。さらに、割り込み制御回路１０５は、ホストプロセッサ６０２に対して、割り込み信号を出力することにより、受信処理すべきパケットデータが存在することを伝達する。
【０１５６】
次に、ステップＳＴ１１１０から停止状態（ステップＳＴ１１１１）にあったホストプロセッサ６０２は、電源供給回路６０４から電源の供給を受けるとともにクロック供給回路６０３からクロックの供給を受け、且つ割り込み信号を受けて起動して（ステップＳＴ１１１２）、稼働状態になる。
【０１５７】
次に、ネットワークプロセッサ６０１は、受信処理すべきパケットデータをホストプロセッサ６０２に転送する（ステップＳＴ１１１３）。
【０１５８】
ホストプロセッサ６０２の通信処理プロセス機能部７５１は、転送されたパケットデータを受信し（ステップＳＴ１１１４）、ホストプロセッサ６０２の不要パケット受信頻度計数プロセス機能部７５２は、廃棄したパケットデータの廃棄数を計測する（ステップＳＴ１１１５）。
【０１５９】
次に、ネットワークプロセッサ６０１は、ステップＳＴ１１１２で起動した後に、受け取ったパケットデータが受信処理すべきパケットデータであるか否かを判定し、判定の結果、受信処理すべきパケットデータでない場合には廃棄するとともに、廃棄したパケットデータの廃棄数を計測する。そして、ネットワークプロセッサ６０１は、計測したパケットデータの廃棄数の結果である計数結果を、ホストプロセッサ６０２へ出力する（ステップＳＴ１１１６）。
【０１６０】
ホストプロセッサ６０２の通信処理プロセス機能部７５１は、ネットワークプロセッサ６０１で計測した計数結果と、不要パケット受信頻度計数プロセス機能部７５２で計測した計数結果とを取得する（ステップＳＴ１１１７、ステップＳＴ１１１８）。
【０１６１】
次に、ホストプロセッサ６０２の通信処理プロセス機能部７５１は、クロック供給回路６０３に対して、ネットワークプロセッサ６０１へのクロックの供給の停止を指示するとともに、電源供給回路６０４に対して、ネットワークプロセッサ６０１への電源の供給の停止を指示する。
【０１６２】
次に、クロック供給回路６０３は、ネットワークプロセッサ６０１へのクロックの供給を停止するとともに、電源供給回路６０４は、ネットワークプロセッサ６０１への電源の供給を停止する。これにより、ネットワークプロセッサ６０１は、稼働状態から休止状態に遷移する（ステップＳＴ１１１９）。
【０１６３】
次に、パケット受信装置６００がパケットデータを受信した際に、通信インタフェース回路１０１は、受信したパケットデータに対してレイヤ１の処理を行い、通信インタフェース制御回路１０２へ転送する（ステップＳＴ１１２０）。
【０１６４】
次に、ホストプロセッサ６０２の通信処理プロセス機能部７５１は、通信インタフェース制御回路１０２から転送されたパケットデータを受信し（ステップＳＴ１１２１、ステップＳＴ１１２２）、ホストプロセッサ６０２の不要パケット受信頻度計数プロセス機能部７５２は、廃棄するパケットデータの廃棄数を計測する（ステップＳＴ１１２３）。なお、ネットワークプロセッサ６０１が休止状態の際に、ネットワークプロセッサ６０１のパケットインタフェース制御部２０４及びパケット転送メモリ２０６は使用されない。従って、ホストプロセッサ６０２は、通信インタフェース制御回路１０２に直接アクセスして、パケットデータを内部転送してもらう処理を行う。
【０１６５】
このように、本実施の形態４によれば、上記実施の形態１の効果に加えて、廃棄するパケットデータが少ない環境下ではホストプロセッサを使用するので、廃棄するパケットデータが少ない環境下において、定常的なリーク電流を抑制することができるとともに、消費電力を低減することができる。また、本実施の形態４によれば、ネットワークプロセッサは、受信処理すべきパケットデータを受信したと判定した場合にホストプロセッサが起動させるので、消費電力を抑制することができる。
【０１６６】
なお、本実施の形態４において、パケットデータの廃棄数の計測結果に応じてネットワークプロセッサ６０１を休止状態にするか否か判定したが、これに限らず、パケットデータの廃棄頻度を求めて、求めた廃棄頻度に応じてネットワークプロセッサ６０１を休止状態にするか否か判定しても良い。
【０１６７】
（実施の形態５）
本実施の形態５は、ネットワークプロセッサが、稼働状態から休止状態、または休止状態から稼働状態に遷移するとともに、ホストプロセッサは、間欠的に起動し、ネットワークプロセッサが、ホストプロセッサの起動時に、廃棄したパケットデータの廃棄数を計測して、計測結果をホストプロセッサに報告するとともに、ホストプロセッサが、ネットワークプロセッサからの報告に基づいて、ネットワークプロセッサを休止状態にすることを特徴とするものである。
【０１６８】
図１２は、本発明の実施の形態５に係る受信装置の動作を示すシーケンス図である。なお、本実施の形態５においては、受信装置の構成は図６と同一であるので、その説明は省略するとともに、図１２の動作の説明において、パケット受信装置は図６と同一の符号を用いる。
【０１６９】
図１２は、タイマー割り込みによりホストプロセッサ６０２が定期的に起動し、ネットワークプロセッサ６０１の状況を確認して、使用頻度が低ければネットワークプロセッサ６０１を停止するシーケンス図である。これにより、廃棄するパケットデータのみが飛び交う状況下であっても状況追随が可能であるという利点がある。
【０１７０】
ホストプロセッサ６０２は、起動した際に、ネットワークプロセッサ６０１でのパケットデータの廃棄数を確認し、廃棄したパケットデータの廃棄数が一定の値以上の場合は、引き続きネットワークプロセッサ６０１を使い続けると判断して、タイマーをリセットする。逆に、ホストプロセッサ６０２は、廃棄するパケットデータの廃棄数が充分に小さい環境であることを検知した場合には、ネットワークプロセッサ６０１を停止して、自らパケットデータの受信処理を行う。
【０１７１】
以下に、図１２を用いてさらに詳細に説明する。
【０１７２】
ネットワークプロセッサ６０１は、クロック供給回路６０３からクロックを供給されるとともに、電源供給回路６０４から電源を供給されることにより、稼働状態になる（ステップＳＴ１２００）。
【０１７３】
次に、通信待ち受け状態にあるパケット受信装置６００がパケットデータを受信した際に、通信インタフェース回路１０１は、受信したパケットデータに対してレイヤ１の処理を行い、通信インタフェース制御回路１０２へ転送する（ステップＳＴ１２０１）。
【０１７４】
次に、通信インタフェース制御回路１０２は、転送されたパケットデータに対してレイヤ２の処理を行うとともに、割り込み遅延回路１０４に対して、割り込み信号を出力して、受信処理すべきか否かの判定が必要なパケットデータを受信した旨を伝達する。
【０１７５】
次に、割り込み信号を受けた割り込み遅延回路１０４は、遅延カウンタ３０５をイネーブルにして、予め設定された遅延量分の時間計測を開始する。
【０１７６】
次に、パケット受信装置６００は、遅延カウンタ３０５が満了する以前に後続のパケットデータを受信した場合、ステップＳＴ１２０１で最初に受信したパケットデータと同様の処理を行うが、遅延カウンタ３０５は、リセットせずに、カウントアップを継続する。
【０１７７】
次に、割り込み遅延回路１０４は、遅延カウンタ３０５が満了した時点で、割り込み制御回路１０５に対して、割り込み信号を出力し、受信処理すべきか否かの判定が必要なパケットデータを受信した旨を伝達する。この際、割り込み制御回路１０５は、割り込み遅延回路１０４から割り込み信号が入力した場合には、まず、ネットワークプロセッサ６０１に対して、割り込み信号を出力して、ネットワークプロセッサ６０１の動作を開始させる。
【０１７８】
次に、ネットワークプロセッサ６０１のパケットインタフェース制御部２０４は、通信インタフェース制御回路１０２に蓄積されたパケットデータを取り込み（ステップＳＴ１２０２）、取り込んだパケットデータを内部バス２０７を介してパケット転送用メモリ２０６に格納する。
【０１７９】
また、ネットワークプロセッサ６０１のパケットフィルタ回路２０３は、パケットインタフェース制御部２０４に取り込まれたパケットデータが同時に入力し、入力したパケットデータを解析してパケットデータの種別判定を行う。具体的には、パケットフィルタ回路２０３は、入力したパケットデータのプロトコル構造の解析、及び特定のプロトコルフィールドのパターンマッチング（パターン照合）を行うことにより、パケットデータの種別判定を行う。そして、パケットフィルタ回路２０３は、判定結果を内部の結果レジスタに表示する。例えば、パケットフィルタ回路２０３は、パケットデータのプロトコル構造がＩＰｓｅｃである場合には、ＩＰヘッダに含まれる送受信ＩＰアドレスと、ＩＰｓｅｃヘッダに含まれるセッション識別情報（ＳＰＩ値）とに基づいて、パケットデータが属する通信セッションを判断し、判断した通信セッションが受信許可されているものであるか否かを判断することにより受信処理すべきか否かを判定し、判定結果を内部の結果レジスタに表示する。
【０１８０】
次に、パケット転送用メモリ２０６へのパケットデータの転送処理、及びパケットフィルタ回路２０３におけるパケット解析処理が終了した時点で、パケット処理シーケンサ２０１は、パケットフィルタ回路２０３における解析結果を参照し、また必要に応じてパケット転送用メモリ２０６に蓄積されたパケットデータそのものを直接に解析した上で、パケットデータをホストプロセッサ６０２に転送すべきか否か、即ちパケット受信装置６００が受信すべきか否かの判断を行う。図１２では、転送の必要がないパケットと判断し、パケット処理シーケンサ２０１は、パケットインタフェース制御部２０４にパケットデータの廃棄処理を指示し、パケットインタフェース制御部２０４は、パケット転送用メモリ２０６に蓄積されたパケットデータを廃棄する（ステップＳＴ１２０３）。
【０１８１】
次に、パケット転送用メモリ２０６に蓄積されたパケットデータの廃棄処理が終わった後に、パケット処理シーケンサ２０１は、通信インタフェース制御回路１０２からの状態通知により、後続の判定すべきパケットデータがすでに受信されている状態であることを検知し、次の後続パケットデータに対して、同様の処理を繰り返す（ステップＳＴ１２０４〜ステップＳＴ１２０９）。
【０１８２】
ホストプロセッサ６０２は、ステップＳＴ１２１０で稼働状態から休止状態に遷移してから休止状態を継続し（ステップＳＴ１２１１）、所定のタイミングでタイマーによる割り込みを受ける（ステップＳＴ１２１２）。これにより、ホストプロセッサ６０２は、起動する（ステップＳＴ１２１３）。ホストプロセッサ６０２を起動するタイマー機能は、汎用のプロセッサが有するタイマー機能であり、通常これらのタイマー機能はホストプロセッサ６０２が停止状態であっても、動作可能な領域に実装されるものである。
【０１８３】
ホストプロセッサ６０２は、タイマー割込みによって起動する場合に限らず、例えば定期的に生じる何らかの処理の際に起動するようにしても良い。
【０１８４】
次に、ネットワークプロセッサ６０１は、ステップＳＴ１２００で起動してから計測した、廃棄したパケットデータの廃棄数の計測結果をホストプロセッサ６０２へ報告する（ステップＳＴ１２１４）。
【０１８５】
次に、ホストプロセッサ６０２の通信処理プロセス機能部７５１は、計測結果を取得し（ステップＳＴ１２１５）、パケットデータの廃棄数がしきい値以下であれば、クロック供給回路６０３に対して、ネットワークプロセッサ６０１へのクロックの供給の停止を指示するとともに、電源供給回路６０４に対して、ネットワークプロセッサ６０１への電源の供給の停止を指示する。
【０１８６】
次に、クロック供給回路６０３は、ネットワークプロセッサ６０１へのクロックの供給を停止するとともに、電源供給回路６０４は、ネットワークプロセッサ６０１への電源の供給を停止することにより、ネットワークプロセッサ６０１は、休止状態になる（ステップＳＴ１２１６）。
【０１８７】
次に、パケット受信装置６００がパケットデータを受信した際に、通信インタフェース回路１０１は、受信したパケットデータに対してレイヤ１の処理を行い、通信インタフェース制御回路１０２へ転送する（ステップＳＴ１２１７）。
【０１８８】
次に、ホストプロセッサ６０２の通信処理プロセス機能部７５１は、通信インタフェース制御回路１０２から転送されたパケットデータを受信し（ステップＳＴ１２１８、ステップＳＴ１２１９）、ホストプロセッサ６０２の不要パケット受信頻度計数プロセス機能部７５２は、廃棄するパケットデータの廃棄数を計測する（ステップＳＴ１２２０）。なお、ネットワークプロセッサ６０１が休止状態の際に、ネットワークプロセッサ６０１のパケットインタフェース制御部２０４及びパケット転送メモリ２０６は使用しない。従って、ホストプロセッサ６０２は、通信インタフェース制御回路１０２に直接アクセスして、パケットデータを内部転送してもらう処理を行う。
【０１８９】
このように、本実施の形態５によれば、上記実施の形態１の効果に加えて、廃棄するパケットデータが少ない環境下ではホストプロセッサを使用するので、廃棄するパケットデータが少ない環境下において、定常的なリーク電流を抑制することができるとともに、消費電力を低減することができる。また、本実施の形態５によれば、廃棄するパケットデータが多い環境下ではネットワークプロセッサを使用するので、廃棄するパケットデータが多い環境下において、消費電力を低減することができる。また、本実施の形態５によれば、ホストプロセッサは間欠的に起動するので、消費電力を低減することができる。
【０１９０】
なお、本実施の形態５において、パケットデータの廃棄数の計測結果に応じてネットワークプロセッサ６０１を起動させるか否か判定したが、これに限らず、パケットデータの廃棄頻度を求めて、求めた廃棄頻度に応じてネットワークプロセッサ６０１を起動させるか否か判定しても良い。
【産業上の利用可能性】
【０１９１】
本発明にかかるパケット受信装置は、特に電源の供給箇所を絞ることにより消費電力を最小限にするのに好適である。
【図面の簡単な説明】
【０１９２】
【図１】本発明の実施の形態１に係るパケット受信装置の構成を示すブロック図
【図２】本発明の実施の形態１に係るネットワークプロセッサの構成を示すブロック図
【図３】本発明の実施の形態１に係る割り込み遅延回路の構成を示すブロック図
【図４】本発明の実施の形態１に係るパケット受信装置の動作を示すシーケンス図
【図５】本発明の実施の形態１に係るパケット受信装置の動作の一部を示すシーケンス図
【図６】本発明の実施の形態２に係るパケット受信装置の構成を示すブロック図
【図７】本発明の実施の形態２に係るパケット受信装置の動作を示すシーケンス図
【図８】本発明の実施の形態２に係る省電力効果を示す図
【図９】本発明の実施の形態３に係るパケット受信装置の動作を示すシーケンス図
【図１０】本発明の実施の形態３に係る接続環境情報を示す図
【図１１】本発明の実施の形態４に係るパケット受信装置の動作を示すシーケンス図
【図１２】本発明の実施の形態５に係るパケット受信装置の動作を示すシーケンス図
【図１３】従来のパケット受信装置の動作を示すシーケンス図
【符号の説明】
【０１９３】
１００  パケット受信装置
１０１  通信インタフェース回路
１０２  通信インタフェース制御回路
１０３  ネットワークプロセッサ
１０４  割り込み遅延回路
１０５  割り込み制御回路
１０６  クロック供給回路
１０７  電源供給回路
１０８  ホストプロセッサ
１０９  制御回路
１１０  表示部
１１１  キー入力部
１１２  アクセス制御回路
１１３  記憶部
１１４  バス
１２０、１２１  電源領域
【図１】
2008270918.tif 000003
【図２】
2008270918.tif 000004
【図３】
2008270918.tif 000005
【図４】
2008270918.tif 000006
【図５】
2008270918.tif 000007
【図６】
2008270918.tif 000008
【図７】
2008270918.tif 000009
【図８】
2008270918.tif 000010
【図９】
2008270918.tif 000011
【図１０】
2008270918.tif 000012
【図１１】
2008270918.tif 000013
【図１２】
2008270918.tif 000014
【図１３】
2008270918.tif 000015