(57)【要約】    【課題】      後段の処理装置におけるフレーム処理量に合わせて割り込みを生成して、フレーム処理量に占める割り込み処理量の割合が小さくなるように割り込みを行うこと。    【解決手段】  総フレーム処理量予測手段１１００は、フレームを受信すると、後段処理装置５０００に渡していない受信フレーム全ての後段処理装置５０００における総フレーム処理量を予測して、処理量比較手段１２００へ出力する。処理量比較手段１２００は、基準処理量保持手段１３００からの基準処理量と、総フレーム処理量予測手段１１００からの総フレーム処理量とを比較し、総フレーム処理量が基準処理量と比較して大きい場合には、割り込み生成手段１９００に通知する。割り込み生成手段１９００は、処理量比較手段１２００から総フレーム処理量が基準処理量より大きいことを通知されると、後段処理装置５０００に対して割り込み信号を生成する。  【選択図】      図２
2006067140.tif 000002
【特許請求の範囲】
【請求項１】
後段処理装置への受け渡し待ちの全て記載の受信フレームに対して、前記後段処理装置における総フレーム処理量を予測する総フレーム処理量予測手段と、
前記後段処理装置の基準処理量を保持する基準処理量保持手段と、
前記予測した総フレーム処理量と、前記基準処理量とを比較する処理量比較手段と、
前記予測した総フレーム処理量が前記基準処理量より大きい場合に、前記後段処理装置に対して割り込みを生成する割り込み生成手段と、
を備えることを特徴とする受信フレーム処理装置。
【請求項２】
請求項１記載の受信フレーム処理装置において、
前記基準処理量として、前記後段処理装置における割り込み自体の処理量の定数分の１となる固定値を用いることにより、割り込み自体の処理量と比較して、予測した総フレーム処理量が十分に大きい場合に割り込みを発生することで、割り込み効率を高くする、
ことを特徴とする受信フレーム処理装置。
【請求項３】
請求項１または請求項２記載の受信フレーム処理装置において、
前記基準処理量保持手段は複数であり、
前記複数の基準処理量保持手段からの基準処理量を選択する選択手段を設け、
前記処理量比較手段は、前記予測した総フレーム処理量と、前記選択手段により選択された前記基準処理量とを比較する、
ことを特徴とする受信フレーム処理装置。
【請求項４】
請求項３記載の受信フレーム処理装置において、
前記選択手段は、前記後段処理装置の動作モードに応じて基準処理量を選択することで、前記後段処理装置の動作モード変更による性能の変化に応じて総フレーム処理量の基準処理量を変える、
ことを特徴とする受信フレーム処理装置。
【請求項５】
請求項３記載の受信フレーム処理装置において、
前記選択手段は、前記後段処理装置の負荷状態に応じて基準処理量を選択することで、前記後段処理装置の負荷状態に応じて総フレーム処理量の基準処理量を変える、
ことを特徴とする受信フレーム処理装置。
【請求項６】
請求項３記載の受信フレーム処理装置において、
さらに、前記基準処理量保持手段に対し前記基準処理量を設定する基準処理量設定手段を、
有することを特徴とする受信フレーム処理装置。
【請求項７】
請求項６記載の受信フレーム処理装置において、
前記選択手段は、前記基準処理量設定手段が前記後段処理装置の動作モードに応じて基準処理量を設定することで、前記後段処理装置の動作モード変更による性能の変化に応じて総フレーム処理量の基準処理量を変える、
ことを特徴とする受信フレーム処理装置。
【請求項８】
請求項６記載の受信フレーム処理装置において、
前記選択手段は、前記基準処理量設定手段が前記後段処理装置の負荷状態に応じて基準処理量を設定することで、前記後段処理装置の負荷状態に応じて総フレーム処理量の基準処理量を変える、
ことを特徴とする受信フレーム処理装置。
【請求項９】
請求項１〜８のいずれか一の請求項に記載の受信フレーム処理装置において、
前記総フレーム処理量予測手段を、
受信フレームのフレーム属性を解析するフレーム解析手段と、
解析された受信フレームのフレーム属性に基づいてフレーム毎の処理量を予測するフレーム毎処理量予測手段と、
フレーム毎の処理量を積算して、総フレーム処理量を予測する総処理量計算手段と、により構成し、
フレーム解析で得られたフレーム属性に基づいて予測したフレーム毎処理量を積算して、総フレーム処理量を予測する、
ことを特徴とする受信フレーム処理装置。
【請求項１０】
請求項９記載の受信フレーム処理装置において、
前記フレーム毎処理量予測手段は、フレーム属性として、プロトコル種類、及びフレーム長またはペイロード長に基づいてフレーム毎の処理量を予測するものであり、
プロトコル種類、及びフレーム長またはペイロード長に基づく処理量計算手段と、
予測パラメータとして、プロトコル種類毎のフレーム長非依存の固定処理量と、プロトコル毎のフレーム長またはペイロード長依存の単位データ量当たりの処理量を保持する予測パラメータ保持手段と、により構成され、
プロトコル種類毎のフレーム長非依存の固定処理量と、フレーム長またはペイロード長依存の単位データ量当たりの処理量と、フレーム長またはペイロード長に基づいて、フレーム処理量を計算して予測する、
ことを特徴とする受信フレーム処理装置。
【請求項１１】
請求項１０記載の受信フレーム処理装置において、
前記フレーム毎処理量予測手段は、フレーム属性として、プロトコル種類に基づいてフレーム毎の処理量を予測するものであり、
プロトコル種類に基づく処理量計算手段と、
予測パラメータとして、プロトコル種類毎の処理量を保持する予測パラメータ保持手段と、
により構成され、プロトコル種類毎の処理量に基づいて、フレーム処理量を予測する、
ことを特徴とする受信フレーム処理装置。
【請求項１２】
請求項１０記載の受信フレーム処理装置において、
前記フレーム毎処理量予測手段は、フレーム属性として、プロトコル種類、及びフレーム長またはペイロード長に基づいてフレーム毎の処理量を予測するものであり、
フレーム長またはペイロード長に基づく処理量計算手段と、
予測パラメータとして、プロトコル種類毎のフレーム長またはペイロード長依存の単位データ量当たりの処理量を保持する予測パラメータ保持手段と、を備え、
プロトコル種類毎のフレーム長またはペイロード長依存の単位データ量当たりの処理量と、フレーム長またはペイロード長に基づいて、フレーム処理量を計算して予測する、
ことを特徴とする受信フレーム処理装置。
【請求項１３】
請求項１０〜１２のいずれか一の請求項に記載の受信フレーム処理装置において、
前記予測パラメータ保持手段は、前記後段処理装置の構成が変更され、特定のプロトコルのフレームに対してプロセッサで必要な処理量が小さくて済むようになった場合、保持している前記予測パラメータを修正する、
ことを特徴とする受信フレーム処理装置。
【請求項１４】
請求項１〜１３のいずれか一の請求項に記載の受信フレーム処理装置において、
さらに、予測した処理量が基準処理量より大きく、かつ、別条件が成立する場合、若しくは、予測した処理量が基準処理量より大きいか、または、別条件が成立する場合、前記後段処理装置に割り込みを発生する別条件手段を、
有することを特徴とする受信フレーム処理装置。
【請求項１５】
請求項１〜１４のいずれか一の請求項に記載の受信フレーム処理装置において、
前記割り込み生成手段に代えて、割り込み生成と同様のタイミングで変化する受信ステータスを前記後段処理装置から読む受信ステータス生成手段を備える、
ことを特徴とする受信フレーム処理装置。
【請求項１６】
請求項１〜１５のいずれか一の請求項に記載の受信フレーム処理装置において、
前記基準処理量とは、前記後段処理装置が単位時間に処理できる処理量を基準とした値、
または、前記後段処理装置が処理終了するまでに必要とする時間を基準とした値、
または、前記後段処理装置の中におけるプロセッサの処理量等の特定の機能における処理量、のいずれか、または、そのいずれかの値を正規化した値である、
ことを特徴とする受信フレーム処理装置。
【請求項１７】
請求項１〜１６のいずれか一の請求項に記載の受信フレーム処理装置を搭載した通信処理装置。
【請求項１８】
後段処理装置への受け渡し待ちの全て記載の受信フレームに対して、前記後段処理装置における総フレーム処理量を予測して、前記予測した総フレーム処理量と、前記後段処理装置の基準処理量とを比較し、
前記予測した総フレーム処理量が前記基準処理量より大きい場合に、前記後段処理装置に対して割り込みを生成する、
ことを特徴とする受信フレーム処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ローカルエリアネットワークなどのネットワークからネットワークインタフェースを通じてイーサネット（登録商標）などのフレームを受信処理する装置において、フレームを受信したことをプロセッサに対して通知する受信フレーム処理装置、通信処理装置、および受信フレーム処理方法に関するものである。
【背景技術】
【０００２】
プロセッサに対して割込みを用いてフレーム受信を通知すると、ソフトウェア(デバイスドライバ)が割込み処理を起動し、割込み起動時点までに動作中であったプロセスの状態を待避(コンテクストスイッチング)するオーバヘッドが発生し、プロセッサの負荷が増加する。従来の受信フレーム処理装置としては、割込み回数を減らすために、受信フレーム数又は受信データ量の閾値を設定し、フレーム受信量が閾値を超過すると割込みを出力し、1回の割込みで複数のフレームをまとめてプロセッサに対して出力しているものがあった。
【０００３】
この場合、フレームの受信量が閾値に到達しないといつまでたっても割込みが上がらないので、プロセッサへのフレーム出力が長時間遅れることが無いように時間の閾値を設定し、受信フレームの待ち時間が閾値を超過すると割込みを上げるようにしている。また、受信フレームがリアルタイム応答に対する優先度が高いかどうかを識別し、リアルタイム応答に対する優先度が高いフレームが到着すると直ちに割込みを出力し、遅延ゼロでリアルタイムフレームをプロセッサに出力することができるようにしている。（例えば、特許文献１参照）。
【０００４】
図２０は、前記特許文献１に記載された従来の受信フレーム処理装置におけるリアルタイム応答に対する優先度の高いフレームを処理する場合のフローチャートを示すものである。
【０００５】
図２０において、フレームを受信するとステップ１２１４においてリアルタイム応答に対する優先度の高いフレームであるかどうかを判定する。もし、リアルタイムパケットであれば、ステップ１２１５において直ちにプロセッサに対して割込みを通知する。もし、リアルタイムパケットでなければ、受信量が閾値を超過もしくはタイムアウトが発生すると割込みを出力していた。
【特許文献１】特開２００１-１４２４３号公報（図８）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、実際に受信するフレームは、様々なプロトコルのものであり、フレーム長が同じであっても、低レイヤで終端できるフレームと、高レイヤで終端されるフレームでは、処理量が大きく異なる。また、特に、暗号処理を必要とするフレームと暗号処理を必要としないフレームでは、後段処理装置（例えば、プロセッサ）で処理するための処理量は大きく異なる。
【０００７】
また、前記従来の構成では、データ量によって割り込みの是非を判断するため、実際のフレームの処理量に占める、割り込み処理量の割合は、安定して小さいとは云えず、効率的でない。
【０００８】
また、処理量が大きいフレームについては、後段処理装置（例えば、プロセッサ）における処理に時間を要するために早く割り込みを上げるべきであるが、前記従来の構成では、データ量によって割り込みの是非を判断するため、割り込みをあげるデータ量のしきい値を低めに設定することしか出来ず、他のプロトコルのフレームに対しての割り込み効率は低下するという課題を有していた。
【０００９】
本発明は、このような従来の課題を解決するもので、後段処理装置におけるフレーム処理量に合わせて割り込みを生成することができ、フレーム処理量に占める割り込み処理量の割合が十分小さくなるように割り込みを行うことができる優れた受信フレーム処理装置、通信処理装置、および受信フレーム処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
前記課題を解決するために、本発明の受信フレーム処理装置では、後段処理装置への受け渡し待ちの全て記載の受信フレームに対して、前記後段処理装置における総フレーム処理量を予測する総フレーム処理量予測手段と、前記後段処理装置の基準処理量を保持する基準処理量保持手段と、前記予測した総フレーム処理量と、前記基準処理量とを比較する処理量比較手段と、前記予測した総フレーム処理量が前記基準処理量より大きい場合に、前記後段処理装置に対して割り込みを生成する割り込み生成手段と、を備える構成を採る。
【発明の効果】
【００１１】
本発明によれば、後段処理装置における総フレーム処理量を予測し、その総フレーム処理量が前記後段処理装置の基準処理量より大きくなるまでフレームを受信してから、割り込みを生成するため、後段処理装置における総フレーム処理量に合わせて総フレーム処理量に占める割り込み処理量の割合が十分小さい状態で割り込みを生成することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００１３】
（実施の形態１）
実施の形態１は、請求項１および２の発明の発明を具体的に実施するものである。
【００１４】
図１は、本発明の実施の形態１の受信フレーム処理装置を内蔵する通信処理装置の構成図である。なお、この図１に示す通信処理装置は、別に説明する実施の形態２〜７でも同様である。
【００１５】
図１において、ネットワークインタフェース２０００は、接続しているLAN等のネットワークよりフレームを受信し、受信フレーム格納部３０００は、受信したフレームを格納し、受信フレーム処理装置１０００は、受信フレームに関する情報に基づき後段処理装置５０００に対して、割込みを生成し、後段処理装置５０００は、割込み処理により受信フレームを受信フレーム格納部３０００より読み出すものである。
【００１６】
後段処理装置５０００は、プロセッサ５１００と、メインメモリ５２００とで構成され、後段処理装置５０００に対して生成された割り込みはプロセッサ５１００で受信され、後段処理装置５０００が実行する受信フレームの受信フレーム格納部３０００からの読み出しも、プロセッサ５１００が実行し、受信フレームをメインメモリ５２００に転送した上で処理する。
【００１７】
図２は、本発明の実施の形態１における受信フレーム処理装置の構成図である。
【００１８】
図２において、受信フレーム処理装置１０００は、総フレーム処理量予測手段１１００、処理量比較手段１２００、基準処理量保持手段１３００、及び割り込み生成手段１９００から構成されている。
【００１９】
総フレーム処理量予測手段１１００は、後段処理装置５０００に渡していない受信フレーム全ての後段処理装置５０００における処理量である総フレーム処理量を予測するものである。
【００２０】
基準処理量保持手段１３００は、基準処理量を保持するものである。
【００２１】
ここで、基準処理量とは、後段処理装置５０００が単位時間に処理できる処理量を基準とした値でも良いし、後段処理装置５０００が処理終了するまでに必要とする時間を基準とした値でも、また、後段処理装置５０００の中における特定の機能における処理量、例えばプロセッサ５１００の処理量としても良い。さらには、後段処理装置５０００の処理量自体ではなく、その処理量を正規化した数値を用いても良い。このような処理量を用いることにより、後段処理装置５０００の処理性能、処理時間、後段処理装置５０００の中における特定の機能の処理能力、処理時間などの中で、その通信処理装置でネックとなる機能、性能に基づいて制御することができる。
【００２２】
処理量比較手段１２００は、基準処理量と総フレーム処理量を比較し、総フレーム処理量が基準処理量と比較して大きい場合には、割り込み生成手段１９００に通知するものである。
【００２３】
割り込み生成手段１９００は、処理量比較手段１２００から総フレーム処理量が基準処理量より大きいことを通知されると、後段処理装置５０００に対して割り込み信号を生成するものである。
【００２４】
図３は、本発明の実施の形態１における受信フレーム処理を説明するためのフローチャートである。
【００２５】
まず、総フレーム処理量予測手段１１００は、ステップ３１により、受信フレームを検出すると、続くステップ３２により、後段処理装置５０００における総フレーム処理量を予測して、処理量比較手段１２００へ出力する。
【００２６】
すると、処理量比較手段１２００は、ステップ３３により、総フレーム処理量予測手段１１００からの総フレーム処理量と、基準処理量保持手段１３００からの基準処理量とを比較して、総フレーム処理量が基準処理量より大きいものと判断すると、割り込み生成主手段１９００へその旨を通知する。
【００２７】
すると、割り込み生成手段１９００は、処理量比較手段１２００からの総フレーム処理量が基準処理量より大きい旨の通知を受けると、ステップ３４により、割り込み信号を生成して、後段処理装置５０００に対し割り込みをかける。
【００２８】
このように、本実施の形態１によれば、総フレーム処理量予測手段１１００が総フレーム処理量を予測し、処理量比較手段１２００が基準処理量と比較して、予測した総フレーム処理量が基準処理量より大きい場合には、割り込み生成手段１９００にて割り込みを生成するため、総フレーム処理量が基準処理量に達した場合にのみ、後段処理装置５０００に割り込みをかけることになり、適切に割り込み頻度を下げることができる。
【００２９】
また、基準処理量保持手段１３００において、後段処理装置５０００における割り込み自体にかかる処理量の定数分の１の処理量を基準処理量として保持させれば、割り込み自体にかかる処理量に比較して総フレーム処理量が十分に大きい場合のみに割り込みを生成することになり、割り込み効率が高くできる。
【００３０】
（実施の形態２）
実施の形態２は、請求項３〜５の発明を具体的に実施するものである。
【００３１】
図４は、本発明の実施の形態２における受信フレーム処理装置の構成図である。図４において、図２と同じ構成要素については同じ符号を用い、説明を省略する。
【００３２】
図４に示す本実施の形態２の受信フレーム処理装置１０００は、図２に示す受信フレーム処理装置１０００の構成に対して、第二の基準処理量保持手段１４００と、選択手段１５００とを追加した構成である。
【００３３】
つまり、実施の形態２の処理量比較手段１２００では、総フレーム処理量と比較する基準処理量として、第一の基準処理量保持手段１３００と、第二の基準処理量保持手段１４００とから選択手段１５００が選択した基準処理量を用いることができる。
【００３４】
このように、本実施の形態２によれば、選択手段１５００が選択した基準処理量と比較して、総フレーム処理量が選択された基準処理量より大きい場合のみに割り込みを生成することになり、後段処理装置５０００の動作モード、例えば、省電力低性能モード、通常動作通常性能モードに応じて、基準処理量を選択することで、後段処理装置５０００の動作モード変更による性能の変化に応じて、割り込みを上げる総フレーム処理量のしきい値、すなわち基準処理量を変更することになり、後段処理装置５０００の性能変化等、状況の変化に応じて適切に割り込みを上げることができる。
【００３５】
また、選択手段１５００は、後段処理装置５０００の負荷状態、例えば、低負荷状態、通常負荷状態、高負荷状態に応じて、基準処理量を選択することで、後段処理装置５０００の負荷状態に応じて、割り込み頻度を下げる等の対応を行うことができる。
【００３６】
（実施の形態３）
実施の形態３は、請求項６〜８の発明を具体的に実施するものである。
【００３７】
図５は、本発明の実施の形態３における受信フレーム処理装置の構成図である。図５において、図２と同じ構成要素については同じ符号を用い、説明を省略する。
【００３８】
図５に示す実施の形態３の受信フレーム処理装置１０００は、図２に示す受信フレーム処理装置の構成に対して、基準処理量保持手段１３００に対して基準処理量を設定する基準処理量設定手段１６００を追加した構成である。
【００３９】
このように、本実施の形態３によれば、後段処理装置５０００の動作モード、例えば、省電力低性能モード、通常動作通常性能モードに応じて、基準処理量設定手段１６００が基準処理量を設定することで、後段処理装置５０００の動作モード変更による性能の変化に応じて、割り込みを上げる総フレーム処理量のしきい値、すなわち基準処理量を変更することになり、後段処理装置５０００の性能変化に応じて適切に割り込みを上げることができる。
【００４０】
また、後段処理装置５０００の負荷状態、例えば、低負荷状態、通常負荷状態、高負荷状態に応じて、基準処理量設定手段１６００が基準処理量を設定することで、後段処理装置５０００の負荷状態に応じて、割り込み頻度を下げる等の対応を行うことができる。
【００４１】
（実施の形態４）
実施の形態４は、請求項９の発明を具体的に実施するものである。
【００４２】
本発明の実施の形態４における受信フレーム処理装置の構成図は、既に説明した実施の形態１〜３と同じ構成であり、総フレーム処理量予測手段１１００の構成に特徴がある。
【００４３】
図６は、本発明の実施の形態４における総フレーム処理量予測手段１１００の構成図である。
【００４４】
図６において、実施の形態４における総フレーム処理量予測手段１１００は、フレーム解析手段１１１０と、フレーム毎処理量予測手段１１２０と、総処理量計算手段１１９０と、から構成されている。
【００４５】
フレーム解析手段１１１０は、受信フレームを解析してフレーム属性を判定するものである。
【００４６】
フレーム毎処理量予測手段１１２０は、フレーム属性に基づいてフレーム処理量を予測するものである。
【００４７】
総処理量計算手段１１９０は、フレーム処理量を積算して総フレーム処理量を計算して、処理量比較手段１２００へ通知するものである。なお、総処理量計算手段１１９０は、フレーム読み出し通知を受けて読み出したフレームのフレーム処理量を減算することにより、総フレーム処理量の補正も行う。
【００４８】
図７は、本実施の形態４における総フレーム処理量予測処理を説明するためのフローチャートである。
【００４９】
まず、ステップ７１により、フレーム解析手段１１１０が受信フレームを解析してフレーム属性を判定し、続いてステップ７２により、フレーム毎処理量予測手段１１２０がフレーム属性に基づいてフレーム処理量を予測する。
【００５０】
そして、ステップ７３により、総処理量計算手段１１９０は、フレーム毎の処理量がフレーム毎処理量予測手段１１２０から送られてくるので、フレーム毎の処理量を総フレーム処理量に積算して総フレーム処理量を計算し、フレーム読み出し通知を受けた際に、総フレーム処理量を処理量比較手段１２００へ通知すると共に、読み出したフレームのフレーム処理量を計算中の総フレーム処理量より減算することにより、総フレーム処理量の補正を行う。
【００５１】
このように、本実施の形態４によれば、フレーム解析手段１１１０がフレーム属性を判定し、フレーム毎処理量予測手段１１２０がフレーム属性に基づいてフレームの処理量を予測して、総処理量計算手段１１９０がフレーム処理量を積算し、かつ、読み出されたフレームのフレーム処理量を減算して補正するため、総フレーム処理量を予測することができる。
【００５２】
（実施の形態５）
実施の形態５は、請求項１０、１１、１２の発明を具体的に実施するものである。
【００５３】
本発明の実施の形態５における受信フレーム処理装置の構成図は、既に説明した実施の形態１〜３と同じ構成であり、総フレーム処理量予測手段１１００の構成は、図６に示す実施の形態４と同じ構成であり、フレーム毎処理量予測手段１１２０の構成、及び、動作に特徴がある。
【００５４】
図８は、本発明の実施の形態５における総フレーム処理量予測手段１１００の構成図である。図８において、図６と同じ構成要素については同じ符号を用い、説明を省略する。
【００５５】
図８において、本発明の実施の形態５のフレーム毎処理量予測手段１１２０は、処理量計算手段１１３０と、予測パラメータ保持手段１１４０とから構成されている。
【００５６】
処理量計算手段１１３０は、フレーム属性として、フレームのプロトコル種類、及びフレーム長またはペイロード長をフレーム解析手段１１１０から入力されると、予測パラメータ保持手段１１４０にプロトコル種類を入力し、そのプロトコルのプロトコル固有の固定処理量と、そのプロトコルのフレーム長またはペイロード長依存の単位データ量当たりの処理量を受け取り、単位データ量当たりの処理量とフレーム長またはペイロード長を乗算し、更に固定処理量を加算することでフレームの処理量を計算するものである。
【００５７】
予測パラメータ保持手段１１４０は、プロトコル種類毎に予測パラメータを保持するもので、次に説明する図９に具体例を示す。
【００５８】
図９は、本発明の実施の形態５における予測パラメータ保持手段１１４０の内部テーブル、及び、その設定例である。
【００５９】
実施の形態５における予測パラメータ保持手段１１４０は、プロトコル種類毎に予測パラメータを保持するもので、予測パラメータとしてプロトコル固有のフレーム長非依存の固定処理量を予測パラメータ１、フレーム長またはペイロード長依存の単位データ当たりの処理量を予測パラメータ２として保持する。なお、プロトコル種類は、実際の設計では、イーサネット（登録商標）タイプ、プロトコルID等のIDを用いて指定し、図９では、一例として、ＡＲＰ、ＵＤＰ/ＩＰ、ＩＰＳＥＣ−ＥＳＰを挙げている。
【００６０】
図１０は、本発明の実施の形態５における処理量計算手段１１３０におけるフレーム処理量予測処理を説明するためのフローチャートである。
【００６１】
まず、処理量計算手段１１３０は、ステップ１０１により、プロトコル種類、フレーム長またはペイロード長を入力されると、次のステップ１０２により予測パラメータ保持手段１１４０から予測パラメータ１、予測パラメータ２を取得する。
【００６２】
そして、処理量計算手段１１３０は、続くステップ１０３により、「予測パラメータ１＋予測パラメータ２×フレーム長またはペイロード長」を、予測フレーム処理量として、フレーム処理量を予測する。
【００６３】
ここで、フレーム長非依存の固定処理量と、フレーム長依存の単位データ量当たりの処理量の２つの予測パラメータ１，２を使用しているのは、一般的にフレームのヘッダ処理の処理量はフレーム長に依存しないこと、及び、メモリ転送や、暗号化処理がフレーム長に大きく依存することより、固定処理量とフレーム長依存の単位データ量当たりの処理量の２つのパラメータでほぼフレーム処理量が予測できるためである。
【００６４】
なお、装置によって、扱うフレームの種類が少ない場合が有る。例えば、暗号化処理のフレームを扱わず、また、メモリ転送処理を意識しなくて良いほどメモリ転送性能アーキテクチャが優れているなどの場合である。このような場合では、プロトコルの固定処理量だけでフレーム処理量を予測することで、簡易に実現できる。一方、暗号化処理のフレームの扱いが主である装置では、フレーム長依存の処理量の方が大きいため、固定処理量を無視して、フレーム長依存の単位データ量当たりの処理量だけでフレーム処理量を予測することで、簡易に実現できる。
【００６５】
図１１は、予測パラメータとして、プロトコル固有のフレーム長非依存の固定処理量のみを用いる場合の予測パラメータ保持手段１１４０の内部テーブル例を示す。
【００６６】
図１１に示す内部テーブルの場合、図９の場合と異なり、予測パラメータとしてプロトコル固有のフレーム長非依存の固定処理量である予測パラメータ１のみを保持する。なお、プロトコル種類は、図９の場合と同様に、ＡＲＰ、ＵＤＰ/ＩＰ、ＩＰＳＥＣ−ＥＳＰを挙げている。
【００６７】
図１２は、プロトコル固有のフレーム長非依存の固定処理量である予測パラメータ１のみを用いる場合の予測パラメータ保持手段１１４０のフローチャートである。
【００６８】
この場合は、まず、処理量計算手段１１３０は、ステップ１３１により、プロトコル種類が入力されると、次のステップ１３２によりそのプロトコル種類に基づいて、予測パラメータ保持手段１１４０から予測パラメータ１を取得し、続くステップ１３３により、「予測パラメータ１＝予測フレーム処理量」としてフレーム処理量を予測する。
【００６９】
このように、プロトコル固有のフレーム長非依存の固定処理量である予測パラメータ１だけでフレーム処理量を予測することで、簡易に実現できる。
【００７０】
図１３は、予測パラメータとしてフレーム長依存の単位データ量当たりの処理量のみを用いる場合の予測パラメータ保持手段１１４０の内部テーブル例である。
【００７１】
図１３に示す内部テーブルの場合、図９の場合と異なり、予測パラメータとして、フレーム毎処理量のフレーム長依存の単位データ量当たりの処理量である予測パラメータ１のみを保持する。なお、プロトコル種類は、図９の場合と同様に、ＡＲＰ、ＵＤＰ/ＩＰ、ＩＰＳＥＣ−ＥＳＰを挙げている。
【００７２】
図１４は、予測パラメータとしてフレーム長依存の単位データ量当たりの処理量のみを用いる場合の予測パラメータ保持手段１１４０のフローチャートである。
【００７３】
この場合は、まず、処理量計算手段１１３０は、ステップ１５１により、プロトコル種類、フレーム長またはペイロード長が入力されると、次のステップ１５２によりそのプロトコル種類に基づいて、予測パラメータ保持手段１１４０から予測パラメータ２を取得する。
【００７４】
そして、処理量計算手段１１３０は、続くステップ１５３により、「予測パラメータ２×フレーム長またはペイロード長」を、予測フレーム処理量としてフレーム処理量を予測する。
【００７５】
このように、暗号化処理等のフレームの扱いが主である装置では、フレーム長依存の処理量の方が大きいため、固定処理量を無視して、フレーム長依存の単位データ量当たりの処理量だけでフレーム処理量を予測することで、簡易に実現できる。
【００７６】
このように、本実施の形態５によれば、処理量計算手段１１３０が、予測パラメータ保持手段１１４０が保持するプロトコル種類毎のフレーム長非依存の固定処理量と、フレーム長依存の単位データ量当たりの処理量との２つのパラメータを用いて、フレーム処理量を予測するため、様々なプロトコル、フレーム長のフレームが入力される場合でも、正確にフレーム処理量を予測することができる。
【００７７】
また、フレーム長非依存の固定処理量である予測パラメータ１のみを用いてフレーム処理量を予測する場合でも、フレーム長で処理量が大きく違ってしまう暗号化などのプロトコルのフレームが入力されない装置においては、簡易にフレーム処理量を予測することができる。
【００７８】
また、フレーム長依存の単位データ量当たりの処理量である予測パラメータ２のみを用いてフレーム処理量を予測する場合でも、フレーム長で処理量が大きく違ってしまう暗号化などのプロトコルのフレームを主に処理する装置においては、簡易にフレーム処理量を予測することができる。
【００７９】
（実施の形態６）
実施の形態６は、請求項１３の発明を具体的に実施するものである。
【００８０】
図１５は、本発明の実施の形態６におけるフレーム毎処理量予測手段１１２０の構成図である。
【００８１】
図１５において、図８と同じ構成要素については同じ符号を用い、説明を省略する。
【００８２】
図１５に示す実施の形態６におけるフレーム毎処理量予測手段１１２０は、実施の形態５に対して、パラメータ設定手段１１５０を追加した構成であり、予測パラメータ保持手段１１４０の保持する予測パラメータを設定することができる。例えば、後段処理装置５０００の構成が変更され、暗号計算を補助するようなアクセラレータが追加されるような場合、暗号処理が支援されるため、暗号処理におけるプロセッサ自体の担当する処理量は小さくなるが、このような後段処理装置５０００の構成変更によるプロセッサ処理量の変化に合わせて、予測パラメータを設定変更することができる。
【００８３】
このように、本実施の形態６によれば、パラメータ設定手段１１５０が予測パラメータを予測パラメータ保持手段１１４０に対し設定するため、後段処理装置５０００において、アクセラレータの追加などの構成の変更が行われるなどで、特定のフレームの処理量が変わる場合でも、予測パラメータを修正することができる。
【００８４】
（実施の形態７）
実施の形態７は、請求項１４の発明を具体的に実施するものである。
【００８５】
図１６は、本実施の形態７における受信フレーム処理装置１０００の構成図である。図１６において、図２と同じ構成要素については同じ符号を用い、説明を省略する。
【００８６】
図１６に示す本実施の形態７における受信フレーム処理装置１０００は、実施の形態１に対して別条件手段１８００を追加した構成であり、別条件手段１８００の出力は割り込み生成手段１９００に入力している。
【００８７】
別条件手段１８００の別条件としては、例えば、以下の２種類の実装形態がある。
【００８８】
（１）追加条件の実装
総フレーム処理量が基準処理量と比較して大きい場合で、かつ、別条件が成立する場合に割り込みを生成する。
【００８９】
この実装では、割り込みの生成自体を別条件で制限することができる。例えば、割り込み後の再割り込みにおける時間に最低時間の制限をかけたい場合などに、前回割り込みからの時間が最低時間を満たすということを別条件とするなどである。
【００９０】
（２）並列条件の実装
総フレーム処理量が基準処理量と比較して大きくなくても、別条件が成立する場合には、割り込みを生成する。
【００９１】
この実装では、総フレーム処理量が基準処理量と比較して大きい場合に割り込みを上げるという割り込み効率を上げる制御に対して、優先して割り込みを上げることができる。
【００９２】
例えば、遅延時間を極めて小さくしなければいけないフレームが到着することを別条件とすることにより、この種のフレームが到着するとただちに割り込みを生成することができる。
【００９３】
図１７は本実施の形態７における受信フレーム処理において、（１）追加条件の実装によるフローチャートである。
【００９４】
図１７において、まず、ステップ１８１により、総フレーム処理量予測手段１１００がフレームを受信すると、ステップ１８２により総フレーム処理を予測し、予測した総フレーム処理量を処理量比較手段１２００へ出力する。
【００９５】
すると、処理量比較手段１２００は、ステップ１８３により、総フレーム処理量と、基準処理量とを比較して、総フレーム処理量が基準処理量より小さい場合には、ステップ１８１に戻り、フレームの受信処理と、ステップ１８２の総フレーム処理量の予測処理を続ける一方、総フレーム処理量が基準処理量より大きい場合には、ステップ１８４に進み、別条件が成立しているか否かを確認し、成立している場合には、ステップ１８５で割り込みを生成する。
【００９６】
図１８は、本実施の形態７における受信フレーム処理における（２）並列条件の実装によるフローチャートである。
【００９７】
図１８において、まず、ステップ１９１によりフレーム処理量予測手段１１００がフレームを受信すると、続くステップ１９２によりフレーム処理量予測手段１１０が総フレーム処理量を予測し、予測した総フレーム処理量を処理量比較手段１２００へ出力する。
【００９８】
一方、割り込み生成手段１９００は、ステップ１９３により、総フレーム処理量と、基準処理量と比較すると共に、別条件が成立したか否かを確認して、総フレーム処理量が基準処理量より大きいか、または、別条件が成立する場合には、ステップ１９４により割り込みを生成する。
【００９９】
このように、本実施の形態７によれば、別条件手段１８００を設け、割り込み生成手段１９００は、予測した処理量が基準処理量より大きく、かつ、別条件が成立する場合、若しくは、予測した処理量が基準処理量より大きいか、または、別条件が成立する場合、前記後段処理装置に割り込みを発生させるようにしたので、例えば、遅延時間を極めて小さくしなければいけないフレームが到着することを別条件とすることにより、このフレームが到着するとただちに割り込みを生成し、遅延を小さくすることができる等、割り込みの別条件を簡単に設定することができる。
【０１００】
(実施の形態８)
実施の形態８は、請求項１５の発明を具体的に実施するものである。
【０１０１】
図１９は、本実施の形態８における受信フレーム処理装置１０００の構成図である。図１９において、図２と同じ構成要素については同じ符号を用い、説明を省略する。
【０１０２】
図１９に示す本実施の形態８における受信フレーム処理装置は、図２に示す実施の形態１の割り込み生成手段１９００に代えて、後段処理装置５０００の総フレーム処理量が基準処理量より大きい場合に処理量比較手段１２００から出力される通知の受信ステータスを生成する受信ステータス生成手段４０００を備えたものである。
【０１０３】
このため、本実施の形態８では、後段処理装置５０００が受信フレームを処理している際に、処理量比較手段１２００は、後段処理装置５０００の総フレーム処理量と基準処理量とを比較して、後段処理装置５０００の総フレーム処理量が基準処理量より大きくなると、受信ステータス生成手段４０００へ通知する。
【０１０４】
受信ステータス生成手段４０００では、処理量比較手段１２００からの通知を受けて、その通知の受信ステータスを生成する。
【０１０５】
受信ステータス生成手段４０００が生成する処理量比較手段１２００からの通知の受信ステータスは、実施の形態１の割り込み生成手段１９００による割り込み生成と同様のタイミングで変化するため、後段処理装置５０００は、割り込み生成と同様のタイミングで変化する受信ステータスを受信ステータス生成手段４０００から読み込む。
【０１０６】
これにより、後段処理装置５０００は、前記実施の形態１〜７のように、受信フレーム処理装置１０００に割り込み生成手段１９００が設けられていなくても、その割り込み生成と同様のタイミングで変化する受信ステータスを受信ステータス生成手段４０００から読み込むことにより、後段処理装置５０００の総フレーム処理量が基準処理量より大きいことを認識することが可能となる。
【０１０７】
このように、本実施の形態８によれば、割り込みにより後段処理装置５０００に通知するのではなく、後段処理装置５０００が受信ステータスをポーリングする受信処理装置であっても、総フレーム処理量が基準処理量と比較して大きい場合でないと、受信ステータスがアサートされないため、少ない処理量に対して、後段処理装置５０００が受信フレーム取得動作を行うことが無く、効率的に受信フレーム取得動作を行うことができる。
【０１０８】
尚、本実施の形態８では、割り込み生成手段１９００の代わりに、受信ステータス生成手段４０００を設けて説明したが、本発明では、これに限らず、割り込み生成手段１９００と、受信ステータス生成手段４０００とを両方設けて、後段処理装置５０００の総フレーム処理量が基準処理量より大きいことを、後段処理装置５０００は、受信フレーム処理装置１０００からの割り込みにより認識したり、受信ステータスを読みにいくことにより認識することを、後段処理装置５０００で処理するプログラムに応じて弾力に切り替えるようにしても勿論良い。このようにすれば、後段処理装置５０００にて、受信フレーム処理装置１０００がリアルタイムで処理しなければいけないアプリケーションプログラムを実行している場合には、後段処理装置５０００の総フレーム処理量が基準処理量より大きいことを割り込み処理により認識する一方、リアルタイム処理が要求されないアプリケーションプログラムを実行している場合には、後段処理装置５０００の総フレーム処理量が基準処理量より大きいことを、自ら受信ステータスを読みにいくことにより認識することができる。
【０１０９】
以上説明した通り、本発明の一形態によれば、後段処理装置への受け渡し待ちの全ての受信フレームに対して、後段処理装置における総フレーム処理量を予測する総フレーム処理量予測手段と、前記後段処理装置における基準処理量を保持する基準処理量保持手段と、前記予測した総フレーム処理量と、前記基準処理量とを比較する処理量比較手段と、前記予測した総フレーム処理量が前記基準処理量より大きい場合に、前記後段処理装置に対して割り込みを生成する割り込み生成手段と、を有する構成を採る。これにより、総フレーム処理量が十分大きくなるまでフレームを受信してから、割り込みを生成するようにできる。
【０１１０】
また、基準処理量として、後段処理装置における割り込み自体の処理量の定数分の１となる固定値を用いる。これにより、総フレーム処理量が割り込み自体の処理量より十分大きい場合のみに割り込みを発生することになり、割り込み効率が向上する。
【０１１１】
また、複数の基準処理量保持手段１３００，１４００を設け、選択手段１５００により基準処理量を選択するようにしたので、状況に応じて、基準処理量を選択することにより、状況にあわせたしきい値（基準処理量）で割り込み生成を行うことができる。
【０１１２】
その際、特に、後段処理装置の動作モード、例えば、低消費電力低性能モード、通常動作通常性能モードに応じて、基準処理量を選択することにより、後段処理装置の動作モード変更による性能の変化に応じて、割り込みを上げるしきい値（基準処理量）を選択できる。
【０１１３】
また、特に、後段処理装置の負荷状態、例えば、低負荷状態、通常負荷状態、高負荷状態に応じて、基準処理量を選択することにより、後段処理装置の負荷状態に応じて、割り込みを上げるしきい値（基準処理量）を選択できる。
【０１１４】
また、基準処理量設定手段１６００を設け、基準処理量を設定できるようにしたので、状況に応じて、基準処理量を設定することにより、状況に合わせたしきい値（基準処理量）で割り込み生成を行うことができる。
【０１１５】
その際、特に、後段処理装置５０００の動作モード、例えば、低消費電力低性能モード、通常動作通常性能モードに応じて、基準処理量を設定することにより、後段処理装置５０００の動作モード変更による性能の変化に応じて、割り込みを上げるしきい値（基準処理量）を設定できる。
【０１１６】
また、特に、後段処理装置５０００の負荷状態、例えば、低負荷状態、通常負荷状態、高負荷状態に応じて、基準処理量を設定することにより、後段処理装置５０００の負荷状態に応じて、割り込みを上げるしきい値（基準処理量）を設定できる。
【０１１７】
また、総フレーム処理量予測手段１１００を、フレーム解析手段１１１０と、フレーム毎処理量予測手段１１２０と、総処理量計算手段１１９０により構成したので、フレームを解析してフレームの属性を知り、フレーム属性に基づいてフレームの処理量を予測し、総和を取ることで、総フレーム処理量を計算することができる。
【０１１８】
また、フレーム毎処理量予測手段１１２０を、プロトコル種類、及びフレーム長またはペイロード長に基づく処理量計算手段１１３０と、プロトコル種類毎のフレーム長非依存の固定処理量と、プロトコル毎のフレーム長またはペイロード長依存の単位データ量当たりの処理量を保持する予測パラメータ保持手段１１４０により構成したので、フレームの属性としてプロトコル種類、及びフレーム長またはペイロード長に基づいてフレームの処理量を予測するために、様々なプロトコル、フレーム長のフレームが入力される場合でも、フレーム処理量を予測することができる。
【０１１９】
また、フレーム毎処理量予測手段１１２０を、プロトコル種類に基づく処理量計算手段１１３０と、プロトコル種類毎のフレーム長非依存の固定処理量を保持する予測パラメータ保持手段１１４０により構成したので、フレームの属性としてプロトコル種類に基づいてフレームの処理量を予測するために、フレーム長またはペイロード長で処理量が大きく違ってしまうプロトコルのフレーム、例えば、暗号化されたフレーム等が入力されない装置において、簡易に、フレーム処理量を予測することができる。
【０１２０】
また、フレーム毎処理量予測手段１１２０を、フレーム長またはペイロード長に基づく処理量計算手段１１３０と、プロトコル種類毎のフレーム長またはペイロード長依存の単位データ量当たりの処理量を保持する予測パラメータ保持手段１１４０により構成したので、フレームの属性として主にフレーム長またはペイロード長に基づいてフレームの処理量を予測するために、フレーム長またはペイロード長で処理量が大きく違ってしまうプロトコルのフレームを主に処理する装置において、簡易にフレーム処理量を予測することができる。
【０１２１】
また、予測パラメータ保持手段１１４０で保持する予測パラメータを設定できるようにしたので、例えば、後段処理装置５０００の構成にアクセラレータを追加するなど、後段処理装置５０００の構成が変更され、特定のプロトコルのフレームに対してプロセッサで必要な処理量が小さくて済むようになった場合に予測パラメータを修正することができる。
【０１２２】
また、別条件手段１８００を設け、予測した処理量が基準処理量より大きく、かつ、別条件が成立する場合、若しくは、予測した処理量が基準処理量より大きいか、または、別条件が成立する場合、後段処理装置５０００に割り込みを発生するようにしたので、例えば、遅延時間を極めて小さくしなければいけないフレームが到着することを別条件とすることにより、このフレームが到着するとただちに割り込みを生成し、遅延を小さくすることができる。
【０１２３】
また、通信処理装置が以上の受信フレーム処理装置１０００を備えるようにしたので、総フレーム処理量が基準処理量を超える場合のみに割り込みを発生するため、後段処理装置５０００内のプロセッサ５１００における割り込み効率が向上することにより、プロセッサ５１００に余剰能力が生まれるため、余剰能力を他のアプリケーション処理に用いることが出来たり、より安価な低性能なプロセッサにリプレースしてコスト削減をすることができる。
【０１２４】
また、割り込み生成手段１９００に代えて、受信ステータス生成手段４０００を備え、割り込み生成と同様のタイミングで変化する受信ステータスを後段処理装置５０００が読み込むようにしたので、割り込みにより後段処理装置５０００に通知するのではなく、後段処理装置５０００が受信ステータスをポーリングする受信処理装置であっても、総フレーム処理量が基準処理量と比較して大きい場合でないと、受信ステータスがアサートされないため、少ない処理量に対して、後段処理装置５０００が受信フレーム取得動作を行うことが無く、効率的に受信フレーム取得動作を行うことができる。
【０１２５】
また、基準処理量は、後段処理装置５０００が単位時間に処理できる処理量を基準とした値、または後段処理装置５０００が処理終了するまでに必要とする時間を基準とした値、後段処理装置５０００の中における特定の機能における処理量、例えば、プロセッサ５１００の処理量としても良く、処理量自体ではなく、正規化した数値を用いても良いようにしたので、後段処理装置５０００の処理性能、処理時間、後段処理装置５０００の中における特定の機能の処理能力、処理時間などの中で、その通信処理装置でネックとなる機能、性能に基づいて制御することができる。
【０１２６】
なお、上記実施の形態１では、受信フレーム処理装置１０００により説明したが、このような実施の形態１〜７の受信フレーム処理装置１０００を搭載した通信処理装置でも、上記と同様の効果が得られる。
【産業上の利用可能性】
【０１２７】
本発明にかかる受信フレーム処理装置、通信処理装置、及び受信フレーム処理方法は、後段処理装置における総フレーム処理量を予測し、その総フレーム処理量が前記後段処理装置の基準処理量より大きくなるまでフレームを受信してから、割り込みを生成するため、後段処理装置における総フレーム処理量に合わせて総フレーム処理量に占める割り込み処理量の割合が十分小さい状態で割り込みを生成することができる、という効果を有し、ネットワークよりフレームを受信すると割込みを出力する機能を有する通信処理装置に内蔵する受信フレーム処理装置や、通信処理装置、及び受信フレーム処理方法として有用である。
【図面の簡単な説明】
【０１２８】
【図１】本発明を内蔵する通信処理装置の構成図
【図２】実施の形態１における受信フレーム処理装置の構成図
【図３】実施の形態１における受信フレーム処理装置の動作を説明するためのフローチャート
【図４】実施の形態２における受信フレーム処理装置の構成図
【図５】実施の形態３における受信フレーム処理装置の構成図
【図６】実施の形態４における総フレーム処理量予測手段の構成図
【図７】実施の形態４における総フレーム処理量予測手段の動作を説明するためのフローチャート
【図８】実施の形態５における総フレーム処理量予測手段の構成図
【図９】実施の形態５における予測パラメータ保持手段内部のテーブル構成を示す図
【図１０】実施の形態５におけるフレーム毎処理量予測手段の動作を説明するためのフローチャート
【図１１】実施の形態５におけるフレーム長非依存の固定処理量のみを用いる予測パラメータ保持手段内部のテーブル構成を示す図
【図１２】実施の形態５におけるフレーム長非依存の固定処理量のみを用いるフレーム毎処理量予測手段の動作を説明するためのフローチャート
【図１３】実施の形態５におけるフレーム長依存の処理量のみを用いる予測パラメータ保持手段内部のテーブル構成を示す図
【図１４】実施の形態５におけるフレーム長依存の処理量のみを用いるフレーム毎処理量予測手段の動作を説明するためのフローチャート
【図１５】実施の形態６におけるフレーム毎処理量予測手段の構成図
【図１６】実施の形態７における受信フレーム処理装置の構成図
【図１７】実施の形態７におけるフレーム毎処理量予測手段の追加条件における動作を説明するためのフローチャート
【図１８】実施の形態７におけるフレーム毎処理量予測手段の並列条件における動作を説明するためのフローチャート
【図１９】実施の形態８における受信フレーム処理装置の構成図
【図２０】従来の受信フレーム処理装置のフローチャート
【符号の説明】
【０１２９】
１０００  受信フレーム処理装置
１１００  総フレーム処理量予測手段
１１１０  フレーム解析手段
１１２０  フレーム毎処理量予測手段
１１３０  処理量計算手段
１１４０  予測パラメータ保持手段
１１５０  パラメータ設定手段
１１９０  総処理量計算手段
１２００  処理量比較手段
１３００  基準処理量保持手段
１４００  基準処理量保持手段
１５００  選択手段
１６００  基準処理量設定手段
１８００  別条件手段
１９００  割り込み生成手段
２０００  ネットワークインタフェース
３０００  受信フレーム格納部
４０００  受信ステータス生成手段
５０００  後段処理装置
５１００  プロセッサ
５２００  メインメモリ
【図１】
2006067140.tif 000003
【図２】
2006067140.tif 000004
【図３】
2006067140.tif 000005
【図４】
2006067140.tif 000006
【図５】
2006067140.tif 000007
【図６】
2006067140.tif 000008
【図７】
2006067140.tif 000009
【図８】
2006067140.tif 000010
【図９】
2006067140.tif 000011
【図１０】
2006067140.tif 000012
【図１１】
2006067140.tif 000013
【図１２】
2006067140.tif 000014
【図１３】
2006067140.tif 000015
【図１４】
2006067140.tif 000016
【図１５】
2006067140.tif 000017
【図１６】
2006067140.tif 000018
【図１７】
2006067140.tif 000019
【図１８】
2006067140.tif 000020
【図１９】
2006067140.tif 000021
【図２０】
2006067140.tif 000022