(57)【要約】【課題】  ユーザの要求帯域やネットワーク性能のみならず、ユーザ端末や通信装置の処理能力の実効値にも見合った通信帯域をユーザ端末に対して割り当てることができるシステムを提供する。【解決手段】  ユーザ端末におけるハードウェアの処理性能の実効値、ソフトウェアの処理性能の実効値及び通信装置の処理性能の実効値のうち少なくとも１つを測定し、当該測定値に基づいて前記ユーザ端末に割り当てる通信帯域を決定することを特徴とする通信帯域割り当てシステム。【選択図】    図１
2006324793.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されたユーザ端末に対して通信帯域の割り当てを行うシステムであって、
前記ユーザ端末におけるハードウェアの処理性能の実効値、ソフトウェアの処理性能の実効値及び通信装置の処理性能の実効値のうち少なくとも１つを測定し、当該測定値に基づいて前記ユーザ端末に割り当てる通信帯域を決定することを特徴とする通信帯域割り当てシステム。
【請求項２】
ハードウェアの処理性能の実効値、ソフトウェアの処理性能の実効値及び通信装置の処理性能の実効値は、ハードウェア、ソフトウェア及び通信装置のそれぞれが実際に単位時間あたり処理できる最大のデータ量として表されることを特徴とする請求項１に記載の通信帯域割り当てシステム。
【請求項３】
前記ハードウェアの処理性能の実効値は、前記ユーザ端末が有するCPU、ROM、RAM及びハードディスクのデータ処理性能うち少なくとも１つを用いて算出されることを特徴とする請求項１又は２に記載の通信帯域割り当てシステム。
【請求項４】
前記ユーザ端末におけるハードウェア構成が変更されるのに応じて、前記ハードウェアの処理性能の実効値の算出方法を変更することを特徴とする請求項３に記載の通信帯域割り当てシステム。
【請求項５】
前記ソフトウェアの処理性能の実効値は、前記ユーザ端末のＯＳが提示する当該ソフトウェアに関するハードウェアパラメータを用いて算出されることを特徴とする請求項１から４までのいずれか１項に記載の通信帯域割り当てシステム。
【請求項６】
前記ユーザ端末のＯＳが提示する前記ソフトウェアに関するハードウェアパラメータは、前記ソフトウェアによるＩＯデバイスへの書き込みデータ量及び読み込みデータ量、前記ソフトウェアのCPU使用率、前記ソフトウェア以外のプロセスのCPU使用率、当該ソフトウェアが要求する通信帯域、並びにデータを一時的に蓄積できるバッファ容量のうち少なくとも１つを含んでいることを特徴とする請求項１から５までのいずれか１項に記載の通信帯域割り当てシステム。
【請求項７】
前記ソフトウェアの処理対象となる情報の種類に応じて、前記ソフトウェアの処理性能の実効値の算出方法を変更することを特徴とする請求項５又は６に記載の通信帯域割り当てシステム。
【請求項８】
前記通信装置の処理性能の実効値は、前記ユーザ端末のＯＳが提示する当該通信装置に関するハードウェアパラメータを用いて算出されることを特徴とする請求項１から７のいずれか１項に記載の通信帯域割り当てシステム。
【請求項９】
前記ユーザ端末のＯＳが提示する前記通信装置に関するハードウェアパラメータは、当該通信装置が送受信するデータ量、及び当該通信装置の規格上の処理性能の最大値のうち少なくとも１つを含んでいることを特徴とする請求項１から８のいずれか１項に記載の通信帯域割り当てシステム。
【請求項１０】
前記通信装置の通信方式の規格に応じて、前記通信装置の処理性能の実効値の算出方法を変更することを特徴とする請求項８又は９に記載の通信帯域割り当てシステム。
【請求項１１】
前記ユーザ端末は、当該ユーザ端末におけるハードウェアの処理性能の実効値、ソフトウェアの処理性能の実効値及び通信装置の処理性能の実効値のうち少なくとも１つを継続的に測定しており、当該測定値に基づいて前記ユーザ端末に割り当てる通信帯域を動的に変化させることを特徴とする請求項１から１０までのいずれか１項に記載の通信帯域割り当てシステム。
【請求項１２】
前記ユーザ端末におけるハードウェアの処理性能の実効値、ソフトウェアの処理性能の実効値及び通信装置の処理性能の実効値のうち少なくとも１つの測定値を一定の時間間隔でサンプリングし、前記ユーザ端末に割り当てる通信帯域を動的に変化させることを特徴とする請求項１１に記載の通信帯域割り当てシステム。
【請求項１３】
前記ユーザ端末におけるハードウェアの処理性能の実効値、ソフトウェアの処理性能の実効値及び通信装置の処理性能の実効値のうち少なくとも１つの測定値と、前回の同測定値との比較結果に基づいて、前記ユーザ端末に割り当てる通信帯域を動的に変化させることを特徴とする請求項１１又は１２に記載の通信帯域割り当てシステム。
【請求項１４】
新たなユーザ端末からネットワークへの接続要求を受けると、現在ネットワークに接続中の全ユーザ端末に対して前記サンプリングを行い、前記新たなユーザ端末に割り当てるのに十分な通信帯域あるかどうかを確認することを特徴とする請求項１２に記載の通信帯域割り当てシステム。
【請求項１５】
前記ユーザ端末におけるハードウェアの処理性能の実効値、ソフトウェアの処理性能の実効値及び通信装置の処理性能の実効値のうち少なくとも１つの測定値に基づいて決定された前記ユーザ端末に対して割り当てるべき通信帯域が、前記ユーザ端末が通信を行うネットワーク上の経路の通信帯域を超えない値である場合にのみ、前記ユーザ端末に対して当該通信帯域の割り当てを行うことを特徴とする請求項１から１４のいずれか１項に記載の情報装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続されるユーザのデスクトップＰＣ、ノートＰＣ、ＰＤＡなどの情報端末（以下「ユーザ端末」と称する）に対して、データ通信に使用する通信帯域の割り当てを行う技術に関し、特に、各ユーザ端末の実効の処理能力に応じた通信帯域の割り当てを行う技術に関するものである。
【背景技術】
【０００２】
従来から音声や動画像は、音声・動画像専用回線を用いたテレビ・ラジオにより受信されてきた。ところが、近年では大容量ネットワークの構築が進み、ネットワーク経由で音声や動画像を配信するサービスが盛んになってきている。しかしながら、ネットワーク配信では、経路状況や接続するユーザ数などに応じて、１ユーザが使用できる帯域が刻々と変わる。例えば、突発的に大量のデータがネットワーク内に流れ込むと、ユーザの利用可能な帯域が著しく狭められ、受信中の音声や動画像が途切れてしまうという問題が発生する。これが、音声や動画像等をネットワークにより伝送する際における不安定要因ともなっていた。
【０００３】
上記問題点に対しては、ユーザ端末をネットワークに接続する際に、管理サーバがユーザ端末に予め必要な帯域を割り当てることにより、データの伝送に必要な帯域を確保するシステムが提案されている。このような、「予め必要な伝送帯域を要求して、データ伝送に必要な帯域を確保するシステム」においては、伝送データが音声・静止画であるか動画等であるかなどによって要求帯域の大きさを変えることが考慮されてはいたものの、要求帯域の大きさはユーザの感覚で比較的大まかに設定されるのが一般的であった。
【０００４】
しかしながら上記の方法では、ユーザは、十分な帯域を要求しようとして、実際に使用するよりも大きな帯域の割り当てを要求しがちである。結果として、ユーザに割り当てられた帯域が十分に利用されず、ネットワークの利用効率が低下してしまう。そこで、特許文献１等では、通信インタフェースの性能（例えば、有線ネットワークでは１００Ｍｂｓ、無線ネットワークでは１１Ｍｂｐｓなど）と、ユーザが希望するコンテンツの品質から算出される要求帯域と、ネットワーク経路の帯域幅とを比較し、これらのうち最も低い帯域値を、管理サーバがユーザ端末に割り当てる方法が提案されている。
【特許文献１】特開２００２−２７１３８３号公報。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の方法では、システムの規格上の限定条件、ユーザの要求、ネットワーク性能等を考慮に入れて割り当てられる帯域の値が決定されているものの、ユーザ端末や通信装置の処理能力の実効値は考慮されていないため、ユーザ端末や通信装置が実際に処理可能な値と比して過大な帯域幅を割り当ててしまうこともあり、回線利用効率が十分には向上されていない。例えば、特許文献１に記載の帯域割り当て方式では、ユーザ端末は、コンテンツ配信時にユーザの要求帯域値である３０Ｍｂｐｓと通信装置の規格値である１００Ｍｂｐｓとを比較して３０Ｍｂｐｓを要求帯域とし、配信サーバ側では、ネットワーク経路の帯域幅が５０Ｍｂｐｓであることを考慮して、ユーザの要求帯域値３０Ｍｂｐｓをそのまま割り当て帯域幅として決定する。ところが、実際にはユーザ端末が１０Ｍｂｐｓしか処理能力がなかった場合には、ユーザ端末に２０Ｍｂｐｓもの過大な帯域幅が割当てられていることになる。また、通信装置の処理能力の実効値が規格値よりも大きく下回っている場合にも、同様の問題が起きてしまう。
【０００６】
すなわち、ユーザ端末や通信装置の処理能力の実効値がネットワーク経路における処理能力より低いことを配信サーバ側で検知できないため、ユーザ端末に対して十分に効率的な帯域割り当てを行うことができない場合が生じるのである。配信サーバに多数のユーザ端末が接続される場合には、上記のような非効率な帯域割り当てをしてしまうことにより、ユーザ端末の中には帯域要求をしてもそれが受理されず接続を拒否されるものが生じてしてしまうことが想定される。
【０００７】
本発明は、このような実情に鑑みてなされたものであり、ユーザの要求帯域やネットワーク性能のみならず、ユーザ端末や通信装置の処理能力の実効値にも見合った通信帯域をユーザ端末に対して割り当てることができるシステムを提供しようとするものである。
【課題を解決するための手段】
【０００８】
上記解決課題に鑑みて鋭意研究の結果、本発明者は、ユーザシステムの規格上の帯域幅、ユーザの要求帯域及びネットワーク性能に加えて、ユーザ端末や通信装置自体の実効の処理能力をも考慮して、ユーザ端末や通信装置自体の実効の処理能力を超えない範囲でユーザ端末に割り当てる帯域を決定することに想到した。
【０００９】
すなわち、本発明は、ネットワークに接続されたユーザ端末に対して通信帯域の割り当てを行うシステムであって、前記ユーザ端末におけるハードウェアの処理性能の実効値、ソフトウェアの処理性能の実効値及び通信装置の処理性能の実効値のうち少なくとも１つを測定し、当該測定値に基づいて前記ユーザ端末に割り当てる通信帯域を決定することを特徴とする通信帯域割り当てシステムを提供するものである。
【００１０】
本発明の通信帯域割り当てシステムにおいて、ハードウェアの処理性能の実効値、ソフトウェアの処理性能の実効値及び通信装置の処理性能の実効値は、ハードウェア、ソフトウェア及び通信装置のそれぞれが実際に単位時間あたり処理できる最大のデータ量として表されることを特徴とする。
【００１１】
本発明の通信帯域割り当てシステムにおいて、前記ハードウェアの処理性能の実効値は、前記ユーザ端末が有するCPU、ROM、RAM及びハードディスクのデータ処理性能うち少なくとも１つを用いて算出されることを特徴とする。
【００１２】
本発明の通信帯域割り当てシステムにおいて、前記ユーザ端末におけるハードウェア構成が変更されるのに応じて、前記ハードウェアの処理性能の実効値の算出方法を変更することを特徴とする。
【００１３】
本発明の通信帯域割り当てシステムにおいて、前記ソフトウェアの処理性能の実効値は、前記ユーザ端末のＯＳが提示する当該ソフトウェアに関するハードウェアパラメータを用いて算出されることを特徴とする。
【００１４】
本発明の通信帯域割り当てシステムにおいて、前記ユーザ端末のＯＳが提示する前記ソフトウェアに関するハードウェアパラメータは、前記ソフトウェアによるＩＯデバイスへの書き込みデータ量及び読み込みデータ量、前記ソフトウェアのCPU使用率、前記ソフトウェア以外のプロセスのCPU使用率、当該ソフトウェアが要求する通信帯域、並びにデータを一時的に蓄積できるバッファ容量のうち少なくとも１つを含んでいることを特徴とする。
【００１５】
本発明の通信帯域割り当てシステムにおいて、前記ソフトウェアの処理対象となる情報の種類に応じて、前記ソフトウェアの処理性能の実効値の算出方法を変更することを特徴とする。
【００１６】
本発明の通信帯域割り当てシステムにおいて、前記通信装置の処理性能の実効値は、前記ユーザ端末のＯＳが提示する当該通信装置に関するハードウェアパラメータを用いて算出されることを特徴とする。
【００１７】
本発明の通信帯域割り当てシステムにおいて、前記ユーザ端末のＯＳが提示する前記通信装置に関するハードウェアパラメータは、当該通信装置が送受信するデータ量、及び当該通信装置の規格上の処理性能の最大値のうち少なくとも１つを含んでいることを特徴とする。
【００１８】
本発明の通信帯域割り当てシステムにおいて、前記通信装置の通信方式の規格に応じて、前記通信装置の処理性能の実効値の算出方法を変更することを特徴とする。
【００１９】
本発明の通信帯域割り当てシステムにおいて、前記ユーザ端末は、当該ユーザ端末におけるハードウェアの処理性能の実効値、ソフトウェアの処理性能の実効値及び通信装置の処理性能の実効値のうち少なくとも１つを継続的に測定しており、当該測定値に基づいて前記ユーザ端末に割り当てる通信帯域を動的に変化させることを特徴とする。
【００２０】
本発明の通信帯域割り当てシステムにおいて、前記ユーザ端末におけるハードウェアの処理性能の実効値、ソフトウェアの処理性能の実効値及び通信装置の処理性能の実効値のうち少なくとも１つの測定値を一定の時間間隔でサンプリングし、前記ユーザ端末に割り当てる通信帯域を動的に変化させることを特徴とする。
【００２１】
本発明の通信帯域割り当てシステムにおいて、前記ユーザ端末におけるハードウェアの処理性能の実効値、ソフトウェアの処理性能の実効値及び通信装置の処理性能の実効値のうち少なくとも１つの測定値と、前回の同測定値との比較結果に基づいて、前記ユーザ端末に割り当てる通信帯域を動的に変化させることを特徴とする。
【００２２】
本発明の通信帯域割り当てシステムにおいて、新たなユーザ端末からネットワークへの接続要求を受けると、現在ネットワークに接続中の全ユーザ端末に対して前記サンプリングを行い、前記新たなユーザ端末に割り当てるのに十分な通信帯域あるかどうかを確認することを特徴とする。
【００２３】
本発明の通信帯域割り当てシステムにおいて、前記ユーザ端末におけるハードウェアの処理性能の実効値、ソフトウェアの処理性能の実効値及び通信装置の処理性能の実効値のうち少なくとも１つの測定値に基づいて決定された前記ユーザ端末に対して割り当てるべき通信帯域が、前記ユーザ端末が通信を行うネットワーク上の経路の通信帯域を超えない値である場合にのみ、前記ユーザ端末に対して当該通信帯域の割り当てを行うことを特徴とする。
【発明の効果】
【００２４】
以上、説明したように、本発明の通信帯域割り当てシステムによれば、ユーザの要求帯域やネットワーク性能のみならず、ユーザ端末や通信装置の処理能力の実効値にも見合った通信帯域をユーザ端末に対して割り当てることができるので、ネットワークにおける通信帯域の利用効率が向上される。
【発明を実施するための最良の形態】
【００２５】
以下、添付図面を参照しながら、本発明の通信帯域割り当てシステムを実施するための最良の形態を詳細に説明する。図１〜図１１は、本発明の実施の形態を例示する図であり、これらの図において、同一の符号を付した部分は同一物を表わし、基本的な構成及び動作は同様であるものとする。
【００２６】
本発明の通信帯域割り当てシステムは、以下に示すような構成要素を含んでいる。
・ネットワークに接続する各ユーザ端末への帯域の割り当てを管理する管理サーバ
・ルータやスイッチングハブ等の中継装置
・ワークステーション、デスクトップＰＣ、ノートＰＣ、ＰＤＡ等のユーザ端末
・ユーザ端末のハードウェアの実効データ処理能力（以下「ハードウェア性能」と称する）及びソフトウェアの実効データ処理能力（以下「ソフトウェア性能」と称する）を監視するモニタ
・有線ＬＡＮアダプタや無線ＬＡＮ用ＰＣカードなどの通信装置
・処理内容等を表示する表示装置
【００２７】
以下において、説明の便宜上、ユーザ端末と通信装置とが一体となっている場合を例に挙げて説明するが、ユーザ端末と通信装置とは別々のハードウェアとして構成されていてもよい。また、ユーザ端末と表示装置とが別々のハードウェア構成である場合を例に挙げて説明するが、これらは一体となっていてもよい。また、通信帯域監視を行うモニタをユーザ端末内のＲＯＭ内に記憶されたソフトウェアにより実現する例を示しているが、このモニタは管理サーバ上で動作するものであってもよく、あるいはユーザ端末や管理サーバとは別のハードウェアにより構成してもよい。以下では、ユーザ端末と通信装置とを合わせてユーザシステムと称する。また、ユーザ端末のＣＰＵからユーザ端末の通信装置のインタフェースまでのデータ伝送路をバスと称する。
【００２８】
尚、本発明の通信帯域割り当てシステムは、例えばＡＲＩＢ ＳＴＤ-Ｔ７０のＨｉＳＷＡＮ（High Speed wireless Access Network）のような帯域制御が可能な無線ＬＡＮシステムや、ＡＴＭなどの帯域保証機能のある有線ネットワーク等のように、管理サーバによってユーザ端末の帯域を制御するシステムに適用されるものである。また、本発明の通信帯域割り当てシステムでは、ユーザ端末がルータなどの中継装置を経由して管理サーバと通信を行う例を示しているが、中継装置には一切の改造を加える必要がないため、Ｄｉｆｆｓｅｒｖ等、ルータ等の中継装置で帯域制御を行うシステムにも適用可能である。
【００２９】
本発明の通信帯域割り当てシステムでは、まず、通信帯域の割り当てを制御する管理サーバがユーザ端末に帯域を割り当てる前に、ユーザ端末が管理サーバに対し必要な帯域を要求する。この帯域要求の直前に、モニタがユーザシステムを検査し、使用されるアプリケーションと各種ハードウェアパラメータ（詳しくは後述）とを抽出し、上記アプリケーションとユーザシステムのハードウェア全体の処理性能の実効値を計算してソフトウェア性能リストとハードウェア性能リスト（後述する）を作成する。ユーザ端末は、通信装置を介して管理サーバに対して帯域要求を行い、管理サーバはユーザ端末に要求された分の帯域を割り当てる。管理サーバは任意のタイミングで全ユーザ端末の上記ソフトウェア性能リスト及びハードウェア性能リストの値の再計算を要求し、その値を抽出し、それを元に動的に帯域の再割当て等の管理を行う。ＬＡＮネットワークを構築した場合には、例えばルータ機能などを備えた基地局が管理サーバに該当する。また、ユーザ端末と管理サーバとを直接接続してもよいし、ネットワーク上にルータやスイッチングハブ等の中継装置が１台以上存在していてもよい。
【００３０】
通信帯域割り当てシステムの構成
図１は、本実施形態の通信帯域割り当てシステムにおけるユーザ端末を構成する通信機能を備えた情報処理装置の内部構成と、この情報処理装置が接続されているネットワークの構成とを概略的に示す図である。図１（ａ）はユーザ端末を含むシステムの概要を示す図である。図１（ａ）に示すように、本実施形態における情報処理装置（以下「ユーザ端末」と称する）は、オペレーティングシステムＯＳ１−２による動作などを制御するＣＰＵ１−１と、ＯＳ１−２上で動作するアプリケーション１−３と、通信装置２へのインタフェースと、ＯＳなどのプログラムを格納するＲＯＭ１−５と、ＣＰＵの命令データ等を一時格納するＲＡＭ１−４と、蓄積したユーザデータやプログラム等を格納するハードディスクに代表されるストレージデバイス１−６と、表示装置へ画像を送るグラフィクスカード１−７と、監視用のモニタ３と、これらを接続するバスラインＢＬ（以下「バス」と称する）とを有している。
【００３１】
ユーザ端末は、通信装置２を介してネットワークと接続可能になっている。ネットワークには複数の中継装置５と管理サーバ６−１が存在する。管理サーバ６−１にはＲＡＭ６−２が搭載されており、これには全ユーザ端末のサンプリング期間[ｓ]（詳しくは後述する）が格納されている。便宜上、本例では中継装置５、管理サーバ６−１は共に１つとしている。また、便宜上、本例ではユーザ端末は中継装置５を経由して管理サーバ６−１に接続するものとするが、直接管理サーバ６−１と接続してもよい。さらには管理サーバ６−１内のＲＡＭ６−２は、データを格納できる方式のものであればよく、ＲＡＭに限定されるものではない。ＲＯＭ１−５やストレージデバイス１−６には、ＯＳなどの他、通信に使用するアプリケーションソフトウェアが格納されている。グラフィクスカード１−７はアプリケーションやＯＳから受け取ったデータを表示装置４に出力する。ユーザ端末内に設けられた監視用のモニタ３は、ユーザ端末と通信装置２とのそれぞれから性能情報を抽出し、それぞれが要求する帯域を割り出した後に、性能情報値を通信装置２に返す。
【００３２】
図１（ｂ）は、監視用のモニタ３の概略構成例を示す図である。図１（ｂ）に示すように、モニタ３は、ソフトウェア性能リスト７を有しており、アプリケーションや要求帯域、ＯＳから提示されるハードウェアパラメータなどを格納する。モニタ３は、さらに、ハードウェア性能リスト８を有しており、ＯＳから提示されるハードウェアパラメータやバス幅、通信装置の規格値などを格納している。比較器（要求帯域計算器）９は、上記ソフトウェア性能リスト７及びハードウェア性能リスト８から、それぞれソフトウェア性能及びハードウェア性能を受け取り、これらの比較に基づいて、ネットワークに要求する帯域値を決定し、通信装置２に対して要求帯域値を渡す。
【００３３】
図２は、図１に示すモニタ３に格納されているソフトウェア性能リスト７及びハードウェア性能８のデータ構成例を示す図である。図２（ａ）には、ソフトウェア性能リスト７のデータテーブルを示している。ソフトウェア性能リスト７は、具体的には、アプリケーション１０と、要求帯域[bps]１１と、ＩＯサイズ[byte]１２と、累計ＩＯサイズ[byte]１３と、総バッファサイズ[byte]１４と、累計バッファサイズ[byte]１５と、通信前のアプリケーションのＣＰＵ使用率[%]１６と、通信中のアプリケーションのＣＰＵ使用率[%]１７と、通信前のＣＰＵ全体の使用率[%]１８と、通信中のＣＰＵ全体の使用率[%]１９と、処理時間[s]２０と、処理帯域[bps]２１（括弧の中は前回の値）と、サンプリング周期[s]２２と、を格納している。
【００３４】
図２（ｂ）には、ハードウェア性能リストのデータテーブルを示している。ハードウェア性能リストは、具体的には、通信装置３０と、バス幅[bps]３１と、規格帯域[bps]３２と、送受信（データ）サイズ[byte]３３と、累計送受信サイズ[byte]３４と、通信時間[s]３５と、NIC帯域[bps]３６（括弧の中は前回の値）と、サンプリング時間[s]３７と、を格納している。図２（ａ）及び（ｂ）に示す各パラメータの説明は後述する。
【００３５】
次に、本実施形態の通信帯域割り当てシステムの動作について説明する。本システムにおいてユーザ端末により帯域要求を行う処理の流れを図３〜図７のフローチャートに示している。また、本システムにおいて、管理サーバによりユーザ端末に対して帯域の割り当てを行う処理の流れを図８のフローチャートに示している。
【００３６】
（ａ）ソフトウェア性能の算出方法
アプリケーションの処理性能は、単純に記述言語や記述の仕方、或いはコンパイラ等のソフトウェア要素だけでは決定できない。処理を実行するＣＰＵの性能や、プログラムをＲＯＭ又はＲＡＭから読み出す際のスピード、ストレージデバイスへのデータの退避速度、グラフィクスカードへの表示データの転送速度など、ハードウェア要素も密接に絡んでいる場合が多い。また、アプリケーションの種類によってはＲＡＭやストレージデバイス上に特別なバッファを構築し、アプリケーション本体は動いていなくともネットワークからのデータを一時格納することが可能であるものも存在する。
【００３７】
しかしながら、ＣＰＵやＲＯＭ、ＲＡＭ、ストレージデバイス、グラフィクスカード等のハードウェアの実効性能を直接測るためには、本実施の形態による技術を適応する度にユーザ端末のハードウェアに対して直接に改造を施さなければならないが、これは煩雑であり現実的ではない。そこで、ユーザ端末搭載のＯＳが提示するハードウェアパラメータの中から以下の項目を抽出し、アプリケーションおよびハードウェアの処理性能を求める材料とする。
１）アプリケーション毎のＩＯデバイスへの書き込み・読み込みサイズ[byte]（以下総ＩＯサイズとする）
２）アプリケーションのＣＰＵ使用率[%]
３）上記アプリケーション以外のプロセスが使用するＣＰＵの使用率[%]（以下「ＣＰＵ全体の使用率」と称する）
４）アプリケーションの要求する帯域[bps]（初期値：以下「要求帯域」と称する）
５）総バッファ量[byte]
【００３８】
上記１）〜５）までのパラメータのうち、ユーザの使用するアプリケーションに割当てられているそれぞれの値を抽出し、ソフトウェア性能リストに書き加える。これらを抽出することで、ＣＰＵやＲＯＭ、ＲＡＭ、ストレージデバイス、グラフィクスカード等の実効速度が分からなくても、アプリケーション本体とＩＯデバイス（本システムにおけるユーザ端末）とがどれだけの速度でデータをやり取りできるかを知ることができる。加えてバッファがどれだけのデータを処理できるかを考慮することで、アプリケーション全体の処理性能が分かる。尚、上記総ＩＯサイズ及び総バッファ量はアプリケーション起動時から現在までのデータ量を合計した値である。
【００３９】
まず、通信開始前に管理サーバに要求する帯域の初期値として、アプリケーション全体の処理性能に相当する帯域を採用する。その値は、アプリケーション全体が処理するデータによって異なる。例えば、ユーザが１２８Ｋｂｐｓの音楽を視聴したいのであれば、アプリケーションは１２８Ｋｂｐｓを要求帯域とし、１Ｍｂｐｓの動画を再生したいのであれば１Ｍｂｐｓを要求帯域とする。また、アプリケーションによっては予めユーザが手動で帯域値を設定できる場合がある。この場合はその値を要求帯域とする。
【００４０】
しかしながら、上記初期値は、理論値や或いは希望値であるため、前述の通り過大な値であることが考えられる。そこで上記１）〜５）のパラメータを用いて実際の性能を測る。また、実際の性能は時々刻々変化することから、管理サーバから通知されるタイミングで上記パラメータをサンプリングすることにより、管理サーバは状況に応じた適切な帯域をユーザ端末に割り当てる。管理サーバは初回の接続時にユーザ端末のモニタ経由でそのサンプリング期間[s]をソフトウェア性能リストへ書き込む。また、管理サーバは接続している全ユーザ端末のサンプリング期間[s]をＲＡＭに格納している。
【００４１】
初めに、通信前のアプリケーションのＣＰＵ使用率（１）を抽出しておく。次に通信開始時の総ＩＯサイズを累計ＩＯサイズとしてソフトウェア性能リストへ追加し、現在のアプリケーションのＣＰＵ使用率（２）を随時モニタリングしておく。ここで、通信前のアプリケーションのＣＰＵ使用率（１）＜現在のアプリケーションのＣＰＵ使用率（２）となっている期間がアプリケーションによりデータ処理が行われている時間であり、通信前のアプリケーションのＣＰＵ使用率（１）＝現在のアプリケーションのＣＰＵ使用率（２）となる時がアプリケーションのデータ処理が終わった時である。この時点での総ＩＯサイズと通信開始時のＩＯサイズ、すなわち累計ＩＯサイズとの差分が、今回の通信でアプリケーションが処理したデータサイズであり、総バッファ量と累計バッファ量の差分が、今回の通信でバッファとして蓄えることが可能であったデータサイズである。
【００４２】
ここで、通信前のアプリケーションのＣＰＵ使用率（１）＜現在のアプリケーションのＣＰＵ使用率（２）となっている期間を処理時間[s]とすると、通信中のアプリケーション本体の処理性能[bps]は次式で与えられる。
（（総ＩＯサイズ）−（累計ＩＯサイズ））÷（処理時間）
以下において、この式により得られる値を「アプリケーション処理帯域」と称する。
【００４３】
また、通信中のバッファの処理性能[bps]は次式で与えられる。
（総バッファ量）−（累計バッファ量）÷（処理時間）
以下において、この式により得られる値を「バッファ処理帯域」と称する。
【００４４】
そして、アプリケーション全体の処理性能[bps]は次式で与えられる。
（アプリケーション処理帯域）＋（バッファ処理帯域）
以下において、この式により得られる値を「処理帯域」と称する。
【００４５】
通信装置が通信を行う時間とアプリケーションが通信を行う時間は必ずしも一致しない。例えば、通信が終わった後もアプリケーションが処理しつづけていることも考えられるため、単純に通信装置が動いているか否かを観測すればよいことにはならない。通信開始からユーザ端末のＣＰＵ使用率を監視することで、アプリケーションが送受信を処理する時間が判明する。
【００４６】
初期値をモニタへ渡して通信が開始された後、サンプリング時間中パラメータの値が測定される。サンプリング時間が経過して再計算の時間がきたら上記処理帯域に関する式に基づいて計算を行い、掲載された処理帯域を図１に示すソフトウェア性能リスト７に書き込む。そして、最終的に管理サーバが判断するアプリケーションの処理性能は、「（要求帯域）或いは（処理帯域）のうち小さい方」となる。以後、通信期間中は、サンプリング時間が来る度に処理帯域を再計算する。
【００４７】
２回目の帯域割り当て時には、まず直前の処理帯域と今回の処理帯域とを比べる。直前の処理帯域とは、つまり通信前の要求帯域である。今回の処理帯域とはサンプリング時間が来て計算した処理帯域である。この二つの値のうち、小さいほうをアプリケーションの処理性能とし、ソフトウェア性能リストに書き込む。３回目以降の帯域割り当て時には、前回のアプリケーションの処理性能と今回のアプリケーションの処理性能を比較し、小さいほうを次の帯域要求の為のアプリケーションの処理性能とする。
【００４８】
ユーザ端末は、管理サーバから帯域を割り当てられるたびに、総ＩＯサイズ及び総バッファ量を累計ＩＯサイズ及び累計バッファ量としてソフトウェア性能リストに書き出し、次のサンプリング時間までデータ処理を再開する。
【００４９】
もし、ＣＰＵの負担が重くなったなどの事情により、アプリケーションの処理できるデータ量が下がり、ユーザ端末が割り当てられた帯域を少なくしないと処理できない場合には、次回の処理帯域は自動的に低くなる。この場合はそのまま今回の処理帯域をアプリケーションの処理性能とすればよい。逆にＣＰＵの処理能力に余力ができ、アプリケーションがもっと多くのデータを処理できる可能性が出てきた場合、データ処理可能な増分を考慮して次回の処理帯域とする必要がある。この場合に備えて、予め現在のＣＰＵ全体の使用率（３）も随時モニタリングしておくのが好ましい。この値が１００[%]でなければ、ＣＰＵの処理性能をまだアプリケーションに割り当てることができることを意味する。そこで、サンプリング時間が経過して再計算をする際に、現在のアプリケーションのＣＰＵ使用率（２）＋現在のＣＰＵ全体の使用率（３）＝１００[%]となるようにアプリケーションの処理能力を増大させることができる。最終的には、このときの処理帯域と要求帯域のうち低い方をアプリケーションの処理性能として採用することになる。
【００５０】
図３は、上記したソフトウェア性能の測定処理の流れを示すフローチャート図である。図３において、本システムは、通信準備があるまで待機する（ステップＳ１０１）。通信準備段階に入ると、まずユーザ端末からアプリケーションとその要求帯域、サンプリング時間を抽出し、さらにユーザ端末のＯＳが提示するハードウェアパラメータの中から、ＩＯサイズ、通信前のＣＰＵ使用率を抽出し、ソフトウェア性能リストを作成する（ステップＳ１０２）。以前に上記アプリケーションを使用して通信を行っており、処理帯域を計算しているかどうかを判断し（ステップＳ１０３）、処理帯域がソフトウェア性能リストに記載されていない場合は通信中か否かを判断する（ステップＳ１０４）。以前に、上記アプリケーションを使用していて、処理帯域が記載されている場合にはステップＳ１１１に進む。まだ通信していない場合には、要求帯域をモニタに渡し（ステップＳ１０５）、通信開始を待つ（ステップＳ１０６）。通信中であれば、通信中のアプリケーションのＣＰＵの使用率とＣＰＵ全体の使用率を常に測定し、ソフトウェア性能リストに追加してこの値を随時更新する（ステップＳ１０７）。
【００５１】
通信開始時からサンプリング時間の時間が経ち、ソフトウェア性能の再計算時刻となると（ステップＳ１０８）、上記通信中のアプリケーションのＣＰＵ使用率と通信前のアプリケーションのＣＰＵ使用率とから、処理時間を算出してリストに追加し（ステップＳ１０９）、ＣＰＵ全体の使用率とアプリケーションのＣＰＵ使用率を考慮に入れて処理帯域を算出した後（ステップＳ１１０）、その処理帯域と処理帯域との前回値を比較し、大きい方と要求帯域とを比較して、小さい方の値をソフトウェアの処理性能としてモニタに渡す（ステップＳ１１１）。そして、ＩＯサイズの今までの値を、累計ＩＯサイズとしてソフトウェア性能リストに追加する（ステップＳ１１２）。サンプリング時間が経過する前に通信が終了した場合（ステップＳ１１３）、ソフトウェア性能の測定処理を終了する。尚、ステップＳ１１０における処理については後に詳しく説明する。
【００５２】
（ｂ）ユーザ端末ハードウェア性能の算出方法
次に、ユーザ端末のハードウェアの処理性能を求める。このハードウェア性能に関しては、ユーザ端末搭載のＣＰＵやＲＯＭ、ＲＡＭ、ハードディスクへのアクセス速度やグラフィクスカードの処理性能等の性能は、上記ソフトウェア性能の算出において考慮されているため、ここで言うユーザ端末ハードウェア性能とは、バス帯域幅[bps]（以下、「バス幅」と称する）のことである。ユーザ端末のバス幅の値を図２（ｂ）に示すハードウェア性能リストに加える。バス幅についても、上記同様に管理サーバが定めるサンプリング時間毎に再測定を行う。
【００５３】
図４は、ハードウェア性能測定の際におけるユーザ端末のハードウェア性能の測定処理の流れを示すフローチャートである。図４に示すように、本システムは、通信準備があるまで待機している（ステップＳ２０１）。通信準備段階に入ると、ユーザ端末からバス幅を抽出し、ハードウェア性能リストに追加し（ステップＳ２０２）、バス幅をモニタに渡す（ステップＳ２０３）。次いで、現在通信中であるか否かを判定し（ステップＳ２０４）、現在通信していない場合には、通信開始を待つ（ステップＳ２０５）。通信開始からサンプリング時間分時間が経過し、ユーザ端末のハードウェア性能の再計算時間となったか否かを判断し（ステップＳ２０６）、再計算時間になった場合には、バス幅を再度測り直した後に（ステップＳ２０７）、バス幅をモニタに渡す（ステップＳ２０３）。ステップＳ２０８においてサンプリング時間が経つ前に通信が終了した場合には、ユーザ端末ハードウェア性能の測定処理を終了する。
【００５４】
（ｃ）通信装置ハードウェア性能の算出方法
上記ソフトウェア性能の算出方法と同じように、本システムを適用するための目的で通信装置のハードウェアを改造して実効の処理性能を直接的に測定できるようにするのは現実的ではない。そこで、通信装置のハードウェアパラメータに関しても、ＯＳから提示される以下のパラメータを抽出して、ハードウェア性能リストへ書き加えることとする。
１）NIC（Network Interface Card）の送受信サイズ[byte]（以下、「総送受信サイズ」とする）
２）通信方式の規格上の理論値[bps]（初期値：以下、「規格帯域」とする）
尚、上記総送受信サイズは起動時からの累計の値をとるものとする。
【００５５】
まず、通信開始前の初期値は通信装置の処理性能として規格帯域を採用する。規格帯域は、通信装置の通信方式や通信装置の規格によって決まる。例えば、１００Ｍｂｐｓの有線ネットワークであれば１００Ｍｂｐｓを規格帯域とし、１１Ｍｂｐｓの無線ネットワークであれば１１Ｍｂｐｓを規格帯域とする。また、通信装置によっては、予めユーザが手動で帯域値を設定できる場合がある。この場合はその設定された値を規格帯域とする。
【００５６】
次にソフトウェア性能の計算と同様に、サンプリング時間になると実際の処理性能を求める。そのためには、ある時間、送受信サイズを観測する必要がある。まず通信開始前の送受信サイズを累計送受信サイズとし、ハードウェア性能リストへ書き加える。ある一定期間観測した後の総送受信サイズと累計送受信サイズとの差分が、今回の通信で通信装置が処理したデータサイズである。観測時間は、通信装置がユーザ端末とデータの送受信している時間、つまりバスをデータが流れている時間とすればよいため、これを通信時間[s]とすると、観測時間は、
（総送受信サイズ）―（累計送受信サイズ） ）÷（通信時間）
で表わされる。以下、この式で得られる値を「NIC帯域」と称する。上式で得られたNIC帯域の値を図１に示すハードウェア性能リストに書き加える。そして、最終的に要求すべき通信装置ハードウェア性能は、「（規格帯域）或いは（NIC帯域）のうち小さい方」となる。
【００５７】
以後、通信中はサンプリング時間が来る度にNIC帯域を再計算するが、２回目以降は直前のNIC帯域と今回のNIC帯域とを比べて高い方を規格帯域との比較対象とする。例えば、今回のNIC帯域が前回の値より低いということは、再計算してみたところ通信装置に負荷がかかったり、ネットワークに障害が発生したなどの事情により通信装置の処理できるデータ量が下がり、より少ない帯域を要求する必要が生じたということである。今回のNIC帯域が前回の値より高いということは、再計算してみたところ通信装置に負荷が少なくなったり、ネットワークの処理負荷が軽くなったなどの事情により通信装置の処理できるデータ量が上がり、ユーザ端末により多い帯域を割り当てても処理することが可能になったことを意味する。
【００５８】
図５は、ハードウェア性能測定の際における通信装置のハードウェア性能の測定処理の流れを示すフローチャートである。図５に示すように、システムは通信準備があるまで待機している（ステップＳ３０１）。通信準備段階に入ると、まずユーザ端末から送受信サイズとサンプリング時間を、通信装置から規格帯域を抽出し、ハードウェア性能リストに追加する（ステップＳ３０２）。次いで、以前に上記通信装置を使用して通信を行っており、ＮＩＣ帯域が計算済みであるか否かを判断し（ステップＳ３０３）、もし以前に上記通信装置を使用しており、ハードウェア性能リストにＮＩＣ帯域が含まれている場合には、ステップＳ３１１に進む。ハードウェア性能リストにＮＩＣ帯域が含まれていない場合には、通信中か否かを判断する（ステップＳ３０４）。まだ通信していない場合には、規格帯域をモニタに渡し（ステップＳ３０５）、通信開始を待つ（ステップＳ３０６）。通信中には通信時間を常に測定している（ステップＳ３０７）。
【００５９】
通信開始時からサンプリング時間分の時間が経ったか否かを判断し（ステップＳ３０８）、通信装置のハードウェア性能の再計算時刻となっていれば、通信時間をリストに追加（ステップＳ３０９）し、ＮＩＣ帯域を算出（ステップＳ３１０）した後、そのＮＩＣ帯域とＮＩＣ帯域の前回値とを比較し、大きい方と規格帯域とを比較し、小さい方の値を通信装置ハードウェア性能としてモニタに渡す（ステップＳ３１１）。そして、送受信サイズの今までの値を累計送受信サイズとしてハードウェア性能リストに追加する（ステップＳ３１２）。ステップＳ３０８において再計算時間になっていなければ、ステップＳ３１３に進む。サンプリング時間分の時間が経つ前に通信が終了した場合には（ステップＳ３１３）、通信装置ハードウェア性能の測定処理を終了する。ステップＳ３１３において通信終了でなければ、ステップＳ３０７に戻る。
【００６０】
尚、一度得られた処理帯域やＮＩＣ帯域は、次の接続機会においてもソフトウェア、ハードウェアの状況が変わらなければ、最初の通信時に初期値のみを要求する帯域とするのではなく、既にソフトウェア性能、ハードウェア性能リストに記載してある値と初期値とを比較することで、最初の通信時から適切な帯域を要求できる。また、例えば前回までは動画再生のアプリケーションと１００Ｍｂｐｓの有線ネットワークの通信装置を使用していたとして、今回はアプリケーションが変わらないが無線ＬＡＮの通信装置を使おうとした場合、最初の帯域割り当ての際、ソフトウェア性能には前回使用した動画再生アプリケーションの処理帯域を用いることができる。すなわち、ソフトウェアとハードウェアとのそれぞれに関して独立して値を使用することができる。このように、通信中もソフトウェア及びハードウェアの性能を測定することにより、通信以外にユーザ端末が何らかの処理を行って各パラメータが変動しても、その都度適切な値を補正することができる。また、上記リストは、ユーザ端末のハードウェア構成や使用アプリケーション、通信装置が変更された場合には、上記パラメータを抽出し直すことで、新たにリストに書き加えて使用可能である。
【００６１】
（ｄ）ユーザ端末のモニタによる処理
ユーザ端末のモニタは、上記で測定されたソフトウェア性能、ユーザ端末ハードウェア性能及び通信装置ハードウェア性能の値のうち、ボトルネックとなっているものの割り出しを行う。上記３つの値のうち一番低い値がユーザシステムにおけるボトルネックであり、その値を超える帯域を割り当てたとしても、ソフトウェアやハードウェアの性能限界からユーザシステム全体としては与えられた帯域を使用しきれないことになる。
【００６２】
図６は、図１に示すモニタが要求帯域を通信装置に出力する処理の流れを示すフローチャートである。図６に示すように、システムは通信準備があるまで待つ（ステップＳ４０１）。通信準備が整ったら、ソフトウェア、ユーザ端末、通信装置から渡された帯域を比較し、その中から一番小さい値をネットワークに要求する帯域として通信装置に通知する（ステップＳ４０２）。通信装置は管理サーバに要求帯域の値を通知する（ステップＳ４０３）。通信中は、サンプリング時間分だけ待って、要求する帯域を再び計算する時刻となったら（ステップＳ４０４）、ソフトウェア、ユーザ端末、通信装置から渡された帯域を比較し、一番小さい値をユーザシステムの処理できる帯域として通信装置に通知する（ステップＳ４０５）。通信装置は管理サーバに要求帯域の値を通知する（ステップＳ４０６）。通信が終了すると、ソフトウェア性能の測定処理を終了する（ステップＳ４０７）。こうして、ユーザ端末のモニタは、通信におけるボトルネックとなる値を調査することができる。
【００６３】
（ｅ）ソフトウェア性能測定における処理帯域の算出処理
図７は、図３におけるアプリケーションの処理帯域を算出する処理（ステップＳ１１０）の流れを示すフローチャートである。図７において、図３ステップＳ１０９の処理後に、まず、アプリケーション処理帯域を計算する（ステップＳ５０１）。次に、現在のアプリケーションのＣＰＵ使用率[%]とＣＰＵ全体の使用率[%]を測定し、合計した値が１００[%]に達しているかどうかを判定する（ステップＳ５０２）。合計値が１００[%]に達していなければ、次回のアプリケーション使用率を計算し（ステップＳ５０３）、このＣＰＵ使用率の増加分に相応するだけアプリケーション処理帯域が増加するようアプリケーション処理帯域の再計算を行う（ステップＳ５０４）。再計算後、或いはステップＳ５０２において合計値が１００[%]に達していなかった場合、バッファがあるかどうか調査する（ステップＳ５０５）。バッファがある場合には、バッファ処理帯域を計算し（ステップＳ５０６）、バッファがない場合には、バッファ処理帯域を０にする（ステップＳ５０７）。最後に処理帯域を計算して（ステップＳ５０８）、その値を図３のステップＳ１１１に渡す。
【００６４】
（ｆ）管理サーバによる帯域割り当て処理
次に、管理サーバの動作について説明する。管理サーバはユーザ端末のモニタから通信装置経由で初回の要求帯域を受け取った時に、サンプリング周期を設定する。このサンプリング周期ごとに各ユーザ端末の実性能を測定し、帯域の再割り当てを行う。また、通信中に新規にユーザ端末が接続要求した時に帯域が足りなくなることが判明した場合、サンプリング時間を待たずに性能を再測定するのが好ましい。これにより、より柔軟な帯域制御が可能になる。また、サンプリング周期については、本例では便宜上、一度セットしたサンプリング周期を変えていない。しかし、状況によりサンプリング周期を動的に変えるとより効果的な帯域割り当てが可能となる。
【００６５】
ネットワークに接続するユーザ端末が１台しかない場合、サンプリング周期は長くてもよい。ネットワークの帯域を１ユーザ端末のみが使用するのであれば、多少非効率であっても実測の処理性能に応じた帯域の再割り当てを迅速に行う必要がないからである。しかしながら、多数のユーザ端末が接続して要求されるネットワーク帯域が大きくなってきた場合には、各ユーザ端末のサンプリング周期を短くし、各ユーザ端末の実効の処理性能を即座に測定して効率のよい帯域割り当てを行うことが必要となる。以上のようにして、管理サーバは、より多くのユーザ端末が接続できるように各端末に動的な帯域の割り当てを行うことができる。
【００６６】
図８は、管理サーバがユーザ端末の性能を測定して帯域の割り当て、再割り当てを行う処理の流れを示すフローチャートである。図８において、管理サーバは、まず、新規ユーザ端末からの接続要求を確認する（ステップＳ６０１）。要求がなければ、接続中のユーザ端末の有無を判定する処理（ステップＳ６１１）に進む。要求があった場合には、新規ユーザ端末の要求帯域を測定し（ステップＳ６０２）、新規ユーザ端末へ帯域割り当てが可能かどうか判断する（ステップＳ６０３）。割り当てが可能である場合には、割り当てを行う処理（ステップＳ６０９）に進む。割り当てが可能でなければ、接続中の他のユーザ端末の有無を確認し（ステップＳ６０４）、他のユーザ端末が接続していない場合には、帯域に空きが無いため新規ユーザ端末の接続を拒否する（ステップＳ６１０）。他のユーザが接続している場合には、サンプリング時間ではなくても接続中の全ユーザ端末の実性能を測定する（ステップＳ６０５）。このとき帯域を削減できるユーザ端末が見つからない場合には、新規ユーザ端末の接続を拒否し（ステップＳ６１０）、帯域を削減できるユーザ端末が見つかった場合には、当該ユーザ端末の帯域を削減した後（ステップＳ６０７）、再度新規ユーザ端末に帯域割り当てが可能かどうか判定する（ステップＳ６０８）。割り当て可能であれば、新規ユーザ端末に帯域を割り当て、サンプリング時間をセットする（ステップＳ６０９）。割り当て可能でない場合には、新規ユーザ端末の接続を拒否する（ステップＳ６１０）。
【００６７】
その後、管理サーバは、接続中のユーザ端末を観測し（ステップＳ６１１）、接続中のユーザ端末が存在した場合、帯域の再割り当て時期が到来したかどうかを判定し（ステップＳ６１２）、再割り当て時期が到来している場合には、サンプリング時間となったユーザ端末の実性能を測定し（ステップＳ６１３）、当該ユーザ端末の帯域の再割り当てを行う（ステップＳ６１４）。続いて、全ユーザ端末が通信終了したかどうかを判断し（ステップＳ６１５）、終了していれば管理サーバの動作を終了する。終了していない場合には、ステップＳ６０１に戻り、再度新規接続要求を待ち受ける。
【００６８】
以上のようにして、管理サーバはユーザシステムに適した帯域割り当てを行う。これにより、ユーザ端末や通信装置がネットワーク全体の帯域処理性能より低い場合、ネットワークの帯域を効率的にユーザ端末に割り当てることが可能になり、結果としてより多数のユーザ端末が接続することが可能になる。また、上記ではネットワーク上での帯域制御に関しては述べていないが、上記の通りに決定した帯域割り当て値が、ユーザ端末から管理サーバまでの経路上のネットワーク全体で最も低い帯域値よりも低い場合にのみ、ネットワークへ要求すればよい帯域値であることは明白である。ユーザ端末にネットワーク全体の帯域幅よりも大きな帯域を割り当てても無駄だからである。
【００６９】
図９は、管理サーバが１台のユーザ端末に帯域割り当てを行う手順を示す図である。図９の（ａ）〜（ｃ）には、図１に示すのと同様の構成を有するユーザ端末を示している（一部構成部分を省略している）。図９（ａ）に示すように、まず通信開始前にモニタがユーザ端末を走査し、要求する帯域を決定する。今、ユーザ端末のアプリケーションは４Ｍｂｐｓの動画再生を要求している。この時、バス帯域の空きが１６Ｍｂｐｓで、通信装置の規格値が１１Ｍｂｐｓであり、両方とも４Ｍｂｐｓより大きいので、モニタは４Ｍｂｐｓの帯域を要求帯域として決定し、この値を管理サーバに送信する。管理サーバは、上記ユーザ端末に４Ｍｂｐｓを割り当てる。
【００７０】
その後、図９（ｂ）に示すように、実際にある程度サンプリング期間を観測してみたところ、上記アプリケーションは、実際には１．５Ｍｂｐｓしか処理できていなかったとする。これは、ＣＰＵが上記アプリケーション以外にも処理をしていて使用率が１００％に達してしまい、アプリケーションの処理能力が１．５Ｍｂｐｓに抑えられてしまったためである。この状況はモニタが観測しており、管理サーバはモニタを走査することで、このユーザ端末が割り当てられた４Ｍｂｐｓの帯域が有効に使われていないことを検知して、当該ユーザ端末に割り当てた帯域を削減する。このとき通信装置の実効値が４Ｍｂｐｓ、バス帯域の空きが１２Ｍｂｐｓであるため、当該ユーザ端末に割り当てる帯域値は１．５Ｍｂｐｓとなる。
【００７１】
さらにその後、図９（ｃ）に示すように、ＣＰＵの処理負荷に余裕が出てきて上記アプリケーションの処理能力が再び上がった場合には、モニタはアプリケーションのＣＰＵ使用率と全体のＣＰＵ使用率とを考慮し、割り当て帯域増加を管理サーバに要求する。図９（ｃ）の場合では、上記アプリケーションのＣＰＵ使用率を現在の２０％から４０％に増加させることができる。そうすると、現在１．５Ｍｂｐｓである処理能力を２倍とすることが可能になる。したがって、モニタは３Ｍｐｂｓの帯域を管理サーバに要求する。
【００７２】
図１０は、管理サーバが複数台のユーザ端末に対する帯域割り当ての制御を行う手順を示す図である。図１０（ａ）に示すように、ユーザ端末Ａとユーザ端末Ｂがネットワークに接続されており、管理サーバがそれぞれのユーザ端末に４Ｍｂｐｓと５Ｍｂｐｓの帯域を割り当ているとする。この時、ネットワークの空き帯域は１Ｍｂｐｓである。管理サーバは、規定のサンプリング時間が来る度に、両ユーザ端末の実効の処理性能を測定し、帯域の再割り当てを行っている。
【００７３】
ここで、図１０（ｂ）に示すように、ユーザ端末Ｃが新規に接続要求をしてきた場合、まず、管理サーバはユーザ端末Ｃからの要求をモニタし、３Ｍｂｐｓの帯域を確保しようとする。しかしながら、ネットワークの空き帯域が１Ｍｂｐｓしかないため、このままではユーザ端末Ｃに要求された帯域を割り当てることができない。そこで、管理サーバは、ユーザ端末Ａ、Ｂそれぞれを再度モニタする。この時、管理サーバはサンプリング時間が到来していなくとも再モニタを行うのが好ましい。この結果、図示するようにユーザ端末Ａは割り当てた４Ｍｐｂｓの帯域を使用しているが、ユーザ端末Ｂは割り当てた５Ｍｂｐｓのうち３Ｍｂｐｓしか使用していないことが判明したとする。
【００７４】
この場合、図１０（ｃ）に示すように、管理サーバは、ユーザ端末Ｂに対して余分に割り当てられている帯域を削減すべく３Ｍｂｐｓの帯域を再割り当てし、ユーザ端末Ｂから解放された帯域分を合わせてネットワークの空き帯域が合計３Ｍｂｐｓとなるので、ユーザ端末Ｃに対して要求帯域である３Ｍｂｐｓを割り当てることができることになる。
【００７５】
図１１は、管理サーバからユーザ端末に対して帯域を割り当てる従来技術による方式と、本発明の方式とを比較して示した図である。図１１（ａ）に示す従来技術における一般的な方式では、アプリケーション６０と、ユーザの要求帯域[bps]６１と、ユーザ端末の要求帯域[bps]６２とに基づき、ユーザ端末に対する割当て帯域[bps]６３を決定している。しかしながら、ネットワーク経路の帯域幅[bps]６４などが考慮されていない。図１１（ｂ）に示す特許文献１の方式では、アプリケーション７０と、ユーザの要求帯域[bps]７１と、通信装置の処理性能[bps]７２と、ユーザ端末の要求帯域[bps]７３と、ネットワーク経路の帯域幅[bps]７４とに基づき、ユーザ端末に対する割当て帯域[bps]７５を決定している。しかしながら、ユーザ端末の実効性能[bps]７６が考慮されておらず、ユーザ端末に過大な帯域割り当てを行ってしまう場合が生じている。これに対して、図１１（ｃ）に示す本発明の方式では、アプリケーション８０と、ユーザの要求帯域[bps]８１と、通信装置[bps]８２と、ユーザ端末の実効性能[bps]８３と、ユーザ端末の要求帯域[bps]８４と、ネットワーク経路[bps]８５とに基づき、割当て帯域[bps]８６を決定している。
【００７６】
本システムの応用例
次に、上記した本実施形態の通信帯域割り当てシステムの応用例について説明する。
[第１応用例]
ユーザ端末の構成によっては、上記のアプリケーションの管理するバッファとは別にＦＩＦＯやキャッシュ等、送受信するデータを一時格納する領域を持つ場合がある。以下において、このようなデータの一時格納領域のことをキャッシュ[byte]と呼ぶ。このキャッシュを持つことにより、ユーザの使用するアプリケーションやユーザシステムの処理能力が低い場合でも、キャッシュ分だけ大きな帯域を割り当てて処理を行うことができる。このキャッシュを有するシステムを、上記した本実施形態の通信帯域割り当てシステムに適用した場合は、ユーザ端末におけるハードウェア処理能力の計算式を以下のように表すことができる。
（バス幅）＋（キャッシュ）÷（通信時間）
【００７７】
このとき、バッファにデータを格納している間はアプリケーションが全く動作しない場合がある。この場合はアプリケーションの処理帯域が０となってしまうが、実際は通信を続ける必要がある。この場合、ハードウェア性能リストに追加フィールドを設け、例えばここに‘１’を記載した時はアプリケーションの処理帯域を無視して帯域計算をするなどのように対処すればよい。
【００７８】
尚、キャッシュは、ユーザシステム内で専用のハードウェア機構により実現してもよいし、仮想メモリのように上記アプリケーション或いはＯＳ等ソフトウェアにより管理してもよい。勿論、管理サーバ上や通信装置上に接続しているユーザ端末用として設置してもよい。
【００７９】
[第２応用例]
上記した本実施形態の通信帯域割り当てシステムでは、ユーザの要求帯域以上の帯域は割り当てないこととしていたが、強力なＣＰＵを搭載していたりしてアプリケーションの性能がボトルネックにならない場合には、割り当てられた帯域が多ければ多いほどより多くのデータを処理できる場合がある。例えば、ＦＴＰ（File Transfer Protocol）ソフトなどがこれに相当する。そのような事情をユーザが知らずに要求帯域を設定していることも考えられるため、上記のような状況に該当する場合には、ユーザの要求帯域を無視して処理帯域をアプリケーションの処理性能としてもよい。
【００８０】
[第３応用例]
上記した本実施形態の通信帯域割り当てシステムでは、サンプリング時間をソフトウェア、ハードウェアとも同じ値にしているが、それぞれ異なる値としてもよい。例えば、アプリケーションによるＣＰＵの使用状況は長い期間にわたってあまり変化しないが、データのやり取りが間欠的に行われる場合などには、ソフトウェアのサンプリング時間を長めに取り、ハードウェアのサンプリング時間を短めに取るなどして、システムの作動態様に適応した効率の良いサンプリングを行うようにすることができる。
【００８１】
[第４応用例]
上記した本実施形態の通信帯域割り当てシステムでは、サンプリング時間が経過したら各種処理能力を再計算し、その都度管理サーバがユーザ端末に帯域幅の再割り当てを行っているが、要求帯域幅がある量以上変化した場合のみ帯域を割り当てるようにしてもよい。この場合には、（今回の要求帯域）÷（前回の要求帯域）の式に基づいて計算を行い、これを係数ａとし、ａの値が所定の許容範囲（例えば、０．７＜ａ＜１．３の範囲）を超えた場合にのみ、帯域幅の再割り当てを行うようにすればよい。本応用例では、ユーザシステムの実効性能が所定量を超えて増減した場合にのみ帯域の再割り当てを行うこととし、ユーザシステムの微細な性能変化に関してはある程度又は完全に考慮対象外におくものである。これにより、例えば、帯域の割当てを切り替える際に通信が一時途切れてしまうようなシステムにおいては、頻繁に帯域の再割り当て処理を行うよりも、ユーザシステムの実効性能が多少上下しても一度割当てられた帯域を保持し続けるようにして、結果として処理効率を向上することが可能である。
【００８２】
以上、本実施形態の通信帯域割り当てシステムによれば、管理サーバがユーザの使用するアプリケーションやユーザ端末及び通信装置の実際の処理性能を考慮して帯域を割り当てることにより、ユーザシステムが実際に処理できるよりも過大な通信帯域を割り当ててしまうのが防がれるため、より効率的な帯域割り当てが実現される。また、ユーザシステムにおけるソフトウェアやハードウェアの状況を適宜モニタリングして帯域の割り当てに動的に反映させることにより、ユーザシステムにおける状況の変動に応じた適切な帯域割り当てが実現される。
【００８３】
以上、本発明の通信帯域割り当てシステムについて、具体的な実施の形態を示して説明したが、本発明はこれらに限定されるものではない。当業者であれば、本発明の要旨を逸脱しない範囲内において、上記各実施形態又は他の実施形態にかかる発明の構成及び機能に様々な変更・改良を加えることが可能である。
【産業上の利用可能性】
【００８４】
本発明の通信帯域割り当てシステムは、通信機能を有する情報処理装置、携帯端末、携帯電話機などから構成することができる。また、本発明の通信帯域割り当て方法をコンピュータに実行させるためのプログラムとして、通信機能を有する情報処理装置、携帯端末、携帯電話機などに適用することもできる。
【図面の簡単な説明】
【００８５】
【図１】本発明の通信帯域割り当てシステムにおけるユーザ端末を構成する通信機能を備えた情報処理装置の内部構成と、この情報処理装置が接続されているネットワークの構成とを概略的に示す図である。（ａ）はユーザ端末を含むシステムの概要を示す図であり、（ｂ）は監視用のモニタ３の概略構成例を示す図である。
【図２】図１に示すモニタに格納されているソフトウェア性能リスト及びハードウェア性能のデータ構成例を示す図である。
【図３】ソフトウェア性能の測定処理の流れを示すフローチャート図である。
【図４】ハードウェア性能測定の際におけるユーザ端末のハードウェア性能の測定処理の流れを示すフローチャートである。
【図５】ハードウェア性能測定の際における通信装置のハードウェア性能の測定処理の流れを示すフローチャートである。
【図６】図１に示すモニタが要求帯域を通信装置に出力する処理の流れを示すフローチャートである。
【図７】図３におけるアプリケーションの処理帯域を算出する処理（ステップＳ１１０）の流れを示すフローチャートである。
【図８】管理サーバがユーザ端末の性能を測定して帯域の割り当て、再割り当てを行う処理の流れを示すフローチャートである。
【図９】管理サーバが１台のユーザ端末に帯域割り当てを行う手順を示す図である。
【図１０】管理サーバが複数台のユーザ端末に対する帯域割り当ての制御を行う手順を示す図である。
【図１１】管理サーバからユーザ端末に対して帯域を割り当てる従来技術による方式と、本発明の方式とを比較して示した図である。
【符号の説明】
【００８６】
２  通信装置
３  モニタ
４  表示装置
５  中継装置
６−１  管理サーバ
７  ソフトウェア性能リスト
８  ハードウェア性能リスト
９  比較器（要求帯域計算器）
１０  アプリケーション
１１  要求帯域[bps]
１２  総ＩＯサイズ[byte]
１３  累計ＩＯサイズ[byte]
１４  総バッファサイズ[byte]
１５  累計バッファサイズ[byte]
１６  通信前のアプリケーションのＣＰＵ使用率[%]
１７  通信中のアプリケーションのＣＰＵ使用率[%]
１8  通信前のＣＰＵ全体の使用率[%]
１９  通信中のＣＰＵ全体の使用率[%]
２０  処理時間[s]
２１  処理帯域[bps]  括弧の中は前回の値である
２２  サンプリング周期[s]
３０  通信装置
３１  バス幅[bps]
３２  規格帯域[bps]
３３  送受信サイズ[byte]
３４  累計送受信サイズ[byte]
３５  通信時間[s]
３６  NIC帯域[bps]      括弧の中は前回の値
３７  サンプリング時間[s]
【図１】
2006324793.tif 000003
【図２】
2006324793.tif 000004
【図３】
2006324793.tif 000005
【図４】
2006324793.tif 000006
【図５】
2006324793.tif 000007
【図６】
2006324793.tif 000008
【図７】
2006324793.tif 000009
【図８】
2006324793.tif 000010
【図９】
2006324793.tif 000011
【図１０】
2006324793.tif 000012
【図１１】
2006324793.tif 000013