(57)【要約】  伝送路に接続され伝送路を介して通信データの送受信を行う通信装置と、通信データ及び非通信データの処理を行う処理装置と、通信データ及び非通信データの処理を処理装置に実行させる処理装置制御部と、通信装置を制御するとともに、処理装置が通信データの前記処理を行う場合の単位時間当たりの処理を行う時間の割合を表す使用率を前記処理装置制御部から取得し、前記取得した使用率に基づいて通信データの送受信を行う場合の単位時間当たりのデータ転送量の最大値を表す最大データ速度を設定する通信装置制御部を有する。
2009144797.tif 000002
【特許請求の範囲】
【請求項１】
伝送路に接続され、前記伝送路を介して通信データの送受信を行う通信装置と、
前記通信データ及び前記通信データ以外のデータである非通信データの処理を行う処理装置と、
前記通信データ及び前記非通信データの処理を、前記処理装置に実行させる処理装置制御部と、
前記通信装置を制御するとともに、前記処理装置が前記通信データの前記処理を行う場合の単位時間当たりの処理を行う時間の割合を表す使用率を、前記処理装置制御部から取得し、前記取得した使用率に基づいて、前記通信データの送受信を行う場合の単位時間当たりのデータ転送量の最大値を表す最大データ速度を設定する通信装置制御部とを有することを特徴とする情報処理装置。
【請求項２】
前記通信装置制御部は、
所定時間経過ごとに、前記処理装置制御部から前記使用率を取得することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記通信装置制御部は、
前記処理装置制御部から取得した前記使用率が、所定値を超えている場合に、前記最大データ速度を所定速度分下げることを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
前記通信装置制御部は、
送信に係る通信データのサイズの合計値を表す送信データサイズ合計値と、受信に係る通信データのサイズの合計値を表す受信データサイズ合計値とを、定期的に初期化することにより、前記通信装置の転送速度を算出することを特徴とする請求項１乃至３のうちの何れか一項記載の情報処理装置。
【請求項５】
前記送信に係る通信データのサイズの合計値は、前記通信装置が送信する通信データのサイズの合計値であって、前記通信装置制御部が、前記通信データの送信ごとに算出するものとされ、
前記受信に係る通信データのサイズの合計値は、前記通信装置が受信して前記通信装置制御部に転送する通信データのサイズの合計値であって、前記通信装置が、前記通信データを転送するごとに算出するものとされてなることを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記通信装置制御部は、通信データの送信を行う場合、前記最大データ速度を当該通信装置制御部に設定することを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記通信装置制御部は、通信データの受信を行う場合、前記最大データ速度を前記通信装置に設定することを特徴とする請求項１に記載の情報処理装置。
【請求項８】
伝送路に接続され、前記伝送路を介して通信データの送受信を行う通信装置と、
前記通信データ及び前記通信データ以外のデータである非通信データの処理を行う処理装置とを有する情報処理装置の制御方法であって、
処理装置制御部が前記通信データ及び前記非通信データの処理を、前記処理装置に実行させるステップと、
通信装置制御部が、前記通信装置を制御するとともに、前記処理装置が前記通信データの前記処理を行う場合の単位時間当たりの処理を行う時間の割合を表す使用率を、前記処理装置制御部から取得し、前記取得した使用率に基づいて、前記通信データの送受信を行う場合の単位時間当たりのデータ転送量の最大値を表す最大データ速度を設定するステップとを有することを特徴とする情報処理装置の制御方法。
【請求項９】
前記通信装置制御部が、所定時間経過ごとに、前記処理装置制御部から前記使用率を取得するステップを有することを特徴とする請求項８記載の情報処理装置の制御方法。
【請求項１０】
前記通信装置制御部が、前記処理装置制御部から取得した前記使用率が、所定値を超えている場合に、前記最大データ速度を所定速度分下げるステップを有することを特徴とする請求項８または９記載の情報処理装置の制御方法。
【請求項１１】
前記通信装置制御部は、
送信に係る通信データのサイズの合計値を表す送信データサイズ合計値と、受信に係る通信データのサイズの合計値を表す受信データサイズ合計値とを、定期的に初期化することにより、前記通信装置の転送速度を算出することを特徴とする請求項８乃至１０のうちの何れか一項記載の情報処理装置の制御方法。
【請求項１２】
前記送信に係る通信データのサイズの合計値は、前記通信装置が送信する通信データのサイズの合計値であって、前記通信装置制御部が、前記通信データの送信ごとに算出するものとされ、
前記受信に係る通信データのサイズの合計値は、前記通信装置が受信して前記通信装置制御部に転送する通信データのサイズの合計値であって、前記通信装置が、前記通信データを転送するごとに算出するものとされてなることを特徴とする請求項１１記載の情報処理装置の制御方法。
【請求項１３】
前記通信装置制御部は、通信データの送信を行う場合、前記最大データ速度を当該通信装置制御部に設定することを特徴とする請求項８に記載の情報処理装置の制御方法。
【請求項１４】
前記通信装置制御部は、通信データの受信を行う場合、前記最大データ速度を前記通信装置に設定することを特徴とする請求項８に記載の情報処理装置の制御方法。
【請求項１５】
伝送路に接続され、前記伝送路を介して通信データの送受信を行う通信装置と、
前記通信データ及び前記通信データ以外のデータである非通信データの処理を行う処理装置とを有する情報処理装置の動作を制御するためのプログラムであって
前記通信データ及び前記非通信データの処理を、前記処理装置に実行させる処理装置制御部と、
前記通信装置を制御するとともに、前記処理装置が前記通信データの前記処理を行う場合の単位時間当たりの処理を行う時間の割合を表す使用率を、前記処理装置制御部から取得し、前記取得した使用率に基づいて、前記通信データの送受信を行う場合の単位時間当たりのデータ転送量の最大値を表す最大データ速度を設定する通信装置制御部として前記処理装置を機能させるためのプログラム。
【請求項１６】
前記通信装置制御部は、
所定時間経過ごとに、前記処理装置制御部から前記使用率を取得することを特徴とする請求項１５記載のプログラム。
【請求項１７】
前記通信装置制御部は、
前記処理装置制御部から取得した前記使用率が、所定値を超えている場合に、前記最大データ速度を所定速度分下げることを特徴とする請求項１５または１６記載のプログラム。
【請求項１８】
前記通信装置制御部は、
送信に係る通信データのサイズの合計値を表す送信データサイズ合計値と、受信に係る通信データのサイズの合計値を表す受信データサイズ合計値とを、定期的に初期化することにより、前記通信装置の転送速度を算出することを特徴とする請求項１５乃至１７のうちの何れか一項記載のプログラム。
【請求項１９】
前記送信に係る通信データのサイズの合計値は、前記通信装置が送信する通信データのサイズの合計値であって、前記通信装置制御部が、前記通信データの送信ごとに算出するものとされ、
前記受信に係る通信データのサイズの合計値は、前記通信装置が受信して前記通信装置制御部に転送する通信データのサイズの合計値であって、前記通信装置が、前記通信データを転送するごとに算出するものとされてなることを特徴とする請求項１８記載のプログラム。
【請求項２０】
前記通信装置制御部は、通信データの送信を行う場合、前記最大データ速度を当該通信装置制御部に設定することを特徴とする請求項１５に記載のプログラム。
【請求項２１】
前記通信装置制御部は、通信データの受信を行う場合、前記最大データ速度を前記通信装置に設定することを特徴とする請求項１５に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法及びプログラムに係り、特に通信装置及び処理装置を有する情報処理装置、同情報処理装置の制御方法及び同制御方法を処理装置に実行させるためのプログラムに関する。
【背景技術】
【０００２】
ネットワークアダプタを搭載したサーバ等のシステムにおいては、ネットワークドライバがＣＰＵ資源を過剰に消費することで、ＣＰＵ上で動作している他の処理に影響を与えることがあった。具体的には、データ送信時に、ネットワークドライバがＣＰＵ資源を過剰に消費することがあった。またデータ受信時に、ネットワークドライバの割り込み処理がＣＰＵ資源を特に消費しやすい。ここで、このような割り込み処理に関し、一定時間間隔、或いは一定パケットごとに割り込みを行うように制御する方法が知られている。
【特許文献１】特開２００１―１４２４３号公報
【特許文献２】特開２０００−２８４９７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
処理装置が通信データの処理を行う場合の負荷を抑制して通信データの処理以外の処理を確保し得る構成を提供することを目的とする。
【課題を解決するための手段】
【０００４】
情報処理装置は通信データ及び、通信データ以外のデータ（以下非通信データと称する）を処理する処理装置と、通信データの送受信を行う通信装置と、通信装置を制御する通信装置制御部とを有する。通信装置制御部は、処理装置が通信データの処理を行う場合の単位時間当たりの処理を行う時間の割合を表す使用率を処理装置制御部から取得する。通信装置制御部は当該取得に係る使用率に基づいて、通信データの送受信を行う場合の単位時間当たりのデータ転送量の最大値を表す最大データ速度を設定する。【０００５】
この構成では、通信装置制御部が、処理装置が通信データの処理を行う場合の処理装置の使用率に基づいて、通信データの送受信を行う場合の最大データ速度を設定する。その結果通信データの送受信に係るデータ転送速度が抑制され、処理装置が通信データの処理を行う場合の処理装置の負荷が抑制される。その結果処理装置による、通信データの処理以外の処理を確保し得る。
【発明の効果】
【０００６】
この構成は、通信データの送受信に係るデータ転送速度の制御により、結果的に通信データの処理以外の処理を確保し得るという効果を有する。
【図面の簡単な説明】
【０００７】
【図１】実施例に係る情報処理装置の構成を示すブロック図（その１）である。
【図２】実施例に係る情報処理装置の構成を示すブロック図（その２）である。
【図３】ネットワークドライバのデータ送信関数のカーネルへの登録について説明するための図である。
【図４】ネットワークドライバのデータ受信関数のカーネルへの登録について説明するための図である。
【図５】ネットワークドライバによる、データ送信量の計測について説明するための図である。
【図６】カーネルによる、データ送信に係るＣＰＵの使用率の計測について説明するための図である。
【図７】ネットワークドライバによる、ＣＰＵの使用率の比較に係る動作の流れを説明するためのフローチャートである。
【図８】ネットワークドライバによる、データ送信の動作の流れを説明するためのフローチャートである。
【図９】ネットワークドライバによる、キューがフルの場合にキュー内のデータを廃棄する際の動作の流れを説明するためのフローチャートである。
【図１０】ネットワークアダプタのファームウェアによる、データ受信の動作の流れを説明するためのフローチャートである。
【図１１】ネットワークドライバによる、最大データ速度の設定の実例に係る動作の流れを説明するためのシーケンス図である。
【符号の説明】
【０００８】
１２  ネットワークドライバ
１３  カーネル
１４  ＣＰＵ
３０  ネットワークアダプタ
３１  ファームウェア
５０  伝送路
【発明を実施するための最良の形態】
【０００９】
実施例に係る情報処理装置は、そのネットワークアダプタおよびネットワークドライバがデータ送受信時に消費するＣＰＵ資源の量を考慮してデータ転送速度を動的に変更する。その結果、データ送受信時のデータ転送速度を、装置のＣＰＵの性能に応じて最適な値に制御することができる。【００１０】
この実施例に係る情報処理装置によれば、データ送受信時のデータ転送速度を、ＣＰＵの性能及びネットワークドライバの性能の相関関係に関わらず最適な値に制御することができる。すなわちデータ送信量を、ＣＰＵの性能に応じて適切な量に抑えるとともに、データ受信に係る割り込みの量を、ＣＰＵの性能に応じて適切な量に抑えることができる。【００１１】
ここで、あるデータ受信の割り込みに係る制御パラメータの値によって変動するＣＰＵの使用率は、ＣＰＵの性能に依存する。実施例に係る情報処理装置は、データ受信の割り込みに係る制御パラメータの値によって変動するＣＰＵの使用率を抑制するべく、当該制御パラメータの値を適切に設定する構成を有する。ここで前記制御パラメータとして、本実施例の場合、ネットワークアダプタに設定される「最大受信性能」等が挙げられる。【００１２】
本実施例による情報処理装置では、ネットワークドライバおよびネットワークアダプタに、ＣＰＵの性能に応じてデータ転送速度を動的に制御する構成を設ける。この構成により、「データ送信量」、「データ受信の割り込みの量」と「ＣＰＵの使用率」とをそれぞれ相互に関連つけ、ＣＰＵの性能に応じてデータ転送速度を動的に変更してＣＰＵの使用率を適切な値に抑えるように制御する。【００１３】
ここで「ＣＰＵの使用率」とは、ＣＰＵが単位時間中に、ある特定の処理を行った時間の割合を％で表したものを指す。【００１４】
本実施例による情報処理装置に対し、利用者は通信データの処理に割り当て可能なＣＰＵの使用率の上限値を設定する。ここで例えば通信データの処理に割り当てるＣＰＵの使用率の上限として60％を設定したとする。この設定は、実際のネットワークのトラフィックによらず、ＣＰＵの使用率が６０%以上とはならないようにするための設定である。この設定により、ＣＰＵの使用率のうち残りの４０%を他のデータ処理（アプリケーションなど）に割り当てることが可能となる。【００１５】
このような利用者による設定を受け、ネットワークドライバは、当該設定に係るＣＰＵの使用率の範囲内で処理可能な通信データのトラフィックの量を利用者に示す。【００１６】
例えばデータ転送速度の容量が１０Ｇｂｐｓのネットワークアダプタを使用し、通信データの処理に割り当てるＣＰＵの使用率の上限を５０%とする設定が利用者によりなされたとする。ここで当該ＣＰＵの使用率の上限が５０％の範囲内で処理可能な通信データの最大トラフィック量が例えば５Ｇｂｐｓであったとする。その場合、利用者に対し、当該５Ｇｂｐｓの値が示される。同様に通信データの処理に割り当て可能なＣＰＵの使用率の上限を６０%とする設定が利用者によりなされた場合、当該ＣＰＵの使用率の上限の範囲内で処理可能な通信データの最大トラフィック量が例えば６Ｇｂｐｓであったとする。この場合利用者に対し、当該６Ｇｂｐｓの値が示される。このように、利用者の設定により通信データの処理に割り当て可能なＣＰＵの使用率を上限を設定した場合、上記ネットワークアダプタの最大性能１０Ｇｂｐｓを発揮させることはできない場合があり得る。【００１７】
このような本実施例に係る情報処理装置の構成を、以下に、より詳細に説明する。【００１８】
図１は本実施例に係る情報処理装置の構成を示すブロック図である。【００１９】
図１に示す如く、当該情報処理装置は、本体部１０と、通信装置としてのネットワークアダプタ（ネットワークカードと称される場合もある）３０とを有する。本体部１０には、ソフトウェアとして以下のものが実装されている。ＯＳ（オペレーティングシステム、以下同様）、利用者とのインタフェースに係るコマンドを処理するアプリケーション１１及びネットワークドライバ１２が実装されている。上記ＯＳはカーネル１３を含む。また、ネットワークドライバ１２はネットワークアダプタ３０を制御する通信装置制御部としての構成を有する。【００２０】
図２は当該情報処理装置のハードウェア構成を説明するためのブロック図である。【００２１】
図２に示す如く、当該情報処理装置は上記本体部１０及びネットワークアダプタ３０（ネットワークカードともいう）に加え、マンマシーンインタフェース２０、及び本体部１０とネットワークアダプタ３０とのデータのやりとりに供されるバス４０を有する。【００２２】
本体部１０はＣＰＵ１４及びメモリ１５を有する。ＣＰＵ１４はメモリ１５上に展開された各種プログラムを実行することにより、当該情報処理装置全体を制御する制御動作、各種演算処理等を行う。上記各種プログラムには図１とともに上記したコマンドを処理するアプリケーション１１、ネットワークドライバ１２及びカーネル１３を含むＯＳが含まれる。メモリ１５はＲＡＭ、ＲＯＭ等を含み、上記の如くＣＰＵ１４により実行される各種プログラムが展開されるとともに、ＣＰＵ１４に対しワークエリアを提供する。【００２３】
ネットワークアダプタ３０はＣＰＵ３５，ファームウェア３１，バッファ３２及びネットワークインタフェース３３を含む。これらＣＰＵ３５，ファームウェア３１，バッファ３２及びネットワークインタフェース３３は以下の構成を有する。すなわち、図１に示す伝送路５０を介し他の情報処理装置との間でデータの送受信を行い、当該データを本体部１０のネットワークドライバ１２との間で授受する構成を有する。【００２４】
マンマシーンインタフェース２０は表示装置２１及び入力装置２２を有する。表示装置２１はＣＲＴ，液晶表示装置等よりなり、利用者に対し、利用者が入力装置２２を介し当該情報処理装置に対し入力した指示内容、ＣＰＵ１４による演算処理結果等を表示する。入力装置２２はキーボード、マウス等を含み、利用者が操作することにより当該情報処理装置に対し各種の指示内容を入力するためのものである。【００２５】
以下に当該情報処理装置における各種制御動作の手順につき詳細に説明する。
（１）通信データの処理に割り当て可能なＣＰＵの使用率の上限値の設定
ネットワークドライバ１２は、利用者による、通信データの処理に割り当て可能なＣＰＵ１４の使用率の上限値の設定に応じ、同設定に係る値を内部的に記録する動作を行うための構成を有する。ここで利用者からの設定は上記アプリケーション１１によるコマンド等を経由してなされる。【００２６】
具体的には、利用者はマンマシーンインタフェース２０の表示装置２１，入力装置２２を利用し、当該情報処理装置に対し、通信データの処理に割り当て可能なＣＰＵ１４の使用率の上限値を設定する。ここで通信データの処理は、後述するネットワークドライバ１２の送信データ関数及び受信データ関数のそれぞれの構成により実行される。ここで利用者が上記通信データの処理に割り当て可能なＣＰＵ１４の使用率の上限値を設定する際の使用されるコマンドとして以下のものを利用可能である。すなわち公知のｉｏｃｔｌ（すなわちＩ／Ｏ  Ｃｏｎｔｒｏｌ）等の技術によるコマンドを利用し得る。ここでｉｏｃｔｌとは、ユーザ空間（コマンド等）とカーネル空間（ドライバ等）との間で、データや制御命令を受け渡すためのシステムコールを意味する。ネットワークドライバ１２は、このようにして利用者により設定された通信データの処理に割り当て可能なＣＰＵ１４の使用率の上限値を内部の変数として記録する動作を行うための構成を有する。
（２）データ送信関数及びデータ受信関数の登録
ネットワークドライバ１２はデータ送信の処理に係るデータ送信関数およびデータ受信の処理に係るデータ受信関数のそれぞれの構成を含む。ネットワークドライバ１２はこれらデータ送信関数及びデータ受信関数の各々を、自身の起動時にカーネル１３に対して登録する動作を行うための構成を有する。この登録は、ネットワークドライバ１２が、通信データの処理に係るＣＰＵ１４の使用率の値をカーネル１３から取得するために行われる。この点については図６とともに後述する。この登録は、ネットワークドライバ１２とカーネル１３との間に設けられたＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を利用して行われる。【００２７】
以下にその詳細について述べる。【００２８】
まずデータ送信関数の登録について説明する。データ送信関数のエントリポイント(すなわち上位のプロトコルやアプリケーションから当該データ送信関数が呼び出される部分、図３中、ｘｘｘ＿ｔｘ（）)がカーネル１３に登録される。カーネル１３は、当該データ送信関数のエントリポイントからリターン(図３中、return)の部分までの範囲を計測対象として記録し、当該記録に係る固有のＩＤをネットワークドライバ１２に返す動作を行うための構成を有する。【００２９】
次にデータ受信関数の登録について説明する。この場合、データ受信関数の呼び出し元である割り込みハンドラ(図４中、ｘｘｘ＿ｉｎｔｒ（）)がカーネル１３に登録される。カーネル１３は、当該割り込みハンドラから、ネットワークドライバ１２が上位のプロトコルやアプリケーションにデータを渡す部分(図４中、ｘｘｘ＿ｒｅｃｖ（）)までを計測対象として記録し、当該記録に係る固有のＩＤをネットワークドライバ１２に返す動作を行うための構成を有する。
（３）送受信に係るデータ量の計測
ネットワークドライバ１２は、上記(２)の手順でデータ送信関数、データ受信関数をカーネル１３に登録した後、定期的に、ある一定時間に送受信したデータ量を記録する動作を行うための構成を有する。【００３０】
データ送信の場合につき図５とともに説明する。ここでは、上記ある一定時間Ｔの間に、ネットワークアダプタ３０を介し伝送路５０に向かって送信されたデータの量（以下送信データ量と称する）を計測する。図５の例では、上記時間Ｔの最初の時間帯にｔｘｄａｔａ＿ｓｉｚｅ１で示されるデータ量のデータが送信されている。次にｔｘｄａｔａ＿ｓｉｚｅ２で示されるデータ量のデータが送信されている。そして上記時間Ｔの最後の時間帯にｔｘｄａｔａ＿ｓｉｚｅ３で示されるデータ量のデータが送信されている。【００３１】
ネットワークドライバ１２は送信データ量の合計値を示す変数（ｔｘｄａｔａ＿ｓｉｚｅ＿ｓｕｍ）を持っている。ネットワークドライバ１２は、ネットワークアダプタ３０を介してデータを送信するごとに当該変数を更新する動作を行うための構成を有する。図５の例の場合、一定時間Ｔに送信した送信データ量の合計は以下の計算式で算出される。
ｔｘｄａｔａ＿ｓｉｚｅ＿ｓｕｍ  ＝  ｔｘｄａｔａ＿ｓｉｚｅ1  
＋  ｔｘｄａｔａ＿ｓｉｚｅ２  ＋  ｔｘｄａｔａ＿ｓｉｚｅ3
このようにして算出されたデータ送信データ量の合計値を示す変数ｔｘｄａｔａ＿ｓｉｚｅ＿ｓｕｍは、図８とともに後述するデータ送信の動作において（ステップＳ１２）使用される。【００３２】
またデータ受信に係るデータ量（以下受信データ量と称する）の合計についても同様の方法で算出される。伝送路５０を介して外部から受信されたデータは、まずネットワークアダプタ３０により処理される。ここで上記ネットワークアダプタ３０のファームウェア３１は、当該受信されたデータにつき、ネットワークドライバ１２に対し割り込み処理（図１０中、ステップＳ３４）を行うための構成を有する。ネットワークドライバ１２は、図４とともに上記した割り込みハンドラの部分で当該割り込み処理を受ける動作を行うための構成を有する。またネットワークドライバ１２のデータ受信関数は当該割り込み処理に係るデータを受けると上位のプロトコル或いはアプリケーションに同データを受け渡す動作を行うための構成を有する。上記ネットワークアダプタ３０のファームウェア３１は、上記一定時間Ｔの間に、伝送路５０から受信された後にネットワークドライバ３０に割り込み処理を行った受信データ量を計測する。当該受信データ量の合計値を示す変数ｒｘｄａｔａ＿ｓｉｚｅ＿ｓｕｍは、図１０とともに後述するファームウェア３１のデータ受信の動作にて（ステップＳ３２）使用される。
（４）ＣＰＵの使用率の計測
カーネル１３はネットワークドライバ１２による通信データの処理に係るＣＰＵ１４の動作のうち、定期的に、上記一定時間Ｔ内の動作につき、ＣＰＵ１４の動作時間全体の中で占めるＣＰＵ１４の動作時間の割合を計測して記録する。なお、当該計測及び記録の動作は、図７とともに後述するＣＰＵ１４の使用率の比較の動作において（ステップＳ１）、一定時間Ｔごとに実行される。この場合のＣＰＵ１４の使用率とは、上記一定時間Ｔ内にＣＰＵ１４が特定の関数（データ送信関数、データ受信関数等）に係る動作を行った時間の割合を意味する。なお上記データ送信関数及びデータ受信関数につき、図３，図４とともに上述の(2)の手順でカーネル１３に登録されている。【００３３】
図６はＣＰＵ１４の使用率の計測について説明するための図である。図６中、上記一定時間Ｔは、図５における一定時間Ｔと同一の時間を示す。この場合も図５の場合同様、上記一定時間Ｔの間に、ネットワークアダプタ３０によるデータ送信処理をＣＰＵ１４が実行した際の、特定の関数の処理に係るＣＰＵ１４の動作時間を計測する。図６の例では、上記時間Ｔの最初の時間帯ｔ１が、図５とともに上記したｔｘｄａｔａ＿ｓｉｚｅ１で示されるデータ量のデータの送信に係る、ＣＰＵ１４の動作時間を示す。同様に、次に時間帯ｔ２が、図５とともに上記したｔｘｄａｔａ＿ｓｉｚｅ２で示されるデータ量のデータの送信に係る、ＣＰＵ１４の動作時間を示す。そして上記時間Ｔの最後の時間帯ｔ３が、図５とともに上記したｔｘｄａｔａ＿ｓｉｚｅ３で示されるデータ量のデータの送信に係る、ＣＰＵ１４の動作時間を示す。【００３４】
カーネル１３は、上記の如く登録された関数（データ送信関数、データ受信関数）のＩＤごとに、ＣＰＵ１４の使用率を示す変数（ｃｐｕ＿ｕｓａｇｅ［ＩＤ］）を持つ。ＣＰＵ１４の使用率は、図６の例の場合、以下の計算式で算出される。
ｃｐｕ＿ｕｓａｇｅ［ＩＤ］（%）  ＝  （ｔ１＋ｔ２＋ｔ３）／Ｔ
このようにして計測されたＣＰＵ１４の使用率は、図７とともに後述する、ＣＰＵ１４の使用率の比較の動作において（ステップＳ３，Ｓ４）使用される。
(５)最大データ速度の設定
ネットワークドライバ１２は、定期的に、すなわち一定時間Ｔごとに、カーネル１３から、上記(2)の手順で登録されたデータ送信関数、データ受信関数に係る処理、すなわち通信データの処理に係るＣＰＵ１４の使用率を取得する。すなわちネットワークドライバ１２は、上記（４）の手順でカーネル１３が計測して記録した「一定時間Ｔにおける、データ送信関数の動作に係るＣＰＵ１４の使用率」を取得する。またネットワークドライバ１２は、上記（４）の手順でカーネル１３が計測して記録した「一定時間Ｔにおける、データ受信関数の動作に係るＣＰＵ１４の使用率」を取得する。そして当該取得に係るデータ送信関数の動作に係るＣＰＵ１４の使用率及びデータ受信関数の動作に係るＣＰＵ１４の使用率の各々と、上記（１）の手順で利用者により設定された「ＣＰＵ１４の使用率の上限値」とを比較する。【００３５】
比較の結果前記取得に係るデータ送信関数の動作に係るＣＰＵ１４の使用率が前記設定に係る使用率の上限値を超えていない場合、その時点でのデータ送信速度の最大値（すなわちデータ送信に係る最大データ速度）の設定値を最適な値として維持する。他方、比較の結果前記取得に係るデータ送信関数の動作に係るＣＰＵ１４の使用率が前記設定に係る使用率の上限値を超えていた場合、前記データ送信に係る最大データ速度の設定値を所定速度分下げる。この点につき、後ほど図７とともに再度説明する。【００３６】
ここで上記データ送信に係る最大データ速度の設定値は、図８とともに後述するデータ送信の動作において（ステップＳ１３）、「送信性能の目標値」として使用される。また上記データ送信に係る最大データ速度の設定値は、図７とともに後述するＣＰＵ１４の使用率の比較の動作において（ステップＳ５）、送受信の最大性能のうち送信に係る最大性能の値として、適宜調整される。【００３７】
同様に比較の結果前記取得に係るデータ受信関数の動作に係るＣＰＵ１４の使用率が前記設定に係る使用率の上限値を超えていない場合、その時点でのデータ受信速度の最大値（データ受信に係る最大データ速度と称する）の設定値を最適な値として維持する。他方、比較の結果前記取得に係るデータ受信関数の動作に係るＣＰＵ１４の使用率が前記設定に係る使用率の上限値を超えていた場合、前記データ受信に係る最大データ速度の設定値を所定速度分下げる。この点につき、後ほど図７とともに再度説明する。【００３８】
ここで上記データ受信に係る最大データ速度の設定値は、図１０とともに後述するファームウェア３１によるデータ受信の動作において（ステップＳ３３）、「受信性能の目標値」として使用される。また上記データ受信に係る最大データ速度の設定値は、図７とともに後述するＣＰＵ１４の使用率の比較の動作において（ステップＳ５）、送受信の最大性能のうち受信に係る最大性能の値として、適宜調整される。【００３９】
上記の如くネットワークドライバ１２がカーネル１３からＣＰＵ１４の使用率を取得する処理は、上記（２）の手順でカーネル１３から取得された関数（データ送信関数及びデータ受信関数）ごとのＩＤを用い、ＡＰＩを介してなされる。すなわちネットワークドライバ１２はカーネル１３に対し該当する関数のＩＤを指定してＣＰＵ１４の使用率の値を問い合わせる。これに対しカーネル１３は上記（４）の手順で計測して記録した、該当する関数の動作に係るＣＰＵ１４の使用率の値をネットワークドライバ１２に返す。【００４０】
次に、上記（３）乃至（５）の手順の動作の流れにつき、図７乃至１０のフローチャートとともに説明する。なお図７乃至１０のフローチャートの動作は、それぞれ同時に並行して実行される。【００４１】
まず図７とともに上記ＣＰＵ１４の使用率の比較の動作の流れを説明する。【００４２】
ネットワークドライバ１２は、タイマー関数等を利用して定期的に、すなわち一定時間Ｔごとに、ある時点で取得されたＣＰＵ１４の使用率の値を、上記利用者の設定に係る上限値と比較する。そして比較結果に応じ、上記データ送信に係る最大データ速度或いはデータ受信に係る最大データ速度の設定値を適宜調整する。【００４３】
すなわち、図７中、ステップＳ１にて、ネットワークドライバ１２はカーネル１３に対し、上記（４）の手順、すなわちＣＰＵ１４の使用率の計測の手順の実施を指示する。そして上記一定時間Ｔの経過を判断する（ステップＳ２）。一定時間Ｔの経過後、上記（５）の手順により、ネットワークドライバ１２はカーネル１３からデータ送信関数及びデータ受信関数の動作に係るそれぞれのＣＰＵ１４の使用率の値を取得する（ステップＳ３）。【００４４】
そしてネットワークドライバ１２はステップＳ４にて、上記（５）の手順により、当該取得に係るＣＰＵ１４の使用率の値が、前記手順（１）で利用者から設定された上限値と比較する。比較の結果、上限値を超えていなかった場合、後述するステップＳ６に移行する。比較の結果上限値を超えていた場合、ステップＳ５を実行する。ステップＳ５では、上記比較の結果、データ送信関数の動作に係るＣＰＵ１４の使用率の値が上限値を超えていた場合、上記データ送信に係る最大データ速度を所定速度分低下させる。なおデータ送信に係る最大データ速度は、図８とともに後述するデータ送信の動作中、ステップＳ１３にて送信性能の目標の値として、ステップＳ１２の計算に係る実際の送信性能と比較される。ここで計算に係る実際の送信性能が目標の値を超えていた場合、現在の送信依頼に係るデータは送信されない（ステップＳ１６）。【００４５】
同様にステップＳ５にて、上記比較の結果、データ受信関数の動作に係るＣＰＵ１４の使用率の値が上限値を超えていた場合、上記データ受信に係る最大データ速度を所定速度分低下させる。なおデータ受信に係る最大データ速度は、図１０とともに後述するネットワークアダプタ３０のファームウェア３１によるデータ受信の動作中、ステップＳ３３にて受信性能の目標の値として、ステップＳ３２の計算に係る実際の受信性能と比較される。ここで計算に係る実際の受信性能が目標の値を超えていた場合、現在の受信に係るデータはネットワークアダプタ３０のキューに保存される（ステップＳ３６）。この場合当該受信に係るデータにつき、ネットワークドライバ１２に対する割り込みがなされずＣＰＵ１４の負荷とならない。【００４６】
ステップＳ６では、上記（３）の手順で記録された送信データ量の合計値を示す変数及び受信データ量の合計値を示す変数が、それぞれゼロに初期化される。その理由は後述する。【００４７】
上記データ送信に係る最大データ速度及びデータ受信に係る最大データ速度の各々の設定値は、外部変数として利用者が予め指定することもできる。またこれらの最大データ速度の設定値を低下させる場合（ステップＳ５）の下げ幅である前記所定速度分の値は、ネットワークドライバ１２がデフォルト値として予めで持っているが、この値も外部変数として利用者が指定することもできる。【００４８】
図８とともに後述するように、データ送信の動作の場合、ネットワークドライバ１２は、データを一つ送信するごとに、その時点迄のデータの送信性能を計算する（ステップＳ１２）。同様に図１０とともに後述するように、データ受信の場合、ネットワークアダプタ３０がデータを一つ受信するごとに、ファームウェア３１がその時点迄の受信性能を計算する（ステップＳ３２）。【００４９】
ここで上記したステップＳ２にて一定時間Ｔの経過が判断されるため、図７の動作は一定時間Ｔの経過ごとに一回実行される。その結果上記の如く、送信データ量の合計値及び受信データ量の合計値のそれぞれを示す変数が時間Ｔごとにゼロに初期化される。このため、ネットワークドライバ１２は図８とともに後述するデータ送信の動作にて、一定時間Ｔごとに、当該時間Ｔ内の送信性能を得ることができる。これは後述する如く、送信データ量の合計値を示す変数がゼロに初期化される直前のデータの送信の際の図８の動作中のステップＳ１２で算出される送信性能が、時間Ｔ当たりの送信性能を示すからである。【００５０】
同様にネットワークアダプタ３０のファームウェア３１は図１０とともに後述するデータ受信の動作にて、一定時間Ｔごとに、当該時間Ｔ内の受信性能を得ることができる。これは後述する如く、受信データ量の合計値を示す変数がゼロに初期化される直前のデータの受信の際の図１０の動作中のステップＳ３２で算出される受信性能が、時間Ｔ当たりの受信性能を示すからである。但しデータ受信の場合、受信データ量の合計値とは、ファームウェア３１がデータの受信に応じてネットワークドライバ１２に対し割り込み処理を行った分の受信データ量の合計値を指す。【００５１】
なお、本実施例では上記の如く、送信データ量の合計値及び受信データ量の合計値のそれぞれを示す変数のゼロへの初期化の処理は、図７のステップＳ６にてネットワークドライバ１２が実行する構成を有する。このような構成とは異なる、以下の構成とすることも可能である。すなわち、送信データ量の合計値を示す変数のゼロへの初期化の処理は上記同様ネットワークドライバ１２が実行する構成とする。他方、受信データ量の合計値を示す変数のゼロへの初期化の処理は別途ネットワークアダプタ３０で行う構成とする。この構成の場合ネットワークアダプタ３０がタイマーを有し、同タイマーにより、受信データ量の合計値を示す変数ｒｘ＿ｄａｔａ＿ｓｕｍが上記一定時間Ｔごとにゼロに初期化される。【００５２】
図８とともに、ネットワークドライバ１２によるデータ送信の動作の流れを説明する。【００５３】
上位のプロトコル、アプリケーション等からデータの送信依頼を受ける（ステップＳ１１）と、ネットワークドライバ１２はまず、その時点迄の送信性能を計算する（ステップＳ１２）。上記の如く、ネットワークドライバ１２は送信データ量の合計値を示す変数（ｔｘｄａｔａ＿ｓｉｚｅ＿ｓｕｍ）を持っている。この送信データ量の合計値を示す変数は上記の如く、図７のステップＳ６にて定期的にゼロに初期化される。当該送信データ量の合計値を示す変数は、このように初期化されるまでの一定時間Ｔの間、データを送信するごとに当該送信に係るデータ量が加算されて更新され、徐々に増加する（ステップＳ１５）。上記ステップＳ１２では、この送信データ量の合計値を示す変数の値が一定時間Ｔの値で除算される。したがって当該送信データ量の合計値を示す変数が一定時間Ｔごとにゼロに初期化される迄は、データの送信ごとにステップＳ１２で計算される送信性能も、上記送信データ量の合計値を示す変数の値の増加に比例し、徐々に増加する。そして、前記の如く送信データ量の合計値を示す変数がゼロに初期化される直前のデータの送信の際の図８の動作中のステップＳ１２で算出される送信性能が、時間Ｔ当たりの送信性能を示す。【００５４】
ステップＳ１３では、ステップＳ１２の計算で得られた送信性能が、「一定時間に送信可能とするデータ量」として設定される、上記データ送信に係る最大データ速度を超えているかが判断される。ここで例えば上位のプロトコルやアプリケーションからデータ送信依頼によって、ステップＳ１２で得られる送信性能が増加した結果前記データ送信に係る最大データ速度を超えたとする。その場合（ステップＳ１３のＹｅｓ）、ステップＳ１６に移行し、ネットワークドライバ１２は、ステップＳ１１の送信依頼に係るデータをネットワークアダプタ３０に転送しない。この場合当該データは所定のキューに一時的に保存される。さらにこのキューがフルの状態となった場合、上位のプロトコルやアプリケーションによりこの状態が検知される。その場合の動作については図９とともに後述する。【００５５】
他方ステップＳ１３の判断結果がＮｏの場合、ステップＳ１１の依頼に係るデータがネットワークアダプタ３０に転送され、ネットワークアダプタ３０を介し、当該データが伝送路５０に対し送信される（ステップＳ１４）。この場合ステップＳ１５にて、上記の如く当該送信に係るデータ量を加算して上記送信データ量の合計値を示す変数が更新される。なお上記「１つのデータ」とは、上記上位のプロトコルやアプリケーションで決められた上限値以下の可変長のデータを指す。【００５６】
図９は上記キューがフルの状態になった場合に関する、上位のプロトコルやアプリケーションの動作の流れを示すフローチャートである。この場合の動作の手順としては公知の技術による手順を利用可能である。すなわちキューのフル状態を検知した場合、１）送信依頼を待ち合わせる方法を採るか或いは２）データを廃棄する方法を採る。図９の例は２）データを廃棄する方法を採る場合の例である。【００５７】
上記上位のプロトコル或いはアプリケーションは、図８のステップＳ１１においてデータの送信依頼をネットワークドライバ１２に対し行う前に、図９の動作を実行する。図９中、当該データの処理を開始する（ステップＳ２１）。そして前記キューに保存されているデータの総量を確認し（ステップＳ２２），当該キューのデータが保存可能な範囲を示す閾値を超えているか判断する（ステップＳ２３）。その結果当該キューのデータが保存可能な範囲を示す閾値を超えていない場合、ステップＳ２４にて、ネットワークドライバ１２に対し、当該データの送信依頼を行う。ネットワークドライバ１２は当該送信依頼を受け、図８とともに上述したデータ送信の動作を開始する。【００５８】
他方ステップＳ２３の判断の結果キューのデータが保存可能な範囲を示す閾値を超えていた場合、すなわちキューがフルの状態であった場合、当該データを廃棄する（ステップＳ２５）。【００５９】
なお、上記１）送信依頼を待ち合わせる方法の場合、上記ステップＳ２５の代わりに、当該上位のプロトコル或いはアプリケーションは以下の動作を行う。すなわち当該送信依頼を一旦保留とし、一定時間経過後再び図９のフローを起動し、再度ステップＳ２３の判断を行う、という動作を繰り返す。その間にキューのフルの状態が解消していた場合、ステップＳ２４の動作を実施し、当該送信依頼を実行に移す。【００６０】
次に図１０とともに、ネットワークアダプタ３０のファームウェア３１によるデータ受信の動作の流れを説明する。データ受信の場合、まずネットワークドライバ１２がネットワークアダプタ３０に対し、上記データ受信に係るデータ最大速度である「一定時間に受信可能とするデータサイズ」を設定する。その後、ネットワークアダプタ３０のファームウェア３１が以下の動作を行う。【００６１】
すなわち、ネットワークアダプタ３０が伝送路５０からデータを受信する（ステップＳ３１）と、ファームウェア３１はまず、その時点迄の受信性能を計算する（ステップＳ３２）。ここでファームウェア３１は、上記受信データ量の合計値を示す変数（ｒｘｄａｔａ＿ｓｉｚｅ＿ｓｕｍ）を持っている。この受信データ量の合計値を示す変数は上記の如く、図７のステップＳ６にて定期的にゼロに初期化される。当該受信データ量の合計値を示す変数は、このように初期化されるまでの一定時間Ｔの間、データを受信し対応する割り込み処理をネットワークドライバ１２に対して行うごとに、当該受信に係るデータ量が加算されて更新され、徐々に増加する（ステップＳ３５）。【００６２】
上記ステップＳ３２では、この受信データ量の合計値を示す変数の値が一定時間Ｔの値で除算される。したがって当該受信データ量の合計値を示す変数が一定時間Ｔごとにゼロに初期化される迄は、データを受信して割り込みを行うごとにステップＳ３２で計算される受信性能も、上記受信データ量の合計値を示す変数の値の増加に比例し、徐々に増加する。そして、前記の如く受信データ量の合計値を示す変数がゼロに初期化される直前のデータの受信の際の図１０の動作中のステップＳ３２で算出される受信性能が、時間Ｔ当たりの受信性能を示す。【００６３】
ステップＳ３３では、ステップＳ３２の計算で得られた受信性能が、「一定時間に受信可能とするデータ量」として設定される、上記データ受信に係る最大データ速度を超えているかが判断される。ここで例えば伝送路５０を通じてネットワークアダプタ３０が受信するデータ量が増加し、ステップＳ３２で得られる受信性能が増加したとする。この場合、当該受信性能が上記データ受信に係る最大データ速度を超えた場合（ステップＳ３３のＹｅｓ）、ステップＳ３６に移行する。ステップＳ３６でファームウェア３１は、ステップＳ３１の受信に係るデータを本体部１０に転送せずに所定のキューに一時的に保存する構成を有する。ここでキューがフルになった場合は、前記受信したデータはネットワークアダプタ３０にて廃棄される。ここで廃棄されたデータは、データの送信元のプロトコル動作にしたがって再送処理に供されるか、或いはそのままデータロストとして扱われる。【００６４】
図１１は上記（３）乃至（５）の手順による動作の実例を説明するためのシーケンス図である。この例の場合、上記（１）の手順により、ＣＰＵ１４の使用率の上限値が利用者により６０%と設定されている。またデータ送信または受信に係る最大データ速度の初期値が1Ｇｂｐｓに設定され、当該最大データ速度の下げ幅が２００Ｍｂｐｓとされている。【００６５】
図１１中、ネットワークドライバ１２は上記手順（５）、すなわち図７中、ステップＳ１乃至Ｓ３の動作により、ＣＰＵ１４の使用率を取得する（ステップＳ４１，Ｓ４２）。ここでは図示の如く、当該取得に係るＣＰＵ１４の使用率が１００％であったとする（ステップＳ４２）。上記上限値６０％を超えている（図７中、ステップＳ４のＹｅｓ）ため、上記下げ幅２００Ｍｂｐｓの速度分、最大データ速度の設定値を下げる（同ステップＳ５）。すなわち１Ｇｂｐｓ―２００Ｍｂｐｓ＝８００Ｍｂｐｓ。【００６６】
再びＣＰＵ１４の使用率を取得する（ステップＳ４３，Ｓ４４）。当該取得に係るＣＰＵ１４の使用率が８０％であったとする（ステップＳ４４）。依然として上記上限値６０％を超えているため、上記下げ幅２００Ｍｂｐｓの速度分、最大データ速度の設定値を下げる。すなわち８００Ｇｂｐｓ―２００Ｍｂｐｓ＝６００Ｍｂｐｓ。【００６７】
再びＣＰＵ１４の使用率を取得する（ステップＳ４５，Ｓ４６）。当該取得に係るＣＰＵ１４の使用率が６０％であったとする（ステップＳ４６）。この場合上記上限値６０％と一致する（図７中、ステップＳ４のＮｏ）ため、現在の最大データ速度の設定値（６００Ｍｂｐｓ）を最適値と判断して維持する。以後も同様の処理を繰り返す。【００６８】
本実施例の情報処理装置では、以上のように処理を繰り返し、ネットワークアダプタ３０が搭載された情報処理装置の本体部１０のＣＰＵ１４の性能に応じた最適なデータ最大速度の設定値を取得することが可能となる。したがってＣＰＵ資源の過剰な消費を抑えることができ、通信データ以外のデータ（すなわち非通信データ）の処理に支障を来す事態を効果的に防止し得る。
（６）最大データ速度の表示
ネットワークドライバ１２は、上記手順(５)、すなわち図７の動作中、ステップＳ４のＮｏの場合のデータ送信に係る最大データ速度及びデータ受信に係る最大データ速度のそれぞれの設定値を得る。当該設定値は「最適な最大データ速度」として、アプリケーション１１によるコマンド等を経由して利用者に示される。利用者は、この値を当該情報処理装置に設定しておくことができる。その結果利用者は、次回からは、上記手順（３）乃至（５）を経ることなく、当該情報処理装置の起動時から、前記最適な最大データ速度を設定することができる。すなわちデータ送信に係る最適な最大データ速度をネットワークドライバ１２に設定し、データ受信に係る最適な最大データ速度をネットワークアダプタ３０のファームウェア３１に設定する。【００６９】
このデータ送信に係る最大データ速度は図８中、ステップＳ１３に記載の送信性能の目標値である。したがって、当該設定に係る最大データ速度を超えるデータ量の送信処理が本体部１０のＣＰＵ１４によってなされた場合、上記ステップＳ１３の判断結果がＮｏとなる。その結果ステップＳ１６が実行される。よってデータ送信が停止される。【００７０】
同様にデータ受信に係る最大データ速度は図１０中、ステップＳ３３に記載の受信性能の目標値である。したがって、当該設定に係る最大データ速度を超えるデータ量の処理が本体部１０のＣＰＵ１４によってなされると、上記ステップＳ３３の判断結果がＮｏとなる。その結果図１０のステップＳ３６が実行される。よって受信データの処理に係る割り込みが停止される。【００７１】
このように、通信データの処理によってＣＰＵ１４に過剰な負荷が掛かることが防止される。したがって最適なデータ送受信量および最適なＣＰＵ１４の使用率にて情報処理装置を動作させることが可能となる。【００７２】
なお上記実施例に係る情報処理装置は、図７等とともに上述の如く、以下の構成を有する。すなわち、計測された、データ送信関数の動作に係るＣＰＵ１４の使用率が上限値を超える場合、データ送信に係る最大データ速度を所定速度分低下させる動作を行うための構成を有している。当該構成を、以下単に「データ送信に係る制御のための構成」と称する。更に同情報処理装置は、図７等とともに上述の如く、以下の構成をも有する。すなわち、計測された、データ受信関数の動作に係るＣＰＵ１４の使用率が上限値を超える場合、データ受信に係る最大データ速度を所定速度分低下させる動作を行うための構成をも有する。当該構成を、以下単に「データ受信に係る制御のための構成」と称する。しかしながら必ずしもこのような実施例の構成に限定される必要はない。【００７３】
すなわち第１の変形例に係る情報処理装置として、以下の構成を有する情報処理装置としてよい。当該情報処理装置は、上記データ送信に係る制御のための構成を有するが、上記データ受信に係る制御のための構成は有しない。【００７４】
また第２の変形例に係る情報処理装置として、以下の構成を有する情報処理装置としてよい。当該情報処理装置は、上記データ送信に係る制御のための構成は有しないが、上記データ受信に係る制御のための構成を有する。【００７５】
また、前記実施例に係る情報処理装置には、図１，２等とともに上記の如く、データ送信関数及びデータ受信関数のそれぞれの構成を有するネットワークドライバ１２を本体部１０に設けている。また同情報処理装置には、図１，２等とともに上記の如く、伝送路５０から受信されたデータを受信して本体部１０に転送する構成を有するファームウェア３１を含むネットワークアダプタ３０を設けている。しかしながら必ずしもこのような実施例の構成に限定される必要はない。【００７６】
すなわち第３の変形例に係る情報処理装置として、以下の構成を有する情報処理としてもよい。当該情報処理装置では、上記ネットワークアダプタ３０の構成を本体部１０に組み込む。すなわち上記実施例における、本体部１０のＣＰＵ１４及びネットワークアダプタ３０のＣＰＵ３５という２台のＣＰＵを設ける構成に代え、本体部において１台のＣＰＵを設けるようにする。また上記実施例では、本体部１０のネットワークドライバ１２及びネットワークアダプタ３０のファームウェア３１という２種の通信データ処理用のソフトウェアを設けている。このような構成に代え、本体部において１種の通信データ処理用のソフトウェアを設けるようにする。当該１種の通信データ処理用のソフトウェアは、上記２種の通信データ処理用のソフトウェアの構成を併せ持つ。また当該情報処理装置は、上記データ送信に係る制御のための構成及び上記データ受信に係る制御のための構成を併せ持つ。しかしながらこれに代え、上記データ送信に係る制御のための構成を有するが、上記データ受信に係る制御のための構成は有しないものとしてもよい。或いは上記データ送信に係る制御のための構成を有さず、上記データ受信に係る制御のための構成を有するものとしてもよい。【００７７】
これ以外にも、以下の請求の範囲の欄の各請求項に記載の範囲で様々な変形例が可能である。
【図１】
2009144797.tif 000003
【図２】
2009144797.tif 000004
【図３】
2009144797.tif 000005
【図４】
2009144797.tif 000006
【図５】
2009144797.tif 000007
【図６】
2009144797.tif 000008
【図７】
2009144797.tif 000009
【図８】
2009144797.tif 000010
【図９】
2009144797.tif 000011
【図１０】
2009144797.tif 000012
【図１１】
2009144797.tif 000013
【手続補正書】
【提出日】平成22年11月1日(2010.11.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
伝送路に接続され、前記伝送路を介して通信データの送受信を行う通信装置と、
前記通信データ及び前記通信データ以外のデータである非通信データの処理を行う処理装置と、
前記通信データ及び前記非通信データの処理を、前記処理装置に実行させる処理装置制御部と、
前記通信装置を制御するとともに、前記処理装置が前記通信データの前記処理を行う場合の単位時間当たりの処理を行う時間の割合を表す使用率を、前記処理装置制御部から取得し、前記取得した使用率に基づいて、前記通信データの送受信を行う場合の単位時間当たりのデータ転送量の最大値を表す最大データ速度を設定する通信装置制御部とを有することを特徴とする情報処理装置。
【請求項２】
前記通信装置制御部は、
前記処理装置制御部から取得した前記使用率が、所定値を超えている場合に、前記最大データ速度を所定速度分下げることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記通信装置制御部は、
送信に係る通信データのサイズの合計値を表す送信データサイズ合計値と、受信に係る通信データのサイズの合計値を表す受信データサイズ合計値とを、定期的に初期化することにより、前記通信装置の転送速度を算出することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
伝送路に接続され、前記伝送路を介して通信データの送受信を行う通信装置と、
前記通信データ及び前記通信データ以外のデータである非通信データの処理を行う処理装置とを有する情報処理装置の制御方法であって、
処理装置制御部が前記通信データ及び前記非通信データの処理を、前記処理装置に実行させるステップと、
通信装置制御部が、前記通信装置を制御するとともに、前記処理装置が前記通信データの前記処理を行う場合の単位時間当たりの処理を行う時間の割合を表す使用率を、前記処理装置制御部から取得し、前記取得した使用率に基づいて、前記通信データの送受信を行う場合の単位時間当たりのデータ転送量の最大値を表す最大データ速度を設定するステップとを有することを特徴とする情報処理装置の制御方法。
【請求項５】
前記通信装置制御部が、前記処理装置制御部から取得した前記使用率が、所定値を超えている場合に、前記最大データ速度を所定速度分下げるステップを有することを特徴とする請求項４記載の情報処理装置の制御方法。
【請求項６】
伝送路に接続され、前記伝送路を介して通信データの送受信を行う通信装置と、
前記通信データ及び前記通信データ以外のデータである非通信データの処理を行う処理装置とを有する情報処理装置の動作を制御するプログラムであって
前記通信データ及び前記非通信データの処理を、前記処理装置に実行させる処理装置制御部と、
前記通信装置を制御するとともに、前記処理装置が前記通信データの前記処理を行う場合の単位時間当たりの処理を行う時間の割合を表す使用率を、前記処理装置制御部から取得し、前記取得した使用率に基づいて、前記通信データの送受信を行う場合の単位時間当たりのデータ転送量の最大値を表す最大データ速度を設定する通信装置制御部として前記処理装置を機能させるプログラム。
【請求項７】
前記通信装置制御部は、
前記処理装置制御部から取得した前記使用率が、所定値を超えている場合に、前記最大データ速度を所定速度分下げることを特徴とする請求項６記載のプログラム。
【国際調査報告】
2009144797.tif 000014
2009144797.tif 000015