(57)【要約】【課題】  無線ネットワークにおけるネットワーク・リンクの帯域幅を動的に推定するためのシステム、装置、及び方法を提供すること。【解決手段】  システムは、無線ネットワーク上のデータを受信可能な少なくとも１つのクライアント装置と、無線ネットワークの無線チャンネルのリンク上のデータを送受信可能なサーバとを具備する。サーバは、無線ネットワーク内の少なくとも１つのクライアント装置を識別し、無線ネットワーク内で少なくとも１つのクライアント装置によって利用され、サーバ装置とクライアント装置との間の関連するリンクと、リンク上で送信される関連するデータストリームとを有するアプリケーションを識別する。サーバは、関連するデータストリームのスループットの測定と、リンクのチャンネル利用の決定とに基づいて、前記リンク上のアプリケーションによって使用されている帯域幅を受動的に推定する。【選択図】図１
2008533811.tif 000002
【特許請求の範囲】
【請求項１】
無線ネットワークにおけるネットワークリンクの帯域幅を動的に推定するためのシステムであって、
前記無線ネットワーク上のデータを受信可能な少なくとも１つのクライアント装置と、
前記無線ネットワークの無線チャンネルのリンク上で前記データを送受信することが可能であり、前記無線チャンネルによって前記少なくとも１つのクライアント装置に接続されるサーバ装置と
を具備し、
前記サーバ装置は、
前記無線ネットワーク内の前記少なくとも１つのクライアント装置を識別する手段と、
前記無線ネットワーク内で前記少なくとも１つのクライアント装置によって利用され、前記サーバ装置と前記クライアント装置との間の関連するリンクと、前記リンク上で送信される関連するデータストリームとを有するアプリケーションを識別する手段と、
前記関連するデータストリームのスループットの測定と、前記リンクのチャンネル利用の決定とに基づいて、前記リンク上のアプリケーションによって使用されている前記帯域幅を受動的に推定する手段と
を有するシステム。
【請求項２】
請求項１に記載のシステムであって、
前記関連するデータストリームの前記スループットを測定する手段は、前記クライアント装置によるパケット送信の開始から前記パケットの受信までの継続時間で、送信されるパケットのサイズを除することにより、前記パケットのスループットを推定する手段を有する、システム。
【請求項３】
請求項２に記載のシステムであって、
前記パケットの前記スループットを推定する手段は、前記クライアント装置から前記パケットの受信を示す確認応答を受信する手段を有し、
前記パケットの前記推定されるスループットは、前記パケットの前記確認応答の時間と前記パケットの送信の時間との差で除した、前記送信されるパケットのサイズと等しい、システム。
【請求項４】
請求項２に記載のシステムであって、
前記リンクのデータストリームの前記スループットを推定する手段は、変動する期間にわたってパケットスループットを平均化する手段と、前記平均化されたパケットスループットを正規化する手段とを有する、システム。
【請求項５】
請求項４に記載のシステムであって、
前記アプリケーションに関連する前記リンクによるチャンネル利用は、時間窓の全時間に対する前記時間窓の空き時間量の比率を１から減じて求められる差によって決定される、システム。
【請求項６】
請求項４に記載のシステムであって、
前記関連するアプリケーションのための前記リンクの最大推定スループットは、前記決定されるチャンネル利用に、前記アプリケーションのための前記リンクの前記データストリームの前記推定されるスループットを乗じることにより決定される、システム。
【請求項７】
請求項６に記載のシステムであって、
前記サーバ装置は、前記関連するアプリケーションのための前記リンクの最大推定スループットに基づいて、無線ネットワーク内のアプリケーションに割り当てられる帯域幅の容量を動的に推定し、各アプリケーションに対して定義された効用関数に基づいて、前記無線ネットワーク内の異なるアプリケーションにさらに動的に帯域幅を割り当てる、システム。
【請求項８】
請求項７に記載のシステムであって、
前記効用関数は、前記アプリケーションが所定の品質水準で実行されるのに必要な帯域幅の最小容量を特定する、システム。
【請求項９】
請求項７に記載のシステムであって、
前記効用関数は、前記アプリケーションの効用と、要求される前記帯域幅との関係を定義する関数である、システム。
【請求項１０】
請求項９に記載のシステムであって、
前記効用関数は、所定の優先度に基づいて拡大可能である、システム。
【請求項１１】
請求項９に記載のシステムであって、
前記効用関数は、線形関数である、システム。
【請求項１２】
請求項９に記載のシステムであって、
前記効用関数は、離散関数である、システム。
【請求項１３】
無線ネットワークにおけるネットワークリンクの帯域幅を動的に推定する方法であって、
前記無線ネットワーク内の少なくとも１つのクライアント装置を識別し、
前記無線ネットワーク内で前記少なくとも１つのクライアント装置によって利用され、前記サーバ装置と前記クライアント装置との間の関連するリンクと、前記リンク上で送信される関連するデータストリームとを有するアプリケーションを識別し、
前記関連するデータストリームのスループットの測定と、前記リンクのチャンネル利用の決定とに基づいて、前記リンク上のアプリケーションによって使用されている前記帯域幅を受動的に推定する
方法。
【請求項１４】
請求項１３に記載の方法であって、
前記関連するデータストリームの前記スループットを測定するステップは、前記クライアント装置によるパケット送信の開始から前記パケットの受信までの継続時間で、送信されるパケットのサイズを除することにより、前記パケットのスループットを推定する、方法。
【請求項１５】
請求項１４に記載の方法であって、
パケットの前記スループットを推定するステップは、前記クライアント装置から前記パケットの受信を示す確認応答を受信するステップを有し、
前記パケットの前記推定されるスループットは、前記パケットの前記確認応答の時間と前記パケットの送信の時間との差で除した、前記送信されるパケットのサイズと等しい、方法。
【請求項１６】
請求項１４に記載の方法であって、
リンクのデータストリームの前記スループットを推定するステップは、変動する期間にわたってパケットスループットを平均化するステップと、前記平均化されたパケットスループットを正規化するステップとを有する、方法。
【請求項１７】
請求項１６に記載の方法であって、
前記アプリケーションに関連する前記リンクによるチャンネル利用は、時間窓の全時間に対する前記時間窓の空き時間量の比率を１から減じて求められる差によって決定される、方法。
【請求項１８】
請求項１６に記載の方法であって、
前記関連するアプリケーションのための前記リンクの最大推定スループットは、前記決定されるチャンネル利用に、前記アプリケーションのための前記リンクの前記データストリームの前記推定されるスループットを乗じることにより決定される、方法。
【請求項１９】
請求項１８に記載の方法であって、
前記関連するアプリケーションのための前記リンクの最大推定スループットに基づいて、無線ネットワーク内のアプリケーションに割り当てられる帯域幅の容量を動的に推定し、各アプリケーションに対して定義された効用関数に基づいて、前記無線ネットワーク内の異なるアプリケーションにさらに動的に帯域幅を割り当てる、方法。
【請求項２０】
請求項１９に記載の方法であって、
前記効用関数は、前記アプリケーションが所定の品質水準で実行されるのに必要な帯域幅の最小容量を特定する、方法。
【請求項２１】
請求項１９に記載の方法であって、
前記効用関数は、前記アプリケーションの効用と、要求される前記帯域幅との関係を定義する関数である、方法。
【請求項２２】
請求項２１に記載の方法であって、
前記効用関数は、所定の優先度に基づいて拡大可能である、方法。
【請求項２３】
請求項２１に記載の方法であって、
前記効用関数は、線形関数である、方法。
【請求項２４】
請求項２１に記載の方法であって、
前記効用関数は、離散関数である、方法。
【請求項２５】
無線ネットワークにおける少なくとも１つのクライアント装置への無線チャンネルのリンクの帯域幅を動的に推定するための装置であって、
前記無線チャンネルの前記リンク上でデータストリームを前記少なくとも１つのクライアント装置に送受信する送受信器と、
ソフトウェアモジュールを実行するプロセッサとを具備し、
前記プロセッサは、
前記無線ネットワーク内の前記少なくとも１つのクライアント装置を識別する手段と、
前記無線ネットワーク内で前記少なくとも１つのクライアント装置によって利用され、前記サーバ装置と前記クライアント装置との間の関連するリンクと、前記リンク上で送信される関連するデータストリームとを有するアプリケーションを識別する手段と、
前記関連するデータストリームのスループットの測定と、前記リンクのチャンネル利用の決定とに基づいて、前記リンク上のアプリケーションによって使用されている前記帯域幅を受動的に推定する手段と
を有する装置。
【請求項２６】
請求項２５に記載の装置であって、
前記関連するデータストリームの前記スループットを測定する手段は、前記クライアント装置によるパケット送信の開始から前記パケットの受信までの継続時間で、送信されるパケットのサイズを除することにより、前記パケットのスループットを推定する手段を有する、装置。
【請求項２７】
請求項２６に記載の装置であって、
前記パケットの前記スループットを推定する手段は、前記クライアント装置から前記パケットの受信を示す確認応答を受信する手段を有し、
前記パケットの前記推定されるスループットは、前記パケットの前記確認応答の時間と前記パケットの送信の時間との差で除した、前記送信されるパケットのサイズと等しい、装置。
【請求項２８】
請求項２６に記載の装置であって、
前記リンクのデータストリームの前記スループットを推定する手段は、変動する期間にわたってパケットスループットを平均化する手段と、前記平均化されたパケットスループットを正規化する手段とを有する、装置。
【請求項２９】
請求項２８に記載の装置であって、
前記アプリケーションに関連する前記リンクによるチャンネル利用は、時間窓の全時間に対する前記時間窓の空き時間量の比率を１から減じて求められる差によって決定される、装置。
【請求項３０】
請求項２８記載の装置であって、
前記関連するアプリケーションのための前記リンクの最大推定スループットは、前記決定されるチャンネル利用に、前記アプリケーションのための前記リンクの前記データストリームの前記推定されるスループットを乗じることにより決定される、装置。
【請求項３１】
請求項３０に記載の装置であって、
前記ソフトウェアモジュールは、前記関連するアプリケーションのための前記リンクの最大推定スループットに基づいて、無線ネットワーク内のアプリケーションに割り当てられる帯域幅の容量を動的に推定し、各アプリケーションに対して定義された効用関数に基づいて、前記無線ネットワーク内の異なるアプリケーションにさらに動的に帯域幅を割り当てる、装置。
【請求項３２】
請求項３１に記載の装置であって、
前記効用関数は、前記アプリケーションが所定の品質水準で実行されるのに必要な帯域幅の最小容量を特定する、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連する出願への相互参照）
本出願は、２００３年３月２６日に出願された米国出願番号１０／３９７，４６６の一部継続出願である。
【０００２】
本発明は主にネットワークに関し、特に、ネットワークリンクの動的な帯域幅推定のためのシステム及び方法に関する。
【背景技術】
【０００３】
典型的には、ネットワークは、一般にユーザが他のコンピュータ上の資源にアクセスし他のユーザとデータ及びメッセージを交換することを可能にする通信システムを指す。特に、ネットワークにより、ユーザが自分達のシステム上の資源を他のネットワークユーザと共有し、中心に位置するシステム上又はリモートオフィスに位置するシステム上の情報にアクセスすることが可能となる。さらに、ネットワークは一般にインターネット又は他の組織の他のネットワークへの接続を提供する。さらに、ネットワーク接続により、ユーザが家、オフィス又は他の場所から操作することが可能となる。
【０００４】
特に、ネットワークは２つ以上のデバイス（例えばコンピュータ、周辺機器など）をリンクするデータ通信システムである。一般に、ネットワークはデバイスのＬＡＮ接続カード（ＮＩＣ）に付いているケーブルから成り、デバイス間のコミュニケーションを可能にする。さらに、典型的には、ユーザはネットワーク対応のソフトウェアアプリケーションとの相互作用により、別のコンピュータからのファイルを受け取るように又はネットワークプリンタ上のドキュメントを印刷するようにネットワーク要求を行う。アプリケーションはネットワークソフトウェアと通信し、ネットワークソフトウェアはネットワークハードウェアと情報のやりとりを行う。ネットワークハードウェアはネットワークに取付けられた他のデバイスへの情報伝達を担っている。
【０００５】
ローカルエリアネットワーク（ＬＡＮ）は、部署、ビル又は家のような比較的面積が小さい場所に構築されるネットワークである。技術的に、ＬＡＮはブロードキャスト方式を用いて互いに通信するデバイスが接続された共有メディアから成る。ブロードキャストで、ＬＡＮ上のどんなデバイスもＬＡＮ上の他のすべてのデバイスが聞くことができるメッセージを送信することができる。
【０００６】
ここ約十年間にわたって、多くの事業において、従業員が１つ以上のＬＡＮを特徴とする企業ネットワーク上のデータを共有することが必要になった。効率を改善するために、リモート無線アクセスのような強化がＬＡＮになされた。この強化により、無線ローカルエリアネットワーク（ＷＬＡＮ）を形成する際に重要な拡張がなされる。
【０００７】
典型的には、無線ネットワークはアクセスポイント（ＡＰ）を利用して、ステーション又はサーバと無線クライアントとの間の、及び様々な無線クライアント間のコミュニケーションをサポートする。一般に、各ＡＰは、無線クライアント間、及び無線クライアントとサーバ間のコミュニケーションをサポートすることにより、中継局として動作する。さらに、ＩＥＥＥ８０２．１１の無線プロトコルを使用して動作するデータ発信器のような、無線ネットワーク内のデータ発信器は、異なるクライアントに異なるレートでデータを送信することができる。多くの場合、データ発信器（例えば、アンテナを含む）はアクセスポイントの一部として含まれている。
【０００８】
さらに、ＷＬＡＮに類似する無線ホームネットワークを含むホームネットワークはますますポピュラーになった。例えば、無線ホームネットワークでは、ホームメディアサーバは、家じゅうのクライアント装置に、映像／音声データのようなデータを流す。よりよいサービスの質（ＱｏＳ）及びよりよい帯域幅により、サーバが映画、テレビ、グラフィックス、マルチメディア、ゲーム、ウェブページなどのような高品質コンテンツを家じゅうのクライアント装置に流すことが可能になる。従って、ＱｏＳ及びネットワーク帯域幅を最適化することは重要であり、無線ネットワークのような信頼性が低く、より低い帯域幅のネットワークにとっては特に重要である。ＷＬＡＮ及び無線ホームネットワークも他のタイプの無線ネットワークと同様に、一般に無線ネットワークと呼ばれる。
【０００９】
ネットワーク内において、有線ネットワークであろうと無線ネットワークであろうと、信頼できるサービスを提供するために、ネットワークの個々のノード又はデバイスのためのネットワーク資源の利用を抑制することがしばしば必要である。例えば、ノードＡ及びノードＢがネットワークを送信に使用している場合、ノードＡ及びノードＢは利用可能な帯域幅を等しく共有し、ネットワークで利用可能な帯域幅を５０％以下までそれぞれ制限されてもよい。又は、ノードＡ及びノードＢは利用可能な帯域幅をそれぞれ２０％及び８０％として共有してもよい。もちろん、他の多くの組み合わせも可能である。
【００１０】
しかしながら、しばしば、ネットワークにおいて、競合するノード間でどのように帯域幅を割り当てるべきか、さらに、新しいノードをネットワークへ導入したい場合に帯域幅をどのように割り当てるべきかに関して、多くの問題が発生する。これらの要因はすべてネットワークにおける輻輳問題に結びつく場合がある。さらに、ネットワーク帯域幅が無線ネットワークにおけるように動的に変化する場合、これらの問題はより複雑になる。
【００１１】
より多くのネットワーク帯域幅を利用し、従ってより多くのスループットを持つ場合、ネットワークに基づいたアプリケーションはしばしば、よりよいパフォーマンス及び質を提供する。例えば、より多くのネットワーク帯域幅の利用によって、オーディオビジュアル（Ａ／Ｖ）ストリーミングアプリケーションはより高いデータ転送速度でＭＰＥＧ２データを送信し得る。それにより送信先でより高品質の映像を提供する。
【００１２】
しかしながら、無線ネットワークのような本質的に信頼性の低いネットワーク、又は特定のアプリケーションが利用可能な帯域幅が予期せず変化し得る他のネットワークでは（例えば、無線ＲＦネットワークでは、この予測不可能性は、シャドウイング、マルチパス、又は活発なＲＦ妨害などに起因し得る）、アプリケーションによるネットワーク帯域幅の利用度が高いと、利用可能なネットワーク帯域幅が急に減少した場合、ネットワークの輻輳につながる可能性がある。このため、送信先ノードで受け入れがたいパフォーマンス及び／又は質をもたらす可能性がある。
【００１３】
さらに、コンテンション型ネットワーク（例えばＩＥＥＥ８０２．１１の無線プロトコルのイーサネット（登録商標）、分散協調機能（ＤＣＦ）又は増強されたＤＣＦ（ＥＤＣＦ））では、ネットワーク内のノードはそれぞれ送信メディアにおいてアクセスを競合する。このため、利用可能なネットワーク帯域幅は、マルチパスやシャドウイングのような問題だけでなく、ネットワークを使用するノードの数及びこれらのノードによる送信の時間配分にも依存する。したがって、多くのノードは競合を増加させて、それにより有用な帯域幅を減少させる場合がある。  
【特許文献１】米国特許出願２００２／００８５５８７号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１４】
従って、本質的に信頼性の低い無線ネットワークのこれらのタイプでは、異なるネットワークリンク上のネットワーク帯域幅を動的に正確に評価し予測することができること、及び現在の利用可能なネットワーク帯域幅の使用を最大限にしながら輻輳を防ぐデータ転送速度を動的かつ迅速に変更することは有益である。あいにく、従来の輻輳回避方法は、無線ネットワークのような本質的に信頼性の低いネットワークに関連する固有の特性を考慮に入れていない。
【課題を解決するための手段】
【００１５】
無線ネットワークにおけるネットワークリンクの帯域幅を動的に推定するためのシステム、装置、及び方法が開示される。前記システムは、前記無線ネットワーク上のデータを受け取ることができる少なくとも１つのクライアント装置と、前記無線ネットワークの無線チャンネルのリンク上のデータを送受信することができるサーバとを具備する。前記サーバは、前記無線ネットワーク内の前記少なくとも１つのクライアント装置を識別し、前記無線ネットワーク内で前記少なくとも１つのクライアント装置によって利用され、前記サーバ装置と前記クライアント装置との間の関連するリンクと、前記リンク上で送信される関連するデータストリームとを有するアプリケーションを識別する。前記サーバは、前記関連するデータストリームのスループットの測定に基づき、且つ前記リンクのチャンネル利用の決定に基づいて、前記リンク上のアプリケーションによって使用されている前記帯域幅を受動的に推定する。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の様々な実施形態を詳細に説明する。しかし、その詳細は本発明についての理解を容易にし、本発明を用いる典型的な実施形態について記述するために含まれている。他の変形例及び実施形態は、本発明の範囲内において可能であるので、その詳細は記載された特定の実施形態に本発明を制限するためには使用されるべきでない。さらに、多くの詳細は本発明の実施形態について完全に理解されるために述べられるが、これらの特定の詳細が本発明の実施形態を実施するために必要ではないことは当業者には明らかであろう。他の例において、周知の方法、データのタイプ、プロトコル、手順、コンポーネント、電気的な構造及び回路などの詳細は記述されないか、又は本発明を不明瞭にしないためにブロック図の形で示される。さらに、本発明の実施形態は特定の実施形態において述べられるが、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア又はそれらの組み合わせにおいて実施されてもよい。本発明は添付の図面の図において制限されるのではなく、例として図示される。図において、同様の参照符号は同様の要素を示す。
【００１７】
ここで、本発明の実施形態は、無線ローカルエリアネットワーク（ＷＬＡＮ）、無線パーソナルネットワーク（ＷＰＡＮ）、及び／又は無線ホームネットワーク、その他のタイプの無線ネットワークのような、様々な無線ネットワークに適用可能である。これらのネットワークのタイプは一般に無線ネットワークと呼ばれる。例えば、無線ネットワークは、「無線ＬＡＮメディアアクセス制御（ＭＡＣ）及び物理層（ＰＨＹ）仕様書：２．４ＧＨｚ帯におけるより高速の物理層拡張」（ＩＥＥＥ８０２．１１ｂ、１９９９年）というＩＥＥＥ８０２．１１ｂ規格、「無線ＬＡＮメディアアクセス制御（ＭＡＣ）及び物理層（ＰＨＹ）仕様書：５ＧＨｚ帯における高速物理層」（ＩＥＥＥ８０２．１１ａ、１９９９年）というＩＥＥＥ８０２．１１ａ規格、又は改訂された電気電子工学協会（ＩＥＥＥ）８０２．１１規格「無線ＬＡＮメディアアクセス制御（ＭＡＣ）及び物理層（ＰＨＹ）仕様書」（ＩＥＥＥ８０２．１１、１９９９年）のような任意のＩＥＥＥ８０２．１１規格に従って構成されてもよい。もちろん、本発明は、高性能無線ローカルエリアネットワーク（ＨｉｐｅｒＬＡＮ）又は後に公表された仕様に従って構成されたシステムに準拠してもよい。
【００１８】
さらに、本発明の実施形態は、電力線通信（ＰＬＣ）に基づいた有線ネットワーク、又は伝送コントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、非同期転送モード（ＡＴＭ）、フレームリレー（ＦＲ）、ポイントトゥポイントプロトコル（ＰＰＰ）、システムズネットワークアークテクチャ（ＳＮＡ）、ボイスオーバインターネットプロトコル（ＶｏＩＰ）又は他の種類のプロトコルを利用することができる、パケット化、パケット交換、コネクション指向型などのネットワークである標準イーサネット（登録商標）ネットワーク（例えばローカルエリアネットワーク（ＬＡＮ）、又は広域ネットワーク（ＷＡＮ）、インターネットなど）、など様々な他のタイプのネットワークに適用可能である。例えば、コンピュータネットワークは、パケットを使用するサーバとクライアント装置との間のデータトラフィックの通信を可能にしてもよい。本発明の実施形態は、さらに光通信のような非ＲＦ無線ネットワークに適用可能であってもよい。
【００１９】
以下の記述では、ある技術用語は本発明の特徴について記述するために使用される。例えば「コンポーネント」、「計算装置」、「クライアント装置」又は「コンピュータ」は、１つ以上の機能を実行するように構成されるハードウェア及び／又はソフトウェアモジュールを含む。さらに、「プロセッサ」は情報を処理する論理回路である。プロセッサには例えば、マイクロプロセッサ、特定用途向けＩＣ、デジタル信号プロセッサ、マイクロコントローラ、有限状態機械、又は組み合わせ論理回路などが含まれる。
【００２０】
「ソフトウェアモジュール」は、オペレーティングシステム、アプリケーション、アプレット又はルーチンなどのような実行可能なコードである。ソフトウェアモジュールは、任意のタイプのメモリ、すなわちプログラム可能な電子回路などの適切な記憶メディア、半導体記憶装置、揮発性メモリ（例えばランダムアクセスメモリーなど）、不揮発性メモリ（例えば読み出し専用メモリ、フラッシュメモリーなど）、フロッピー（登録商標）ディスク、光ディスク（例えばコンパクトディスク又はデジタル多用途ディスク「ＤＶＤ」）、ハードディスク、テープ、又は任意の種類のインターコネクト（以下で定義される）に格納されてもよい。
【００２１】
「インターコネクト」又は「リンク」は一般に通信経路を確立する情報伝送媒体として定義される。媒体には例えば、物理媒体（例えば電線、光ファイバー、ケーブル、バストレースなど）又は無線媒体（例えば、無線シグナリング技術が併用された空気媒体）が含まれる。
【００２２】
「情報」又は「データストリーム」はデータ、アドレス、制御、又はこれらの任意の組み合わせとして定義される。送信については、情報は、メッセージすなわち所定のフォーマットにおけるビットの集合として送信されてもよい。特定の１つのタイプのメッセージは、所定数の情報ビットを各々有するヘッダーとペイロードとを含む構造である。
【００２３】
本発明の実施形態は、効用関数に基づいたネットワーク内のアプリケーションに帯域幅を動的に割り当てるためのシステム、装置、及び方法に関する。ここに言及されている帯域幅は、典型的に、パケットエラー率、プロトコルオーバーヘッドなどを考慮に入れた後、アプリケーションレベルのデータ用の実際に使用可能な帯域幅である。しかしながら、言及されている帯域幅がネットワークリンクの生データ速度、又はネットワークスループットの他の何らかの推定値である場合、本発明の実施形態は適用可能である。帯域幅は一般にここで直接言及したパラメーターであるが、本発明の実施形態は、さらにジッタ及びレイテンシなどの他のストリーミングパラメーターの割り当てに関し、且つ割り当てを含む。それらはまた同様の方法で割り当てられてもよい。前述したように、競合するクライアント装置の間で帯域幅を割り当てること及びネットワークに新しいクライアント装置を入れることは、無線ネットワークにおけるように、ネットワーク帯域幅が動的に変化する場合に複雑になる。
【００２４】
本発明の実施形態は、効用関数に基づいて、ネットワークのクライアント装置に帯域幅を動的に割り当てることに関する。より詳細には、本発明の実施形態は、各クライアント装置に割り当てられた帯域幅が（それぞれの効用関数に基づいて）調整されて各クライアント装置の動作が最適化され、且つ帯域幅はネットワークの全体的に利用可能な帯域幅内に適合するように、各クライアント装置の効用関数に基づいて各クライアント装置が利用可能な帯域幅を動的に調節することに関する。さらに、各クライアント装置は、効用関数の利用によってシステム全体の効用が最適化されるように、割り当てられた、最適化された帯域幅を使用することができる。また、サーバ単独、クライアント装置単独、又はサーバ及び１つ以上のクライアント装置の組み合わせは、効用関数に基づいてネットワーク内のアプリケーションに動的に帯域幅を割り当てるために本発明の態様を実施可能であることにも留意されたい。
【００２５】
図１を参照すると、図１は本発明の１つの実施形態に係る無線ネットワーク１００の例を示す。ここで、典型的な無線ネットワーク１００は、複数のクライアント及び１つ以上の他の有線ネットワーク１０４（例えばＬＡＮ、ケーブルネットワーク、インターネットなど）と通信可能なステーション又はサーバ１０２を含んでいる。特に、この例において、スイッチ１０８を介するサーバ１０２はクライアント装置Ｅ１１２へリンク１１０を介して通信可能である。リンク１１０は、例えば、イーサネット（登録商標）規格に従った有線リンクであってもよい。図１で特に示されるように、リンク１１０は任意の数のクライアント装置に接続可能であることは十分に理解されるべきである。さらに、スイッチ１０８を介するサーバ１０２は、別のネットワーク１０４（例えばＬＡＮ、ケーブルネットワーク、インターネットなど）へリンク１１５を介して通信可能である。リンク１１５は、例えば、イーサネット（登録商標）規格に従う有線リンクであってもよい。
【００２６】
さらに、後述されるように、サーバ１０２は、スイッチ１０８を介してアクセスポイント１  １２０に接続され、無線チャンネル１  １５０を介し、アクセスポイントＡ１４０、アクセスポイントＢ１４２、アクセスポイントＣ１４４、及びアクセスポイントＤ１４６を介してクライアント装置Ａ１３０、クライアント装置Ｂ１３２、クライアント装置Ｃ１３４及びクライアント装置Ｄ１３６とそれぞれ通信可能である。クライアントＡ、Ｂ、Ｃ及びＤは、当然それぞれのアクセスポイントと通信する。
【００２７】
さらに、アクセスポイントを使用するクライアント装置Ａ、Ｂ、Ｃ及びＤの代わりに、ネットワークは、非アクセスポイント無線クライアント装置を含んでもよいことに留意されたい。例えば、これらの非アクセスポイント無線クライアント装置は（例えばＩＥＥＥ８０２．１１用語に基づく）「アドホック」ネットワークの一部として利用されてもよく、非アクセスポイント無線クライアント装置は、８０２．１１用語で「ステーション」と呼ばれる。本実施形態では、クライアント装置は、無線クライアント装置内で使用されるか又は無線クライアント装置から分離可能な適切な無線ネットワークインタフェースカード（例えばＰＣＩカード、ＰＣＭＩカードなど）を備え、無線クライアント装置と無線情報を送受信して処理する。無線ネットワークインタフェースカード（ＮＩＣ）コンポーネントは、典型的にはアンテナ、受信（ＲＸ）インタフェース、送信（ＴＸ）インタフェース及び変換器を備える。変換器は、デジタルアナログ変換及びアナログデジタル変換を両方行うことができるコンポーネントとして実装されてもよい。無線ＮＩＣは典型的には無線トランシーバーを含むが、勿論、無線ＮＩＣは単に受信器か発信器だけが実装されるようにＲＸ又はＴＸ機能性を特徴としてもよい。いかなる場合も、アクセスポイント型無線クライアント装置又は非アクセスポイント無線クライアント装置（例えば８０２．１１の用語中の「ステーション」）のいずれかと共に本発明の実施形態が使用されてもよいことは当業者によって十分に理解されるべきである。
【００２８】
図１に示すように、アクセスポイント１  １２０及びアクセスポイントＡ１４０、Ｂ１４２、Ｃ１４４、及びＤ１４６は、（ｉ）クライアントＡ１３０、Ｂ１３２、Ｃ１３４、及びＤ１３６からデータフレームを受信し、且つこれらのフレームから、他のクライアント装置（例えばクライアントＥ１１２）へのリンク１１０及び／又は有線ネットワーク１０４へのリンク１１５のような物理媒体上へデータを送信することにより、且つ（ｉｉ）有線ネットワーク１０４及び他のクライアント装置（例えばクライアントＥ１１２）からデータを受信し、且つ１つ又は複数の対象となるクライアントＡ１３０、Ｂ１３２、Ｃ１３４、Ｄ１３６へデータフレームを送信することにより、双方向通信をサポートする。各アクセスポイントは、無線情報を送受信するアンテナ１４９、及び情報をクライアント装置、コンポーネント又は他のネットワークと送受信するリンク１５１を含む。
【００２９】
アクセスポイント１２０が複数の異なる無線チャンネル（例えば無線チャンネル１‐Ｎ）をさらにサポートしてもよいことは十分に理解されるべきである。さらに、サーバ１０２及びスイッチ１０８が複数の異なるアクセスポイント（例えばアクセスポイント１‐Ｎ）をさらにサポートしてもよいことも十分に理解されるべきである。
【００３０】
ネットワーク１０４は、イーサネット（登録商標）、トークンリング、非同期転送モード（ＡＴＭ）、ＬＡＮ、ＷＡＮ、インターネット、イントラネットなどを含むが、制限されていない任意のタイプのネットワークであってもよい。さらに、ネットワーク１０４、及びリンク１１０によってアクセス可能なクライアントは、無線ネットワーク１００のユーザに利用可能な資源を特徴付ける。そのような資源は、データ保存用デバイスを含んでいてもよい。それはリンク１１０及び／又はリンク１１５に接続される。
【００３１】
１つの実施形態において、クライアント装置Ａ１３０、Ｂ１３２、Ｃ１３４、及びＤ１３６は、ＩＥＥＥ８０２．１１通信プロトコル又は別の無線ネットワーキングプロトコルに従って、無線の各アクセスポイント経由でサーバ１０２と通信し、且つサーバ１０２からの情報にアクセスすることは、十分に理解されるべきである。従って、アクセスポイント１  １２０及びアクセスポイントＡ１４０、Ｂ１４２、Ｃ１４４、及びＤ１４６はそれぞれ、通常、クライアントＡ１３０、Ｂ１３２、Ｃ１３４、及びＤ１３６を含む無線ネットワークと、例えばクライアント装置Ｅ１１２及び場合によっては他のクライアントを含むＬＡＮネットワーク及び／又はネットワーク１０４を含む他のネットワークとを、サーバ１０２を介して接続するトランスペアレントブリッジとして作動する。
【００３２】
図１の無線ネットワーク１００の例で、クライアント装置は、遠くのクライアント、すなわちサーバ１０２のアクセスポイント１  １２０から比較的遠くにあるクライアントＡ１３０及びＢ１３２、及び近くのクライアント、すなわちサーバ１０２のアクセスポイント１の比較的近くにあるクライアントＣ１３４及びＤ１３６としてグループ化されてもよい。さらに、アクセスポイント１  １２０は、説明を容易にするために一般に発信器１２０と呼ばれることがある。
【００３３】
図１で示されるように、アクセスポイントＡ１４０は、クライアントＡ１３０に加えて複数の他の遠くのクライアントと通信し、それらのクライアントをサポートしてもよいことは十分に理解されるべきである。図１に示されるように、アクセスポイントＢ１４２はさらに、クライアントＢ１３２に加えて複数の他の遠くのクライアントと通信し、それらのクライアントをサポートしてもよい。同様に、図１に示されるように、アクセスポイントＣ１４４はクライアントＣ１３４に加えて複数の他の近くのクライアントと通信し、それらのクライアントをサポートしてもよい。さらに、図１において示されるように、アクセスポイントＤ１４６はさらにクライアントＤ１３６に加えて複数の他の近くのクライアントと通信し、それらのクライアントをサポートしてもよい。
【００３４】
さらに、後述されるように、図１は、本発明の実施形態が実施可能な無線ネットワークの１つのタイプの構成例にすぎないことは十分に理解されるべきである。任意の数のサーバ、アクセスポイント及びクライアント装置並びにそれらの構成が利用されてもよい。さらに、図１に示されるように、サーバ１０２は任意の数のアクセスポイント（例えばアクセスポイント１‐Ｎ）を利用し、図１に示されるように、任意の数の無線チャンネル（例えば無線チャンネル１‐Ｎ）を利用して通信してもよい。さらに、アクセスポイントは、無線ネットワークの構成にしたがって、それぞれ１つの無線チャンネルをサポートしてもよいし、又は任意の数の無線チャンネルをサポートしてもよい。さらに、任意の数の他の有線又は無線ネットワーク、若しくはその組み合わせにサーバ１０２が接続されてもよいことは十分に理解されるべきである。
【００３５】
さらに、図１０に示すように、１つの実施形態において、無線ネットワークを利用する代わりに、有線ネットワーク１０３を含むネットワーク１０２を利用して、クライアント装置Ａ１３０、Ｂ１３２、Ｃ１３４、及びＤ１３６にサーバ１０２を接続してもよい。したがって、本発明の実施形態は、有線ネットワーク（例えばローカルエリアネットワーク（ＬＡＮ）、又は広域ネットワーク（ＷＡＮ）、インターネットなど）のような様々な他のタイプのネットワークに適用可能である。その様々な他のタイプのネットワークはパケット型ネットワーク、パケット交換型ネットワーク、コネクション指向型ネットワークなどであってもよく、伝送コントロールプロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、非同期転送モード（ＡＴＭ）、フレームリレー（ＦＲ）、ポイントゥポイントプロトコル（ＰＰＰ）、システムズネットワークアークテクチャ（ＳＮＡ）、ボイスオーバインターネットプロトコル（ＶｏＩＰ）、又は任意の他の種類のプロトコルを利用することができる。有線ネットワーク１０３は、サーバ１０２（複数可）とパケットを使用するクライアント装置Ａ１３０、Ｂ１３２、Ｃ１３４、及びＤ１３６との間のデータトラフィックの通信を可能にする。ネットワーク１０３を介したデータトラフィックは、音声、テキスト、グラフィックス、映像、電子メール、ファックス、マルチメディア、ドキュメント、音声及びデータの他の総括的な形式を含む任意のタイプであってもよい。ネットワーク１０３は、典型的に、デジタルデータトラフィックを転送するために設計されたスイッチング又はルーティング装置を含んでもよいデータネットワークである。
【００３６】
図１０の状況は単に例示的であり、本発明の実施形態は任意のタイプの通信システム及び／又はコンピュータネットワーク、プロトコル及びその組み合わせと共に使用され得ることが十分に理解されるべきである。さらに、図１及び図１０に示された無線ネットワーク１００及び有線ネットワーク１０１の特定の構成は、単に本発明の実施形態について説明する例として使用され、本発明の実施形態を制限するためには使用されるべきでないことは十分に理解されるべきである。さらに、様々な無線及び有線ネットワーク、及びその組み合わせにおいて、本発明の実施形態を利用することができることは十分に理解されるべきである。
【００３７】
さらに、ネットワーク１００及び１０１のクライアント装置は、コンピュータ（例えばデスクトップ型、ノート型、サーバ型）、携帯情報端末「ＰＤＡ」、電話、英数字ページャー、テレビ（標準、デジタル、高解像度など）、セットトップボックスなどのような、任意のタイプのハードウェア及び／又はソフトウェアベースのコンピュータコンポーネント又はコンピュータデバイス、若しくは電子コンポーネント又は電子デバイスであってもよいことは十分に理解されるべきである。このリストが、ネットワーク１００及び１０１の一部になり得る、すべての可能なタイプのクライアントのわずかな例示的リストにすぎないことが十分に理解されるべきである。他の多くのタイプのクライアント装置は当業者には明らかであろう。
【００３８】
次に図２を参照すると、図２は本発明の１つの実施形態を実施するために利用されてもよい、図１又は図１０のステーション又はサーバ１０２の例を示す図である。図２に示すように、１つの実施形態では、ステーション又はサーバ１０２は、プロセッサ２１０、メモリ２２０、ユーザインタフェース２３０（例えばキーボード、マウスなど）、表示装置（例えばモニター、ＬＣＤ表示装置など）２３５、複数の入出力（Ｉ／Ｏ）装置２４０、及びスイッチ１０８の一部を含んでもよいネットワークインターフェイス２４５を備えてもよい。
【００３９】
利用されてもよいプロセッサ２１０は例えば、マイクロプロセッサ、特定用途向けＩＣ、デジタル信号プロセッサ、マイクロコントローラ、有限状態機械又は組み合わせ論理回路などを含む。入出力装置２４０は例えば、Ｉ／Ｏ機能を実行するどんな入出力装置も含んでもよい。例えば、入出力装置はプリンター、記憶装置（例えばコンパクトディスクＲＯＭ（ＣＤ  ＲＯＭ）、デジタルバーサタイルディスク（ＤＶＤ）、ハードディスク、フロッピー（登録商標）ディスクなど）又は他のタイプの入出力装置、例えば入力装置（マウス、トラックボール、ポインティングデバイス）、メディアカード（例えば音声、映像、グラフィックス）などのためのコントローラーを含んでもよい。上述したように、ネットワークインターフェイス２４５を含むスイッチ１０８は、他のタイプのネットワーク、インタフェース及びクライアント装置と同様に、無線ネットワーク１００、有線ネットワーク１０３、有線ネットワーク１０４、クライアント装置及びイーサネット（登録商標）ネットワーク（リンク１１０）のアクセスポイントと接続するための適切なＮＩＣを含んでもよい。
【００４０】
さらに、メモリ２２０は、後でより詳細に説明されるように、本発明の実施形態を実施するために、効用関数に基づいてネットワーク内のアプリケーションに動的に帯域幅を割り当てる帯域幅マネージャーソフトウェアモジュール２５０を含んでもよい。帯域幅マネージャーソフトウェアモジュール２５０は、オペレーティングシステム、アプリケーション、アプレット又はルーチンなどのような実行可能なコードを含む。ソフトウェアモジュール２５０はメモリ２２０に格納されてもよい。メモリ２２０は、任意のタイプのメモリ、すなわちプログラマブル電子回路、半導体記憶装置、揮発性メモリ（例えばランダムアクセスメモリーなど）、不揮発性メモリ（例えば読み出し専用メモリ、フラッシュメモリーなど）、フロッピー（登録商標）ディスク、光ディスク（例えばコンパクトディスク又はデジタルバーサタイルディスク「ＤＶＤ」）、ハードディスク、テープなどのような適切な記憶媒体であってもよい。さらに、他の実施形態では、１つ以上のクライアント装置（例えばクライアント装置Ａ、Ｂ、Ｃ及びＤ）がソフトウェアモジュールを格納して、サーバ１０２に加えて、又はサーバ１０２の代わりに、効用関数に基づいてネットワーク内のアプリケーションに動的に帯域幅を割り当ててもよい。
【００４１】
本発明の実施形態は、任意の種類のステーション、クライアント装置、サーバコンピュータ、汎用コンピュータ、又はデータを処理可能な回路類を含む任意の種類の演算装置又は電子機器で実施できることは十分に理解されるべきである。特に、本発明の実施形態は、通常、１つ以上のソフトウェアモジュール又はコンピュータプログラムとしてコンピュータにおいて実施され、所望の機能を実行することができる。コンピュータプログラムは、コンピュータによって読まれて実行される時に、本発明を実施及び／又は利用するのに必要なオペレーションをコンピュータに実行させる、機械可読の命令（例えばコードセグメント）によって構成される。通常、コンピュータプログラムはデバイス、キャリア、又はメディア（例えばメモリ、データストレージ装置、及び／又はデータ通信装置を介してコンピュータにつながれたリモート装置など）において明確に具体化され、且つ／又はそれらから読み取り可能である。コンピュータプログラムは、メモリ、データストレージ装置及び／又はリモート装置から、オペレーション中に使用するコンピュータのメモリにロードされてもよい。
【００４２】
図２のコンピュータシステム構成２００が、ステーション又はサーバとしての使用のための基本的なコンピュータシステムの一例にすぎないことは当業者によって十分に理解されるべきである。さらに、当業者は、図２に示された典型的な実施形態が本発明の実施形態を制限するようには意図されないことを認識するだろう。
【００４３】
さらに、本発明及び様々な機能要素の態様が特定の実施形態において述べられたが、これらの態様と機能性はハードウェア、ソフトウェア、ファームウェア、ミドルウェア、又はその組み合わせにおいて実施できることは十分に理解されるべきである。
【００４４】
図１及び図１０を再び参照すると、前述した無線ネットワーク１００及び有線ネットワーク１０１は、ネットワーク（例えばＷＬＡＮか標準ＬＡＮ）として単独で利用されてもよいし、ビジネスによる使用、家庭での使用、又は他の実体による使用のためのより大きなネットワークの一部であってもよい。１つの態様では、本発明の実施形態に係るネットワーク１００及び１０１は、サーバ１０２からクライアント装置Ａ、Ｂ、Ｃ及びＤに、マルチメディアデータ、映像、音声、グラフィックス、テキスト、ドキュメントなどのための情報及びデータの効率的なストリーミングを提供する。さらに、本発明の実施形態は、映画、テレビ、グラフィックス、マルチメディア、ゲーム、ウェブページなどのような、高品質の映像／音声コンテンツの効率的なストリーミングを提供する。特に、１つの実施形態において、ホームネットワークの一部として利用される時、ホームメディアサーバ１０２は、サーバが映画、テレビ、グラフィックス、マルチメディア、ゲーム、ウェブページなどの高品質の映像／音声コンテンツを、家じゅうのクライアント装置（例えばコンピュータ、デジタルテレビ、高品位テレビ（ＨＤＴＶ）などを含む）に効率的に流すことができるように、映像／音声データなどのデータを高いＱｏＳ及び高帯域を備えた家じゅうのクライアント装置Ａ１３０、Ｂ１３２、Ｃ１３４、及びＤ１３６に流す。
【００４５】
基本的に、本発明の実施形態は、効用関数に基づいてネットワーク内のアプリケーションに動的に帯域幅を割り当てるためのシステム、装置、及び方法に関する。１つ以上のクライアント装置がネットワーク内にあり、ネットワーク上のデータを受け取ることができる。１つの実施形態では、ネットワーク上のデータを送受信することができるサーバは、ネットワークを介してクライアント装置につながれる。サーバは、ネットワーク内のクライアント装置を識別し、クライアント装置によってネットワーク内で利用されているアプリケーションを識別する。効用関数は各アプリケーションに対して定義される。効用関数は所定の品質水準で実行するためにアプリケーションに必要な帯域幅の最低容量を特定するために使用されてもよい。帯域幅は、各アプリケーションに定義された効用関数に基づいてネットワーク内の異なるアプリケーションに動的に割り当てられる。
【００４６】
前述したように、競合するクライアント装置間で帯域幅を割り当てること、及びネットワークに新しいクライアント装置を入れることは、無線ネットワークにおけるようにネットワークの帯域幅が動的に変化する場合に複雑になる。本発明の実施形態は、効用関数に基づいてネットワークのクライアント装置に帯域幅を動的に割り当てることに関する。より詳細には、本発明の実施形態は、システム全体の効用が最適化されるように、各クライアント装置に割り当てられた帯域幅が（それぞれの効用関数に基づいて）調整されて各クライアント装置の動作が最適化され、且つ帯域幅がネットワークの全体的に利用可能な帯域幅内に適合するように、各クライアント装置の効用関数に基づいて各クライアント装置が利用可能な帯域幅を動的に調節することに関する。さらに、効用関数を用いることで、システム全体の効用が最適化されるように、各クライアント装置は、割り当てられた、最適化された帯域幅を使用することができる。１つ以上のサーバ及び１つ以上のクライアント装置で本発明の態様を実施してもよいことは十分に理解されるべきである。
【００４７】
より詳細には、１つの実施形態において、ネットワークを使用する各「アプリケーション」に所定容量の帯域幅が与えられることの効用又は有用性について説明する効用関数が定義される。「アプリケーション」は一般に、サーバと１つ以上のクライアント装置間における情報伝送（例えばデータストリーム）に対応するデータのシーケンスであると定義することができる。さらに、「アプリケーション」は、データ又は他のある機能を利用する、実際のソフトウェアアプリケーション、デバイス、又はデータを利用するルーチンとして定義されてもよい。１つの実施形態において、効用関数は、アプリケーションに与えられる、現在利用可能な帯域幅が変更されることに起因する効用又は有用性の変化と同様に、アプリケーションが、適切に、又は所定若しくは所望の品質水準で実行するために有用な帯域幅の最低容量を特定してもよい。
【００４８】
例えば、図１及び図１０を参照して説明したように、１つ以上のクライアント装置Ａ１３０、Ｂ１３２、Ｃ１３４、及びＤ１３６は、十分な品質レベルでデータストリームを適切に利用するために、データストリーム又はそこに流されるアプリケーションのための、ある容量の帯域幅を要求する機能又はアプリケーションを利用していてもよい。一例において、コンピュータ、セットトップボックス又はテレビ（例えばＨＤＴＶ）などのクライアント装置は、映画、テレビ、グラフィックス、多重メディア、ゲーム、ウェブページなどの高品質の映像及び音声を、十分な品質レベルで（つまり、比較的高いＱｏＳを要して）レンダリングするために、比較的高いレベルの帯域幅を要求するアプリケーションを使用してもよい。例えば、１つの実施形態において、ホームメディアサーバ１０２は、ホームネットワークの一部として利用されると、映像／音声データのようなデータを、家じゅうのクライアント装置Ａ１３０、Ｂ１３２、Ｃ１３４、及びＤ１３６に流す。これらのクライアント装置のうちのいくつかは、映画、テレビ、グラフィックス、マルチメディア、ゲーム、ウェブページなどのような、高品質の映像／音声コンテンツをレンダリングするために、高いＱｏＳ及び高帯域を要求するアプリケーションを実行していてもよい。本発明の実施形態は、固定帯域幅を備えたネットワーク（例えば図１０に示されるような有線ネットワーク１０１）、又は可変（すなわち、不確実な）帯域幅を備えたネットワーク（例えば図１に示されるような無線ネットワーク１００）に適用されてもよいことは、十分に理解されるべきである。
【００４９】
さらに図３を参照すると、本発明の１つの実施形態によれば、フローチャート３００は、効用関数に基づいてネットワーク内のアプリケーションに動的に帯域幅を割り当てるために実行されてもよいオペレーションを示す。最初に、無線又は有線ネットワーク内のクライアント装置（例えば、それぞれ図１又は図１０）が識別される（ブロック３０２）。例えば、符号１３０、１３２、１３４及び１３６でそれぞれ示されるクライアントＡ、Ｂ、Ｃ及びＤは、ネットワークのクライアント装置であると決定される。次に、ネットワークにおいて現在使用されているアプリケーションが識別される（ブロック３０４）。例えば、クライアント装置Ａ１３０は、比較的少容量の帯域幅を要求するインターネット上の別のコンピュータからドキュメントをダウンロードするためにアプリケーションを実行するコンピュータであってもよい。一方、クライアント装置Ｃ１３４は、比較的大量の帯域幅を要求するＨＤＴＶのビデオプログラム（例えば映画、テレビ、グラフィックス、マルチメディア、ゲーム、ウェブページなど）をダウンロードし同時に再生するためにアプリケーションを実行するＨＤＴＶセットであってもよい。
【００５０】
次に、オペレーションは、ネットワークにおいて現在使用されている各アプリケーションの効用関数を定義するために実行される（ブロック３０６）。特に、後述されるように、効用関数は、アプリケーションの効用又は有用性の量と所望量の効用を得るのに必要な帯域幅とを関連づける。したがって、一例として、クライアント装置Ａ１３０のインターネットからドキュメントをダウンロードするアプリケーションの効用関数、及びクライアント装置Ｃ１３４のＨＤＴＶビデオプログラムをダウンロードし同時に再生するアプリケーションの効用関数が定義される。
【００５１】
さらに、効用関数は、どのアプリケーションが他のものより重要か優先順位を付け、それによって帯域幅を割り当てるために、所定又は所望の（例えばユーザが定義した）優先度に基づいて拡大されてもよい（ブロック３０８）。例えば、現在の例を継続すると、（高いＱｏＳ要求のための比較的高帯域を要求する）ＨＤＴＶビデオプログラムのためのアプリケーションを、インターネット上のドキュメントをダウンロードするためのアプリケーションより重要にするために優先度が定義されれば（例えばユーザかシステムによって）、効用関数はこれを反映するために拡大される。したがって、優先度及び拡大倍率に基づき、ドキュメントをダウンロードするアプリケーション及びＨＤＴＶビデオプログラムをダウンロードし同時に表示するアプリケーションの両方のためのあるＱｏＳレベルを維持するために、帯域幅の最低容量が定義される。しかしながら、ＨＤＴＶアプリケーションはインターネットドキュメントのダウンロードのためのアプリケーションより高い優先度を与えられる。したがって、その両方のアプリケーションのために十分な帯域幅がない場合には、ＨＤＴＶアプリケーションのＱｏＳを維持するため、ＨＤＴＶアプリケーションに割り当てられた帯域幅の最低容量を提供するために、インターネットダウンロードには少ない帯域幅が割り当てられるであろう。これにより、もちろんインターネットダウンロードは遅くなるであろう。しかしながら、表示されているＨＤＴＶビデオプログラムの質は犠牲にされないであろう。
【００５２】
最後に、ブロック３１０では、帯域幅は、各アプリケーションのために定義された効用関数に基づいてネットワーク内の異なるアプリケーションに割り当てられる。各アプリケーションのために定義された効用関数に基づいたネットワーク内の異なるアプリケーションに帯域幅を割り当てる方法は、後でより詳細に説明される。
【００５３】
１つの実施形態において、効用関数に基づいてネットワーク内のアプリケーションに動的に帯域幅を割り当てて、図３を参照して説明したように、ネットワークにおいて使用されている各アプリケーションの効用関数を定義するオペレーションが、これらの機能を実施することを援助するためのソフトウェアモジュールを備えるコンピューティングデバイスにおいて実行されてもよいことは、十分に理解されるべきである。特に、１つの実施形態では、図２を参照して説明された、ステーション又はサーバ１０２のようなコンピューティングデバイスは、前述したように、プロセッサ２１０の制御の下で実施されたメモリ２２０に格納された帯域幅マネージャーソフトウェアモジュール２５０をこれらの機能を実施するために利用してもよい。
【００５４】
図４を参照すると、本発明の１つの実施形態によれば、図４は効用関数の例を示す図４００を示す。図４に示されるように、効用関数は、アプリケーションの効用又は有用性（Ｙ軸４０２）と、所望量の有用性を得るのに必要な帯域幅（Ｘ軸４０４）との関係を定義する。したがって、効用関数は、アプリケーションに与えられる、現在利用可能な帯域幅が変更されることに起因する、効用又は有用性の変化を推測すると同様に、アプリケーションを適切なレベルで動作させておくためにアプリケーションにとって有用な帯域幅の最低容量を特定するために使用されてもよい。さらに、（Ｙ軸４０２に示すように）アプリケーションの有用性又は効用は、（例えば、典型的には高いＱｏＳを要求する、映画、テレビ、グラフィックス、マルチメディア、ゲーム、ウェブページなどのコンテンツをレンダリングする高品質の映像と音声におけるように）十分に動作するアプリケーションによって、十分なデータストリームのための十分な帯域幅が受け取られるのに必要なユーザの嗜好、質又はＱｏＳ要因のような要因にも、他の要因と同様に基づいてもよいことは十分に理解されるべきである。
【００５５】
前述したように、例えば、効用関数はクライアント装置（例えばコンピュータ）用のインターネットからドキュメントをダウンロードするアプリケーションのために定義されてもよい。同様に、別の例として、効用関数はクライアント装置（例えばＨＤＴＶセット）のためのＨＤＴＶビデオプログラムをダウンロードし同時に再生するアプリケーションのために定義されてもよい。
【００５６】
一例として、コンピュータソフトウェア中の実装については、効用関数は区分線形の適応関数として近似されてもよい。その一例は関数ライン４０６として図４に示される。したがって、前の例を継続して、関数ライン４０６によって表わされる効用関数は、クライアント装置（例えばコンピュータ）用のインターネットからドキュメントをダウンロードするアプリケーションに相当してもよい。
【００５７】
別の一例として、効用関数は離散的な適応関数として近似されてもよい。その一例は関数ライン４１０として図４に示される。特に、効用関数は、実際のネットワーク要素外のコンポーネントの性能考察を含んでもよい。例えば、データソースがＭＰＥＧ２ストリームで、ソースのデータ転送速度がＭＰＥＧ２エンコーダによって修正されている場合、効用関数はエンコーダが連続的にそのデータ転送速度を変更することができないことを反映するために離散的であってもよい。したがって、前の例を継続すると、関数ライン４１０によって表わされる効用関数は、クライアント装置（例えばＨＤＴＶセット）のためのＨＤＴＶビデオプログラムをダウンロードし同時に再生するアプリケーションに相当してもよい。
【００５８】
さらに、観られたビデオストリームの感覚的な品質が、データ速度の相違によってどのように変わるかを反映して、効用関数がデータ送信先の特性に依存してもよいことは十分に理解されるべきである。例えば、前述したように、ユーザが映像、音声、グラフィックス、ウェブページ及び／又は（例えば送信先装置としてのＨＤＴＶクライアント装置上の）マルチメディアを観る予定であるとき、ユーザにより観られたビデオストリームの感覚的な品質が、効用関数の定義において考慮に入れられてもよい。したがって、効用関数はＱｏＳ要因を考慮に入れてもよい。さらに、効用関数は、送信元と送信先の両方の特性の組み合わせに依存してもよい。
【００５９】
前述したように、帯域幅効用関数も優先度にしたがって拡大されてもよい。論理的な平易さのために、これを効用関数自体とは別々に考慮することは好都合である。図５を参照すると、図５は、本発明の１つの実施形態に係る、拡大された効用関数の例を示す図５００を示す。特に、図５は効用関数Ａ  ５０６、及び効用関数Ｂ  ５１０として示される効用関数Ａの拡大されたバージョンを示す。例えば、効用関数Ｂ  ５１０は、効用関数Ａ  ５０６に１．０より大きい倍率を適用することにより生成されてもよい。当然、１．０の拡大比は効用関数を変化させない。また、図４と同様、図５において、Ｙ軸５０２がアプリケーションの効用又は有用性に対応し、Ｘ軸５０４は所望の量の効用を得るのに必要な帯域幅に対応する。例えば、拡大された効用関数Ｂ  ５１０のような拡大された効用関数によって実施されたそのような優先順位付けは、ビデオ端末のような送信先クライアント装置の優先度と関連付けられてもよい。例えば、高解像度ＨＤＴＶ端子はより低い解像度のコンピュータのビデオディスプレイより高い優先度を与えられてもよい。
【００６０】
例えば、図１及び図１０の無線及び有線ネットワークに関して説明された前の例において、それぞれ、クライアント装置Ａ１３０は、比較的少量の帯域幅を要求するインターネット上の別のコンピュータからドキュメントをダウンロードするアプリケーションを実行するコンピュータである。一方、クライアント装置Ｃ１３４は、比較的大量の帯域幅を要求するＨＤＴＶのビデオプログラム（例えば映画、テレビ、グラフィックス、マルチメディア、ゲーム、ウェブページなど）をダウンロードし同時に再生するアプリケーションを実行するＨＤＴＶセットである。
【００６１】
前の例を継続して、インターネット上のドキュメントをダウンロードするためのアプリケーションよりも（高いＱｏＳ要求のために高帯域を要求する）ＨＤＴＶのビデオプログラムのためのアプリケーションを重要にするために、優先度は拡大された効用関数Ｂ  ５１０を利用することによりプリセットされてもよい。したがって、両方のために十分な帯域幅がない場合、ＨＤＴＶアプリケーションＱｏＳを維持するのにＨＤＴＶアプリケーションに割り当てられた最低限の帯域幅を提供するために、インターネットダウンロードにはより少ない帯域幅が割り当てられるように、ＨＤＴＶのビデオプログラムをダウンロードし同時に表示することに関係するアプリケーションがあるＱｏＳを維持するための帯域幅の最低容量は、インターネットダウンロードのためのアプリケーションより高い優先度を与えられてもよい。このようにして、視聴者は、ある品質水準のＨＤＴＶで、映画、テレビ、グラフィックス、マルチメディア、ゲーム、ウェブページなどのような映像／音声コンテンツを見ることができるであろう。これにより、当然コンピュータのためのインターネットダウンロードは遅くなるであろう。しかしながら、ＨＤＴＶによって表示されているＨＤＴＶ映像及び音声の質は犠牲にならないであろう。
【００６２】
図６を参照すると、本発明の１つの実施形態によれば、フローチャート６００は、効用関数に基づいてネットワーク内のアプリケーションに動的に帯域幅を割り当てるために実行されてもよいオペレーションの例をより詳細に示す。後述されるように、典型的な方法では、利用可能なネットワークの総帯域幅は、現在ネットワークを使用しているすべての異なるアプリケーションの総効用を最大限にする方法で共有される。これを実施する多くの方法があることが十分に理解されるべきである。典型的な実施において、例えば、利用可能なネットワークの総帯域幅は、（例えば、ノードへの帯域幅割り当て変更の数を制限するために）固定しきい値よりも大きい量が変化するときは常に、各ノード又はクライアント装置は０の帯域幅を割り当てられて、ネットワーク内のすべてのノード又はクライアント装置の総効用を最大限にするために、すべてのノード又はクライアント装置のための帯域幅割り当てが「始めから」再び割り当てられる。このことは、ノード又はクライアント装置に、前の帯域幅の割り当てを維持させ、例えば利用可能な帯域幅の新しく利用可能な増加分から、最も多くの恩恵を受けるようにノード又はクライアント装置を単に調節することとは異なることに留意されたい。
【００６３】
したがって、１つの実施形態において、特に図６を参照し典型的なネットワークとして図１を利用すると、ブロック６０２では、サーバ１０２は複数のアプリケーションを無線チャンネル１５０を介してクライアント装置Ａ１３０、Ｂ１３２、Ｃ１３４、及びＤ１３６へ流している。方法６００は帯域幅再割り当てを必要とする状況が生じるかどうかを知るために絶えず監視する。
【００６４】
例えば、ブロック６０４では、方法６００は、ネットワーク１００の１つ以上のクライアント装置用のアプリケーションにストリーム承認要求があったかどうか判断し、その結果、帯域幅再割り当てが要求されてもよい。ブロック６０６では、方法６００は、ネットワーク１００の１つ以上のクライアント装置用のアプリケーションにストリーム削除通知があったかどうか判断し、その結果、帯域幅再割り当てが要求されてもよい。ブロック６０８では、方法６００は、固定しきい値より大きな量の利用可能なネットワーク帯域幅が変更されたかどうか判断し、ネットワーク帯域幅変更が表示される。その結果、帯域幅再割り当てが要求されてもよい。
【００６５】
特に、ブロック６１０で示すように、帯域幅マネージャーの帯域幅推定モジュールは、（例えば図５を参照して前述したような）他のアプリケーションよりも優先度の高いいくつかのストリーミングアプリケーションが持ち得る任意の優先度と同様に、ネットワークが利用可能な現在の帯域幅、所定又は所望のＱｏＳレベルを達成するための（例えば図４を参照して前述したような）効用関数に基づいたネットワーク内の各ストリーミングアプリケーションに要求される帯域幅を、推定するために使用されてもよい。１つの実施形態では、前述したように、帯域幅マネージャーモジュールはサーバ１０２の帯域幅マネージャーソフトウェアモジュールであってもよいし、１つ以上のクライアント装置に単独で又はサーバ１０２と結合して存在してもよい。帯域幅推定モジュールは、後述されるように、効用関数に基づいたネットワーク内のアプリケーションに動的に帯域幅を割り当てる方法６００のオペレーションを実行するのに使用されてもよい。
【００６６】
帯域幅再割り当てが必要な場合、ブロック６１５において、方法６００はストリーミングアプリケーションのための効用関数（ＵＦ）に基づいて、すべてのストリーミングアプリケーションの最小限の効用又は有用性のための十分な帯域幅があるかどうか判断する。もしなければ、ブロック６１８において、ストリーム承認が考慮されているかどうかを次に判定する。もし考慮されていれば、ストリーム承認拒絶通知がアプリケーションに送られ、ストリーミングアプリケーションにネットワークに入らせない（ブロック６２０）。ストリーミングアプリケーション承認が考慮されていない場合、ブロック６２４において、方法６００は極めて高いパケット損失率のストリーミングアプリケーションがあるかどうか判定する。もしあれば、そのストリーミングアプリケーションはネットワークから外され、アプリケーションはネットワークから外されたことを通知される（ブロック６２６）。もしなければ、その後、最も新しく始められたストリーミングアプリケーションはネットワークから外される。また、アプリケーションはネットワークから外されたことを通知される（ブロック６２８）。
【００６７】
しかしながら、ストリーミングアプリケーションのための効用関数（ＵＦ）に基づいたすべてのストリーミングアプリケーションの最小限の効用のための適切な帯域幅がある場合、方法６００はオペレーションブロック６４０に移る。オペレーションブロック６４０において、各ストリーミングアプリケーションの効用関数（ＵＦ）に基づいて、要求された最小限の帯域幅が、ネットワークのすべてのストリーミングアプリケーションに割り当てられる。次に、ブロック６４２では、ネットワークにおいて利用可能な帯域幅がさらにあるかどうかを判定する。もしなければ、ストリーミングアプリケーションへの帯域幅の割り当てを終了する。また、ストリーミングアプリケーションはそれらの帯域幅割り当てについて通知を受ける（ブロック６４６）。しかしながら、ネットワークにおいて利用可能な帯域幅がさらにある場合、残りの帯域幅はそれらの効用関数に基づいたストリーミングアプリケーションに割り当てられる（ブロック６４４）。そして、ストリーミングアプリケーションへの帯域幅の割り当てを終了し、ストリーミングアプリケーションはそれらの帯域幅割り当てについて通知を受ける（ブロック６４６）。
【００６８】
上記方法６００の多くの変形が可能であることは十分に理解されるべきである。例えば、任意の特定のアプリケーションに対して効用の変更が何度も生じるのを阻止するために、その効用が変更される度に、所与のストリーミングアプリケーションのための効用関数が、動的で一時的な効用のペナルティを科されてもよい。
【００６９】
さらに、特に信頼性の低いネットワークリンク、例えば異常に高いパケットエラー率のものは、帯域幅全体のうち無駄と見なされてもよいため、ペナルティを科されてもよい。このペナルティは、生データ速度を使用することにより非明示的に実施されてリンクの帯域幅とされてもよい。又は、このペナルティは例えばリンクの優先度の低下として明示的に実施されてもよい。様々なリンクに帯域幅を割り当てる間にリンクが潜在的に外される場合、フローチャートはそのような高いエラーのリンクの起こりうる結果の１つを示す。
【００７０】
さらに、効用関数に基づいてネットワーク内のアプリケーションに動的に帯域幅を割り当てるための前述のオペレーションは、無線ネットワーク、有線ネットワーク、及びその組み合わせのいずれかにおいて、且つ任意のタイプの適切なネットワークプロトコルにおいて実施されてもよいことは十分に理解されるべきである。例えば、１つの実施形態では、オペレーションはＲＴＣＰと関連してＵＤＰプロトコルにおいて実行されてもよい。
【００７１】
さらに、上記方法は、利用可能な帯域幅がすべていつでも割り当てられることを示唆しないことも留意すべきである。特に、本発明の実施形態は、明示的な帯域幅割り当ての間にクライアントによって必要に応じて使用されてもよい帯域幅の「予備」又は「安全域」を取っておいてもよい。さらに、クライアントがネットワークから離れるとき又はネットワークに加わるときだけでなく、クライアント間の帯域幅の再割り当てを保証する方法で任意の既存のリンクにおいて帯域幅が変わった他のいかなるときでも、帯域幅割り当てが行われてもよい。
【００７２】
本発明のさらなる実施形態は、無線ネットワーク内のネットワークリンクの帯域幅を動的に推定するためのシステム、装置及び方法に関する。システムは、無線ネットワーク、及び無線ネットワークの無線チャンネルのリンクを介してデータを送受信することができるサーバを介してデータを受け取ることができる少なくとも１つのクライアント装置を含む。サーバは、無線ネットワーク内の少なくとも１つのクライアント装置を識別し、少なくとも１つのクライアント装置によって無線ネットワークにおいて利用されているアプリケーションを識別する。アプリケーションはそれぞれ、サーバとクライアント装置との間の関連するリンク及びリンクを介して送信された関連するデータストリームをもつ。サーバは、関連するデータストリームのスループットの測定と、リンクのチャンネル利用の決定とに基づいて、リンクを介してアプリケーションによって使用されている帯域幅を受動的に推定する。
【００７３】
例えば、１つの実施形態では、図６の帯域幅マネージャー６１０の帯域幅推定モジュールは、異なるチャンネル上の異なるネットワークリンクのネットワーク帯域幅を動的に推定し、且つ予測し、次に、データソースへこの情報をフィードバックしてもよい。前述したように、データソースはＭＰＥＧエンコーダのようなデータソースを含むサーバコンピュータであってもよい。
【００７４】
特に、帯域幅マネージャー６１０の帯域幅推定モジュールは、後述されるように、利用可能な帯域幅の受動的推定技術の利用により、ネットワークリンクの動的な帯域幅を推定してもよい。これらの受動的推定技術を利用して、余分なパケットはネットワークに注入されない。非コンテンション型ネットワークにおいてもコンテンション型ネットワークにおいてもこれらの受動的推定技術が利用されてもよいことは十分に理解されるべきであるが、受動的推定技術はコンテンション型ネットワークの典型的な環境で説明されるだろう。
【００７５】
特に、図１を再び参照して、前述の無線ネットワーク１００は、サーバ１０２からクライアント装置Ａ、Ｂ、Ｃ、及びＤへ、マルチメディアデータ、映像、音声、グラフィックス、テキスト、ドキュメントなどのための情報及びデータのストリーミングを提供する。さらに、本発明の実施形態は、映画、テレビ、グラフィックス、マルチメディア、ゲーム、ウェブページなどのような高品質映像／音声コンテンツの効率的なストリーミングを提供する。
【００７６】
特に、１つの実施形態において、ホームメディアサーバ１０２は、ホームネットワークの一部として利用されるとき、映像／音声データのようなデータをクライアント装置Ａ１３０、Ｂ１３２、Ｃ１３４、及びＤ１３６へ、家庭の無線チャンネルを介して、高いＱｏＳ及び高帯域で流す。このように、サーバ１０２は、世帯じゅうのこれらのクライアント装置（例えば、コンピュータ、デジタルテレビ、高解像度ＴＶ（ＨＤＴＶ）などを含む）に、映画、テレビ、グラフィックス、マルチメディア、ゲーム、ウェブページなどの、高品質映像／音声コンテンツを効率的に流すことができる。
【００７７】
１つの実施形態では、帯域幅推定モジュール６１０は、ホームネットワーク１００のリンクのために利用可能な帯域幅の受動的推定技術を使用し、これらの推定を、前述の手順６００の残りにおいて利用することができる。手順６００において帯域幅はアプリケーションそれぞれに定義された効用関数に基づいてネットワーク内の異なるアプリケーションに動的に割り当てられる。
【００７８】
特に、ネットワーク上の送信ノード（例えばアクセスポイント１２０）はそれぞれ、送信する各リンクの帯域幅を推定し、次に、送信されたパケットを最初に作成した装置（例えばサーバ１０２）にこの情報を供給してもよい。例えば、サーバ１０２は、様々なクライアント装置Ａ、Ｂ、Ｃ及びＤに送信される様々なデータを作成する、いくつかの異なるアプリケーションを実行してもよい。前述したように、これらのアプリケーション及びそれらの関連するデータは、映画、テレビ、ゲーム、ウェブページなどのストリーミングと関連してもよい。
【００７９】
推定された利用可能な帯域幅でこれらのアプリケーションを提供するために、サーバ１０２は、関連するネットワークリンクそれぞれの動的な帯域幅を推定してもよい。例えば、サーバ１０２は無線チャンネル１５０上のリンクを介してクライアントＣ１３４へＨＤＴＶ映画を流すためにＨＤＴＶアプリケーションを実行していてもよい。また、サーバ１０２は、さらに無線チャンネル１５０上の別のリンクを介してクライアントＡ１３０に送信されるインターネットブラウジングアプリケーションを同様に実行していてもよい。
【００８０】
これらのアプリケーションそれぞれのためのネットワークリンクの動的な帯域幅を推定する方法及び技術を説明する。「スループット」とは、一般に、実際のデータ量又はリンクを介してチャンネルを通して実際に送信されているデータ速度を指し、一方「帯域幅」とは、一般に、リンクを介してチャンネルを通して送信されるデータのために取っておかれる利用可能なスループットの量を指すことは留意すべきである。
【００８１】
図７を参照すると、図７は、発明の１つの実施形態に係る、リンクのスループットを推定するための手順を示すフローチャート７００である。手順７００は、前述した帯域幅推定モジュール６１０によって実行されてもよい。
【００８２】
最初に、無線ネットワーク内のクライアントが決定される（ブロック７０２）。例えば、クライアントＡ、Ｂ、Ｃ及びＤが識別されてもよい。次に、パケット送信開始から受信ノードによる受信までの継続時間が測定される（ブロック７０４）。これを行うために、パケット送信時間が送信ノード（例えばサーバ１０２）から推測される。これは、送信ノードにおけるパケット送信開始（すなわち、より正確には送信のためにパケットが並べられる時間）から、受信ノード（例えばクライアント装置Ａ、Ｂ、Ｃ、Ｄの１つ）からの対応する確認応答の受信までの継続時間を測定することにより行われてもよい。バースト確認応答又は選択的な確認応答を含めた、通常の伝送又はバースト伝送に対して、継続時間は最初のパケット伝送の時間からバーストに対応する最後の確認応答の受理の時間まで測定されてもよいことは十分に理解されるべきである。
【００８３】
１つの実施形態では、この測定はネットワークのメディアアクセス（ＭＡＣ）層で行われてもよく、測定は待ち時間、送信データ速度、メディア用のコンテンション及びパケット再伝送などの要素を本質的に含む。
【００８４】
次に、ブロック７０６において、送信されたパケットのサイズが測定された継続時間で割られる。この一例は図９の方程式１ａ：
【数１】
2008533811.tif 000003
において見ることができる。
【００８５】
特に、方程式１ａに見られるように、パケットのスループットは、確認応答の時間と送信の時間との差でパケットのサイズを割ることによって求められる。この測定された継続時間で送信されたパケットのサイズを割ることによって、送受信ノード間の所与のチャンネル上の対応するリンクのネットワークスループットの推定が得られる。例えば、無線チャンネル１５０は、サーバ１０２からクライアント装置Ａ、Ｂ、Ｃ、Ｄのうちの１つの装置へのものとして図１に示される。こうしてリンクのスループットは推定される（ブロック７０８）。データパケットサイズは異なるプロトコル層によって要求されるヘッダーバイトのサイズを含むので、この帯域幅推定はプロトコルオーバーヘッドを考慮に入れてもよい。
【００８６】
図９の方程式１ｂ：
【数２】
2008533811.tif 000004
は方程式１ａの言い換えである。
【００８７】
方程式１ｂが特にオーバーヘッド時間、バックオフ時間、衝突回避時間及びリトライを考慮に入れることは留意すべきである。次に、帯域幅推定モジュール６１０は、所与のチャンネル上のリンクの最大推定スループットを決定してもよい。図８を参照すると、図８は、リンクの最大推定スループットを決定する手順８００である。
【００８８】
最初に、ストリーム又はリンクのスループットは、わずかな期間及び／又は異なるパケットサイズにわたってパケットスループットを平均することにより推定される。
１つの例において、図９に示すような方程式１ｃ：
【数３】
2008533811.tif 000005
が利用されてもよい。方程式１ｃにおいて示されるように、所与のストリームのスループットは、わずかな期間にわたるパケットスループットを平均し、わずかな期間で結果を割ってそれを正規化することにより推定される。これが使用されるのは、スループットが時間とともに実際に変わってもよいためである。さらに、スループットはパケットサイズ自体に基づいて変わることもある。また、同様の平均化する方程式も、パケットサイズを変えるために使用されてもよい。これらの値を平均化することにより精度が改善される。
【００８９】
チャンネル利用も決定されてもよい（ブロック８０４）。継続中の推定ストリームスループットは、最大推定スループット又は特定のリンクのための帯域幅を決定するために、ソースノードにおけるストリーム送信のためのチャンネル利用と結合されてもよい。
【００９０】
チャンネル利用は図９に示されるような方程式１ｄ：
【数４】
2008533811.tif 000006
によって決定されてもよい。方程式１ｄに示されるように、チャンネルの利用は、所与のウィンドウの全時間に対するウィンドウの空き時間量の比率を１から引いた差によって決定されてもよい。例として、所与のウィンドウでデータストリームが使用されていない時間量の総時間ウィンドウに対する比率が０．１（例えば時間が２００ミリ秒のウィンドウに対しての２０ミリ秒の空き時間）である場合、チャンネルは時間の９０％を利用されている。
【００９１】
次に、ブロック８０８では、リンクの継続中の推定ストリームスループットは、特定のリンクの最大推定スループットを決定する（ブロック８１０）ために、チャンネル利用と結合される。特に、チャンネル利用にストリームのスループット（ThroughputSTREAM）を乗じてリンクの最大推定スループット（例えばUtilizationCHANNEL*ThroughputSTREAM）を算出する。
【００９２】
前述の手順に基づいて、帯域幅は、１つ以上のチャンネル上の１つ以上のリンクに対して動的に推定されてもよい。例えば、図１の例を使用して、サーバ１０２はＨＤＴＶアプリケーションを実行し、無線チャンネル１５０を介したリンクを経由してクライアントＣ１３４へ、３０メガビット／秒（ThroughputSTREAMとして求められた）で、このストリームの最大推定スループットである２７メガビット／秒をもたらす０．９のチャンネル利用（UtilizationCHANNEL）でＨＤＴＶ映画を流していてもよい。
【００９３】
一方、同時に、サーバ１０２はインターネットブラウジングアプリケーションを実行し、無線チャンネルを介したリンクを経由してクライアントＡ１３０へ、５メガビット／秒（ThroughputSTREAMとして求められた）で、このストリームの最大推定スループットである０．５メガビット／秒をもたらす０．１のチャンネル利用（UtilizationCHANNEL）でウェブページを流していてもよい。
【００９４】
したがって、上記に基づいて、サーバは、関連するアプリケーションのリンクの最大推定スループットに基づいて、無線ネットワーク内のアプリケーションに割り当てられる帯域幅の量を動的に推定することができる。また、前述したように、各アプリケーションに定義された効用関数に基づいて、サーバは、各アプリケーションに定義された効用関数に基づいた無線ネットワーク内の異なるアプリケーションに動的に帯域幅を割り当ててもよい。
【００９５】
このように、帯域幅は１つ以上のチャンネル上の１つ以上のリンクに対して動的に推定されてもよい。そしてこの帯域幅推定は、効用関数に基づいたネットワーク内のアプリケーションに帯域幅が動的に割り当てられる、前述の図６の手順と共に利用されてもよい。前述したように、典型的なネットワークとしての図１を利用して、サーバ１０２はクライアント装置Ａ１３０、Ｂ１３２、Ｃ１３４、及びＤ１３６へ無線チャンネル１５０を介したリンクを経由して複数のアプリケーションを流してもよい。前述したように、方法６００は帯域幅推定方法６１０に基づいた帯域幅再割り当てを要求し得る状況が生じるかどうか確かめるために絶えず監視する。
【００９６】
例として、サーバ１０２がウェブブラウザによる使用のためのインターネットデータをクライアントＡ１３０へ流すアプリケーションを実行しながら、同時にチャンネル１５０経由で最初のリンクを介してＨＤＴＶアプリケーションとしてのアプリケーションを実行していれば、先に説明したように、前述の帯域幅推定技術は、チャンネル経由のこれらの各リンクによって利用される帯域幅を絶えず動的に推定することができる。
【００９７】
さらに、優先度は、前述の手順及び効用関数に基づいて、（高いＱｏＳ要求のため高帯域を要求する）ＨＤＴＶビデオプログラムがインターネット上のウェブブラウジングのためのアプリケーションより重要であるとみなされるように決められてもよい。したがって、ＨＤＴＶビデオプログラムの表示に関するアプリケーションのためのあるＱｏＳを維持する帯域幅の最低容量は、インターネットダウンロードのためのアプリケーションより高い優先度を与えられてもよく、その両方のための十分な帯域幅がない場合には、ＨＤＴＶアプリケーションＱｏＳを維持するのにＨＤＴＶアプリケーションに割り当てられた帯域幅の最低容量を提供するために、インターネットダウンロードには少ない帯域幅を割り当てられるだろう。これにより、もちろんクライアント装置コンピュータのためのインターネットダウンロードはより遅くなり得る。しかしながら、ＨＤＴＶクライアント装置によって表示されているＨＤＴＶ映像及び音声の質は犠牲にされないだろう。
【００９８】
前述したように、本発明の実施形態は、ソフトウェア、ファームウェア、ハードウェア、ミドルウェア又はそれの任意の組み合わせを生成するために標準プログラミング及び／又はエンジニアリング技術を使用して、方法、システム、装置又は機械可読媒体（例えばソフトウェアモジュール、プロセッサ可読媒体、コンピュータ可読媒体、コードセグメントなど）として実施されてもよい。
【００９９】
本発明及びその様々な機能的要素が特定の実施形態に記載されたが、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア又はその組み合わせにおいて本発明を実施することができ、システム、サブシステム、構成要素又はそれに従属する要素で利用することができることは十分に理解されるべきである。ソフトウェアにおいて実施された場合、本発明の要素は必要なタスクを実行するコードセグメントである。プログラム又はコードセグメントは、プロセッサ可読媒体又はコンピュータプログラム製品のような機械可読媒体に格納するか、又は伝送媒体又は通信リンクを通して、搬送波で具体化されたコンピュータデータ信号又はキャリアによって変調される信号によって送信することができる。機械可読媒体又はプロセッサ可読媒体は、機械（例えばプロセッサ、コンピュータなど）によって判読可能且つ実行可能である形式で情報を格納又は転送することができるどんなメディアを含んでもよい。機械／プロセッサ可読媒体は例えば、電子回路、半導体記憶装置、ＲＯＭ、フラッシュメモリー、消去可能なプログラマブルＲＯＭ（ＥＰＲＯＭ）、フロッピー（登録商標）ディスク、コンパクトディスクＣＤ‐ＲＯＭ、光ディスク、ハードディスク、光ファイバー媒体、無線周波数（ＲＦ）リンクなどを含む。コンピュータデータ信号は、電子ネットワークチャンネル、光ファイバー、空気、電磁気、ＲＦリンクなどのような伝送媒体を伝播することができるどんな信号を含んでもよい。コードセグメントはインターネット、イントラネットなどのようなコンピュータネットワークを介してダウンロードされてもよい。
【０１００】
特に、本発明の実施形態は、前述したような所望のオペレーション、機能及び手順を実行するために、１つ以上のコンピュータプログラムとしてコンピュータにおいて一般に実施することができる。コンピュータプログラムは、コンピュータによって読み取られ且つ実行されたときに、本発明を実施及び／又は使用するのに必要なオペレーションをコンピュータに実行させる命令で構成される。一般に、コンピュータプログラムはデバイス、キャリア、又は、メモリ、データストレージ装置、及び／若しくはデータ通信装置を介してコンピュータにつながれるリモート装置などのメディアにおいて明確に具体化され、且つ／又はそれらから判読可能である。オペレーティングシステムの管理下で、コンピュータプログラムは、メモリ、データストレージ装置及び／又はリモート装置からオペレーション中の使用のためのコンピュータのメモリにロードされてもよい。
【０１０１】
前述の明細書において、本発明はその特定の典型的な実施形態に関して説明された。しかしながら、様々な修正及び変更は、添付された請求項で述べられるような本発明のより広い趣旨及び範囲から逸脱しないように、行なわれてもよいことは明らかである。したがって、明細書と図面は限定的な意味ではなく例示的な意味で考えられる。
【図面の簡単な説明】
【０１０２】
【図１】本発明の一実施形態に係る無線ネットワークの例を示す図である。
【図２】本発明の一実施形態を実施する際に利用されてもよい、ステーション、又は図１又は図１０のサーバの例を示す図である。
【図３】本発明の一実施形態に係る、効用関数に基づいたネットワークにおけるアプリケーションに帯域幅を動的に割り当てるために行なわれてもよいオペレーションを示すフローチャートである。
【図４】本発明の一実施形態に係る、効用関数の例を示す図である。
【図５】本発明の一実施形態に係る、拡大された効用関数の例を示す図である。
【図６】本発明の一実施形態に係る、効用関数に基づいたネットワーク内のアプリケーションに動的に帯域幅を割り当てるために行なわれてもよいオペレーションの例をより詳細に示すフローチャートである。
【図７】本発明の一実施形態に係る、リンク用スループットを推定するためのプロセスを示すフローチャートである。
【図８】本発明の一実施形態に係る、最大の推定されたリンク用スループットを決定するためのプロセスを示すフローチャートである。
【図９】本発明の一実施形態に係る、ネットワークリンクの動的な帯域幅推定において使用されてもよい方程式を示す表である。
【図１０】本発明の一実施形態に係る有線ネットワークの例を示す図である。
【図１】
2008533811.tif 000007
2008533811.tif 000008
【図２】
2008533811.tif 000009
【図３】
2008533811.tif 000010
【図４】
2008533811.tif 000011
【図５】
2008533811.tif 000012
【図６】
2008533811.tif 000013
【図７】
2008533811.tif 000014
【図８】
2008533811.tif 000015
【図９】
2008533811.tif 000016
【図１０】
2008533811.tif 000017
【国際調査報告】
2008533811.tif 000018