説明

コンピュータ装置およびパケット受信制御方法

【課題】輻輳状態のときにCPUに負担をかけずに音声データなど特定データを優先的に受信することのできるコンピュータ装置およびパケット受信制御方法を提供する。
【解決手段】CPUの機能ブロックにCPUの使用率を測定する手段と、そのCPU使用率を受信ドライバから参照させるためのインタフェースを設け、受信ドライバは定期的にCPU使用率を読み込んでこのCPU使用率が上限を超えたときに、設定された閾値以下のパケット長のデータのみを受信し、閾値より大きいロングパケットは廃棄することによって、受信ドライバから上位レベルへのイベント通知を削減する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、受信側のCPU負荷が高くなったときに特定のパケットを優先的に受信処理することのできるコンピュータ装置およびパケット受信制御方法に関する。
【背景技術】
【0002】
従来のコンピュータ装置99のIPパケットの受信処理手順について図10を用いて説明する。この図において、コンピュータ装置99は、通信回線を通して伝送されてきた自装置宛てのデータパケットD1〜D4をイーサネット(登録商標)コントローラ(以下、伝送コントローラという。)10で受信する(ステップS1)。この受信データはCPUから制御できる受信データバッファ14に順次コピーされる(ステップS2)。
【0003】
また、伝送コントローラ10は、受信のたびにハードウェアによる割込み信号を発生させて割込みドライバ11を起動し、受信したパケットを受信データバッファ14に転送したことをCPUへ伝える(ステップS3)。割込み信号によって起動された割込みドライバ11は、オペレーティングシステム(以下、OSという。)12に受信イベント通知1を発生させる(ステップS4)。以降は、イーサネット(登録商標)データ受信ドライバ(以下、受信ドライバという。)13、IPスタック15、アプリケーション16に対して順次受信イベント通知が行われ(ステップS5〜ステップS7)、アプリケーション16によって受信データバッファ14からデータが読み出される(ステップS8)。
【0004】
以上の処理において、ステップS1〜ステップS3まではハードウェアで行われ、CPUの処理能力に関係なく実行される。このため、CPUの処理能力限界に近い場合、ステップS4以降の途中でステップS1〜ステップS3までの処理が行われることになる。
このとき、ステップS4以降の処理が完了しないうちに、ステップS1〜ステップS3の処理を繰り返し行われると、受信したパケットのデータが受信データバッファ14に蓄積されていく。ステップS4以降の処理で受信データバッファ14からデータを取り出す処理が遅れると、受信データバッファ14がオーバフローし、伝送コントローラ10が受信データバッファ14にコピーできなかったデータは廃棄されることになる。
【0005】
このように、輻輳時などCPUの負荷が高い状態にあるときに、重要なデータが廃棄される可能性がある。たとえば、VoIPの音声パケットとそれ以外のパケットが混在するとき、音声パケットが廃棄されると音声品質が悪くなるという問題が生じる。
受信装置において特定のパケットを優先的に処理する技術として、特許文献1には、パケット簡易検査手段によって、特定ポート番号を持つパケットを監視して該当するパケットのIPアドレスを抽出し、次に、パケット詳細検査手段によって、抽出されたIPアドレスを持つパケットを監視し、該当するパケットを、TCP/UDPレベルにおいて解析して、データ通信時のポート番号の情報を取得し、このポート番号を持つパケットの優先度を高優先度に設定することによって、データ通信時のポート番号が不定でも、QoS保証するパケット伝送装置が記載されている。
【0006】
また、特許文献2では、パケット受信部とパケット処理部との間にパケット入力制限処理部を設け、パケット処理部の輻輳判定時には、パケット入力制限処理部を動作させて、パケットタイプをイーサネット(登録商標)ヘッダ、IPヘッダ、およびTCP/UDPヘッダで判定し、指定されたタイプのパケットを優先的にパケット処理部に通過させることによって、輻輳の発生時にパケット受信部からパケット処理部に引き継ぐパケットを特定のパケットに絞り込むことにより、優先されるべき特定のパケットの通過を確保して輻輳を早期に解消することのできるパケット処理装置が提案されている。
【特許文献1】特開2003−87300号公報
【特許文献2】特開2006−238039号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上記の各特許文献の技術は、特定のポートや各種ヘッダのパケットタイプを監視することによるCPUの処理負荷が大きく、この負荷の軽減が望まれている。
また、特許文献2では、パケットの優先受信処理を行う機能のみしか利用されないキューの上限値で輻輳判定を行っているため、コンピュータ装置が他の機能と平行して処理を行っているような場合、他の機能に影響を与える虞がある。
【0008】
本発明は、上述のかかる事情に鑑みてなされたものであり、CPU使用率に応じて受信ドライバから上位レベルへのイベント通知を制御することによって、CPUに負担をかけずに音声データなど特定のデータの優先受信処理を実行することのできるコンピュータ装置およびパケット受信制御方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明はCPUの機能ブロックにCPUの使用率(負荷)を測定し、そのCPU使用率を受信ドライバから参照させるためのインタフェースを持たせ、受信ドライバは定期的にCPUの使用率を読み込んで、指定したCPU負荷の上限以上になったときに、パケット長が設定された閾値以下であるショートパケットのみを受信し、閾値より大きいロングパケットを廃棄するという処理を実行させるようにした。
【0010】
これにより、CPU負荷が高くなったときでもショートパケット以外のパケットを廃棄し、ショートパケットの伝送品質を担保する。特に音声データとそれ以外のデータの混在する通信システムにおいては、音声データをショートパケットで送信し、それ以外のデータをロングパケットで送信することによって、CPU負荷が高くなったときでも音声データの品質を確保することができる。
【0011】
具体的には、本発明に係わるコンピュータ装置は、CPUを有しデータ処理を実行する演算処理部と、伝送パケットの受信処理を行う受信処理部とを有し、受信処理部で受信したデータをイベント通知によって演算処理部へ渡すコンピュータ装置であって、受信処理部は、演算処理部に対して受信データを渡すか否かを判定するための閾値となるパケット長を保存し、データ受信時に受信データのパケット長と閾値とを比較して閾値以下のパケット長の受信データのみを演算処理部に渡すことを特徴とする。演算処理部には、CPUの使用率を測定するCPU使用率測定手段を設け、当該使用率に応じて、閾値の設定や変更を行う。
【0012】
本発明では、伝送コントローラのステータスレジスタを読むことで取得することのできるパケット長によって受信データをフィルタリングし、イベント通知を減らして演算処理部の負荷を軽減する。なお、CPU使用率は、CPUのアイドル時間に基づいて決めても良いし、特定のタスクの起動周期等によって判定をしても良い。「コンピュータ装置」は、いわゆる汎用のコンピュータのほか、通信データを中継するルータなどの専用の装置も含む。
【0013】
また、本発明に係わるコンピュータ装置の演算処理部は、CPU使用率が予め備える基準値を超えたときに、輻輳状態にあることを前記受信処理部へ通知し、前記受信処理部は、受信したデータをもとに受信データのパケット長リストを作成し、当該通知を受けたときに、該パケット長リストを参照して現在の閾値として設定されているパケット長よりも小さいパケット長を新たな閾値として設定することを特徴とする。
【0014】
本発明では、受信データからそのパケット長の履歴を保存しておいて、CPUの負荷が高くなったときに、順次小さいパケット長に閾値を更新していく。
なお、複数回線の伝送データを処理するコンピュータ装置においては、回線の優先度に基づいて、優先度が高くなるに伴って順に小さいパケット長を回線ごとに割付け、CPU使用率が高くなるに従って、優先度の低い回線から順にその回線のパケット長を前記閾値として設定すると良い。
【0015】
また、本発明に係わるコンピュータ装置では、演算処理部は、CPU使用率の測定処理における上限となる第1の基準値と下限となる第2の基準値とを有し、CPU使用率が第1の基準値以上になったときに、パケット長リストに基づいて、現在の閾値となっているパケット長よりも小さいパケット長を新たな閾値として設定し、CPU使用率が第2の基準値以下になったときにパケット長リストに基づいて、現在の閾値となっているパケット長よりも大きいパケット長を新たな閾値として設定し、受信処理部は、受信処理を実行する伝送コントローラを有し、該伝送コントローラは演算処理部により設定された閾値に基づいて、設定されている閾値よりも大きいパケット長のデータを受信したときは該データの廃棄処理を実行し、閾値以下のパケット長のデータを受信したときは該データを演算処理部から読み込み可能な受信データバッファへ転送すると共に割込み信号を発生させて受信を通知することを特徴とする。
【0016】
本発明では、伝送コントローラ(ハードウェア)と演算処理部のソフトウェアとで機能分担をし、ソフトウェアから伝送コントローラに閾値を設定するようにして、伝送コントローラでは、この閾値と受信データのパケット長とを比較して廃棄処理や割込み信号の制御を実行する。ここで、廃棄とは、全部廃棄のほか、何回かに1回定期的に廃棄するといういわゆる間引き処理も含む。
【0017】
なお、演算処理部において、CPUの実行するタスクの優先度に基づいて、高優先度のタスクに対しては小さいパケット長を割り付け、CPUの負荷が高くなるに従って、優先度の低いタスクから順にそのタスクのパケット長を閾値として設定することによって、高負荷時のタスクの優先制御も可能となる。
本発明に係わるパケット受信制御方法は、UDPパケットとTCPパケットの混在する伝送データを受信処理するコンピュータ装置のパケット受信制御方法であって、UDPパケットにはTCPパケットに比べて、相対的に小さいパケット長を割り付け、CPU使用率が予め定められた基準値以上になったときは、受信ドライバの処理により、UDPパケットのパケット長を閾値として当該閾値よりも大きいパケット長のデータは廃棄し、該閾値以下のパケット長は受信処理することを特徴とする。
【0018】
特にコンピュータ装置をVoIPルータとして機能させる場合、トラフィックの増加等によって輻輳状態に陥ったときでも、本発明により音声パケットの品質の低下を防止することができる。
【発明の効果】
【0019】
本発明によれば、データの優先度に基づいて優先度の高いデータについては小さなパケット長を設定し、受信データのパケット長とCPU使用率に応じて定まる閾値とを比較して、閾値以下のパケットのみを受信して上位層へイベント通知を行うので、CPU使用率が高くなったときでも優先度の高いデータを確実に処理しつつ、CPUの負荷を軽減することができる。また、音声データについては、音声以外のデータに比べてパケット長を小さく設定することによって、音声の途切れを生じさせることなく、輻輳状態を回避することができる。
【0020】
さらに複数の音声回線を扱うルータ等のコンピュータ装置にあっては、重要な回線のパケット長を短く設定することによって、輻輳状態になったときでも重要な回線の音声品質を維持することができる。
【発明を実施するための最良の形態】
【0021】
図1は、本発明の第1の実施の形態によるコンピュータ装置1の機能説明図である。図10の従来構成との主な違いは、アプリケーションプログラムとして実現されるCPU使用率測定手段17を設け、当該手段17によって計算されたCPU使用率データを受信ドライバ13から読み込み可能にしたことである。このコンピュータ装置1は、たとえば図2に示すように、スイッチングHUB51を介して、複数のVoIP電話機52や汎用コンピュータ等で構成される端末装置53と接続して用いられる。
【0022】
次に、上記の構成におけるコンピュータ装置1の動作を説明する。
コンピュータ装置1のCPU使用率測定手段17は周期的に起動し、CPUの使用率を計算する。CPU使用率の計算方法としては、たとえばアイドル状態で動作するプログラムの一定時間内の動作時間を測定し、プログラムが動作する時間が短くなるほどCPU使用率が上がってくると判断することができる。
【0023】
一方、端末装置53やVoIP電話機52から送信されるデータは、コンピュータ装置1の伝送コントローラ10で受信される。なお、VoIP電話機同士は、端末装置間で伝送されるパケット長(パケットサイズ)よりも小さいパケット長で通信されるように設定されている。
伝送コントローラ10には、図1に示すように、伝送データが入力される。ここで、伝送データDs1〜Ds3は、VoIP電話機52からのショートパケット、伝送データDLは端末装置53からのロングパケットを表している。
【0024】
伝送コントローラ10は、伝送データの受信ごとに、このデータを受信データバッファ14へDMA転送し、割込み信号を発生する。割込みドライバ11は、この割込み信号を受けるとOS12へ受信イベント通知を行い、さらにOS12は、受信ドライバ13に受信イベント通知を行う。
以下、図3を用いて受信ドライバ13の処理を説明する。
受信ドライバ13は、OS12からの受信イベント通知によって起動すると、CPU使用率測定手段17によって計算されたCPU使用率データ18を読み込み(ステップS11)、予め設定された基準値より大きいか否かを判定する(ステップS12)。判定の結果、CPU使用率データが基準値より大きい場合は(ステップS12で「YES」)、次に、受信データのパケット長が予め設定された閾値より大きいか否かを判定し、大きい場合はその受信データを廃棄して、受信イベント通知は発生させない(ステップS14)。この廃棄の仕方としては、直前の受信データのリンクチェーンを次のショートパケットへつなげるという処理によって実現できる。なお、閾値は、VoIP電話機52から送信される音声パケットのパケット長を設定しても良いし、端末装置53から送られてくるデータのパケット長と音声パケットのパケット長の中間の値を設定するようにしても良い。
【0025】
ステップS12で、CPU使用率が基準値以下の場合、または、ステップS13で受信データが閾値以下の場合は、IPスタック15に受信イベント通知を発生する(ステップS13)。
これによりCPUの負荷が高くなりCPU使用率が一定値以上になると、端末装置53からのデータは廃棄され、VoIP電話機52からの音声パケットが優先的に受信されるようになる。
(閾値の設定方法)
以下、パケット廃棄の判定条件となる閾値の設定方法について説明する。
まず図4に示すシステム構成を構築する。すなわち、コンピュータ装置1にスイッチングHUB51を介してVoIP電話機52と接続し、定サイズパケット送信装置60を両スイッチングHUB51に接続して、定サイズパケット送信装置60からロングパケットを送信しコンピュータ装置1で中継されたデータを受信する。なお、定サイズパケット送信装置としては、米国スパイレント・コミュニケーションズ社の提供するスマートビット(SmartBits,登録商標)などがある。
【0026】
この構成において、コンピュータ装置1のCPU処理能力の上限になるように定サイズパケット送信装置60からのパケットの送信量を調整する。たとえば、VoIPルーティングの処理にCPU処理能力の20%を割り当てる場合は、音声パケット以外のパケットに対しては80%が上限になるように調整する。すなわち、CPU使用率測定手段17は、音声パケット以外のパケットによるタスクの占有割合をCPU使用率データとして保存するようにして、この値が80%を超えると、受信ドライバ13が廃棄処理を実行するように設定する。また、VoIP電話機52のパケット長を測定して、このパケット長を閾値として保存する。なお、パケット長が予め決まっているような場合は、その値を閾値として直接設定する。以上の手順で調整を行い、また閾値を登録して運用を開始する。
【0027】
受信データバッファに格納できないパケットデータは、これまでデータの種別(たとえば音声パケットか否か)によらずハードウェアで無作為に廃棄されていたが、本実施の形態によれば、CPUが受信ドライバ内で、パケット長をもとに廃棄/非廃棄の判定をするので、判定処理にCPU負荷をかけることなく、音声パケットの廃棄を起こしにくいコンピュータ装置を実現することができる。
【0028】
以上は、音声パケットとそれ以外のパケットの混在する通信システムにおいて、音声パケットを相対的に小さいパケット長として、CPUが高負荷になったときに、パケット長に基づいて音声パケットを優先して受信処理する方式であるが、データの用途やプロトコルの違いによってパケット長を割り付けて受信制御を行うようにしても良い。なお、ロングパケットの設定がされていても条件によっては短いパケット長でデータが送出される場合もあり得るが、このよう場合でもロングパケットを制限することによって総合的にCPU負荷を軽減することができる。
【0029】
次に本発明の第2の実施の形態を説明する。第1の実施の形態は、受信ドライバから上位のプログラムへのイベント通知を減らすことによってCPU負荷の削減を行ったが、本実施の形態は、伝送コントローラの機能として閾値となるパケット長を読み込んで、その閾値以下のパケットのみを受信してソフトウェアへ渡し、閾値を超えるパケットは廃棄して割込み信号を発生させないようにしたものである。
【0030】
本実施の形態によるコンピュータ装置の伝送コントローラ20は、図5に示すようにDMA機能やPCIバスなどCPUとのインタフェース機能を実行するバスインタフェース28、送信処理を行う送信回路群22、受信処理を行う受信回路群21、受信したMAC制御フレームの認識やMAC制御フレームの送信などの制御手順を実行するフロー制御手段23、物理媒体からのステーション管理データ信号を処理するステーション管理手段24、MACのステータスの表示やバスインタフェース28を通して設定された動作条件を保存するコントロール・ステータスレジスタ群25、受信の可否判定のためのパケット長を保存する閾値保存手段26、受信したデータのパケット長をチェックして廃棄するか否かを判定するパケット長チェック/廃棄処理手段27、および、物理媒体とのインタフェースである媒体インタフェース29で構成されている。
【0031】
ここで、送信回路群22は、送信用FIFO、プリアンブル・ジャム発生器、CRC発生器、パリティチェッカ、バックオフ制御回路などから構成され、受信回路群21は、受信用FIFO、アドレス識別用ARCブロック、CRC発生器・検査器、パリティ発生器などから構成され、ループバック処理、キャリア検出多重アクセス・衝突検出などを行う。本実施の形態による伝送コントローラ20の特徴とするところは、従来の伝送コントローラの機能に対し、バスインタフェース28を通してコントロール・ステータスレジスタ群25にアクセスして、閾値26をソフトウェア設定可能にしたことと、パケット長チェック/廃棄処理手段27を追加したことである。伝送コントローラ20以外の構成は、図1と同様である。
【0032】
次に、上記の構成を有するコンピュータ装置1の動作を説明する。
CPU使用率測定手段17は、CPU使用率データを計算すると、その計算結果が予め定めた基準値以上か否かを判定し、基準値以上の場合は、コントロール・ステータスレジスタ群25に廃棄処理の閾値となるパケット長を設定する。
CPU負荷の状態チェックは、第1の実施の形態では、受信ドライバが行っていたが、伝送コントローラ20内に廃棄処理機能を組み込んだ場合、ロングパケットについては割込みが発生しないため、CPU使用率測定手段17がコントロール・ステータスレジスタ群25および閾値26の設定を行う。
【0033】
パケット長チェック/廃棄処理手段27は、閾値26がセットされると、この値と受信データのパケット長とを比較して、受信データのパケット長の方が大きければ、FIFOのデータを廃棄し、コントール・ステータスレジスタ群25にパケットを廃棄したことを伝えると共に上位のバスインタフェース28に割込みが発生しないようにする。一方、受信データのパケット長が閾値以下の場合は、その受信データをバスインタフェース28へ渡すと共に割込み信号を発生する。バスインタフェース28に渡された受信データは、受信データバッファ14へDMA転送される。割込み信号は、割込みドライバ11によって処理され、以降OS12、受信ドライバ13、IPスタック16、アプリケーション16に対して順次受信イベント通知がなされ、アプリケーション16によって受信データバッファ14から受信データが読み出される。
【0034】
本実施の形態によれば、伝送コントローラに受信の閾値となるパケット長をCPUから書き込み可能にし、このパケット長よりも大きいパケットの割込みを発生させずに廃棄する一方、このパケット長以下のパケットのみを受信してCPUに対して割込み信号を発生させるので、第1の実施の形態に比べて、より下位のレベルでイベント発生を制限できCPU負荷の軽減効果が大きい。
【0035】
次に本発明の第3の実施の形態を説明する。本実施の形態は第2の実施の形態の伝送コントローラ20のパケット廃棄処理を廃棄実行フラグにセットすることによってイネーブルにし、また、CPU使用率測定手段17で、CPU使用率にしたがって廃棄実行フラグのセット/リセットを行わせるようにしたものである。
以下、図6を用いて本実施の形態によるコンピュータ装置1の動作を説明する。本実施の形態では、受信ドライバ13は、受信パケットごとにパケット長を記憶し、パケット長リストを作成する。図7はパケット長リストの例である。受信データのパケット長を大きさ順に並べた一覧に対して、現在閾値となっているパケット長の位置が識別可能になっている。
【0036】
そして、CPU使用率測定手段17は、定周期で起動され、CPU使用率を計算し(ステップS21)、その値が予め定めた第1の基準値(上限)よりも大きいか、小さいかを判定する(ステップS22)。その結果、第1の基準値よりも大きい場合は、次に廃棄実行フラグがONしているか否かをチェックし(ステップS23)、ONしていなければ、廃棄実行フラグをONにする(ステップS24)。その後、パケット長リストから現在受信しているデータのパケット長のうち、2番目に大きいパケット長を抽出して(ステップS25)、そのパケット長を伝送コントローラ20のパケット廃棄判定の閾値として設定する(ステップS26)。
【0037】
一方、ステップS22で、CPU使用率が基準値以下の場合は、次にCPU使用率が第2の基準値(下限)より小さいか否かを判定し(ステップS27)、小さい場合は、次に廃棄実行フラグがONか否かを判定する(ステップS28)。そして、ステップS28の判定の結果、廃棄実行フラグがONの場合は、パケット長リストに記憶されている最大パケット長が閾値設定されているか否かをチェックし(ステップS29)、設定されている場合は、廃棄実行フラグをOFFにして終了する(ステップS31)。一方、ステップS29で最大パケット長が閾値として設定されていない場合は、パケット長リストから、過去に受信したパケットのうち、現在閾値の次に大きいパケット長を抽出して(ステップS30)、その抽出したパケット長を新たな閾値として設定する(S26)。ステップS27、ステップS28で「NO」の場合は、そのまま終了する。
【0038】
伝送コントローラ20は、廃棄実行フラグがセットされることによってパケット長チェック/廃棄処理手段27をイネーブル状態にして、CPU使用率測定手段17によって設定された閾値をもとに廃棄処理を実行する。
以下、図8を用いてパケット長チェック/廃棄処理手段27の処理手順を詳述する。パケット長チェック/廃棄処理手段27は、データ受信によって起動され、まず、廃棄実行フラグがONか否かを判定し(ステップS41)、ONの場合は、閾値を入力する(ステップS42)。そして、受信データのパケット長が閾値より大きいか否かを判定して(ステップS43)、大きい場合は、その受信データを廃棄する(ステップS44)。一方、ステップS41の処理で廃棄実行フラグがOFFであり、またはステップS43の処理で受信データのパケット長が閾値以下の場合は、その受信データをバスインタフェース28へ渡すと共に割込み信号を発生させる(ステップS45)。
【0039】
バスインタフェース28に受信データが渡された後の処理は、第2の実施の形態と同様である。
なお、パケット長リストに替えて、図9に示すように過去の受信パケット長と共に現在の受信データのパケット長ごとに受信割合を計算した受信履歴テーブルで管理することによって、CPU負荷の軽減に効果的なパケット長を迅速に選択することができる。たとえば、CPU使用率が基準値を15%超過したような場合、現在閾値からパケット長の受信割合が合計15%以上になるところのパケット長を抽出して新たな閾値として設定したり、CPU使用率をもとに一定の重み付けをして抽出したパケット長を新閾値を設定するようにしても良い。
【0040】
本実施の形態によれば、受信パケットのパケット長のリストをとって、CPU負荷によって、自動的に閾値を変更して廃棄処理を実行するので、予め受信データのパケット長を調べておく必要が無い。また、たとえば上限基準値を80%、下限基準値を60%に設定するなど、両基準値をCPUの負荷変動(ジッタ)を考慮して定めておくことによって、僅かなCPU負荷の変動によって廃棄実行のON/OFFを繰り返すことを防止することができる。
【0041】
なお、上記実施形態の構成を用いて回線ごとの伝送データの品質を定めたサービスとして提供することができる。すなわち、品質「高」の場合はパケット長「小」、品質「低」の場合はパケット長「大」、としてVoIP電話機あるいは端末装置に割り付けることによって、パケット長のみによって輻輳時に高品質として契約された回線のデータを優先して伝送することが可能となる。
【0042】
または、UDPの場合はショートパケット、TCPの場合はロングパケットとして、輻輳時はロングパケットを廃棄してイベント通知の発生を抑制するようにしても良い。TCPのリカバリ処理を長周期にしておけば、瞬時的な輻輳状態のときは、音声パケットを優先して、確実に中継処理すると共に、TCPのリカバリ処理によって端末装置のデータも確実に伝送することができる。
【産業上の利用可能性】
【0043】
本発明は、たとえば、VoIP通信機能を有する端末、ルータ、スイッチングHUBなどに適用することができる。
また、制御装置、特にリアルタイム性を要求され、複数のデータを扱う制御装置に適用すると有効である。
【図面の簡単な説明】
【0044】
【図1】本発明の第1の実施の形態によるコンピュータ装置の機能説明図である。
【図2】図1の利用形態の説明図である。
【図3】図1の受信ドライバの処理手順を示すフローチャートである。
【図4】本発明の第1の実施の形態による閾値の設定方法である。
【図5】本発明の第2の実施の形態によるコンピュータ装置の伝送コントローラの機能ブロック図である。
【図6】本発明の第3の実施の形態によるコンピュータ装置のCPU使用率測定手段17の処理手順を示すフローチャートである。
【図7】本発明の第3の実施の形態によるパケット長リストのデータ構成の説明図である。
【図8】本発明の第3の実施の形態によるパケット長チェック/廃棄処理手段27の処理手順を示すフローチャートである。
【図9】本発明の第3の実施の形態による受信履歴テーブルのデータ構成の説明図である。
【図10】従来技術によるコンピュータ装置の機能説明図である。
【符号の説明】
【0045】
1,99 コンピュータ装置
2 演算処理部
3 受信処理部
10,20 伝送コントローラ
11 割込みドライバ
12 OS(オペレーティングシステム)
13 受信ドライバ
14 受信データバッファ
15 IPスタック
16 アプリケーション
17 CPU使用率測定手段
18 CPU使用率データ
21 受信回路群
22 送信回路群
23 フロー制御手段
24 ステーション管理手段
25 コントロール・ステータスレジスタ群
26 閾値
27 パケット長チェック/廃棄処理手段
28 バスインタフェース
29 媒体インタフェース
51 スイッチングHUB
52 VoIP電話機
53 端末装置
60 定サイズパケット送信装置

