(57)【特許請求の範囲】
【請求項１】
集積回路であって、
複数のデータ待ち行列のそれぞれについて第１の値を得るように構成される回路であって、前記第１の値は、第２の値、そのデータ待ち行列に関連付けられるサイズ、およびそのデータ待ち行列のスケジューリング伝送間の遅延から得られ、前記第２の値は、データレートに関連付けられ、前記得られた第１の値は、プライオリティに関連付けられる、回路を備え、
前記回路は、前記得られた第１の値に基づいて伝送のためのデータ待ち行列の少なくとも一つからデータを選択するようにさらに構成されることを特徴とする集積回路。
【請求項２】
前記データの選択は、より低いプライオリティデータの伝送リソースの欠乏を防ぐことを特徴とする請求項１に記載の集積回路。
【請求項３】
無線デバイスによって、複数のデータ待ち行列のそれぞれについて第１の値を得るステップであって、前記第１の値は、第２の値、そのデータ待ち行列に関連付けられるサイズ、およびそのデータ待ち行列のスケジューリング伝送間の遅延から得られ、前記第２の値は、データレートに関連付けられ、前記得られた第１の値は、プライオリティに関連付けられる、ステップと、
前記無線デバイスによって、前記得られた第１の値に基づいて伝送のためのデータ待ち行列の少なくとも一つからデータを選択するステップと
を備えることを特徴とする方法。
【請求項４】
前記データの選択は、より低いプライオリティデータの伝送リソースの欠乏を防ぐことを特徴とする請求項３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、無線通信システムに関し、より詳細には、無線ＬＡＮ（ＷＬＡＮ）におけるトラフィックフローのパケットスケジューリングに関する。
【背景技術】
【０００２】
ＩＥＥＥ８０２．１１ｅ規格に準拠した環境において、拡張されたＤＣＦ（ＥＤＣＡ）は、トラフィックフローを、各トラフィックフローによって運ばれるアプリケーションのプライオリティを反映するアクセスカテゴリ（ＡＣ）に分類する。異なるフレーム送信間隔（ＡＩＦＳ）、最小コンテンションウィンドウ（contention window）（ＣＷｍｉｎ）、および最大コンテンションウィンドウ（ＣＷｍａｘ）のパラメータは、トラフィックフローのＡＣにしたがって、トラフィックフローごとに割り当てられる。ＡＩＦＳは、以前に送信されたパケットを受信したというＡＣＫをアクセスポイント（ＡＰ）から受信した後のステーション（ＳＴＡ）の待ち時間である。プライオリティの高いＡＣは、プライオリティの低いＡＣよりもＡＩＦＳが短く、プライオリティの高いトラフィックは、チャネルにアクセスするまでの待ち時間が短い。ＣＷｍｉｎ、およびＣＷｍａｘの値は、バックオフプロシージャの間に使用されるコンテンションウィンドウの下限および上限の境界を定義する。ＥＤＣＡは、プライオリティの高いトラフィックフローが、ＡＩＦＳ、ＣＷｍｉｎ、およびＣＷｍａｘの好適な設定を介してチャネルへのアクセスを取得する機会が大きいということを保証するのに役立つ。
【０００３】
ＩＥＥＥ８０２．１１ｅ規格は、さまざまなＡＣの中のコンテンション、およびバックオフの仕組みを特定する。しかし、同一ＡＣ内の異なるトラフィックフロー（異なるＳＴＡに属している）の中のＡＰでのスケジューリングは、ＩＥＥＥ８０２．１１ｅ規格によって仕様化されておらず、ＡＰの実装に委ねられる。
【発明の概要】
【０００４】
無線ＬＡＮにおいてパケットをスケジューリングする方法は、パケットのユーザプライオリティに基づいて、パケットをアクセスカテゴリ（ＡＣ）にマッピングすることによって始まる。パケットは、パケットのＡＣに基づいてステーションのトラフィックフロー（ＴＦ）に割り当てられる。ＴＦからのパケットは、ＡＣの送信待ち行列にセットされる。その送信待ち行列からのパケットは、サービスを基盤とした競合解決機能（contention resolution function）の品質に基づいて選択され、その選択されたパケットが送信される。
【図面の簡単な説明】
【０００５】
【図１】本発明による、パケットをスケジューリングする方法を示すフローチャートである。
【図２】複数のトラフィックフローで動作する、ＱｏＳを基盤とした競合解決機能を備えるＥＤＣＡの機能を示す図である。
【図３】同一ＡＣ内で動作する競合解決機能のフローチャートである。
【図４】図３で示された競合解決機能の図である。
【発明を実施するための形態】
【０００６】
本発明は、ＡＰでのＱｏＳを基盤とした内部の競合解決機能を実装する。ＱｏＳを基盤とした機能は、ＡＣごとに動作し、同一ＡＣ内の複数のトラフィックフローの待ち行列の間の競合を解決する。
【０００７】
競合解決機能は、同一ＡＣの２つまたはそれ以上のトラフィックフローの待ち行列にパケットがあるときはいつでも起動し、これらの待ち行列は、フレーム伝送時間でチャネルにアクセスしようとする。競合解決機能のアウトプットは、チャネルにアクセスするために使用されるプライオリティである、各ＡＣの内部競合のプライオリティである。
【０００８】
遅延を基礎に踏まえたＱｏＳ機能１００の動作は、図１に示されており、かつＥＤＣＡの動作状況の中で説明される。ＥＤＣＡの機能は４つのＡＣをサポートする。８つの異なるユーザプライオリティ（ＵＰ）は、表１に示すようにこれら４つのＡＣにマッピングされる。
【０００９】
【表１】
0005524987.tif 000002
【００１０】
ＳＴＡによって送信されるパケットは、ＵＰに基づいてＡＣにマッピングされる（ステップ１０２）。マッピング機能は、ＵＰがそれぞれのＡＣにマッピングされるということ、および異なるトラフィックフローからのパケットがＡＣにおけるそれぞれの待ち行列に導かれるということを保証する。
【００１１】
ＩＥＥＥ８０２．１１ｅ規格において、ＳＴＡは１つまたはそれ以上のトラフィックフローを有する可能性があり、かつこれらのトラフィックフローは、各ＡＣに散在するか、または同一のＡＣにまとめられる可能性がある。このことは、ＳＴＡから実行されるアプリケーション、および同一アプリケーションの同時発生セッションの数によって決まる。実装のためには、各ＳＴＡは最大４つのトラフィックフローを有するように制限され、各トラフィックフローは異なるアプリケーションをサポートする。ＳＴＡは４つよりも多いトラフィックフローを有することができ、かつ同一アプリケーションの同時発生セッションをサポートすることができるということが知られている。すなわち、本発明は、そのような状況において同一の方法で動作する。
【００１２】
したがって、ＡＣは最大Ｎのトラフィックフローまでサポートすることができる。ここで、ＮはシステムにおけるＳＴＡの数である。ＳＴＡがＡＣに属するアプリケーションを実行しない場合、ＡＣはトラフックフローを有することはできない。
【００１３】
パケットは、ＡＣに基づいてＳＴＡのトラフィックフローに割り当てられる（ステップ１０４）。各トラフィックフローからのパケットは、対応するＡＣの送信待ち行列にセットされる（ステップ１０６）。各ＡＣの送信待ち行列からの一パケットは、ＡＣの伝送速度および遅延要件に基づいて、ＱｏＳを基盤とした競合解決機能によって選択される（ステップ１０８、この機能を図３および図４に関連して詳細に述べる）。選択されたパケットを送信しようとする試みが行われ（ステップ１１０）、送信中に他のパケットとの衝突が発生するか否かの判定が行われる（ステップ１１２）。衝突が発生していない場合、選択されたパケットは送信され（ステップ１１４）、この機能は終了する（ステップ１１６）。
【００１４】
他のパケットとの衝突が発生する場合（ステップ１１２）、プライオリティが高い方のパケットが送信される（ステップ１２０）。プライオリティが低い方のパケットのコンテンションウィンドウ（ＣＷ）の値は、プライオリティが低い方のパケットに関連付けられたＡＣのＣＷｍａｘの値と比較される（ステップ１２２）。ＣＷの値がＣＷｍａｘよりも小さい場合、ＣＷの値は式（１）に示すように更新される（ステップ１２４）。
【００１５】
CW＝((CW＋1)×2)−1                                                式（１）
【００１６】
ＣＷの値が更新された後、またはＣＷの値が既にＣＷｍａｘの値である場合（ステップ１２２）、プライオリティが低い方のパケットは、ＣＷの値と等しい時間の間、バックオフモードに入り（ステップ１２６）、カウントダウンタイマは開始される。カウントダウンタイマが０に達すると（ステップ１２８）、ＣＳＭＡ／ＣＡ（carrier sense multiple access with collision avoidance）の感知によってチャネルがアイドル状態か否かの判定が行われる（ステップ１３０）。チャネルがアイドル状態でない場合、この機能はステップ１２４に戻り、ＣＷの値をリセットしてカウントダウンタイマを再スタートする。一方、チャネルがアイドル状態である場合、プライオリティが低い方のパケットは送信され（ステップ１３２）、この機能は終了する（ステップ１１６）。
【００１７】
機能１００を図２と一緒に説明する。図２は、４つのＳＴＡを有し、異なるＡＣにマッピングされた４つの異なるアプリケーションをそれぞれ実行し、および各ＡＣの各ＳＴＡにおけるあるトラフィックフローを生成するＥＤＣＡ実装モデルの一例を示す。パケットは、ＡＣに基づいて、ＳＴＡのトラフィックフローに割り当てられる。例えば、ステーションＢ（ＳＴＡ＿Ｂ）からの第２のトラフィックフロー（ＴＦ＿２）がＡＣ＿２に存在する。各トラフィックフローからのパケットは、別個の送信待ち行列に加えられ、ＱｏＳを基盤とした競合解決機能は、送信されるべき、各ＡＣからの一パケットを指名する。
【００１８】
いったん、パケットがＡＣ、例えば、ＡＣ＿２から選択され、送信の準備ができると（すなわち、パケットはバックオフモードにはなく、チャネルがアイドル状態であることを感知している）、パケットはチャネル上で送信しようとする。他のＡＣ、例えば、ＡＣ＿４からの送信の準備ができている他のパケットが存在する場合、このことによってＡＣ間の内部衝突が生じる。この場合、ＡＣ＿２（プライオリティが低い）からのパケットによって、プライオリティが高いＡＣ（ＡＣ＿４）に対して、チャネルへアクセスし、パケットを送信する権利が与えられる。ＡＣ＿２は、ＣＷ［ＡＣ＿２］を値（（ＣＷ［ＡＣ＿２］＋１）×２）−１に更新し、またはＣＷ［ＡＣ＿２］がすでにＣＷｍａｘ［ＡＣ＿２］に達している場合、ＣＷの値をそのままにしておく。
【００１９】
ＡＣ＿２からのパケットはバックオフプロシージャを開始し、バックオフカウンタがゼロになるまでバックオフカウンタを減少させる。チャネルがアイドル状態である場合、パケットは送信を試みる。ＡＣ＿２からのパケットが送信されるまで、ＱｏＳを基盤とした競合解決機能はＡＣ＿２のために起動せず、他のパケットはＡＣ＿２カテゴリの送信のためには指名されない。
【００２０】
バックオフタイマがＡＣ＿２の待ちパケットについてゼロに達し、ＡＣ＿２のパケットが衝突する可能性がある他のカテゴリからのパケットが存在しない場合、ＡＣ＿２はそのパケットを送信する。衝突が発生する場合、ＡＣ＿２は新しいバックオフプロシージャを開始し、ＣＷ［ＡＣ＿２］を値（（ＣＷ［ＡＣ＿２］＋１）×２）−１にしたがって更新しなければならない。
【００２１】
送信が成功した後、認められている送信期間（ＴＸＯＰ）の中で最終送信をしたばかりのＡＣは、ＣＷ［ＡＣ］の値を更新し、およびプライオリティの高いＡＣとの衝突発生にかかわらず、次に指名されたパケットへのバックオフプロシージャを開始する。ＴＸＯＰは、ＳＴＡが所定の期間にフレームを送信し始めることができる期間である。ＴＸＯＰの期間中、ＳＴＡはＴＸＯＰにおいてできるだけ多くのフレームを送信することができる。そのフレームの長さは、データに関連付けられたトラフィッククラス（traffic class）（ＴＣ）にしたがって設定される。ＥＤＣＡのＴＸＯＰは、ＡＰによって通知される送信期間（TXOP limit）を越えない。プライオリティが高い方のＡＣは、送信すべきものがあるときはいつでも、ＡＰ内のプライオリティが低い方のＡＣを常に欠乏させないということを保証することは必須であり、優先順位付けは、ＣＷｍｉｎ［ＡＣ］、ＣＷｍａｘ［ＡＣ］およびＡＩＦＳ［ＡＣ］のうちから好適な設定値を介して行われるということを保証することも必須である。
【００２２】
ＥＤＣＡにおいて、トラフィックフローは、以下の３つの場合、バックオフプロシージャを開始する。  
１．プライオリティの高いＡＣとの内部衝突による場合
２．無線チャネルを共有する他のＳＴＡとの外部衝突による場合
３．他の送信パケットを指名した後、割り当てられたＴＸＯＰの期間内の最終送信後の場合
あるＡＣに１つのトラフィックフローの待ち行列だけが存在する場合、対処すべき他の待ち行列が存在しないため、ＱｏＳを基盤とした競合解決機能は効果的ではない。
【００２３】
競合解決機能
各待ち行列内で、「プライオリティインデックス（Priority Index）」は、「遅延およびデータ転送速度（Delay and Data Rate）」の基準に基づいて計算される。「データ転送速度インデックス（Data Rate Index）」の計算は、パケットを送信するために使用される瞬間的なデータ転送速度を考慮に入れる。高いデータ転送速度は、送信間隔時間（medium time）が少なくて済み、プライオリティが高い。このことにより、システム全体のスループットは改善するが、ユーザにとっては、瞬間的なデータ転送速度の遅さに伴う遅延を増加させる可能性がある。「遅延インデックス（Delay Index）」の計算は、トラフィックフローごとのＱｏＳ要件を反映するため、各待ち行列における最初のパケットの遅延（すなわち、そのパケットが待ち行列において費やした時間）、および待ち行列の大きさを考慮に入れる。同一のＡＣ内で最も高いプライオリティインデックス（「データ転送速度、および遅延」の組み合わせ）を持つパケットは、送信のために他のＡＣと競争することをスケジュール化される。
【００２４】
図３は、競合解決機能３００のフローチャートを示し、競合解決機能３００は、予測されたデータ転送速度、およびパケットによって生じた現在の遅延に基づいてスケジュールすべき次のパケットを決定する。また、競合解決機能３００は、図４においても図示される。
【００２５】
一待ち行列は、各ＡＣに存在し、「ｎ」で索引を付けられる。各待ち行列内で、プライオリティインデックスは、「遅延およびデータ転送速度」の基準に基づいて、各パケットについて計算される。「遅延インデックス」は、ＡＣ−依存パラメータを含む。
【００２６】
ＡＣｎ内の各待ち行列の「データ転送速度インデックス」は、式（２）にしたがって計算される（ステップ３０２）。
【００２７】
【数１】
0005524987.tif 000003
【００２８】
最大データ転送速度は、適用可能な規格で認められる最大のデータ転送速度である。例えば、ＩＥＥＥ８０２．１１ｂ規格においては、最大データ転送速度は１１Ｍｂｐｓであり、ＩＥＥＥ８０２．１１ｇ規格においては、最大データ転送速度は５４Ｍｂｐｓである。
【００２９】
ＡＣｎ内の各待ち行列の「遅延インデックス」は、式（３）において説明される（ステップ３０４）。
【００３０】
Delay Indexn＝(A[ACn]×First_Pkt_Delayn(normalized))＋(B[ACn]×Queue_Sizen)＋(C[ACn]×Avg_Pkt_Delayn(normalized))
式（３）
【００３１】
ここで、Ｆｉｒｓｔ＿Ｐｋｔ＿Ｄｅｌａｙｎは、ＡＣｎの最初のパケットによって引き起こされる遅延であり、Ｑｕｅｕｅ＿Ｓｉｚｅｎは、ＡＣｎの大きさであり、およびＡｖｇ＿Ｐｋｔ＿Ｄｅｌａｙｎは、Ｍパケットを超えるＡＣｎのパケット遅延の移動平均である。Ａ、Ｂ、およびＣは、それぞれ、パケット遅延、待ち行列の大きさ、および平均パケット遅延についてのＡＣごとの重み係数である。起点として全てのＡＣに割り当てることができる重み係数の初期値は、Ａ＝０．４、Ｂ＝０．３、およびＣ＝０．３である。Ａ、Ｂ、およびＣの値は、平均的な待ち行列の大きさを監視することによって動作中でも調整可能である。待ち行列の大きさが非常に大きくなった場合、Ｃの値は、ＡまたはＢの値が減少する一方で増加する可能性がある。ＡＣによって、異なる設定を３つの重み係数のために交替で使用することができる。ＡＣは、各ＡＣによって運ばれるトラフィックの異なるＱｏＳの態様を強調し、およびチャネルにアクセスする際のプライオリティをもっと効率的に決定する。
【００３２】
「遅延インデックス」の式の第１項および第３項は、待ち行列の大きさである第２項によって比重が薄まらないように整数値に標準化される。最も高い「遅延インデックス」の計算を含む待ち行列は、「プライオリティインデックス」の計算ごと（ステップ３０６）のように、チャネルにアクセスする権利を得る可能性が高い。
【００３３】
Priority Index＝(Alpha×Data Rate Index)＋(Beta×Delay Index)
式（４）
【００３４】
ここで、Ａｌｐｈａは、送信データ転送速度の影響を弱める重み係数であり、Ｂｅｔａは、遅延の影響を弱める重み係数である。本発明の一実施形態においては、Ａｌｐｈａ＝０．５、およびＢｅｔａ＝０．５である。これらの値は、Ｘ秒の遅延を引き起こすパケットの数を監視することによって次第に調整することができる。そのパケットの数が１０％（この値を設定することができる）を超える場合、ＡｌｐｈａおよびＢｅｔａの重要度に対する調整を行うことができる（例えば、Ａｌｐｈａを減らし、Ｂｅｔａを増やす）。
【００３５】
最も高い「プライオリティインデックス」の値を有するトラフィックフローの最初のパケットは送信のために選択され（ステップ３０８）、その機能は終了する（ステップ３１０）。
【００３６】
本発明の特徴および要素を特定の組み合わせの好ましい実施形態で説明したが、それぞれの特徴または要素を単独で（好ましい実施形態の他の特徴および要素とは別に）、または本発明の他の特徴および要素とともに、またはそれらとは別に使用することができる。本発明の特定の実施形態を図示して説明したが、当業者は、本発明の範囲から離れることなく、多くの修正および変形を行うことができる。上記の説明は、特定の発明を説明するのに役立つが、形はどうあれ特定の発明に限定するものではない。
【図１】
0005524987.tif 000004
【図２】
0005524987.tif 000005
【図３】
0005524987.tif 000006
【図４】
0005524987.tif 000007