(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024073385
(43)【公開日】2024-05-29
(54)【発明の名称】無線ローカルアクセスネットワーク(WLAN)におけるデューティサイクルを管理するための方法及び装置
(51)【国際特許分類】
H04W 72/0446 20230101AFI20240522BHJP
H04W 84/12 20090101ALI20240522BHJP
【FI】
H04W72/0446
H04W84/12
【審査請求】有
【請求項の数】21
【出願形態】OL
(21)【出願番号】P 2023193526
(22)【出願日】2023-11-14
(31)【優先権主張番号】2022903462
(32)【優先日】2022-11-17
(33)【優先権主張国・地域又は機関】AU
(71)【出願人】
【識別番号】522328389
【氏名又は名称】モース マイクロ ピーティーワイ. リミテッド.
(74)【代理人】
【識別番号】110001139
【氏名又は名称】SK弁理士法人
(74)【代理人】
【識別番号】100130328
【弁理士】
【氏名又は名称】奥野 彰彦
(74)【代理人】
【識別番号】100130672
【弁理士】
【氏名又は名称】伊藤 寛之
(72)【発明者】
【氏名】ダウッド・ファーミ タワドロス・バセム
(72)【発明者】
【氏名】ヴァン デ バーグ・マリア アントニー・ルネ セドリック
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067AA03
5K067CC04
5K067EE02
5K067EE10
(57)【要約】 (修正有)
【課題】無線ローカルアクセスネットワーク(WLAN)におけるデューティサイクルを管理するシステム、方法、装置及び及びコンピュータ可読媒体を提供する。
【解決手段】無線送信方法は、無線通信デバイスによって、1つ以上の第1のパケットのオンエア時間を決定し、1つ以上の第1のパケットの送信に対応するオフエア時間を計算する。オフエア時間は、オンエア時間及び無線通信デバイスに関連付けられるデューティサイクルに基づいて計算される。方法はまた、第1の時点よりも遅いの第2の時点以降まで、1つ以上の第2のパケットの送信を遅延させる。第2の時点は、第1の時点、オンエア時間及び計算されたオフエア時間の合計に基づいて決定される。
【選択図】
図10
【特許請求の範囲】
【請求項1】
無線ローカルエリアネットワーク(WLAN)を介した無線通信の方法であって、
無線通信デバイスによって、第1の時点から開始して1つ以上の第1のパケットを送信するステップと、
前記1つ以上の第1のパケットのオンエア時間を決定するステップであって、前記1つ以上の第1のパケットのオンエア時間は、前記1つ以上の第1のパケットの送信に関連付けられるエアタイムであるステップと、
前記1つ以上の第1のパケットの送信に対応するオフエア時間を計算するステップであって、前記オフエア時間は、前記オンエア時間、及び前記無線通信デバイスに関連付けられるデューティサイクルに基づいて計算されるステップと、
第2の時点以降に1つ以上の第2のパケットを送信するように前記無線通信デバイスを保持するステップであって、前記第2の時点は、前記第1の時点、及び前記オンエア時間と計算された前記オフエア時間との合計に基づいて決定されるステップとを含む、
方法。
【請求項2】
前記1つ以上の第1のパケットの送信に対応するオフエア時間は、Toff=Tair*(1/D-1)に基づいて計算され、ここで、Toffはオフエア時間、Tairは前記1つ以上の第1のパケットを送信するのに必要なオンエア時間、Dは前記無線通信デバイスに関連付けられるデューティサイクルである、請求項1に記載の方法。
【請求項3】
前記無線通信デバイスによって、前記第2の時点以降の第3の時点から開始して前記1つ以上の第2のパケットを送信するステップと、
前記第2の時点と前記第3の時点との差に基づいてアイドル時間を決定するステップと、
前記1つ以上の第2のパケットのオンエア時間を決定するステップであって、前記1つ以上の第2のパケットのオンエア時間は、前記1つ以上の第2のパケットの送信に関連付けられるエアタイムであるステップと、
前記1つ以上の第2のパケットの前記オンエア時間、前記無線通信デバイスに関連付けられるデューティサイクル、及び前記アイドル時間に基づいて、前記1つ以上の第2のパケットの送信に対応するオフエア時間を計算するステップと、
第4の時点以降に1つ以上の第3のパケットを送信するように前記無線通信デバイスを保持するステップであって、前記第4の時点は、前記第3の時点、及び前記1つ以上の第2のパケットのオンエア時間と計算されたオフエア時間との合計に基づいて決定されるステップと、
をさらに含む、請求項1に記載の方法。
【請求項4】
前記1つ以上の第2のパケットの送信に対応するオフエア時間は、Toff=Tair*(1/D-1)-Tidleに基づいて計算され、ここで、Toffは前記1つ以上の第2のパケットのオフエア時間、Tairは前記1つ以上の第2のパケットのオンエア時間、Dは前記無線通信デバイスに関連付けられるデューティサイクル、Tidleはアイドル時間である、請求項3に記載の方法。
【請求項5】
前記アイドル時間の値は、前記1つ以上の第3のパケットを送信した後にリセットされる、請求項3に記載の方法。
【請求項6】
前記1つ以上の第1のパケットは、確認応答(ACK)パケットを含み、
前記無線通信デバイスは、前記無線通信デバイスによるACKパケットの各送信に続いて、少なくとも前記ACKパケットの送信に関連付けられるオフエア時間の間待機する、請求項1に記載の方法。
【請求項7】
前記1つ以上の第1のパケットは、ヌルデータパケット(NDP)、ビーコン、またはACKパケットのうちの1つを含み、
前記無線通信デバイスは、前記1つ以上の第1のパケットの早期送信を早期持続時間に等しい時間量で実行し、
前記1つ以上の第1のパケットの送信に関連付けられるオフエア時間は、前記早期持続時間に等しい時間量で延長される、請求項1に記載の方法。
【請求項8】
前記1つ以上の第1のパケットを送信するためのオンエア時間は、前記1つ以上の第1のパケットを送信するためのオンエア時間が最大オンエア時間以下になるように、前記最大オンエア時間内に制限される、請求項1に記載の方法。
【請求項9】
前記最大オンエア時間は、バーストサイクル持続時間及び前記無線通信デバイスに関連付けられるデューティサイクルに基づいて決定される、請求項8に記載の方法。
【請求項10】
前記バーストサイクル持続時間または前記最大オンエア時間のうちの1つ以上は、前記無線通信デバイス上で実行されるアプリケーションによって決定及び設定される、請求項9に記載の方法。
【請求項11】
前記1つ以上の第1のパケットの送信に対応するオフエア時間は、前記バーストサイクル持続時間から前記第1のパケットを送信するためのオンエア時間を減算することに少なくとも部分的に基づいて計算される、請求項9に記載の方法。
【請求項12】
前記無線通信デバイスに関連付けられるデューティサイクルはデューティサイクル観測ウィンドウに対応し、前記デューティサイクル観測ウィンドウの持続時間は前記バーストサイクル持続時間の整数倍を含む、請求項9に記載の方法。
【請求項13】
前記1つ以上の第1のパケットと前記1つ以上の第2のパケットは、前記最大オンエア時間よりも長いエアタイムを必要とするデータ送信に含まれ、
前記データ送信は少なくとも、前記1つ以上の第1のパケットを含む第1のサブセットと、前記1つ以上の第2のパケットを含む第2のサブセットとに分割され、前記第1のサブセットの送信と前記第2のサブセットの送信の両方に、前記最大オンエア時間以下のエアタイムが必要である、請求項8に記載の方法。
【請求項14】
前記無線通信デバイスは、前記オフエア時間中にパケット送信を実行しないように、前記オフエア時間中に沈黙している、請求項1に記載の方法。
【請求項15】
前記無線通信デバイスに関連付けられる利用可能な送信クレジットを継続的に更新するステップをさらに含み、
前記無線通信デバイスは、
前記利用可能な送信クレジットが前記無線通信デバイスに関連付けられる予約クレジットよりも大きいという判定に基づいて、複数のパケットタイプのうちの任意のパケットタイプを送信し、
前記利用可能な送信クレジットが前記予約クレジット以下であるという判定に基づいて、前記複数のパケットタイプのうちの必須パケットタイプのみを送信するように構成される、
請求項1に記載の方法。
【請求項16】
前記必須パケットタイプには、関連リアルタイムパケットまたは非関連リアルタイムパケットの一方または両方が含まれる、請求項15に記載の方法。
【請求項17】
前記無線通信デバイスに関連付けられる利用可能な送信クレジットを継続的に更新するステップをさらに含み、
前記無線通信デバイスは、
前記利用可能な送信クレジットが前記無線通信デバイスに関連付けられる非関連クレジットよりも大きいという判定に基づいて、関連リアルタイムパケット、非関連リアルタイムパケット、または非必須パケットのうちの1つ以上を送信し、
前記利用可能な送信クレジットが前記非関連クレジット以下であるという判定に基づいて、関連リアルタイムパケットまたは非関連リアルタイムパケットのうちの1つ以上を送信し、
前記利用可能な送信クレジットが前記無線通信デバイスに関連付けられるリアルタイムクレジット以下であるという判定に基づいて、関連リアルタイムパケットのみを送信するように構成され、
前記非関連クレジットは、前記リアルタイムクレジットよりも大きい、
請求項1に記載の方法。
【請求項18】
前記関連リアルタイムパケットには、前記無線通信デバイスまたはWLANに関連付けられるサービスセット識別子(SSID)内のACKパケットまたはビーコンのうちの1つ以上が含まれ、
前記非関連リアルタイムパケットには、プローブ応答、アソシエーション応答、またはハンドシェイクメッセージのうちの1つ以上が含まれ、
前記非必須パケットには、データパケットまたは管理パケットのうちの1つ以上が含まれる、
請求項17に記載の方法。
【請求項19】
前記無線通信デバイスは、複数のパケット送信のうちの各パケット送信を時間的に少なくとも最小持続時間間隔となるように送信することに基づいて、前記無線通信デバイスから受信デバイスに複数のパケット送信を分散し、
前記最小持続時間間隔は、前記受信デバイスがパケット送信を受信するための送信クレジットを蓄積できるように、計算された時間間隔を含み、
前記最小持続時間間隔は、各パケット送信のオンエア時間と前記受信デバイスに関連付けられるデューティサイクルに基づいて計算される、
請求項1に記載の方法。
【請求項20】
無線ローカルエリアネットワーク(WLAN)において無線通信を実行するための無線通信デバイスであって、
前記無線通信デバイスは、
モデムと、
前記モデムと通信可能に結合されるプロセッサと、
前記プロセッサと通信可能に結合され、プロセッサ可読コードを格納するメモリとを含み、
前記プロセッサ可読コードは、前記モデムと連携して前記プロセッサによって実行されると、
第1の時点から開始して1つ以上の第1のパケットを送信し、
前記1つ以上の第1のパケットのオンエア時間を決定し、
前記1つ以上の第1のパケットの送信に対応するオフエア時間を計算し、
第2の時点以降に1つ以上の第2のパケットを送信するように前記モデムを保持するように構成され、
前記1つ以上の第1のパケットのオンエア時間は、前記1つ以上の第1のパケットの送信に関連付けられるエアタイムであり、
前記オフエア時間は、前記オンエア時間、及び前記無線通信デバイスに関連付けられるデューティサイクルに基づいて計算され、
前記第2の時点は、前記第1の時点、及び前記オンエア時間と計算された前記オフエア時間との合計に基づいて決定される、
無線通信デバイス。
【請求項21】
前記無線通信デバイスは、WLANアクセスポイント(AP)またはWLANステーション(STA)である、請求項20に記載の無線通信デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願]
本出願は、2022年11月17日に出願されたオーストラリア仮特許出願第2022/903462号(発明名称「WLANにおけるデューティサイクルを管理するための方法及び装置」)に基づく優先権を主張し、その全体はあらゆる目的で参照により本明細書に組み込まれる。
【0002】
本開示は、一般に無線通信に関する。例えば、本開示の態様は、無線ローカルエリアネットワーク(WLAN)における送信デバイスのデューティサイクル管理に関するものである。
【背景技術】
【0003】
スマートシティ及びスマートコミュニティの概念は、モノのインターネット(IoT)によって実現することができる。低電力広域ネットワーキング(LPWAN)技術は、様々なスマートシティアプリケーションによって生成及び消費されるIoTデータトラフィックのプロファイル及び/または特性に非常に適しているため、IoTの進化において重要になっている。例えば、都市規模のIoTアプリケーション(例えば、環境監視、道路交通監視、施設管理、スマートパーキング、街路照明、車両追跡、廃棄物管理、山火事及び/または火山噴火の早期検出、精密農業、及び/またはホームオートメーションなど)を設計する際に、これらのIoTアプリケーションにおける基本的な通信要件には、多くの場合、長い無線到達距離と低消費電力(例えば、デバイス上の低消費電力)、及び低帯域幅が含まれる。
【0004】
Wi-Fi HaLowは、サブ1GHzライセンス免除帯域上でIEEE802.11ah標準に準拠して動作し、広範囲及び低電力のWi-Fiネットワークを提供する。これらの周波数帯域は、無線ローカルエリアネットワーク(WLAN)内の膨大な数のデバイスと共有される場合がある。従って、一部の管轄区域では、Wi-Fi HaLowアクセスポイント(AP)とステーション(STA)の両方について、送信デバイスが媒体を使用する時間(例えば、送信デバイスの「デューティサイクル」とも呼ばれる)に規制上の制約がある。より一般的には、デューティサイクル(DC)制限は、約25メガヘルツ(MHz)~1,000MHzの周波数範囲で動作する短距離デバイス(SRD)に適用されることが分かる。現在及び以前のWi-Fi標準は、主にこのサブギガヘルツ帯域ではなく(例えば、1,000MHz未満の周波数では動作しなく)、SRDにデューティサイクル制約が課されている様々な管轄区域では、デューティサイクル制約を満たす必要はない。(サブギガヘルツ帯域でIEEE802.11ah標準に準拠して動作する)Wi-Fi HaLowデバイスは、関連する規制管轄区域内でSRDに適用されるデューティサイクル制約を満たす必要があるSRDとみなされる。
【0005】
Wi-Fi HaLowのデューティサイクル規制制約により、デバイス(例えば、送信デバイス)が媒体上でパケットを送信することを許可されるエアタイムの割合が制限される。例えば、Wi-Fi HaLowデバイスのデューティサイクルは、通常0.1%~10%であり、Wi-Fi HaLowデバイスが特定の時間間隔の0.1%~10%の間でのみ送信できることを示している。デューティサイクルが測定される時間間隔は、観測期間(Tobs)または監視時間(Tmon)とも呼ばれる。例えば、デューティサイクル時間間隔は、1時間に等しくてもよい(例えば、Tobs=Tmon=1時間)。送信デバイスのデューティサイクルは、帯域幅ごとに測定できる。例えば、デューティサイクルは、送信デバイスによって使用される特定のチャネル(例えば、特定の周波数)に適用することができる。
【0006】
適用可能なデューティサイクル制限に基づいて、Wi-Fi HaLowネットワーク内のデバイスは、送信が成功するたびに一定期間待機する必要がある(例えば、次の送信までに一定期間待機する必要がある)。例えば、デューティサイクル制限が10%の場合、現在の無線チャネルで1ミリ秒(ms)送信する送信デバイスは、現在の無線チャネルが再び送信できるようになるまで、さらに9ms待機する必要がある。Wi-Fiデバイスが通常周波数ホッピング技術を実装またはサポートしていないため、デューティサイクル制約の目的は、周波数帯域(Wi-Fi HaLowデバイスの場合はライセンス免除帯域)において競合するすべての接続されたデバイスに公平な通信アクセスを提供することである。多数の接続されたデバイスが長距離無線でリアルタイムにデータを伝送する必要があるリアルタイムIoTシステムの設計では、デューティサイクル制約を考慮する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0007】
以下には、本明細書に開示される1つ以上の態様に関する簡略化した概要を提示する。従って、以下の概要は、企図されるすべての態様に関する広範な概観として考慮されるべきではなく、また、企図されるすべての態様に関する主要または不可欠な要素を特定するため、あるいは何らかの特定の態様に関連する範囲を描写するためのものとみなされるべきでもない。従って、以下の概要は、以下で提示される詳細な説明に先行して、本明細書で開示されるメカニズムに関する1つ以上の態様に関連する特定の概念を簡略化した形式で提示するという唯一の目的を有する。
【課題を解決するための手段】
【0008】
無線ローカルエリアネットワーク(WLAN)上で無線通信を実行するためのシステム、方法、装置、及びコンピュータ可読媒体が開示される。少なくとも1つの例示的な例によれば、WLANを介した無線通信の方法が提供される。前記方法は、無線通信デバイスによって、第1の時点から開始して1つ以上の第1のパケットを送信するステップと、前記1つ以上の第1のパケットのオンエア時間を決定するステップであって、前記1つ以上の第1のパケットのオンエア時間は、前記1つ以上の第1のパケットの送信に関連付けられるエアタイムであるステップと、前記1つ以上の第1のパケットの送信に対応するオフエア時間を計算するステップであって、前記オフエア時間は、前記オンエア時間、及び前記無線通信デバイスに関連付けられるデューティサイクルに基づいて計算されるステップと、第2の時点以降に1つ以上の第2のパケットを送信するように前記無線通信デバイスを保持するステップであって、前記第2の時点は、前記第1の時点、及び前記オンエア時間と計算された前記オフエア時間との合計に基づいて決定されるステップとを含む。
【0009】
別の例では、モデム(変調器-復調器)と、(例えば、データ及びプロセッサ可読コードを格納するように構成される)少なくとも1つのメモリと、前記モデム及び少なくとも1つのメモリに結合される少なくとも1つのプロセッサ(例えば、回路に実装される)とを含む装置が提供される。前記プロセッサは、第1の時点から開始して1つ以上の第1のパケットを送信し、前記1つ以上の第1のパケットのオンエア時間を決定し、前記1つ以上の第1のパケットの送信に対応するオフエア時間を計算し、第2の時点以降に1つ以上の第2のパケットを送信するように前記モデムを保持することができるように構成される。前記1つ以上の第1のパケットのオンエア時間は、前記1つ以上の第1のパケットの送信に関連付けられるエアタイムである。前記オフエア時間は、前記オンエア時間、及び前記無線通信デバイスに関連付けられるデューティサイクルに基づいて計算される。前記第2の時点は、前記第1の時点、及び前記オンエア時間と計算された前記オフエア時間との合計に基づいて決定される。
【0010】
いくつかの態様では、前記1つ以上の第1のパケットの送信に対応するオフエア時間は、Toff=Tair*(1/D-1)に基づいて計算され、ここで、Toffはオフエア時間、Tairは前記1つ以上の第1のパケットを送信するのに必要なオンエア時間、Dは前記無線通信デバイスに関連付けられるデューティサイクルである。
【0011】
いくつかの態様では、前記方法は、前記無線通信デバイスによって、前記第2の時点以上の第3の時点から開始して前記1つ以上の第2のパケットを送信するステップと、前記第2の時点と前記第3の時点との差に基づいてアイドル時間を決定するステップと、前記1つ以上の第2のパケットのオンエア時間を決定するステップであって、前記1つ以上の第2のパケットのオンエア時間は、前記1つ以上の第2のパケットの送信に関連付けられるエアタイムであるステップと、前記1つ以上の第2のパケットのオンエア時間、前記無線通信デバイスに関連付けられるデューティサイクル、及び前記アイドル時間に基づいて、前記1つ以上の第2のパケットの送信に対応するオフエア時間を計算するステップと、第4の時点以降に1つ以上の第3のパケットを送信するように前記無線通信デバイスを保持するステップであって、前記第4の時点は、前記第3の時点、及び前記1つ以上の第2のパケットのオンエア時間と計算されたオフエア時間との合計に基づいて決定されるステップと、をさらに含む。
【0012】
いくつかの態様では、前記1つ以上の第2のパケットの送信に対応するオフエア時間は、Toff=Tair*(1/D-1)-Tidleに基づいて計算され、ここで、Toffは前記1つ以上の第2のパケットのオフエア時間、Tairは前記1つ以上の第2のパケットのオンエア時間、Dは前記無線通信デバイスに関連付けられるデューティサイクル、Tidleはアイドル時間である。
【0013】
いくつかの態様では、前記アイドル時間の値は、前記1つ以上の第3のパケットを送信した後にリセットされる。
【0014】
いくつかの態様では、1つ以上の第1のパケットは確認応答(ACK)パケットを含み、前記無線通信デバイスは、前記無線通信デバイスによるACKパケットの各送信に続いて、少なくとも前記ACKパケットの送信に関連付けられるオフエア時間の間待機する。
【0015】
いくつかの態様では、前記1つ以上の第1のパケットは、ヌルデータパケット(NDP)、ビーコン、またはACKパケットのうちの1つを含み、前記無線通信デバイスは、前記1つ以上の第1のパケットの早期送信を早期持続時間に等しい時間量で実行し、前記1つ以上の第1のパケットの送信に関連付けられるオフエア時間は、前記早期持続時間に等しい時間量で延長される。
【0016】
いくつかの態様では、前記1つ以上の第1のパケットを送信するためのオンエア時間は、前記1つ以上の第1のパケットを送信するためのオンエア時間が最大オンエア時間以下になるように、前記最大オンエア時間内に制限される。
【0017】
いくつかの態様では、前記最大オンエア時間は、バーストサイクル持続時間及び前記無線通信デバイスに関連付けられるデューティサイクルに基づいて決定される。
【0018】
いくつかの態様では、前記バーストサイクル持続時間または前記最大オンエア時間のうちの1つ以上は、前記無線通信デバイス上で実行されるアプリケーションによって決定及び設定される。
【0019】
いくつかの態様では、前記1つ以上の第1のパケットの送信に対応するオフエア時間は、前記バーストサイクル持続時間から前記第1のパケットを送信するためのオンエア時間を減算することに少なくとも部分的に基づいて計算される。
【0020】
いくつかの態様では、前記無線通信デバイスに関連付けられるデューティサイクルはデューティサイクル観測ウィンドウに対応し、前記デューティサイクル観測ウィンドウの持続時間は前記バーストサイクル持続時間の整数倍を含む。
【0021】
いくつかの態様では、前記1つ以上の第1のパケットと前記1つ以上の第2のパケットは、前記最大オンエア時間よりも長いエアタイムを必要とするデータ送信に含まれ、前記データ送信は少なくとも、前記1つ以上の第1のパケットを含む第1のサブセットと、前記1つ以上の第2のパケットを含む第2のサブセットとに分割され、前記第1のサブセットの送信と前記第2のサブセットの送信の両方に、前記最大オンエア時間以下のエアタイムが必要である。
【0022】
いくつかの態様では、前記無線通信デバイスは、前記オフエア時間中にパケット送信を実行しないように、前記オフエア時間中に沈黙している。
【0023】
いくつかの態様では、前記方法は、前記無線通信デバイスに関連付けられる利用可能な送信クレジットを継続的に更新するステップをさらに含み、前記無線通信デバイスは、前記利用可能な送信クレジットが前記無線通信デバイスに関連付けられる予約クレジットよりも大きいという判定に基づいて、複数のパケットタイプのうちの任意のパケットタイプを送信し、前記利用可能な送信クレジットが前記予約クレジット以下であるという判定に基づいて、前記複数のパケットタイプのうちの必須パケットタイプのみを送信するように構成される。
【0024】
いくつかの態様では、前記必須パケットタイプには、関連リアルタイムパケットまたは非関連リアルタイムパケットの一方または両方が含まれる。
【0025】
いくつかの態様では、前記方法は、前記無線通信デバイスに関連付けられる利用可能な送信クレジットを継続的に更新するステップをさらに含み、前記無線通信デバイスは、前記利用可能な送信クレジットが前記無線通信デバイスに関連付けられる非関連クレジットよりも大きいという判定に基づいて、関連リアルタイムパケット、非関連リアルタイムパケット、または非必須パケットのうちの1つ以上を送信し、前記利用可能な送信クレジットが前記非関連クレジット以下であるという判定に基づいて、関連リアルタイムパケットまたは非関連リアルタイムパケットのうちの1つ以上を送信し、前記利用可能な送信クレジットが前記無線通信デバイスに関連付けられるリアルタイムクレジット以下であるという判定に基づいて、関連リアルタイムパケットのみを送信するように構成される。前記非関連クレジットは、前記リアルタイムクレジットトよりも大きい。
【0026】
いくつかの態様では、前記関連リアルタイムパケットには、前記無線通信デバイスまたはWLANに関連付けられるサービスセット識別子(SSID)内のACKパケットまたはビーコンのうちの1つ以上が含まれ、前記非関連リアルタイムパケットには、プローブ応答、アソシエーション応答、またはハンドシェイクメッセージのうちの1つ以上が含まれ、前記非必須パケットには、データパケットまたは管理パケットのうちの1つ以上が含まれる。
【0027】
いくつかの態様では、前記無線通信デバイスは、複数のパケット送信のうちの各パケット送信を時間的に少なくとも最小持続時間間隔となるように送信することに基づいて、前記無線通信デバイスから受信デバイスに複数のパケット送信を分散し、前記最小持続時間間隔は、前記受信デバイスがパケット送信を受信するための送信クレジットを蓄積できるように、計算された時間間隔を含み、前記最小持続時間間隔は、各パケット送信のオンエア時間と前記受信デバイスに関連付けられるデューティサイクルに基づいて計算される。
【0028】
いくつかの態様では、本明細書に記載の技術は、無線ローカルエリアネットワーク(WLAN)において無線通信を実行するための無線通信デバイスに関する。前記無線通信デバイスは、モデム、前記モデムと通信可能に結合されるプロセッサ、及び前記プロセッサと通信可能に結合され、プロセッサ可読コードを格納するメモリを含む。前記プロセッサ可読コードは、前記モデムと連携して前記プロセッサによって実行されると、第1の時点から開始して1つ以上の第1のパケットを送信し、前記1つ以上の第1のパケットのオンエア時間を決定し、前記1つ以上の第1のパケットの送信に対応するオフエア時間を計算し、第2の時点以降に1つ以上の第2のパケットを送信するように前記モデムを保持するように構成される。前記1つ以上の第1のパケットのオンエア時間は、前記1つ以上の第1のパケットの送信に関連付けられるエアタイムである。前記オフエア時間は、前記オンエア時間、及び前記無線通信デバイスに関連付けられるデューティサイクルに基づいて計算される。前記第2の時点は、前記第1の時点、及び前記オンエア時間と計算された前記オフエア時間との合計に基づいて決定される。
【0029】
いくつかの態様では、本明細書に記載の技術は無線通信デバイスに関するものであり、前記無線通信デバイスは、WLANアクセスポイント(AP)またはWLANステーション(STA)である。
【0030】
本明細書に開示される態様に関連付けられる他の目的及び利点は、添付の図面及び詳細な説明に基づいて当業者に明らかになる。
【図面の簡単な説明】
【0031】
本出願の例示的な態様は、以下の図面を参照して詳細に説明される。
【0032】
【
図1】いくつかの例による、例示的な無線通信ネットワークを示すブロック図である。
【0033】
【
図2A】いくつかの例による、ステーション(STA)またはアクセスポイント(AP)を実装できる無線ローカルエリアネットワーク(WLAN)デバイスのブロック図である。
【0034】
【
図2B】いくつかの例による、
図2AのWLANデバイスの受信機データフローアーキテクチャの概略ブロック図である。
【0035】
【
図3】いくつかの例による、異なるデューティサイクル値の例を示す図である。
【0036】
【
図4】いくつかの例による、デューティサイクル観測時間ごとに複数のバースト期間を使用するパケット送信の例を示す図である。
【0037】
【
図5】いくつかの例による、2つの連続する観測期間(T
obs)に対する異なるデューティサイクルスケジューリングまたは送信パターンの例を示す図である。
【0038】
【
図6A】いくつかの例による、パケット間のアイドル時間とは無関係に実行されるデューティサイクル認識パケット送信の例を示す図である。
【0039】
【
図6B】いくつかの例による、パケット間のアイドル時間に少なくとも部分的に基づいて実行されるデューティサイクル認識パケット送信の例を示す図である。
【0040】
【
図7】いくつかの例による、単一パケット持続時間に等しいバースト期間を使用するデューティサイクル認識パケット送信の例を示す図である。
【0041】
【
図8】いくつかの例による、遅延なく送信される高優先パケットを含むデューティサイクル認識パケット送信の例を示す図である。
【0042】
【
図9】いくつかの例による、本発明に開示されるデューティサイクル管理の態様を実装するために使用される有限状態マシンによる状態遷移の例を示す状態図である。
【0043】
【
図10】いくつかの例による、WLANを介した無線送信の方法のフロー図である。
【0044】
【
図11】いくつかの例による、本明細書に記載される特定の態様を実装するためのコンピューティングシステムの一例を示すブロック図である。
【発明を実施するための形態】
【0045】
本開示の特定の態様は、以下に記載される。当業者には明らかなように、これらの態様のいくつかは独立して適用することができ、またそれらのいくつかは組み合わせて適用することができる。以下の記載では、説明の目的で、本出願の態様を完全に理解できるように、具体的な詳細が述べられる。しかしながら、様々な態様は、これら特定の詳細なしに実現されうることが明らかである。図面及び説明は、本発明を限定することを意図したものではない。
【0046】
以下の説明は、例示的な態様のみを提供するものであり、本開示の範囲、適用可能性、または構成を限定することを意図するものではない。むしろ、例示的な態様の以下の説明は、例示的な態様を実装するための有効な説明を当業者に提供することになる。添付の特許請求の範囲に記載される本発明の精神や範囲から逸脱することなく、要素の機能や配置に様々な変更を行うことができることを理解されたい。
【0047】
図1は、例示的な無線通信ネットワーク100を示すブロック図である。いくつかの態様では、無線通信ネットワーク100は、無線ローカルエリアネットワーク(WLAN)の一例であり得る。本明細書で使用される場合、WLANは、Wi-Fiネットワークと呼ばれることもある。いくつかの例では、WLAN100は、無線通信プロトコル標準のIEEE802.11ファミリー(例えば、802.11ah、802.11ay、802.11ax、802.11az、802.11ba、及び802.11beを含むIEEE802.11-2020仕様またはその修正によって定義されたものなど、これらに限定されない)のうちの少なくとも1つを実装するネットワークであり得る。WLAN100は、少なくとも1つのアクセスポイント(AP)102及び複数の関連ステーション(STA)104を含むことができる。例えば、STA104は、第1のSTA104a、第2のTA104b、第3のSTA104c、第4のSTA104dなどを含むことができる。1つのAP102のみが示されているが、WLANネットワーク100は複数のAP102を含むこともできる。
【0048】
STA104a~104dのそれぞれは、モバイルステーション(MS)、モバイルデバイス、モバイルハンドセット、無線ハンドセット、アクセス端末(AT)、ユーザ機器(UE)、加入者ステーション(SS)、及び/または加入者ユニットと呼ばれることもある。STA104は、携帯電話、パーソナルデジタルアシスタント(PDA)、その他のハンドヘルドデバイス、ネットブック、ノートパソコン、タブレットコンピュータ、ラップトップ、ディスプレイデバイス(例えば、TV、コンピュータモニタ、ナビゲーションシステムなど)、音楽または他のオーディオデバイスまたはステレオデバイス、リモートコントロールデバイス(「リモコン」)、プリンタ、キッチンまたはその他の家庭用電化製品、キーフォブ(例えば、パッシブキーレスエントリー アンド スタート(PKES)システム)などの様々なデバイスを表すことができる。
【0049】
単一のAP102及び関連するSTA104a~104dのセットは、各AP102によって管理される基本サービスセット(BSS)と呼ばれることがある。
図1はさらに、WLAN100の基本サービスエリア(BSA)を表すことができるAP102のカバレッジエリア106の例を示す。BSSは、サービスセット識別子(SSID)によってユーザに識別され、AP102の媒体アクセス制御(MAC)アドレスであり得る基本サービスセット識別子(BSSID)によって他のデバイスに識別され得る。
【0050】
AP102は、BSSIDを含むビーコンフレーム(「ビーコン」)を定期的にブロードキャストして、AP102の無線範囲内の任意のSTA(例えば、STA104a~104dのうちの1つ以上、またはすべて)がAP102と関連付け(または再関連付け)て、該当する通信リンク108a~108d(例えば、以下では「Wi-Fiリンク」とも呼ばれる)を確立できるようにする。例えば、第1のSTA104aは、AP102との該当する通信リンク108aを確立することができ、第2のSTA104bは、AP102との該当する通信リンク108bを確立することができ、第3のSTA104cは、AP102との該当する通信リンク108cを確立することができ、第4のSTA104dは、AP102との該当する通信リンク108dを確立することができる。STA104a~104dは、AP102との該当する通信リンク108a~108dを維持するために、AP102によってブロードキャストされるビーコンフレームをさらに使用することができる。例えば、ビーコンは、該当するAP102によって使用されるプライマリチャネルの識別、ならびにAP102とのタイミング同期を確立または維持するためのタイミング同期機能を含むことができる。AP102は、該当する通信リンク108(例えば、該当する通信リンク108a~108dを含む)を介して、WLAN内の様々なSTA(例えば、STA104a~104dを含む)に外部ネットワークへのアクセスを提供することができる。
【0051】
AP102との通信リンク108a~108dを確立するために、各該当するSTA104a~104dは、1つ以上の周波数帯域内の周波数チャネル上でパッシブスキャンまたはアクティブスキャン動作(「スキャン」)を実行することができる。例えば、パッシブスキャンを実行するために、STA104a~104dのそれぞれは、ターゲットビーコン送信時間(TBTT)と呼ばれる周期的な時間間隔でAP102によって送信されるビーコンをリッスンする。TBTTは、時間単位(TU)で測定できる。いくつかの例では、1TUは1024マイクロ秒(μs)に等しい場合がある。いくつかの例では、TBTTは、102.4ミリ秒(ms)のデフォルト値を有することができる。アクティブスキャンを実行するために、STA104a~104dのそれぞれは、スキャンされる各チャネル上でプローブ要求を生成して順次送信し、AP102からのプローブ応答をリッスンすることができる。STA104a~104dのそれぞれは、(例えば、パッシブスキャンまたはアクティブスキャンを介して取得されたスキャン情報に基づいて)アソシエーションするAP102を識別または選択し、選択されたAP102との該当する通信リンク108a~108dを確立するための認証及びアソシエーション動作を実行するように構成されてもよい。AP102は、アソシエーション動作の最後にアソシエーション識別子(AID)をSTA104a~104dのそれぞれに割り当て、AP102は、それを使用してSTA104a~104dを追跡する。
【0052】
場合によっては、STA104a~104dのうちの1つ以上(またはすべて)は、STAの範囲内の多くのBSSのうちの1つを選択する、または複数の接続されたBSSを含む拡張サービスセット(ESS)を形成する複数のAP102から選択する機会を有することもある。WLAN100に関連付けられる拡張ネットワークステーションは、複数のAP102がそのようなESS内に接続されることを可能にする有線または無線ディストリビューションシステムに接続され得る。いくつかの例では、STA104a~104dのうちの1つ以上は、複数のAP102によってカバーされることができ、異なる送信のために異なる時間に異なるAP102と関連付けることができる。AP102との関連付け後、STA104a~104dのうちの1つ以上は、関連付けるより適切なAP102を見つけるために周囲を定期的にスキャンするように構成されてもよい。例えば、その関連付けられるAP102に対して相対的に移動しているSTA104a~104dのうちの所定の1つは、より望ましいネットワーク特性(例えば、より大きな受信信号強度インジケータ(RSSI)、低減されたトラフィック負荷など)を有する別のAP102を見つけるために、「ローミング」スキャンを実行することができる。
【0053】
場合によっては、STA104a~104dは、AP102またはSTA104a~104d自体以外の他の機器なしでネットワークを形成することができる。このようなネットワークの一例としては、アドホックネットワーク(例えば、または無線アドホックネットワーク)がある。アドホックネットワークは、メッシュネットワークまたはピアツーピア(P2P)ネットワークと呼ばれることもある。場合によっては、アドホックネットワークは、より大きな無線ネットワーク(例えば、WLAN100など)内に実装されてもよい。このような実装形態では、STA104a~104dは、該当する通信リンク108a~108dを使用してAP102を介して互いに通信することができるが、STA104a~104dは、直接無線リンク110を使用して互いに(例えば、STA104a~104dのうちの他のSTAと)直接通信することもできる。いくつかの例では、(例えば、STA104a~104dのうちの)2つのSTAは、両方のSTA104が同じAP102に関連付けられ、同じAP102によってサービスされているかどうかに関係なく、直接通信リンク110を介して通信することができる。このようなアドホックシステムでは、STA104a~104dのうちの1つ以上は、BSSにおいてAP102によって満たされる役割を担うことができる。このようなSTA(例えば、STA104a~104dのうちの1つ以上)は、グループオーナー(GO)と呼ばれることがあり、アドホックネットワーク内の送信を調整することができる。直接無線リンク110の例としては、、Wi-Fiダイレクト接続、Wi-Fiトンネルダイレクトリンクセットアップ(TDLS)リンクを使用することによって確立された接続、及び他のP2Pグループ接続などのうちの1つ以上(またはすべて)が挙げられる。
【0054】
AP102及びSTA104a~104dは、(例えば、該当する通信リンク108a~108dを使用して)無線通信プロトコル標準のIEEE802.11ファミリー(例えば、802.11ah、802.11ay、802.11ax、802.11az、802.11ba、及び802.11beを含むIEEE802.11-2020仕様またはその修正によって定義されたものなど、これらに限定されない)に従って機能し、通信することができる。これらの標準は、物理層(PHY)及び媒体アクセス制御(MAC)層のWLAN無線及びベースバンドプロトコルを定義する。例えば、AP102及びSTA104a~104dは、PHYプロトコルデータユニット(PPDU)(または物理層コンバージェンスプロトコル(PLCP))の形で互いに無線通信(例えば、以下では「Wi-FI通信」とも呼ばれる)を送受信する。WLAN100内のAP102及びSTA104a~104dは、2.4GHz帯域、5GHz帯域、60GHz帯域、3.6GHz帯域、及び900MHz帯域など、Wi-Fi技術によって従来使用されている周波数帯域を含むスペクトルの一部であり得る無ライセンススペクトルを介してPPDUを送信することができる。本明細書に記載のAP102及びSTA104a~104dのいくつかの実装形態では、ライセンス通信と無ライセンス通信の両方をサポートできる6GHz帯域などの他の周波数帯域で通信することもできる。いくつかの例では、AP102及びSTA104a~104dは、802.11ahを実装する場合など、サブ1GHzの無ライセンス(例えば、ライセンス免除)周波数帯域を使用して通信することができる。AP102及びSTA104a~104dは、複数のオペレータが同一または重複する周波数帯域内で動作するためのライセンスを有することができる共有ライセンス周波数帯域などの他の周波数帯域を介して通信するように構成されてもよい。
【0055】
各周波数帯域は、複数のサブ帯域または周波数チャネルを含むことができる。例えば、IEEE802.11標準及び仕様に準拠するPPDUは、複数の20MHzチャネルに分割された周波数帯域を介して送信することができる。このような例では、PPDUは、最小帯域幅20MHzの物理チャネルを介して送信されるが、他のチャネル帯域幅も可能である。場合によっては、より大きな帯域幅チャネルは、最小帯域幅(例えば、20MHzなど)の複数のチャネルを結合するチャネルボンディングを使用して形成できる。
【0056】
各PPDUは、PHYプリアンブルと、PHYサービスデータユニット(PSDU)の形態のペイロードとを含む複合構造である。プリアンブルで提供される情報は、PSDU内の後続のデータを復号するために受信デバイスによって使用され得る。PPDUが結合チャネル上で送信される場合、プリアンブルフィールドは複製され、複数のコンポーネントチャネルのそれぞれで送信されてもよい。PHYプリアンブルは、レガシー部分(または「レガシープリアンブル」)と非レガシー部分(または「非レガシープリアンブル」)の両方を含むことができる。レガシープリアンブルは、パケット検出、自動利得制御、及びチャネル推定などに使用できる。レガシープリアンブルは、通常レガシーデバイスとの互換性を維持するために使用されてもよい。プリアンブルのフォーマット、コーディング、及び非レガシー部分で提供される情報は、ペイロードの送信に使用される特定のIEEE802.11プロトコルに基づいている。
【0057】
図2Aは、いくつかの例においてSTAまたはAPを実装するために使用できる例示的なWLANデバイス200のハイレベル・ブロック図である。例示的なWLANデバイス200は、IEEE802.11に準拠してMAC層、及びPHY層を含むことができる。
【0058】
WLANデバイス200は、無線周波数(RF)送信機モジュール202、RF受信機モジュール204、アンテナユニット206、1つ以上のメモリバンク208、入出力インターフェース210、及び通信バス212を含む。RF送信機モジュール202及びRF受信機モジュール204は、1つ以上の搬送波信号を変調してデジタル情報を符号化することによってデータを送信するとともに、信号を復調して元のデジタル情報を再現することによってデータを受信する、モデム(変復調装置)としても知られている。図示されるように、WLANデバイス200は、MACプロセッサ214、PHYプロセッサ216、及びHOSTプロセッサ218をさらに含む。これらのプロセッサは、汎用処理ユニット、特定用途向け集積回路(ASIC)、またはRISC-VベースのICなどを含む、任意のタイプの集積回路(IC)にすることができる。
【0059】
メモリ208は、MAC層の少なくとも一部の機能を実装するために使用できるソフトウェア(及び/またはコンピュータ可読命令)を含む、ソフトウェア及び/またはコンピュータ可読命令を格納するために使用できる。例えば、WLANデバイス200に含まれる各プロセッサ(例えば、MACプロセッサ214、PHYプロセッサ216、HOSTプロセッサ218など)は、それぞれのソフトウェアを実行して、それぞれの通信/アプリケーション層の機能を実装する。
【0060】
PHYプロセッサ216は、送信信号処理ユニットと受信信号処理ユニット(図示せず)を含み、無線媒体(WM)とのインターフェースを管理するために使用できる。PHYプロセッサ216は、RF送信機202、RF受信機204、アナログデジタル変換器、及びデジタルフィルタを含む無線モジュールとデジタルサンプルを交換することにより、PPDU上で動作する。
【0061】
MACプロセッサ214は、MACレベルの命令を実行し、PHYプロセッサ216を介して、STAアプリケーションソフトウェアとWMとの間のインターフェースを管理する。MACプロセッサ214は、範囲内のアクセスポイント(AP)とSTAが効果的に通信できるように、WMへのアクセスを調整する役割を担う。MACプロセッサ214は、STAの上位レベルによって提供されるデータのユニットにヘッダバイト及びテールバイトを追加し、送信のためにそれらをPHY層に送る。PHY層からデータを受信する場合は、その逆のことが起こる。フレームが誤って受信された場合、MACプロセッサ214は、フレームの再送信を管理する。
【0062】
HOSTプロセッサ218は、MAC層とインターフェースし、STAのより高いレベルの機能を実行する役割を担う。
【0063】
PHYプロセッサ216、MACプロセッサ214、HOSTプロセッサ218、周辺バス220、メモリ208、及び入出力インターフェース210は、周辺バス212を介して相互に通信する。周辺バス220は、タイマー、割り込み、無線/フィルタ/システムレジスタ、カウンタ、UART、GPIOインターフェースなどを含む、WLANデバイス200のコア機能をサポートする複数の周辺機器に接続する。メモリ208は、オペレーティングシステム及びアプリケーションをさらに格納することができる。いくつかの例では、メモリには、キャプチャされたフレームとパケットに関する記録情報が格納される。入出力インターフェースユニット210は、STAのユーザとの情報交換を可能にする。アンテナユニット206は、単一のアンテナ及び/または複数のアンテナを含むことができる。例えば、複数のアンテナを使用して、特に多入力多出力(MIMO)技術を実装することができる。
【0064】
図2Bは、ネットワークを介してWi-Fiパケットを受信するために使用できる受信機データフローアーキテクチャ250の概略ブロック図を示す。1つの図示例では、
図2Bに示される受信機データフローアーキテクチャ250は、
図2Aに示されるWLANデバイス200に対応する、または関連することができる。いくつかの態様では、無線信号は、WMを介して受信され、受信アンテナ252(例えば、アンテナ206と同一または類似していてもよい)を介して電気信号に変換される。受信信号は、アナログデジタル変換器(ADC)256を使用して等価なデジタル信号に変換される前に、一連のアナログフィルタ254(例えば、アナログRF受信(Rx)フィルタとして示されている)を使用して調整される。ADC256のサンプリングされた信号出力は、サンプルが非同期受信先入れ先出し(FIFO)データ構造260で収集される前に、1つ以上のデジタルRFフィルタ及び/またはファロー(farrow)を含むことができるフィルタバンク258を使用して再び調整される。
【0065】
FIFO構造260内のサンプルは、複数のモジュールによってアクセス可能である。例えば、FIFO260は、パケット検出モジュール及びサブ帯域モジュールによってアクセスすることができ、それらの両方は、
図2Bに示される下位レベルのPHY部262に含まれ得る。いくつかの態様では、下位レベルのPHY部262自体は、
図2Aに示されるPHYプロセッサ216に含まれる。
【0066】
下位レベルのPHY部262に含まれるパケット検出モジュールは、時間領域でPHYプロトコルデータユニット(PPDU)の初期セクションを分析するために使用できるハードウェア及び/または実装アルゴリズムを含むことができる。分析に基づいて、パケット検出モジュールを使用して、受信した802.11フレームを認識し、STAの周波数とタイミングを受信中のパケットと同期させることができる。下位レベルのPHY部262に含まれるサブ帯域モジュールは、割り当てられた周波数帯域内のどのサブチャネルが受信中のパケットのためにAPによって使用されているかを検出するために使用できるハードウェア及び/または実装アルゴリズムを含むことができる。
【0067】
パケットが検出され、関連するサブチャネルが確立されると、サンプルは上位レベルのPHY部264に転送することができる。上位レベルのPHY部264(及び下位レベルのPHY部262)は、
図2Aに示されるPHYプロセッサ216に含まれることができる。いくつかの態様では、上位レベルのPHY部264は、(例えば、コプロセッサモジュールのサポートにより)OFDMシンボルを処理及び復号し、完全なPPDUを再構成するために使用できる。再構成されたPPDUは、上位レベルのPHY部264によって出力され、その後MAC層プロセッサ266によって処理される。MAC層プロセッサ266は、PPDUからデータペイロードを抽出し、消費するために関連情報をHOST層268に提供することに使用できる。
【0068】
いくつかの例では、
図2Bに示されるMAC層プロセッサ266は、
図2Aに示されるMACプロセッサ214と同一または類似していてもよい。場合によっては、
図2Bに示されるHOST層268は、
図2Aに示されるHOSTプロセッサ218を含むことができ、またはそれと同一または類似していてもよい。
【0069】
WLAN(例えば、WLAN100など)は、無線通信を実行するために異なるフレームタイプ及びフレーム構造を利用することができる。例えば、Wi-Fiネットワークは、管理フレーム、制御フレーム、及びデータフレームを利用できる。管理フレームはBSSの管理に使用でき、制御フレームは物理伝送媒体へのアクセスの制御に使用でき、データフレームはペイロードデータの送信に使用できる。各Wi-Fiフレームは、メディアアクセスコントロール(MAC)ヘッダー、ペイロード、及びテーラー(例えば、フレームチェックシーケンス(FCS))を含むことができる。場合によっては、Wi-Fiフレームは、ペイロードを含まずに生成(例えば、送信、受信など)することができる。いくつかの例では、MACヘッダーの最初の2バイトは、フレームの形式と機能を指定するフレーム制御フィールドを示すことができる。例えば、フレーム制御フィールドは、関連するWi-Fiフレーム(例えば、管理フレーム、制御フレーム、データフレーム)のタイプを示す1つ以上のビットを含むことができる。1つの例示的な例では、フレーム制御フィールドは、MACヘッダーを含む(例えば、それ自体がフレーム制御フィールドビットを含む)Wi-Fiフレームのフレームタイプを示す2ビットを含むことができる。Wi-FiフレームのMACヘッダーは、シーケンス制御フィールドを追加的に含むことができる。シーケンス制御フィールドは、メッセージの順序を指定または識別し、及び/または重複フレームを削除するために使用できる2バイトのセクションである。
【0070】
管理フレームは、APとSTAとの間の通信の維持または中止のために使用することができる。例えば、ビーコンフレームは、Wi-Fiネットワーク(またはビーコンが関連付けられている他のWLAN)に関するすべての情報を含む管理フレームの一種である。ビーコンフレームは定期的に送信され、WLANの存在のアナウンス、サービスセットのメンバーの同期、及びサービスセットのメンバーに対するバッファリングされたデータトラフィックの存在の通知など、多くの機能を備える。
【0071】
前述のように、Wi-Fi HaLowデバイスは、900MHzのライセンス免除帯域でIEEE802.11ah標準に準拠して動作し、広範囲及び低電力のWi-Fiネットワークを提供する。Wi-Fi HaLowデバイスは、APやSTAなどの他の様々なタイプのデバイスを含むことができる。Wi-Fi HaLowデバイスは、サブギガヘルツの周波数範囲で動作する短距離デバイス(SRD)と見なされるため、特定の規制体制や管轄区域では、デバイスが所定の時間間隔内に送信できる時間または割合を制限するデューティサイクルの制約が課される。
【0072】
図3は、いくつかの例による、異なるデューティサイクル値の例を示す
図300である。デューティサイクルは、負荷または回路がオンの時間と負荷または回路がオフの時間の比率として決定できる。無線通信デバイスの文脈において、デューティサイクルは、デバイスが無線媒体を介して送信している時間とデバイスが無線媒体を介して送信していない時間の比率として決定できる。例えば、グラフ310は50%のデューティサイクルの例を示し、グラフ320は75%のデューティサイクルの例を示し、グラフ330は25%のデューティサイクルの例を示す。3つのグラフ310~330のそれぞれにおいて、横軸は時間を表し、縦軸は送信状態を表す(例えば、より高いまたはより大きな値は送信が発生していることを示し、より低いまたはより小さな値は送信が発生していないことを示す)。50%のデューティサイクルの例310では、デバイスは、送信状態と非送信状態で等しい時間が費やされるように、送信(高)と非送信(低)を交互に行う。75%のデューティサイクルの例320では、デバイスは、時間の75%が送信状態で費やされ、時間の25%が非送信状態で費やされるように、送信(高)と非送信(低)を交互に行う。25%のデューティサイクルの例330では、デバイスは、時間の25%が送信状態で費やされ、時間の75%が非送信状態で費やされるように、送信(高)と非送信(低)を交互に行う。
【0073】
本明細書で使用される場合、「デューティサイクル」という用語は、「送信デューティサイクル」と同じ意味で使用することができる。欧州電気通信標準協会(ETSI)は、デューティサイクル(DC)を、観測間隔T
obs内の累積送信継続時間T
on_cumの割合で表される比率として定義する。ここで、デューティサイクルDCは、観測帯域幅F
obs上において、以下の数式で与えられる。デューティサイクルのETSI仕様では、観測間隔T
obsには1時間のデフォルト値が割り当てられ、観測帯域幅F
obsはデューティサイクルが測定されるデバイスの動作周波数帯域である。デューティサイクルのETSI定義は、25MHz~1000MHz(例えば、1GHz)の周波数範囲で動作する短距離デバイス(SRD)に適用される。デューティサイクルDCは、周波数前またはチャネルごとに決定及び/または測定される。例えば、デバイスが2つの異なる周波数/チャネルを使用して通信できる場合、2つの異なる周波数/チャネルのそれぞれについて個別のデューティサイクル値が測定される。適用可能な場合、STAは、周波数ホッピング(例えば、チャネル間をジャンプする、または送信に複数の異なるチャネルを使用する)を利用して、パフォーマンスを低下させることなくデータを送信し続けることができる。ただし、Wi-Fi標準(例えば、802.11b、g、n、ahなど)は、周波数ホッピングを実装していない。Wi-Fiバイスは通常、対応する単一のDC値測定値を持つ単一の周波数/チャネルを使用する。
【数1】
【0074】
本明細書で使用される場合、デューティサイクル「DC」は、デューティサイクル「D」とも呼ばれることができる。観測間隔Tobsは、監視時間Tmonと同一または類似してもよい(例えば、Tobs=Tmon=1時間、またはその他の様々な所定の時間間隔値)。送信継続時間Tonは、エアタイムTairと同一または類似することができ(例えば、本明細書で使用される場合、Ton_cumは、Tairと同一または類似することができる)。
【0075】
サブギガヘルツ帯域で動作するデバイス(例えば、Wi-Fi HaLowデバイスなど)は、特定の管轄区域の関連当局によって設定された様々な共存規制の対象となる。例えば、これらの共存規制は通常、サブギガヘルツ帯域で動作するデバイスに対する1つ以上のデューティサイクル制約を含む。デューティサイクル制約の目的は、周波数帯域を競合するすべての接続されたデバイスに公平な通信アクセスを提供することである。
【0076】
例えば、ヨーロッパ諸国におけるデューティサイクル(D)制約は、APでは10%、STAでは2.8%である。日本では、デューティサイクル制約は、APとSTAの両方で10%である。デューティサイクル制約に準拠するには、観測期間に等しい長さの観測ウィンドウを使用して累積送信時間を測定する。累積送信時間と観測ウィンドウ/期間の長さの比率は、デューティサイクルの割合(例えば、デューティサイクル制限)よりも小さい必要がある。各観測ウィンドウの開始は定義されていない場合があるため、各APまたはSTAがパケットを送信するために使用するエアタイムの割合は、多くの場合、任意の時点から開始する観測ウィンドウ内のデューティサイクル制約よりも小さい必要がある。言い換えると、10%のデューティサイクル制約は、観測ウィンドウTobs=1時間に関連付けられ、つまり、APまたはSTAが1時間の長さの観測ウィンドウTobsの10%を超えて送信できないことを意味する。いくつかの実装形態では、観測ウィンドウTobsの開始は定義されていないため、APまたはSTAが任意に選択された1時間ウィンドウの10%を超えて送信しないようにすることで、デューティサイクル制約を満たすことができる。一般に、観測期間はパケットの送信時間に比べて比較的長く、例えば、ETSIなどの規定により、観測期間は1時間に設定されている。しかし、Tobs=1時間の例は、説明及び例示のために選択されたものであり、限定として解釈されることを意図していないことに留意されたい。
【0077】
IEEE802.11b、g、n、ac、axなどの現在または過去の標準に準拠して動作するWi-Fiデバイスは、ギガヘルツ周波数帯域(例えば、2.4GHz、5GHz、6GHz、60GHzなど)で動作するため、非SRDデバイスであり、サブギガヘルツSRDデバイスに課されるDC制限や制約の影響を受けない。それに対し、Wi-Fi HaLow及び/またはIEEE802.11ahに準拠して動作する他のデバイスは、1,000MHz未満のサブギガヘルツ帯域で動作するS1Gデバイスであり、ETSI SRD標準(及び/または関連するデューティサイクル制限または制約)を満たす必要があるSRDデバイスとみなされる。IEEE802.11ahは周波数ホッピング技術を実装していないため、Wi-Fi HaLow APとSTAは、実際にはそれぞれ10%と2.8%のデューティサイクル制限に制限される。
【0078】
場合によっては、デューティサイクル制限を遵守すると、送信がブロックされる可能性がある。例えば、10%のデューティサイクル制限がある場合、現在の無線チャネル上で1ms送信する送信デバイス(例えば、AP)は、現在の無線チャネルが再び送信できるようになるまで、さらに9ms待機する必要がある(例えば、10%のデューティサイクル制限を維持すために、1ms/(1ms+9ms)=0.1=10%に基づいて、1msの送信ごとに9msの非送信が必要である)。デバイスが該当するデューティサイクル制限を満たす必要がある場合、送信が長くなると、非送信の間隔が長く累積する可能性がある。例えば、10ms送信するAPは、現在の無線チャネルが再び送信できるようになるまで、90ms待機する必要があり、50ms送信するAPは、現在の無線チャネルが再び利用できるようになるまで、450ms待機する必要がある。
【0079】
デューティサイクル制限を満たすことに関連する待機時間(例えば、デバイスがそのデューティサイクル制限を下回るようにするために送信しない時間)は、デューティサイクル待機時間が終了するまで(例えば、上記の例では、前の1ms、10ms、または50msの送信に対応する9ms、90ms、または450msの待機時間が終了するまで)、デバイスが送信をキューイングまたはスケジュールするため、デバイスからの1つ以上の送信がブロックされる可能性がある。デューティサイクル制限により送信が完全にブロックされると、デバイスがBSSから切断される可能性がある。例えば、一部の送信は時間に敏感である、またはデューティサイクル待機時間が終了するまで遅延することができない。このような送信には、ビーコン、キープアライブ信号などが含まれるが、これらに限定されない。
【0080】
本明細書では、無線通信媒体の最大限の利用を達成しながら、遵守されるデューティサイクル制約を保証するために使用できるデューティサイクルスケジューリングアルゴリズムを提供するシステム及び技術について説明する。いくつかの態様では、本明細書に記載のシステム及び技術は、(必要な場合に)接続を維持しながら、デューティサイクル要件を遵守するために使用することができる。いくつかの実施形態では、本明細書に記載のシステム及び技術は、デューティサイクル要件を遵守しながら、特定のパケットに優先順位を付け、特定の間隔で早期に送信して、接続及び/または動作セットアップを維持できるために使用することができる。
【0081】
デューティサイクルスケジューリングへの様々なアプローチ(例えば、デューティサイクルスケジューリングアルゴリズム)を以下に説明する。本明細書に記載のデューティサイクルスケジューリング及び/またはデューティサイクルスケジューリングアルゴリズムは、「デューティサイクル認識パケット送信」または「デューティサイクル認識送信」の実装とも呼ばれる。以下でさらに詳細に説明するように、デューティサイクルスケジューリングのためのシステム及び技術は、複数の及び/または異なる使用例に対処するように構成できる。例えば、デューティサイクルスケジューリングは、デバイスタイプ(例えば、IoTデバイス、カメラ、センサなど)、デバイスによって生成または送信されるデータのタイプ(例えば、画像データ、音声データ、数値データまたは他のセンサデータなど)、及び/またはデバイスによって生成または送信されるデータの周期性などの要素に少なくとも部分的に基づいて実装及び/または構成することができる。例えば、10秒ごとに温度測定値を送信するIoTセンサがデューティサイクル制限要件などを満たすことを保証するために利用されるデューティサイクルスケジューリングと比較して、毎日単一の画像を送信するように構成されるIoTカメラがデューティサイクル制限要件を満たすことを保証するために、異なるデューティサイクルスケジューリングを利用することができる。
【0082】
改善されたデューティサイクルスケジューリングのための本明細書に記載のシステム及び技術は、Wi-Fi HaLowデバイス(例えば、AP、STA)を含む(これに限定されない)無線通信デバイスに実装され得ることに留意されたい。また、改善されたデューティサイクルスケジューリングのためのシステム及び技術は、単一パケット送信、バースト送信(例えば、2つ以上のパケットの送信)、及び/またはそれら2つの組み合わせを実装するために使用できることに留意されたい。いくつかの態様では、単一パケット送信は、1つのパケットのバーストサイズを使用するバースト送信の実装であると理解できる。
[例示的なバーストモードデューティサイクルアルゴリズム]
【0083】
図4は、いくつかの例による、デューティサイクル観測時間(T
obs)ごとに複数のバースト期間(T
burst)を使用するデューティサイクル認識パケットバースト送信400の例を示す図である。1つの例示的な例では、デューティサイクル観測時間T
obsは1時間とすることができる。前述したように、少なくともいくつかの場合において、T
obsは監視時間T
monと呼ばれることもある(例えば、T
obs=T
mon)。T
obsは、デューティサイクル「観測時間」及び/またはデューティサイクル「観測ウィンドウ」と同じ意味で呼ばれる場合がある。
【0084】
いくつかの態様では、Tobsは、整数量のバースト期間に分割または区分することができる。各バースト期間は、長さがTburstであり、1つ以上のパケットのバースト送信に使用することができる。例えば、1時間のTobsは、Tobs=n*Tburstとなるように、60個の1分間のバースト期間Tburstに分割することができる。
【0085】
各バースト期間Tburstは、連続送信時間Tairと、それに続くオフエア時間Toffを含むことができる。連続送信時間Tairは、「オンエア時間」とも呼ばれる。言い換えると、例示的なバーストモードデューティサイクルアルゴリズムによれば、データはバーストで送信されることができ、その後にオフエア持続時間が続く。オンエアバーストTairとオフエア時間Toffの組み合わせは、バーストサイクルと呼ばれる。いくつかの実施形態では、バーストサイクル自体は、デューティサイクルの規制要件を満たすように(例えば、デューティサイクルのパーセンテージ制限Dを満たすように)構成及び管理されることができる。
【0086】
いくつかの態様では、バーストサイクルは連続的に繰り返すことができる。バーストサイクルは、使用例に応じて設定可能であり、非常に小さなバーストサイクル(例えば、単一パケット送信アルゴリズム)からはるかに大きい(例えば、数百ms)データのバーストまで変化することができる。バーストサイクルがT
airによって与えられる送信持続時間と、それに続くオフエア持続時間T
offとを含む場合、オフエア時間T
offは、下記の式に基づいて、デューティサイクル要件Dを満たすのに十分な長さになるように設定できる。
【数2】
【0087】
例えば、10%のデューティサイクル(例えば、Wi-Fi HaLowまたはSRD APに対する10%のデューティサイクル制限など)の場合、式(1)と式(2)を使用すると、1分間のバースト期間(例えば、Tburst=1分間)が6秒の送信時間(例えば、Tair=6秒)と、それに続く54秒のオフエア時間(例えば、Toff=54秒)に分割されることを決定できる。
【0088】
図4は、4つのバースト期間410-1、410-2、410-3、及び410-4が所定の観測ウィンドウT
obsに対して設定される例を示す(ただし、本開示の範囲から逸脱することなく、より多いまたはより少ない量のバースト期間T
burstを観測ウィンドウT
obsに関連付けることができることに留意されたい)。4つのバースト期間410-1~410-4のそれぞれは、オンエア時間T
airとオフエア時間T
offを含む同じバースト期間長さT
burstを有することができる。各バースト期間T
burstは、バースト期間の対応するオンエア時間T
air中に1つ以上のパケットを送信するために使用できる。例えば、第1のバースト期間410-1のT
airは、1つ以上のパケットを送信するために使用でき、第2のバースト期間410-2のT
airは、1つ以上のパケットを送信するために使用できる。
【0089】
図4の例では、各バースト期間410-1~410-4は、複数のパケット405を送信する(例えば、マルチパケットバースト送信)ために使用される。しかし、バースト期間410-1~410-4のうちの1つ以上(またはすべて)は、単一パケット405を送信する(例えば、単一パケット「バースト」送信)ために使用され得ることにも留意されたい。いくつかの態様では、各バースト期間410-1~410-4は、同じ数のパケットを送信するために使用できる(例えば、
図4の例では、各バースト期間は、対応する4つのパケット405を送信するために使用できる)。いくつかの例では、バースト期間410-1~410-4の一部(またはすべて)は、残りのバースト期間の一部(またはすべて)と比較して、異なる量のパケットを送信するために使用することができる。
【0090】
いくつかの実施形態では、所定のバースト期間Tburstのオンエア時間Tairは、直前のバースト期間のオフエア時間Toffに後続する(例えば、シーケンスTburst_1、Tburst_2、...はTair_1、Toff_1、Tair_2、Toff_2、...に対応してもよい)。いくつかの実施形態では、前のバースト送信がデューティサイクル制限Dを考慮して最大許容オンエア時間Tairを十分に利用していなかったとしても、連続バースト送信は決してTburstよりも近くならない。例えば、D=10%のデューティサイクル制限を受けるバースト期間Tburst内の最大許容オンエア時間は、Tair=6秒である。いくつかの実施形態では、バースト期間410-1~410-4のそれぞれは、6秒のTairを完全に利用する複数のパケットのバースト送信に使用することができ、その場合、第1のバースト期間410-1の第1のパケット405は、時間Tburstで第2のバースト期間410-2の第1のパケット405から分離される。
【0091】
Tburstの強制的な最小分離を使用して連続バースト送信が実装される場合、第1のバースト期間410-1の第1のパケット405は、第1のバースト期間410-1がTair=6秒の全持続時間を利用しない場合であっても、少なくとも時間Tburstで第2のバースト期間410-2の第1のパケット405から分離される(例えば、第1のバースト期間410-1が単一パケット405のみを送信し、ウィンドウTair=6秒の一部のみを使用する場合、第2のバースト期間410-2の第1のパケット405は、依然として、少なくとも時間Tburstで第1のバースト期間410-1の第1のパケット405から分離される)。
【0092】
いくつかの態様では、式(1)に従い、連続バーストサイクル間でTburstの最小分離を実施することにより、デューティサイクル制限(例えば、D)が任意の監視期間または観測ウィンドウTobsにおいて遵守されることを保証することが分かる。監視/観測時間Tobsは、所定のデバイスの送信が(デューティサイクルの目的で)1時間などの固定期間監視されるランダムな時点であることに留意されたい。デューティサイクルに互換性があるにもかかわらず、タイリングバーストサイクルは困難であり、所定の監視サイクルTobs内で過剰送信(例えば、デューティサイクル制限Dを超える)が発生する可能性がある。いくつかの実施形態では、常に制限内での送信を保証するために、以下の制限を実装することができる。
【0093】
第1に、観測時間T
obsは、バースト持続時間T
burstの整数倍に設定できる。
【数3】
ここで、nは整数値である。非整数のバーストサイクル(例えば、観測時間T
obs内)は過剰送信を引き起こす可能性がある。デューティサイクル制限/要件を満たすために、最後のバーストには提供されるよりも多くのオフエア時間が必要になる。例えば、非整数のバーストサイクルが使用される場合、観測ウィンドウT
obsは、観測ウィンドウT
obsの最後のバーストに続いてそれ以上の送信がない間、T
obsが最後のバーストに続くオフエア時間を含まないように、ランダムに選択することができる。この例では、観測ウィンドウT
obsは、デューティサイクル制限を超える過剰送信に対応する。
【0094】
第2に、バーストサイクルは、各バーストサイクルのT
air内のバースト送信のサイズとは無関係に、少なくともT
burstで分離される必要がある。これは、T
burstよりも時間的に近い送信では、監視時間内に余分な送信が発生する可能性があるためである。上記の観察に基づいて、式(2)は次のように書き換えることができる。
【数4】
【0095】
式(4)を使用して例示的なバーストモードデューティサイクルアルゴリズムを実装するということは、バーストサイクル送信がデューティサイクル制限Dを考慮して利用可能な全Tair時間を占有していない場合でも、デバイスが、再送信または後続の送信を実行する前に、全Tburst時間が経過するまで待機する必要があることを意味する。
【0096】
言い換えると、第1のバーストサイクルの第1のパケットと第2のバーストサイクルの第1のパケットとの分離は、常にTburstに等しくなるように設定することができる。1つの図示例では、第1のバーストサイクルの最後のパケットと第2のバーストサイクルの第1のパケットとの分離は、常にToffに等しくなるように設定でき、ここで、Toff=Tburst-Tair_actualである。Tair_maxは、バーストサイクル持続時間Tburstと所定のデューティサイクル制限Dに対して可能な最大オンエア時間を表す。例えば、Tburst=100msのバーストサイクルに対して、Tair=10ms、Toff=90msである上記の例が考えられる。ここで、100msのバーストサイクル及び10%のデューティサイクル制限に対して10msは可能な最大オンエア時間であるため、Tair=10ms=Tair_maxとなる。Tair_actualは、所定のバーストサイクル中にデバイスによって実際に使用されるオンエア時間を表し、ここで、Tair_actualはTair_max以下である。従って、Tair_maxの10msをすべて埋めるのに十分なデータがないバーストサイクルの場合、デバイスは(例えば)Tair_actual=5msのデータのみを送信できる。この例では、式(1)ではデバイスが5msのTair_actualに対してToff=50msだけ待機する必要があると規定しているにもかかわらず、デバイスはToff=100ms-5ms=95ms待機するまで、次のバーストサイクルは開始されない。
【0097】
いくつかの実施形態では、(TairとToffの全サイクルを含む)バーストサイクルは、バーストサイクルの持続時間を特徴付けるために使用される設定可能なデューティサイクルパラメータTburstに基づいて設定することができる。Tburstの異なる値を使用すると、例示的なバーストモードデューティサイクルアルゴリズムを調整して、異なる使用例に対応するように適合させることができる。例えば、いくつかの実施形態では、バースト持続時間Tburstは、特定の無線通信デバイスに関連する使用例または他の情報に基づいて設定することができる。1つの例示的な例では、スマート温度センサは、カメラとは異なるバーストサイクル構成を持つことができる。スマート温度センサは、データの小さなパケットを送信する(例えば、温度データを運ぶ)ために頻繁に(例えば、数ミリ秒ごとに)起動する。カメラは、スナップショット画像データをキャプチャして送信するために、まれに(例えば、数時間ごとに)起動する。デューティサイクル要件は、スマート温度センサとカメラの例では異なる場合がある。温度センサは、マルチパケット温度測定値の単一パケットを送信し、次の利用可能なデューティサイクルを待機してマルチパケット温度測定値の次のパケットを送信するのに十分であるが、そのようなアプローチは、比較的大きな画像データを一連の単一パケットとして送信し、その後に次の利用可能なデューティサイクルを待機する一定のToff持続時間が続くため、合計送信時間が長くなる可能性があるので、カメラの例では最適ではない。例えば、カメラの例にとってより最適なアプローチは、カメラがよりコンパクトな(例えば、バースト)送信を利用し、それに続く単一の長い待機間隔を設けることである。
【0098】
言い換えると、無線通信デバイスの意図された使用例に応じて、バーストサイクル長Tburstは、非常に短い(例えば、パケットごとの)持続時間から比較的長い(例えば、よりバースト性の高い)持続時間まで変化するように設定できる。例えば、少量のデータを送信するために使用される接続されたセンサは、非常に短く非常に高速なバースト(例えば、バースト持続時間がTburst=100msの場合、10msのTx/Tair=10msの後に、90msのオフエア/Toff=90msが続く)を実装するように構成できる。画像を送信するカメラセンサは、より長いバーストが必要になる場合がある(例えば、バースト持続時間がTburst=5,000ms=5秒の場合、500msのTx/Tairの後に、4,500msのオフエア/Toffが続く)。別の例では、100msごとにビーコンを送信するAPは、Tburst=100ms(例えば、10msのビーコンとデータTx/Tairの後に、90msのオフエア/Toffが続く)を設定してもよい。
【0099】
いくつかの実施形態では、TairとTburstの両方は、例示的なバーストモードデューティサイクルスケジューリングアルゴリズムを実装する無線通信デバイスのアプリケーション及び/または使用例に基づいて設定可能なパラメータであり得る。例えば、システム及び技術は、観測/監視時間Tobsに基づいて、最初にバーストサイクル持続時間Tburstを決定または設定することができる。1つの例示的な例では、観測/監視時間がTobs=1秒であるとすると、観測ウィンドウTobsは、それぞれTburst=100msの10個のバーストに分割することができる。各100msのバーストサイクル内では、Tair_max=10ms、Toff=Tburst-Tair_actualとなるように、10%の送信時間と90%のオフエア時間にさらに分割される。
【0100】
第1のシナリオでは、デバイスは、Tburst=100msの現在のバーストサイクルで利用可能なTair_max=10msの送信時間を超える、送信のためにキューイングされた多量のパケットを有し得る。この場合、送信のためにキューイングされたパケットは、それぞれ10ms(またはそれ以下)の送信に対応するパケットのグループまたはサブセットに分割でき、これにより、送信のためにキューイングされたパケットの各グループまたはサブセットが、所定のバーストサイクルTburst=100msで利用可能なTair_max=10ms内に収まるようになる。例えば、送信のためにキューイングされたパケットが50msある場合、送信のためにキューイングされたパケットは、それぞれ5つの10msのグループに分割でき、5*Tburst=500msの合計持続時間にわたって5つの異なるバーストサイクルを使用して送信できる(例えば、Tair_1中の10msデータ、90msのToff_1、Tair_2中の10msデータ、90msのToff_2、Tair_3中の10msデータ、90msのToff_3、Tair_4中の10msデータ、90msのToff_4、Tair_5中の10msデータ、90msのToff_5)。
【0101】
第2のシナリオでは、デバイスは、Tburst=100msの現在のバーストサイクルで利用可能なTair_max=10msの送信時間よりも少ない、送信のためにキューイングされた多量のパケットを有し得る。この例では、デバイスは、5msのTair_actual中にデータを送信し、その後に95msのToffが続くことで、依然としてTburst=100msの合計時間を遵守する。
【0102】
いくつかの態様では、オフエア時間Toff内(例えば、その間)には、デバイスは、デューティサイクル制限が適用されるチャネルまたは無線媒体での送信に関して完全に沈黙するように構成され得る。例えば、オフエア時間Toffの間、デバイスは着信メッセージまたは受信メッセージの確認応答(ACK)を含む送信を行わないように構成できる。場合によっては、非常に小さいバースト(例えば、単一パケット)を使用すると、1つ以上の単一パケットモードデューティサイクルスケジューリングアルゴリズムが使用され得る(例えば、以下でより詳細に説明する)。
[例示的な単一パケットモードデューティサイクルスケジューリングアルゴリズム1]
【0103】
パケットのオンエア時間T
airは、Wi-Fiパケットの送信に必要なエアタイムの持続時間である。このオンエア時間は、パケットサイズ、帯域幅(BW)、及び変調符号化方式(MCS)に依存し、BW、MCS、及びパケット長の関数として表すことができる。無線通信デバイスがチャネルを使用してフレーム(またはパケット)を送信する場合、デューティサイクルの制限により、沈黙期間T
offが経過するまで無線通信の送信が制限される。オフ時間は以下の数式で与えられ、Dは通常0.01%~10%の範囲のデューティサイクルである。
【数5】
【0104】
例えば、デューティサイクル制約が10%のAPは、T
air=3msのオンエア時間でビーコンを送信する(その後に、T
off=27msのオフエア時間が続く)。APがビーコンを送信するためのオフエア時間の計算は、以下のようになる。従って、APは、ビーコンの送信に3msを費やした後、27msの間沈黙する(例えば、オフエア)必要がある。
【数6】
【0105】
以下は、例示的な単一パケットモードデューティサイクルスケジューリングアルゴリズム1の実装に対応する例示的な疑似コードである。
[例示的な単一パケットモードデューティサイクルスケジューリングアルゴリズム2]
【0106】
図5は、いくつかの例による、2つの連続する観測期間(T
obs)に関する異なるデューティサイクルスケジューリングまたは送信パターンの例を示す図である。デューティサイクルには、送信を時間内にどのように分散するかについての制限はない。例えば、
図5の例510に示すように、送信時間(例えば、T
air)が等間隔である場合、または、
図5の例520に示すように、送信時間T
airが観測期間T
obsの開始時点で使い切られ、残りの観測期間が待機される場合、デューティサイクルの計算は区別しない。唯一遵守すべきことは、最大デューティサイクル比そのものである。例えば、デバイスは、バーストトラフィックを使用して送信することができ、例えば、36秒送信し、その後1%のデューティサイクルで3,564秒待機する。しかし、観測期間T
obsの開始は正確に定義されていないため、
図5の例530に示すように、同じ観測期間T
obs内にそのようなバーストトラフィックが発生しないことに注意する必要がある。
【0107】
特に、
図5は、観測期間T
obs中に送信が時間内にどのように分散されるかを示す3つの例(例えば、510、520、530)を示す。第1の例510は、均等に分散された拡散の例を示しており、複数の等しいオンエア送信間隔T
airが、T
airの隣接するインスタンス間のT
off分離を使用して均等に間隔をあけて配置されている。第2の例520は、単一バーストですべての利用可能な送信時間T
airを使用する例を示す。言い換えると、累積または合計送信時間T
air_cumは、例510及び520で等しい。第3の例530では、観測期間T
obs当たりの単一バーストにおいてすべての利用可能な送信時間T
airを使用する例でもあるが、第1の観測期間T
obsの開始から離れた第1のバーストのオフセットにより(例えば、左側のバーストは、左端の観測期間T
obsの開始後に開始される)、実際には観測期間T
obsの1つの代替構成に2つのバーストが存在する(観測期間T
obsの代替構成が有効な観測期間であり、観測期間の開始はランダムに選択できることに留意されたい)。従って、例530のデバイスは、デューティサイクル規制に準拠していない。
【0108】
例示的な単一パケットモードデューティサイクルスケジューリングアルゴリズム1は、デューティサイクル要件を維持することができたが、媒体最適化されておらず、第1のバーストサイクルのT
offの満了と第2のバーストサイクルのT
airの間に発生する可能性のあるアイドル時間を考慮していない。例えば、
図6Aは、いくつかの例による、パケット間のアイドル時間とは無関係に実行されるデューティサイクル認識パケット送信600aの例を示す図である。図示されるように、第2のパケット605-2を送信するためのT
offの計算は、第1のパケット605-1を送信した後(より具体的には、第1のパケット605-1の送信に関連するT
offの後)及び第2のパケット605-2を送信する前に発生するアイドル時間T
idleを考慮しない。第1のパケット605-1と第2のパケット605-2の各パケットの間にT
idle時間を追加すると、第3のパケット605-3がT
idle時間以下だけ第2のパケット605-2に近い時間に送信される場合でも、デューティサイクル制限は満たされる可能性がある。代わりに、例示的なパケット送信600aのアプローチでは、デバイスは、第2のパケット605-2を送信した後、第3のパケット605-3を送信する前に、全オフエア時間T
off待機することになる。アイドル時間T
idleは、デバイスが送信していない時間、つまり、送信するパケットがない、または別のデバイスが送信している時間である。
【0109】
1つの例示的な例では、単一パケットモードデューティサイクルスケジューリングアルゴリズム2は、オフエア時間T
offを計算するときにアイドル時間T
idleを考慮するために、前述の単一パケットモードデューティサイクルスケジューリングアルゴリズム1の修正として実装することができる。
【数7】
【0110】
図6Bは、いくつかの例による、パケット間のアイドル時間T
idleに少なくとも部分的に基づいて実行されるデューティサイクル認識パケット送信600bの例を示す図である。例えば、
図6Bに示すように、第1のパケット607-1の送信後、デバイスは、第2のパケット607-2を送信する前に、T
off+T
idle_1に等しい時間間隔の間休止する。従って、1つの例示的な例では、単一パケットモードデューティサイクルスケジューリングアルゴリズム及び/または式(5)を使用して、第2のパケット607-2と第3のパケット607-3との間のオフエア時間T
off_2時間を短縮することができる。特に、T
off_2は、全オフエア時間T
offからアイドル時間T
idle_1を減算することによって、T
off_2=T
off-T
idle_1となるように短縮することができる。なお、全オフエア時間T
offは、1とデューティサイクルの割合から1を引いた値(例えば、1/D-1)にオンエア時間T
airを乗算した値に等しい。
【0111】
いくつかの実施形態では、アイドル時間T
idleは、所定の数のパケット送信後にクリアまたはリセットすることができる。例えば、T
idleをクリアするためのパケット送信の所定の数は1にすることができ、その場合、デバイスは各パケット送信後にアイドル時間T
idleをクリアする。
図6Bに示すように、第1のパケット607-1と第2のパケット607-2の間のアイドル時間T
idleは、デバイスがさらに3つのパケットを送信するのに十分な長さである場合でも、第3のパケット607-3を送信した後に必要なオフエア時間T
offは、全オフエア時間T
offと等しく設定される。これにより、デバイスはアイドル時間T
idleの長さに関係なく、3つの連続パケットを送信しなくなる。これは、非決定性観測期間に関する上記の注意を避けるためである。単一パケットモードデューティサイクルスケジューリングアルゴリズム2の例示的な実装の例示的な疑似コードを以下に示す。
【0112】
例示的な単一パケットモードデューティサイクルスケジューリングアルゴリズム2では、観測期間Tobsがパケットに先立つアイドル時間Tidleを考慮しない場合、1つの余分な送信のリスクがある。ただし、送信のわずか数ミリ秒(例えば、Tair)と比較して、観測期間Tobsは通常非常に長く、例えば、1時間であるため、これは非常に最小限のリスクである。また、観測期間Tobs中の余分なアイドル期間が、この余分なパケット送信の原因となり得ることに留意されたい。
[例示的な単一パケットモードデューティサイクルスケジューリングアルゴリズム3]
【0113】
全体的なシステム性能への影響を軽減するために、一実施形態におけるデューティサイクルスケジューリングアルゴリズムは、ヌルデータパケット(NDP)、ビーコン、及びACKパケットの早期送信を可能にするように修正される。パケットが早期に送信される場合、パケットは、対応するオフエアT
offタイマーが満了する前に送信される。1つの例示的な例では、T
offタイマーの残りの持続時間は保存され、次に示すようにT
early項を使用して、送信される次のパケットのオフエア時間T
offに追加される。
【数8】
【0114】
Tearlyは、オフエア時間Toff期間を増加させるために使用されるたびにゼロにリセットされる。本実施形態では、任意の観測ウィンドウTobsにわたってデューティサイクル制限が保証されない可能性がある。しかし、実際には、このわずかな差異(最大でも数十ms)は、60分間の観測ウィンドウにおける360秒の送信バジェットに比べて無視できる程度であることが予想される。また、このシナリオは実際には、APが複数のSTAからの短い送信に応答して大量のACKを送信する場合にのみ発生し、各STAには、STAに対する各自の2.8%のデューティサイクル制限が適用される。
[確認応答(ACK)パケットを考慮した送受信の制限]
【0115】
確認応答(ACK)パケットは、送信デバイスのデューティサイクルの一部と見なすことができる。いくつかの実施形態によれば、ACKパケットのオフエア時間は、ACKパケットをTair=240マイクロ秒(μs)のオンエア時間または送信時間を有する別個の送信として扱うことに基づいて計算することができる。次の例では、デバイスのデューティサイクル制約は2.7%である。
(数9)
Toff=0.24*(1/2.7%-1)~9ms。
【0116】
上記で示したように、ACKパケットを送信した後のデバイスは、より多くのデータを送信できるように回復するのに約9msが必要である。ACKパケットの送信を保証するには、デバイスは9msよりも頻繁にパケットを受信してはならない。APとSTAの間の単一通信では、送信デバイスは別のパケットを送信する前に追加の時間(例えば、Toff)待機する必要があるため、これは通常問題にならない。ただし、複数のSTAからの送信間隔が9ms未満で、複数のSTAがAPにデータを送信する場合、問題が発生する可能性がある。このような場合、APは対応するACKを時間内に送信せず(例えば、デューティサイクル制約が2.7%のAPが各ACKを送信する間に少なくとも9ms待機する必要性に基づいて)、ACKは蓄積され、後の再送信のためにキューイングされる。
【0117】
日本では、ACKやCTS(Clear To Send)などの応答フレームは、デューティサイクルにカウントされない。いくつかの実施形態では、他の無線機器からの要求に対する送信応答の応答時間は、任意の1時間の観測ウィンドウあたりの送信時間の合計には含まない。
【0118】
いくつかの実施形態では、フラグメント化された送信は、フラグメントの合計送信時間を追跡し、この合計送信時間をオフ時間Toffの計算の基礎として使用することによって処理される。これは、ACKの受信ギャップによってToffを減らすことによって拡張できる。
[単一パケットバースト]
【0119】
前述したように、いくつかの例では、バーストモードデューティサイクルスケジューリングを使用して、1パケットのバーストサイズを持つ単一パケットバーストを実装できる。この単一パケットバーストモードは、バースト期間(例えば、バーストサイクル時間T
burstが単一パケット持続時間と同一または類似する)を伴う前述のバーストモードデューティサイクルスケジューリングアルゴリズムの特別なケースと見なすことができる。
図7は、いくつかの例による、単一パケット持続時間と等しいバースト期間T
burstを使用するデューティサイクル認識パケット送信の例を示す図である。
【0120】
この例では、バーストサイクルに関連付けられるパケット送信の長さは、バーストサイクル間で変化する可能性がある。例えば、第1のバーストサイクルのパケット送信705-1に関連付けられるTair_1は、第2のバーストサイクルのパケット送信705-2に関連付けられるTair_2とは異なり(例えば、より短い)、それ自体は、第3のバーストサイクル及び第4のバーストサイクルのパケット送信705-3及び705-4に関連付けられるTair_3及びTair_4とはそれぞれ異なる。
【0121】
いくつかの態様では、パケット送信705-2は、より多くの量のパケットを含むパケット送信705-2に基づいて、パケット送信705-1、705-3、705-4よりも長くなり得る。例えば、第2のパケット送信705-2は、複数のパケットを含むバースト送信であってもよいが、パケット送信705-1、705-3、705-4は単一パケット送信(及び/または705-2よりも少ない数のパケットを含むバースト送信)であってもよい。他の例では、パケット送信705-1~705-4のそれぞれは、単一パケット送信であってもよく、Tair_2は、パケット送信705-2がパケット送信705-1、705-3、705-4に関連付けられる対応する単一パケット送信時間よりも長い送信時間を有する単一パケットであることに基づいて、Tair_1、Tair_3、及びTair_4よりも長くなる。
【0122】
図7の例では、各パケット705-1、705-2、705-3、705-4は送信され、その後に対応するオフエア時間T
offが続くことができる。オフエア時間T
offは、デューティサイクル要件を満たすのに十分な長さになるように、(例えば、上記のT
offの式のうちの1つ以上を使用して)計算することができる。これにより、デバイスの可能な限り短いサイレント時間(例えば、T
off時間)が保証される。バースト持続時間T
burstは、各パケット及び/または各バーストサイクルの送信パケットサイズに基づいて変化する可能性がある。
【0123】
図8は、いくつかの例による、遅延なく送信される高優先パケットを含むデューティサイクル認識パケット送信800の例を示す図である。いくつかの実施形態では、デューティサイクル認識パケット送信800を使用して、直後のパケットのオフエア時間T
offが満了する前に、1つ以上のパケットの早期送信を実装することができる。いくつかの態様では、1つ以上の高優先パケットに対して早期送信が実行される。例えば、高優先パケットは、高優先パケットに対応する、または高優先パケットに関連付けられる、WLANの機能及び/またはAP及び/またはSTA間の接続の中断を避けるために、正確な時間で送信される必要があるパケットであり得る。いくつかの例では、高優先パケットは、ビーコン、ACK、及びプローブ応答を含むことができ、これらのパケットの送信を次のバーストまで遅らせると、システムの機能及び/または性能に影響を与える可能性がある。
【0124】
図8の例では、パケット805-1、805-2、及び805-4は通常の優先パケット(例えば、非高優先パケット)であり、パケット805-3は高優先(HP)パケットである。図示されるように、第2のパケット805-2の後の次のパケットは、通常、第2のパケット805-2に対して計算された、例えば
図8にT
off_expectedとして示されるオフエア期間が満了するまで、送信に適格ではない。
【0125】
HPパケット805-3は高優先パケットであるため、HPパケット805-3は、第2のパケット805-2のToff_expectedの満了前に送信することができる。1つの例示的な例では、残り時間(例えば、時間差)は、HPパケット805-3が送信される早期時間と直前のパケット送信のToff_expected時間(例えば、第2のパケット805-2)との間で計算できる。この残り時間は、例えば、HPパケット805-3がToff_expectedで予想される送信時間と比べて早期に送信された時間間隔を示す、Tearlyと呼ぶことができる。
【0126】
HPパケット805-3の早期送信後、計算された残りのオフエア時間Tearlyは、HPパケット805-3の通常に計算されたオフエア時間(例えば、HPパケット805-3が早期に送信されなかった場合に使用されるオフエア時間Toff)に追加される。従って、Tearly時間値でHPパケット805-3を早期に送信することからの時間差は、Toff_HP=Toff+Tearlyとして与えられる、HPパケット805-3に続く延長されたオフエア持続時間を実装することによって回復することができる。
【0127】
デューティサイクル制限は、Tobsの開始時間の選択に応じて、及び/または選択されたTobs中に早期に送信される高優先パケットの数に基づいて、観測期間Tobs中に満たされない可能性がある。しかし、HPパケット805-3などの高優先パケットの持続時間は、観測期間Tobsよりも桁違いに短いことが分かる。この場合、デューティサイクル制限の遵守に全体的な重大な影響がある可能性は非常に低い。
[デューティサイクルスケジューリングの実装例]
【0128】
図9は、いくつかの例による、本発明に開示されるデューティサイクルスケジューリング及び/または管理の態様を実装するために使用される有限状態マシンによる状態遷移例を示す例示的な状態
図900である。図示されるように、有限状態マシン900によるデューティサイクルの実装には3つの状態がある。IDLE状態910は、前述のT
idle持続時間に対応することができ、IDLE状態910において、デバイスは、低電力モードに入ることができる状態、及び/または、デューティサイクル要件に違反することなく送信可能であるが現在送信のためにキューイングされたパケットはない状態である。ACTIVE状態920は、前述のT
air持続時間に対応することができ、デバイスは、無線媒体上でパケットをアクティブに送信している。BLOCKED状態930は、前述の様々なT
off持続時間に対応することができ、デバイスは、デューティサイクル制限または要件を遵守するために無線媒体上でパケットを送信することが妨げられる。
【0129】
いくつかの態様では、状態間の通常の遷移シーケンスはIDLE→ACTIVE→BLOCKED→IDLE
状態遷移とそれに対応するトリガーイベントの例を以下に説明する。
【0130】
IDLE状態910(例えば、T
idle)から、デバイスは、状態遷移「Sleep」を介してIDLE状態910に留まり得る。代替的に、または追加的に、デバイスは、デューティサイクルスケジューリング要件に基づいて決定されるスケジュールされたオンエア時間T
airに1つ以上のパケットの送信を開始するデバイスに対応する状態遷移「Tx Start」を介して、IDLE状態910からACTIVE状態920
【0131】
デバイスがTair中に1つ以上のパケットの送信を完了し、さらに送信されるパケットがない場合、デバイスは、ACTIVE状態920(例えば、Tair)から、状態遷移「Sleep」を介して、IDLE状態910に戻ることができる。デバイスは、ACTIVE状態920(例えば、Tair)から、Tair中のパケット送信の完了に対応する状態遷移「Tx Complete」を介して、BLOCKED状態930(例えば、Toff)に遷移することができる。
【0132】
デバイスは、BLOCKED状態930(例えば、Toff)から、状態遷移「Urgent Tx Start」を介して、高優先パケット(例えば、ビーコン、ACK、プローブ応答)の早期送信のために、ACTIVE状態920(例えば、Tair)に早期に戻ることができる。オフエア持続時間Toffが満了し、別のパケットがキューイングされている、または送信に利用可能である場合、デバイスは、IDLE状態910(例えば、Tidle)に遷移することができる(この場合、デバイスは直ちにIDLE状態910からACTIVE状態920に遷移する)。オフエア持続時間Toffの満了時に別のパケットがキューイングされていない、または送信に利用できない場合、デバイスは状態遷移「Sleep」を介してBLOCKED状態930からIDLE状態910に遷移することができる。
【0133】
一実施形態では、デバイスがスリープモードに入るとすべての状態がリセットされ、タイマーが停止される。これは、スリープ状態では現在の時間が維持されず、スリープ状態からウェイクアップすると時間が再スタートするためである。
[例示的な遵守アルゴリズム]
【0134】
遵守アルゴリズムを使用して、2つの基準に基づいてパケットを分類することができる。第1の基準は、ストール可能なパケットとリアルタイムパケットを示す、またはそれに関連付けることができる。ストール可能なパケットは、遅延可能なパケットである(例えば、パケットはストール可能である)。ストール可能なパケットを遅延させると、パフォーマンスが低下する可能性があるが、Wi-Fi動作にエラーが発生することはない。ストール不可能なパケットまたはリアルタイムパケットは、遅延するとWi-Fi動作を中断するパケットである。リアルタイム(例えば、ストール不可能な)パケットの例としては、ACKパケット、ビーコン、プローブ応答などが挙げられるが、これらに限定されない。いくつかの態様では、前述の高優先パケットは、リアルタイム/ストール不可能なパケットの例であり得る。ACKパケットの送信を遅延させると、デバイス(例えば、ACKを受信するデバイス)が、ACKに対応するパケットが正常に配信されなかったと判断する可能性があるという事実に基づいて、ACKパケットはリアルタイム/ストール不可能なパケットと見なすことができる。同様に、ビーコンは、常に時間内に配信される必要があるため、リアルタイム/ストール不可能なパケットと見なすことができる。
【0135】
遵守アルゴリズムを実装するための第2の基準は、関連パケットと非関連パケットを示すことである。関連パケットは、関連STAに送信されるパケットである一方で、非関連パケットはサービスセット識別子(SSID)に関連付けられていない任意のSTAに送信される。非関連パケットの例としては、プローブ応答、アソシエーション応答、ハンドシェイクメッセージなどがある。
【0136】
1つの例示的な例では、遵守アルゴリズムは、SSID内のACK及びビーコンなどの関連リアルタイムパケットに第1の優先順位(例えば、第1の優先順位値)を割り当てるために実装され得る。第2のより低い優先順位(例えば、第2の優先順位値)は、プローブ応答、アソシエーション応答、及びハンドシェイクメッセージなどの非関連リアルタイムパケットに割り当てることができる。
【0137】
いくつかの実施形態では、「必須パケット」という用語は、関連リアルタイムパケットと非関連リアルタイムパケットの両方を一括して指すために使用することができる。いくつかの態様では、「必須パケット」という用語は、コンテキストに応じて、2種類のリアルタイムパケット(例えば、関連または非関連)のいずれかを指す。非必須パケットには、リアルタイムではないあらゆるパケット(例えば、「必須」パケット分類に含まれないパケット)が含まれる。これらの非必須パケットは通常、関連ノードに送信されるデータまたは管理パケットなどのストール可能な関連パケットであるが、非必須パケットにはストール可能な非関連パケットも含まれる可能性があることに留意されたい。
【0138】
いくつかの実施形態では、送信クレジット(Txクレジット)という用語は、ノードがそのデューティサイクルを飽和させることなく媒体内で送信する必要がある時間を指すために使用することができる。例えば、Tair_maxが、特定の観測ウィンドウTobsのデューティサイクルが飽和する前にノードが送信できる最大オンエア時間である場合、ノードの送信クレジットはTair_maxとTair_cumの差として決定できる。ここで、Tair_cumは現時点でノードによって使用された累積オンエア時間である(例えば、送信クレジット=Tair_max-Tair_cum)。全Txクレジットは、Tair_maxが利用可能であり、媒体へのアクセスに使用できる全オンエア時間を示す。予約Txクレジットは、必須パケット(例えば、リアルタイムや非関連パケット)の送信のために予約または確保されているTxクレジットである。いくつかの実施形態では、予約Txクレジットは、リアルタイムクレジットと非関連クレジットに分割することができる。非必須Txクレジットは、全Txクレジットから予約Txクレジットを差し引くことによって計算される。
【0139】
各STAは自身のTxクレジットを認識しているが、受信側(別のSTAまたはAP)のTxクレジットについてはあまり知らない。受信側エンティティが枯渇し、その結果、受信側エンティティからACKが受信されなくなることを回避するために、送信側STAは、受信側の予約Txクレジットを遵守する一実施形態による保守的な送信ポリシーに従う。保守的な送信ポリシーは、受信側が予約クレジットを補充するのに十分なTxクレジットを回復できるように十分なレートでスパースパケットを送信するSTA(例えば、送信機)に基づいて実装することができる。
【0140】
例えば、APは、パケットを10ms間隔(エンドツーエンド)に分散することによって、2.8%のデューティサイクルでSTAにパケットを送信することができ、これにより、受信側STAは250μsのACKを送信するのに十分なクレジットを蓄積できる。APに十分なTxクレジットがあり、別のSTAの予約クレジットを遵守しながら送信できる場合、APはその間にある他のSTAに送信できる。受信側にはリアルタイムパケットの送信に十分な予約クレジットが常にあるため、遵守アルゴリズムにより、10msのスパースパケットが受信側から常にACKされる(確認応答される)ことが保証される。一方、APのデューティサイクルは10%であるため、パケットをAPに送信する送信側STAは、パケット間で2.5ms待機するだけで遵守アルゴリズムを実装できる。
【0141】
より複雑な例は、非関連プローブ要求/応答トランザクションであり、APにプローブ要求を発行するSTAが、リアルタイムパケット(すなわち、プローブ要求に対するACK)と非関連プローブ応答の2種類のパケットを受信する。STAでは、次のパケットを発行する前に、APが消費された予約クレジット(ACK+プローブ要求)を復元するのに十分な時間が経過する必要がある。例えば、APは、ACKに約250μs、プローブ応答の送信に約1.2msを消費する。その結果、ステーションは、最初にACKに2.5ms、その後プローブ応答に12ms保留する必要がある。
【0142】
計算された待機時間に関する上記の議論に関して、そのような待機時間は、パケット送信の終了時(例えば、APが別のACKを送信することになっているとき)に実際に測定され得ることに留意されたい。従って、媒体上で約1.2msかかるパケットは、Txクレジット時間が示すより1.2ms早く送信を開始できる(例えば、上記の例では、最後のパケットから1.3ms(2.5ms-1.2ms=1.3ms)後に、パケットの送信を開始する)。2.5ms超えを消費する大きなパケットの場合、十分なクレジットがあれば、バックツーバックパケットを送信できる。
【0143】
いくつかの実施形態では、リアルタイムクレジットのみが遵守され得る。ノードは、パケットを送信するときに、利用可能なTxクレジットを継続的に更新する。最小予約クレジットは常にリアルタイム(及び非関連)パケットに保持される。Txクレジットがある限り、ノードは非必須パケットを送信し続ける。Txクレジットが予約クレジット閾値に達すると、ノードが非必須パケットを送信するためにより多くのクレジットを蓄積するまで、必須パケットのみを送信できる。STAは、リアルタイムパケットとしてACKのみを持ち、APからのみ受信しているため、各STAの予約クレジットとして1つのACKのリアルタイムクレジットのみが必要である。ただし、リアルタイムパケットにはビーコンに加えて、関連するすべてのSTAに対するACKが含まれるため、APはさらに複雑になる。APは、ビーコン期間内の予約クレジットを上記で詳述した方法と同一または類似の方法で、リアルタイムクレジットのみを含むように制限することができる。これにより、Txクレジットの不足によりSSID内でパケットが失われないことが保証される。
【0144】
リアルタイムクレジットのみを遵守すると、APがクレジットを使い果たした場合に、APは非関連メッセージに応答できなくなる可能性がある。例えば、APにTxクレジットが不足している場合、APは外部STAからのプローブ要求に応答しない。これにより、スキャンまたはアソシエーションが失敗する可能性がある。自身の予約クレジットを遵守する他の実施形態では、非関連クレジットも遵守される。APは、1つ以上(または複数)の非関連パケットを考慮して、予約クレジットを増やす。これにより、APは、クレジットを使い果たすことなく、(他のノードとともに)並行して発生する2つの追加動作(例えば、スキャンとアソシエーション要求)に応答できるようになる。APは、複数のSTAからのプローブ要求またはアソシエーションが頻繁すぎるため、非関連クレジットを使い果たすことがある。一実施形態では、APは非関連パケットのリアルタイムクレジットを消費せず、より多くのクレジットが回復されるまで保留する。クレジットはリアルタイムクレジットを埋め、次に非関連クレジット、最後にストール可能なクレジットまたはデータクレジットを埋める。非関連パケットを発行するスキャンまたはアソシエーションを行うSTAは、上記で説明したように、受信側エンティティのTxクレジット制約に従う必要がある。
【0145】
図10は、いくつかの例による、無線ローカルエリアネットワーク(WLAN)を介した無線送信のためのプロセス1000の一例のフロー図である。いくつかの例では、プロセス1000は、Wi-Fiステーション(STA)及び/またはWi-Fiアクセスポイント(AP)などの無線通信デバイスによって実行することができる。
【0146】
ブロック1002では、プロセス1000は、無線通信デバイスによって、第1の時点から開始して1つ以上の第1のパケットを送信することを含む。例えば、1つ以上の第1のパケットは、1つ以上の確認応答(ACK)パケットを含むことができる。場合によっては、無線通信デバイスは、無線通信デバイスによるACKパケットの各送信に続いて、少なくとも1つ以上のACKパケットの送信に関連付けられる計算されたオフエア時間の間待機することができる。いくつかの例では、1つ以上の第1のパケットは、ACKパケット、ビーコン、プローブ、データパケットなどのうちの1つ以上を含むことができる。
【0147】
ブロック1004では、プロセス1000は、1つ以上の第1のパケットのオンエア時間を決定することを含み、前記1つ以上の第1のパケットのオンエア時間は、1つ以上の第1のパケットの送信に関連付けられるエアタイムである。例えば、1つ以上の第1のパケットのオンエア時間は、前述のTairと同一または類似のものとすることができ、1つ以上の第1のパケットを送信するために無線通信デバイスによって使用される、または必要とされる時間量を示すことができる。場合によっては、1つ以上の第1のパケットを送信するためのオンエア時間は、1つ以上の第1のパケットを送信するためのオンエア時間が最大オンエア時間以下になるように、最大オンエア時間内に制限される。例えば、Tairは、前述のTair_maxと同一または類似の最大オンエア時間以下とすることができる。
【0148】
場合によっては、最大オンエア時間(例えば、前述のTair_maxと同一または類似のもの)は、バーストサイクル持続時間と無線通信デバイスに関連付けられるデューティサイクルに基づいて決定することができる。例えば、バーストサイクル持続時間は、Tburstと同一または類似のものとすることができ、無線通信デバイスに関連付けられるデューティサイクルは、デューティサイクルDと同一または類似のものとすることができる。いくつかの例では、デューティサイクルは、STAでは2.8%、APでは10%であり得る。
【0149】
いくつかの例では、バーストサイクル持続時間または最大オンエア時間のうちの1つ以上(または両方)は、無線通信デバイス上で実行されるアプリケーションによって決定及び設定される。
【0150】
いくつかの態様では、1つ以上の第1のパケットの送信に対応するオフエア時間(例えば、前述のToffと同一または類似のもの)は、バーストサイクル持続時間(例えば、Tburst)から第1のパケットを送信するためのオンエア時間(例えば、Tair)を減算することに少なくとも部分的に基づいて計算される。
【0151】
場合によっては、無線通信デバイスに関連付けられるデューティサイクル(例えば、D)は、デューティサイクル観測ウィンドウに対応することができる。デューティサイクル観測ウィンドウは、前述のデューティサイクル観測ウィンドウ/監視時間Tobsと同一または類似のものとすることができる。いくつかの態様では、デューティサイクル観測ウィンドウの持続時間(例えば、Tobs)は、バーストサイクル持続時間(例えば、Tburst)の整数倍(例えば、n)を含む。例えば、場合によっては、Tobs=n*Tburstとなる。
【0152】
いくつかの例では、1つ以上の第1のパケットと1つ以上の第2のパケットは、最大オンエア時間よりも長い(例えば、Tair_maxよりも長い)エアタイムを必要とするデータ送信に含まれる。このような例では、データ送信は少なくとも、1つ以上の第1のパケットを含む第1のサブセットと、1つ以上の第2のパケットを含む第2のサブセットとに分割することができる。第1のサブセットの送信と第2のサブセットの送信は両方とも、最大オンエア時間以下のエアタイムを必要とする(例えば、Tair_subset_1≦Tair_max及びTair_subset_2≦Tair_max)。
【0153】
ブロック1006では、プロセス1000は、1つ以上の第1のパケットの送信に対応するオフエア時間を計算することを含み、前記オフエア時間は、オンエア時間及び無線通信デバイスに関連付けられるデューティサイクルに基づいて計算される。例えば、オフエア時間は、前述のオフエア時間Toffと同一または類似のものとすることができる。1つの例示的な例では、オフエア時間は、オンエア時間(例えば、Tair)及びデューティサイクルDに基づいて計算することができる。例えば、オフエア時間は、前述の式(1)、(2)、(4)、(5)、及び/または(6)に従って計算することができる。
【0154】
いくつかの例では、前記1つ以上の第1のパケットの送信に対応するオフエア時間は、Toff=Tair*(1/D-1)に基づいて計算され、ここで、Toffはオフエア時間、Tairは1つ以上の第1のパケットを送信するのに必要なオンエア時間、Dは無線通信デバイスに関連付けられるデューティサイクルである。
【0155】
いくつかの例では、1つ以上の第1のパケットは、ヌルデータパケット(NDP)、ビーコン、またはACKパケットのうちの1つを含む。いくつかの例では、無線通信デバイスは、1つ以上の第1のパケットの早期送信を早期持続時間に等しい時間量で実行することができる。例えば、無線通信デバイスは、1つ以上の高優先パケットの早期送信を早期持続時間Tearlyに等しい時間量で実行することができる。いくつかの例では、1つ以上の第1のパケットの送信に関連付けられるオフエア時間は、早期持続時間に等しい時間量で延長される(例えば、Tearly+Toff)。
【0156】
ブロック1008では、プロセス1000は、第2の時点以降に1つ以上の第2のパケットを送信するように無線通信デバイスを保持することを含み、前記第2の時点は、第1の時点、及びオンエア時間と計算されたオフエア時間との合計に基づいて決定される。例えば、第1の時点は、第1のバーストサイクルの開始に対応し、第2の時点は、第2のバーストサイクルの開始に対応することができる。いくつかの例では、第2の時点は、第1の時点と、前のバーストサイクルに対応するTairとToffの合計に基づいて決定することができる。
【0157】
いくつかの態様では、無線通信デバイスは、オフエア時間中にパケット送信を実行しないように、オフエア時間中に沈黙している。
【0158】
場合によっては、プロセス1000は、無線通信デバイスによって、第2の時点以上の第3の時点から開始して1つ以上の第2のパケットを送信することをさらに含む。例えば、第2の時点は、第1のバーストサイクルのToff間隔の終了であり得る。第3の時点は、第1のバーストサイクルに続く第2のバーストサイクルのTair間隔の開始であり得る。いくつかの実施形態では、第2の時点と第3の時点との間の時間は、前述のアイドル時間Tidleと同一または類似のアイドル時間であり得る。プロセス1000は、第2の時点と第3の時点との差に基づいてアイドル時間を決定することと、1つ以上の第2のパケットのオンエア時間を決定することをさらに含むことができ、前記1つ以上の第2のパケットのオンエア時間は、1つ以上の第2のパケットの送信に関連付けられるエアタイムである。プロセス1000は、1つ以上の第2のパケットのオンエア時間、無線通信デバイスに関連付けられるデューティサイクル、及びアイドル時間に基づいて、1つ以上の第2のパケットの送信に対応するオフエア時間を計算することをさらに含むことができる。プロセス1000は、第4の時点以降に1つ以上の第3のパケットを送信するように無線通信デバイスを保持することをさらに含むことができ、前記第4の時点は、第3の時点、及び1つ以上の第2のパケットのオンエア時間と計算されたオフエア時間との合計に基づいて決定される。場合によっては、前記1つ以上の第2のパケットの送信に対応するオフエア時間は、Toff=Tair*(1/D-1)-Tidleに基づいて計算され、ここで、Toffは1つ以上の第2のパケットのオフエア時間、Tairは1つ以上の第2のパケットのオンエア時間、Dは無線通信デバイスに関連付けられるデューティサイクル、Tidleはアイドル時間である。いくつかの態様では、アイドル時間の値は、1つ以上の第3のパケットを送信した後にリセットされる。
【0159】
本明細書では、特定の実施形態を参照して本発明を図示し説明したが、本発明は、示された詳細に限定されることを意図したものではない。むしろ、本発明から逸脱することなく、特許請求の範囲及び均等物の範囲内で詳細に様々な修正を行うことができる。
【0160】
上記の説明は本発明を例示するものであり、本発明を限定するものとして解釈されるべきではないことを理解されたい。当業者であれば、特許請求の範囲によって定義される本発明の範囲から逸脱することなく、実施形態の様々な修正、応用、及び/または組み合わせを行うことが可能である。
【0161】
当業者であれば、上述した本発明は、開示されたものとは異なる構成のハードウェア要素を用いて実施できることを容易に理解する。従って、本発明をこれらの好ましい実施形態に基づいて説明したが、当業者には、本発明の範囲内にある限り、特定の修正、変形、及び代替構成は明らかであることは明白である。
【0162】
本明細書全体を通じて、文脈上明らかに別段の要求がない限り、「含む(comprise)」という用語、あるいは「含む(comprises)」または「含む(comprising)」などの変形は、記載された要素、整数、またはステップ、あるいは要素、整数、またはステップのグループを包含することを意味するが、他の要素、整数、またはステップ、あるいは要素、整数、またはステップのグループを除外することはないと理解される。
【0163】
本明細書に含まれる文書、動作、材料、デバイス、物品などのあらゆる議論は、単に本技術の文脈を提供することのみを目的とする。これらの事項のいずれかまたはすべてが先行技術基盤の一部を構成している、または本明細書の各請求項の優先日以前に存在していたものであるため、本技術に関連する分野における一般常識であったことを認めるものとして解釈されるべきではない。
【0164】
図11は、本明細書に記載される種々の技術を実装することができる例示的なコンピューティングデバイスの例示的なコンピューティングデバイスアーキテクチャ1100を示す。いくつかの例では、コンピューティングデバイスは、モバイルデバイス、ウェアラブルデバイス、拡張現実デバイス(例えば、仮想現実(VR)デバイス、拡張現実(AR)デバイス、または複合現実(MR)デバイス)、パーソナルコンピュータ、ラップトップコンピュータ、ビデオサーバー、車両(または車両のコンピューティングデバイス)、または他のデバイスを含むことができる。コンピューティングデバイスアーキテクチャ1100のコンポーネントは、バスなどの接続1105を使用して互いに電気通信するように示されている。例示的なコンピューティングデバイスアーキテクチャ1100は、処理ユニット(CPUまたはプロセッサ)1110と、読み出し専用メモリ(ROM)1120及びランダムアクセスメモリ(RAM)1125などのコンピューティングデバイスメモリ1115を含む様々なコンピューティングデバイスコンポーネントをプロセッサ1110に結合するコンピューティングデバイス接続1105とを含む。
【0165】
コンピューティングデバイスアーキテクチャ1100は、プロセッサ1110に直接接続される、プロセッサ1110に近接する、またはプロセッサ1110の一部として統合される高速メモリのキャッシュを含むことができる。コンピューティングデバイスアーキテクチャ1100は、プロセッサ1110による迅速なアクセスのために、メモリ1115及び/または記憶デバイス1130からキャッシュ1112にデータをコピーすることができる。このようにして、キャッシュは、データを待っている間のプロセッサ1110の遅延を回避する性能向上を提供することができる。これら及び他のエンジンは、様々な動作を実行するためにプロセッサ1110を制御する、または制御するように構成することができる。他のコンピューティングデバイスメモリ1115も使用可能である。メモリ1115は、異なる性能特性を有する複数の異なるタイプのメモリを含むことができる。プロセッサ1110は、任意の汎用プロセッサと、プロセッサ1110を制御するように構成された、記憶デバイス1130に格納されたハードウェアまたはソフトウェアサービス(例えば、サービス1 1132、サービス2 1134、及びサービス3 1136)と、ソフトウェア命令がプロセッサ設計に組み込まれる専用プロセッサとを含むことができる。プロセッサ1110は、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュなどを含む自己完結型システムであってもよい。マルチコアプロセッサは対称または非対称であってもよい。
【0166】
コンピューティングデバイスアーキテクチャ1100とのユーザの相互作用を可能にするために、入力デバイス1145は、音声用のマイク、ジェスチャまたはグラフィック入力用のタッチ感知スクリーン、キーボード、マウス、モーション入力、スピーチなど、任意の数の入力機構を表すことができる。出力デバイス1135は、ディスプレイ、プロジェクタ、テレビ、スピーカデバイスなど、当業者に知られている多くの出力機構のうちの1つまたは複数であってもよい。場合によっては、マルチモーダルコンピューティングデバイスは、ユーザがコンピューティングデバイスアーキテクチャ1100と通信するために複数のタイプの入力を提供できるようにすることができる。通信インターフェース1140は、一般に、ユーザ入力及びコンピューティングデバイス出力を制御及び管理することができる。特定のハードウェア構成での動作に制限はないため、ここでの基本機能は、開発された改良型ハードウェアまたはファームウェア構成に簡単に置き換えることができる。
【0167】
記憶デバイス1130は、不揮発性メモリであり、磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ(RAM)1125、読み出し専用メモリ(ROM)1120、及びそれらのハイブリッドなど、コンピュータによってアクセス可能なデータを格納できるハードディスクまたは他のタイプのコンピュータ可読媒体であり得る。記憶デバイス1130は、プロセッサ1110を制御するためのサービス1132、1134、1136を含むことができる。他のハードウェアまたはソフトウェアモジュールまたはエンジンも考慮される。記憶デバイス1130は、コンピューティングデバイス接続1105に接続することができる。一態様では、特定の機能を実行するハードウェアモジュールは、プロセッサ1110、接続1105、出力デバイス1135などのその機能を実行するために必要なハードウェアコンポーネントに関連してコンピュータ可読媒体に格納されたソフトウェアコンポーネントを含むことができる。
【0168】
「デバイス」という用語は、1つまたは特定の数の物理的オブジェクト(1つのスマートフォン、1つのコントローラ、1つの処理システムなど)に限定されない。本明細書で使用されるように、デバイスは、本開示の少なくとも一部を実装することができる1つ以上の部品を備えた任意の電子デバイスであってもよい。以下の説明及び例では、本開示の様々な態様を説明するために、「デバイス」という用語を使用するが、「デバイス」という用語は、オブジェクトの特定の構成、タイプ、または数に限定されない。さらに、「システム」という用語は、複数の構成要素または特定の態様に限定されない。例えば、システムは、1つ以上のプリント回路基板または他の基板に実装され、動的または静的な構成要素を有することができる。以下の説明及び例では、本開示の様々な態様を説明するために、「システム」という用語を使用するが、「システム」という用語は、オブジェクトの特定の構成、タイプ、または数に限定されない。
【0169】
上記の説明では、本明細書で提供される態様及び例の完全な理解を提供するために、特定の詳細が記載されている。しかしながら、これらの態様は、これらの特定の詳細がなくても実施できることが当業者には理解される。説明を明確にするために、いくつかの場合において、本技術は、ソフトウェア、またはハードウェアとソフトウェアの組み合わせで実現される方法におけるデバイス、デバイス構成要素、ステップまたはルーチンを含む機能ブロックを含む個々の機能ブロックを含むものとして提示され得る。図示及び/または本明細書に記載されているもの以外の追加の構成要素を使用することもできる。例えば、回路、システム、ネットワーク、プロセス、及び他の構成要素は、不必要な詳細で態様を不明瞭にすることを回避するために、ブロック図形式の構成要素として示される場合がある。他の例では、周知の回路、プロセス、アルゴリズム、構成、及び技術は、態様を不明瞭にすることを回避するために、不必要な詳細なしで示される場合がある。
【0170】
個々の態様は、フローチャート、フロー図、データフロー図、構造図、またはブロック図として示されるプロセスまたは方法として説明され得る。フローチャートでは、操作が順次プロセスとして記述されている場合があるが、操作の多くは並列または同時に実行することができる。さらに、操作の順序を再設定することもできる。プロセスは操作が完了すると終了するが、図には含まれていない追加のステップが含まれる場合がある。プロセスは、方法、関数、プロシージャ、サブルーチン、サブプログラムなどに対応することができる。プロセスが関数に対応する場合、その終了は、呼び出し関数またはメイン関数への関数の復帰に対応することができる。
【0171】
上記の例によるプロセス及び方法は、コンピュータ可読媒体に記憶されている、またはコンピュータ可読媒体から入手可能なコンピュータ実行可能命令を使用して実装することができる。このような命令は、例えば、汎用コンピュータ、専用コンピュータ、または処理デバイスに特定の機能または機能グループを実行させる、または別の方法で構成する命令及びデータを含むことができる。使用されるコンピュータリソースの一部は、ネットワーク経由でアクセスできる。コンピュータ実行可能命令は、例えば、バイナリ、アセンブリ言語などの中間フォーマット命令、ファームウェア、ソースコードなどであってもよい。
【0172】
「コンピュータ可読媒体」という用語は、可搬型または非可搬型記憶装置、光学記憶装置、ならびに命令及び/またはデータを格納、含有、または搬送することができる様々な他の媒体を含むが、これらに限定されない。コンピュータ可読媒体は、データを格納することができ、搬送波及び/または無線または有線接続を介して伝播する一時的な電子信号を含まない非一時的媒体を含むことができる。非一時的媒体の例としては、磁気ディスクまたはテープ、フラッシュメモリ、メモリまたはメモリデバイスなどの光記憶媒体、磁気ディスクまたは光ディスク、フラッシュメモリ、不揮発性メモリを備えたUSBデバイス、ネットワークストレージデバイス、コンパクトディスク(CD)またはデジタル多用途ディスク(DVD)、それらの任意の適切な組み合わせを含むことができるが、これらに限定されない。コンピュータ可読媒体には、プロシージャ、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、エンジン、ソフトウェアパッケージ、クラス、あるいは命令、データ構造、またはプログラムステートメントの任意の組み合わせを表すことができるコード及び/または機械実行可能命令を格納することができる。コードセグメンは、情報、データ、引数、パラメータ、またはメモリ内容をパス及び/または受信することによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む、任意の適切な手段を介してパス、フォワーディング、または送信され得る。
【0173】
いくつかの態様では、コンピュータ可読記憶装置、媒体、及びメモリは、ビットストリームなどを含むケーブルまたは無線信号を含むことができる。ただし、非一時的コンピュータ可読記憶媒体に言及する場合、エネルギー、搬送波信号、電磁波、及び信号自体などの媒体は明示的に除外される。
【0174】
これらの開示によるプロセス及び方法を実装するデバイスは、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組み合わせを含むことができ、様々フォームファクタのいずれかを採用することができる。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコードで実装される場合、必要なタスクを実行するためのプログラムコードまたはコードセグメント(例えば、コンピュータプログラム製品)は、コンピュータ可読媒体または機械可読媒体に記憶され得る。プロセッサは、必要なタスクを実行することができる。フォームファクタの典型的な例としては、ラップトップ、スマートフォン、携帯電話、タブレットデバイス、またはその他の小型フォームファクタのパーソナルコンピュータ、パーソナルデジタルアシスタント、ラックマウントデバイス、スタンドアロンデバイスなどを含む。本明細書で説明される機能は、周辺機器またはアドインカード内で実施することもできる。このような機能は、さらなる例として、単一のデバイスで実行される異なるチップまたは異なるプロセスの間の回路基板上に実装することもできる。
【0175】
命令、そのような命令を伝達するための媒体、それらを実行するためのコンピューティングリソース、及びそのようなコンピューティングリソースをサポートするための他の構造は、本開示で説明される機能を提供するための例示的な手段である。
【0176】
上記の説明において、本出願の態様は、その特定の態様を参照して説明したが、当業者であれば、本出願がそれに限定されないことを認識するであろう。従って、本出願の例示的な態様を本明細書で詳細に説明してきたが、本発明の概念は、別の方法で様々に具現化され、使用されてもよく、添付の特許請求の範囲は先行技術によって限定される場合を除いて、そのような変形形態を含むと解釈されることが意図されることを理解されたい。上述の出願の様々な特徴及び態様は、個別にまたは共に使用されてもよい。さらに、態様は、本明細書のより広い精神及び範囲から逸脱することなく、本明細書に記載されたものを超える任意の数の環境及び適用において利用することができる。従って、本明細書及び図面は、限定的なものではなく、例示的なものとみなされるべきである。例示の目的のために、方法は特定の順序で説明されている。代替の態様において、本方法は記載された順序とは異なる順序で実行されてもよいことを理解されたい。
【0177】
当業者であれば、本明細書で使用されるより少ない(「<」)及びより多い(「>」)の記号または用語は、本説明の範囲から逸脱することなく、それぞれ以下(「≦」)及び以上(「≧」)の記号に置き換えることができることを理解するであろう。
【0178】
構成要素が特定の動作を実行するように「構成される」と説明されている場合、このような構成は、例えば、この動作を実行するように電子回路または他のハードウェアを設計することにより、この動作を実行するようにプログラマブルな電子回路(例えば、マイクロプロセッサまたは他の適切な電子回路)をプログラムすることにより、又はこれらの任意の組み合わせにより、達成することができる。
【0179】
「結合される」という語句は、別の構成要素に直接的または間接的に物理的に接続される任意の構成要素、及び/または別の構成要素と直接的または間接的に通信する(例えば、有線または無線接続、及び/または他の適切な通信インターフェイスを介して別の構成要素に接続される)任意の構成要素を指す。
【0180】
セットのうちの「少なくとも1つ」及び/またはセットのうちの「1つ以上」を列挙するクレームの文言または他の文言は、セットの1つのメンバーまたはセットの複数のメンバーが(任意の組合せで)クレームを満たすことを示す。例えば、「A及びBのうちの少なくとも1つ」または「AまたはBのうちの少なくとも1つ」を列挙するクレームの文言は、A、B、またはA及びBを意味する。別の例では、「A、B、及びCのうちの少なくとも1つ」または「A、B、またはCのうちの少なくとも1つ」を列挙するクレームの文言は、A、B、C、またはA及びB、またはA及びC、またはB及びC、またはA及びB及びCを意味する。セットのうちの「少なくとも1つ」及び/またはセットのうちの「1つ以上」という文言は、セットをセットに記載されている項目に限定しない。例えば、「A及びBのうちの少なくとも1つ」または「AまたはBのうちの少なくとも1つ」を列挙するクレームの文言は、A、B、またはA及びBを意味することができ、A及びBのセットに記載されていない項目をさらに含むことができる。
【0181】
本明細書に開示される態様に関連して記載される様々な例示的な論理ブロック、モジュール、エンジン、回路、及びアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの組み合わせとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、エンジン、回路、及びステップを、その機能の観点から上記で一般的に説明されている。このような機能がハードウェアとして実装されるかソフトウェアとして実装されるかは、特定のアプリケーションとシステム全体に課せられる設計上の制約に依存する。当業者は、説明された機能を特定のアプリケーションごとに様々な方法で実装することができるが、そのような実装の決定は、本発明の範囲から逸脱するものとして解釈されるべきではない。
【0182】
本明細書に記載の技術は、電子ハードウェア、コンピュータソフトウェア、ファームウェア、またはそれらの任意の組み合わせで実装することもできる。このような技術は、汎用コンピュータ、無線通信装置ハンドセット、または無線通信装置ハンドセット及び他の装置における適用を含めて、複数の用途を有する集積回路装置などの様々な装置のいずれかに実装することができる。モジュールまたは構成要素として記載されている任意の特徴は、一体型の論理装置に一緒に、または別個ではあるが、相互運用可能な論理装置として別々に実装されてもよい。ソフトウェアに実装される場合、技術は、実行されると、上述した方法のうちの1つ以上を実行する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって少なくとも部分的に実現することができる。コンピュータ可読データ記憶媒体は、パッケージング材料を含むコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気的に消去可能なプログラマブル読み取り専用メモリ(EEPROM)、フラッシュメモリ、磁気または光学データ記憶媒体などのメモリまたはデータ記憶媒体を含むことができる。技術は、追加的に、または代替的に、命令またはデータ構造の形でプログラムコードを搬送または通信し、コンピュータによってアクセス、読み取り、及び/または実行できる、伝播信号または波のようなコンピュータ可読通信媒体によって少なくとも部分的に実現され得る。
【0183】
プログラムコードは、1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の同等の集積論理回路または離散論理回路のような1つ以上のプロセッサを含み得るプロセッサによって実行され得る。このようなプロセッサは、本開示で説明される技術のいずれかを実行するように構成され得る。汎用プロセッサはマイクロプロセッサであってもよいが、代替的には、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってもよい。プロセッサは、コンピューティングデバイスの組み合わせ、例えば、DSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPコアと連携した1つ以上のマイクロプロセッサ、または他の任意のそのような構成として実装されてもよい。従って、本明細書で使用される「プロセッサ」という用語は、前述の構造のいずれか、前述の構造の任意の組み合わせ、または本明細書で説明される技術の実装に適した他の任意の構造または装置を指し得る。