【特許請求の範囲】
【請求項1】
CPUを有しデータ処理を実行する演算処理部と、伝送パケットの受信処理を行う受信処理部とを有し、前記受信処理部で受信したデータをイベント通知によって前記演算処理部へ渡すコンピュータ装置であって、
前記受信処理部は、前記演算処理部に対して受信データを渡すか否かを判定するための閾値となるパケット長を保存し、データ受信時に受信データのパケット長と前記閾値とを比較して前記閾値以下のパケット長の受信データのみを前記演算処理部へ渡すことを特徴とするコンピュータ装置。
【請求項2】
前記演算処理部は、CPU使用率に応じて、前記閾値を設定または変更することを特徴とする請求項1記載のコンピュータ装置。
【請求項3】
前記演算処理部は、CPU使用率が予め定める基準値を超えたときに、輻輳状態にあることを前記受信処理部へ通知し、前記受信処理部は、受信したデータをもとに受信データのパケット長リストを作成し、該通知を受けたときに、該パケット長リストを参照して現在の閾値として設定されているパケット長よりも小さいパケット長を新たな閾値として設定することを特徴とする請求項2記載のコンピュータ装置。
【請求項4】
複数回線の伝送データを処理するコンピュータ装置であって、回線の優先度に基づいて、優先度が高くなるに伴って順に小さいパケット長を割付け、CPU使用率が高くなるに従って、優先度の低い回線から順にその回線のパケット長を前記閾値として設定することを特徴とする請求項2記載のコンピュータ装置。
【請求項5】
前記演算処理部は、CPU使用率の測定処理における上限となる第1の基準値と下限となる第2の基準値とを有し、CPU使用率が前記第1の基準値以上になったときに、前記パケット長リストに基づいて、現在の閾値となっているパケット長よりも小さいパケット長を新たな閾値として設定し、CPU使用率が前記第2の基準値以下になったときに前記パケット長リストに基づいて、現在の閾値となっているパケット長よりも大きいパケット長を新たな閾値として設定し、
前記受信処理部は、受信処理を実行する伝送コントローラを有し、該伝送コントローラは前記演算処理部により設定された前記閾値に基づいて、前記閾値よりも大きいパケット長のデータを受信したときは該データの廃棄処理を実行し、前記閾値以下のパケット長のデータを受信したときは該データを前記演算処理部から読み込み可能な受信データバッファへ転送すると共に割込み信号を発生させて受信を通知することを特徴とする請求項3記載のコンピュータ装置。
【請求項6】
UDPパケットとTCPパケットの混在する伝送データを受信処理するコンピュータ装置のパケット受信制御方法であって、
UDPパケットにはTCPパケットに比べて、相対的に小さいパケット長を割り付け、CPU使用率が予め定められた基準値以上になったときは、前記UDPパケットのパケット長を閾値として該閾値よりも大きいパケット長のデータは廃棄し、該閾値以下のパケット長は受信処理することを特徴とするパケット受信制御方法。
【請求項7】
前記UDPパケットはVoIPによる音声パケットであることを特徴とする請求項6記載のパケット受信制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2009−194504(P2009−194504A)
【公開日】平成21年8月27日(2009.8.27)
【国際特許分類】
【出願番号】特願2008−31400(P2008−31400)
【出願日】平成20年2月13日(2008.2.13)
【出願人】(000000181)岩崎通信機株式会社 (133)
【Fターム(参考)】