サービスの質をサポートする通信システム内での許可制御及び資源割り当て
【課題】サービスの質要件を有するアプリケーションフローをサポートする通信システム内での許可制御及び資源割り当ての提供。
【解決手段】アクセスネットワーク(AN)要素は使用可能な資源を決定する。使用可能な資源が要求されたアプリケーションフローの要件を支持するのに十分であるとき、ANは前記アプリケーションフローを許可する。ANは周期的に、及びトリガイベント時に使用可能な資源のメトリックを更新する。許可制御は各フロータイプに補償係数を適用するスケジューラ、及び所与のユーザの集まった流れのための補償係数と協調して動作し得る。
【解決手段】アクセスネットワーク(AN)要素は使用可能な資源を決定する。使用可能な資源が要求されたアプリケーションフローの要件を支持するのに十分であるとき、ANは前記アプリケーションフローを許可する。ANは周期的に、及びトリガイベント時に使用可能な資源のメトリックを更新する。許可制御は各フロータイプに補償係数を適用するスケジューラ、及び所与のユーザの集まった流れのための補償係数と協調して動作し得る。
【発明の詳細な説明】
【関連出願の表示】
【0001】
本特許出願は、本譲受人に譲渡され、参照によって本明細書に明白に組み込まれる「通信システムにおいて資源を割り当てるためのシステム(System for Allocating Resources in a Communication System)」と題される2003年3月17日に出願された仮特許出願第60/455,906号の優先権を主張する。
【技術分野】
【0002】
本願は通信システムに関する。特に、これらの実施形態は通信システムの複数の加入者の間で通信資源を割り当てることを目的とする。
【背景技術】
【0003】
複数の加入者間で通信システム内の単一のノードにより提供される限られた通信資源を割り当てるという問題に対処するために複数の解決策が提示されてきた。コストを最小限に抑えながら、全加入者の要件を満たすために十分な資源を各ノードで提供することがこのようなシステムの目的である。したがって、このようなシステムは、通常、多様な加入者間での効率的な資源の割り当てを目的として設計される。
【0004】
多様なシステムが、加入者のそれぞれに資源を同時に割り当てる周波数分割多元接続(FDMA)方式を実現してきた。このようなシステムの通信ノードは、通常、任意の時点でネットワーク内の各加入者に情報を送信するか、あるいは各加入者から情報を受信するかのどちらかのための限られた帯域幅を有している。この方式は、通常、個々の加入者に対して全体の帯域幅の別個の部分を割り当てることを含む。このような方式は、加入者が通信ノードとの中断されない通信を必要とするシステムにとっては効果的である可能性があるが、このような不断の(constant)、中断されない通信が必要とされないときには、全体的な帯域幅のさらに優れた活用が達成され得る。
【0005】
複数の加入者の間で単一の通信ノードの通信資源を割り当てる他の方式には時分割多元接続(TDMA)方式がある。これらのTDMA方式は、単一の通信ノードの限られた帯域幅資源を複数の加入者間で割り当てる際であって、ユーザが単一の通信ノードとの不断の、中断されない通信を必要としない際に特に有効である。TDMA方式は、通常、単一の通信ノードの帯域幅全体を指定された時間間隔で加入者のそれぞれに当てる(dedicate)。符号分割多元接続(CDMA)方式を利用する無線通信システムでは、これは時分割ベースで指定された時間間隔ですべての符号チャネルを加入者装置のそれぞれに割り当てることによって達成され得る。通信ノードは、加入者との排他的な(exclusive)通信を可能とするために、加入者に関連付けられる一意の搬送周波数またはチャネル符号を導入する。TDMA方式は、物理的接点リレー切り替えまたはパケット交換を使用して陸線システムで実現されてもよい。
【0006】
TDMAシステムは、通常、総当たり方式で各加入者に等しい時間間隔を割り当てる。このため、加入者によるある時間間隔の利用に無駄が生じる場合がある。同様に、他の加入者は、割り当てられた時間間隔を上回る通信資源要求を行い、この加入者が不十分なサービスを受けることになり得る。システムオペレータは、どの加入者も受けるサービスが不足していないことを確実にするためにノードの帯域幅を広げるコストを負担するか、あるいは不充分なサービスを受けている加入者が不充分なサービスを受け続けることを許容するかのどちらかを選び得る。
【0007】
したがって、加入者間で通信資源を割り当てるネットワーク方針に従って効率的且つ公平に1つの通信網の加入者間で通信資源を割り当てるシステム及び方法を提供するニーズがある。それとともに、システムの特定の要件、制約及び/または目標に応じてフロー単位で、及び/または総計ベースでの資源割り当てを実行するための機構を提供することを含む(それに限定されない)システムによりサービスを受けるユーザ数を最大限にするニーズがある。さらに、資源割り当てを最適化する許可制御及び先処理(preemption)方法に対するニーズもある。
【図面の簡単な説明】
【0008】
【図1】本発明の実施形態による通信網を示す。
【図2A】本発明の実施形態に従って構成された基地局コントローラ及び基地局装置のブロック図を示す。
【図2B】本発明の実施形態に従って構成された遠隔局装置のブロック図を示す。
【図3】図2Aに示されるチャネルスケジューラの実施形態におけるスケジューリングアルゴリズムの実行を描く流れ図を示す。
【図4】各アプリケーション通信がアプリケーションフローにより表される、マルチメディアアプリケーションをサポートする通信システムである。
【図5】アプリケーションフローの待ち行列である。
【図6】アプリケーションフローの一部の信号タイミングを描くタイミング図である。
【図7A】アプリケーションフローのジッタ測定を描くタイミング図である。
【図7B】アプリケーションフローを処理するためのタイムスロットの期間での連続するIPパケットの伝送を描くタイミング図である。
【図8】通信システム内のアプリケーションフローのスケジューリングを描く流れ図である。
【図9】さまざまなサービスの質(QoS)要件を有するアプリケーションフローのスケジューリングを描く流れ図である。
【図10】一実施形態によるスケジューリングアルゴリズムと一致した各アプリケーションフローの定義を描くアーキテクチャ図である。
【図11】一実施形態に従ったクラスタイプを識別する表である。
【図12A】アプリケーションフローの初期化を含む、一実施形態によるスケジューリングアルゴリズムの一部を描く。
【図12B】クラスタイプの関数としてアプリケーションフローを処理することを含む、一実施形態によるスケジューリングアルゴリズムの一部を示す。
【図12C】モードIIアプリケーションフローの処理、及びモードIIIアプリケーションフローの処理を含む、一実施形態によるスケジューリングアルゴリズムの一部を示す。
【図12D】モードIアプリケーションフローの処理を含む、一実施形態によるスケジューリングアルゴリズムの一部を描く。
【図12E】適応加重及びそれに基づいたスケジューリングを含む、一実施形態によるスケジューリングアルゴリズムの一部を描く。
【図13】無線通信システムにおいて適応加重アルゴリズムを使用してアプリケーションフローをスケジュールするためのアルゴリズムを実現するための基地局トランシーバシステム(BTS)を描く。
【図14】時間の関数としてデータレート(LMAX)、予約済み資源(Res(t))、及び使用可能な資源(Avail(t))などの割り当てのための最大資源を描くタイミング図である。
【図15】高速パケットデータタイプシステム内でユーザから受信されるデータ要求、及び時刻tで予約するための時間の関数としての推測容量L(t)を描くタイミング図である。
【図16】サービスの質(QoS)要件を有する複数のアプリケーションフローをサポートする高速パケットデータタイプシステムのためのスケジューラを描く情報流れ図であり、フローはフロー単位補償のアプリケーションによりスケジュールされる。
【図17】サービスの質(QoS)要件を有する複数のアプリケーションフローをサポートする高速パケットデータタイプシステムのためのスケジューラを示す情報流れ図であり、フローは総計補償のアプリケーションによりスケジュールされる。
【図18A】サービスの質(QoS)要件を有する複数のアプリケーションフローをサポートする高速パケットデータタイプシステム内での許可制御のためのアルゴリズムを描く。
【図18B】サービスの質(QoS)要件を有する複数のアプリケーションフローをサポートする高速パケットデータタイプシステム内での許可制御のためのアルゴリズムを描く。
【図18C】サービスの質(QoS)要件を有する複数のアプリケーションフローをサポートする高速パケットデータタイプシステム内での許可制御のためのアルゴリズムを描く。
【図18D】サービスの質(QoS)要件を有する複数のアプリケーションフローをサポートする高速パケットデータタイプシステム内での許可制御のためのアルゴリズムを描く。
【図18E】サービスの質(QoS)要件を有する複数のアプリケーションフローをサポートする高速パケットデータタイプシステム内での許可制御のためのアルゴリズムを描く 。
【図19】サービスの質(QoS)要件を有する複数のアプリケーションフローをサポートする高速パケットデータタイプシステム内での先処理のためのアルゴリズムを描く。
【図20】サービスの質(QoS)要件を有する複数のアプリケーションフローをサポートする高速パケットデータタイプシステム内でのアクセスネットワーク(AN)要素のブロック図である。
【発明を実施するための形態】
【0009】
本発明の実施形態は、単一の通信ノードによりサービスを提供される、1つの通信網の複数の加入者間で資源を割り当てるためのシステム及び装置を対象としている。個々の別々の伝送間隔、つまり「サービス間隔」で、個々の加入者は他のすべての加入者を除外して通信ノードの有限の資源を獲得する。個々の加入者は、個々の加入者に関連付けられる重みまたはスコアに基づいて有限資源を獲得するために選択される。個々の加入者に関連付けられる重みの変化は、当該個々の加入者が有限資源を消費できる瞬間の速度に基づいているのが好ましい。
【0010】
図を参照すると、図1は例示的な可変速度通信システムを表す。1つのこのようなシステムはクアルコム社(Qualcomm, Inc.)に譲渡され、参照することにより本明細書に組み込まれる、1997年11月3日に出願された「高速パケットデータ伝送のための方法及び装置(Method and Apparatus for High Rate Packet Data Transmission)」と題される米国特許出願第08/963,386号に説明されている。可変速度通信システムは複数のセル2Aから2Gを備える。各セル2は、対応する基地局4によりサービスを提供される。多様な遠隔局6が通信システム全体に分散されている。例示的な実施形態では、遠隔局6のそれぞれは任意のデータ伝送間隔で下りリンク(forward link)で多くても1つの基地局4と通信する。例えば、タイムスロットnで、基地局4Aはデータを遠隔局6Aだけに送信し、基地局4Bは遠隔局6Bだけにデータを送信し、基地局4Cは下りリンクで遠隔局6Cだけにデータを送信する。図1に図示されるように、各基地局4はどの時点でも1つの遠隔局6にデータを送信するのが好ましい。他の実施形態では、基地局4は、基地局4に関連付けられる他のすべての遠隔局6を除いてある特定のデータ伝送間隔で2以上の遠隔局6と通信してよい。さらに、データレートは可変であり、一実施形態では受信側遠隔局6によって測定されるような搬送波対干渉比(carrier-to-interference ratio)(C/I)及び必要とされるビット当たりエネルギー対雑音比(energy-per-bit-to-noise)(Eb/NO)に依存している。簡略化のために、遠隔局6から基地局4への上りリンクは図1に図示されていない。一実施形態によれば、遠隔局6は無線データサービス加入者により操作される無線トランシーバ付きモバイルユニットである。
【0011】
例示的な可変速度通信システムの基本サブシステムを描くブロック図は図2Aから図2Bに示されている。基地局コントローラ10はパケットネットワークインタフェース24、公衆電話交換網(PSTN)30、及び通信システム内のすべての基地局4(簡略化のために図2Aではただ1つの基地局4が示されている)とインタフェースをとる。基地局コントローラ10は、通信システム内の遠隔局6と、パケットネットワークインタフェース24やPSTN30に接続される他のユーザの間との通信を調整する。PSTN30は、標準的な電話網(図2Aには図示されていない)を通してユーザとインタフェースをとる。
【0012】
簡略化のために図2Aにはただ1つしか示されていないが、基地局コントローラ10は、多くのセレクタ要素14を含む。各セレクタ要素14は1つ以上の基地局4と1つの遠隔局6の間の通信を制御するために割り当てられる。セレクタ要素14が遠隔局6に割り当てられていない場合、呼制御プロセッサ16は、遠隔局6を呼び出す必要性を知らされる。呼制御プロセッサ16は、次に基地局4に遠隔局6を呼び出すように命令する。
【0013】
データソース20は、遠隔局6に送信される予定の不定量のデータを含む。データソース20はパケットネットワークインタフェース24にデータを提供する。パケットネットワークインタフェース24はデータを受信し、セレクタ要素14にデータを送る。セレクタ要素14は遠隔局6と通信している各基地局4にデータを送信する。例示的な実施形態では、各基地局14は、遠隔局6に送信される予定のデータを記憶するデータ待ち行列(data queue)40を保持する。
【0014】
データはデータ待ち行列40からチャネル要素42へデータパケットで送信される。例示的な実施形態では、下りリンクでは、「データパケット」は、最大1024ビットである不定量のデータ、および「タイムスロット(例えば1.667msec)」内で宛て先遠隔局6に送信される予定の不定量のデータを指す。データパケットごとにチャネル要素42は必要な制御フィールドを挿入する。例示的な実施形態では、チャネル要素42はデータパケット及び制御フィールドをCRC符号化し、コードテールビットのセットを挿入する。データパケット、制御フィールド、CRCパリティビット及びコードテールビットはフォーマットされたパケットを備える。例示的な実施形態では、チャネル要素42が、次いでフォーマットされたパケットを符号化し、符号化されたパケット内でのシンボルをインタリーブ(つまり再順序付け)する。例示的な実施形態では、インタリーブされたパケットはウォルシュ符号でカバーされ(covered)、ショートPNIコードとPNQコードで拡散される。拡散されたデータは、信号を直交変調し(quadrature modulates)、濾波し、増幅するRF装置44に供給される。下りリンク信号は下りリンク50上でアンテナ46を通して無線で送信される。
【0015】
遠隔局6では、下りリンク信号はアンテナ60により受信され、フロントエンド62内の受信機に送られる。受信機は信号を濾波し、増幅し、直交変調し、量子化する。ディジタル化された信号は、復調器(DEMOD)64に供給され、そこで、ショートPNIコードとPNQコードで逆拡散され、ウォルシュカバーでデカバー(decover)される。復調されたデータは、基地局4で実行される信号処理機能、特にデインターリービング(de-interleaving)、復号、及びCRCチェック機能の逆を実行するデコーダ66に与えられる。復号されたデータはデータシンク68に供給される。
【0016】
前記に指摘されたように、ハードウェアは、下りリンク上でデータ、メッセージング、音声、ビデオ及び他の通信の可変速度伝送をサポートする。データ待ち行列40から送信されるデータの速度は、遠隔局6での信号強度及び雑音環境の変化に適応するために変化する。遠隔局6のそれぞれは、各タイムスロットでデータレート制御(DRC)信号を関連付けられた基地局4に送信するのが好ましい。DRCは、遠隔局が下りリンクについて所望されるデータレート、つまり遠隔局でデータを受信するためのデータレートを決定する制御機構を指す。遠隔局はDRCメッセージを介して基地局にデータレート要求または命令として所望されるデータレートを送信する。DRC信号は、遠隔局6のアイデンティティ、及び遠隔局6がその関連付けられるデータ待ち行列からデータを受信するべきレートを含む情報を基地局4に提供する。したがって、遠隔局6の回路は、信号強度を測定し、遠隔局6における雑音環境を推定して、DRC信号で送信されるべきレート情報を決定する。
【0017】
各遠隔局6によって送信されるDRC信号は、上りリンクチャネル52を通して進み、アンテナ46及びRF装置44を通して基地局4で受信される。例示的な実施形態では、DRC情報はチャネル要素42で復調され、基地局コントローラ10内に位置するチャネルスケジューラ12Aに、あるいは基地局4内に位置するチャネルスケジューラ12Bに供給される。第1の例示的な実施形態では、チャネルスケジューラ12Bは基地局4に位置する。別の実施形態では、チャネルスケジューラ12Aは基地局コントローラ10内に位置し、基地局コントローラ10内のすべてのセレクタ要素14と接続される。
【0018】
一実施形態では、チャネルスケジューラ12Bはデータ待ち行列40から、待ち行列サイズとも呼ばれる遠隔局ごとに待ち行列に入れられるデータ量を示す情報を受け取る。チャネルスケジューラ12Bは、次に、基地局4によりサービスを提供される遠隔局ごとにDRC情報及び待ち行列サイズに基づいてスケジューリングを実行する。待ち行列サイズが別の実施形態において使用されるスケジューリングアルゴリズムに必要とされる場合には、チャネルスケジューラ12Aはセレクタ要素14から待ち行列サイズ情報を受信してよい。
【0019】
本発明の実施形態は、可変速度伝送をサポートできる他のハードウェアアーキテクチャに適用可能である。本発明は上りリンクでの可変速度伝送をカバーするために容易に拡張されてよい。例えば、遠隔局6からのDRC信号に基づいて基地局4でデータを受信する速度を決定する代わりに、基地局4は遠隔局6から受信される信号の強度を測定し、雑音環境を推定して、遠隔局6からデータを受信する速度を決定する。基地局4は、次に、データが遠隔局6から上りリンクで送信される予定の速度を関連する遠隔局6の各々に送信する。次に基地局4は下りリンクについて本明細書に説明される方法と類似した方法で、上りリンクでの異なるデータレートに基づいて、上りリンクでの伝送スケジュールを行ってよい。
【0020】
また、前述された実施形態の基地局4は、CDMA方式を使用して、基地局4と関連付けられる残りの遠隔局を除いて、遠隔局6の内の選択された1つまたは選択された複数の遠隔局に送信する。任意の特定のときに、基地局4は、受信側基地局(複数の場合がある)4に割り当てられる符号を使用することによって遠隔局6の内の選択された1つまたは選択された複数の遠隔局に送信する。しかしながら、本発明は、伝送資源を最適に割り当てるために、他の基地局4を除いて、基地局(複数の場合がある)4を選択するためのデータを提供するためのさまざまなTDMA方法を利用する他のシステムにも適用可能である。
【0021】
チャネルスケジューラ12は、下りリンクでの可変速度伝送をスケジュールする。チャネルスケジューラ12は遠隔局6に送信するためのデータ量を示す待ち行列サイズ、及びメッセージを、遠隔局6から受信する。チャネルスケジューラ12は、公平性の制約に準拠しながら、最大データスループットというシステム目標を達成するためにデータ伝送をスケジュールするのが好ましい。
【0022】
図1に図示されるように、遠隔局6は通信システム全体に分散され、下りリンクで基地局4と通信していないか、又は基地局4と通信しているかもしれない。例示的な実施形態では、チャネルスケジューラ12は通信システム全体に亘って下りリンクデータ伝送を調整する。高速データ伝送のためのスケジューリングの方法及び装置は、本発明の譲受人に譲渡され、参照することにより本明細書に組み込まれる2002年1月1日に発行された米国特許第6,335,922号に詳しく説明されている。
【0023】
一実施形態によれば、チャネルスケジューラ12は、プロセッサ、ランダムアクセスメモリ(RAM)、及びプロセッサ(図示せず)により実行されるべき命令を記憶するためのプログラムメモリを含むコンピュータシステムで実現される。プロセッサ、RAM及びプログラムメモリはチャネルスケジューラ12の機能専用とされてよい。他の実施形態では、プロセッサ、RAM、及びプログラムメモリは基地局コントローラ10で付加的な機能を実行するための共用計算資源の一部であってよい。
【0024】
図3は、基地局4から遠隔局6への伝送をスケジュールするためにチャネルスケジューラ12を制御するスケジューリングアルゴリズムの実施形態を示す。前述されたように、データ待ち行列40は各遠隔局6と関連付けられる。チャネルスケジューラ12は、データ待ち行列40のそれぞれを、「重み」と関連付ける。重みは、基地局4と関連付けられ且つその次のサービス間隔でデータを受信する特定の遠隔局6を選択するためにステップ110で評価される。チャネルスケジューラ12は、別々のサービス間隔でデータ伝送を受信する個々の遠隔局6を選択する。ステップ102では、チャネルスケジューラは、基地局4と関連付けられている各待ち行列についての重みを初期化する。
【0025】
チャネルスケジューラ12は、伝送間隔またはサービス間隔でステップ104から112を周期的に繰り返す(cycles)。ステップ104では、チャネルスケジューラ12は、先のサービス間隔で検出された基地局4との更なる遠隔局6との関連付けのために追加されるべき追加の待ち行列があるかどうかを判断する。チャネルスケジューラ12はまた、ステップ104で新しい待ち行列と関連付けられた重みも初期化する。前述されたように、基地局4はタイムスロットなどの定期的な間隔で自身と関連付けられる各遠隔局6からDRC信号を受信する。
【0026】
このDRC信号はまた、各待ち行列と関連付けられる遠隔局ごとに情報を消費する(つまり送信されたデータを受信する)ための瞬間速度を決定するためにチャネルスケジューラがステップ106で使用する情報も提供する。実施形態によれば、任意の遠隔局6から送信されるDRC信号は、前記遠隔局6が複数の有効なデータレートの内の任意の1つでデータを受信することができることを示す。
【0027】
チャネルスケジューラ12は、ステップ108で、データを受信するために遠隔局6に関連付けられた(最も近い過去に受信されたDRC信号に示されるような)瞬間速度に基づいてデータが任意の特定の遠隔局6に送信されるべきサービス間隔の長さを決定する。実施形態によれば、データRiを受信する瞬間速度は、ステップ106で特定のデータ待ち行列と関連付けられるサービス間隔長Liを決定する。
【0028】
ステップ110でチャネルスケジューラ12は伝送のための特定のデータ待ち行列を選択する。それから、関連付けされた量の送信データがデータ待ち行列40から取り出され、次にデータ待ち行列40と関連付けられる遠隔局6への伝送のためにチャネル要素42に供給される。後述されるように、ステップ110でチャネルスケジューラ12は、各待ち行列と関連付けられる各重みを含む情報を使用して次のサービス間隔で送信されるデータを提供するための待ち行列を選択する。送信された待ち行列と関連付けられる重みは、次にステップ112で更新される。
【0029】
当業者は、チャネルスケジューラ12が、本発明から逸脱することなく、多岐に渡るアプローチを使用して実現されてよいことを理解するであろう。例えば、チャネルスケジューラ12は、プロセッサ、ランダムアクセスメモリ(RAM)、及びプロセッサ(図示せず)によって実行される命令を記憶するためのプログラムメモリを含む、コンピュータシステムを使用して実現されてよい。他の実施形態では、チャネルスケジューラ12の機能は、基地局4または基地局コントローラ10で付加的な機能を実行するためにも使用される共用計算資源の中に組み込まれてもよい。さらに、チャネルスケジューラ機能を実行するために使用されるプロセッサは汎用マイクロプロセッサ、ディジタル信号プロセッサ(DSP)、プログラマブルロジックデバイス、特定用途向け集積回路(ASIC)または、本発明から逸脱することなく、本明細書に説明されるアルゴリズムを実行できる他のデバイスであってよい。
【0030】
図1の実施形態に示されるように、遠隔局6は、可動性であり、さまざまな基地局4の間で関連付けを変更することができる。例えば、遠隔局6Fは当初、基地局4Fからデータ伝送を受信している。次に、遠隔局6fは基地局4Fのセルから出て、基地局4Gのセルに入ってよい。遠隔局6Fは次に基地局4Fの代わりに基地局4Gに注意を喚起するためにDRC信号の送信を開始してよい。遠隔局6FからDRC信号を受信しないことにより、基地局4Fのロジックは、遠隔局6fが接続を解き、もはやデータ伝送を受信しないと推論する。遠隔局6Fに関連付けられるデータ待ち行列は、次に陸線またはRF通信リンクを介して基地局4Gに送信されてもよい。
【0031】
適応加重スケジューリングアルゴリズム
さらに、(以下にさらに説明される)「フロー(flows)」と呼ばれるマルチメディアサービス伝送がバースト的な(bursty)トラヒックをつくり出す1つの無線通信システムでマルチメディアサービス又は種々の伝送要件を有する他のサービスが送信されるときに問題が存在する。バースト的なトラヒックは、バースト性の測度(measure of burstiness)および平均データレートを含む複数の変数により特徴付けられる。さらに、システム内での多様なフローのそれぞれのサービスの質(QoS)要件を満たすニーズがある。比例公平(Proportional Fair)(PF)アルゴリズムなどの現行のスケジューリング方法は、通常、「T」として識別されるスループットに対する、データレート制御データ要求つまり「DRC」と呼ばれる要求されたデータレートの比率として示されるメトリックに基づいてサービスを提供するためのフローを選択する。このような計算はすべてのユーザの要求されるQoSを保証しない可能性がある。したがって、純粋なPFアルゴリズムはマルチメディアまたは他のアプリケーションにアクセスするユーザのQoS要件を満足するほど十分な複雑さを提供しない可能性がある。これらの多様な要件を満たすことができるスケジューラに対するニーズがある。
【0032】
以下の説明が、IS−856に説明されるような高速パケットデータ(HRPD)サービスをサポートするcdma2000システムを考慮していることに留意されたい。このシステムは例として使用される。本発明は、ユーザがスケジューリングアルゴリズムに従ってサービスのために選択される他のシステムに適用可能である。
【0033】
HRPDシステムでは、無線インタフェースは最高4つまでの平行なアプリケーションストリームをサポートし得る。第1のストリームはシグナリング情報を搬送し、他の3つは異なるサービスの質(QoS)要件のアプリケーション、又は他のアプリケーションを搬送するために使用され得る。
【0034】
以下の用語解説は、以下に提示される一実施形態を理解する上での明確さのために提供される。以下の用語解説は網羅的であることを意図していない。以下の用語解説は本発明をそれに制限することを意図しておらず、むしろ適応加重スケジューリングアルゴリズムをサポートする通信システムの一実施形態に関して明確にするため、及び理解するために提供される。
【0035】
用語集
アクセスネットワーク(AN):セルラーネットワークとパケット交換データネットワーク(通常はインターネット)とATの間でのデータ接続性(data connectivity)を提供するネットワーク装置。HRPDシステムにおけるANは、セルラー通信システムにおける基地局に相当する。
【0036】
アクセス端末(AT):ユーザにデータ接続性を与えるデバイス。HRPDシステムにおけるATは、セルラー通信シムテムにおける携帯電話に対応する。ATはラップトップパーソナルコンピュータなどのコンピューティング装置に接続されてよく、あるいは、ATはパーソナルディジタルアシスタント(PDA)のような自己完結した(self-contained)データデバイスであってよい。
【0037】
アプリケーションフロー:あるアプリケーションストリームに関するソースからATへの指定された伝送路(transmission path)。各アプリケーションフローはソース、宛て先、トラヒックプロファイル、及びサービスの質プロファイルによって識別される。
【0038】
アプリケーションストリーム:アプリケーションに対応するデータ通信。大部分のアプリケーションストリームは指定されたサービスの質要件を有する。
【0039】
自動反復要求(ARQ)−送信機がイベントの発生または非発生に基づいてデータの再送を開始する機構。
【0040】
アベイル(t)(Avail(t)):下りリンク上での時刻tにおける予約されていない帯域幅。
【0041】
平均データレート(r):あるアプリケーションフローに関する経時的な(over time)平均入力データレート。
【0042】
平均遅延(AvgD):ANからATへ複数のパケットまたはビットで生じる遅延の平均。
【0043】
バースト性(σ):バースト性、つまりアプリケーションフロー内のパケットの密度及び時間単位の関係指標。
【0044】
データレート制御(DRC):それによりATが要求データレートをANに送信する機構。
【0045】
不足パケット(defpkts):スロットnの始まりでのフローkに関して定義される。不足パケットとは、フロー内のまだ送信されていないパケットであり、defpktsは、特に、例えばフローkの遅延閾値より長くBTSに留まった媒体アクセス制御(MAC)パケットなどの処理中(mid-processing)パケットなどの、等しいサイズのパケットの数として定義される。
【0046】
不足ビット(defbits):不足パケットに対応するビット数。
【0047】
遅延限度:ANからATへのデータのパケットの伝送に許容される指定時間。
【0048】
遅延閾値:遅延限度またはジッタ限度の関数であり、defpktsを計算するために使用される。
【0049】
遅延補償係数(Φ):遅延違反を補償するために使用される補償係数。
【0050】
DRC補償係数(β):アプリケーションフローのユーザと関連付けられるデータ要求要件の主な原因となる補償係数。アプリケーションの優美な回復を行うために使用される。
【0051】
拡張ジッタ閾値(dv):フローの2つの連続するIPパケットの間のジッタ違反の検出時に拡張ジッタ補償関数を計算するために使用される。
【0052】
フロー重み(w):適応加重スケジューリングアルゴリズムを使用した各アプリケーションフローに適用される初期重み値。適応加重(aw)は、重みの適応値である。
【0053】
下りリンク(FL):ANからATへの伝送無線リンク。
【0054】
行頭(HOL)パケット:待ち行列内の第1のパケット。
【0055】
高速パケットデータ(HRPD):高データレートでパケットデータ通信を送信するデータサービス。高データレートとも呼ばれ、「cdma2000高速パケットデータ無線インタフェース仕様書(cdma2000 High Rate Packet Data Air Interface Specification)」と題されるIS−856規格に規定される。
【0056】
ジッタ:受信された連続パケットの間の時間変動。
【0057】
ジッタ限度(j):あるアプリケーションフローに関するジッタに対する制限。
【0058】
ジッタ補償係数、機能拡張されている(δ):フローについてジッタ違反を補償するための補償係数。
【0059】
Lmax:BTSが下りリンクでデータを送信し得る最大速度(例えば、cdma2000 1xEV−DO型ネットワークでの2.4Mbps)。
【0060】
L(t):前回のQoS違反統計及びネットワーク負荷関連統計に基づいて時刻tにおいて確保すべき下りリンク容量の推定値。
【0061】
正規化された不足パケット(ndefpkts):不足パケット及びそのフローの要求速度を使用して計算された、正規化された不足パケット。
【0062】
正規化された不足ビット(ndefbits):正規化された不足パケットに対応する、正規化された不足ビット。
【0063】
エムペグ(MPEG):マルチメディアデータの伝送のためのプロトコル。
【0064】
未決パケット:pendk,j[n]:スロットnのBTSとBSCでのフローkのIPパケットjの未決バイトの数。
【0065】
比例公平(PF)アルゴリズム:データ通信が、スループットに対する要求データレートの比率としてATごとに計算される選択係数に従ってスケジュールされるスケジューリングアルゴリズム。
【0066】
サービスの質(QoS):遅延、所要レート及びジッタを含む(それらに限定されない)パケットデータ通信の伝送に関する要件。
【0067】
QoS及びネットワーク補償関数(Φ、γ、α、β、δ):適応加重スケジューリングアルゴリズムで使用されるような補償関数。
【0068】
サービスの質グループ(QSG):類似したQoS要件を有するアプリケーションタイプのグループ。
【0069】
レート補償係数(α):レート違反を補償するために計算される補償係数。
【0070】
サービスのレート(R)または要求レート(required_rate):フローによって要求されるレート。
【0071】
Res(t):下りリンクでの時刻tにおいて確保されている帯域幅。
【0072】
再送待ち行列(Rx):再送を予定されているアプリケーションフローを記憶する再送待ち行列。
【0073】
上りリンク(RL):ATからANへの伝送無線リンク。
【0074】
選択メトリック(Y):スケジュールを決定するためにアプリケーションフローの比較のために使用されるメトリック。
【0075】
トラヒックプロファイル(σ、r):バースト性及びデータレートに関する指標。
【0076】
伝送待ち行列(Tx):所与のBTSに関するアプリケーションフローを格納する伝送待ち行列。
【0077】
待機時間パラメータ(γ):AN内でIPパケットのHOLに関する待機時間の値。
【0078】
比例公平スケジューリングアルゴリズムへの適応重みの適用
メトリックDRC/Tに基づいてサービスを提供するためにフローを選択する比例公平(PF)スケジューリングアルゴリズムは、cdma2000 1xEV−DOネットワークの下りリンクについて説明される。PFアルゴリズムは、ほぼ同数の伝送スロットを各ユーザに提供するように設計される。このようなスケジューリングアルゴリズムを機能強化するために、異なるタイプのアプリケーションに対する多様なQoS要件を満たすためにDRC/Tアルゴリズムを拡張し、最適化する適応加重DRC/Tアルゴリズムが本明細書において説明されている。各マルチメディアアプリケーションは、それぞれの特定のQoS要件を有する。スケジューリングアルゴリズムの目標は、多様なQoS要件を満たすことを含む。ここに提示されている、適応w*DRC/Tアルゴリズムとも呼ばれている適応アルゴリズムは、アプリケーションフローがマルチメディアアプリケーションサービスを含む、cdma2000 1xEV−DOネットワークの下りリンク用DRC/Tアルゴリズムに優る種々の性能利点を提供する。cdma2000 1xEV−DOネットワークの下りリンク上の遅延及びジッタに敏感なアプリケーションの遅延及びジッタ限度要件は、適応アルゴリズムを使用して満たされる。さらに、適応スケジューリングアルゴリズムによって、マルチメディアアプリケーションに関して、レート要件が満たされ、平均遅延が短縮されることが確実になる。マルチメディアアプリケーションは適応スケジューリングアルゴリズムの実現を説明するために一例として示されているが、ここに説明されている方法及び装置は、QoS要件またはそれと関連付けられる他の定量化できる要件を有する他のアプリケーションに適用されてよい。
【0079】
ウェブの閲覧及びゲームなどのレート要件及び待ち時間要件を有するアプリケーションの場合、適応スケジューリングアルゴリズムはレート保証を提供し、平均遅延を短縮する。レート要件だけを有する他のアプリケーションの場合、適応加重スケジューリングアルゴリズムはレート保証を満たすために使用されてよい。これらのQoS保証を提供する一方で、適応加重スケジューリングアルゴリズムはかなり高レベルで総スループットを維持するためにも機能し、純粋なPFスケジューリングアルゴリズムが使用されるときに達成される総スループットに近い総スループットを達成する。純粋なPFスケジューリングアルゴリズムとは、DRC/T計算を利用するアルゴリズムを指す。QoS違反のあるフローに特別な資源を与える一方で、適応加重スケジューリングアルゴリズムは公平に使用可能な資源を分散する。それと整合する多様な補償機構がここに示される。
【0080】
図4は、マルチメディアアプリケーションをサポートするシステム800を描いている。本発明が、フローがQoS要件を有する他のシステムにも適用可能であることに再び留意されたい。システム800はパケットデータサービスノード(PDSN)806に結合されるマルチメディアソース802を含む。PDSN806は、基地局コントローラ(BSC)804にも結合される。BSC804は、複数であってもよい。BSC804は基地局トランシーバシステム(BTS)808、810を介して多様なAT812、814、816、818等と通信する。システム800は描かれているものより多いBTSとATを含んでよい。3つのフローが描かれている。つまり、PDSN806、BSC804及びBTS808を介したマルチメディアソース802からAT812への第1のフロー、PDSN806、BSC804及びBTS810を介したマルチメディアソース802からAT816への第2のフロー、及びPDSN806、BSC804、及びBTS810を介してマルチメディアソース802からAT818への第3のフローである。1つのATが複数のフローの宛て先となり得ることに留意されたい。ある例では、エムペグ(MPEG)タイプのアプリケーションの伝送は、音声とビデオを別々のフローに分離する。
【0081】
システム800で送信される各アプリケーションフローは、関連付けられたソースアドレス、宛て先アドレス及びQoS要件を有する。次にアプリケーションフローはソースから宛て先への伝送のためにスケジュールされる。アプリケーションフローは、図4に描かれているものと同様に経路を横切る。
【0082】
各BTS808、810は図5に描かれているようなフローの待ち行列を保持するように適応されている。各BTSが自身の下りリンク(FL)で各アプリケーションフローに対応する一組の待ち行列を保持することに留意されたい。1つのアプリケーションフローは1つのATに向けられる。しかしながら、複数のフローが1つのATに向けられてよいことに留意されたい。各フローは自身に関連付けられるサービスの質グループ(QSG)タイプを有する。各QSGは、QoSパラメータの集合により定義される。あるQSGの各フローは、集合の中のパラメータのそれぞれに対して特定の値を有する。例えば、1つのQSGは遅延及びジッタを含む集合によって定義され得る。このようなQSGのそれらのフローは、遅延及びジッタに関する要件を指定する。待ち行列内のフローのそれぞれについて、BTSは3つの独立の待ち行列を含んだ集合を保持する。つまり(1)オリジナルの伝送待ち行列(Tx)、(2)再送待ち行列(Rx)、及び(3)自動反復要求待ち行列(ARQ)である。一実施形態では、ARQ待ち行列は早期決定ARQなどのBTSとMS間で実行される任意のタイプの再送機構のためのフローを格納する待ち行列に対応し得る。マルチメディアアプリケーションは、遅延限度要件を有するテレビ会議などの遅延に敏感なアプリケーションを含み得る。遅延限度は、ANからの伝送からATによる受信までに許容される指定時間である。適応加重アルゴリズムは、遅延限度要件を満たすため、及びこのようなアプリケーションのIPパケットが経験した平均遅延を短縮するために機能する。レート要件と平均遅延要件の両方を有するアプリケーションの場合、適応加重スケジューリングアルゴリズムはレート要件を満たすため、及び平均遅延を短縮するために機能する。
【0083】
マルチメディアビデオアプリケーションなどのいくつかのタイプのアプリケーションのための別の検討事項は、マルチメディア伝送における連続するパケット間が経る「ジッタ」である。ジッタは受信パケット間の時間の変動を指す。連続波形がわずかに早くまたはわずかに遅く受信機に到達するときにジッタは発生する。無線通信においては、このような波形は、通常、後に受信機で復号される論理1またはゼロを伝達する。ジッタとして定義されるタイミングの変動が、受信される伝送の視覚的な効果を歪ませる。適応加重スケジューリングアルゴリズムは、遅延に敏感なアプリケーションの場合の連続するパケット間の遅延変動だけではなく最悪のケースの遅延変動も削減する。
【0084】
多様なユーザのQoS要件を満足する一方で、適応アルゴリズムは、それらのフローが「準拠しているとき」(conforming)のアプリケーションフローのレート要件を満たすようにも設計される。アプリケーションフローは、予め指定されたトラヒックプロファイルごとにデータを送信している場合に、準拠していると称される。レート要件のあるフローが準拠していない場合、つまりそれらが予め指定されたのより多くのデータをそのトラヒックプロファイルで送信する場合、アルゴリズムはより低いデータレートのフローに、より高い優先順位を与える。適応加重アルゴリズムはここではcdma2000 1xEV−DOネットワークとの関連において説明されているが、本概念及び方法は他のタイプの無線ネットワークにも適用され得る。
【0085】
マルチメディアアプリケーションフローに関して、各フローは(1)トラヒックプロファイル、(2)QoSプロファイル、(3)インターネットプロトコル(IP)ソースアドレス及び(4)IP宛て先アドレスによって定義される。フローは、(5)L4プロトコルタイプ、(6)L4ポート番号、及び(7)L4宛て先ポート番号も含んでもよい。L4はプロトコルスタック内の転送制御プロトコル(TCP)/低信頼(Unreliable)データグラムプロトコル(UDP)層を指す。例えば、MPEGアプリケーションに対応するMPEG音声フロー及びMPEGビデオフローは別々のフローとして処理されてよい。
【0086】
各フローはトラヒックプロファイルによって指定され、それがそのトラヒックプロファイルに適応していることを確実にするために監視または変形される。トラヒックプロファイルは、σとして特定されるバースト性の測度及びrとして特定されるフローの平均データレートを表す変数により定義される。したがって、各フローはトラヒックプロファイル(σ、r)によって記述される。QoSプロファイルは、以下のパラメータの少なくとも1つにより定義される。つまり、(1)IPパケットについて伝送から受信までに対して許容される時間を定義し、「D」として特定される遅延限度。マルチメディアアプリケーションフローの場合、システムは遅延限度を指定することができる。ウェブ閲覧などのいくつかの他のアプリケーションフローの場合、システムは遅延限度の代わりに、あるいは遅延限度に加えて平均遅延(AvgD)を指定することができる。(2)ATでの受信パケット間の時間の最大許容変動を定義し、「j」として特定されるジッタ限度。(3)「R」または「req_rate」として特定されるサービスのレート(つまり要求レート)。
【0087】
遅延限度Dを定義するために、多様なAN要素及び1台のATを含むタイミング図である図6を参照する。マルチメディアフローは、PDSN、BSC及びBTSを介してマルチメディアソース(図示せず)からATに送信される。IPパケットは時間t0でPDSNから送信され、時間t3でATで受信される。パラメータDは、時間t0から時間t3までの最大許容時間を定義する。つまりDはt3−t0の範囲(複数の場合がある)を指定する。
【0088】
ジッタ限度jを定義するために、AN要素及び1台のATを含むタイミング図である図7Aを参照する。第1のパケットはPDSNから時間t1で送信され、ATで時間t1’で受信される。第2のパケットはPDSNから時間t2で送信され、ATで時間t2’で受信される。ジッタ限度jは、連続パケット間の最大許容変動を定義し、変数は(t2’−t1’)−(t2−t1)として与えられる。図7Bは複数のスロット上で送信される連続IPパケットをさらに詳説する。
【0089】
一実施形態では、QoSプロファイルは、QoSスケジューリンググループ(QSG)と呼ばれるグループに分類される。表1は、カテゴリを一覧表示する。
【表1】
【0090】
図8は、適応加重スケジューリングアルゴリズムに従ったフローの処理を例示する。フロー900、902、904及び906は、「S」が付されたスケジューリング装置908によって処理される。スケジューリング装置908は、適応加重スケジューリングアルゴリズムを適用する。適応加重スケジューリングアルゴリズムは、QSGプロファイルがフローのそれぞれに使用される。QSGプロファイルは、下記に詳述されるように、適応加重を計算するために使用される変数を特定する。スケジューリング装置908は、次に、選択されたATにスケジュールされた伝送を出力する。
【0091】
DRC/Tアルゴリズムと呼ばれるPFスケジューリングアルゴリズムが説明される。アルゴリズムにおいて、パケットが、例えばQ1、Q2、...Qmなどのm個の待ち行列へと分類される。DRC[k.n]を、スロットnについてフローkに対応し、移動局によって要求されるDRCとする。スケジューラは、選択メトリックY[.,.]の最高値の付いたフローを選択する。
【数1】
【0092】
Y[k,n+1]は、スロット(n+1)の中の待ち行列Qkのための選択メトリックである。ここで、
【数2】
【0093】
及び
【数3】
【0094】
ここで使用されるtcは時間定数であり、この時間定数で平均が計算される。
【0095】
適応w*DRC/Tアルゴリズム
一実施形態では、「適応w*DRC/T」アルゴリズムと呼ばれる適応加重スケジューリングアルゴリズムは、初期の重みを各フローに割り当てる。フローkに割り当てられる初期重みがwkによって示され、スロットnについてフローkに対応し、ATによって要求されるDRCがDRC[k,n]であると仮定する。適応w*DRC/Tアルゴリズムは、あらゆるスロットnの中のフローkごとに以下のメトリックを計算する。
【数4】
【0096】
ここではフローkとスロットnに関するスループット、Tk[n]は、PFアルゴリズムのDRC/Tについて定義されるとおりである。適応加重スケジューリングアルゴリズムで使用されるように、awk[n]はスロットnのフローkに関する適応重みである。適応w*DRC/Tスケジューリングアルゴリズムは複数のモードで動作し、モードはQSGによって定義される。スロットnのフローkに関する適応重み、awk[n]は、下記に詳説されるように、スケジューラモード及びさらに選択された方針または機構の組に基づいて計算される。式(4)がフローごとに計算され、適応重みが各フローに特定な公式化に従って計算されることに留意されたい。言い換えると、スケジューリングアルゴリズムはあるフローのQoSプロファイルを考慮し、QoSを用いて、フローのための適応重みの計算を行う。このようにして、さまざまなQoS要件を有するさまざまなフローが、異なるように計算される適応重みを有し得る。スケジューリングアルゴリズムは、次にYk[n]という最高値のフローを選択して、スロットnでサービスを提供する。
【0097】
適応w*DRC/Tスケジューラは次のモードで動作する。
【0098】
モードI[aw*DRC/T](r,d,j):遅延及びジッタに敏感で、遅延限度及びジッタ限度に関する厳しい要件を有し、なんらかの最小レートを要求するアプリケーションに対して設計される。
【0099】
モードII[aw*DRC/T](r,d):平均遅延要件及びレート要件のあるアプリケーションに使用される。
【0100】
モードIII[aw*DRC/T](r):指定されるレート要件だけを有するアプリケーションに使用される。
【0101】
モードIV[DRC/T]:QoS計画を指定しないが、DRC/Tアルゴリズムによってサービスの提供を受けるフローのために使用される。
【0102】
QoS要件に基づいて、あるフローに対して、適応w*DRC/Tアルゴリズムの特定のモードが指定されてよい。モードIIは、スケジューラによってそのフローに指定されるスループットを増加するためにあるフローに対して使用されてよい。例えば、モードIIは対応するアプリケーションフローのためのスループットを潜在的に増加するためにFTPアプリケーションのために使用されてよい。
【0103】
アプリケーションをグループ化する、つまりQSGの一例が以下に示される。
【0104】
グループI:遅延限度及び遅延変動に関する厳しい要件のあるボイスオーバIP(VoIP)のようなアプリケーション。多くの場合、このようなアプリケーションはレート要件(複数の場合がある)も有することに留意されたい。スケジューラモードIを使用する。
【0105】
グループII:遅延限度及び遅延変動に関する厳しい要件のあるマルチメディア会議アプリケーション。これらのアプリケーションのいくつかは適応型であっても、一貫した高品質のためにサービスのレートを確実にすることが望ましい。スケジューラモードIを使用する。
【0106】
グループIII:遅延限度、レート及び遅延変動に関する要件のあるビデオストリーミングアプリケーション。スケジューラモードIを使用する。
【0107】
グループIV:レート及び(平均)遅延要件のあるウェブ閲覧アプリケーション、スケジューラモードIIを使用する。
【0108】
グループV:レートのあるFTPアプリケーション、スケジューラモードIIIを使用する。または、遅延制約が緩められたスケジューラモードIIを使用する。
【0109】
グループVI:ベストエフォートアプリケーション、適応加重を使用することなく、PFアルゴリズム、つまりDRC/Tアルゴリズムを使用する。
【0110】
データベーストランザクション、ゲーム及び他のアプリケーションが、それぞれのQoS要件に従って適切なグループに分類されてもよいことに留意されたい。
【0111】
図9は、レベルIとレベルIIを含む(これらに限定されない)複数のレベルを有する適応加重スケジューラを描く。レベルIスケジューラは複数のスケジューラS1、S2、S3,...Smを有し、mはグループの総数を指す。図9の各レベルIスケジューラは適応w*DRC/Tスケジューリングアルゴリズムのある特定の動作モードを実行し、そのグループから1つのフローを選択する。第1に、レベルIスケジューラはYの一部、特にスループットT及びレート補償係数αを計算する。次に、レベルIIスケジューラはフローを検討し、レベルIスケジューラによる選択メトリックYの完全な計算に十分な入力をレベルIスケジューラに供給する。いったんYがすべての未決フローに関して完全に計算されると、レベルIスケジューラはY値を評価し、Yの値が最も高いフローを選択する。各レベルIスケジューラは類似したQoS要件を有するフローのグループを評価する。各レベルIスケジューラの選択されたフローは、次に他のグループからのフローとの比較のためにレベルIIスケジューラに供給される。レベルIIスケジューラはグループごとに1つ選択されたフローを検討し、メトリック(aw*DRC/T)つまりYが最も高いフローを選択する。このプロセスは、スケジューラがサービスを提供するフローを選択する必要があると、スロットごとに繰り返される。別の実施形態は1つのレベルスケジューラを使用してよい、あるいは図9に描かれているより多くのレベルを使用してよい。別の実施形態は別の数のレベルIスケジューラを含んでよく、レベルIスケジューラはフローの編成に応じる。
【0112】
包括的に、適応重み計算は複数のパラメータの関数として与えられ、以下として示される。
【数5】
【0113】
遅延補償関数はΦとして特定される。待機時間パラメータはγとして特定される。レート補償関数はαとして特定される。DRC補償関数はβとして特定される。機能拡張されたジッタ補償係数はδとして特定される。パラメータのすべてがすべてのマルチメディアサービスのための実質的な値を有するわけではないことに留意されたい。例えば、あるフローの唯一のQoS要件が、指定されたデータレートであるときには、変数αが指定され(レートパラメータは実質的な値を有し)、他のすべてのパラメータが値1に等しく設定される。このケースでは、適応重み計算にレートパラメータだけが含まれる。一実施形態では、適応重みは以下のように計算される。
【数6】
【0114】
ここで、演算子は乗算である。以下の説明は、適応重み計算に含まれ得る多様な補償項の詳細を提供する。
【0115】
モードIアプリケーションの場合、QoSプロファイルは式(6)に示されるパラメータのすべてを指定する。適応重み計算は、遅延閾値違反に起因する遅延補償、待機時間閾値違反に起因する遅延補償、レート違反に起因するレート補償、及び機能強化されたジッタ閾値違反に起因する機能強化ジッタ補償を考慮する。概念は、指定されたQoS要件を違反しているフローの重みを増やすことである。QoS要件(複数の場合がある)の違反時にトリガされ、このようなフローにはクレジットが与えられる。クレジットは、遅延補償関数に適切な値でフローの重みを乗算することにより実現される。これは、さらにレート補償及び機能強化されたジッタ補償によって乗算される。
【0116】
対照的に、フローが過剰なサービスを享受していると考えられるときには、このようなフローがペナルティを課される可能性がある。フローは種々の方法のどれかでペナルティを課され得る。ある方法によれば、フローはフロー重みを減ずることによって直接的にペナルティを課され得る。別の方法によれば、フローは遅れをとっている他のユーザ(つまり必要とされるQoSを達成していないフロー)の重みを増加する一方で、フロー重みを維持することによって間接的にペナルティを課され得る。
【0117】
遅延閾値の違反(複数の場合がある)の埋め合わせを行うために遅延補償を計算するための種々の機構がある。フローkに関する遅延閾値がdth_φkによって示され、スロットnのフローkに関する遅延閾値違反に起因する遅延補償がφk[n]によって示されると仮定する。遅延補償φk[n]を計算するために、フローごとに3つすべての待ち行列(つまりTx、RTx及びARQ)内のパケットを考慮する。
【0118】
フローが複数のスロットを連続して消費したり、他のフローを飢えさせたり(starve)しないことを保証するために、φに対する最大閾値と最小閾値も、フローごとに指定される。これは、遅延閾値違反によるフローの遅延補償項が最小閾値と少なくとも同程度に有効であることを確実にするためにも設定される。φthres,min,k及びφthres,max,kをフローkについて指定される最小閾値と最大閾値とする。この結果、(すべてのkとすべてのnについて)以下となる。
【数7】
【0119】
以下の定義が使用されて、遅延補償の計算が進められる。
【0120】
D[n]:スロットの始まりで遅延閾値違反を経験するフローの集合を定義する(つまり、このようなフローのそれぞれは、そのフローの遅延閾値を越えた、少なくとも1個のパケットを、スロットnの始まりにおいて有する)。
【0121】
defpktsk[n]:スロットnの始まりでのフローkにについて「不足(deficit)」パケットを定義する。不足パケットとは、フローの中でまだ送信されていないパケットであり、defpktsはフローkに関して遅延閾値より長くBTSに留まった、
等しいサイズの(MAC)パケット数として特に定義される。
【0122】
required_ratek:フローkの要求レートを定義する。
【0123】
ndefpktsk:以下のように特に定義される、フローkについて正規化された不足パケット数を定義する。
【数8】
【0124】
BTS、BSC及びPDSN内のパケットが等しくないサイズあるかも知れなく、したがってパケットの代わりにここで不足ビット数をカウントすることは有益であることに留意されたい。
【0125】
フローのHOLパケットが事前に指定された閾値より長い時間期間の間BTS待ち行列にある場合、フローは以下の機構を使用して補償され得る。この目的で使用される待機時間閾値は、φを計算するために使用される閾値以上でなければならない。フローkに関する待機時間閾値はdth_γkによって示され、待機時間閾値はdth_γk≧dth_φk、∀kによって制約される。フローのHOLパケットを選択するために、最初にフローのTx待ち行列、RTx待ち行列及びARQ待ち行列からのHOLパケットを検討し、BTSでの待ち時間に基づいて待ち行列を選択する。つまり最も長い期間BTS内で待機している待ち行列を選択する。γk[n]をスロットnの始まりにあるフローkに関する待機時間補償とし、Sk[n]をスロットnの始まりでフローkのHOLパケットがBTS待ち行列で費やした時間とする。フローkごとに、また、最小閾値Sthres,min,k及び最大閾値Sthres,max,kが指定され、
【数9】
【0126】
を満たす。
【0127】
一実施形態によれば、フローが遅延閾値違反または待機時間閾値違反を経験しているときに、遅延補償が適用される。この機構はDRCデータレート要求を適応重みに適用する。βk[n]をスロットnでのフローkについてのDRC調整関数とする。フローkごとに、最小閾値βtmin,thres,k及び最大閾値βmax,thres,kが指定され、
【数10】
【0128】
を満たす。
【0129】
前述された補償機構が、映像/音声会議などのいくつかの用途のためのフローの遅延変動を削減するのに役立つ一方、遅延変動(ジッタ)制御をより効果的に含み、遅延変動をさらに削減することが望ましい場合がある。以下の機構は、フローの連続パケット間の遅延変動を削減することによって効果的な遅延変動制御を提供する。さらに大きなIPパケットサイズのフローはこの補償機構からより多くの利点を得る。
【0130】
at(k,j)がBSCの進入時にフローkのIPパケットjの到着時間であると仮定する。dt(k,j)を、BTSからのこのIPパケットの出発時間とする。つまり、このときまでに、このIPパケットのすべての部分はBTSにおける下りリンクスケジューラによって送信されている。pendk,j[n]をBTSとBSCでのフローkのIPパケットjのバイト単位での総長とする。また、dvk,targetがフローkについての連続IPパケット間のターゲット遅延変動(ジッタ)であり、dvk,thresがdvk,thres<dvk,targetとなるようにこのフローについて事前に指定された機能拡張ジッタ閾値である。一実施形態では、アルゴリズムは、連続IPパケット間の遅延変動がdvk,thresを超えるときにフローkの機能強化された変動補償機構をトリガする。
【0131】
図10は一実施形態に対応するアーキテクチャ図を提供する。各アプリケーションフローは、トラヒックプロファイル、QoSプロファイル及びDRC要求、つまり要求データレートによって説明される。各トラヒックプロファイルはバースト性の測度及び平均データレートを含む。各QoSプロファイルは、クラスタイプ及びパラメータ限度を含む。クラスタイプはモードI、モードII、モードIII、またはモードIVの内の1つであってよい。限度は遅延、ジッタ及び要求データレートの限度を指定する。ウェブ閲覧などのいくつかのアプリケーションは遅延限度の代わりに平均遅延を指定してよい。モードIに関する遅延閾値はジッタ限度未満となるように選ばれ、モードIIの場合、遅延閾値は平均遅延未満となるように選ばれる。機能拡張されたジッタ閾値はジッタ限度未満となるように選ばれる。別の実施形態では、各アプリケーションフローにさらに多くのまたはさらに少ない情報を適用してよく、QoS要件はネットワーク及び構成に固有であってよい。
【0132】
図11は、クラスタイプごとのQoS要件及びQoSパラメータを明記する表である。示されているように、モードIVが、QoS要件が指定されないベストエフォートに対応する一方、モードIは最も厳しい要件に対応する。別の実施形態は他のQoS要件、QoSパラメータ及び/またはモードを含んでよい。
【0133】
図12Aから図12Eは、アプリケーションフローの処理及びアクティブなアプリケーションフローの一部としてのそのアプリケーションフローのスケジューリングを描いている。図12Aは、個々のアプリケーションフローのための初期化及びセットアップを描く流れ図である。プロセスは、ステップ1100で開始して補償パラメータごとに使用される機構を選択する。補償パラメータは、遅延(Φ)、未決時間(γ)、DRC(β)、ジッタ(δ)、及びレート(α)を含むが、これらに限定されない。ステップ1102では、適用可能な補償パラメータに関する閾値が選択される。補償パラメータがANにとって重要なアプリケーションフローの任意のパラメータを含む場合があることに留意されたい。ステップ1102では、中間重みを計算するためのアルゴリズムが選択される。中間重みは、スケジューリングのために使用される適応重みを計算する上で使用される。ステップ1106では、適応重みを計算する上で使用されるスケーリングパラメータ(C)及び優先順位係数(Z)の両方が設定される。ステップ1108では、このアプリケーションフローの初期重みが設定される。ステップ1110では、アプリケーションフローのQoS要件が評価される。DRC要求により特定されるレート以外に指定されるQoS要件がない場合、デフォルト条件が使用される。デフォルト条件は前述されたように「ベストエフォート」と呼ばれる。この場合、デフォルト処理によって、このアプリケーションフローに使用される補償係数のすべては1に等しく設定される。本実施形態の場合、このケースでは、式(6)の計算で乗算演算子が使用され、したがって係数を1に設定すると、結果、それらの係数が無視される。つまりそれらの係数は加重に影響を及ぼさない。別の実施形態では、他の機構及び関数を実現してよく、したがって特殊な係数またはすべての補償係数を無視するために他の機構を使用してよいことに留意されたい。
【0134】
ステップ1112と1116でベストエフォート処理が続行する。結果として生じるスケジューリング係数の計算は、比例公平計算と一致している。アプリケーションフローがQoS要件を有する場合、処理はステップ1114に続行する。ステップ1114と1116は、以後の図で続行される処理を示す。
【0135】
図12Bはステップ1114から図12Aの処理を続行する。ステップ1120で、現在のスロットの処理が開始する。ステップ1122では、アプリケーションフローのクラスタイプとしての決定が下される。モードIはステップ1128で処理され、モードIIはステップ1126で処理され、モードIIIはステップ1124で処理される。モードIのQoSパラメータはステップ1128で監視される。モードIIのQoSパラメータはステップ1126で監視される。モードIIIのQoSパラメータはステップ1124で監視される。次にQoS違反チェックが、図12C及び図12Dにさらに詳説される、ステップ1130、1140及び1150で行われる。
【0136】
アプリケーションフローの処理は、モードI、IIまたはIIIアプリケーションに関しては、図12Cのステップ1130に続行する。ステップ1132では、アルゴリズムはレート違反がないか周期的に監視する。レート補償計算が周期的に実行され、それ以後複数のスロットについて使用されることに留意されたい。レート違反がステップ1134で検出されると、処理はステップ1138に続行して補償係数(α)を計算する。さもなければ、レート補償係数(α)はステップ1136で1に等しく設定される。次に処理は図12Eにさらに詳説されるステップ1160に続行する。
【0137】
アプリケーションフローの処理は、モードIまたはIIアプリケーションに関しては、図12Cのステップ1140に続行する。ステップ1142では、方法は各スロットで遅延違反及びジッタ違反がないか監視する。遅延及び/またはジッタ違反がステップ1144で検出されると、処理はステップ1148に続行し、初期化時に選択される機構に従って遅延補償係数(Φ)を計算する。機能拡張されたジッタ補償を要求したモードIフローの場合には、機能拡張されたジッタ補償係数(δ)も次いで計算される。機能拡張されたジッタ補償を要求しなかったモードIフローの場合、及びモードIIフローの場合、δは1に等しく設定される。または、遅延補償係数(Φ)はステップ1146で1に等しく設定され、δは1に等しく設定される。処理は、次に図12Eにさらに詳説されるステップ1160に続行する。モードIまたはIIアプリケーションフローの場合、違反チェックは直列または並行して行われてよい。言い換えると、レート違反及び遅延/ジッタ違反のチェックは時間的に連続して、または同時に実行されてよい。
【0138】
アプリケーションフローの処理は、モードIアプリケーションに関しては、図12Dのステップ1150に続行する。ステップ1152では、方法は待機時間違反がないか監視する。待機時間違反がステップ1154で検出されると、処理は、ステップ1158に続行して初期化時に選択された機構に従って待機時間補償係数(γ)を計算する。さもなければ、待機時間補償係数(γ)はステップ1156で1に等しく設定される。処理は、次に図12Eにさらに詳説されるステップ1160に続行する。モードIアプリケーションフローの場合、違反チェックが直列または並行して行われてよいことに留意されたい。言い換えると、レート違反、遅延/ジッタ違反及び待機時間のチェックは時間的に連続してまたは同時に実行されてよい。
【0139】
図12Eは、ステップ1160及びステップ1116からの処理を描いている。ステップ1162は、以下に示されるように、QoSパラメータ及び補償係数の関数としてアプリケーションフローの適応重みを計算する。
【数11】
【0140】
ステップ1164では、スケジューリング係数またはスケジューリングメトリックが、以下のように計算される。
【0141】
スケジューリング係数=aw*(DRC/T) (10)
スケジューリングアルゴリズムは、次にアクティブなアプリケーションフローのそれぞれに関して計算されるスケジューリング係数に従ってアプリケーションフローをスケジュールする。
【0142】
図13は、一実施形態によるスケジューリングアルゴリズムを適用するよう適応されたBTS1200を描いている。BTS1200は、それぞれが通信バス1210に結合されるスケジューリング装置1202、アプリケーションフロー処理装置1206、QoSパラメータ評価1204、適応重み計算装置1212、及びCPU1208を含む。スケジューリング装置1202はアプリケーションフローごとにスケジューリング係数を作成し、次にスケジューリング係数に従って多様なアクティブなアプリケーションフローから選択することによりスケジューリングを実行する。所与のシステムの方針及び目標はスケジューリングアルゴリズムに組み込まれる。QoSパラメータ評価1204はQoS違反がないか監視し、情報をスケジューリング装置1202と重み計算装置1212に提供する。アプリケーションフロー処理は、パケットを宛て先ATに向けることと、宛て先ATからスケジューリングのために使用されるQoS情報を受け取ることと、QoSパラメータ評価1204にこのような情報を供給することとを含む(これらに限定されない)処理を実行する。BTS1200は、中間情報を記憶し、平均、フロー待ち行列等を計算するために使用されるデータを保持するためのメモリ1214も含む。違反チェックはBTSで実行される。一実施形態は、フローごとに送出されるバイト数をカウントし続け、それをレート違反チェックに使用する。各パケットは、BSCに到達するとタイムスタンプを刻印される。パケットがAN、BSCまたはBTSに留まっている限り、時間は増分し続ける。BTSは閾値違反の検出のためにこの時間を使用し、次に、フローに従って遅延関数、待機時間関数、または機能強化されたジッタ補償関数を計算する。
【0143】
許可制御
許可制御とは、データサービスを要求するユーザにエントリを許可する際の決定プロセスを指す。新規ユーザがQoS要件を有するアプリケーションなどのデータサービスを要求すると、ANはこのような使用をサポートするために使用可能な資源があるかどうかを判断する。許可プロセスは、QoS統計とネットワーク統計だけではなく、要求されたアプリケーション、現在の使用量も考慮する。ANが新規ユーザがサポートされてよいと判断すると、対応するアプリケーションフローが許可される。または、現在使用可能な資源がない場合には、アプリケーションフローは、拒絶されるか、待ち行列に入れられ、ステータスの変化を待つ。新規ユーザが実際には追加のサービス、つまり追加のアプリケーションフローを要求している現在アクティブなアプリケーションフローを有しているユーザであり得ることに留意されたい。
【0144】
許可制御に加えて、及び許可制御の一部として、アクティブアプリケーションフローを終了するために先処理のプロセスが実現されてよく、そこでは現在の動作状態が先処理決定を下すために評価される。この場合、現在のフローのそれぞれは、データレートだけではなくQoS違反についても評価される。
【0145】
本項は、適応セクタ単位許可制御アルゴリズムを提示する。このような許可制御アルゴリズムは、ある無線マルチメディアネットワークでフローを許可する(つまり先処理する)かどうかを決定する。したがって、あるネットワークで許可されてよい(各クラスの)フロー数を決定することが可能である。本明細書で提示されている許可制御アルゴリズムの実施形態は、ユーザ間、及びユーザ内のQoS監視を実行するための機構を含み、次にこの情報を許可及び/または先処理決定に利用する。このような実施形態は、フロー単位及びユーザ単位のQoS要件が許可されたフロー及びユーザについて満たされていることを確実にするように設計されている。このような機構は許可制御アルゴリズム及び階層スケジューリングアルゴリズムの調整を容易にする。
【0146】
スケジューリング及び許可制御は、無線ネットワークの下りリンク(FL)QoS管理の一部であり、このような管理は複雑な課題である。QoS管理は通信網の設計及び運用における重大な検討事項である。アプリケーションフローはシステムにより定義されるような基準に従って分類される。一実施形態では、この分類はQoS要件に従っている。第1に、許可制御は現在の動作状態の元で許可され得るフローの数を決定する。このフローの数は次にクラス単位のフロー数に分割される。システムは、次にそれぞれの許可されているフローについてQoS要件を満たすために動作する。フロー数が経時的に、及びアプリケーションのタイプにより動的に変化し得ることに留意されたい。例えば、第1の時点で、アクセスネットワーク(AN)は、特定数のフローが各タイプのアプリケーションに対して許可されている第1のシナリオをサポートしているかも知れない。第2の時点で、ANは、異なる数のフローがアプリケーションのタイプの内の少なくとも1つに対して許可される第2のシナリオをサポートしているかも知れない。
【0147】
スケジューラ(つまりスケジューリングアルゴリズム)は、許可されたフローの間で公平を期す方策を実施する。スケジューラは、さらにQoS違反を有するフローの優美な回復を実行しようと努める。運営者の収益及び利益は、使用されるスケジューリングアルゴリズムの有効性に依存している。さらに効率的で機能豊富なアルゴリズムはこれらの利益を増加するための機会を与える。
【0148】
許可制御に関して、一実施形態では、加入係数に基づいた方法が実現される。加入係数に基づいた方法が多くの場合有線(wireline)ネットワークのための許可制御アルゴリズムで使用されることに留意されたい。無線ネットワークでは、各ユーザのチャネル状態は変化し続けるため、BTSスケジューラから見た下りリンク容量も変化し続ける。有線加入係数に基づいたアルゴリズムは不変のリンク容量を仮定しているため、無線ネットワークではそのまま適用できない。
【0149】
無線ネットワークの場合、一実施形態では、FL管理のための適応加入係数(ASF)に基づいた許可制御アルゴリズムが提供され、そこではネットワークはQoS要件を有する複数のアプリケーションフローがサポートされる。無線ネットワークにおけるASF許可制御により、QoS統計及びネットワーク統計を監視することにより加入係数が動的に更新される。多様な機構が使用されて更新機能が実行される。したがって、適応加入係数を使用して補正処置を講じることが可能である。さらに、ASFは先処理法を実現するために使用される。
【0150】
ASF、AS(t)は毎時tに計算される。プロセスは、AS(t)が1<ASmin_prespecified≦AS(t)≦ASmax_prespecified<∞,∀tとなるように、AS(t)についての最小閾値ASmin_prespecifiedと最大閾値ASmax_prespecifiedを求める。初め、値SinitialがASFに割り当てられ、その結果AS(0)=Sinitialとなる。
【0151】
図14は、最大データレート、予約帯域幅、及び使用可能な帯域幅を時間の関数としてプロットするタイミング図である。BTSが下りリンクでデータを送信し得る最大レート(Lmax)は、資源の割り当てのための上限となる。アクティブなアプリケーションフローが評価されて予約済み帯域幅Res(t)が決定される。QoS違反及びネットワーク負荷関連の統計を使用して、時刻tで予約されることが所望される適応加入係数及び下りリンク容量の推定値L(t)の計算が実行される。L(t)≦Res(t)であり得ることに留意されたい。例えば、許可フローがそれらが許可されたときに非常に良好なチャネル状態を享受していたと仮定する。いま、複数のフローのチャネル状態が悪化し、いくつかのフローは関連付けられたQoS保証を達成していない。この場合、システムはさらに多くのフローを許可することに控えめになり、Avail(t)=0と設定することを所望し得る。他方、L(t)>Res(t)の場合、システムはAvail(t)=L(t)−Res(t)と設定し得る。したがって、値L(t)は過去のQoS違反統計及びネットワーク負荷関連統計に基づいて時刻tにおいて予約されることが所望される下りリンク容量の推定値であり、LmaxとASFの関数として以下のように計算される。
【数12】
【0152】
制約が付き、
【数13】
【数14】
【0153】
である。使用可能な帯域幅Avail(t)は以下のように計算される。
【0154】
Avail(t)=maximum (L(t) - Res(t), 0) (14)
図14に描かれているような資源の多様な測度は、ユーザから受信されるデータレート制御(DRC)データ要求により決定される。各ユーザは、上りリンクでDRCデータ要求を送信する。cdma2000 1xEV−DOまたは他のHRPDタイプのシステムでは、ユーザはRL伝送の各スロットでDRCデータ要求を送信する。描かれているように、ユーザ1からのデータ要求(DRC 1)及びユーザ2からのデータ要求(DRC2)は経時的に変化する。データ要求及び所要のQoSは予約帯域幅(Res)を決定する。DRC値とResの関係が説明図として示されることに留意されたい。別の実施形態及びシナリオは別の関係を招き得る。
【0155】
各アプリケーションフローは、平均レート及びバースト性という点で特定されたトラヒックプロファイルを有し、フローfkのトラヒックプロファイルは(σk,rk)で与えられる。ここでは、rkはフローfkについての平均要求レートであり、σkはバースト性の測度であり、フローfkについての要求レートはreq_rate(fk)=rkで与えられる。
【0156】
一実施形態によれば、許可制御は、許可のために、フローfkを評価する。許可制御は、最初に、フローfkに対応する、ユーザについての観察されたDRCu(fk)を適用して要求レートを満足させる。観察されたDRCは以下のように、そのユーザについての平均DRCデータ要求以下である。
【数15】
【0157】
ASF、AS(t)の計算が行われ、次にこれらを用いてAvail(t)が以下のように計算される。
【数16】
【0158】
最後に、時刻tでのフローfkに対する許可の決定を検討する。
【数17】
【0159】
フローfkが許可されると、図14に描かれているような資源の測度は以下のように更新される。
【数18】
【数19】
【0160】
ANは、すべての許可されたフローについてQoS統計を監視し続け、ネットワーク関連統計を監視し続ける。この監視は、加入係数を適応するためのフィードバックを供給する。
【0161】
AS(t)についての適応方法:セクタ単位のQoS統計及びネットワーク統計
図18Aから図18Eは、QoS要件を有する複数のアプリケーションフローをサポートするシステムの許可制御のための方法300の流れ図を提供する。図18Aでは、新しいフローのための要求が判断菱形302でANによって受け取られると、許可制御手順がステップ304で稼動される。さもなければ、プロセスは新規フロー要求を待つ。この時間の間、ANは、現在の動作状態を監視し続けて現在アクティブなフローに関するQoS統計及びフローについてのネットワーク統計を進展させることに留意されたい。許可制御手順は、新しいフローをサポートするために資源が使用可能であるかどうかを判断する。図14に描かれているような資源の測度はステップ305で更新される。新しいフローが判断菱形306で許可された場合に、処理は適応スケジューリングプロセスの適用のためにステップ307に続行する。
【0162】
ステップ304の許可制御手順は図18Bにさらに詳説される。判断菱形308で、フローfkについての要求レートがフローfkについての平均DRCデータ要求より大きい場合、処理はステップ312に続行してフローfkのエントリを拒絶する。さもなければ、処理は、判断菱形310に戻ってfkについての要求レートが時刻tでの使用可能な資源Availを上回っているかどうかを判断する。要求レートがAvail未満である場合には、フローはステップ314で許可される。さもなければ、フローはステップ312で拒絶される。
【0163】
ステップ305の資源の測度の更新は、図18Cにさらに詳説される。ステップ320では、資源の測度Avail及びResが更新される。QoS統計はステップ322で更新され、監視される。ASFはステップ320と322の結果に基づいてステップ324で更新される。推定された資源レベルLはステップ326で計算し直される。新しいフローがステップ328で要求されると、処理は図18Aのステップ304で処理のために戻る。新しいフローがステップ328で要求されない場合には、セクタ内のユーザの存在がステップ330でユーザごとに決定される。ステップ332では、サンプル持続期間が決定される。
【0164】
図18Dに続行して、QSGパラメータがフローごとに選択される。2つの平行な処理経路が考慮される。第1の経路はレートサンプル間隔でステップ342でレート違反を処理する。レートサンプル間隔はステップ332で計算されるサンプル持続期間を上回っていることに留意されたい。第2の経路はアクティブフローの処理を詳説する。あるフローに関して、プロセスはステップ344でサンプル持続期間中における遅延違反を有するIPパケットの割合を求める。ステップ346では、サンプル持続期間中におけるジッタ違反のあるIPパケットの割合が検討中のフローについて計算される。サンプル持続期間中にフローによって使用されるスロットの割合がステップ348で計算される。ステップ350では、プロセスはサンプル持続期間中にQoS要件を有するフローに与えられるスロットの割合を決定する。ステップ352では、プロセスはQoS違反がないかチェックし、ステップ354でQoSグループIDを決定する。
【0165】
処理は、図18Eに続行し、ここでステップ360がQoSグループごとにフロー数を計算する。ステップ362では、プロセスは各QoS統計に対応するQoSフローの割合を計算する。ステップ360と362の結果は、ステップ364での所定閾値と比較される。閾値が演算中動的に更新され得ることに留意されたい。ステップ366ではASFは相応して調整される。
【0166】
図18Aから図18Eは許可制御方法の一実施形態を示す。許可制御方法のさらなる詳細が以下に後述される。BTSなどのAN要素は、フローごとのセクタ単位の統計を収集し、セクタ単位の許可制御及び先処理アルゴリズムのためにこの情報を使用する。セクタ単位の統計は、そのフローに対応するユーザがそのセクタ内にいる持続期間の間だけ収集される。BTSはQoS統計及びネットワーク関連統計を周期的に収集する。Tを、これらが収集された後の時間期間とする。Zはサンプル指数t=Z*Tである。
【0167】
セクタsのフローfkを考慮する。u(fk)はフローfkに対応するユーザである。ユーザは時刻tenterでセクタsに入る。資源がセクタs内の持続期間[treserve(fk,s),tfree(fk,s)]の間、このフローのために予約される。ここで、資源は時刻treserveに予約される。ユーザがアプリケーションサービスを要求した時点で資源が予約される。ユーザu(fk)はtenter,j(fk,s)に持続期間内でj回目のセクタsへの進入を行い、tleave,j(fk,s)にj回目の退出を行う。したがって、treserve(fk,s)≦tenter,first(fk,s)及びtfree(fk,s)≧tleave,last(fk,s)となる。ANが、ユーザが将来のなんらかの時点でこのセクタに移動する可能性があると予想して、QoSシグナリングプロトコルを介してフローのための資源を予約するように命じられることがあり得ることに留意されたい。ここでは、tenter,first(fk,s)は、ユーザu(fk)がこのセクタsに入る初めてのときであり、tleave,last(fk,s)は、このユーザがフローfkが有効な間にセクタsを退出する最後のときである。
【0168】
アルゴリズムは、時刻tの時点で以下の条件が満たされる場合にだけ、時刻tにおいてQoS統計およびネットワーク関連性能統計を考慮に入れる。
【数20】
【数21】
【数22】
【0169】
ここではδ(fk)及びθ(fk)はフローfkについて事前に指定され、IN_IP_PKTS(fk,t,s)は、セクタs内の期間(max(t−T,tenter_latest(fk,s)),t)中のBTS下りリンクスケジューラによる伝送が予定されるフローfkについての入力IPパケットの数である。IPパケットの最後のビットがセクタs内で伝送されると、そのビットはセクタについてのIN_IP_PKTSでカウントされる。変数δ(fk)は、その後セクタ内での存在が示唆される時間を指す。言い換えると、いったんユーザがδ秒セクタsの中にいると、プロセスは資源の評価を開始する。いったん許可されると、ユーザは再許可を必要とせずにセクタを退出し、セクタに最進入することができる。
【0170】
QoS統計及びネットワーク統計は、次に、アプリケーションサービスを要求するフローごとの許可基準を評価するために使用される。期間(max(t−T,tenter_latest(fk,s)),t)でのセクタs内のフローfkに対応する遅延したIPパケットの割合は以下のように計算される。
【数23】
【0171】
ここで、DELAYED_IP_PKTS(fk,t,s)は時刻tまでにセクタsについてBTSでのフローfkの対応する遅延限度を超えて遅延したIPパケットの数に相当する。セクタsでのIPパケットについての遅延違反の検出時、そのセクタについての遅延違反のカウントが増分される。時刻tまでのフローfkについてのジッタ限度違反を有するIPパケット組の割合は以下のように計算される。
【数24】
【0172】
ここで、JTR_VIOL_PKT_PAIRS(fk,t)は、フローfkについての、スロットtによるジッタ限度違反のある(連続IPパケットの)IPパケット組の数に相当する。これは、あるセクタについて、あるフローに関する2個の連続IPパケットがあるセクタで送信されるときにカウントされる。
【0173】
期間(tenter_latest(fk,s))の間のフローfkのレート違反は
【数25】
【0174】
であり、req_rate(fk)>served_rate(fk,t,s)である。それ以外の場合、フローfkに時刻tでのレート違反がないときには、期間(tenter_latest(fk,s),t)の間のセクタsのフローfkについてのserved_rate(fk,t,s)が計算される。
【0175】
遅延及びジッタの違反の場合には、プロセスは期間(max(t−T,tenter_latest(fk,s)),t)としてサンプル持続期間を適用するが、レート違反の場合、プロセスは期間(tenter_latest(fk,s),t)としてサンプル持続期間を適用することに留意されたい。
【0176】
期間(max(t−T,tenter_latest(fk,s)),t)の間にフローfkによって使用されるスロットの割合は、以下のように計算される。
【数26】
【0177】
ここで、SERVED_SLOTS(fk,t,s)は、フローfkが(max(t−T,tenter_latest(fk,s)),t)によって定義される期間中サービスを受けたスロット数であり、IN_SECTOR(fk,t,s)は期間(max(t−T,tenter_latest(fk,s)),t)の間のスロットの総数である。期間(t−T,t)の間にセクタsでQoS要件を有するフローに与えられるスロットの割合は、
【数27】
【0178】
のように示される。
【0179】
動的フロー分類
フローfkごとに、以下の4つの閾値が事前に指定され、フロー単位のQoSチェック及びチャネル状態関連チェックを実行するために使用される。
【0180】
Frac_delayed_IP_pkts_thres(fk)、
Frac_jitter_viol_IP_pkts_thres(fk)、
rate_viol_thres(fk)、及び
Frac_slots_viol_thres(fk)
システムは期間Tの後ごとに周期的にASFを適応させる。Tは事前に指定された値である。Z回目の適応チェックが実行されるある時刻t(つまり、t=Z*T)で、プロセスはセクタsで予約されたいくつかの資源を有するフロー、つまりtreserve(fk,s)≦t≦tfree(fk,s)であるそれらのフローを検討する。このフローの組からのフローfkごとに、以下の「フロー単位閾値チェック」を評価するためにチェックが行われる。
【数28】
【数29】
【数30】
【数31】
【0181】
前記4つのチェックは、以下の2つの条件が満たされる場合にフローfkについて実行される。
【数32】
【数33】
【0182】
条件(32)、(33)の少なくとも1つがあるフローについて満たされないが、treserve(fk,s)≦t≦tfree(fk,s)が真であるときには、このフローについての閾値チェックの結果がそのフローについてNAであると記される。
【0183】
プロセスはQoS、サンプル持続期間中、要件を有するフローについて使用されるスロットの割合を計算し、この割合の値についての閾値も計算する。Frac_slots_thres_quos_flows(s)はセクタsの期間TでQoS要件を有するフローに割り当てられるスロットの割合に対する上限閾値である。Frac_slots_thres_quos_flows(s)の値は、
【数34】
【0184】
かどうかをチェックするために使用される。
【0185】
プロセスは、現在のフローを以下のQoSスケジューリンググループ(QSG)の1つに分類する。
【0186】
QSG IまたはQ_DJR:遅延要件、ジッタ要件、及びレート要件を有するフロー
QSG IIまたはQ_RavgD:レート要件及び平均遅延要件を有するフロー
QSG IIIまたはQ_R:レート要件を有するフロー
Q_DJRクラスに属するフローの組を考えてみる。所与のフローfkがNAカテゴリの資格を有しておらず、
【数35】
【0187】
または
【数36】
【0188】
のどちらかを有する場合、このフローはdelay_or_jitter_viol(fk,t,s)=Yを有するとして指定される。それ以外の場合、プロセスはこのフローについてdelay_or_jitter_viol(fk,t,s)=Nを設定する。他方、このフローがNAの資格を有している場合、delay_or_jitter_viol(fk,t,s)=NAである。
【表2】
【0189】
AS(t)の適応チェックが実行される時刻tのたびに、プロセスはQoSフロー、つまりQoS要件を有するフローを表2に示すように分類する。各フローはQoS Stat GroupID(QS_GID)を割り当てられる。
【0190】
QS_GID=1:レート及び遅延(またはジッタ)違反を有するQ_DJRクラスのフロー
QS_GID=2:レート違反のない遅延(またはジッタ)違反を有するQ_DJRクラスのフロー
QS_GID=3:遅延及びジッタ違反はないが、レート違反を有するQ_DJRクラスのフロー。このケースは適応アプリケーションについて発生する可能性がある。また、レート違反を有するQ_Rクラス及びQ_RavgDクラスに対応するフローがこのグループに割り当てられる。
【0191】
QS_GID=4:QoS(レート、遅延、及びジッタ)違反がないフロー。NAカテゴリ内のフローも、前述されたように、このグループに入れられる。
【0192】
加入係数の適応
Nk(t,s)を時刻tでのQSG kに対応するフローの数とし、N(t,s)を時刻tでの、セクタsにおいていくつかの資源を予約されているフローの総数とする。
【数37】
【0193】
Mに、QoS statグループid(QS_GID)を示させ、その結果、
【数38】
【数39】
【数40】
【0194】
が生じる。
【0195】
(セクタs内の)時刻tにおけるQoS statグループMにおける、フローkのQSGに対応するフローの割合、QSG kは、以下のように与えられる。
【数41】
【0196】
時刻tにおける、遅延(またはジッタ)及びレート違反のあるフローの割合は以下のように示される。
【数42】
【0197】
時刻tにおける、遅延(またはジッタ)違反はあるが、レート違反はないフローの割合は以下のように示される。
【数43】
【0198】
時刻tにおける、レート違反だけのあるフローの割合は以下のように示される。
【数44】
【0199】
QoS違反の無い(またはNAカテゴリに入る)フローの割合は以下のように示される。
【数45】
【0200】
S(t)の適応は、事前に指定される期間Tの後に周期的に行われる。適応を行うために、上記グループは以下のように考えられてよい。
【表3】
【0201】
以下の閾値は事前に指定され、以下に示される適応方法で使用される。
【0202】
Frac_flows_thres_DJR:遅延(またはジッタ)及びレート違反のあるフローの割合に対する閾値
Frac_flows_thres_DJ:遅延(またはジッタ)違反はあるが、レート違反はないフローの割合に対する閾値
Frac_flows_thres_R:レート違反がある(遅延違反またはジッタ違反はない)フローの割合に対する閾値
Frac_flows_thres_ok_qos:QoS違反がないフローの割合に対する閾値
プロセスは、適応チェックがAS(t)について実行されるそれぞれの瞬間に以下の順序で続行する。
【0203】
ステップ1:Frac_flows_DJR_viol(t,s)≧Frac_flows_thres_DJRの場合:
AS(t+)=fqos*AS(t)+xqos、その結果AS(t+)≧AS(t)である。ここでは、fqosとxqosは事前に指定される。それ以外の場合。
【0204】
ステップ2:Frac_flows_DJ_viol(t,s)≧Frac_flows_thres_DJの場合:
AS(t+)=fdelay_jitter*AS(t)+xdelay_jitter、その結果AS(t+)≧AS(t)である。ここでは、fdelay_jitterとxdelay_jitterは事前に指定される。それ以外の場合、
ステップ3:Frac_flows_R_only_viol(t,s)≧Frac_flows_thres_Rの場合、AS(t+)=frate*AS(t)+xrate、その結果AS(t+)≧AS(t)である。ここでは、frateとxrateは事前に指定される。それ以外の場合、
ステップ4:Frac_flows_no_na_viol(t,s)<Frac_flows_thres_ok_qosの場合、AS(t+)=fall_qos_flows*AS(t)+xall_qos_flows、その結果AS(t+)≧AS(t)である。ここでは、fall_qos_flowsとxall_qos_flowsは事前に指定される。それ以外の場合、
ステップ5:Frac_flows_no_na_viol(t,s)≧Frac_flows_thres_ok_qosの場合、及びfrac_slots_qos_flows(t,s)<Frac_thres_slots_qos_flowsの場合:
AS(t+)=fok*AS(t)+xok、その結果AS(t+)≧AS(t)である。ここでは、fokとxokは事前に指定される。それ以外の場合。
【0205】
ステップ6:Frac_flows_no_na_viol(t,s)≧Frac_flows_thres_ok_qosの場合、及びfrac_slots_qos_flows(t,s)≧Frac_thres_slots_qos_flowsの場合、AS(t+)=AS(t)
先処理方式
図19は、一実施形態による先処理方法400を描いている。方法400は、ASFが判断菱形402で増加したかどうかを判断することにより開始する。ASFの増加が検出されると、処理は、ステップ404に続行して最も多いレート違反数を有するフローを決定する。言い換えると、ASFが増加すると、先処理方法400は先処理のために、それらのフローの特定を開始する。本実施形態では、レート違反のあるフローが先処理のための最善の候補として特定される。別の実施形態では、他のフローに優先順位が付けられてよく、優先順位方式を動的に変更されてよい。
【0206】
判断菱形406で先処理最大値、PMAX(以下に詳説される)に達すると、処理は最も多い遅延違反数を有するフローを先処理ためにステップ408に続行する。さもなければ処理は判断菱形402に戻る。ステップ408でフローを先処理後、処理は最も多い遅延違反数を有するフローが複数あるかどうかを判断するために判断菱形410に続行する。複数のフローの場合、処理はステップ412に続行して最も多いスロットを使用してフローを先処理する。通常、このフローは低データレートを有するため、ある期間中に最も多いスロットを消費する。次に処理は判断菱形402に戻る。
【0207】
一実施形態では、先処理方法400が適用される。この方法において、P_maxは、ある時点で先処理が可能なフローの最大数である。表3に示される2つの先処理グループの条件を満たすフローの部分集合を考える。特に、先処理グループIは、QSG_RまたはQSG_RavgDに属するフローから構成され、
【数46】
【0208】
及び
【数47】
【0209】
を有する。
【0210】
先処理グループ2は、Q_DJR QSGに属し、
【数48】
【0211】
及び
【数49】
【0212】
を有するフローから構成される。
【表4】
【0213】
ステップ1:AS(t)がある時点で(AS(t)についての適応方法においてのように)増加すると、プロセスは、1つ以上のフローが先処理の資格を有するかどうかを確かめるためにチェックする。AS(t)が増加していないときには、フローは先処理されないことに留意されたい。
【0214】
ステップ2:先処理グループ1に対応するフローの部分集合を考える。これらのフローの中から、rate_violという最高値を有するフローのP_max数を選択する。これに該当するものが複数ある場合には、Frac_slots_flow値がより高いものを先処理する。P_maxフローが先処理されると、レート違反についてこれ以上のフローは先処理されない。
【0215】
ステップ3:先処理グループ2に対応するフローの部分集合を考える。これらのフローは遅延要件及びジッタ要件を有し、Frac_delayed_IP_Pkts(fk,t,s)>Frac_delayed_IP_pkts_thres(fk)及びFrac_slots_flow(fk,t,s)>frac_thres_slots_flow(fk)を有する。これらのフローの中から、Frac_delayed_IP_pktsという最高値を有する、ステップ2で先処理されたフローの数を差し引いたP_maxを選択する。これに該当するものが複数ある場合には、Frac_slots_flowの値がより高いものを先処理する。
【0216】
ユーザ間及びユーザ内QoS
携帯電話ユーザは複数のフロー、つまり複数のアプリケーションを同時に有することがある。ここに提示されるように、ユーザは以下を指定し得る。
【0217】
それが遅延及びジッタに敏感であるかどうかのフロー単位の表示。それが遅延及びジッタに敏感である場合は、遅延限度及びジッタ限度が指定されなければならない。
【0218】
各ユーザについての総計ターゲットレート(ATR)。これは、下りリンク階層スケジューラがこのユーザに与えることを目指すであろうターゲットレートである。
【0219】
許可制御
時刻tにおける、R(t)ユーザをU1,U2,...,UR(t)として示すとして、時刻tにおけるユーザUjのフロー数をnum_flows(Uj,t)とする。ユーザUjが、時刻tで許可されている(k−1)のフロー、つまりnum_flows(Uj,t)=k−1であると仮定する。時刻tにおいてユーザUjについての新しいフローfk,jを許可すると決定するために、プロセスはユーザUjについて観察されたDRCを使用して以下をチェックする。
【数50】
【0220】
前述されたようにASFの適応を実行する間、フローにより用いられているスロット数及びその対応するDRCも考慮に入れられる。プロセスはAS(t)を計算し、Avail(t)を以下のように計算する。
【数51】
【0221】
プロセスは、
【数52】
【0222】
の場合、時刻tにおいてフローfk,jを許可する。
【0223】
このフローが許可されると、更新は以下のとおりである。
【数53】
【数54】
【数55】
【0224】
プロセスは、すべての許可されたフロー及びユーザについてQoS統計の監視及びネットワーク関連統計の監視を続行する。加入係数の適応を続行するためにこれらを使用する。次に、ASF、AS(t)が計算され、利用される。
【0225】
階層スケジューラ
フロー単位及びユーザ単位の補償:
遅延及びジッタに敏感なフローのそれぞれには、ジッタ閾値が割り当てられる。ユーザUkに関する、遅延及びジッタに敏感なフローfxごとに、プロセスは対応する遅延及びジッタ補償Φを計算する。フローが待ち行列内において遅延閾値を越えたパケットを有さない場合には、
【数56】
【0226】
となる。それ以外の場合、
【数57】
【0227】
を計算する。ここでは、
【数58】
【0228】
ユーザUkについてのフローfxごとに、
ndefpktsmin(n)=最小のndefpkts (59)
である。スロットnでの(すべてのユーザ全体での)すべてのフローを考慮すると、
defpkts(fx(Uk,n))=スロットnでそれらの遅延閾値に違反したユーザUkのフローfxの未決MACパケットの数 (60)
である。
【0229】
スロットnでのユーザUkのレート補償の場合、以下を定義する。
【数59】
【0230】
ここでは、
ASR(Uk,nprev(n))=スロットnprevの中のユーザUkの総計供給レート (62)
であり、
【数60】
【0231】
である。スロット数nprevは、スケジューリングアルゴリズムを目的としてレートが監視されたときのnまたはnより前の最後のスロットである。
【0232】
プロセスは任意のスロットnにおけるユーザUkについての総計遅延補償を定義する。遅延要件を有するこのユーザのすべてのフローを考慮し、これらの遅延に敏感なフローのそれぞれについて行頭(HOL)MACパケットを観察する。その遅延閾値より長い期間システムに亘って(HOL)MACパケットが全くない場合には、
【数61】
【0233】
さもなければ、遅延閾値より長い期間に亘ってシステム内にHOLパケットを有するこのユーザについてのフローの部分集合を考慮する。このユーザの場合、これらのフローの遅延閾値より大きい期間に亘ってシステム内にHOL MACパケットを有するユーザUkについてのすべてのフローについて以下を計算する。
【数62】
【0234】
ここでは、w(fx(Uk))はユーザUkのフローfxに割り当てられる初期重みである。
【0235】
適応重み計算
このユーザについての適応重みを計算するため、プロセスは、遅延に敏感な少なくとも1つのフローを有するユーザそれぞれについて各スロットで遅延閾値違反チェックを行う。プロセスは、このようなユーザUkのそれぞれについて以下を計算する。
【数63】
【0236】
agg_delay_comp(Uk,n)>1の場合、プロセスはユーザUkについて以下のように適応重みを計算する。
【数64】
【0237】
一方、agg_delay_comp(Uk,n)=1の場合、プロセスは以下を計算する。
【数65】
【0238】
ここでnprev,k(n)は、ASR(Uk,nprev(n))が監視された(および、このようにUk,nprev(n))が計算された)ときのnまたはnより前の最後のスロットである。プロセスはこのユーザについて最終の適応重みの計算を、以下のように続ける。
【数66】
【0239】
ここで、ユーザUkの遅延に敏感なフローについてRTxまたはDARQ待ち行列内にパケットがない場合、Z(Uk,n)=1である。さもなければ、Z(Uk,n)=C(Uk)である。ここで、C(Uk)は事前に指定される定数である。
【0240】
ユーザ及びフロー選択方法
プロセスがスロットnでその待ち行列内に少なくとも1つのパケットを有するユーザごとに以下のメトリックを計算する。
【数67】
【0241】
ここでは、
【数68】
【0242】
はユーザUk(つまりすべての対応するフローを含む)につての平均サービス供給レートである。プロセスは、Y(Uk,n)が最大値のユーザを選択する。いったんユーザがこのようなスケジューラを使用して選択されると、プロセスは、以下の方式に従ってそのユーザにサービス提供するためのフローを選択する。
【0243】
以下のグループに分類されるフローを考える。
【0244】
グループ1:QSG_delay_jitter。VoIPフロー。
【0245】
グループ2:QSG_delay_jitter。テレビ会議フロー。
【0246】
グループ3:QSG_delay_jitter。ビデオストリーミングフロー。
【0247】
グループ4:QSG_rate_avg_delay。レート要件及び平均遅延要件のあるフロー。
【0248】
グループ5:QSG_rate。レート要件だけがあるフロー。
【0249】
以下のステップが、本明細書において説明されているスケジューリングアルゴリズムを実行する際に、続き得る。
【0250】
ステップ1:そのスロット内の選択されたユーザのすべての保留されているフローを検討する。
【0251】
ステップ2:そのユーザについての、グループ1とグループ2に対応するフローを検討する。HOLパケットが自身の遅延閾値を違反し、且つそのフローの遅延限度に最も近いフローを選択する。フローが検出されると、このフローにサービス提供する。それ以外の場合、ステップ3に進む。
【0252】
ステップ3:HOLパケットが遅延閾値を越えたグループ3に対応するフローを検討し、HOLパケットが遅延限度に最も近いフローを選択する。フローが検出されたら、このフローにサービス提供する。それ以外の場合、次のステップに進む。
【0253】
ステップ4:HOLパケットが遅延閾値を越えたグループ4に対応するフローを検討し、HOLパケットが遅延限度に最も近いフローを選択する。フローが検出されたら、このフローにサービス提供する。それ以外の場合、次のステップに進む。
【0254】
ステップ5:サービス提供する保留フローをグループ1〜4から取り上げる。最も数の小さいグループのフローに優先順位を与える。フローが選択されたら、それにサービス提供する。それ以外の場合、次のステップに進む。
【0255】
ステップ6:そのユーザについての、グループ5に対応する保留フローを検討する。required_rate/served_rateの最大値を有するものを選択する。このフローにサービス提供する。何も選択されない場合には、次のステップに進む。
【0256】
ステップ7:そのユーザについての、ベストエフォートフローにサービス提供する。複数ある場合には、サービス提供レートの最小値のものを取り上げる。
【0257】
図16は、フロー単位の、及びユーザ単位の補償を行う2レベルスケジューラを描いている。図16及び図17に描かれているスケジューラは、ここに説明されているように、QoS間、及びQoS内の補償のために使用される階層スケジューラである。図16に描かれているように、レベルIとして特定される第1のレベルは、複数のスケジューリング要素、つまりノードS1、S2、...SMを含み、そこでは各ノードが異なるQSGを処理する。この例では、Mは処理されるQSGグループの数である。例えば、スケジューリングノードS1はボイスオーバIP(VoIP)タイプのアプリケーションフローを処理する。VoIPは例として示されているが、QSG1として分類される任意のあらゆるアプリケーションフローがS1で処理される。このようなフローはQoS要件を評価するために指定される遅延限度及びジッタ限度を有する。複数のアプリケーションVoIPタイプのフローがスケジューリング要素S1で処理される。同様に、各スケジューリング要素は特定のQSGのためのフローを処理する。別の実施形態では、1つのスケジューリング要素に複数のQSGのためのアプリケーションフローが供給されてよいことに留意されたい。複数のスケジューリング要素が同じQSGグループを処理するために使用されてよいことに留意されたい。
【0258】
図16に描かれているスケジューラのレベルIは、フロー単位の補償の一部を計算する。ユーザあたりの複数のアプリケーションフローが図16に描かれている。レベルIIスケジューリング要素は、フロー単位の補償の計算を仕上げる。
【0259】
図17は、スケジューリングノード、S1、S2、...Szを有するスケジューラを描いている。このステップでは、zはユーザ数である。ユーザ数が動的であるため、現在のスケジューリングノードの数が動的に変化し得ることに留意されたい。各スケジューリングノードS1、S2、...Szは所与のユーザから複数のフローを受け取るように適応されている。スケジューリングノードS1は、ユーザ1(U1)のためのFkを通してフローF1を受け取る。ここでkは、ユーザ1について現在処理されているアプリケーションフローの総数である。図16のレベルIとレベルIIのスケジューラによってフローごとに計算されるフロー単位の補償を使用して、図17のレベルIIスケジューラはユーザごとに総ユーザ補償を計算する。次に、レベルIIスケジューラは、ユーザを選択し、ユーザ選択方法について前述された適応加重DRC/Tアルゴリズムに従ってスロットでこのユーザにサービス提供する。次にレベルIIスケジューラはレベルIスケジューラから受信される加重値の中から選択する。示されているように、W(Uk)はユーザUkに割り当てられる初期重みであり、ATR(Uk)はユーザUkについての総ターゲットレートである。いったんユーザが選択されると、そのユーザに対応するレベルIスケジューラは前述されたフロー選択方法に従って、フローを選択してそのスロットでそのユーザにサービス提供する。
【0260】
下りリンクスケジューラは、スロット内のあるDRC値でのサービスのためのフローに対する自発的な(willing)価格を各ユーザが指定できるようにしてよい。いったん価格が指定されると、適応フレーム構造スケジューラは異なるタイプのアプリケーションのQoS要件を満たすべく動作する。対応するスケジューリング機構によって、サービスプロバイダは利益を高めるという目標と、アプリケーションのQoS要件を満たすという目標の間の良好な釣り合いを見つけることができる。このようなスケジューリング機構は、エンドユーザに動的コスト制御も提供し、レート要件及び/または平均遅延要件を有するアプリケーション、あるいはストリーミングアプリケーション等のために使用され得る。一実施形態では、各フローが、それがサービス提供されるときにスロットごとの価格を指定する価格決定オプションが提供される。この価格はそのスロット内のフローについてユーザが要求するDRC値に依存している。価格フローj(つまり、ユーザがアクセスするフローj)がスロットmで喜んで支払うc[j,m,DRC[j,m]として指定される。ここでは、DRC[j,m]は、このユーザがスロットmでサービス提供され得るレートを示す。ユーザは、DRCの値ごとに事前に指定された価格など、価格を静的に指定してよい。または、ユーザは、例えば、アプリケーションが有効な間に価格を変更する等のために、価格を動的に指定してよい。これにより、ユーザが、変化するチャネル状態に対応し、所望されるQoSを達成するために価格に対してある程度の制御を有することができる。運用者は、ユーザ間及びユーザ内QoSのために存在しているスケジューラとともにこのようなスケジューラを使用してよい。これにより運用者は少なくとも2つのタイプの価格決定方式を指定できる。ユーザ間及びユーザ内QoSスケジューラの場合、運用者は、(静的サービス内容合意書に基づいて)静的な価格決定方式を指定してよく、と同時に適応フレーム構造に基づいたスケジューラについての動的価格決定方式が可能となる。ユーザはさまざまなフローのためにさまざまな方式を使用することを選び得る。
【0261】
一実施形態では、時間が複数のフレームに分割され、DRC値、QoS要件、QoS違反統計、及び各ユーザによって指定される価格に応じてスロットごとにスケジューリング決定が下される。フレーム構造によって、基本的には、ユーザ待ち行列が1つの周回の間にサービス提供されるべき順序が決定される。ネットワークは、所望される目標を達成するために、スケジューリングの周回のそれぞれにおいて、各周回についてどのフロー/ユーザに、所与のスロットにおいてサービス提供するのかを決定する。フレーム構造、つまり各周回においてフローがサービス提供される順序は、変化しつづけ、AFS依拠アルゴリズムと呼ばれる。
【0262】
以下の定義は、計算プロセスで使用されるいくつかの表記を説明する。N個の待ち行列(及びフローごとに1つの待ち行列)を前提として、フローjについてのQoS要件はそれがレートr[j]でサービス提供される場合に満たされると仮定する。初期重みw[j]及びタイムスケールts[j]も各フローjに事前に指定される。プロセスは、フローjにレート保証を与えることを目指す。このプロセスは、タイムスケールの整数倍であるスロットごとに(つまり、mを整数としてスロットm*ts[j]ごとに)監視されてよい。
【0263】
start[j]を、フローjが1周回のうちでサービス提供対象として最初に検討され始めたときのスロットとする。スロットzの最後までに、システムはS[j,z]=r[j]*(z−start[j])ビットにサービス提供することを所望する。ここで、なんらかの整数mについてz=m*ts[j]である。1つのスケジューリング機構を使用し、システムは、あるフローへの割り当てが望まれる(タイム)スロットの数とそのフローにサービス提供することを望まれるビット数の釣り合いをとることができる。
【0264】
さらに、AFSスケジューラのために使用される他のパラメータが以下のように示される。
【0265】
slots_alloc[j,n]:周回nの間に待ち行列(フロー)jに割り当てられるスロットの数
slots_served[j,n]:待ち行列(フロー)jが周回nの内にサービス提供されたときのスロット数
S_r[j,n]:周回nの終了までにフローfにサービス提供するビット数
round_len[n]:周回n中のスロット数単位の長さ
round_len_thres:周回の長さはこの閾値により上限を設定される。
【0266】
B[n]:スロットnの始まりにある保留待ち行列のリスト
Rout_round[j,n]:スケジューラによって周回n内で待ち行列jのためにサービス提供されるビット数
Rout[j,n,g]:g≧nの場合に時間間隔[n,g]の間に待ち行列jのためにサービス提供されるビット数
前記に与えられた説明を使用すると、周回nの始まりでの待ち行列jについてのビットの不足は、以下により与えられる。
【数69】
【0267】
ビットに不足がある場合、対応するフローはサービスで遅れをとっており、補償されなければならない。他方、フローが受け取る過剰なサービスは明示的にはペナルティを課されないが、サービスで遅れをとっている他のフローは補償されるであろう一方、このフローは補償されないであろうため、間接的にペナルティを課される。
【0268】
さらに、周回nの始まりでのフローjについての正規化された不足ビットの計算は以下のように与えられる。
【数70】
【0269】
周回nの始まりでの待ち行列jについてのスロット内の不足は以下のように示される。
【数71】
【0270】
プロセスは、周回nの始まりでの待ち行列jについての正規化された不足スロットを以下のように定義する。
【数72】
【0271】
lslot[n]を周回nの最後のスロットとし、fslot[n]を周回nの最初のスロットとする。aw[j,n]は周回nについてフローjに割り当てられる(適応)重みを示すと仮定する。この重みは周回n内のフローjに割り当てられるスロット数を決定する。
【0272】
ユーザによって要求されるDRC値に、順列が与えられる。具体的には、DRC1[B,S]がDRC2[B,S]より優れている場合には、(B/S)1>(B/S)2である。ここでは、Bはパケット単位のビット数であり、Sはスロットの数である。
【0273】
AFSスケジューラのスケジューリング周回ごとに、プロセスは各周回についての前述される状態変数を計算し、次に各周回の始まりにおける各フローの重みを計算して、この周回についてこのフローに一定数のスロットを割り当てる。この目的のため、プロセスは適応重み計算機構を使用し、周回単位のサービス規律を使用して周回ごとにフレーム構造を計算する。
【0274】
(適応重み計算機構)
ndef_bits_rthres,minをndef_bits_rについての事前に指定される閾値とする。プロセスは、以下に示すように周回nの始まりで集合ndefbits_set[n]を定義する。
【数73】
【0275】
S_I[n]を周回nの始まりでの集合の中のフロー数とする。同様に、ndef_slots_rthres,minはndef_slots_rについての事前に指定される閾値である。プロセスは、周回nの始まりでのndefslots_set[n]を以下のように定義する。
【数74】
【0276】
S_II[n]を周回nの始まりでのこの集合の中のフロー数とする。
【0277】
任意のフローjの場合、周回nの始まりで、対応するスロット補償関数を以下のように定義する。
【数75】
【数76】
【0278】
ここでは、
【数77】
【数78】
【数79】
【0279】
である。
【0280】
フローjごとに、
【数80】
【0281】
となるように、2つの閾値、slots_comp_Ithres,min[j]とslots_comp_Ithres,max[j]を定義する。
【0282】
本明細書に説明されている適応重み計算とともにこれらの閾値を使用することにより、あらゆるフローが周回n内に不公平に多数のスロットを消費することが防止され、同時に指定限度を超えてそのフローにペナルティは課されない。
【数81】
【数82】
【0283】
フローjごとに、
【数83】
【0284】
となるように、2つの閾値slots_comp_IIthres,min[j]とslots_comp_IIthres,max[j]を定義する。
【0285】
各周回の始まりで、フローは表5に示されるように4つのグループに分けられる。
【表5】
【0286】
任意の周回nの始まりで、グループIIまたはグループIVのどちらかに属するフローjに対して、slot_comp[j,n]=1を使用する。周回nの始まりでグループIに属するフローjに対して、以下を適用する。
【数84】
【0287】
フローjが周回nの始まりでグループIIIに属する場合は、以下を適用する。
【数85】
【0288】
次に、プロセスはフローjについての適応重みを計算し、そこでは周回nの空ではない待ち行列についての適応重みは以下のとおりである。
【数86】
【0289】
ここでは、
【数87】
【0290】
である。各フローjについて、閾値awthres,max[j]を定義し、以下を確実にするようこの閾値を使用する。
【数88】
【0291】
次に、これらの適応重みが利用されて、各フローに割り当てられるであろうスロットの数、及び各周回が
【数89】
【数90】
【0292】
となるように計算される。
【0293】
期間単位のスケジューリング規律
いったん各フローが割り当てられていれば、周回内のスロットの幾つか及び周回の長さは計算され終わっている。次のステップは、所与のスロットにサービス提供するためのフローを選択することである。周回n内の所与の任意のスロットmでは、直前のスロットの1つの中で選択されたパケットが依然としてサービス提供されている場合、サービス提供されなければならない新しいフローが選択される必要はない。他方、周回n内のこのスロットm内でパケットがサービス提供されていない場合、サービス提供するためのフローは以下のように選択される。フローjについて周回nのスロットmについての以下の選択メトリックを、スケジューラがサービス提供するための新しいフローを選択する必要がある各スロットmについて、及び
【数91】
【0294】
及び
【数92】
【0295】
となる各フローjについて、
【数93】
【0296】
を計算する。ここでは、θ(j)はフローjごとに事前に指定され、wait_compはフローの遅延限度を改善するためにフローに与えられる待機補償である。wait[j,n,m]を周回n内のスロットmの始まりでのフローjについての行頭パケットの待機時間とする。
【数94】
【0297】
また、フローjは周回n内のスロットmの始まりで少なくとも1つの未決パケットを有する。次に、k∈B[n]であり、このようなフローの数がwait_num[n,m]となるようにすべてのフローkについて、
【数95】
【0298】
を計算する。フローjごとに、2つの閾値wait_compthres,min[j]とwait_compthres,max[j]が、割り当てられ、
【数96】
【0299】
を確実にするために使用される。選択メトリックYYの値が最大のフローが選択されてこのAFSスケジューラによって任意の所与のスロットでサービス提供される。
【0300】
一実施形態によるAN要素が図20に描かれている。AN要素500はアプリケーションフローデータを受け取り、ユーザへの伝送のためにこのデータを処理する。AN要素500は複数の、それぞれがQoS要件を有するアプリケーションフローをスケジュールする。アプリケーションフローが、前述されたようにベストエフォートフローを含み得ることに留意されたい。AN要素500は、トラヒックプロファイル、及び前記フローと関連付けられるQoSプロファイルを特定し且つ前記フローをクラス、つまりQSGに割り振るように適応されたフロー分類装置502を含む。フロー分類装置502はスケジューラ504、許可制御装置510、及びQoSモニタ506に結合される。スケジューラ504は、比例公平(PF)アルゴリズム及び適応加重PFアルゴリズム(これらに限定されない)を含む種々のスケジューリングアルゴリズムのどれかを実施してよい。許可制御装置510はAN500によって受け取られるアプリケーションフローに許可制御機構を適用する。許可制御装置510は、要求された各新規フローをQoS統計及びネットワーク統計に基づいて評価し、前記新規フローをサポートするために十分な資源が使用可能であるかどうかを判断する。適応装置は許可制御装置に結合され、そこではASFが更新される。適応装置512は現在アクティブなアプリケーションフローの先処理決定を実行するように適応されている。先処理は、データレート、使用されるスロット、及び他のQoS統計とネットワーク統計に関して所与のフローの性能を検討する。QoSモニタは受信されたアプリケーションフローのQoS要件を監視するように適応されている。AN要素500は通常複数のフローを受け取り、ユーザへの伝送のためにそれらの中から選択することに留意されたい。スケジューラ504は、許可制御装置510から新規フローが許可されるかどうかに関する情報を受け取る。スケジューラ504はQoS統計及び他の情報をQoSモニタ506から受け取り、そこでスケジューラ504はQoS情報を利用して伝送のためのフローを選択する。
【0301】
本明細書で提示されているのは、無線通信システムにおけるアプリケーションフローの許可制御、先処理、及びスケジューリングのための方法及び装置である。許可制御において、新しいフローの所要データレートが考慮され、これが使用可能な資源と比較される。いったん許可されると、フローは、スケジューラに提供される。スケジューラは、各スロットあるいは指定された期間での伝送のためにユーザを選択するためにフロー単位及びユーザ単位の分析を実行するように適応されている。
【0302】
当業者は、情報及び信号が種々の異なる技術及び技法のどれかを使用して表されてよいことを理解するであろう。例えば、前記説明を通して参照されて得るデータ、指示、コマンド、情報、信号、ビット、記号、及びチップは、電圧、電流、電磁波、磁場または磁性粒子、光学場または光学粒子、あるいはその任意の組み合わせで表され得る。
【0303】
当業者は、本明細書に開示されている実施形態に関連して説明される多様な例示的な論理ブロック、モジュール、回路、及びアルゴリズムステップが電子ハードウェア、コンピュータソフトウェア、または両方の組み合わせとして実現され得ることをさらに理解するであろう。ハードウェアとソフトウェアの互換性を明らかに示すために、多様な例示的な構成要素、ブロック、モジュール、回路、及びステップがその機能性という点で概して前述されている。このような機能性がハードウェアとして実現されるのか、あるいはソフトウェアとして実現されるのかは、システム全体に課される特定のアプリケーション及び設計制約に依存している。当業者は特定のアプリケーションごとにさまざまな方法で説明された機能性を実現してよいが、このような実現の決定は本発明の範囲からの逸脱を引き起こすとして解釈されるべきではない。
【0304】
本明細書に開示されている実施形態との関連において説明される多様な例示的な論理ブロック、モジュール、及び回路は、汎用プロセッサ、ディジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブルロジックデバイス、ディスクリートゲート、またはトランジスタロジック、ディスクリートハードウェア構成要素、あるいは本明細書に説明されている機能を実行するために設計されるその任意の組み合わせで実現または実行されてよい。汎用プロセッサはマイクロプロセッサであってよいが、或いはプロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラまたは状態機械であってよい。プロセッサは、例えばDSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPコアととともに用いられる1台または複数台のマイクロプロセッサ、あるいは任意の他のこのような構成などのコンピューティング装置の組み合わせとして実現されてもよい。
【0305】
本明細書に開示されている実施形態との関連において説明される方法、アルゴリズムのステップはハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、あるいはこれら2つの組み合わせで実現されてよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、あるいは既知の他の形式の記憶媒体に常駐してよい。例示的な記憶媒体は、プロセッサが情報を記憶媒体から読み取り、情報を記憶媒体に書き込むことができるようにプロセッサに結合される。または、記憶媒体はプロセッサに一体化されてよい。プロセッサ及び記憶媒体はASICに常駐してよい。ASICはユーザ端末に常駐してよい。または、プロセッサ及び記憶媒体はユーザ端末内のディスクリート構成要素として常駐してよい。
【0306】
開示された実施形態の説明は、当業者が本発明を製造または使用できるようにするために提供される。これらの実施形態に対する多様な変型は当業者に容易に明らかとなり、本明細書に定められる包括的な原則は本発明の思想または範囲から逸脱することなく他の実施形態に適用されてよい。したがって、本発明は、本明細書に示されている実施形態に制限されることを目的としないが、ここに開示されている原則及び新規特徴と一致した最も広い範囲を与えられるべきである。
【関連出願の表示】
【0001】
本特許出願は、本譲受人に譲渡され、参照によって本明細書に明白に組み込まれる「通信システムにおいて資源を割り当てるためのシステム(System for Allocating Resources in a Communication System)」と題される2003年3月17日に出願された仮特許出願第60/455,906号の優先権を主張する。
【技術分野】
【0002】
本願は通信システムに関する。特に、これらの実施形態は通信システムの複数の加入者の間で通信資源を割り当てることを目的とする。
【背景技術】
【0003】
複数の加入者間で通信システム内の単一のノードにより提供される限られた通信資源を割り当てるという問題に対処するために複数の解決策が提示されてきた。コストを最小限に抑えながら、全加入者の要件を満たすために十分な資源を各ノードで提供することがこのようなシステムの目的である。したがって、このようなシステムは、通常、多様な加入者間での効率的な資源の割り当てを目的として設計される。
【0004】
多様なシステムが、加入者のそれぞれに資源を同時に割り当てる周波数分割多元接続(FDMA)方式を実現してきた。このようなシステムの通信ノードは、通常、任意の時点でネットワーク内の各加入者に情報を送信するか、あるいは各加入者から情報を受信するかのどちらかのための限られた帯域幅を有している。この方式は、通常、個々の加入者に対して全体の帯域幅の別個の部分を割り当てることを含む。このような方式は、加入者が通信ノードとの中断されない通信を必要とするシステムにとっては効果的である可能性があるが、このような不断の(constant)、中断されない通信が必要とされないときには、全体的な帯域幅のさらに優れた活用が達成され得る。
【0005】
複数の加入者の間で単一の通信ノードの通信資源を割り当てる他の方式には時分割多元接続(TDMA)方式がある。これらのTDMA方式は、単一の通信ノードの限られた帯域幅資源を複数の加入者間で割り当てる際であって、ユーザが単一の通信ノードとの不断の、中断されない通信を必要としない際に特に有効である。TDMA方式は、通常、単一の通信ノードの帯域幅全体を指定された時間間隔で加入者のそれぞれに当てる(dedicate)。符号分割多元接続(CDMA)方式を利用する無線通信システムでは、これは時分割ベースで指定された時間間隔ですべての符号チャネルを加入者装置のそれぞれに割り当てることによって達成され得る。通信ノードは、加入者との排他的な(exclusive)通信を可能とするために、加入者に関連付けられる一意の搬送周波数またはチャネル符号を導入する。TDMA方式は、物理的接点リレー切り替えまたはパケット交換を使用して陸線システムで実現されてもよい。
【0006】
TDMAシステムは、通常、総当たり方式で各加入者に等しい時間間隔を割り当てる。このため、加入者によるある時間間隔の利用に無駄が生じる場合がある。同様に、他の加入者は、割り当てられた時間間隔を上回る通信資源要求を行い、この加入者が不十分なサービスを受けることになり得る。システムオペレータは、どの加入者も受けるサービスが不足していないことを確実にするためにノードの帯域幅を広げるコストを負担するか、あるいは不充分なサービスを受けている加入者が不充分なサービスを受け続けることを許容するかのどちらかを選び得る。
【0007】
したがって、加入者間で通信資源を割り当てるネットワーク方針に従って効率的且つ公平に1つの通信網の加入者間で通信資源を割り当てるシステム及び方法を提供するニーズがある。それとともに、システムの特定の要件、制約及び/または目標に応じてフロー単位で、及び/または総計ベースでの資源割り当てを実行するための機構を提供することを含む(それに限定されない)システムによりサービスを受けるユーザ数を最大限にするニーズがある。さらに、資源割り当てを最適化する許可制御及び先処理(preemption)方法に対するニーズもある。
【図面の簡単な説明】
【0008】
【図1】本発明の実施形態による通信網を示す。
【図2A】本発明の実施形態に従って構成された基地局コントローラ及び基地局装置のブロック図を示す。
【図2B】本発明の実施形態に従って構成された遠隔局装置のブロック図を示す。
【図3】図2Aに示されるチャネルスケジューラの実施形態におけるスケジューリングアルゴリズムの実行を描く流れ図を示す。
【図4】各アプリケーション通信がアプリケーションフローにより表される、マルチメディアアプリケーションをサポートする通信システムである。
【図5】アプリケーションフローの待ち行列である。
【図6】アプリケーションフローの一部の信号タイミングを描くタイミング図である。
【図7A】アプリケーションフローのジッタ測定を描くタイミング図である。
【図7B】アプリケーションフローを処理するためのタイムスロットの期間での連続するIPパケットの伝送を描くタイミング図である。
【図8】通信システム内のアプリケーションフローのスケジューリングを描く流れ図である。
【図9】さまざまなサービスの質(QoS)要件を有するアプリケーションフローのスケジューリングを描く流れ図である。
【図10】一実施形態によるスケジューリングアルゴリズムと一致した各アプリケーションフローの定義を描くアーキテクチャ図である。
【図11】一実施形態に従ったクラスタイプを識別する表である。
【図12A】アプリケーションフローの初期化を含む、一実施形態によるスケジューリングアルゴリズムの一部を描く。
【図12B】クラスタイプの関数としてアプリケーションフローを処理することを含む、一実施形態によるスケジューリングアルゴリズムの一部を示す。
【図12C】モードIIアプリケーションフローの処理、及びモードIIIアプリケーションフローの処理を含む、一実施形態によるスケジューリングアルゴリズムの一部を示す。
【図12D】モードIアプリケーションフローの処理を含む、一実施形態によるスケジューリングアルゴリズムの一部を描く。
【図12E】適応加重及びそれに基づいたスケジューリングを含む、一実施形態によるスケジューリングアルゴリズムの一部を描く。
【図13】無線通信システムにおいて適応加重アルゴリズムを使用してアプリケーションフローをスケジュールするためのアルゴリズムを実現するための基地局トランシーバシステム(BTS)を描く。
【図14】時間の関数としてデータレート(LMAX)、予約済み資源(Res(t))、及び使用可能な資源(Avail(t))などの割り当てのための最大資源を描くタイミング図である。
【図15】高速パケットデータタイプシステム内でユーザから受信されるデータ要求、及び時刻tで予約するための時間の関数としての推測容量L(t)を描くタイミング図である。
【図16】サービスの質(QoS)要件を有する複数のアプリケーションフローをサポートする高速パケットデータタイプシステムのためのスケジューラを描く情報流れ図であり、フローはフロー単位補償のアプリケーションによりスケジュールされる。
【図17】サービスの質(QoS)要件を有する複数のアプリケーションフローをサポートする高速パケットデータタイプシステムのためのスケジューラを示す情報流れ図であり、フローは総計補償のアプリケーションによりスケジュールされる。
【図18A】サービスの質(QoS)要件を有する複数のアプリケーションフローをサポートする高速パケットデータタイプシステム内での許可制御のためのアルゴリズムを描く。
【図18B】サービスの質(QoS)要件を有する複数のアプリケーションフローをサポートする高速パケットデータタイプシステム内での許可制御のためのアルゴリズムを描く。
【図18C】サービスの質(QoS)要件を有する複数のアプリケーションフローをサポートする高速パケットデータタイプシステム内での許可制御のためのアルゴリズムを描く。
【図18D】サービスの質(QoS)要件を有する複数のアプリケーションフローをサポートする高速パケットデータタイプシステム内での許可制御のためのアルゴリズムを描く。
【図18E】サービスの質(QoS)要件を有する複数のアプリケーションフローをサポートする高速パケットデータタイプシステム内での許可制御のためのアルゴリズムを描く 。
【図19】サービスの質(QoS)要件を有する複数のアプリケーションフローをサポートする高速パケットデータタイプシステム内での先処理のためのアルゴリズムを描く。
【図20】サービスの質(QoS)要件を有する複数のアプリケーションフローをサポートする高速パケットデータタイプシステム内でのアクセスネットワーク(AN)要素のブロック図である。
【発明を実施するための形態】
【0009】
本発明の実施形態は、単一の通信ノードによりサービスを提供される、1つの通信網の複数の加入者間で資源を割り当てるためのシステム及び装置を対象としている。個々の別々の伝送間隔、つまり「サービス間隔」で、個々の加入者は他のすべての加入者を除外して通信ノードの有限の資源を獲得する。個々の加入者は、個々の加入者に関連付けられる重みまたはスコアに基づいて有限資源を獲得するために選択される。個々の加入者に関連付けられる重みの変化は、当該個々の加入者が有限資源を消費できる瞬間の速度に基づいているのが好ましい。
【0010】
図を参照すると、図1は例示的な可変速度通信システムを表す。1つのこのようなシステムはクアルコム社(Qualcomm, Inc.)に譲渡され、参照することにより本明細書に組み込まれる、1997年11月3日に出願された「高速パケットデータ伝送のための方法及び装置(Method and Apparatus for High Rate Packet Data Transmission)」と題される米国特許出願第08/963,386号に説明されている。可変速度通信システムは複数のセル2Aから2Gを備える。各セル2は、対応する基地局4によりサービスを提供される。多様な遠隔局6が通信システム全体に分散されている。例示的な実施形態では、遠隔局6のそれぞれは任意のデータ伝送間隔で下りリンク(forward link)で多くても1つの基地局4と通信する。例えば、タイムスロットnで、基地局4Aはデータを遠隔局6Aだけに送信し、基地局4Bは遠隔局6Bだけにデータを送信し、基地局4Cは下りリンクで遠隔局6Cだけにデータを送信する。図1に図示されるように、各基地局4はどの時点でも1つの遠隔局6にデータを送信するのが好ましい。他の実施形態では、基地局4は、基地局4に関連付けられる他のすべての遠隔局6を除いてある特定のデータ伝送間隔で2以上の遠隔局6と通信してよい。さらに、データレートは可変であり、一実施形態では受信側遠隔局6によって測定されるような搬送波対干渉比(carrier-to-interference ratio)(C/I)及び必要とされるビット当たりエネルギー対雑音比(energy-per-bit-to-noise)(Eb/NO)に依存している。簡略化のために、遠隔局6から基地局4への上りリンクは図1に図示されていない。一実施形態によれば、遠隔局6は無線データサービス加入者により操作される無線トランシーバ付きモバイルユニットである。
【0011】
例示的な可変速度通信システムの基本サブシステムを描くブロック図は図2Aから図2Bに示されている。基地局コントローラ10はパケットネットワークインタフェース24、公衆電話交換網(PSTN)30、及び通信システム内のすべての基地局4(簡略化のために図2Aではただ1つの基地局4が示されている)とインタフェースをとる。基地局コントローラ10は、通信システム内の遠隔局6と、パケットネットワークインタフェース24やPSTN30に接続される他のユーザの間との通信を調整する。PSTN30は、標準的な電話網(図2Aには図示されていない)を通してユーザとインタフェースをとる。
【0012】
簡略化のために図2Aにはただ1つしか示されていないが、基地局コントローラ10は、多くのセレクタ要素14を含む。各セレクタ要素14は1つ以上の基地局4と1つの遠隔局6の間の通信を制御するために割り当てられる。セレクタ要素14が遠隔局6に割り当てられていない場合、呼制御プロセッサ16は、遠隔局6を呼び出す必要性を知らされる。呼制御プロセッサ16は、次に基地局4に遠隔局6を呼び出すように命令する。
【0013】
データソース20は、遠隔局6に送信される予定の不定量のデータを含む。データソース20はパケットネットワークインタフェース24にデータを提供する。パケットネットワークインタフェース24はデータを受信し、セレクタ要素14にデータを送る。セレクタ要素14は遠隔局6と通信している各基地局4にデータを送信する。例示的な実施形態では、各基地局14は、遠隔局6に送信される予定のデータを記憶するデータ待ち行列(data queue)40を保持する。
【0014】
データはデータ待ち行列40からチャネル要素42へデータパケットで送信される。例示的な実施形態では、下りリンクでは、「データパケット」は、最大1024ビットである不定量のデータ、および「タイムスロット(例えば1.667msec)」内で宛て先遠隔局6に送信される予定の不定量のデータを指す。データパケットごとにチャネル要素42は必要な制御フィールドを挿入する。例示的な実施形態では、チャネル要素42はデータパケット及び制御フィールドをCRC符号化し、コードテールビットのセットを挿入する。データパケット、制御フィールド、CRCパリティビット及びコードテールビットはフォーマットされたパケットを備える。例示的な実施形態では、チャネル要素42が、次いでフォーマットされたパケットを符号化し、符号化されたパケット内でのシンボルをインタリーブ(つまり再順序付け)する。例示的な実施形態では、インタリーブされたパケットはウォルシュ符号でカバーされ(covered)、ショートPNIコードとPNQコードで拡散される。拡散されたデータは、信号を直交変調し(quadrature modulates)、濾波し、増幅するRF装置44に供給される。下りリンク信号は下りリンク50上でアンテナ46を通して無線で送信される。
【0015】
遠隔局6では、下りリンク信号はアンテナ60により受信され、フロントエンド62内の受信機に送られる。受信機は信号を濾波し、増幅し、直交変調し、量子化する。ディジタル化された信号は、復調器(DEMOD)64に供給され、そこで、ショートPNIコードとPNQコードで逆拡散され、ウォルシュカバーでデカバー(decover)される。復調されたデータは、基地局4で実行される信号処理機能、特にデインターリービング(de-interleaving)、復号、及びCRCチェック機能の逆を実行するデコーダ66に与えられる。復号されたデータはデータシンク68に供給される。
【0016】
前記に指摘されたように、ハードウェアは、下りリンク上でデータ、メッセージング、音声、ビデオ及び他の通信の可変速度伝送をサポートする。データ待ち行列40から送信されるデータの速度は、遠隔局6での信号強度及び雑音環境の変化に適応するために変化する。遠隔局6のそれぞれは、各タイムスロットでデータレート制御(DRC)信号を関連付けられた基地局4に送信するのが好ましい。DRCは、遠隔局が下りリンクについて所望されるデータレート、つまり遠隔局でデータを受信するためのデータレートを決定する制御機構を指す。遠隔局はDRCメッセージを介して基地局にデータレート要求または命令として所望されるデータレートを送信する。DRC信号は、遠隔局6のアイデンティティ、及び遠隔局6がその関連付けられるデータ待ち行列からデータを受信するべきレートを含む情報を基地局4に提供する。したがって、遠隔局6の回路は、信号強度を測定し、遠隔局6における雑音環境を推定して、DRC信号で送信されるべきレート情報を決定する。
【0017】
各遠隔局6によって送信されるDRC信号は、上りリンクチャネル52を通して進み、アンテナ46及びRF装置44を通して基地局4で受信される。例示的な実施形態では、DRC情報はチャネル要素42で復調され、基地局コントローラ10内に位置するチャネルスケジューラ12Aに、あるいは基地局4内に位置するチャネルスケジューラ12Bに供給される。第1の例示的な実施形態では、チャネルスケジューラ12Bは基地局4に位置する。別の実施形態では、チャネルスケジューラ12Aは基地局コントローラ10内に位置し、基地局コントローラ10内のすべてのセレクタ要素14と接続される。
【0018】
一実施形態では、チャネルスケジューラ12Bはデータ待ち行列40から、待ち行列サイズとも呼ばれる遠隔局ごとに待ち行列に入れられるデータ量を示す情報を受け取る。チャネルスケジューラ12Bは、次に、基地局4によりサービスを提供される遠隔局ごとにDRC情報及び待ち行列サイズに基づいてスケジューリングを実行する。待ち行列サイズが別の実施形態において使用されるスケジューリングアルゴリズムに必要とされる場合には、チャネルスケジューラ12Aはセレクタ要素14から待ち行列サイズ情報を受信してよい。
【0019】
本発明の実施形態は、可変速度伝送をサポートできる他のハードウェアアーキテクチャに適用可能である。本発明は上りリンクでの可変速度伝送をカバーするために容易に拡張されてよい。例えば、遠隔局6からのDRC信号に基づいて基地局4でデータを受信する速度を決定する代わりに、基地局4は遠隔局6から受信される信号の強度を測定し、雑音環境を推定して、遠隔局6からデータを受信する速度を決定する。基地局4は、次に、データが遠隔局6から上りリンクで送信される予定の速度を関連する遠隔局6の各々に送信する。次に基地局4は下りリンクについて本明細書に説明される方法と類似した方法で、上りリンクでの異なるデータレートに基づいて、上りリンクでの伝送スケジュールを行ってよい。
【0020】
また、前述された実施形態の基地局4は、CDMA方式を使用して、基地局4と関連付けられる残りの遠隔局を除いて、遠隔局6の内の選択された1つまたは選択された複数の遠隔局に送信する。任意の特定のときに、基地局4は、受信側基地局(複数の場合がある)4に割り当てられる符号を使用することによって遠隔局6の内の選択された1つまたは選択された複数の遠隔局に送信する。しかしながら、本発明は、伝送資源を最適に割り当てるために、他の基地局4を除いて、基地局(複数の場合がある)4を選択するためのデータを提供するためのさまざまなTDMA方法を利用する他のシステムにも適用可能である。
【0021】
チャネルスケジューラ12は、下りリンクでの可変速度伝送をスケジュールする。チャネルスケジューラ12は遠隔局6に送信するためのデータ量を示す待ち行列サイズ、及びメッセージを、遠隔局6から受信する。チャネルスケジューラ12は、公平性の制約に準拠しながら、最大データスループットというシステム目標を達成するためにデータ伝送をスケジュールするのが好ましい。
【0022】
図1に図示されるように、遠隔局6は通信システム全体に分散され、下りリンクで基地局4と通信していないか、又は基地局4と通信しているかもしれない。例示的な実施形態では、チャネルスケジューラ12は通信システム全体に亘って下りリンクデータ伝送を調整する。高速データ伝送のためのスケジューリングの方法及び装置は、本発明の譲受人に譲渡され、参照することにより本明細書に組み込まれる2002年1月1日に発行された米国特許第6,335,922号に詳しく説明されている。
【0023】
一実施形態によれば、チャネルスケジューラ12は、プロセッサ、ランダムアクセスメモリ(RAM)、及びプロセッサ(図示せず)により実行されるべき命令を記憶するためのプログラムメモリを含むコンピュータシステムで実現される。プロセッサ、RAM及びプログラムメモリはチャネルスケジューラ12の機能専用とされてよい。他の実施形態では、プロセッサ、RAM、及びプログラムメモリは基地局コントローラ10で付加的な機能を実行するための共用計算資源の一部であってよい。
【0024】
図3は、基地局4から遠隔局6への伝送をスケジュールするためにチャネルスケジューラ12を制御するスケジューリングアルゴリズムの実施形態を示す。前述されたように、データ待ち行列40は各遠隔局6と関連付けられる。チャネルスケジューラ12は、データ待ち行列40のそれぞれを、「重み」と関連付ける。重みは、基地局4と関連付けられ且つその次のサービス間隔でデータを受信する特定の遠隔局6を選択するためにステップ110で評価される。チャネルスケジューラ12は、別々のサービス間隔でデータ伝送を受信する個々の遠隔局6を選択する。ステップ102では、チャネルスケジューラは、基地局4と関連付けられている各待ち行列についての重みを初期化する。
【0025】
チャネルスケジューラ12は、伝送間隔またはサービス間隔でステップ104から112を周期的に繰り返す(cycles)。ステップ104では、チャネルスケジューラ12は、先のサービス間隔で検出された基地局4との更なる遠隔局6との関連付けのために追加されるべき追加の待ち行列があるかどうかを判断する。チャネルスケジューラ12はまた、ステップ104で新しい待ち行列と関連付けられた重みも初期化する。前述されたように、基地局4はタイムスロットなどの定期的な間隔で自身と関連付けられる各遠隔局6からDRC信号を受信する。
【0026】
このDRC信号はまた、各待ち行列と関連付けられる遠隔局ごとに情報を消費する(つまり送信されたデータを受信する)ための瞬間速度を決定するためにチャネルスケジューラがステップ106で使用する情報も提供する。実施形態によれば、任意の遠隔局6から送信されるDRC信号は、前記遠隔局6が複数の有効なデータレートの内の任意の1つでデータを受信することができることを示す。
【0027】
チャネルスケジューラ12は、ステップ108で、データを受信するために遠隔局6に関連付けられた(最も近い過去に受信されたDRC信号に示されるような)瞬間速度に基づいてデータが任意の特定の遠隔局6に送信されるべきサービス間隔の長さを決定する。実施形態によれば、データRiを受信する瞬間速度は、ステップ106で特定のデータ待ち行列と関連付けられるサービス間隔長Liを決定する。
【0028】
ステップ110でチャネルスケジューラ12は伝送のための特定のデータ待ち行列を選択する。それから、関連付けされた量の送信データがデータ待ち行列40から取り出され、次にデータ待ち行列40と関連付けられる遠隔局6への伝送のためにチャネル要素42に供給される。後述されるように、ステップ110でチャネルスケジューラ12は、各待ち行列と関連付けられる各重みを含む情報を使用して次のサービス間隔で送信されるデータを提供するための待ち行列を選択する。送信された待ち行列と関連付けられる重みは、次にステップ112で更新される。
【0029】
当業者は、チャネルスケジューラ12が、本発明から逸脱することなく、多岐に渡るアプローチを使用して実現されてよいことを理解するであろう。例えば、チャネルスケジューラ12は、プロセッサ、ランダムアクセスメモリ(RAM)、及びプロセッサ(図示せず)によって実行される命令を記憶するためのプログラムメモリを含む、コンピュータシステムを使用して実現されてよい。他の実施形態では、チャネルスケジューラ12の機能は、基地局4または基地局コントローラ10で付加的な機能を実行するためにも使用される共用計算資源の中に組み込まれてもよい。さらに、チャネルスケジューラ機能を実行するために使用されるプロセッサは汎用マイクロプロセッサ、ディジタル信号プロセッサ(DSP)、プログラマブルロジックデバイス、特定用途向け集積回路(ASIC)または、本発明から逸脱することなく、本明細書に説明されるアルゴリズムを実行できる他のデバイスであってよい。
【0030】
図1の実施形態に示されるように、遠隔局6は、可動性であり、さまざまな基地局4の間で関連付けを変更することができる。例えば、遠隔局6Fは当初、基地局4Fからデータ伝送を受信している。次に、遠隔局6fは基地局4Fのセルから出て、基地局4Gのセルに入ってよい。遠隔局6Fは次に基地局4Fの代わりに基地局4Gに注意を喚起するためにDRC信号の送信を開始してよい。遠隔局6FからDRC信号を受信しないことにより、基地局4Fのロジックは、遠隔局6fが接続を解き、もはやデータ伝送を受信しないと推論する。遠隔局6Fに関連付けられるデータ待ち行列は、次に陸線またはRF通信リンクを介して基地局4Gに送信されてもよい。
【0031】
適応加重スケジューリングアルゴリズム
さらに、(以下にさらに説明される)「フロー(flows)」と呼ばれるマルチメディアサービス伝送がバースト的な(bursty)トラヒックをつくり出す1つの無線通信システムでマルチメディアサービス又は種々の伝送要件を有する他のサービスが送信されるときに問題が存在する。バースト的なトラヒックは、バースト性の測度(measure of burstiness)および平均データレートを含む複数の変数により特徴付けられる。さらに、システム内での多様なフローのそれぞれのサービスの質(QoS)要件を満たすニーズがある。比例公平(Proportional Fair)(PF)アルゴリズムなどの現行のスケジューリング方法は、通常、「T」として識別されるスループットに対する、データレート制御データ要求つまり「DRC」と呼ばれる要求されたデータレートの比率として示されるメトリックに基づいてサービスを提供するためのフローを選択する。このような計算はすべてのユーザの要求されるQoSを保証しない可能性がある。したがって、純粋なPFアルゴリズムはマルチメディアまたは他のアプリケーションにアクセスするユーザのQoS要件を満足するほど十分な複雑さを提供しない可能性がある。これらの多様な要件を満たすことができるスケジューラに対するニーズがある。
【0032】
以下の説明が、IS−856に説明されるような高速パケットデータ(HRPD)サービスをサポートするcdma2000システムを考慮していることに留意されたい。このシステムは例として使用される。本発明は、ユーザがスケジューリングアルゴリズムに従ってサービスのために選択される他のシステムに適用可能である。
【0033】
HRPDシステムでは、無線インタフェースは最高4つまでの平行なアプリケーションストリームをサポートし得る。第1のストリームはシグナリング情報を搬送し、他の3つは異なるサービスの質(QoS)要件のアプリケーション、又は他のアプリケーションを搬送するために使用され得る。
【0034】
以下の用語解説は、以下に提示される一実施形態を理解する上での明確さのために提供される。以下の用語解説は網羅的であることを意図していない。以下の用語解説は本発明をそれに制限することを意図しておらず、むしろ適応加重スケジューリングアルゴリズムをサポートする通信システムの一実施形態に関して明確にするため、及び理解するために提供される。
【0035】
用語集
アクセスネットワーク(AN):セルラーネットワークとパケット交換データネットワーク(通常はインターネット)とATの間でのデータ接続性(data connectivity)を提供するネットワーク装置。HRPDシステムにおけるANは、セルラー通信システムにおける基地局に相当する。
【0036】
アクセス端末(AT):ユーザにデータ接続性を与えるデバイス。HRPDシステムにおけるATは、セルラー通信シムテムにおける携帯電話に対応する。ATはラップトップパーソナルコンピュータなどのコンピューティング装置に接続されてよく、あるいは、ATはパーソナルディジタルアシスタント(PDA)のような自己完結した(self-contained)データデバイスであってよい。
【0037】
アプリケーションフロー:あるアプリケーションストリームに関するソースからATへの指定された伝送路(transmission path)。各アプリケーションフローはソース、宛て先、トラヒックプロファイル、及びサービスの質プロファイルによって識別される。
【0038】
アプリケーションストリーム:アプリケーションに対応するデータ通信。大部分のアプリケーションストリームは指定されたサービスの質要件を有する。
【0039】
自動反復要求(ARQ)−送信機がイベントの発生または非発生に基づいてデータの再送を開始する機構。
【0040】
アベイル(t)(Avail(t)):下りリンク上での時刻tにおける予約されていない帯域幅。
【0041】
平均データレート(r):あるアプリケーションフローに関する経時的な(over time)平均入力データレート。
【0042】
平均遅延(AvgD):ANからATへ複数のパケットまたはビットで生じる遅延の平均。
【0043】
バースト性(σ):バースト性、つまりアプリケーションフロー内のパケットの密度及び時間単位の関係指標。
【0044】
データレート制御(DRC):それによりATが要求データレートをANに送信する機構。
【0045】
不足パケット(defpkts):スロットnの始まりでのフローkに関して定義される。不足パケットとは、フロー内のまだ送信されていないパケットであり、defpktsは、特に、例えばフローkの遅延閾値より長くBTSに留まった媒体アクセス制御(MAC)パケットなどの処理中(mid-processing)パケットなどの、等しいサイズのパケットの数として定義される。
【0046】
不足ビット(defbits):不足パケットに対応するビット数。
【0047】
遅延限度:ANからATへのデータのパケットの伝送に許容される指定時間。
【0048】
遅延閾値:遅延限度またはジッタ限度の関数であり、defpktsを計算するために使用される。
【0049】
遅延補償係数(Φ):遅延違反を補償するために使用される補償係数。
【0050】
DRC補償係数(β):アプリケーションフローのユーザと関連付けられるデータ要求要件の主な原因となる補償係数。アプリケーションの優美な回復を行うために使用される。
【0051】
拡張ジッタ閾値(dv):フローの2つの連続するIPパケットの間のジッタ違反の検出時に拡張ジッタ補償関数を計算するために使用される。
【0052】
フロー重み(w):適応加重スケジューリングアルゴリズムを使用した各アプリケーションフローに適用される初期重み値。適応加重(aw)は、重みの適応値である。
【0053】
下りリンク(FL):ANからATへの伝送無線リンク。
【0054】
行頭(HOL)パケット:待ち行列内の第1のパケット。
【0055】
高速パケットデータ(HRPD):高データレートでパケットデータ通信を送信するデータサービス。高データレートとも呼ばれ、「cdma2000高速パケットデータ無線インタフェース仕様書(cdma2000 High Rate Packet Data Air Interface Specification)」と題されるIS−856規格に規定される。
【0056】
ジッタ:受信された連続パケットの間の時間変動。
【0057】
ジッタ限度(j):あるアプリケーションフローに関するジッタに対する制限。
【0058】
ジッタ補償係数、機能拡張されている(δ):フローについてジッタ違反を補償するための補償係数。
【0059】
Lmax:BTSが下りリンクでデータを送信し得る最大速度(例えば、cdma2000 1xEV−DO型ネットワークでの2.4Mbps)。
【0060】
L(t):前回のQoS違反統計及びネットワーク負荷関連統計に基づいて時刻tにおいて確保すべき下りリンク容量の推定値。
【0061】
正規化された不足パケット(ndefpkts):不足パケット及びそのフローの要求速度を使用して計算された、正規化された不足パケット。
【0062】
正規化された不足ビット(ndefbits):正規化された不足パケットに対応する、正規化された不足ビット。
【0063】
エムペグ(MPEG):マルチメディアデータの伝送のためのプロトコル。
【0064】
未決パケット:pendk,j[n]:スロットnのBTSとBSCでのフローkのIPパケットjの未決バイトの数。
【0065】
比例公平(PF)アルゴリズム:データ通信が、スループットに対する要求データレートの比率としてATごとに計算される選択係数に従ってスケジュールされるスケジューリングアルゴリズム。
【0066】
サービスの質(QoS):遅延、所要レート及びジッタを含む(それらに限定されない)パケットデータ通信の伝送に関する要件。
【0067】
QoS及びネットワーク補償関数(Φ、γ、α、β、δ):適応加重スケジューリングアルゴリズムで使用されるような補償関数。
【0068】
サービスの質グループ(QSG):類似したQoS要件を有するアプリケーションタイプのグループ。
【0069】
レート補償係数(α):レート違反を補償するために計算される補償係数。
【0070】
サービスのレート(R)または要求レート(required_rate):フローによって要求されるレート。
【0071】
Res(t):下りリンクでの時刻tにおいて確保されている帯域幅。
【0072】
再送待ち行列(Rx):再送を予定されているアプリケーションフローを記憶する再送待ち行列。
【0073】
上りリンク(RL):ATからANへの伝送無線リンク。
【0074】
選択メトリック(Y):スケジュールを決定するためにアプリケーションフローの比較のために使用されるメトリック。
【0075】
トラヒックプロファイル(σ、r):バースト性及びデータレートに関する指標。
【0076】
伝送待ち行列(Tx):所与のBTSに関するアプリケーションフローを格納する伝送待ち行列。
【0077】
待機時間パラメータ(γ):AN内でIPパケットのHOLに関する待機時間の値。
【0078】
比例公平スケジューリングアルゴリズムへの適応重みの適用
メトリックDRC/Tに基づいてサービスを提供するためにフローを選択する比例公平(PF)スケジューリングアルゴリズムは、cdma2000 1xEV−DOネットワークの下りリンクについて説明される。PFアルゴリズムは、ほぼ同数の伝送スロットを各ユーザに提供するように設計される。このようなスケジューリングアルゴリズムを機能強化するために、異なるタイプのアプリケーションに対する多様なQoS要件を満たすためにDRC/Tアルゴリズムを拡張し、最適化する適応加重DRC/Tアルゴリズムが本明細書において説明されている。各マルチメディアアプリケーションは、それぞれの特定のQoS要件を有する。スケジューリングアルゴリズムの目標は、多様なQoS要件を満たすことを含む。ここに提示されている、適応w*DRC/Tアルゴリズムとも呼ばれている適応アルゴリズムは、アプリケーションフローがマルチメディアアプリケーションサービスを含む、cdma2000 1xEV−DOネットワークの下りリンク用DRC/Tアルゴリズムに優る種々の性能利点を提供する。cdma2000 1xEV−DOネットワークの下りリンク上の遅延及びジッタに敏感なアプリケーションの遅延及びジッタ限度要件は、適応アルゴリズムを使用して満たされる。さらに、適応スケジューリングアルゴリズムによって、マルチメディアアプリケーションに関して、レート要件が満たされ、平均遅延が短縮されることが確実になる。マルチメディアアプリケーションは適応スケジューリングアルゴリズムの実現を説明するために一例として示されているが、ここに説明されている方法及び装置は、QoS要件またはそれと関連付けられる他の定量化できる要件を有する他のアプリケーションに適用されてよい。
【0079】
ウェブの閲覧及びゲームなどのレート要件及び待ち時間要件を有するアプリケーションの場合、適応スケジューリングアルゴリズムはレート保証を提供し、平均遅延を短縮する。レート要件だけを有する他のアプリケーションの場合、適応加重スケジューリングアルゴリズムはレート保証を満たすために使用されてよい。これらのQoS保証を提供する一方で、適応加重スケジューリングアルゴリズムはかなり高レベルで総スループットを維持するためにも機能し、純粋なPFスケジューリングアルゴリズムが使用されるときに達成される総スループットに近い総スループットを達成する。純粋なPFスケジューリングアルゴリズムとは、DRC/T計算を利用するアルゴリズムを指す。QoS違反のあるフローに特別な資源を与える一方で、適応加重スケジューリングアルゴリズムは公平に使用可能な資源を分散する。それと整合する多様な補償機構がここに示される。
【0080】
図4は、マルチメディアアプリケーションをサポートするシステム800を描いている。本発明が、フローがQoS要件を有する他のシステムにも適用可能であることに再び留意されたい。システム800はパケットデータサービスノード(PDSN)806に結合されるマルチメディアソース802を含む。PDSN806は、基地局コントローラ(BSC)804にも結合される。BSC804は、複数であってもよい。BSC804は基地局トランシーバシステム(BTS)808、810を介して多様なAT812、814、816、818等と通信する。システム800は描かれているものより多いBTSとATを含んでよい。3つのフローが描かれている。つまり、PDSN806、BSC804及びBTS808を介したマルチメディアソース802からAT812への第1のフロー、PDSN806、BSC804及びBTS810を介したマルチメディアソース802からAT816への第2のフロー、及びPDSN806、BSC804、及びBTS810を介してマルチメディアソース802からAT818への第3のフローである。1つのATが複数のフローの宛て先となり得ることに留意されたい。ある例では、エムペグ(MPEG)タイプのアプリケーションの伝送は、音声とビデオを別々のフローに分離する。
【0081】
システム800で送信される各アプリケーションフローは、関連付けられたソースアドレス、宛て先アドレス及びQoS要件を有する。次にアプリケーションフローはソースから宛て先への伝送のためにスケジュールされる。アプリケーションフローは、図4に描かれているものと同様に経路を横切る。
【0082】
各BTS808、810は図5に描かれているようなフローの待ち行列を保持するように適応されている。各BTSが自身の下りリンク(FL)で各アプリケーションフローに対応する一組の待ち行列を保持することに留意されたい。1つのアプリケーションフローは1つのATに向けられる。しかしながら、複数のフローが1つのATに向けられてよいことに留意されたい。各フローは自身に関連付けられるサービスの質グループ(QSG)タイプを有する。各QSGは、QoSパラメータの集合により定義される。あるQSGの各フローは、集合の中のパラメータのそれぞれに対して特定の値を有する。例えば、1つのQSGは遅延及びジッタを含む集合によって定義され得る。このようなQSGのそれらのフローは、遅延及びジッタに関する要件を指定する。待ち行列内のフローのそれぞれについて、BTSは3つの独立の待ち行列を含んだ集合を保持する。つまり(1)オリジナルの伝送待ち行列(Tx)、(2)再送待ち行列(Rx)、及び(3)自動反復要求待ち行列(ARQ)である。一実施形態では、ARQ待ち行列は早期決定ARQなどのBTSとMS間で実行される任意のタイプの再送機構のためのフローを格納する待ち行列に対応し得る。マルチメディアアプリケーションは、遅延限度要件を有するテレビ会議などの遅延に敏感なアプリケーションを含み得る。遅延限度は、ANからの伝送からATによる受信までに許容される指定時間である。適応加重アルゴリズムは、遅延限度要件を満たすため、及びこのようなアプリケーションのIPパケットが経験した平均遅延を短縮するために機能する。レート要件と平均遅延要件の両方を有するアプリケーションの場合、適応加重スケジューリングアルゴリズムはレート要件を満たすため、及び平均遅延を短縮するために機能する。
【0083】
マルチメディアビデオアプリケーションなどのいくつかのタイプのアプリケーションのための別の検討事項は、マルチメディア伝送における連続するパケット間が経る「ジッタ」である。ジッタは受信パケット間の時間の変動を指す。連続波形がわずかに早くまたはわずかに遅く受信機に到達するときにジッタは発生する。無線通信においては、このような波形は、通常、後に受信機で復号される論理1またはゼロを伝達する。ジッタとして定義されるタイミングの変動が、受信される伝送の視覚的な効果を歪ませる。適応加重スケジューリングアルゴリズムは、遅延に敏感なアプリケーションの場合の連続するパケット間の遅延変動だけではなく最悪のケースの遅延変動も削減する。
【0084】
多様なユーザのQoS要件を満足する一方で、適応アルゴリズムは、それらのフローが「準拠しているとき」(conforming)のアプリケーションフローのレート要件を満たすようにも設計される。アプリケーションフローは、予め指定されたトラヒックプロファイルごとにデータを送信している場合に、準拠していると称される。レート要件のあるフローが準拠していない場合、つまりそれらが予め指定されたのより多くのデータをそのトラヒックプロファイルで送信する場合、アルゴリズムはより低いデータレートのフローに、より高い優先順位を与える。適応加重アルゴリズムはここではcdma2000 1xEV−DOネットワークとの関連において説明されているが、本概念及び方法は他のタイプの無線ネットワークにも適用され得る。
【0085】
マルチメディアアプリケーションフローに関して、各フローは(1)トラヒックプロファイル、(2)QoSプロファイル、(3)インターネットプロトコル(IP)ソースアドレス及び(4)IP宛て先アドレスによって定義される。フローは、(5)L4プロトコルタイプ、(6)L4ポート番号、及び(7)L4宛て先ポート番号も含んでもよい。L4はプロトコルスタック内の転送制御プロトコル(TCP)/低信頼(Unreliable)データグラムプロトコル(UDP)層を指す。例えば、MPEGアプリケーションに対応するMPEG音声フロー及びMPEGビデオフローは別々のフローとして処理されてよい。
【0086】
各フローはトラヒックプロファイルによって指定され、それがそのトラヒックプロファイルに適応していることを確実にするために監視または変形される。トラヒックプロファイルは、σとして特定されるバースト性の測度及びrとして特定されるフローの平均データレートを表す変数により定義される。したがって、各フローはトラヒックプロファイル(σ、r)によって記述される。QoSプロファイルは、以下のパラメータの少なくとも1つにより定義される。つまり、(1)IPパケットについて伝送から受信までに対して許容される時間を定義し、「D」として特定される遅延限度。マルチメディアアプリケーションフローの場合、システムは遅延限度を指定することができる。ウェブ閲覧などのいくつかの他のアプリケーションフローの場合、システムは遅延限度の代わりに、あるいは遅延限度に加えて平均遅延(AvgD)を指定することができる。(2)ATでの受信パケット間の時間の最大許容変動を定義し、「j」として特定されるジッタ限度。(3)「R」または「req_rate」として特定されるサービスのレート(つまり要求レート)。
【0087】
遅延限度Dを定義するために、多様なAN要素及び1台のATを含むタイミング図である図6を参照する。マルチメディアフローは、PDSN、BSC及びBTSを介してマルチメディアソース(図示せず)からATに送信される。IPパケットは時間t0でPDSNから送信され、時間t3でATで受信される。パラメータDは、時間t0から時間t3までの最大許容時間を定義する。つまりDはt3−t0の範囲(複数の場合がある)を指定する。
【0088】
ジッタ限度jを定義するために、AN要素及び1台のATを含むタイミング図である図7Aを参照する。第1のパケットはPDSNから時間t1で送信され、ATで時間t1’で受信される。第2のパケットはPDSNから時間t2で送信され、ATで時間t2’で受信される。ジッタ限度jは、連続パケット間の最大許容変動を定義し、変数は(t2’−t1’)−(t2−t1)として与えられる。図7Bは複数のスロット上で送信される連続IPパケットをさらに詳説する。
【0089】
一実施形態では、QoSプロファイルは、QoSスケジューリンググループ(QSG)と呼ばれるグループに分類される。表1は、カテゴリを一覧表示する。
【表1】
【0090】
図8は、適応加重スケジューリングアルゴリズムに従ったフローの処理を例示する。フロー900、902、904及び906は、「S」が付されたスケジューリング装置908によって処理される。スケジューリング装置908は、適応加重スケジューリングアルゴリズムを適用する。適応加重スケジューリングアルゴリズムは、QSGプロファイルがフローのそれぞれに使用される。QSGプロファイルは、下記に詳述されるように、適応加重を計算するために使用される変数を特定する。スケジューリング装置908は、次に、選択されたATにスケジュールされた伝送を出力する。
【0091】
DRC/Tアルゴリズムと呼ばれるPFスケジューリングアルゴリズムが説明される。アルゴリズムにおいて、パケットが、例えばQ1、Q2、...Qmなどのm個の待ち行列へと分類される。DRC[k.n]を、スロットnについてフローkに対応し、移動局によって要求されるDRCとする。スケジューラは、選択メトリックY[.,.]の最高値の付いたフローを選択する。
【数1】
【0092】
Y[k,n+1]は、スロット(n+1)の中の待ち行列Qkのための選択メトリックである。ここで、
【数2】
【0093】
及び
【数3】
【0094】
ここで使用されるtcは時間定数であり、この時間定数で平均が計算される。
【0095】
適応w*DRC/Tアルゴリズム
一実施形態では、「適応w*DRC/T」アルゴリズムと呼ばれる適応加重スケジューリングアルゴリズムは、初期の重みを各フローに割り当てる。フローkに割り当てられる初期重みがwkによって示され、スロットnについてフローkに対応し、ATによって要求されるDRCがDRC[k,n]であると仮定する。適応w*DRC/Tアルゴリズムは、あらゆるスロットnの中のフローkごとに以下のメトリックを計算する。
【数4】
【0096】
ここではフローkとスロットnに関するスループット、Tk[n]は、PFアルゴリズムのDRC/Tについて定義されるとおりである。適応加重スケジューリングアルゴリズムで使用されるように、awk[n]はスロットnのフローkに関する適応重みである。適応w*DRC/Tスケジューリングアルゴリズムは複数のモードで動作し、モードはQSGによって定義される。スロットnのフローkに関する適応重み、awk[n]は、下記に詳説されるように、スケジューラモード及びさらに選択された方針または機構の組に基づいて計算される。式(4)がフローごとに計算され、適応重みが各フローに特定な公式化に従って計算されることに留意されたい。言い換えると、スケジューリングアルゴリズムはあるフローのQoSプロファイルを考慮し、QoSを用いて、フローのための適応重みの計算を行う。このようにして、さまざまなQoS要件を有するさまざまなフローが、異なるように計算される適応重みを有し得る。スケジューリングアルゴリズムは、次にYk[n]という最高値のフローを選択して、スロットnでサービスを提供する。
【0097】
適応w*DRC/Tスケジューラは次のモードで動作する。
【0098】
モードI[aw*DRC/T](r,d,j):遅延及びジッタに敏感で、遅延限度及びジッタ限度に関する厳しい要件を有し、なんらかの最小レートを要求するアプリケーションに対して設計される。
【0099】
モードII[aw*DRC/T](r,d):平均遅延要件及びレート要件のあるアプリケーションに使用される。
【0100】
モードIII[aw*DRC/T](r):指定されるレート要件だけを有するアプリケーションに使用される。
【0101】
モードIV[DRC/T]:QoS計画を指定しないが、DRC/Tアルゴリズムによってサービスの提供を受けるフローのために使用される。
【0102】
QoS要件に基づいて、あるフローに対して、適応w*DRC/Tアルゴリズムの特定のモードが指定されてよい。モードIIは、スケジューラによってそのフローに指定されるスループットを増加するためにあるフローに対して使用されてよい。例えば、モードIIは対応するアプリケーションフローのためのスループットを潜在的に増加するためにFTPアプリケーションのために使用されてよい。
【0103】
アプリケーションをグループ化する、つまりQSGの一例が以下に示される。
【0104】
グループI:遅延限度及び遅延変動に関する厳しい要件のあるボイスオーバIP(VoIP)のようなアプリケーション。多くの場合、このようなアプリケーションはレート要件(複数の場合がある)も有することに留意されたい。スケジューラモードIを使用する。
【0105】
グループII:遅延限度及び遅延変動に関する厳しい要件のあるマルチメディア会議アプリケーション。これらのアプリケーションのいくつかは適応型であっても、一貫した高品質のためにサービスのレートを確実にすることが望ましい。スケジューラモードIを使用する。
【0106】
グループIII:遅延限度、レート及び遅延変動に関する要件のあるビデオストリーミングアプリケーション。スケジューラモードIを使用する。
【0107】
グループIV:レート及び(平均)遅延要件のあるウェブ閲覧アプリケーション、スケジューラモードIIを使用する。
【0108】
グループV:レートのあるFTPアプリケーション、スケジューラモードIIIを使用する。または、遅延制約が緩められたスケジューラモードIIを使用する。
【0109】
グループVI:ベストエフォートアプリケーション、適応加重を使用することなく、PFアルゴリズム、つまりDRC/Tアルゴリズムを使用する。
【0110】
データベーストランザクション、ゲーム及び他のアプリケーションが、それぞれのQoS要件に従って適切なグループに分類されてもよいことに留意されたい。
【0111】
図9は、レベルIとレベルIIを含む(これらに限定されない)複数のレベルを有する適応加重スケジューラを描く。レベルIスケジューラは複数のスケジューラS1、S2、S3,...Smを有し、mはグループの総数を指す。図9の各レベルIスケジューラは適応w*DRC/Tスケジューリングアルゴリズムのある特定の動作モードを実行し、そのグループから1つのフローを選択する。第1に、レベルIスケジューラはYの一部、特にスループットT及びレート補償係数αを計算する。次に、レベルIIスケジューラはフローを検討し、レベルIスケジューラによる選択メトリックYの完全な計算に十分な入力をレベルIスケジューラに供給する。いったんYがすべての未決フローに関して完全に計算されると、レベルIスケジューラはY値を評価し、Yの値が最も高いフローを選択する。各レベルIスケジューラは類似したQoS要件を有するフローのグループを評価する。各レベルIスケジューラの選択されたフローは、次に他のグループからのフローとの比較のためにレベルIIスケジューラに供給される。レベルIIスケジューラはグループごとに1つ選択されたフローを検討し、メトリック(aw*DRC/T)つまりYが最も高いフローを選択する。このプロセスは、スケジューラがサービスを提供するフローを選択する必要があると、スロットごとに繰り返される。別の実施形態は1つのレベルスケジューラを使用してよい、あるいは図9に描かれているより多くのレベルを使用してよい。別の実施形態は別の数のレベルIスケジューラを含んでよく、レベルIスケジューラはフローの編成に応じる。
【0112】
包括的に、適応重み計算は複数のパラメータの関数として与えられ、以下として示される。
【数5】
【0113】
遅延補償関数はΦとして特定される。待機時間パラメータはγとして特定される。レート補償関数はαとして特定される。DRC補償関数はβとして特定される。機能拡張されたジッタ補償係数はδとして特定される。パラメータのすべてがすべてのマルチメディアサービスのための実質的な値を有するわけではないことに留意されたい。例えば、あるフローの唯一のQoS要件が、指定されたデータレートであるときには、変数αが指定され(レートパラメータは実質的な値を有し)、他のすべてのパラメータが値1に等しく設定される。このケースでは、適応重み計算にレートパラメータだけが含まれる。一実施形態では、適応重みは以下のように計算される。
【数6】
【0114】
ここで、演算子は乗算である。以下の説明は、適応重み計算に含まれ得る多様な補償項の詳細を提供する。
【0115】
モードIアプリケーションの場合、QoSプロファイルは式(6)に示されるパラメータのすべてを指定する。適応重み計算は、遅延閾値違反に起因する遅延補償、待機時間閾値違反に起因する遅延補償、レート違反に起因するレート補償、及び機能強化されたジッタ閾値違反に起因する機能強化ジッタ補償を考慮する。概念は、指定されたQoS要件を違反しているフローの重みを増やすことである。QoS要件(複数の場合がある)の違反時にトリガされ、このようなフローにはクレジットが与えられる。クレジットは、遅延補償関数に適切な値でフローの重みを乗算することにより実現される。これは、さらにレート補償及び機能強化されたジッタ補償によって乗算される。
【0116】
対照的に、フローが過剰なサービスを享受していると考えられるときには、このようなフローがペナルティを課される可能性がある。フローは種々の方法のどれかでペナルティを課され得る。ある方法によれば、フローはフロー重みを減ずることによって直接的にペナルティを課され得る。別の方法によれば、フローは遅れをとっている他のユーザ(つまり必要とされるQoSを達成していないフロー)の重みを増加する一方で、フロー重みを維持することによって間接的にペナルティを課され得る。
【0117】
遅延閾値の違反(複数の場合がある)の埋め合わせを行うために遅延補償を計算するための種々の機構がある。フローkに関する遅延閾値がdth_φkによって示され、スロットnのフローkに関する遅延閾値違反に起因する遅延補償がφk[n]によって示されると仮定する。遅延補償φk[n]を計算するために、フローごとに3つすべての待ち行列(つまりTx、RTx及びARQ)内のパケットを考慮する。
【0118】
フローが複数のスロットを連続して消費したり、他のフローを飢えさせたり(starve)しないことを保証するために、φに対する最大閾値と最小閾値も、フローごとに指定される。これは、遅延閾値違反によるフローの遅延補償項が最小閾値と少なくとも同程度に有効であることを確実にするためにも設定される。φthres,min,k及びφthres,max,kをフローkについて指定される最小閾値と最大閾値とする。この結果、(すべてのkとすべてのnについて)以下となる。
【数7】
【0119】
以下の定義が使用されて、遅延補償の計算が進められる。
【0120】
D[n]:スロットの始まりで遅延閾値違反を経験するフローの集合を定義する(つまり、このようなフローのそれぞれは、そのフローの遅延閾値を越えた、少なくとも1個のパケットを、スロットnの始まりにおいて有する)。
【0121】
defpktsk[n]:スロットnの始まりでのフローkにについて「不足(deficit)」パケットを定義する。不足パケットとは、フローの中でまだ送信されていないパケットであり、defpktsはフローkに関して遅延閾値より長くBTSに留まった、
等しいサイズの(MAC)パケット数として特に定義される。
【0122】
required_ratek:フローkの要求レートを定義する。
【0123】
ndefpktsk:以下のように特に定義される、フローkについて正規化された不足パケット数を定義する。
【数8】
【0124】
BTS、BSC及びPDSN内のパケットが等しくないサイズあるかも知れなく、したがってパケットの代わりにここで不足ビット数をカウントすることは有益であることに留意されたい。
【0125】
フローのHOLパケットが事前に指定された閾値より長い時間期間の間BTS待ち行列にある場合、フローは以下の機構を使用して補償され得る。この目的で使用される待機時間閾値は、φを計算するために使用される閾値以上でなければならない。フローkに関する待機時間閾値はdth_γkによって示され、待機時間閾値はdth_γk≧dth_φk、∀kによって制約される。フローのHOLパケットを選択するために、最初にフローのTx待ち行列、RTx待ち行列及びARQ待ち行列からのHOLパケットを検討し、BTSでの待ち時間に基づいて待ち行列を選択する。つまり最も長い期間BTS内で待機している待ち行列を選択する。γk[n]をスロットnの始まりにあるフローkに関する待機時間補償とし、Sk[n]をスロットnの始まりでフローkのHOLパケットがBTS待ち行列で費やした時間とする。フローkごとに、また、最小閾値Sthres,min,k及び最大閾値Sthres,max,kが指定され、
【数9】
【0126】
を満たす。
【0127】
一実施形態によれば、フローが遅延閾値違反または待機時間閾値違反を経験しているときに、遅延補償が適用される。この機構はDRCデータレート要求を適応重みに適用する。βk[n]をスロットnでのフローkについてのDRC調整関数とする。フローkごとに、最小閾値βtmin,thres,k及び最大閾値βmax,thres,kが指定され、
【数10】
【0128】
を満たす。
【0129】
前述された補償機構が、映像/音声会議などのいくつかの用途のためのフローの遅延変動を削減するのに役立つ一方、遅延変動(ジッタ)制御をより効果的に含み、遅延変動をさらに削減することが望ましい場合がある。以下の機構は、フローの連続パケット間の遅延変動を削減することによって効果的な遅延変動制御を提供する。さらに大きなIPパケットサイズのフローはこの補償機構からより多くの利点を得る。
【0130】
at(k,j)がBSCの進入時にフローkのIPパケットjの到着時間であると仮定する。dt(k,j)を、BTSからのこのIPパケットの出発時間とする。つまり、このときまでに、このIPパケットのすべての部分はBTSにおける下りリンクスケジューラによって送信されている。pendk,j[n]をBTSとBSCでのフローkのIPパケットjのバイト単位での総長とする。また、dvk,targetがフローkについての連続IPパケット間のターゲット遅延変動(ジッタ)であり、dvk,thresがdvk,thres<dvk,targetとなるようにこのフローについて事前に指定された機能拡張ジッタ閾値である。一実施形態では、アルゴリズムは、連続IPパケット間の遅延変動がdvk,thresを超えるときにフローkの機能強化された変動補償機構をトリガする。
【0131】
図10は一実施形態に対応するアーキテクチャ図を提供する。各アプリケーションフローは、トラヒックプロファイル、QoSプロファイル及びDRC要求、つまり要求データレートによって説明される。各トラヒックプロファイルはバースト性の測度及び平均データレートを含む。各QoSプロファイルは、クラスタイプ及びパラメータ限度を含む。クラスタイプはモードI、モードII、モードIII、またはモードIVの内の1つであってよい。限度は遅延、ジッタ及び要求データレートの限度を指定する。ウェブ閲覧などのいくつかのアプリケーションは遅延限度の代わりに平均遅延を指定してよい。モードIに関する遅延閾値はジッタ限度未満となるように選ばれ、モードIIの場合、遅延閾値は平均遅延未満となるように選ばれる。機能拡張されたジッタ閾値はジッタ限度未満となるように選ばれる。別の実施形態では、各アプリケーションフローにさらに多くのまたはさらに少ない情報を適用してよく、QoS要件はネットワーク及び構成に固有であってよい。
【0132】
図11は、クラスタイプごとのQoS要件及びQoSパラメータを明記する表である。示されているように、モードIVが、QoS要件が指定されないベストエフォートに対応する一方、モードIは最も厳しい要件に対応する。別の実施形態は他のQoS要件、QoSパラメータ及び/またはモードを含んでよい。
【0133】
図12Aから図12Eは、アプリケーションフローの処理及びアクティブなアプリケーションフローの一部としてのそのアプリケーションフローのスケジューリングを描いている。図12Aは、個々のアプリケーションフローのための初期化及びセットアップを描く流れ図である。プロセスは、ステップ1100で開始して補償パラメータごとに使用される機構を選択する。補償パラメータは、遅延(Φ)、未決時間(γ)、DRC(β)、ジッタ(δ)、及びレート(α)を含むが、これらに限定されない。ステップ1102では、適用可能な補償パラメータに関する閾値が選択される。補償パラメータがANにとって重要なアプリケーションフローの任意のパラメータを含む場合があることに留意されたい。ステップ1102では、中間重みを計算するためのアルゴリズムが選択される。中間重みは、スケジューリングのために使用される適応重みを計算する上で使用される。ステップ1106では、適応重みを計算する上で使用されるスケーリングパラメータ(C)及び優先順位係数(Z)の両方が設定される。ステップ1108では、このアプリケーションフローの初期重みが設定される。ステップ1110では、アプリケーションフローのQoS要件が評価される。DRC要求により特定されるレート以外に指定されるQoS要件がない場合、デフォルト条件が使用される。デフォルト条件は前述されたように「ベストエフォート」と呼ばれる。この場合、デフォルト処理によって、このアプリケーションフローに使用される補償係数のすべては1に等しく設定される。本実施形態の場合、このケースでは、式(6)の計算で乗算演算子が使用され、したがって係数を1に設定すると、結果、それらの係数が無視される。つまりそれらの係数は加重に影響を及ぼさない。別の実施形態では、他の機構及び関数を実現してよく、したがって特殊な係数またはすべての補償係数を無視するために他の機構を使用してよいことに留意されたい。
【0134】
ステップ1112と1116でベストエフォート処理が続行する。結果として生じるスケジューリング係数の計算は、比例公平計算と一致している。アプリケーションフローがQoS要件を有する場合、処理はステップ1114に続行する。ステップ1114と1116は、以後の図で続行される処理を示す。
【0135】
図12Bはステップ1114から図12Aの処理を続行する。ステップ1120で、現在のスロットの処理が開始する。ステップ1122では、アプリケーションフローのクラスタイプとしての決定が下される。モードIはステップ1128で処理され、モードIIはステップ1126で処理され、モードIIIはステップ1124で処理される。モードIのQoSパラメータはステップ1128で監視される。モードIIのQoSパラメータはステップ1126で監視される。モードIIIのQoSパラメータはステップ1124で監視される。次にQoS違反チェックが、図12C及び図12Dにさらに詳説される、ステップ1130、1140及び1150で行われる。
【0136】
アプリケーションフローの処理は、モードI、IIまたはIIIアプリケーションに関しては、図12Cのステップ1130に続行する。ステップ1132では、アルゴリズムはレート違反がないか周期的に監視する。レート補償計算が周期的に実行され、それ以後複数のスロットについて使用されることに留意されたい。レート違反がステップ1134で検出されると、処理はステップ1138に続行して補償係数(α)を計算する。さもなければ、レート補償係数(α)はステップ1136で1に等しく設定される。次に処理は図12Eにさらに詳説されるステップ1160に続行する。
【0137】
アプリケーションフローの処理は、モードIまたはIIアプリケーションに関しては、図12Cのステップ1140に続行する。ステップ1142では、方法は各スロットで遅延違反及びジッタ違反がないか監視する。遅延及び/またはジッタ違反がステップ1144で検出されると、処理はステップ1148に続行し、初期化時に選択される機構に従って遅延補償係数(Φ)を計算する。機能拡張されたジッタ補償を要求したモードIフローの場合には、機能拡張されたジッタ補償係数(δ)も次いで計算される。機能拡張されたジッタ補償を要求しなかったモードIフローの場合、及びモードIIフローの場合、δは1に等しく設定される。または、遅延補償係数(Φ)はステップ1146で1に等しく設定され、δは1に等しく設定される。処理は、次に図12Eにさらに詳説されるステップ1160に続行する。モードIまたはIIアプリケーションフローの場合、違反チェックは直列または並行して行われてよい。言い換えると、レート違反及び遅延/ジッタ違反のチェックは時間的に連続して、または同時に実行されてよい。
【0138】
アプリケーションフローの処理は、モードIアプリケーションに関しては、図12Dのステップ1150に続行する。ステップ1152では、方法は待機時間違反がないか監視する。待機時間違反がステップ1154で検出されると、処理は、ステップ1158に続行して初期化時に選択された機構に従って待機時間補償係数(γ)を計算する。さもなければ、待機時間補償係数(γ)はステップ1156で1に等しく設定される。処理は、次に図12Eにさらに詳説されるステップ1160に続行する。モードIアプリケーションフローの場合、違反チェックが直列または並行して行われてよいことに留意されたい。言い換えると、レート違反、遅延/ジッタ違反及び待機時間のチェックは時間的に連続してまたは同時に実行されてよい。
【0139】
図12Eは、ステップ1160及びステップ1116からの処理を描いている。ステップ1162は、以下に示されるように、QoSパラメータ及び補償係数の関数としてアプリケーションフローの適応重みを計算する。
【数11】
【0140】
ステップ1164では、スケジューリング係数またはスケジューリングメトリックが、以下のように計算される。
【0141】
スケジューリング係数=aw*(DRC/T) (10)
スケジューリングアルゴリズムは、次にアクティブなアプリケーションフローのそれぞれに関して計算されるスケジューリング係数に従ってアプリケーションフローをスケジュールする。
【0142】
図13は、一実施形態によるスケジューリングアルゴリズムを適用するよう適応されたBTS1200を描いている。BTS1200は、それぞれが通信バス1210に結合されるスケジューリング装置1202、アプリケーションフロー処理装置1206、QoSパラメータ評価1204、適応重み計算装置1212、及びCPU1208を含む。スケジューリング装置1202はアプリケーションフローごとにスケジューリング係数を作成し、次にスケジューリング係数に従って多様なアクティブなアプリケーションフローから選択することによりスケジューリングを実行する。所与のシステムの方針及び目標はスケジューリングアルゴリズムに組み込まれる。QoSパラメータ評価1204はQoS違反がないか監視し、情報をスケジューリング装置1202と重み計算装置1212に提供する。アプリケーションフロー処理は、パケットを宛て先ATに向けることと、宛て先ATからスケジューリングのために使用されるQoS情報を受け取ることと、QoSパラメータ評価1204にこのような情報を供給することとを含む(これらに限定されない)処理を実行する。BTS1200は、中間情報を記憶し、平均、フロー待ち行列等を計算するために使用されるデータを保持するためのメモリ1214も含む。違反チェックはBTSで実行される。一実施形態は、フローごとに送出されるバイト数をカウントし続け、それをレート違反チェックに使用する。各パケットは、BSCに到達するとタイムスタンプを刻印される。パケットがAN、BSCまたはBTSに留まっている限り、時間は増分し続ける。BTSは閾値違反の検出のためにこの時間を使用し、次に、フローに従って遅延関数、待機時間関数、または機能強化されたジッタ補償関数を計算する。
【0143】
許可制御
許可制御とは、データサービスを要求するユーザにエントリを許可する際の決定プロセスを指す。新規ユーザがQoS要件を有するアプリケーションなどのデータサービスを要求すると、ANはこのような使用をサポートするために使用可能な資源があるかどうかを判断する。許可プロセスは、QoS統計とネットワーク統計だけではなく、要求されたアプリケーション、現在の使用量も考慮する。ANが新規ユーザがサポートされてよいと判断すると、対応するアプリケーションフローが許可される。または、現在使用可能な資源がない場合には、アプリケーションフローは、拒絶されるか、待ち行列に入れられ、ステータスの変化を待つ。新規ユーザが実際には追加のサービス、つまり追加のアプリケーションフローを要求している現在アクティブなアプリケーションフローを有しているユーザであり得ることに留意されたい。
【0144】
許可制御に加えて、及び許可制御の一部として、アクティブアプリケーションフローを終了するために先処理のプロセスが実現されてよく、そこでは現在の動作状態が先処理決定を下すために評価される。この場合、現在のフローのそれぞれは、データレートだけではなくQoS違反についても評価される。
【0145】
本項は、適応セクタ単位許可制御アルゴリズムを提示する。このような許可制御アルゴリズムは、ある無線マルチメディアネットワークでフローを許可する(つまり先処理する)かどうかを決定する。したがって、あるネットワークで許可されてよい(各クラスの)フロー数を決定することが可能である。本明細書で提示されている許可制御アルゴリズムの実施形態は、ユーザ間、及びユーザ内のQoS監視を実行するための機構を含み、次にこの情報を許可及び/または先処理決定に利用する。このような実施形態は、フロー単位及びユーザ単位のQoS要件が許可されたフロー及びユーザについて満たされていることを確実にするように設計されている。このような機構は許可制御アルゴリズム及び階層スケジューリングアルゴリズムの調整を容易にする。
【0146】
スケジューリング及び許可制御は、無線ネットワークの下りリンク(FL)QoS管理の一部であり、このような管理は複雑な課題である。QoS管理は通信網の設計及び運用における重大な検討事項である。アプリケーションフローはシステムにより定義されるような基準に従って分類される。一実施形態では、この分類はQoS要件に従っている。第1に、許可制御は現在の動作状態の元で許可され得るフローの数を決定する。このフローの数は次にクラス単位のフロー数に分割される。システムは、次にそれぞれの許可されているフローについてQoS要件を満たすために動作する。フロー数が経時的に、及びアプリケーションのタイプにより動的に変化し得ることに留意されたい。例えば、第1の時点で、アクセスネットワーク(AN)は、特定数のフローが各タイプのアプリケーションに対して許可されている第1のシナリオをサポートしているかも知れない。第2の時点で、ANは、異なる数のフローがアプリケーションのタイプの内の少なくとも1つに対して許可される第2のシナリオをサポートしているかも知れない。
【0147】
スケジューラ(つまりスケジューリングアルゴリズム)は、許可されたフローの間で公平を期す方策を実施する。スケジューラは、さらにQoS違反を有するフローの優美な回復を実行しようと努める。運営者の収益及び利益は、使用されるスケジューリングアルゴリズムの有効性に依存している。さらに効率的で機能豊富なアルゴリズムはこれらの利益を増加するための機会を与える。
【0148】
許可制御に関して、一実施形態では、加入係数に基づいた方法が実現される。加入係数に基づいた方法が多くの場合有線(wireline)ネットワークのための許可制御アルゴリズムで使用されることに留意されたい。無線ネットワークでは、各ユーザのチャネル状態は変化し続けるため、BTSスケジューラから見た下りリンク容量も変化し続ける。有線加入係数に基づいたアルゴリズムは不変のリンク容量を仮定しているため、無線ネットワークではそのまま適用できない。
【0149】
無線ネットワークの場合、一実施形態では、FL管理のための適応加入係数(ASF)に基づいた許可制御アルゴリズムが提供され、そこではネットワークはQoS要件を有する複数のアプリケーションフローがサポートされる。無線ネットワークにおけるASF許可制御により、QoS統計及びネットワーク統計を監視することにより加入係数が動的に更新される。多様な機構が使用されて更新機能が実行される。したがって、適応加入係数を使用して補正処置を講じることが可能である。さらに、ASFは先処理法を実現するために使用される。
【0150】
ASF、AS(t)は毎時tに計算される。プロセスは、AS(t)が1<ASmin_prespecified≦AS(t)≦ASmax_prespecified<∞,∀tとなるように、AS(t)についての最小閾値ASmin_prespecifiedと最大閾値ASmax_prespecifiedを求める。初め、値SinitialがASFに割り当てられ、その結果AS(0)=Sinitialとなる。
【0151】
図14は、最大データレート、予約帯域幅、及び使用可能な帯域幅を時間の関数としてプロットするタイミング図である。BTSが下りリンクでデータを送信し得る最大レート(Lmax)は、資源の割り当てのための上限となる。アクティブなアプリケーションフローが評価されて予約済み帯域幅Res(t)が決定される。QoS違反及びネットワーク負荷関連の統計を使用して、時刻tで予約されることが所望される適応加入係数及び下りリンク容量の推定値L(t)の計算が実行される。L(t)≦Res(t)であり得ることに留意されたい。例えば、許可フローがそれらが許可されたときに非常に良好なチャネル状態を享受していたと仮定する。いま、複数のフローのチャネル状態が悪化し、いくつかのフローは関連付けられたQoS保証を達成していない。この場合、システムはさらに多くのフローを許可することに控えめになり、Avail(t)=0と設定することを所望し得る。他方、L(t)>Res(t)の場合、システムはAvail(t)=L(t)−Res(t)と設定し得る。したがって、値L(t)は過去のQoS違反統計及びネットワーク負荷関連統計に基づいて時刻tにおいて予約されることが所望される下りリンク容量の推定値であり、LmaxとASFの関数として以下のように計算される。
【数12】
【0152】
制約が付き、
【数13】
【数14】
【0153】
である。使用可能な帯域幅Avail(t)は以下のように計算される。
【0154】
Avail(t)=maximum (L(t) - Res(t), 0) (14)
図14に描かれているような資源の多様な測度は、ユーザから受信されるデータレート制御(DRC)データ要求により決定される。各ユーザは、上りリンクでDRCデータ要求を送信する。cdma2000 1xEV−DOまたは他のHRPDタイプのシステムでは、ユーザはRL伝送の各スロットでDRCデータ要求を送信する。描かれているように、ユーザ1からのデータ要求(DRC 1)及びユーザ2からのデータ要求(DRC2)は経時的に変化する。データ要求及び所要のQoSは予約帯域幅(Res)を決定する。DRC値とResの関係が説明図として示されることに留意されたい。別の実施形態及びシナリオは別の関係を招き得る。
【0155】
各アプリケーションフローは、平均レート及びバースト性という点で特定されたトラヒックプロファイルを有し、フローfkのトラヒックプロファイルは(σk,rk)で与えられる。ここでは、rkはフローfkについての平均要求レートであり、σkはバースト性の測度であり、フローfkについての要求レートはreq_rate(fk)=rkで与えられる。
【0156】
一実施形態によれば、許可制御は、許可のために、フローfkを評価する。許可制御は、最初に、フローfkに対応する、ユーザについての観察されたDRCu(fk)を適用して要求レートを満足させる。観察されたDRCは以下のように、そのユーザについての平均DRCデータ要求以下である。
【数15】
【0157】
ASF、AS(t)の計算が行われ、次にこれらを用いてAvail(t)が以下のように計算される。
【数16】
【0158】
最後に、時刻tでのフローfkに対する許可の決定を検討する。
【数17】
【0159】
フローfkが許可されると、図14に描かれているような資源の測度は以下のように更新される。
【数18】
【数19】
【0160】
ANは、すべての許可されたフローについてQoS統計を監視し続け、ネットワーク関連統計を監視し続ける。この監視は、加入係数を適応するためのフィードバックを供給する。
【0161】
AS(t)についての適応方法:セクタ単位のQoS統計及びネットワーク統計
図18Aから図18Eは、QoS要件を有する複数のアプリケーションフローをサポートするシステムの許可制御のための方法300の流れ図を提供する。図18Aでは、新しいフローのための要求が判断菱形302でANによって受け取られると、許可制御手順がステップ304で稼動される。さもなければ、プロセスは新規フロー要求を待つ。この時間の間、ANは、現在の動作状態を監視し続けて現在アクティブなフローに関するQoS統計及びフローについてのネットワーク統計を進展させることに留意されたい。許可制御手順は、新しいフローをサポートするために資源が使用可能であるかどうかを判断する。図14に描かれているような資源の測度はステップ305で更新される。新しいフローが判断菱形306で許可された場合に、処理は適応スケジューリングプロセスの適用のためにステップ307に続行する。
【0162】
ステップ304の許可制御手順は図18Bにさらに詳説される。判断菱形308で、フローfkについての要求レートがフローfkについての平均DRCデータ要求より大きい場合、処理はステップ312に続行してフローfkのエントリを拒絶する。さもなければ、処理は、判断菱形310に戻ってfkについての要求レートが時刻tでの使用可能な資源Availを上回っているかどうかを判断する。要求レートがAvail未満である場合には、フローはステップ314で許可される。さもなければ、フローはステップ312で拒絶される。
【0163】
ステップ305の資源の測度の更新は、図18Cにさらに詳説される。ステップ320では、資源の測度Avail及びResが更新される。QoS統計はステップ322で更新され、監視される。ASFはステップ320と322の結果に基づいてステップ324で更新される。推定された資源レベルLはステップ326で計算し直される。新しいフローがステップ328で要求されると、処理は図18Aのステップ304で処理のために戻る。新しいフローがステップ328で要求されない場合には、セクタ内のユーザの存在がステップ330でユーザごとに決定される。ステップ332では、サンプル持続期間が決定される。
【0164】
図18Dに続行して、QSGパラメータがフローごとに選択される。2つの平行な処理経路が考慮される。第1の経路はレートサンプル間隔でステップ342でレート違反を処理する。レートサンプル間隔はステップ332で計算されるサンプル持続期間を上回っていることに留意されたい。第2の経路はアクティブフローの処理を詳説する。あるフローに関して、プロセスはステップ344でサンプル持続期間中における遅延違反を有するIPパケットの割合を求める。ステップ346では、サンプル持続期間中におけるジッタ違反のあるIPパケットの割合が検討中のフローについて計算される。サンプル持続期間中にフローによって使用されるスロットの割合がステップ348で計算される。ステップ350では、プロセスはサンプル持続期間中にQoS要件を有するフローに与えられるスロットの割合を決定する。ステップ352では、プロセスはQoS違反がないかチェックし、ステップ354でQoSグループIDを決定する。
【0165】
処理は、図18Eに続行し、ここでステップ360がQoSグループごとにフロー数を計算する。ステップ362では、プロセスは各QoS統計に対応するQoSフローの割合を計算する。ステップ360と362の結果は、ステップ364での所定閾値と比較される。閾値が演算中動的に更新され得ることに留意されたい。ステップ366ではASFは相応して調整される。
【0166】
図18Aから図18Eは許可制御方法の一実施形態を示す。許可制御方法のさらなる詳細が以下に後述される。BTSなどのAN要素は、フローごとのセクタ単位の統計を収集し、セクタ単位の許可制御及び先処理アルゴリズムのためにこの情報を使用する。セクタ単位の統計は、そのフローに対応するユーザがそのセクタ内にいる持続期間の間だけ収集される。BTSはQoS統計及びネットワーク関連統計を周期的に収集する。Tを、これらが収集された後の時間期間とする。Zはサンプル指数t=Z*Tである。
【0167】
セクタsのフローfkを考慮する。u(fk)はフローfkに対応するユーザである。ユーザは時刻tenterでセクタsに入る。資源がセクタs内の持続期間[treserve(fk,s),tfree(fk,s)]の間、このフローのために予約される。ここで、資源は時刻treserveに予約される。ユーザがアプリケーションサービスを要求した時点で資源が予約される。ユーザu(fk)はtenter,j(fk,s)に持続期間内でj回目のセクタsへの進入を行い、tleave,j(fk,s)にj回目の退出を行う。したがって、treserve(fk,s)≦tenter,first(fk,s)及びtfree(fk,s)≧tleave,last(fk,s)となる。ANが、ユーザが将来のなんらかの時点でこのセクタに移動する可能性があると予想して、QoSシグナリングプロトコルを介してフローのための資源を予約するように命じられることがあり得ることに留意されたい。ここでは、tenter,first(fk,s)は、ユーザu(fk)がこのセクタsに入る初めてのときであり、tleave,last(fk,s)は、このユーザがフローfkが有効な間にセクタsを退出する最後のときである。
【0168】
アルゴリズムは、時刻tの時点で以下の条件が満たされる場合にだけ、時刻tにおいてQoS統計およびネットワーク関連性能統計を考慮に入れる。
【数20】
【数21】
【数22】
【0169】
ここではδ(fk)及びθ(fk)はフローfkについて事前に指定され、IN_IP_PKTS(fk,t,s)は、セクタs内の期間(max(t−T,tenter_latest(fk,s)),t)中のBTS下りリンクスケジューラによる伝送が予定されるフローfkについての入力IPパケットの数である。IPパケットの最後のビットがセクタs内で伝送されると、そのビットはセクタについてのIN_IP_PKTSでカウントされる。変数δ(fk)は、その後セクタ内での存在が示唆される時間を指す。言い換えると、いったんユーザがδ秒セクタsの中にいると、プロセスは資源の評価を開始する。いったん許可されると、ユーザは再許可を必要とせずにセクタを退出し、セクタに最進入することができる。
【0170】
QoS統計及びネットワーク統計は、次に、アプリケーションサービスを要求するフローごとの許可基準を評価するために使用される。期間(max(t−T,tenter_latest(fk,s)),t)でのセクタs内のフローfkに対応する遅延したIPパケットの割合は以下のように計算される。
【数23】
【0171】
ここで、DELAYED_IP_PKTS(fk,t,s)は時刻tまでにセクタsについてBTSでのフローfkの対応する遅延限度を超えて遅延したIPパケットの数に相当する。セクタsでのIPパケットについての遅延違反の検出時、そのセクタについての遅延違反のカウントが増分される。時刻tまでのフローfkについてのジッタ限度違反を有するIPパケット組の割合は以下のように計算される。
【数24】
【0172】
ここで、JTR_VIOL_PKT_PAIRS(fk,t)は、フローfkについての、スロットtによるジッタ限度違反のある(連続IPパケットの)IPパケット組の数に相当する。これは、あるセクタについて、あるフローに関する2個の連続IPパケットがあるセクタで送信されるときにカウントされる。
【0173】
期間(tenter_latest(fk,s))の間のフローfkのレート違反は
【数25】
【0174】
であり、req_rate(fk)>served_rate(fk,t,s)である。それ以外の場合、フローfkに時刻tでのレート違反がないときには、期間(tenter_latest(fk,s),t)の間のセクタsのフローfkについてのserved_rate(fk,t,s)が計算される。
【0175】
遅延及びジッタの違反の場合には、プロセスは期間(max(t−T,tenter_latest(fk,s)),t)としてサンプル持続期間を適用するが、レート違反の場合、プロセスは期間(tenter_latest(fk,s),t)としてサンプル持続期間を適用することに留意されたい。
【0176】
期間(max(t−T,tenter_latest(fk,s)),t)の間にフローfkによって使用されるスロットの割合は、以下のように計算される。
【数26】
【0177】
ここで、SERVED_SLOTS(fk,t,s)は、フローfkが(max(t−T,tenter_latest(fk,s)),t)によって定義される期間中サービスを受けたスロット数であり、IN_SECTOR(fk,t,s)は期間(max(t−T,tenter_latest(fk,s)),t)の間のスロットの総数である。期間(t−T,t)の間にセクタsでQoS要件を有するフローに与えられるスロットの割合は、
【数27】
【0178】
のように示される。
【0179】
動的フロー分類
フローfkごとに、以下の4つの閾値が事前に指定され、フロー単位のQoSチェック及びチャネル状態関連チェックを実行するために使用される。
【0180】
Frac_delayed_IP_pkts_thres(fk)、
Frac_jitter_viol_IP_pkts_thres(fk)、
rate_viol_thres(fk)、及び
Frac_slots_viol_thres(fk)
システムは期間Tの後ごとに周期的にASFを適応させる。Tは事前に指定された値である。Z回目の適応チェックが実行されるある時刻t(つまり、t=Z*T)で、プロセスはセクタsで予約されたいくつかの資源を有するフロー、つまりtreserve(fk,s)≦t≦tfree(fk,s)であるそれらのフローを検討する。このフローの組からのフローfkごとに、以下の「フロー単位閾値チェック」を評価するためにチェックが行われる。
【数28】
【数29】
【数30】
【数31】
【0181】
前記4つのチェックは、以下の2つの条件が満たされる場合にフローfkについて実行される。
【数32】
【数33】
【0182】
条件(32)、(33)の少なくとも1つがあるフローについて満たされないが、treserve(fk,s)≦t≦tfree(fk,s)が真であるときには、このフローについての閾値チェックの結果がそのフローについてNAであると記される。
【0183】
プロセスはQoS、サンプル持続期間中、要件を有するフローについて使用されるスロットの割合を計算し、この割合の値についての閾値も計算する。Frac_slots_thres_quos_flows(s)はセクタsの期間TでQoS要件を有するフローに割り当てられるスロットの割合に対する上限閾値である。Frac_slots_thres_quos_flows(s)の値は、
【数34】
【0184】
かどうかをチェックするために使用される。
【0185】
プロセスは、現在のフローを以下のQoSスケジューリンググループ(QSG)の1つに分類する。
【0186】
QSG IまたはQ_DJR:遅延要件、ジッタ要件、及びレート要件を有するフロー
QSG IIまたはQ_RavgD:レート要件及び平均遅延要件を有するフロー
QSG IIIまたはQ_R:レート要件を有するフロー
Q_DJRクラスに属するフローの組を考えてみる。所与のフローfkがNAカテゴリの資格を有しておらず、
【数35】
【0187】
または
【数36】
【0188】
のどちらかを有する場合、このフローはdelay_or_jitter_viol(fk,t,s)=Yを有するとして指定される。それ以外の場合、プロセスはこのフローについてdelay_or_jitter_viol(fk,t,s)=Nを設定する。他方、このフローがNAの資格を有している場合、delay_or_jitter_viol(fk,t,s)=NAである。
【表2】
【0189】
AS(t)の適応チェックが実行される時刻tのたびに、プロセスはQoSフロー、つまりQoS要件を有するフローを表2に示すように分類する。各フローはQoS Stat GroupID(QS_GID)を割り当てられる。
【0190】
QS_GID=1:レート及び遅延(またはジッタ)違反を有するQ_DJRクラスのフロー
QS_GID=2:レート違反のない遅延(またはジッタ)違反を有するQ_DJRクラスのフロー
QS_GID=3:遅延及びジッタ違反はないが、レート違反を有するQ_DJRクラスのフロー。このケースは適応アプリケーションについて発生する可能性がある。また、レート違反を有するQ_Rクラス及びQ_RavgDクラスに対応するフローがこのグループに割り当てられる。
【0191】
QS_GID=4:QoS(レート、遅延、及びジッタ)違反がないフロー。NAカテゴリ内のフローも、前述されたように、このグループに入れられる。
【0192】
加入係数の適応
Nk(t,s)を時刻tでのQSG kに対応するフローの数とし、N(t,s)を時刻tでの、セクタsにおいていくつかの資源を予約されているフローの総数とする。
【数37】
【0193】
Mに、QoS statグループid(QS_GID)を示させ、その結果、
【数38】
【数39】
【数40】
【0194】
が生じる。
【0195】
(セクタs内の)時刻tにおけるQoS statグループMにおける、フローkのQSGに対応するフローの割合、QSG kは、以下のように与えられる。
【数41】
【0196】
時刻tにおける、遅延(またはジッタ)及びレート違反のあるフローの割合は以下のように示される。
【数42】
【0197】
時刻tにおける、遅延(またはジッタ)違反はあるが、レート違反はないフローの割合は以下のように示される。
【数43】
【0198】
時刻tにおける、レート違反だけのあるフローの割合は以下のように示される。
【数44】
【0199】
QoS違反の無い(またはNAカテゴリに入る)フローの割合は以下のように示される。
【数45】
【0200】
S(t)の適応は、事前に指定される期間Tの後に周期的に行われる。適応を行うために、上記グループは以下のように考えられてよい。
【表3】
【0201】
以下の閾値は事前に指定され、以下に示される適応方法で使用される。
【0202】
Frac_flows_thres_DJR:遅延(またはジッタ)及びレート違反のあるフローの割合に対する閾値
Frac_flows_thres_DJ:遅延(またはジッタ)違反はあるが、レート違反はないフローの割合に対する閾値
Frac_flows_thres_R:レート違反がある(遅延違反またはジッタ違反はない)フローの割合に対する閾値
Frac_flows_thres_ok_qos:QoS違反がないフローの割合に対する閾値
プロセスは、適応チェックがAS(t)について実行されるそれぞれの瞬間に以下の順序で続行する。
【0203】
ステップ1:Frac_flows_DJR_viol(t,s)≧Frac_flows_thres_DJRの場合:
AS(t+)=fqos*AS(t)+xqos、その結果AS(t+)≧AS(t)である。ここでは、fqosとxqosは事前に指定される。それ以外の場合。
【0204】
ステップ2:Frac_flows_DJ_viol(t,s)≧Frac_flows_thres_DJの場合:
AS(t+)=fdelay_jitter*AS(t)+xdelay_jitter、その結果AS(t+)≧AS(t)である。ここでは、fdelay_jitterとxdelay_jitterは事前に指定される。それ以外の場合、
ステップ3:Frac_flows_R_only_viol(t,s)≧Frac_flows_thres_Rの場合、AS(t+)=frate*AS(t)+xrate、その結果AS(t+)≧AS(t)である。ここでは、frateとxrateは事前に指定される。それ以外の場合、
ステップ4:Frac_flows_no_na_viol(t,s)<Frac_flows_thres_ok_qosの場合、AS(t+)=fall_qos_flows*AS(t)+xall_qos_flows、その結果AS(t+)≧AS(t)である。ここでは、fall_qos_flowsとxall_qos_flowsは事前に指定される。それ以外の場合、
ステップ5:Frac_flows_no_na_viol(t,s)≧Frac_flows_thres_ok_qosの場合、及びfrac_slots_qos_flows(t,s)<Frac_thres_slots_qos_flowsの場合:
AS(t+)=fok*AS(t)+xok、その結果AS(t+)≧AS(t)である。ここでは、fokとxokは事前に指定される。それ以外の場合。
【0205】
ステップ6:Frac_flows_no_na_viol(t,s)≧Frac_flows_thres_ok_qosの場合、及びfrac_slots_qos_flows(t,s)≧Frac_thres_slots_qos_flowsの場合、AS(t+)=AS(t)
先処理方式
図19は、一実施形態による先処理方法400を描いている。方法400は、ASFが判断菱形402で増加したかどうかを判断することにより開始する。ASFの増加が検出されると、処理は、ステップ404に続行して最も多いレート違反数を有するフローを決定する。言い換えると、ASFが増加すると、先処理方法400は先処理のために、それらのフローの特定を開始する。本実施形態では、レート違反のあるフローが先処理のための最善の候補として特定される。別の実施形態では、他のフローに優先順位が付けられてよく、優先順位方式を動的に変更されてよい。
【0206】
判断菱形406で先処理最大値、PMAX(以下に詳説される)に達すると、処理は最も多い遅延違反数を有するフローを先処理ためにステップ408に続行する。さもなければ処理は判断菱形402に戻る。ステップ408でフローを先処理後、処理は最も多い遅延違反数を有するフローが複数あるかどうかを判断するために判断菱形410に続行する。複数のフローの場合、処理はステップ412に続行して最も多いスロットを使用してフローを先処理する。通常、このフローは低データレートを有するため、ある期間中に最も多いスロットを消費する。次に処理は判断菱形402に戻る。
【0207】
一実施形態では、先処理方法400が適用される。この方法において、P_maxは、ある時点で先処理が可能なフローの最大数である。表3に示される2つの先処理グループの条件を満たすフローの部分集合を考える。特に、先処理グループIは、QSG_RまたはQSG_RavgDに属するフローから構成され、
【数46】
【0208】
及び
【数47】
【0209】
を有する。
【0210】
先処理グループ2は、Q_DJR QSGに属し、
【数48】
【0211】
及び
【数49】
【0212】
を有するフローから構成される。
【表4】
【0213】
ステップ1:AS(t)がある時点で(AS(t)についての適応方法においてのように)増加すると、プロセスは、1つ以上のフローが先処理の資格を有するかどうかを確かめるためにチェックする。AS(t)が増加していないときには、フローは先処理されないことに留意されたい。
【0214】
ステップ2:先処理グループ1に対応するフローの部分集合を考える。これらのフローの中から、rate_violという最高値を有するフローのP_max数を選択する。これに該当するものが複数ある場合には、Frac_slots_flow値がより高いものを先処理する。P_maxフローが先処理されると、レート違反についてこれ以上のフローは先処理されない。
【0215】
ステップ3:先処理グループ2に対応するフローの部分集合を考える。これらのフローは遅延要件及びジッタ要件を有し、Frac_delayed_IP_Pkts(fk,t,s)>Frac_delayed_IP_pkts_thres(fk)及びFrac_slots_flow(fk,t,s)>frac_thres_slots_flow(fk)を有する。これらのフローの中から、Frac_delayed_IP_pktsという最高値を有する、ステップ2で先処理されたフローの数を差し引いたP_maxを選択する。これに該当するものが複数ある場合には、Frac_slots_flowの値がより高いものを先処理する。
【0216】
ユーザ間及びユーザ内QoS
携帯電話ユーザは複数のフロー、つまり複数のアプリケーションを同時に有することがある。ここに提示されるように、ユーザは以下を指定し得る。
【0217】
それが遅延及びジッタに敏感であるかどうかのフロー単位の表示。それが遅延及びジッタに敏感である場合は、遅延限度及びジッタ限度が指定されなければならない。
【0218】
各ユーザについての総計ターゲットレート(ATR)。これは、下りリンク階層スケジューラがこのユーザに与えることを目指すであろうターゲットレートである。
【0219】
許可制御
時刻tにおける、R(t)ユーザをU1,U2,...,UR(t)として示すとして、時刻tにおけるユーザUjのフロー数をnum_flows(Uj,t)とする。ユーザUjが、時刻tで許可されている(k−1)のフロー、つまりnum_flows(Uj,t)=k−1であると仮定する。時刻tにおいてユーザUjについての新しいフローfk,jを許可すると決定するために、プロセスはユーザUjについて観察されたDRCを使用して以下をチェックする。
【数50】
【0220】
前述されたようにASFの適応を実行する間、フローにより用いられているスロット数及びその対応するDRCも考慮に入れられる。プロセスはAS(t)を計算し、Avail(t)を以下のように計算する。
【数51】
【0221】
プロセスは、
【数52】
【0222】
の場合、時刻tにおいてフローfk,jを許可する。
【0223】
このフローが許可されると、更新は以下のとおりである。
【数53】
【数54】
【数55】
【0224】
プロセスは、すべての許可されたフロー及びユーザについてQoS統計の監視及びネットワーク関連統計の監視を続行する。加入係数の適応を続行するためにこれらを使用する。次に、ASF、AS(t)が計算され、利用される。
【0225】
階層スケジューラ
フロー単位及びユーザ単位の補償:
遅延及びジッタに敏感なフローのそれぞれには、ジッタ閾値が割り当てられる。ユーザUkに関する、遅延及びジッタに敏感なフローfxごとに、プロセスは対応する遅延及びジッタ補償Φを計算する。フローが待ち行列内において遅延閾値を越えたパケットを有さない場合には、
【数56】
【0226】
となる。それ以外の場合、
【数57】
【0227】
を計算する。ここでは、
【数58】
【0228】
ユーザUkについてのフローfxごとに、
ndefpktsmin(n)=最小のndefpkts (59)
である。スロットnでの(すべてのユーザ全体での)すべてのフローを考慮すると、
defpkts(fx(Uk,n))=スロットnでそれらの遅延閾値に違反したユーザUkのフローfxの未決MACパケットの数 (60)
である。
【0229】
スロットnでのユーザUkのレート補償の場合、以下を定義する。
【数59】
【0230】
ここでは、
ASR(Uk,nprev(n))=スロットnprevの中のユーザUkの総計供給レート (62)
であり、
【数60】
【0231】
である。スロット数nprevは、スケジューリングアルゴリズムを目的としてレートが監視されたときのnまたはnより前の最後のスロットである。
【0232】
プロセスは任意のスロットnにおけるユーザUkについての総計遅延補償を定義する。遅延要件を有するこのユーザのすべてのフローを考慮し、これらの遅延に敏感なフローのそれぞれについて行頭(HOL)MACパケットを観察する。その遅延閾値より長い期間システムに亘って(HOL)MACパケットが全くない場合には、
【数61】
【0233】
さもなければ、遅延閾値より長い期間に亘ってシステム内にHOLパケットを有するこのユーザについてのフローの部分集合を考慮する。このユーザの場合、これらのフローの遅延閾値より大きい期間に亘ってシステム内にHOL MACパケットを有するユーザUkについてのすべてのフローについて以下を計算する。
【数62】
【0234】
ここでは、w(fx(Uk))はユーザUkのフローfxに割り当てられる初期重みである。
【0235】
適応重み計算
このユーザについての適応重みを計算するため、プロセスは、遅延に敏感な少なくとも1つのフローを有するユーザそれぞれについて各スロットで遅延閾値違反チェックを行う。プロセスは、このようなユーザUkのそれぞれについて以下を計算する。
【数63】
【0236】
agg_delay_comp(Uk,n)>1の場合、プロセスはユーザUkについて以下のように適応重みを計算する。
【数64】
【0237】
一方、agg_delay_comp(Uk,n)=1の場合、プロセスは以下を計算する。
【数65】
【0238】
ここでnprev,k(n)は、ASR(Uk,nprev(n))が監視された(および、このようにUk,nprev(n))が計算された)ときのnまたはnより前の最後のスロットである。プロセスはこのユーザについて最終の適応重みの計算を、以下のように続ける。
【数66】
【0239】
ここで、ユーザUkの遅延に敏感なフローについてRTxまたはDARQ待ち行列内にパケットがない場合、Z(Uk,n)=1である。さもなければ、Z(Uk,n)=C(Uk)である。ここで、C(Uk)は事前に指定される定数である。
【0240】
ユーザ及びフロー選択方法
プロセスがスロットnでその待ち行列内に少なくとも1つのパケットを有するユーザごとに以下のメトリックを計算する。
【数67】
【0241】
ここでは、
【数68】
【0242】
はユーザUk(つまりすべての対応するフローを含む)につての平均サービス供給レートである。プロセスは、Y(Uk,n)が最大値のユーザを選択する。いったんユーザがこのようなスケジューラを使用して選択されると、プロセスは、以下の方式に従ってそのユーザにサービス提供するためのフローを選択する。
【0243】
以下のグループに分類されるフローを考える。
【0244】
グループ1:QSG_delay_jitter。VoIPフロー。
【0245】
グループ2:QSG_delay_jitter。テレビ会議フロー。
【0246】
グループ3:QSG_delay_jitter。ビデオストリーミングフロー。
【0247】
グループ4:QSG_rate_avg_delay。レート要件及び平均遅延要件のあるフロー。
【0248】
グループ5:QSG_rate。レート要件だけがあるフロー。
【0249】
以下のステップが、本明細書において説明されているスケジューリングアルゴリズムを実行する際に、続き得る。
【0250】
ステップ1:そのスロット内の選択されたユーザのすべての保留されているフローを検討する。
【0251】
ステップ2:そのユーザについての、グループ1とグループ2に対応するフローを検討する。HOLパケットが自身の遅延閾値を違反し、且つそのフローの遅延限度に最も近いフローを選択する。フローが検出されると、このフローにサービス提供する。それ以外の場合、ステップ3に進む。
【0252】
ステップ3:HOLパケットが遅延閾値を越えたグループ3に対応するフローを検討し、HOLパケットが遅延限度に最も近いフローを選択する。フローが検出されたら、このフローにサービス提供する。それ以外の場合、次のステップに進む。
【0253】
ステップ4:HOLパケットが遅延閾値を越えたグループ4に対応するフローを検討し、HOLパケットが遅延限度に最も近いフローを選択する。フローが検出されたら、このフローにサービス提供する。それ以外の場合、次のステップに進む。
【0254】
ステップ5:サービス提供する保留フローをグループ1〜4から取り上げる。最も数の小さいグループのフローに優先順位を与える。フローが選択されたら、それにサービス提供する。それ以外の場合、次のステップに進む。
【0255】
ステップ6:そのユーザについての、グループ5に対応する保留フローを検討する。required_rate/served_rateの最大値を有するものを選択する。このフローにサービス提供する。何も選択されない場合には、次のステップに進む。
【0256】
ステップ7:そのユーザについての、ベストエフォートフローにサービス提供する。複数ある場合には、サービス提供レートの最小値のものを取り上げる。
【0257】
図16は、フロー単位の、及びユーザ単位の補償を行う2レベルスケジューラを描いている。図16及び図17に描かれているスケジューラは、ここに説明されているように、QoS間、及びQoS内の補償のために使用される階層スケジューラである。図16に描かれているように、レベルIとして特定される第1のレベルは、複数のスケジューリング要素、つまりノードS1、S2、...SMを含み、そこでは各ノードが異なるQSGを処理する。この例では、Mは処理されるQSGグループの数である。例えば、スケジューリングノードS1はボイスオーバIP(VoIP)タイプのアプリケーションフローを処理する。VoIPは例として示されているが、QSG1として分類される任意のあらゆるアプリケーションフローがS1で処理される。このようなフローはQoS要件を評価するために指定される遅延限度及びジッタ限度を有する。複数のアプリケーションVoIPタイプのフローがスケジューリング要素S1で処理される。同様に、各スケジューリング要素は特定のQSGのためのフローを処理する。別の実施形態では、1つのスケジューリング要素に複数のQSGのためのアプリケーションフローが供給されてよいことに留意されたい。複数のスケジューリング要素が同じQSGグループを処理するために使用されてよいことに留意されたい。
【0258】
図16に描かれているスケジューラのレベルIは、フロー単位の補償の一部を計算する。ユーザあたりの複数のアプリケーションフローが図16に描かれている。レベルIIスケジューリング要素は、フロー単位の補償の計算を仕上げる。
【0259】
図17は、スケジューリングノード、S1、S2、...Szを有するスケジューラを描いている。このステップでは、zはユーザ数である。ユーザ数が動的であるため、現在のスケジューリングノードの数が動的に変化し得ることに留意されたい。各スケジューリングノードS1、S2、...Szは所与のユーザから複数のフローを受け取るように適応されている。スケジューリングノードS1は、ユーザ1(U1)のためのFkを通してフローF1を受け取る。ここでkは、ユーザ1について現在処理されているアプリケーションフローの総数である。図16のレベルIとレベルIIのスケジューラによってフローごとに計算されるフロー単位の補償を使用して、図17のレベルIIスケジューラはユーザごとに総ユーザ補償を計算する。次に、レベルIIスケジューラは、ユーザを選択し、ユーザ選択方法について前述された適応加重DRC/Tアルゴリズムに従ってスロットでこのユーザにサービス提供する。次にレベルIIスケジューラはレベルIスケジューラから受信される加重値の中から選択する。示されているように、W(Uk)はユーザUkに割り当てられる初期重みであり、ATR(Uk)はユーザUkについての総ターゲットレートである。いったんユーザが選択されると、そのユーザに対応するレベルIスケジューラは前述されたフロー選択方法に従って、フローを選択してそのスロットでそのユーザにサービス提供する。
【0260】
下りリンクスケジューラは、スロット内のあるDRC値でのサービスのためのフローに対する自発的な(willing)価格を各ユーザが指定できるようにしてよい。いったん価格が指定されると、適応フレーム構造スケジューラは異なるタイプのアプリケーションのQoS要件を満たすべく動作する。対応するスケジューリング機構によって、サービスプロバイダは利益を高めるという目標と、アプリケーションのQoS要件を満たすという目標の間の良好な釣り合いを見つけることができる。このようなスケジューリング機構は、エンドユーザに動的コスト制御も提供し、レート要件及び/または平均遅延要件を有するアプリケーション、あるいはストリーミングアプリケーション等のために使用され得る。一実施形態では、各フローが、それがサービス提供されるときにスロットごとの価格を指定する価格決定オプションが提供される。この価格はそのスロット内のフローについてユーザが要求するDRC値に依存している。価格フローj(つまり、ユーザがアクセスするフローj)がスロットmで喜んで支払うc[j,m,DRC[j,m]として指定される。ここでは、DRC[j,m]は、このユーザがスロットmでサービス提供され得るレートを示す。ユーザは、DRCの値ごとに事前に指定された価格など、価格を静的に指定してよい。または、ユーザは、例えば、アプリケーションが有効な間に価格を変更する等のために、価格を動的に指定してよい。これにより、ユーザが、変化するチャネル状態に対応し、所望されるQoSを達成するために価格に対してある程度の制御を有することができる。運用者は、ユーザ間及びユーザ内QoSのために存在しているスケジューラとともにこのようなスケジューラを使用してよい。これにより運用者は少なくとも2つのタイプの価格決定方式を指定できる。ユーザ間及びユーザ内QoSスケジューラの場合、運用者は、(静的サービス内容合意書に基づいて)静的な価格決定方式を指定してよく、と同時に適応フレーム構造に基づいたスケジューラについての動的価格決定方式が可能となる。ユーザはさまざまなフローのためにさまざまな方式を使用することを選び得る。
【0261】
一実施形態では、時間が複数のフレームに分割され、DRC値、QoS要件、QoS違反統計、及び各ユーザによって指定される価格に応じてスロットごとにスケジューリング決定が下される。フレーム構造によって、基本的には、ユーザ待ち行列が1つの周回の間にサービス提供されるべき順序が決定される。ネットワークは、所望される目標を達成するために、スケジューリングの周回のそれぞれにおいて、各周回についてどのフロー/ユーザに、所与のスロットにおいてサービス提供するのかを決定する。フレーム構造、つまり各周回においてフローがサービス提供される順序は、変化しつづけ、AFS依拠アルゴリズムと呼ばれる。
【0262】
以下の定義は、計算プロセスで使用されるいくつかの表記を説明する。N個の待ち行列(及びフローごとに1つの待ち行列)を前提として、フローjについてのQoS要件はそれがレートr[j]でサービス提供される場合に満たされると仮定する。初期重みw[j]及びタイムスケールts[j]も各フローjに事前に指定される。プロセスは、フローjにレート保証を与えることを目指す。このプロセスは、タイムスケールの整数倍であるスロットごとに(つまり、mを整数としてスロットm*ts[j]ごとに)監視されてよい。
【0263】
start[j]を、フローjが1周回のうちでサービス提供対象として最初に検討され始めたときのスロットとする。スロットzの最後までに、システムはS[j,z]=r[j]*(z−start[j])ビットにサービス提供することを所望する。ここで、なんらかの整数mについてz=m*ts[j]である。1つのスケジューリング機構を使用し、システムは、あるフローへの割り当てが望まれる(タイム)スロットの数とそのフローにサービス提供することを望まれるビット数の釣り合いをとることができる。
【0264】
さらに、AFSスケジューラのために使用される他のパラメータが以下のように示される。
【0265】
slots_alloc[j,n]:周回nの間に待ち行列(フロー)jに割り当てられるスロットの数
slots_served[j,n]:待ち行列(フロー)jが周回nの内にサービス提供されたときのスロット数
S_r[j,n]:周回nの終了までにフローfにサービス提供するビット数
round_len[n]:周回n中のスロット数単位の長さ
round_len_thres:周回の長さはこの閾値により上限を設定される。
【0266】
B[n]:スロットnの始まりにある保留待ち行列のリスト
Rout_round[j,n]:スケジューラによって周回n内で待ち行列jのためにサービス提供されるビット数
Rout[j,n,g]:g≧nの場合に時間間隔[n,g]の間に待ち行列jのためにサービス提供されるビット数
前記に与えられた説明を使用すると、周回nの始まりでの待ち行列jについてのビットの不足は、以下により与えられる。
【数69】
【0267】
ビットに不足がある場合、対応するフローはサービスで遅れをとっており、補償されなければならない。他方、フローが受け取る過剰なサービスは明示的にはペナルティを課されないが、サービスで遅れをとっている他のフローは補償されるであろう一方、このフローは補償されないであろうため、間接的にペナルティを課される。
【0268】
さらに、周回nの始まりでのフローjについての正規化された不足ビットの計算は以下のように与えられる。
【数70】
【0269】
周回nの始まりでの待ち行列jについてのスロット内の不足は以下のように示される。
【数71】
【0270】
プロセスは、周回nの始まりでの待ち行列jについての正規化された不足スロットを以下のように定義する。
【数72】
【0271】
lslot[n]を周回nの最後のスロットとし、fslot[n]を周回nの最初のスロットとする。aw[j,n]は周回nについてフローjに割り当てられる(適応)重みを示すと仮定する。この重みは周回n内のフローjに割り当てられるスロット数を決定する。
【0272】
ユーザによって要求されるDRC値に、順列が与えられる。具体的には、DRC1[B,S]がDRC2[B,S]より優れている場合には、(B/S)1>(B/S)2である。ここでは、Bはパケット単位のビット数であり、Sはスロットの数である。
【0273】
AFSスケジューラのスケジューリング周回ごとに、プロセスは各周回についての前述される状態変数を計算し、次に各周回の始まりにおける各フローの重みを計算して、この周回についてこのフローに一定数のスロットを割り当てる。この目的のため、プロセスは適応重み計算機構を使用し、周回単位のサービス規律を使用して周回ごとにフレーム構造を計算する。
【0274】
(適応重み計算機構)
ndef_bits_rthres,minをndef_bits_rについての事前に指定される閾値とする。プロセスは、以下に示すように周回nの始まりで集合ndefbits_set[n]を定義する。
【数73】
【0275】
S_I[n]を周回nの始まりでの集合の中のフロー数とする。同様に、ndef_slots_rthres,minはndef_slots_rについての事前に指定される閾値である。プロセスは、周回nの始まりでのndefslots_set[n]を以下のように定義する。
【数74】
【0276】
S_II[n]を周回nの始まりでのこの集合の中のフロー数とする。
【0277】
任意のフローjの場合、周回nの始まりで、対応するスロット補償関数を以下のように定義する。
【数75】
【数76】
【0278】
ここでは、
【数77】
【数78】
【数79】
【0279】
である。
【0280】
フローjごとに、
【数80】
【0281】
となるように、2つの閾値、slots_comp_Ithres,min[j]とslots_comp_Ithres,max[j]を定義する。
【0282】
本明細書に説明されている適応重み計算とともにこれらの閾値を使用することにより、あらゆるフローが周回n内に不公平に多数のスロットを消費することが防止され、同時に指定限度を超えてそのフローにペナルティは課されない。
【数81】
【数82】
【0283】
フローjごとに、
【数83】
【0284】
となるように、2つの閾値slots_comp_IIthres,min[j]とslots_comp_IIthres,max[j]を定義する。
【0285】
各周回の始まりで、フローは表5に示されるように4つのグループに分けられる。
【表5】
【0286】
任意の周回nの始まりで、グループIIまたはグループIVのどちらかに属するフローjに対して、slot_comp[j,n]=1を使用する。周回nの始まりでグループIに属するフローjに対して、以下を適用する。
【数84】
【0287】
フローjが周回nの始まりでグループIIIに属する場合は、以下を適用する。
【数85】
【0288】
次に、プロセスはフローjについての適応重みを計算し、そこでは周回nの空ではない待ち行列についての適応重みは以下のとおりである。
【数86】
【0289】
ここでは、
【数87】
【0290】
である。各フローjについて、閾値awthres,max[j]を定義し、以下を確実にするようこの閾値を使用する。
【数88】
【0291】
次に、これらの適応重みが利用されて、各フローに割り当てられるであろうスロットの数、及び各周回が
【数89】
【数90】
【0292】
となるように計算される。
【0293】
期間単位のスケジューリング規律
いったん各フローが割り当てられていれば、周回内のスロットの幾つか及び周回の長さは計算され終わっている。次のステップは、所与のスロットにサービス提供するためのフローを選択することである。周回n内の所与の任意のスロットmでは、直前のスロットの1つの中で選択されたパケットが依然としてサービス提供されている場合、サービス提供されなければならない新しいフローが選択される必要はない。他方、周回n内のこのスロットm内でパケットがサービス提供されていない場合、サービス提供するためのフローは以下のように選択される。フローjについて周回nのスロットmについての以下の選択メトリックを、スケジューラがサービス提供するための新しいフローを選択する必要がある各スロットmについて、及び
【数91】
【0294】
及び
【数92】
【0295】
となる各フローjについて、
【数93】
【0296】
を計算する。ここでは、θ(j)はフローjごとに事前に指定され、wait_compはフローの遅延限度を改善するためにフローに与えられる待機補償である。wait[j,n,m]を周回n内のスロットmの始まりでのフローjについての行頭パケットの待機時間とする。
【数94】
【0297】
また、フローjは周回n内のスロットmの始まりで少なくとも1つの未決パケットを有する。次に、k∈B[n]であり、このようなフローの数がwait_num[n,m]となるようにすべてのフローkについて、
【数95】
【0298】
を計算する。フローjごとに、2つの閾値wait_compthres,min[j]とwait_compthres,max[j]が、割り当てられ、
【数96】
【0299】
を確実にするために使用される。選択メトリックYYの値が最大のフローが選択されてこのAFSスケジューラによって任意の所与のスロットでサービス提供される。
【0300】
一実施形態によるAN要素が図20に描かれている。AN要素500はアプリケーションフローデータを受け取り、ユーザへの伝送のためにこのデータを処理する。AN要素500は複数の、それぞれがQoS要件を有するアプリケーションフローをスケジュールする。アプリケーションフローが、前述されたようにベストエフォートフローを含み得ることに留意されたい。AN要素500は、トラヒックプロファイル、及び前記フローと関連付けられるQoSプロファイルを特定し且つ前記フローをクラス、つまりQSGに割り振るように適応されたフロー分類装置502を含む。フロー分類装置502はスケジューラ504、許可制御装置510、及びQoSモニタ506に結合される。スケジューラ504は、比例公平(PF)アルゴリズム及び適応加重PFアルゴリズム(これらに限定されない)を含む種々のスケジューリングアルゴリズムのどれかを実施してよい。許可制御装置510はAN500によって受け取られるアプリケーションフローに許可制御機構を適用する。許可制御装置510は、要求された各新規フローをQoS統計及びネットワーク統計に基づいて評価し、前記新規フローをサポートするために十分な資源が使用可能であるかどうかを判断する。適応装置は許可制御装置に結合され、そこではASFが更新される。適応装置512は現在アクティブなアプリケーションフローの先処理決定を実行するように適応されている。先処理は、データレート、使用されるスロット、及び他のQoS統計とネットワーク統計に関して所与のフローの性能を検討する。QoSモニタは受信されたアプリケーションフローのQoS要件を監視するように適応されている。AN要素500は通常複数のフローを受け取り、ユーザへの伝送のためにそれらの中から選択することに留意されたい。スケジューラ504は、許可制御装置510から新規フローが許可されるかどうかに関する情報を受け取る。スケジューラ504はQoS統計及び他の情報をQoSモニタ506から受け取り、そこでスケジューラ504はQoS情報を利用して伝送のためのフローを選択する。
【0301】
本明細書で提示されているのは、無線通信システムにおけるアプリケーションフローの許可制御、先処理、及びスケジューリングのための方法及び装置である。許可制御において、新しいフローの所要データレートが考慮され、これが使用可能な資源と比較される。いったん許可されると、フローは、スケジューラに提供される。スケジューラは、各スロットあるいは指定された期間での伝送のためにユーザを選択するためにフロー単位及びユーザ単位の分析を実行するように適応されている。
【0302】
当業者は、情報及び信号が種々の異なる技術及び技法のどれかを使用して表されてよいことを理解するであろう。例えば、前記説明を通して参照されて得るデータ、指示、コマンド、情報、信号、ビット、記号、及びチップは、電圧、電流、電磁波、磁場または磁性粒子、光学場または光学粒子、あるいはその任意の組み合わせで表され得る。
【0303】
当業者は、本明細書に開示されている実施形態に関連して説明される多様な例示的な論理ブロック、モジュール、回路、及びアルゴリズムステップが電子ハードウェア、コンピュータソフトウェア、または両方の組み合わせとして実現され得ることをさらに理解するであろう。ハードウェアとソフトウェアの互換性を明らかに示すために、多様な例示的な構成要素、ブロック、モジュール、回路、及びステップがその機能性という点で概して前述されている。このような機能性がハードウェアとして実現されるのか、あるいはソフトウェアとして実現されるのかは、システム全体に課される特定のアプリケーション及び設計制約に依存している。当業者は特定のアプリケーションごとにさまざまな方法で説明された機能性を実現してよいが、このような実現の決定は本発明の範囲からの逸脱を引き起こすとして解釈されるべきではない。
【0304】
本明細書に開示されている実施形態との関連において説明される多様な例示的な論理ブロック、モジュール、及び回路は、汎用プロセッサ、ディジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブルロジックデバイス、ディスクリートゲート、またはトランジスタロジック、ディスクリートハードウェア構成要素、あるいは本明細書に説明されている機能を実行するために設計されるその任意の組み合わせで実現または実行されてよい。汎用プロセッサはマイクロプロセッサであってよいが、或いはプロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラまたは状態機械であってよい。プロセッサは、例えばDSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPコアととともに用いられる1台または複数台のマイクロプロセッサ、あるいは任意の他のこのような構成などのコンピューティング装置の組み合わせとして実現されてもよい。
【0305】
本明細書に開示されている実施形態との関連において説明される方法、アルゴリズムのステップはハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、あるいはこれら2つの組み合わせで実現されてよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、あるいは既知の他の形式の記憶媒体に常駐してよい。例示的な記憶媒体は、プロセッサが情報を記憶媒体から読み取り、情報を記憶媒体に書き込むことができるようにプロセッサに結合される。または、記憶媒体はプロセッサに一体化されてよい。プロセッサ及び記憶媒体はASICに常駐してよい。ASICはユーザ端末に常駐してよい。または、プロセッサ及び記憶媒体はユーザ端末内のディスクリート構成要素として常駐してよい。
【0306】
開示された実施形態の説明は、当業者が本発明を製造または使用できるようにするために提供される。これらの実施形態に対する多様な変型は当業者に容易に明らかとなり、本明細書に定められる包括的な原則は本発明の思想または範囲から逸脱することなく他の実施形態に適用されてよい。したがって、本発明は、本明細書に示されている実施形態に制限されることを目的としないが、ここに開示されている原則及び新規特徴と一致した最も広い範囲を与えられるべきである。
【特許請求の範囲】
【請求項1】
インターネットプロトコル(IP)アプリケーションをサポートし且つアクセスネットワーク(AN)及びそれぞれが要求データレートを前記ANに送信する複数のアクセス端末(AT)を含み且つ前記ATに対するQoS要件を有するアプリケーションフローをサポートする通信システムにおける許可制御のための方法であって、
前記通信システムにおいて使用可能な資源を決定することと、
第1のトラヒックプロファイル及び第1のQoSプロファイルを有する第1のアプリケーションフローに対する要求を受け取ることと、
前記使用可能な資源が前記第1のアプリケーションフローに対する前記要求をサポートするかどうかを判断することと、
前記第1のアプリケーションフローが平均要求データレートを上回る対応するデータレートを有する場合に前記第1のアプリケーションフローを拒否することと、
前記対応するデータレートが前記平均要求データレートを上回らない場合に、及び前記使用可能な資源が前記第1のアプリケーションフローに対する前記要求をサポートする場合に前記第1のアプリケーションフローを許可することと、
を含む、方法。
【請求項2】
前記使用可能な資源が前記第1のアプリケーションフローをサポートするかどうかを判断することが、
前記通信システムにおいて予約された資源を決定することと、
前記予約された資源を前記通信システムの容量と比較することと、
前記使用可能な資源を前記容量と前記予約された資源の間の差異として決定することと、
を含む、請求項1に記載の方法。
【請求項3】
前記第1のアプリケーションフローについての適応加入係数を決定することをさらに含む、請求項2に記載の方法。
【請求項4】
前記第1のアプリケーションフローのサービスの質(QoS)統計に基づいて前記適応加入係数を更新することをさらに含む、請求項3に記載の方法。
【請求項5】
前記第1のアプリケーションフローについてのQoS統計を決定することと、
前記第1アプリケーションフローについての前記QoS統計を前記セクタ内の他の現在のフローと比較することと、
前記第1のアプリケーションフローについての前記QoS統計と前記セクタ内の他の現在のフローとの比較に応じて、前記使用可能な資源および予約された資源を更新することと、
をさらに含む、請求項4に記載の方法。
【請求項6】
前記無線通信システムのセクタ内に前記第1のアプリケーションフローのユーザが存在するかどうかを判断することと、
前記第1のアプリケーションフローについてのサンプル持続期間を決定することと、
をさらに含み、
前記第1のアプリケーションフローについてのQoS統計を決定することが、
前記サンプル持続期間中の前記第1のアプリケーションフローについてのQoS統計を決定することを含む、請求項5に記載の方法。
【請求項7】
第1のサンプル持続期間がレート違反と関連付けられ、第2のサンプル持続期間が遅延違反と関連付けられる、請求項6に記載の方法。
【請求項8】
前記第1のアプリケーションフローについての前記QoS統計を前記セクタ内の他の現在のフローと比較することが、
前記サンプル持続期間中にQoS要件を有するフローによって使用されるスロットの第1の割合を計算することと、
前記サンプル期間中に前記第1のアプリケーションフローによって使用されるスロットの第2の割合を計算することと、
第1のQoS統計に対応するQoSフローの第3の割合を計算することと、
前記第3の割合を対応する閾値と比較することと、
前記第3の割合と対応する閾値との比較に応じて、適応加入を評価することと、
を含む、請求項6に記載の方法。
【請求項9】
インターネットプロトコル(IP)アプリケーションをサポートし且つアクセスネットワーク(AN)及びそれぞれが要求データレートを前記ANに送信する複数のアクセス端末(AT)を含み且つ前記ATに対するQoS要件を有するアプリケーションフローをサポートする通信システムにおいて資源を割り当てるための方法であって、
適応加入を増加するために、第1のタイプのQoS違反を有する第1のフローを先処理することと、
第1のタイプのQoS違反について先処理最大値に達したことを判断することと、
第2のタイプのQoS違反を有する第2のフローを先処理することと、
を含む、方法。
【請求項10】
第2のフローを先処理することが、
前記第2のフローの伝送のために使用されるスロットの数に基づいて前記第2のフローを選択することをさらに含む、請求項9に記載される方法。
【請求項11】
パケットデータアプリケーションフローをサポートする無線通信システムにおいて資源をスケジュールするための方法であって、
第1のタイプのアプリケーションフローに関連付けられるサービスの質パラメータについて少なくとも1つの補償係数を選択することと、
サービスの質パラメータに基づいて前記少なくとも1つの補償係数を計算することと、
前記第1のタイプのアプリケーションフローについての重みを前記少なくとも1つの補償係数の関数として計算することと、
前記重みを使用してフロー単位のスケジューリング係数を計算することと、
前記スケジューリング係数に基づいて前記アプリケーションフローをスケジュールすることと、
を含む、方法。
【請求項12】
第1のユーザが複数のアクティブなアプリケーションフローを有し、
前記複数のアプリケーションフローについての総計補償係数を計算することをさらに含む、請求項11に記載の方法。
【請求項13】
前記複数のアクティブなアプリケーションフローは、前記第1のタイプの、及び第2のタイプのアプリケーションフローを含む、請求項12に記載の方法。
【請求項14】
第2のタイプのアプリケーションフローについての重みを計算することをさらに含む、請求項13に記載の方法。
【請求項15】
前記複数のアクティブなアプリケーションフローの内の1つを伝送のために選択することをさらに含む、請求項14に記載の方法。
【請求項16】
インターネットプロトコル(IP)アプリケーションをサポートし且つアクセスネットワーク(AN)及びそれぞれが要求データレートを前記ANに送信する複数のアクセス端末(AT)を含み且つ前記ATに対するQoS要件を有するアプリケーションフローをサポートする通信システムにおける許可制御のための装置であって、
前記通信システム内で使用可能な資源を決定するための手段と、
第1のトラヒックプロファイル及び第1のQoSプロファイルを有する第1のアプリケーションフローに対する要求を受け取るための手段と、
前記使用可能な資源が前記第1のアプリケーションフローに対する前記要求をサポートするかどうかを判断するための手段と、
前記第1のアプリケーションフローが平均要求データレートを上回る対応するデータレートを有する場合に前記第1のアプリケーションフローを拒否するための手段と、
前記対応するデータレートが前記平均要求データレートを上回らない場合に、及び前記使用可能な資源が前記第1のアプリケーションフローに対する前記要求をサポートする場合に前記第1のアプリケーションフローを許可するための手段と、
を備える、装置。
【請求項17】
インターネットプロトコル(IP)アプリケーションをサポートし且つアクセスネットワーク(AN)及びそれぞれが要求データレートを前記ANに送信する複数のアクセス端末(AT)を含み且つ前記ATに対するQoS要件を有するアプリケーションフローをサポートする通信システムにおいて資源を割り当てるための装置であって、
適応加入を増加するために、第1のタイプのQoS違反を有する第1のフローを先処理するための手段と、
前記第1のタイプのQoS違反について先処理最大値に達したこと判断するための手段と、
第2のタイプのQoS違反を有する第2のフローを先処理するための手段と、
を備える、装置。
【請求項18】
パケットデータアプリケーションフローをサポートする無線通信システムにおいて資源をスケジュールするための装置であって、
第1のタイプのアプリケーションフローと関連付けられるサービスの質パラメータの少なくとも1つの補償係数を選択するための手段と、
サービスの質パラメータに基づいて前記少なくとも1つの補償係数を計算するための手段と、
前記第1のタイプのアプリケーションフローについての重みを前記少なくとも1つの補償係数の関数として計算するための手段と、
前記重みを使用してフロー単位のスケジューリング係数を計算するための手段と、
前記スケジューリング係数に基づいて前記アプリケーションフローをスケジュールするための手段と、
を備える、装置。
【請求項19】
インターネットプロトコル(IP)アプリケーションをサポートし且つアクセスネットワーク(AN)及びそれぞれが要求データレートを前記ANに送信する複数のアクセス端末(AT)を含み且つ前記ATに対するQoS要件を有するアプリケーションフローをサポートする通信システムにおいて資源を割り当てるための装置であって、
アプリケーションフローを受け取り且つ前記アプリケーションフローの前記サービスの質(QoS)要件を決定するように適応されたフロー分類装置と、
前記フロー分類装置に結合され、パケットデータ伝送をスケジュールするように適応されたスケジューラと、
前記フロー分類装置及びスケジューラに結合され、使用可能な資源が要求データレートをサポートするときにアプリケーションフローを許可するように適応された許可制御装置と、
前記フロー分類装置、前記スケジューラ、及び前記許可制御装置に結合され、前記アプリケーションフローについてのQoS違反を判断し、QoS統計を維持するように適応されたQoSモニタと、
前記許可制御装置に結合され、使用可能な資源を更新するように適応された適応装置と、
を備える、装置。
【請求項20】
前記スケジューラは、要求データレートに応じてアプリケーションフローをスケジュールするように適応される、請求項19に記載の装置。
【請求項21】
前記スケジューラは、QoS統計に応じてアプリケーションフローをス系ジュールするように適応される、請求項19に記載の装置。
【請求項22】
前記スケジューラは、QoS要件に応じてアプリケーションフローをスケジュールするように適応される、請求項19に記載の装置。
【請求項23】
前記スケジューラは、加入情報に基づいてアプリケーションフローをスケジュールするように適応される、請求項19に記載の装置。
【請求項1】
インターネットプロトコル(IP)アプリケーションをサポートし且つアクセスネットワーク(AN)及びそれぞれが要求データレートを前記ANに送信する複数のアクセス端末(AT)を含み且つ前記ATに対するQoS要件を有するアプリケーションフローをサポートする通信システムにおける許可制御のための方法であって、
前記通信システムにおいて使用可能な資源を決定することと、
第1のトラヒックプロファイル及び第1のQoSプロファイルを有する第1のアプリケーションフローに対する要求を受け取ることと、
前記使用可能な資源が前記第1のアプリケーションフローに対する前記要求をサポートするかどうかを判断することと、
前記第1のアプリケーションフローが平均要求データレートを上回る対応するデータレートを有する場合に前記第1のアプリケーションフローを拒否することと、
前記対応するデータレートが前記平均要求データレートを上回らない場合に、及び前記使用可能な資源が前記第1のアプリケーションフローに対する前記要求をサポートする場合に前記第1のアプリケーションフローを許可することと、
を含む、方法。
【請求項2】
前記使用可能な資源が前記第1のアプリケーションフローをサポートするかどうかを判断することが、
前記通信システムにおいて予約された資源を決定することと、
前記予約された資源を前記通信システムの容量と比較することと、
前記使用可能な資源を前記容量と前記予約された資源の間の差異として決定することと、
を含む、請求項1に記載の方法。
【請求項3】
前記第1のアプリケーションフローについての適応加入係数を決定することをさらに含む、請求項2に記載の方法。
【請求項4】
前記第1のアプリケーションフローのサービスの質(QoS)統計に基づいて前記適応加入係数を更新することをさらに含む、請求項3に記載の方法。
【請求項5】
前記第1のアプリケーションフローについてのQoS統計を決定することと、
前記第1アプリケーションフローについての前記QoS統計を前記セクタ内の他の現在のフローと比較することと、
前記第1のアプリケーションフローについての前記QoS統計と前記セクタ内の他の現在のフローとの比較に応じて、前記使用可能な資源および予約された資源を更新することと、
をさらに含む、請求項4に記載の方法。
【請求項6】
前記無線通信システムのセクタ内に前記第1のアプリケーションフローのユーザが存在するかどうかを判断することと、
前記第1のアプリケーションフローについてのサンプル持続期間を決定することと、
をさらに含み、
前記第1のアプリケーションフローについてのQoS統計を決定することが、
前記サンプル持続期間中の前記第1のアプリケーションフローについてのQoS統計を決定することを含む、請求項5に記載の方法。
【請求項7】
第1のサンプル持続期間がレート違反と関連付けられ、第2のサンプル持続期間が遅延違反と関連付けられる、請求項6に記載の方法。
【請求項8】
前記第1のアプリケーションフローについての前記QoS統計を前記セクタ内の他の現在のフローと比較することが、
前記サンプル持続期間中にQoS要件を有するフローによって使用されるスロットの第1の割合を計算することと、
前記サンプル期間中に前記第1のアプリケーションフローによって使用されるスロットの第2の割合を計算することと、
第1のQoS統計に対応するQoSフローの第3の割合を計算することと、
前記第3の割合を対応する閾値と比較することと、
前記第3の割合と対応する閾値との比較に応じて、適応加入を評価することと、
を含む、請求項6に記載の方法。
【請求項9】
インターネットプロトコル(IP)アプリケーションをサポートし且つアクセスネットワーク(AN)及びそれぞれが要求データレートを前記ANに送信する複数のアクセス端末(AT)を含み且つ前記ATに対するQoS要件を有するアプリケーションフローをサポートする通信システムにおいて資源を割り当てるための方法であって、
適応加入を増加するために、第1のタイプのQoS違反を有する第1のフローを先処理することと、
第1のタイプのQoS違反について先処理最大値に達したことを判断することと、
第2のタイプのQoS違反を有する第2のフローを先処理することと、
を含む、方法。
【請求項10】
第2のフローを先処理することが、
前記第2のフローの伝送のために使用されるスロットの数に基づいて前記第2のフローを選択することをさらに含む、請求項9に記載される方法。
【請求項11】
パケットデータアプリケーションフローをサポートする無線通信システムにおいて資源をスケジュールするための方法であって、
第1のタイプのアプリケーションフローに関連付けられるサービスの質パラメータについて少なくとも1つの補償係数を選択することと、
サービスの質パラメータに基づいて前記少なくとも1つの補償係数を計算することと、
前記第1のタイプのアプリケーションフローについての重みを前記少なくとも1つの補償係数の関数として計算することと、
前記重みを使用してフロー単位のスケジューリング係数を計算することと、
前記スケジューリング係数に基づいて前記アプリケーションフローをスケジュールすることと、
を含む、方法。
【請求項12】
第1のユーザが複数のアクティブなアプリケーションフローを有し、
前記複数のアプリケーションフローについての総計補償係数を計算することをさらに含む、請求項11に記載の方法。
【請求項13】
前記複数のアクティブなアプリケーションフローは、前記第1のタイプの、及び第2のタイプのアプリケーションフローを含む、請求項12に記載の方法。
【請求項14】
第2のタイプのアプリケーションフローについての重みを計算することをさらに含む、請求項13に記載の方法。
【請求項15】
前記複数のアクティブなアプリケーションフローの内の1つを伝送のために選択することをさらに含む、請求項14に記載の方法。
【請求項16】
インターネットプロトコル(IP)アプリケーションをサポートし且つアクセスネットワーク(AN)及びそれぞれが要求データレートを前記ANに送信する複数のアクセス端末(AT)を含み且つ前記ATに対するQoS要件を有するアプリケーションフローをサポートする通信システムにおける許可制御のための装置であって、
前記通信システム内で使用可能な資源を決定するための手段と、
第1のトラヒックプロファイル及び第1のQoSプロファイルを有する第1のアプリケーションフローに対する要求を受け取るための手段と、
前記使用可能な資源が前記第1のアプリケーションフローに対する前記要求をサポートするかどうかを判断するための手段と、
前記第1のアプリケーションフローが平均要求データレートを上回る対応するデータレートを有する場合に前記第1のアプリケーションフローを拒否するための手段と、
前記対応するデータレートが前記平均要求データレートを上回らない場合に、及び前記使用可能な資源が前記第1のアプリケーションフローに対する前記要求をサポートする場合に前記第1のアプリケーションフローを許可するための手段と、
を備える、装置。
【請求項17】
インターネットプロトコル(IP)アプリケーションをサポートし且つアクセスネットワーク(AN)及びそれぞれが要求データレートを前記ANに送信する複数のアクセス端末(AT)を含み且つ前記ATに対するQoS要件を有するアプリケーションフローをサポートする通信システムにおいて資源を割り当てるための装置であって、
適応加入を増加するために、第1のタイプのQoS違反を有する第1のフローを先処理するための手段と、
前記第1のタイプのQoS違反について先処理最大値に達したこと判断するための手段と、
第2のタイプのQoS違反を有する第2のフローを先処理するための手段と、
を備える、装置。
【請求項18】
パケットデータアプリケーションフローをサポートする無線通信システムにおいて資源をスケジュールするための装置であって、
第1のタイプのアプリケーションフローと関連付けられるサービスの質パラメータの少なくとも1つの補償係数を選択するための手段と、
サービスの質パラメータに基づいて前記少なくとも1つの補償係数を計算するための手段と、
前記第1のタイプのアプリケーションフローについての重みを前記少なくとも1つの補償係数の関数として計算するための手段と、
前記重みを使用してフロー単位のスケジューリング係数を計算するための手段と、
前記スケジューリング係数に基づいて前記アプリケーションフローをスケジュールするための手段と、
を備える、装置。
【請求項19】
インターネットプロトコル(IP)アプリケーションをサポートし且つアクセスネットワーク(AN)及びそれぞれが要求データレートを前記ANに送信する複数のアクセス端末(AT)を含み且つ前記ATに対するQoS要件を有するアプリケーションフローをサポートする通信システムにおいて資源を割り当てるための装置であって、
アプリケーションフローを受け取り且つ前記アプリケーションフローの前記サービスの質(QoS)要件を決定するように適応されたフロー分類装置と、
前記フロー分類装置に結合され、パケットデータ伝送をスケジュールするように適応されたスケジューラと、
前記フロー分類装置及びスケジューラに結合され、使用可能な資源が要求データレートをサポートするときにアプリケーションフローを許可するように適応された許可制御装置と、
前記フロー分類装置、前記スケジューラ、及び前記許可制御装置に結合され、前記アプリケーションフローについてのQoS違反を判断し、QoS統計を維持するように適応されたQoSモニタと、
前記許可制御装置に結合され、使用可能な資源を更新するように適応された適応装置と、
を備える、装置。
【請求項20】
前記スケジューラは、要求データレートに応じてアプリケーションフローをスケジュールするように適応される、請求項19に記載の装置。
【請求項21】
前記スケジューラは、QoS統計に応じてアプリケーションフローをス系ジュールするように適応される、請求項19に記載の装置。
【請求項22】
前記スケジューラは、QoS要件に応じてアプリケーションフローをスケジュールするように適応される、請求項19に記載の装置。
【請求項23】
前記スケジューラは、加入情報に基づいてアプリケーションフローをスケジュールするように適応される、請求項19に記載の装置。
【図1】
【図2A】
【図2B】
【図3】
【図4】
【図5】
【図6】
【図7A】
【図7B】
【図8】
【図9】
【図10】
【図11】
【図12A】
【図12B】
【図12C】
【図12D】
【図12E】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18A】
【図18B】
【図18C】
【図18D】
【図18E】
【図19】
【図20】
【図2A】
【図2B】
【図3】
【図4】
【図5】
【図6】
【図7A】
【図7B】
【図8】
【図9】
【図10】
【図11】
【図12A】
【図12B】
【図12C】
【図12D】
【図12E】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18A】
【図18B】
【図18C】
【図18D】
【図18E】
【図19】
【図20】
【公開番号】特開2013−62830(P2013−62830A)
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−234969(P2012−234969)
【出願日】平成24年10月24日(2012.10.24)
【分割の表示】特願2010−32612(P2010−32612)の分割
【原出願日】平成16年3月17日(2004.3.17)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願番号】特願2012−234969(P2012−234969)
【出願日】平成24年10月24日(2012.10.24)
【分割の表示】特願2010−32612(P2010−32612)の分割
【原出願日】平成16年3月17日(2004.3.17)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】
[ Back to top ]