発明の概要
以下は、かかる実施形態のいくつかの態様の基礎的な理解を供するために1つ以上の実施形態の簡単な概要を示す。この概要は、1つ以上の実施形態の広範な概要ではなく、実施形態の主要または重要な要素を識別することも、かかる実施形態の範囲を定めることも意図していない。その目的の1つは、後述で提示されるより詳細な説明に対する序文として簡単な形で、説明される実施形態のいくつかの概念を提示することである。
1つ以上の実施形態およびその対応する開示によれば、種々の態様はフローベースの公平スケジューリングと関連して説明される。フローベースの公平スケジューリングは、レート制御マルチホップスケジューリングと、電力制御マルチホップスケジューリングとを含む。制御はトラヒックの方向(例えば、アクセス端末からアクセスポイントへ、またはアクセスポイントからアクセス端末へ)に関係なく与えられる。
いくつかの実施形態によれば、データ通信をサポートする方法がある。この方法は、各子ノードに関連したデータシンクごとの所望のスループットを親ノードにて受信するステップを含む。子ノードは親ノードに通信連結されている。この方法はさらに、所望のスループットに基づいて、各子ノードがスケジュールされるべき時間を決定するステップと、決定されたスケジュールされた時間に基づいて、親ノードが障害であるかどうかを決定するステップとを含む。この方法はさらに、親ノードが障害である場合、各データシンクをサポートするスループットを決定するステップを含む。
いくつかの実施形態によれば、データ通信をサポートする装置がある。この装置は、受信機と、スケジューラと、値調整器とを含むことができる。受信機は、親ノードに通信連結された各子ノードに関連したデータシンクごとの所望のスループットを受信することができる。スケジューラは、所望のスループットに基づいて、各子ノードがスケジュールされるべき時間を決定して、決定されたスケジュールされた時間に基づいて、親ノードが障害であるかどうかを決定するように構成されることができる。値調整器は、親ノードが障害である場合、各データシンクをサポートするスループットを決定することができる。
いくつかの実施形態によれば、命令を備えたコンピュータ読出し可能媒体があり、命令は実行時、装置に、各子ノードに関連したデータシンクごとの所望のスループットを親ノードにて受信させ、所望のスループットに基づいて、各子ノードがスケジュールされるべき時間を決定させる。子ノードは親ノードに通信連結されている。命令はさらに、装置に、決定されたスケジュールされた時間に基づいて、親ノードが障害であるかどうかを決定させ、親ノードが障害である場合、各データシンクをサポートするスループットを決定させる。
いくつかの実施形態によれば、データ通信をサポートするプロセッサがある。このプロセッサは、各子ノードに関連したデータシンクごとの所望のスループットを親ノードにて受信するように構成されている。このプロセッサはさらに、所望のスループットに基づいて、各子ノードがスケジュールされるべき時間を決定するように構成されている。子ノードは親ノードに通信連結されている。このプロセッサはさらに、決定されたスケジュールされた時間に基づいて、親ノードが障害であるかどうかを決定して、親ノードが障害である場合、各データシンクをサポートするスループットを決定するように構成されている。
いくつかの実施形態によれば、データ通信をサポートする装置がある。この装置は、各子ノードに関連したデータシンクごとの所望のスループットを親ノードにて受信する手段と、所望のスループットに基づいて、各子ノードがスケジュールされるべき時間を決定する手段とを備える。子ノードは親ノードに通信連結されている。決定されたスケジュールされた時間に基づいて、親ノードが障害であるかどうかを決定する手段と、親ノードが障害である場合、各データシンクをサポートするスループットを決定する手段とがさらに含まれる。
いくつかの実施形態によれば、データ通信をサポートする方法がある。この方法は、各親ノードに関連したデータシンクごとの所望のスループットを根ノードにて受信するステップを含む。親ノードは根ノードに通信連結されている。この方法はさらに、所望のスループットに基づいて、各親ノードがスケジュールされるべき時間の部分(time fraction)を決定するステップと、各親ノードがスケジュールされるべき時間の部分に基づいて、スケジューリングポリシーを決定するステップとを含む。
いくつかの実施形態によれは、データ通信をサポートする装置がある。この装置は、各親ノードに関連したデータシンクごとの所望のスループットを受信する受信機を含む。親ノードは根ノードに通信連結されている。所望のスループットに基づいて、各親ノードがスケジュールされるべき時間の部分を決定するスケジューラがさらに含まれる。スケジューラはさらに、各親ノードがスケジュールされるべき時間の部分に基づいて、スケジューリングポリシーを確立する。
いくつかの実施形態によれば、命令を備えるコンピュータ読出し可能媒体であって、命令は実行時、装置に、各親ノードに関連したデータシンクごとの所望のスループットを根ノードにて受信させる、コンピュータ読出し可能媒体がある。親ノードは根ノードに通信連結されている。命令はさらに、装置に、所望のスループットに基づいて、各親ノードがスケジュールされるべき時間の部分を決定させ、各親ノードがスケジュールされるべき時間の部分に基づいて、スケジューリングポリシーを決定させる。
いくつかの実施形態によれば、データ通信をサポートするプロセッサがある。このプロセッサは、各親ノードに関連したデータシンクごとの所望のスループットを受信し、所望のスループットに基づいて、各親ノードがスケジュールされるべき時間の部分を決定するように構成されている。親ノードは根ノードに通信連結されている。このプロセッサはさらに、各親ノードがスケジュールされるべき時間の部分に基づいて、スケジューリングポリシーを決定するように構成されている。
いくつかの実施形態によれば、データ通信をサポートする装置がある。この装置は、各親ノードに関連したデータシンクごとの所望のスループットを受信する手段を備える。所望のスループットに基づいて、各親ノードがスケジュールされるべき時間の部分を決定する手段と、各親ノードがスケジュールされるべき時間の部分に基づいて、スケジューリングポリシーを決定する手段とが、この装置にさらに含まれている。
いくつかの実施形態によれば、データ通信をサポートする方法がある。この方法は、各子ノードに関連したデータシンクごとの所望のスループットを親ノードにて受信するステップと、所望のスループットに基づいて、各子ノードに関連した送信電力および受信電力の少なくとも一方を決定するステップとを含む。子ノードは各親ノードに通信連結されている。この方法はさらに、決定された送信電力および受信電力の少なくとも一方に基づいて、親ノードが障害であるかどうかを決定するステップと、親ノードが障害である場合、各データシンクをサポートするスループットを決定するステップとを含む。
いくつかの実施形態によれば、データ通信をサポートする装置がある。この装置は、受信機と、計算器と、値調整器とを備える。受信機は、各子ノードに関連したデータシンクごとの所望のスループットを受信するように構成されている。子ノードは親ノードに通信連結されている。計算器は、所望のスループットに基づいて、各子ノードに関連した送信電力および受信電力の少なくとも一方を決定する。計算器はさらに、決定された送信電力および受信電力の少なくとも一方に基づいて、親ノードが障害であるかどうかを決定する。値調整器は、親ノードが障害である場合、各データシンクをサポートするスループットを選択する。
いくつかの実施形態によれば、命令を備えるコンピュータ読出し可能媒体であって、命令は実行時、装置に、各子ノードに関連したデータシンクごとの所望のスループットを親ノードにて受信させ、所望のスループットに基づいて、各子ノードに関連した送信電力および受信電力の少なくとも一方を決定させる、コンピュータ読出し可能媒体がある。子ノードは各親ノードに通信連結されている。命令はさらに、装置に、決定された送信電力および受信電力の少なくとも一方に基づいて、親ノードが障害であるかどうかを決定させ、親ノードが障害である場合、各データシンクをサポートするスループットを決定させる。
いくつかの実施形態によれば、データ通信をサポートするプロセッサがある。このプロセッサは、各子ノードに関連したデータシンクごとの所望のスループットを受信し、所望のスループットに基づいて、各子ノードに関連した送信電力および受信電力の少なくとも一方を決定するように構成されている。このプロセッサはさらに、決定された送信電力および受信電力の少なくとも一方に基づいて、親ノードが障害であるかどうかを決定して、親ノードが障害である場合、各データシンクをサポートするスループットを決定するように構成されている。
いくつかの実施形態によれば、データ通信をサポートする装置がある。この装置は、各子ノードに関連したデータシンクごとの所望のスループットを親ノードにて受信する手段と、所望のスループットに基づいて、各子ノードに関連した送信電力および受信電力の少なくとも一方を決定する手段とを備える。子ノードは各親ノードに通信連結されている。この装置はさらに、決定された送信電力および受信電力の少なくとも一方に基づいて、親ノードが障害であるかどうかを決定する手段と、親ノードが障害である場合、各データシンクをサポートするスループットを決定する手段とを備えている。
いくつかの実施形態によれば、データ通信をサポートする方法がある。この方法は、各親ノードに関連したデータシンクごとの所望のスループットを根ノードにて受信するステップを含む。親ノードは根ノードに通信連結されている。この方法はさらに、各親ノードに関連した送信電力および受信電力の少なくとも一方を決定するステップと、決定された送信電力および受信電力の少なくとも一方に基づいて、スケジューリングポリシーを決定するステップとを備える。
いくつかの実施形態によれば、データ通信をサポートする装置がある。この装置は、受信機と計算器とを備える。受信機は、各親ノードに関連したデータシンクごとの所望のスループットを受信する。親ノードは根ノードに通信連結されている。計算器は、各親ノードに関連した送信電力および受信電力の少なくとも一方を決定して、決定された送信電力および受信電力の少なくとも一方に基づいて、スケジューリングポリシーを確立する。
いくつかの実施形態によれば、命令を備えるコンピュータ読出し可能媒体であって、命令は実行時、装置に、各親ノードに関連したデータシンクごとの所望のスループットを根ノードにて受信させる、コンピュータ読出し可能媒体がある。親ノードは根ノードに通信連結されている。命令はさらに、装置に、各親ノードに関連した送信電力および受信電力の少なくとも一方を決定させ、決定された送信電力および受信電力の少なくとも一方に基づいて、スケジューリングポリシーを決定させる。
いくつかの実施形態によれば、データ通信をサポートするプロセッサがある。このプロセッサは、各親ノードに関連したデータシンクごとの所望のスループットを受信するように構成されている。親ノードは根ノードに通信連結されている。このプロセッサはさらに、各親ノードに関連した送信電力および受信電力の少なくとも一方を決定して、決定された送信電力および受信電力の少なくとも一方に基づいて、スケジューリングポリシーを決定するように構成されている。
いくつかの実施形態によれば、データ通信をサポートする装置がある。この装置は、各親ノードに関連したデータシンクごとの所望のスループットを根ノードにて受信する手段を備える。親ノードは根ノードに通信連結されている。この装置はさらに、各親ノードに関連した送信電力および受信電力の少なくとも一方を決定する手段と、決定された送信電力と受信電力の少なくとも一方に基づいて、スケジューリングポリシーを決定する手段とを備える。
上記および関連目的の達成のために、1つ以上の実施形態は、後述で完全に説明され、特に請求項に指摘されている特徴を備える。以下の説明および添付の図面は、特定の例示的な態様を詳しく示し、実施形態の原理が用いられ得る種々のやり方のごく一部を示している。その他の利点および新規な特徴は、図面に関連して検討されるときに以下の詳細な説明から明らかになり、開示されている実施形態は、全てのかかる態様およびそれらに相当するものを含むことを意図する。
詳細な説明
用語解説
順方向リンク=データフローはアクセスポイントからアクセス端末へである。
逆方向リンク=データフローはアクセス端末から有線アクセスポイントへである。
葉ノード=アクセスポイントノードであって、順方向リンクでアクセス端末のみをそれに通信連結させるもの。
親ノード=アクセスポイントノードであって、順方向リンクで少なくとも1つの他のアクセスポイントノードをそれに通信連結させるもの。
子ノード=順方向リンクで別のアクセスポイントからデータを受信することができるアクセスポイントは、この別のアクセスポイントの子ノードと見なされる。
根ノード=有線アクセスポイント。
ノードのサブツリー=ノードが順方向リンクで1つ以上のホップを用いてデータを送信することができる全てのデータシンクとアクセスポイントとのセット。
データシンクおよびデータソース=アクセス端末は、順方向リンクのデータシンクであり、逆方向リンクのデータソースである。有線アクセスポイントは、順方向リンクのデータソースであり、逆方向リンクのデータシンクである。
ここで、図面を参照して種々の実施形態を説明する。次の説明では、1つ以上の態様の完全な理解を供するために、説明の目的で多くの具体的な詳細を説明する。しかし、かかる実施形態はこれらの具体的な詳細なしに実行され得ることは明白である。その他の例では、これらの実施形態の説明を容易にするために、周知の構造および装置をブロック図の形で示す。
本願で用いられているように、用語「コンポーネント」、「モジュール」、「システム」、などは、ハードウェア、ファームウェア、ハードウェアとソフトウェアとの組み合わせ、ソフトウェア、または実行中のソフトウェアのコンピュータ関連エンティティを指す。例えば、コンポーネントは、プロセッサ上でランする処理、プロセッサ、オブジェクト、エグゼキュータブル(executable)、実行スレッド、プログラム、および/またはコンピュータであり得るが、これらに限定されない。例示として、コンピュータデバイス上でランするアプリケーションおよびコンピュータデバイスの両方はコンポーネントである。1つ以上のコンポーネントは、プロセスおよび/または実行スレッド内にあり、コンポーネントは1台のコンピュータのみに位置付けられるか、および/または2台以上のコンピュータ間で分散されてもよい。さらに、これらのコンポーネントは、これらに格納された種々のデータ構造を有する種々のコンピュータ読出し可能媒体から実行することができる。コンポーネントは、ローカルおよび/またはリモートプロセスにより、例えば、1つ以上のデータパケットを有する信号にしたがって通信することができる(例えば、1つのコンポーネントからのデータ、ローカルシステム内で、分散システム内で、および/または他のシステムを有するインターネットなどのネットワーク全体で信号により別のコンポーネントと対話する)。
さらに、種々の実施形態は、ユーザデバイスに関連して本明細書に説明されている。ユーザデバイスはさらに、システム、加入者ユニット、加入者局、移動局、モバイルデバイス、遠隔局、アクセスポイント、基地局、遠隔端末、アクセス端末、ハンドセット、ホスト、ユーザ端末、端末、ユーザエージェント、データシンク、またはユーザ機器とも呼ぶことができる。ユーザデバイスは、携帯電話、コードレス電話、セッション開始プロトコル(SIP)電話、無線ローカルループ(WLL)局、パーソナルディジタルアシスタント(PDA)、無線接続機能を有するハンドヘルドデバイス、または無線モデムに接続された他の処理デバイスであってもよい。
さらに、本明細書に説明されている種々の態様または特徴は、方法、装置、または製造品として標準のプログラミングおよび/またはエンジニアリング技術を用いて実施することができる。本明細書で用いられる用語「製造品」は、コンピュータ読出し可能デバイス、キャリア、または媒体からアクセスされるコンピュータプログラムを包含することを意図する。例えば、コンピュータ読出し可能媒体は、磁気記憶デバイス(例えば、ハードディスク、フロッピー(登録商標)ディスク、磁気ストリップ...)、光ディスク(例えば、コンパクトディスク(CD)、ディジタル多用途ディスク(DVD)...)、スマートカード、およびフラッシュメモリ素子(例えば、カード、スティック、キードライブ...)を含むことができるが、これらに限定されない。
種々の実施形態は、多くのコンポーネント、モジュール、などを含むことができるシステムに関して提示される。種々のシステムは追加のコンポーネント、モジュール、などを含んでもよく、および/または図と関連して説明されたコンポーネント、モジュール、などの全てを含まなくてもよいということが理解かつ認識される。これらのアプローチの組み合わせも用いることができる。
ここで図面を参照すると、図1は、本明細書に開示されている種々の実施形態にしたがうマルチホップ通信システム100の表現である。円形のアイテム102乃至116は、ツリー状構成で(例えば、無線で)接続されたアクセスポイントノードを表し、四角形のアイテム118乃至134は、アクセス端末または端末デバイスを表す。図示されているように、アクセスポイントまたは根ノード102は唯一の有線アクセスポイントであり、例えば、インターネットに有線接続されることができる。他のアクセスポイント104乃至116は無線であってもよい。アクセスポイント108はアクセス端末118および120の親であり、アクセス端末118および120はアクセスポイント108の子である。同様に、アクセスポイント110はアクセス端末122の親であり、アクセスポイント112はアクセス端末124、126、および128の親である。ツリーを上っていくと、アクセスポイント104はアクセスポイント108、110、および112の親であり、アクセスポイント108、110、および112はアクセスポイント104の子と見なされる。ツリーの頂点において、根ノード102はアクセスポイント104および106の親であり、アクセスポイント104および106は根ノード102の子である。アクセスポイント106は、子アクセスポイント114(アクセスポイント114の子は端末130および132)と、116(アクセスポイント116の子は端末134)との親である。
ツリーにおいて、ノード104および106は親ノードとして示されているが、これらは、アクセス端末との通信もできることが理解されるべきである。例えば、アクセスポイント104は、アクセスポイント108乃至112およびアクセス端末(図示せず)とほぼ同時に通信することができる。このようなやり方で、アクセス端末は、アクセスポイント104と直接に通信する。さらに、アクセスポイントまたはノードのいくつかまたは全ては、他の端末の中継ノードを兼ねるアクセス端末であることが理解されるべきである。このように、示されている構成は、単に例示することを目的とし、開示されている主題を、示されている構成に限定することを意図していない。
通信またはパケットのソースが根ノード102であり、情報の受信機またはシンク(データシンク)が1つ以上のアクセス端末118乃至134である場合に、順方向リンクが確立される。1つ以上のアクセス端末118乃至134が情報のソースであり、目的の受信機が根ノード102である場合に、逆方向リンクが確立される。本明細書で用いられている葉ノードは、ノード108乃至116を指し、ノード108乃至116は、データシンクまたはアクセス端末118乃至134に直接に送信し、順方向リンクの他のアクセスポイントには送信しない。
本明細書で用いられているフローとは、根ノード102と各アクセス端末118乃至134との間の通信を指し、これは順方向リンク通信または逆方向リンク通信であり得る。しかし、順方向リンクフローおよび逆方向リンクフローは、この説明では別々の2つのフローとして扱われる。順方向リンクは、あるスループットを達成するために、時間の部分をどのように割当てるべきかを決定することに関連して説明される。逆方向リンクは、電力の割当てに対して各子ノードがスケジュールされるべき時間の部分を決定することに関連して説明される。
システム100は9つのアクセス端末118乃至134を含む。したがって、根ノード102とアクセス端末118乃至134との間には、9つのフローがある。システム100は、9つの全フローの全体でリソースの公平な共有を確実にするように構成されるべきである。フロー全体における「最小最大化(maxmin)」のスループットの公平性に焦点を当てる。本明細書で用いられている最小最大化は、全フローの中で最小スループットを最大化することをいう。
示されているように、ソース(情報の送信機)からデータシンク(または情報の受信機)へのフローは、3つのホップをトラバースする。例えば、ソースが根ノード102であり、目的の受信機またはシンクがアクセス端末126である場合(順方向リンク)、通信はアクセスノード104、アクセスノード112、次にシンクまたはアクセス端末126にトラバースする。根ノード102から他のアクセス端末(データシンク)118乃至134のへフローは、同様に3つのホップを経由してトラバースする。逆方向リンク(例えば、アクセス端末118乃至134から根ノード102へ)の場合、通信は、順方向リンクで移動する順序と逆の順序でトラバースする。マルチホップ無線ネットワークは、示されかつ説明されたホップより多いまたは少ないホップを有することができ、異なるアクセス端末は異なる数のホップを有することができると理解されるべきである。
詳細な説明では、種々の態様および実施形態は、符号分割多元接続(CDMA)システムに関連して説明することができる。特に、用いられているCDMAシステムの態様は、全ての周波数の再使用(例えば、全てのノードは、利用可能な全帯域幅を静的に分割することなく、同時に使用する)であり、さらに、説明のために、EVDO CDMAシステムと同様のレート制御順方向リンクおよび電力制御逆方向リンクである。しかし、既存のCDMAシステムのレート制御および電力制御の概念は、単一ホップのシナリオに対してのみ展開されている。これらの発明の態様は、開示されている実施形態で使用するのに十分に適しているが、当業者は、これらの発明の態様が他の種々のシステムで使用するのに同様に適用可能であることをすぐに認識するであろう。したがって、かかる発明の態様は広範囲の用途を有するという了解のもとで、CDMAに対する参照は、発明の態様を説明することのみを意図している。
システム100内のスケジューリングは、レート制御スケジューリング(例えば、スケジュールされた時間の部分)および/または電力制御スケジューリング(例えば、送信電力)に基づいて決定することができる。例示のために、各ノードからの順方向リンク送信を有するCDMAネットワークは、フル電力にて、公平性を確実にするようにリソースが制御される時間の部分を用いるものと仮定する。順方向リンクの暗黙の仮定は、各ノードが任意の所与の時間に受信するために1つのみの子ノードをスケジュールするということである(例えば、純粋な時分割多重化(TDM))。例示のために、逆方向リンクは、多くの送信機から1つの受信機への同時受信を可能にするように電力制御されるものとする。しかし、レート制御スケジューリングおよび電力制御スケジューリングの両方は、順方向リンク通信または逆方向リンク通信の何れか、あるいは両方に使用できると理解されるべきである。
さらに、説明のために、等しいサービス程度(Equal Grade of Service, EGoS)スケジューリングの原理を次に示す。EGoSスケジューリングでは、1つ以上のフローのスループットを、任意の他のフローのスループットを減少することなく向上できないならば、同じスループットを全てのフローに提供することを目的とする。EGoSに加えて、重み付けされたサービス程度および比例公平性(proportional fairness)のような他の公平性のメトリックを実施することができる。
以下の記号表示は、送信機ベースのスケジューリングまたはレート制御についての以下の説明で用いられる。M
iは、APi(アクセスポイントi)に関連したアクセス端末(データシンク)の数である。U
iは、APiに関連したアクセス端末(データシンク)の共通スループットである。R
iは、親からノード(アクセスポイントまたはアクセス端末)iへの瞬間送信レートである。ノードiが、その親、すなわちノードjによってスケジュールされる時間の部分は、
と表される。各記号表示は図1に示されている。
図2は、順方向リンク通信200を示す。データは、根ノード202からアクセス端末204、206、208、210、212、214、216、218、および220へ流れる。アクセス端末204乃至220はデータシンクである。有線アクセスポイント202はデータソースである。ノード222、224、226、228、および230は、アクセス端末204乃至220と直接に通信する葉ノードである。アクセス端末はノード232とも通信できるが、本明細書で用いられている葉ノードの定義により、葉ノードは順方向リンクにおいてアクセス端末のみと通信すると理解されるべきである。例えば、順方向リンクにおいて、ノード222は、別のアクセスポイントにではなく、アクセス端末にデータを送信している。したがって、ノード232は、(ノード232の子ノードである)ノード222、224、および226にデータを送信している親ノードであると見なされる。
ノード232のサブツリーは、236で示されており、ノード232の下の全てのノードおよび端末である。ノード232は根であり、ツリーを下って、ノード232の下の全てがサブツリーであると見なされる。同様に、ノード234のサブツリーは、238で示されている。
図3は、公平スケジューリング技術を用いる無線通信システム300を示す。システム300は、1つ以上のアクセス端末302を含み、アクセス端末302は、1つ以上の葉ノード306(例えば、アクセス端末302と直接に通信するノード)と1つ以上の親ノード308とを経由して、根ノード304と通信(例えば、通信連結)することができる。アクセス端末302は、通信のフローに応じて、データシンクまたはデータソースになることができる。システム300は、上述の図を参照して示されかつ説明された構成と同様のツリー状構成で連結されることができる。例示された通信ルートは3つのホップを含むが、いくつかの実施形態では、通信ルートはアクセス端末302と根ノード304との間でより多くの、またはより少ないホップを含むことができると理解されるべきである。例えば、アクセス端末302は根ノード304と直接に通信できる、またはアクセス端末302は1つの葉ノード306を経由して根ノード304と通信することができる。
葉ノード306は、送信機/受信機310を含むことができ、送信機/受信機310は、子(例えば、アクセス端末302および/または親ノード308)からデータを受信するように、および子へデータを送信するように構成されることができる。レート制御マルチホップスケジューリングの場合、情報は葉ノード306下のアクセス端末302の数、各アクセス端末302に利用可能なスループット、またはこの情報の積を含むことができる。電力制御マルチホップスケジューリングの場合、情報は葉ノード306下のアクセス端末302により必要とされる送信電力を含むことができる。
葉ノード306は、スループット決定モジュール312をさらに含むことができ、スループット決定モジュール312は、葉ノード306がその下のアクセス端末302に提供できるスループットを決定するように構成されることができる。例えば、スループット決定モジュール312は、アクセス端末302ごとに維持可能な「最小最大化」スループットを確立または決定することができる。Mがアクセス端末の数である場合、「最小最大化」の計算は次のように表すことができる。
各アクセス端末302がサービスされるべき対応する時間の部分は、次のように表すことができる。
電力制御マルチホップスケジューリングの決定では、葉ノード306は、送信電力計算器314を含むことができ、送信電力計算器314は、葉ノード306の下のアクセス端末により必要とされる送信電力を計算するように構成されることができる。説明されるように、受信機は、決定されたスループットに基づいて各子ノードに関連した送信電力を計算することができる。しかし、いくつかの実施形態では、受信機は、決定されたスループットに基づいて各子ノードに関連した受信電力を決定する。受信機は、(例えば、アップ/ダウンコマンドにより)送信機に送信電力を繰り返し変更させることができる。このようにして、所望の受信電力を達成する。なお、受信電力はチャネルゲインに送信電力をかけたものである。搬送波対干渉(C/I)比は、無線周波数搬送波の振幅と干渉の振幅との比である。受信機で測定されるC/I比は、受信電力の関数である。したがって、受信機は受信電力を制御することにより、C/I比を制御することができる。
(レート制御スケジューリングのための)スループット決定モジュール312および/または(電力制御スケジューリングのための)送信電力計算器314からの情報は、親ノード308、または、いくつかの実施形態では、根ノード304に伝達される。フローベースの公平スケジューリングは、根ノード304に達するまでツリーを上昇して(または上方に伝えて)各ノードに対して計算かつ繰返される。フローベースの公平スケジューリングに関するさらなる詳細が次に供される。
葉ノード306は、値調整器316をさらに含むことができ、ツリーを上昇して各ノードにより決定されたフローベースのスケジューリングと、任意の上昇ノード(ascending node)がシステム300内で障害であるかどうかにと基づいて、種々のパラメータを調整するように構成されることができる。例えば、葉ノード306が子(例えば、アクセス端末302)に供給できる全スループットが、親(例えば、親ノード308)および/または根ノード304により維持できない場合、スケジューリングした時間の部分を変更することができる。いくつかの実施形態では、各ノードはサブツリー下のアクセス端末のために計算された維持可能なスループットを知ることを要求して、そのノードがその時間の部分を再計算できるようにすることができる。
例えば、根ノード304からアクセス端末302への順方向リンクについて検討する。葉ノード306は、アクセス端末302を含むアクセス端末に対するスループットを計算できるが、親ノード308または根ノード304は、低い方の値のみをサポートできると決定する。ノード306は、この情報を知ることを求め、これに応じて時間の部分を調整することができ、このようにして、根ノード304または親ノード308はこの情報をノード306に伝達することができる。いくつかの実施形態では、ノード306が親ノード(例えば、ノード308)からデータを受信するより遅いレートを観測することによって、この情報はノード306により暗示的に決定される。したがって、これらの実施形態では、根ノード304と親ノード308とは、スループット情報をノード306に伝える必要がない。
システム300全体でフローベースの公平スケジューリングを提供するために、他の要因に基づいて、レートを変更してもよい。さらに、上昇ノード(例えば、親ノード308、根ノード304)がピーク電力制約および/またはライズオーバサーマル(rise-over-thermal)制約に違反すると決定すると、値調整器316は、各アクセス端末302に利用可能な目標スループットと、端末からの要求送信電力とを調整することができる。この例では、データフローは、アクセス端末から根ノードへである。中間ノード(例えば、親ノード308)は、上流にボトルネックがあるかどうかを知ることを要求して、それにしたがって子から受信しているスループットをスローダウンすることができる。スループットをスローダウンすることは、以前に計算または収束した送信電力または受信電力を調整することに相当する。
葉ノード306は、ルックアップテーブル318にも関連する。アクセス端末302は、葉ノード306にフィードバックチャネル品質情報(例えば、信号対雑音比)を提供できる。このチャネル品質情報は、葉ノード306によって、ルックアップテーブル318に含まれているレートにマップすることができる。マップされたレートは、子に与えることができるレートである。このレートは、後の検索のためにルックアップテーブル318に格納することができる。
送信機、受信機、または両方は、通信インタフェースコンポーネント、例えば、シリアルポート、ユニバーサル シリアル バス(USB)、パラレルポート、並びに次に示すものを実施するための有線および/または無線インタフェースコンポーネント、例えば、通信プロトコル/標準、例えば、マイクロ波アクセスのための世界相互運用性(World Interoperability for Microwave Access, WiMAX)、赤外線プロトコル、例えば、赤外線データアソシエーション(Infrared Data Association, IrDA)、近距離無線プロトコル/技術、Bluetooth(登録商標)技術、ZigBee(登録商標)プロトコル、超広帯域(ultra wide band, UWB)プロトコル、家庭用無線周波数(home radio frequency, HomeRF)、共有無線アクセスプロトコル(shared wireless access protocol, SWAP)、広帯域技術、例えば、ワイヤレス イーサネット(登録商標)コンパティビリティ アライアンス(WECA)、ワイヤレス フィデリティ アライアンス(wireless fidelity alliance, Wi-Fi Alliance)、802.11ネットワーク技術、公衆交換電話ネットワーク技術、公衆異種通信ネットワーク技術、例えば、インターネット、プライベート無線通信ネットワーク、陸上移動無線ネットワーク、符号分割多元接続(CDMA)、広帯域符号分割多元接続(WCDMA)、ユニバーサル移動遠隔通信システム(universal mobile telecommunications system, UMTS)、先進移動電話サービス(advanced mobile phone service, AMPS)、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、直交周波数分割多元接続(OFDMA)、移動通信のためのグローバルシステム(global system for mobile communications, GSM)、単一搬送波(1X)無線送信技術(RTT)、EV−DO(evolution data only)技術、汎用パケット無線サービス(general packet radio service, GPRS)、エンハンスドデータGSM環境(enhanced data GSM environment, EDGE)、高速ダウンリンク データ パケット アクセス(high speed downlink data packet access, HSPDA)、アナログおよびディジタル衛星システム、並びに無線通信ネットワークおよびデータ通信ネットワークの少なくとも一方で使用できる任意の他の技術/プロトコルを含むことができるが、これらに限定されない。
ここで図4を参照することにより、フローベースの公平スケジューリングを提供するシステム400の別の実施形態が示される。システム400は、上述の図面に関連して説明されたシステムに類似している。システム400は、根ノード404と通信することができる1つ以上のアクセス端末402を含む。アクセス端末402と根ノード404との間の通信は、マルチホップトポロジを用いることによって行うことができ、通信は種々のアクセスポイントまたはホップを経由して転送され、ツリー構成である。図示されているように、システム400内の通信は、逆方向リンクの場合、3つのホップ(アクセス端末から、葉ノード406、次に親ノード408、次に根ノード404)を経由して転送されることができる。順方向リンク通信の場合、通信は根ノード404にて始まり、目的の宛先はアクセス端末402である。システム400は、根ノード404と1つ以上のアクセス端末402との間の全てのフローまたはパス間でフローベースの公平スケジューリングを提供するように構成されることができる。システム400は、2つ以上のアクセス端末402、葉ノード406、および/または親ノード408を含むことができ、例えば、図1に示された構成と同様の構成となると理解されるべきである。いくつかの実施形態によれば、根ノード404は、アクセス端末402と直接に通信する。
図4は親ノード408を参照して説明されるが、根ノード404にも等しく適用することができる。すなわち、根ノード404は、親ノード408を参照して次に説明されるものと同様の要素、機能性、または両方を含む。さらに、次の説明では、いくつかの要素はレート制御に適用可能であり、いくつかの要素は電力制御に適用可能である。
親ノード408は、送信機/受信機410を含むことができ、送信機/受信機410は、子ノード(例えば、葉ノード406)から、葉ノード406下のアクセス端末402の数、および葉ノード406が葉ノード下のアクセス端末402に与えることができるスループットレートに関する情報(または、アクセス端末の数とスループットレートとの積)を受信するように構成されることができる。送信機/受信機410はさらに、子(例えば、下の葉ノード406)から、各葉ノード406下のアクセス端末402により必要とされる計算された送信電力を受信するように構成されることができる。
親ノード408は、親ノード408が障害であるかどうかを個々に決定することができる計算器414とスケジューラ412とを含む。レート制御マルチホップスケジューリングの間、スケジューラ412は、親ノード408下の各葉ノード406に対する子の数とスループット情報とを受信する。各葉ノード406がスループット要求を満たすためにスケジュールされる必要がある時間の部分が決定され、親ノード408下の全ての葉ノード406の時間の部分の全ての合計が決定される。時間の部分の全ての合計が1以下である場合、親ノード408は障害ではない。親ノード408下の葉ノード406の数に関する情報と各スループット情報とは、ツリーの次の上昇ノード(例えば、根ノード404)に送信されることができる。したがって、情報が根ノード404により受信されるまで、情報はツリーの上方に伝えられる。
全ての時間の部分の合計が1より大きい場合、親ノード408は障害であり、子のためにサポートできる最良の共通スループットが決定される。かかる決定は、データシンク(例えば、アクセス端末402)が最低スループットを必要とする子ノード(例えば、葉ノード406)を識別することを含むことができる。この最低スループットは、全ての子ノードに関連づけられ、全ての子ノードに対する時間の部分が(この最低スループット値を用いて)計算され、合計が1以下であるかどうかを決定する。スループットが1よりもさらに大きい場合は、スループットの合計が1以下になるまで、スループットは値調整器416により下方に調整される。合計が1より小さい場合は、後述でより詳細に説明される最小最大化公平性概念を用いて、より高いスループットを要求したデータシンクの子ノードに、余分な容量を与えることができる。したがって、値調整器416は、データシンクの要求に応じて、決定された時間の部分を選択的に調整し、少なくとも1つの子ノードをスケジュールすることができる。
親ノード408は、ルックアップテーブル418に関連し、ルックアップテーブル418は、親ノード408に格納されるか、または親ノード408によりアクセス可能な情報である。ルックアップテーブル418は、スループットを信号対雑音比にオフラインでマップすることにより、子に与える値を親ノード408に供給するように構成され、ルックアップテーブル418にこれらの値を格納することができる。
電力制御スケジューリングの場合、計算器414は、各子ノードにより要求される送信電力がC/I比を満たしているかどうかを決定するように構成されることができる。かかる決定は、子の数と各子に対するスループットとに基づくことができる。いくつかの実施形態によれば、この決定は閾値を得て、この値を所望のC/I値にマップすることにより行うことができる。C/I値は、例えば、ルックアップテーブル418に格納され、スループットを位置付けることにより見付けることができる。いったんC/I値が決定されると、C/I値を達成する送信(または受信)電力を決定するようにして、電力制御問題を解決することができる。
いくつかの実施形態によれば、全ての子からピーク送信電力に対する利用可能なヘッドルームに関する情報を周期的に得ることができる。考慮されるべき制約が2つあり、子の最大送信電力と、熱雑音電力により正規化される親における総受信電力の比(これはライズオーバサーマル(Rise-Over-Thermal, ROT)と呼ばれる量である)とである。ピーク電力の上限は送信電力に関連づけられ、逆方向リンクでは子ノードがデータソース(例えば、送信機)であるので、子ノードから送られる。ROTレベルまたは制約は、受信機または親ノードにより決定され、総受信電力に関連づけられる。ROTは、受信機の許容ダイナミックレンジ内に受信電力を維持し、全てのセルの電力制御ループの全体的な安定性のために用いられることができる。ROTの閾値にもピーク電力の上限にも達しない場合、親ノード408は親ノード408下のノードの要求にしたがって逆方向リンク容量を自動的に割当てることができる。
ROTの閾値を満たし、および/またはピーク電力の上限に達した場合、親ノード408は、送信機/受信機410を介して、その下の各葉ノード406に、「最小最大化」公平方式で計算されたレートを用いてそのレートを下げるように要求し得る。この計算は繰返し行うことができる。例えば、その下の各子に対する公平かつ維持可能なスループットに達するまで、段階的にまたは増分的にレートを下げることができる。例えば、ノードが2つの子を有し、一方がその下に5つのデータソース(またはアクセス端末)を有し、他方がその下に2つのデータソースを有している場合、5対2の比で維持可能なスループットが達成されるまで、親ノードは各子にレートを下げるように要求できる。結果のスループットが、シンクのいずれに対しても最初に要求したスループットより高い場合、その容量を割当てた後で、比率を維持しながら、余分な容量を他の子に与えることができる。
レート制御スケジューリングまたは電力制御スケジューリングにおいてスケジューリングを決定するプロセスは、最初に葉ノード406によって決定され、さらに根ノード404に達するまでツリーを上昇することによって決定されることに注意すべきである。根ノード404は、ツリー内のデータシンク(アクセス端末402)に対する維持可能なスループットを決定または計算することができる。
いくつかの実施形態によれば、根ノード404が、最終的なスループット値を決定して、決定された値を子ノードに伝達する。各子ノードは、根ノード404から受信した最終的な閾値に基づいて、適宜に、各スケジューリング時間の部分を調整することができる。時間の部分に合う時間スケールは、用途と、チャネルが変化するレートとによって決めることができる。
いくつかの実施形態によれば、ノードが親に対して同じスループットを得ることができない場合、かかるノードは各子ノードから受信した総スループットを低減することができる。いくつかの実施形態では、親は、1つ以上の子に、レートをスローダウンするように要求することができる。
本明細書に示されかつ説明された方法は、スケジューリングにも用いることができ、電力制御問題が解決されるたびに、子のサブセットは親に送信する。これは、電力制御の式を解いたときに実際に送信するものを含めることにより適応することができる。例えば、理にかなったスケジューリングポリシーは、パケットのレイテンシの制約を受けた逆方向リンク容量(例えば、許容ROT)を親が最大限に使用することを可能にする最も小さいサブセットを使用して、スケジュールされたサブセットの時間を変えることができる。
さらに、または、代わりに、公平性の基準を維持する機構として、フロー制御を用いることができる。等しいサービス程度のフローごとの公平性を仮定すると、送信機は子のフローの全てに等しいレートを送信することができる。子は、データを次のホップに送信する平均キューサイズのようなメトリックを用いて、フロー制御を送信機に知らせることができる。フロー制御は、レートを下げるまたは上げる信号またはオン/オフ機構である。例えば、キューサイズを解析して、移動平均を計算することができ、第1の閾値はレートをスローダウンするのに使用され、第2の閾値はフローをオフにするのに使用される。同じ閾値または異なる閾値を使用して、フローをオンにする、および/またはフローレートを上げることができる。
上記に示されかつ説明された例示的なシステムを考慮して、開示された主題にしたがって実施することができる方法は、図5乃至8のフローチャートを参照してより良く理解される。説明を簡単にするため、方法は一連のブロックとして示されかつ説明されるが、いくつかのブロックは本明細書に示されかつ説明されるものと異なる順序で、および/または他のブロックと同時に行われ得るので、権利を主張している主題はブロックの数または順序により限定されないことが理解かつ認識される。さらに、示されているブロックの全てが以下で説明される方法を実施するために必要とされるわけではない。ブロックに関連した機能性は、ソフトウェア、ハードウェア、これらの組み合わせ、または他の適切な手段、例えば、デバイス、システム、プロセス、およびコンポーネントによって実施できると認識される。さらに、以下で、および本明細書全体を通して開示される方法は、かかる方法を種々のデバイスへ移送および転送するのを容易にするために、製造品に格納できることが認識される。当業者は、方法が、状態図などの一連の相互に関係付けられた状態またはイベントとして代わりに表現されることを理解かつ認識するであろう。
図5は、例えば、各送信機が各子に送信する時間の部分を制御しながらフル電力で送信するレート制御マルチホップスケジューリングによって、データ通信をサポートする方法500のフローチャートを示す。焦点は、ツリー内で維持されることができる最小のフローのスループットUiを最大化することにある。瞬間レート{Ri}およびツリー内のノードの関連付けは、固定されるものとする。さらに、各親ノードは各子に対する瞬間レートを知るものとする。これは、例えば、子からの周期的なレートフィードバックにより達成することができる。各アクセスポイントが各子に送信する時間の部分は制御される。
方法500は502で始まり、特定のノード(例えば、親ノード、根ノード)は、親(または根)ノードに通信連結された子ノードのスループットの指定(例えば、要求)を受信する。この情報は子ノードから要求されるか、または子ノードは情報を自動的に送信することができる。スループットの指定は、各子ノードに関連したデータシンクごとの所望のスループットである。504で、各子をスケジュールする時間の部分は、各子ノードがその指定されたスループットをもつことを可能にするように決定される。この決定は、根ノードまでの各上昇ノードに対して繰返されることができる。かかる決定は、各子ノードjから、子ノードの総数M
jと共通スループットU
jとを受信することを含むことができる。指定されたスループットを満たすように各子がスケジュールされるべき時間の部分の計算は、次のように表すことができる。
いくつかの実施形態では、スループットは、親ノードの制約を含むネットワーク内の制約を考慮せずに計算することができる。葉ノードは、子ノードの各々に同様のスループットを与えることができる。しかし、いくつかの実施形態によれば、1つ以上の子ノードは異なるスループットを与えられることができる。したがって、スループットは、等しく分割されるか、または、例えば、サービス品質(QoS)メトリックにしたがって調整されることができる。いくつかの実施形態では、各子ノードのスループットは、最小最大化公平性概念を用いて計算されることができ、これは以下でさらに詳細に説明される。
506で、ノードは、自分がツリー内でボトルネックまたは障害であるかどうかを決定する。これは、例えば、子ノードの等しいサービス程度のスループットと、子ノードがスケジュールされる必要がある時間の部分とに基づいて確立される。かかる決定は、子ノードに割当てられた全時間の部分が1以下であるかどうかを判定することを含むことができ、次のように表すことができる。
全時間の部分が1以下であると決定された場合(「YES」)、式が行われたノードは障害ではなく、508で、子ノードのM値およびU値のベクトルは親ノードに渡される。なお、いくつかの実施形態によれば、U値とM値との積が親に伝えられる。葉ノードがアクセス端末に対して非EGoSのスループット割当てを用いる場合、これは重要である。
506で全時間の部分が1より大きいと決定された場合(「NO」)、ノードは障害であり、510で、このノードがツリー内の自分より下の全ての子ノードに対してサポートできる最良の共通スループットが、例えば、最小最大化公平性概念を用いて決定され、これは図6を参照して詳述される。このノードが障害であるかどうかを決定することは、根ノードまでの各上昇ノードに対して繰返すことができる。各子のスループットを決定した後、508で、情報は親ノードに送信される。各子ノードのスループットを決定するノードが根ノードの場合、508で情報は親ノードに送信されない。
方法500は、子ノードのスケジューリング時間を計算するツリーの次の上昇ノードを用いて繰返される。根ノード(有線ノードまたはデータソース)に達するまで、この動作が繰返され、任意の数の上昇ノードが子ノードのスケジューリング時間を計算して、それが障害であるかどうかを決定することができると理解される。510で、根ノードは、計算された時間の部分に基づいてスケジューリングポリシーを決定することができる。このスケジューリングポリシーは、ポリシーを子ノードに通知せずに実施されるか、またはいくつかの実施形態によれば、根ノードは子ノードにスケジューリングポリシー情報を送信することができる。さらに、いくつかの実施形態に関連して、スケジューリング時間の自動および/または動的な計算を使用できることが認識される。
ここで図6を参照すると、最小最大化公平性概念に基づいてスループットを決定する方法600のフローチャートが示される。ノードがネットワーク内で障害であると決定されると、このノードは、子ノードの指定されたスループットを満たすことができず、したがって、子ノードに供給できる最良のスループットを決定する必要があり、これは最小最大化公平性概念を用いて決定することができる。
602で、検討中のノードの割当てセットは、解析を行っているノード(例えば、障害ノード)下の全ての子ノードを含むように初期設定される。これは、{M
j,U
j}に等しくなるように割当てセットを初期設定することを含むことができる。604で、障害ノード下の子ノードであって、それのデータシンクが最低スループット値を指定または要求しているものが識別される。
は、arg min U
jに等しい場合、子ノードを識別することができる。すなわち、
は、子ノードであって、この子ノードのサブツリーは、障害ノード下の全ての子ノードに対して最低スループット値を要求しているデータシンクを有している。この情報は、プロセッサ、メモリ、または記憶媒体内に格納、記録、維持されることができ、情報は検索可能なフォーマットであるべきである。
606で、障害モード下の残りのデータシンクは、(604で決定された)最低スループット値を一時的に割当てられるか、またはそれに関連づけられ、必要とされる時間の部分は、同じ最低スループット値を有する全てのデータシンクに基づいて計算される。これに関する式は、次のように表すことができる。
608で、時間の部分の合計が1より小さいかどうかの決定が行われる。1より小さい場合(「YES」)、これは、この障害ノード下の全てのデータシンクに、識別された最低スループット値
を割当てた後に、より高いスループット要求を有する他のデータシンク間で分配できる余分な容量の残りがあることを示す。610で、識別された最低スループットは、(604で決定されたように)最低スループットを指定したデータシンクの子ノードに割当てられ、この子ノードはさらなる検討から取り除かれる。方法600は604に戻り、(子ノードのもとで)検討中の残りの子ノードを解析して、次の子ノードを決定する。次の子ノードのデータシンクは、識別された最低スループットよりも高いスループットを要求するか、または次に最低のスループット値を指定したものである。608で「NO」に決定され、時間の部分の合計が1より大きくなるまで、方法は、他の子ノードに対して同様に続けることができる。
608で、時間の部分の合計が1より大きいと決定された場合(「NO」)、これは、障害ノード下の全ての子ノードに対して、
をサポートできないことを示す。方法600は、続いて612で、残りの子ノードに対する維持可能な時間の部分の値が決定される。これは、時間の部分の合計が1より大きくないように決定されるべきである。計算は、次のフォーマットをとることができる。
612で、維持可能なスループットを達成するように各子がスケジュールされる時間の部分は
は、障害ノードから親に渡される。なお、Mの値は、値に変化がある場合のみ、親に伝達されてもよい。
例えば、親ノードは2つの子(子ノード1および子ノード2)を有する。子ノード1は、1のスループットを指定した5つのアクセス端末を有し、子ノード2は、2のスループットを指定した3つのアクセス端末を有する。親ノードは、これらの指定値に基づいて、1以下の時間の部分の合計を見付けることができないものとする。親ノードは最初に、1のスループット(最低スループット)を全ての8つのアクセス端末に割当てて、親ノードがこの値をサポートできるかどうかを決定する。それが全ての8つのアクセス端末に対してこの値をサポートできる場合、1のスループット値が子ノード1下のアクセス端末に割当てられる(例えば、子ノード1下のデータシンクは指定されたスループットを受信する)。次に親ノードは、どの値(1と2のと間)をノード2下のアクセス端末に与えることができるかを決定する。かかるやり方では、ノード2下のアクセス端末は、指定されたスループット値を得ないが、最小最大化公平性方式を用いて利用可能な最良のスループットを得る。
さらに説明するために、図2を再び参照して次の説明を与える。特に、この説明は、ノード232のサブツリー236に焦点を当てる。このサブツリー236内のデータシンク204、206、208、210、212、および214の全ての中で、データシンク204および206は最低スループットを指定したと仮定する。簡単にするため、共通の葉ノード下のデータシンクは、同じスループットを有するものとする。ノード222、224、および226の各々は、ノード232に必要なスループットを伝達し、次に、ノード232は、これらの要求を満たすために、ノード222、224、および226の各々をスケジュールするべき時間の部分を計算する。時間の部分の合計が1より大きい値である場合、ノード232は、全てのデータシンク204乃至214に対して、最低スループット、すなわち、データシンク204および206のスループットをサポートできるかどうかを決定する。時間の部分の合計が1より小さい場合、ノード232は、データシンク204および206に要求スループットを割当てて、ノード222をスケジュールする時間の部分を決定し、続いて、ノード224および226に対してより良く行えるかどうかを決定する。これを行うために、ノード232は、208、210、212、および214からのデータシンクのスループットの小さい方を選択する。208が、210、212、または214よりも小さいスループットを必要とするものとして、ノード232は全ての残りのデータシンク(208、210、212、および214)に208のスループットを割当てることを試みる。この割当て後に、ノード232がなお余分な容量を有する場合、残りの容量を210、212、および214に割当てる。余分な容量がない場合、時間の部分の合計が1になるように、ノード232はデータシンク208、210、212、および214に対する共通スループットを見付ける。
ツリー内の不均等な目標スループットは、子に対する維持可能なスループットを決定する場合、ユーザ(例えば、データシンク)の数に重みを関連づけることにより調整することができる。例えば、ノードは、M
1データシンクとM
2データシンクとレートR
1およびR
2とを持つ2つの子を有しており、親ノードは、子2と比較して子1のデータシンクに対してw
1倍のスループットを供給することを求める。このことは、
およびf1+f2=1を解くことにより得ることができる。同様のアプローチは、次に示される電力制御のケースに用いることができる。
図7は、例えば、電力制御マルチホップスケジューリングによって、データ通信をサポートする方法700のフローチャートを示す。例示のための次の詳細な説明では、逆方向リンクが説明され、全ての子は親に同時に送信し、親により電力制御されるものとする。考慮されるべき制約が2つあり、すなわち、子の最大送信電力と、熱雑音電力により正規化される親の総受信電力の割合(これはライズオーバサーマル(ROT)と呼ばれる量である)とである。逆方向リンクでは子ノードがデータソース(例えば、送信機)であるため、ピーク電力の上限または制約は、子ノードに関連づけられる。ROTレベルまたは制約は、受信機または親により決定されるか、またはそれと関連づけられ、総受信電力に関連づけられる。ROTは、CDMAシステムの周知のメトリックであり、これを用いて、受信電力が受信機の許容ダイナミックレンジ内にあることを確実にし、全てのセルの電力制御ループの全体的な安定性を得る。
方法700を詳細に説明する前に、基本的な電力制御問題の設定および解決を示す。K個の子を持つノード、
、他のセルの干渉電力Ioc、および熱雑音電力Nを検討する。熱雑音電力は長期にわたって公平に一定なままであるが、Iocは短い時間スケールにわたって変化できると理解されるべきである。このより迅速な変化は、他のセル内のユーザがほぼ同時に電力を調節しているために起きる。たとえ電力制御問題とその解決が式の線形システムに関して本明細書で説明されたとしても、いくつかの実施形態では、各送信機に対する個々の独立の電力制御ループがある。ROTの制約は、これらのループのシステム全体の安定性を確実にすることを試みて、ループは、本明細書に説明されている解析的な解にほぼ類似した解に収束する。したがって、示されかつ説明されたもの以外の機構が、電力制御を達成するのに用いることができる。
レートから目標搬送波対干渉(C/I)へのマッピング関数が各ノードで知られていて、子からの要求レートが与えられた場合、親は
で示される、要求されたC/I比を計算することができる。CDMAシステムでは、例えば、これは、「外部ループ」電力制御を用いることにより達成される。ここでは、C/Iの目標はフレーム/ビットエラーレートの性能に基づいて上げられるか、または下げられる。目的は、各ユーザが目標のC/Iを達成する一方で、ピーク電力制御およびROT制約を満たすように、電力
を計算することである。解は、以下の式を解くことにより得られる。
(ROTの制約)。
電力制御の式を解析的に解いて、電力値を得ることができる。
一方または両方の制約が、計算された電力値により違反されている場合、子によって要求されたレート、または同等に、要求されたC/I値を維持することはできない。この状態で、親は、全ての子に対する実行可能なより低いレートセットを決定することができる。各子に対する維持可能なレートは、各フローに対する最小最大化公平性を達成するように決定され、図8を参照して説明される。
ここで図7を参照すると、702で、特定ノード(例えば、親ノード、根ノード)は、親(または根)ノードに通信連結されている子ノードにより指定されたスループットを受信する。受信されたスループットは、各子ノードに関連したデータシンクごとの所望のスループットである。704で、各子ノードに関連した送信電力および受信電力は、部分的に、受信された所望のスループット情報に基づいて決定される。決定は、上述の電力制御問題を解くことにより、維持可能なスループットを計算することを含むことができる。ノードは他のセルの干渉電力および熱雑音電力を最近計測し、これらの量は時が経つにつれて比較的にゆっくりと変化すると仮定する。各子に利用可能なC/Iは、各子ノードjからのMjとUjとを用いて計算することができる。各子からの必要な全レートはMjUjであり、これを、C/Iマッピンク関数に対するレートと関連して用いて、この値を決定することができる。
706で、このノードが障害であるかどうかを決定する。かかる決定では、制約が違反されているかどうかを検討する。このことは、電力制御問題を解き、ピーク電力の制約とROTの制約とを評価することにより決定することができる。このノードが障害ではない(例えば、制約に違反しない)(「NO」)場合、方法700は続いて708で、子ノードのM値とU値のベクトル(または積)が親ノードまで渡される。制約に違反する(「YES」)場合、ノードは障害と見なされ、方法700は続いて710で、各子ノードの電力が再び決定され、各子ノードのための維持可能なスループットが、例えば、最小最大化公平性概念を用いて見付けられ、これは図8に関連して説明される。情報は、704で、親ノードに送信される。根ノードであり得る親ノードは、決定された送信電力および受信電力の少なくとも一方に基づいてスケジューリングポリシーを決定することができる。いくつかの実施形態では、根ノードは子ノードにスケジューリングポリシー情報を伝達する。
図8は、障害ノード下の子ノードに対する共通スループットを見付ける方法800のフローチャートを示している。方法800は、802で、障害ノード下の全ての子ノードを含むように検討中のノードの割当てセットを初期設定することにより開始する。804で、検討中の残りの子ノードの中で、最低スループットを必要とするデータシンクの子ノードが識別され、この値が記録される。このことは、全ての子の要求を含む{M
j,U
j}に等しくなるように割当てセットSを初期設定することと、min U
jに等しくなるように
を定義することとを含むことができる。この値は、検索可能なフォーマットで記録、格納、維持、などをされる。806で、サブツリーの全てのデータシンクは(804で決定された)最低スループット値を割当てられたものとして、電力制御問題は解決される。
808で、ROT制約、電力制約、または両方が任意の子ノードにおいて違反されているかどうかが決定される。制約に違反する(「YES」)場合、最小のデータシンクのスループットは維持可能ではなく、この方法は続いて810で、制約が満たされるように、残りのデータシンクに対する最小最大化維持可能スループットが計算される。このことは、上述の2つの制約式を解き、2つの値の小さい方を選択することを含むことができる。(C/Iへのレートのマッピングが低減しないと仮定して)両方の制約はユーザのスループットにおいて低減しない。解かれた値の小さい方を選択することは、実現可能性を確実にするのを助けることができる。子ノードがピーク電力の制約を満たさず、親ノードがROTの制約を満たさない場合、最も大きい維持可能なデータシンクのスループットが決定されるまで、各子に対する電力を決定し直すことができる。
808で、制約が違反されていない、または厳密な不均等性を用いて違反されてない(「NO」)と決定された場合、812で、最小スループットが、制約を受けた子ノード下のツリー内の全てのデータシンクに割当てられる。814で、この子ノードは、さらなるスループット割当てのための検討から取り除かれる。
方法800は続いて804で、検討中の残りの子ノードが解析され、最低スループットを必要とするデータシンクの子ノードを決定する。方法800は、全ての子ノードにスループット値が割当てられるまで実質的に同じやり方で続けることができる。
図9は、親ノードの観点からマルチホップ無線ネットワークのデータ通信をサポートするシステムである。図9乃至12により説明されるシステムは、機能ブロックとして表され、プロセッサ、ソフトウェア、またはこれらの組み合わせにより実施される機能を表す機能ブロックであると理解されるべきである。
システム900は無線デバイスに構成され、受信手段902を含むことができ、これは、各子ノードに関連したデータシンクごとの所望のスループットを受信するように構成されることができる。子ノードは親ノードに通信連結される。受信手段902は受信機を備えるか、またはプロセッサに構成されることができる。各子ノードがスケジュールされるべき時間を決定する手段904も含まれ、これはスケジューラを備えるか、またはプロセッサに構成されることができる。かかる決定は所望のスループットに基づいて行うことができる。親ノードが障害であるかどうかを決定する手段906は、決定されたスケジュールされた時間に基づいて、親ノードが障害であるかどうかを決定することができる。親ノードが障害であるかどうかを決定する手段906は、スケジューラを備えるか、またはプロセッサに構成されることができる。スループットを決定する手段908もシステム900に含まれ、値調整器を備えるか、またはプロセッサに構成されることができる。スループットを決定する手段908は、親ノードが障害である場合に、各データシンクをサポートするスループットを決定することができる。スループットを決定する手段902は、最小最大化公平性概念に基づいて各データシンクをサポートするスループットを決定することができる。
図10は、根ノードの観点から複数のノードの無線ネットワークのデータ通信をサポートするシステム1000を示す。システム1000は、無線デバイスに構成されることができる。システムは受信手段1002を含み、これは、各親ノードに関連したデータシンクごとの所望のスループットを根ノードにて受信するように構成されることができる。受信手段1002は、受信機を備えるか、またはプロセッサに構成されることができる。親ノード、根ノード、およびデータシンクは通信連結される。システム1000は、時間の部分を決定する手段1004を含み、これは、スケジューラを備えるか、またはプロセッサに構成され、所望のスループットに基づいて各親ノードがスケジュールされるべき時間の部分を決定することができる。スケジューリングポリシーを決定する手段1006は、各親ノードがスケジュールされるべき時間の部分に基づいて、スケジューリングポリシーを決定するように構成されることができる。スケジューリングポリシーを決定する手段1006は、スケジューラを備えるか、またはプロセッサに構成されることができる。
図11は、親ノードの観点からマルチホップ無線ネットワークのデータ通信をサポートするシステム1100の別の実施形態である。システム1100には、受信手段1102が含まれ、これは、各子ノードに関連したデータシンクごとの所望のスループットを親ノードにて受信するように構成されることができる。受信手段1102は、受信機を備えるか、またはプロセッサに構成されることができる。子ノードは親ノードに通信連結される。送信電力および/または受信電力を決定する手段1104は、所望のスループットに基づいて、各子ノードに関連した送信電力または受信電力を決定するように構成されることができる。送信電力および/または受信電力を決定する手段1104は、計算器を備えるか、またはプロセッサに構成されることができる。いくつかの実施形態によれば、送信電力または受信電力、あるいは両方を決定することができる。システム1100には、親ノードが障害であるかどうかを決定する手段1106も含まれ、これは、決定された送信電力と受信電力との少なくとも一方に基づいて、親ノードが障害であるかどうかを決定するように構成されることができる。親が障害であるかどうかを決定する手段1106は、計算器を備えるか、またはプロセッサに構成されることができる。スループットを決定する手段1108は、値調整器を備えるか、またはプロセッサによって構成されることができる。スループットを決定する手段1108は、親ノードが障害である場合、各データシンクをサポートするスループットを決定するように構成されることができる。
図12は、根ノードの観点から複数のノードの無線ネットワークにおけるデータ通信をサポートするシステム1200の別の実施形態である。システム1200は受信手段1202を含み、これは、受信機を備えるか、またはプロセッサによって構成されることができる。受信手段1202は、各親ノードに関連したデータシンクごとの所望のスループットを根ノードにて受信するように構成されることができる。親ノード、根ノード、およびデータシンクは通信連結される。送信電力および/または受信電力を決定する手段1204は、計算器を備えるか、またはプロセッサによって構成され、所望のスループットに基づいて各親ノードに関連した送信電力および受信電力を決定するように構成されることができる。いくつかの実施形態によれば、送信電力または受信電力、あるいは両方が決定されることができる。スケジューリングポリシーを決定する手段1206も含まれ、これは、決定された送信電力および受信電力の少なくとも一方に基づいてスケジューリングポリシーを決定するように構成されることができる。スケジューリングポリシーを決定する手段1206は、計算器を備えるか、またはプロセッサによって構成されることができる。
ここで図13を参照して、開示された実施形態の1つ以上にしたがってマルチホップ無線通信環境のフローベースの公平スケジューリングを容易にするシステム1300が示される。システム1300は、アクセスポイントおよび/またはユーザデバイスに存在することができる。システム1300は、例えば、受信機アンテナから信号を受信することができる受信機1302を備える。受信機1302は、受信した信号をフィルタリング、増幅、などのような一般的な動作を行うことができる。受信機1302はさらに、信号をディジタル化して、サンプルを得ることができる。復調器1304は、受信信号から情報ビットを検索して、それらをプロセッサ1306に供給することができる。
プロセッサ1306は、受信機コンポーネント1302により受信した情報の解析および/または送信機1312によって送信するための情報の生成に専用のプロセッサである。さらに、または、代わりに、プロセッサ1306は、ユーザデバイス1300の1つ以上のコンポーネントを制御し、受信機1302により受信した情報を解析し、送信機1316によって送信するための情報を生成し、および/またはユーザデバイス1300の1つ以上のコンポーネントを制御することができる。プロセッサ1306は、追加のユーザデバイスとの通信を調整することができる制御装置コンポーネントを含むことができる。
ユーザデバイス1300は、プロセッサ1306に動作的に連結されるメモリ1308をさらに備えることができ、メモリ1308は、通信を調整することに関連した情報と任意の他の適切な情報とを格納することができる。メモリ1308は、通信を調整することに関連したプロトコルをさらに格納することができる。本明細書に説明されたデータ格納(例えば、メモリ)コンポーネントは、揮発性メモリまたは不揮発性メモリの何れかであるか、あるいは、揮発性メモリおよび不揮発性メモリの両方を含むと認識される。限定されないが、例示として、不揮発性メモリは、読出し専用メモリ(ROM)、プログラム可能なROM(PROM)、電気的にプログラム可能なROM(EPROM)、電気的に消去可能なROM(EEPROM)、またはフラッシュメモリを含むことができる。揮発性メモリは、外部キャッシュメモリとして動作するランダムアクセスメモリ(RAM)を含むことができる。限定されないが、例示として、RAMは、同期RAM(SRAM)、ダイナミックRAM(DRAM)、同期DRAM(SDRAM)、ダブルデータレートSDRAM(DDR SDRAM)、エンハンスドSDRAM(ESDRAM)、同期リンクDRAM(SLDRAM)、およびダイレクトRambus RAM(DRRAM)のような多くの形で利用可能である。対象のシステムおよび/または方法のメモリ1308は、これらのメモリに限定されることなく、これらのメモリおよび任意の他の適切なタイプのメモリを備えることを意図される。ユーザデバイス1300は、シンボル変調器1310と、変調された信号を送信する送信機1312とをさらに備えることができる。
図14は、種々の実施形態にしたがってフローベースの公平スケジューリングの調整を容易にするシステム1400の図である。システム1400は、基地局またはアクセスポイント1402を備える。例示するように、基地局1402は、受信アンテナ1406によって1つ以上のユーザデバイス1404から信号を受信し、送信アンテナ1408を介して1つ以上のユーザデバイス1404に送信する。しかし、いくつかの実施形態により、1つのアンテナは、信号の送信および受信の両方に利用することができる。
基地局1402は、受信機1410を備え、受信機1410は、受信アンテナ1406から情報を受信し、受信した情報を復調する復調器1412に動作的に関連づけられる。復調されたシンボルは、プロセッサ1414により解析され、プロセッサ1414はメモリ1416に連結され、メモリ1416は、データシンクの数に関する情報、とくに、特定のフロー、計測されたスループットレート、計算されたスループットレート、などを格納する。変調器1418は、信号を多重化することができ、その信号は、送信機1420によって送信アンテナ1408を介してユーザデバイス1404へ送信される。
図15は、例示的な無線通信システム1500を示す。無線通信システム1500は、簡潔化のために1つの基地局と1つの端末とを示す。しかし、システム1500は2つ以上の基地局またはアクセスポイント、および/または2つ以上の端末またはユーザデバイスを含むことができ、追加の基地局および/または端末は、以下に示す例示的な基地局および端末と実質的に類似していても、または異なっていてもよい。さらに、基地局および/または端末が、本明細書に説明されたシステムおよび/または方法を用いて、それらの間の無線通信を容易にすることができると認識される。
ここで図15を参照すると、ダウンリンクでは、アクセスポイント1505にて、送信(TX)データプロセッサ1510はトラヒックデータを受信、フォーマット、符号化、インタリーブ、および変調(または、シンボルマップ)し、変調シンボル(「データシンボル」)を供給する。シンボル変調器1515は、データシンボルとパイロットシンボルとを受信かつ処理し、シンボルストリームを供給する。シンボル変調器1515は、データシンボルとパイロットシンボルとを多重化し、N個の送信シンボルのセットを得る。各送信シンボルは、データシンボル、パイロットシンボル、または0の信号値である。パイロットシンボルは、各シンボル期間において連続的に送信されることができる。パイロットシンボルは、周波数分割多重化(FDM)、直交周波数分割多重化(OFDM)、時分割多重化(TDM)、周波数分割多重化(FDM)、または符号分割多重化(CDM)される。
送信機ユニット(TMTR)1520は、シンボルストリームを受信し、1つ以上のアナログ信号に変換し、アナログ信号をさらに調整し(例えば、増幅、フィルタリング、および周波数アップコンバート)、無線チャネルによる送信に適切なダウンリンク信号を発生する。次に、ダウンリンク信号は、アンテナ1525を介して端末に送信される。端末1530で、アンテナ1535は、ダウンリンク信号を受信し、受信信号を受信機ユニット(RCVR)1540に供給する。受信機ユニット1540は、受信信号を調整し(例えば、フィルタリング、増幅、および周波数ダウンコンバート)、調整された信号をディジタル化し、サンプルを得る。シンボル復調器1545は、N個の受信シンボルを得て、チャネル推定のために、受信したパイロットシンボルをプロセッサ1550に供給する。シンボル復調器1545は、プロセッサ1550からダウンリンクのための周波数応答推定をさらに受信し、受信データシンボルに対してデータ復調を行い、データシンボル推定(送信されたデータシンボルの推定)を得て、RXデータプロセッサ1555にデータシンボル推定を供給し、これはデータシンボル推定を復調し(すなわち、シンボルデマップ)、デインタリーブし、復号し、送信されたトラヒックデータを回復する。シンボル復調器1545とRXデータプロセッサ1555とによる処理は、アクセスポイント1505におけるシンボル変調器1515とTXデータプロセッサ1510とによる処理に対してそれぞれ相補的である。
アップリンクでは、TXデータプロセッサ1560は、トラヒックデータを処理し、データシンボルを供給する。シンボル変調器1565は、データシンボルを受信し、パイロットシンボルと多重化し、変調を行い、シンボルストリームを供給する。送信機ユニット1570は、シンボルストリームを受信かつ処理し、アンテナ1535によりアクセスポイント1505に送信されるアップリンク信号を発生する。
アクセスポイント1505にて、端末1530からのアップリンク信号は、アンテナ1525により受信され、受信機ユニット1575により処理され、サンプルを得る。次に、シンボル復調器1580は、サンプルを処理し、アップリンクの受信したパイロットシンボルとデータシンボル推定とを供給する。RXデータプロセッサ1585は、データシンボル推定を処理し、端末1530により送信されたトラヒックデータを回復する。プロセッサ1590は、アップリンクにおける各アクティブ端末の送信に対してチャネル推定を行う。
プロセッサ1590および1550は、それぞれ、アクセスポイント1505および端末1530における動作を指示する(例えば、制御、調整、管理する、...)。各プロセッサ1590および1550は、プログラムコードおよびデータを格納するメモリユニット(図示せず)に関連づけることができる。プロセッサ1590および1550は、それぞれ、アップリンクおよびダウンリンクに対する周波数およびインパルス応答推定を導出する計算を行うこともできる。
多元接続システム(例えば、FDMA、OFDMA、CDMA、TDMA、など)の場合、複数の端末がアップリンクで同時に送信することができる。かかるシステムの場合、パイロットサブバンドは、異なる端末間で共有することができる。チャネル推定技術は、各端末のパイロットサブバンドが動作バンド全体(場合によってバンドエッジを除く)にわたる場合に使用することができる。かかるパイロットサブバンド構造は、各端末に対して周波数ダイバーシティを得るのに望ましい。本明細書に説明された技術は、種々の手段によって実施されることができる。例えば、これらの技術は、ハードウェア、ソフトウェア、またはこれらの組み合わせにおいて実施されることができる。ハードウェアの実施の場合、チャネル推定に使用される処理ユニットは、1つ以上の特定用途向けIC(ASIC)、ディジタル信号プロセッサ(DSP)、ディジタル信号処理デバイス(DSPD)、プログラム可能論理デバイス(PLD)、フィールドプログラム可能ゲートアレイ(FPGA)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、本明細書に説明された機能を実行するように設計された他の電子ユニット、またはこれらの組み合わせの中で実施されることができる。ソフトウェアの場合、本明細書に説明された機能を実行するモジュール(例えば、手順、機能、など)により実施されることができる。ソフトウェアコードはメモリユニットに格納され、プロセッサ1590および1550により実行されることができる。
本明細書に説明された実施形態は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、またはこれらの任意の組み合わせにより実施されることができると理解される。システムおよび/または方法は、ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコード、プログラムコード、またはコードセグメントで実施される場合、格納コンポーネントなどの機械読出し可能媒体に格納されることができる。コードセグメントは、手順、機能、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、あるいは命令、データ構造、またはプログラムステートメントの任意の組み合わせを表すことができる。コードセグメントは、情報、データ、引数、パラメータ、またはメモリコンテンツの受渡しおよび/または受信により別のコードセグメントまたはハードウェア回路に連結されることができる。情報、引数、パラメータ、データ、などは、メモリ共有、メッセージの受渡し、トークンの受渡し、ネットワーク送信、などを含めて、任意の適切な手段を使用して、受渡し、転送、または送信されることができる。
ソフトウェアの実施の場合、本明細書に説明された技術は、本明細書に説明された機能を行うモジュール(例えば、手順、機能、など)で実施されることができる。ソフトウェアコードはメモリユニットに格納され、プロセッサにより実行されることができる。メモリユニットは、プロセッサ内またはプロセッサ外に構成され、この場合、メモリユニットは、当技術で知られているように種々の手段を介してプロセッサに通信連結されることができる。
上述は、1つ以上の実施形態の例を含む。もちろん、上述の実施形態を説明する目的において、コンポーネントまたは方法の考えられるあらゆる組み合わせを説明することはできないが、当業者は、種々の実施形態の多くのさらなる組み合わせおよび置換が可能であると認識することができる。したがって、説明された実施形態は、本発明の請求項の精神および範囲内にある全ての代替、変更、および変形を包含することを意図される。さらに、用語「含む(include)」は、詳細な説明または請求項に使用される範囲において、「備える(comprising)」が請求項におけるトランジショナルワード(transitional word)として用いられる際に解釈されるように、かかる用語「含む」は用語「備える」と同じように含まれること(inclusive)を意図している。