以下、本発明に係る好適な実施の形態を添付の図面を参照して詳しく説明する。添付の図面と共に以下に開示される詳細な説明は、本発明の例示的な実施の形態を説明するためのもので、本発明の唯一の実施の形態を示すためのものではない。
以下の詳細な説明は本発明の完全な理解を提供するために具体的な細部事項を含む。しかし、このような具体的な細部事項なしにも本発明が実施され得るということが当業者には理解される。場合によって、本発明の概念が曖昧になることを避けるために、公知の構造及び装置は省略されたり、各構造及び装置の核心機能を中心にしたブロック図の形式で図示されることもある。
上述したように、以下の説明は、無線LANシステムで広い帯域を持つチャネルを効率的に活用するための方法及びそのための装置のことである。このため、まず、本発明が適用される無線LANシステムについて具体的に説明する。
図1は、無線LANシステムの構成の一例を示す図である。
図1に示すように、無線LANシステムは、一つ以上の基本サービスセット(Basic Service Set;BSS)を含む。BSSは、成功的に同期を取って互いに通信できるステーション(Station;STA)の集合である。
STAは、媒体接続制御(Medium Access Control;MAC)と無線媒体に対する物理層(Physical Layer)インターフェースを含む論理個体であり、アクセスポイント(access point;AP)と非AP STA(Non−AP Station)を含む。STAのうち、ユーザの操作する携帯用端末はNon−AP STAであり、単にSTAというときは、Non−AP STAを指すこともある。Non−AP STAは、端末(terminal)、無線送受信ユニット(Wireless Transmit/Receive Unit;WTRU)、ユーザ装備(User Equipment;UE)、移動局(Mobile Station;MS)、携帯用端末(Mobile Terminal)、又は移動加入者ユニット(Mobile Subscriber Unit)などの他の名称としてもよい。
そして、APは自身に結合されたSTA(Associated Station)に無線媒体を介して分配システム(Distribution System;DS)への接続を提供する個体である。APは、集中制御機、基地局(Base Station;BS)、Node−B、BTS(Base Transceiver System)、又はサイト制御機などと呼ぶこともできる。
BSSは、インフラストラクチャー(infrastructure)BSSと、独立した(Independent)BSS(IBSS)とに区別することができる。
図1に示すBBSは、IBSSである。IBSSはAPを含まないBSSを意味し、APを含まないことから、DSへの接続が許容されず、自己完備的ネットワーク(self−contained network)をなす。
図2は、無線LANシステムの構成の他の例を示す図である。
図2に示すBSSは、インフラストラクチャーBSSである。インフラストラクチャーBSSは一つ以上のSTA及びAPを含む。インフラストラクチャーBSSにおいて非AP STA同士の通信はAPを経由してなされることが原則であるが、非AP STAの間に直接リンク(link)が設定された場合には、非AP STA同士で直接通信も可能である。
図2に示すように、複数のインフラストラクチャーBSSは、DSを介して相互接続することができる。DSを介して接続された複数のBSSを拡張サービスセット(Extended Service Set;ESS)という。ESSに含まれるSTAは互いに通信することができ、同じESS内で非AP STAはシームレスに通信しながら一つのBSSから他のBSSに移動することができる。
DSは、複数のAPを接続させるメカニズム(mechanism)であり、必ずしもネットワークである必要はなく、所定の分配サービスを提供可能なものであればその形態には何ら制限がない。例えば、DSは、メッシュ(mesh)ネットワークのような無線ネットワークであってもよく、APを互いに接続させる物理的な構造物であってもよい。
層構造
無線LANシステムにおいて動作するSTAの動作を層(layer)構造の観点で説明することができる。装置構成の側面において層構造は、プロセッサによって具現することができる。STAは複数個の層構造を有することができる。例えば、802.11標準文書で扱う層構造は、主に、DLL(Data Link Layer)上のMACサブ層(sublayer)及び物理(PHY)層である。PHYは、PLCP(Physical Layer Convergence Procedure)個体、PMD(Physical Medium Dependent)個体などを含むことができる。MACサブ層及びPHYはそれぞれ、MLME(MAC sublayer Management Entity)及びPLME((Physical Layer Management Entity)と呼ばれる管理個体を概念的に含む。これらの個体は、層管理機能が作動する層管理サービスインターフェースを提供する。
正確なMAC動作を提供するために、SME(Station Management Entity)が各STA内に存在する。SMEは、別の管理プレーン内に存在したり又は別個として離れている(off to the side)ように見えうる、層と独立した個体である。SMEの正確な機能は、本文では具体的に説明しないが、一般的には、様々な層管理個体(LME)から層−従属的な状態を収集し、層−特定パラメータの値を類似に設定するなどの機能を担当するものといえる。SMEは、一般に、このような機能を一般システム管理個体を代表して(on behalf of)行い、標準管理プロトコルを具現することができる。
前述した個体は様々な方式で相互作用する。例えば、個体同士はGET/SETプリミティブ(primitive)を交換(exchange)することによって相互作用することができる。プリミティブは、特定目的に関連した要素(element)やパラメータのセットを意味する。XX−GET.requestプリミティブは、与えられたMIB attribute(管理情報基盤属性情報)の値を要求するために用いられる。XX−GET.confirmプリミティブは、Statusが“成功”である場合には適切なMIB属性情報値をリターンし、そうでないと、Statusフィールドにおいてエラー指示をリターンするために用いられる。XX−SET.requestプリミティブは、指示されたMIB属性が与えられた値に設定されるように要求するために用いられる。上記MIB属性が特定動作を意味する場合、これは当該動作が行われることを要求するものである。そして、XX−SET.confirmプリミティブは、statusが“成功”である場合に指示されたMIB属性が、要求された値に設定されたと確認してくれ、そうでないと、statusフィールドにエラー条件をリターンするために用いられる。MIB属性が特定動作を意味する場合、これは当該動作が行われたと確認してくれる。
また、MLME及びSMEは、様々なMLME_GET/SETプリミティブをMLME_SAP(Service Access Point)を介して交換することができる。また、様々なPLME_GET/SETプリミティブが、PLME_SAPを介してPLMEとSMEとの間で交換されてもよく、MLME−PLME_SAPを介してMLMEとPLMEとの間で交換されてもよい。
リンクセットアップ過程
図3は、一般のリンクセットアップ(link setup)過程を説明するための図である。
STAがネットワークに対してリンクをセットアップし、データを送受信するためには、まず、ネットワークを発見(discovery)し、認証(authentication)を行い、連携(association)を確立(establish)し、保安(security)のための認証手順などを行わなければならない。リンクセットアップ過程をセッション開始過程、セッションセットアップ過程と呼ぶこともできる。また、リンクセットアップ過程における発見、認証、連携、保安設定の過程を総称して連携過程と呼ぶこともできる。
図3を参照して例示的なリンクセットアップ過程について説明する。
段階S510で、STAはネットワーク発見動作を行うことができる。ネットワーク発見動作はSTAのスキャニング(scanning)動作を含むことができる。すなわち、STAがネットワークにアクセスするためには、参加可能なネットワークを探さなければならない。STAは無線ネットワークに参加する前に互換可能なネットワークを識別しなければならないが、特定領域に存在するネットワーク識別過程をスキャニングという。
スキャニング方式には、能動的スキャニング(active scanning)と受動的スキャニング(passive scanning)がある。
図3では例示として能動的スキャニング過程を含むネットワーク発見動作を示す。能動的スキャニングにおいて、スキャニングを行うSTAはチャネルを移りながら周辺にどのAPが存在するかを探索するためにプローブ要請フレーム(probe request frame)を送信して、それに対する応答を待つ。応答者(responder)は、プローブ要請フレームを送信したSTAに、プローブ要請フレームに対する応答としてプローブ応答フレーム(probe response frame)を送信する。ここで、応答者は、スキャニングされているチャネルのBSSで最後にビーコンフレーム(beacon frame)を送信したSTAであってもよい。BSSでは、APがビーコンフレームを送信するため、APが応答者となり、IBSSでは、IBSS内のSTAが交互にビーコンフレームを送信するため、応答者が一定でない。例えば、1番チャネルでプローブ要請フレームを送信し、1番チャネルでプローブ応答フレームを受信したSTAは、受信したプローブ応答フレームに含まれたBSS関連情報を保存し、次のチャネル(例えば、2番チャネル)に移動して同一の方法でスキャニング(すなわち、2番チャネル上でプローブ要請/応答の送受信)を行うことができる。
図3には示していないが、スキャニング動作は受動的スキャニング方式で行われてもよい。受動的スキャニングにおいて、スキャニングを行うSTAはチャネルを移りながらビーコンフレームを待つ。ビーコンフレームは、IEEE 802.11において管理フレーム(management frame)の一つであり、無線ネットワークの存在を知らせ、スキャニングを行うSTAが無線ネットワークを探して無線ネットワークに参加できるように、周期的に送信される。BSSでAPがビーコンフレームを周期的に送信する役割を担い、IBSSではIBSS内のSTAが交互にビーコンフレームを送信する。スキャニングを行うSTAはビーコンフレームを受信すると、ビーコンフレームに含まれたBSSに関する情報を保存し、他のチャネルに移動しながら各チャネルでビーコンフレーム情報を記録する。ビーコンフレームを受信したSTAは、受信したビーコンフレームに含まれたBSS関連情報を保存し、次のチャネルに移動して同一の方法で次のチャネルでスキャニングを行うことができる。
能動的スキャニングと受動的スキャニングとを比較すれば、能動的スキャニングが受動的スキャニングに比べてディレー(delay)及び電力消耗が小さいという利点がある。
STAがネットワークを発見した後に、段階S520で認証過程を行うことができる。このような認証過程は、後述する段階S540の保安セットアップ動作と明確に区別するために、第1の認証(first authentication)過程と呼ぶことができる。
認証過程は、STAが認証要請フレーム(authentication request frame)をAPに送信し、これに応答してAPが認証応答フレーム(authentication response frame)をSTAに送信する過程を含む。認証要請/応答に用いられる認証フレーム(authentication frame)は管理フレームに該当する。
認証フレームは、認証アルゴリズム番号(authentication algorithm number)、認証トランザクションシーケンス番号(authentication transaction sequence number)、状態コード(status code)、検問テキスト(challenge text)、RSN(Robust Security Network)、有限循環グループ(Finite Cyclic Group)などに関する情報を含むことができる。これは、認証要請/応答フレームに含まれ得る情報の一例示に過ぎず、他の情報に置き換わったり、追加の情報がさらに含まれたりしてもよい。
STAは認証要請フレームをAPに送信することができる。APは、受信された認証要請フレームに含まれた情報に基づいて、当該STAに対する認証を許容するか否かを決定することができる。APは認証処理の結果を認証応答フレームを通じてSTAに提供することができる。
STAが成功的に認証された後に、段階S530で連携過程を行うことができる。連携過程は、STAが連携要請フレーム(association request frame)をAPに送信し、それに応答してAPが連携応答フレーム(association response frame)をSTAに送信する過程を含む。
例えば、連携要請フレームは、様々な能力(capability)に関する情報、ビーコン聴取間隔(listen interval)、SSID(service set identifier)、支援レート(supported rates)、支援チャネル(supported channels)、RSN、移動性ドメイン、支援オペレーティングクラス(supported operating classes)、TIM放送要請(Traffic Indication Map Broadcast request)、相互動作(interworking)サービス能力などに関する情報を含むことができる。
例えば、連携応答フレームは、様々な能力に関する情報、状態コード、AID(Association ID)、支援レート、EDCA(Enhanced Distributed Channel Access)パラメータセット、RCPI(Received Channel Power Indicator)、RSNI(Received Signal to Noise Indicator)、移動性ドメイン、タイムアウト間隔(連携カムバック時間(association comeback time))、重畳(overlapping)BSSスキャンパラメータ、TIM放送応答、QoSマップなどの情報を含むことができる。
これは連携要請/応答フレームに含まれ得る情報の一例に過ぎず、他の情報に置き換わったり、追加の情報がさらに含まれたりしてもよい。
STAがネットワークに成功的に連携された後に、段階S540で保安セットアップ過程を行うことができる。段階S540の保安セットアップ過程は、RSNA(Robust Security Network Association)要請/応答を通じた認証過程ということもでき、上記の段階S520の認証過程を第1の認証(first authentication)過程とし、段階S540の保安セットアップ過程を単純に認証過程と呼ぶこともできる。
段階S540の保安セットアップ過程は、例えば、EAPOL(Extensible Authentication Protocol over LAN)フレームを通じた4−ウェイ(way)ハンドシェーキングを通じて、プライベートキーセットアップ(private key setup)をする過程を含むことができる。また、保安セットアップ過程は、IEEE 802.11標準で定義しない保安方式によって行われてもよい。
媒体アクセスメカニズム
IEEE 802.11に基づく無線LANシステムにおいて、MAC(Medium Access Control)の基本アクセスメカニズムは、CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)メカニズムである。CSMA/CAメカニズムは、IEEE 802.11 MACの分配調整機能(Distributed Coordination Function、DCF)とも呼ばれるが、基本的に「listen before talk」アクセスメカニズムを採用している。このような類型のアクセスメカニズムによれば、AP及び/又はSTAは送信を開始するに先立ち、所定の時間区間(例えば、DIFS(DCF Inter−Frame Space)の間に無線チャネル又は媒体(medium)をセンシング(sensing)するCCA(Clear Channel Assessment)を行うことができる。センシングの結果、媒体が遊休状態(idle status)と判断されると、当該媒体を通じてフレーム送信を始める。一方、媒体が占有状態(occupied status)と感知されると、当該AP及び/又はSTAは自身の送信を開始せず、媒体アクセスのための遅延期間(例えば、任意バックオフ周期(random backoff period))を設定して待った後、フレーム送信を試みることができる。任意バックオフ周期の適用から、複数のSTAはそれぞれ異なった時間待った後にフレーム送信を試みることが期待されるため、衝突(collision)を最小化することができる。
また、IEEE 802.11 MACプロトコルはHCF(Hybrid Coordination Function)を提供する。HCFはDCFとPCF(Point Coordination Function)に基づく。PCFは、ポーリング(polling)ベースの同期式アクセス方式で、全ての受信AP及び/又はSTAがデータフレームを受信できるように周期的にポーリングする方式のことをいう。また、HCFは、EDCA(Enhanced Distributed Channel Access)とHCCA(HCF Controlled Channel Access)を有する。EDCAは、提供者が複数のユーザにデータフレームを提供するためのアクセス方式を競合ベースとするものであり、HCCAは、ポーリングメカニズムを用いた非競合ベースのチャネルアクセス方式を用いるものである。また、HCFは、WLANのQoS(Quality of Service)を向上させるための媒体アクセスメカニズムを含み、競合周期(Contention Period;CP)、非競合周期(Contention Free Period;CFP)のいずれにおいてもQoSデータを送信することができる。
図4は、バックオフ過程を説明するための図である。
図4を参照して任意バックオフ周期に基づく動作について説明する。占有(occupy又はbusy)状態だった媒体が遊休(idle)状態に変更されると、複数のSTAはデータ(又はフレーム)送信を試みることができる。この時、衝突を最小化するための方案として、STAはそれぞれ任意バックオフカウントを選択し、それに該当するスロット時間だけ待機した後、送信を試みることができる。任意バックオフカウントは、擬似−任意整数(pseudo−random integer)値を有し、0乃至CW範囲の値のいずれか一つに決定され得る。ここで、CWは、競合ウィンドウ(Contention Window)パラメータ値である。CWパラメータは初期値としてCWminが与えられるが、送信失敗の場合(例えば、送信されたフレームに対するACKを受信できなかった場合)に2倍の値を取ることができる。CWパラメータ値がCWmaxになると、データ送信に成功するまでCWmax値を維持しながらデータ送信を試みることができ、データ送信に成功する場合にはCWmin値にリセットされる。CW、CWmin及びCWmax値は2n−1(n=0,1,2,…)に設定されることが好ましい。
任意バックオフ過程が始まると、STAは、決定されたバックオフカウント値によってバックオフスロットをカウントダウンする間に続けて媒体をモニタする。媒体が占有状態とモニタされるとカウントダウンを止めて待機し、媒体が遊休状態になると残りのカウントダウンを再開する。
図4の例示で、STA3のMACに送信するパケットが到達した場合に、STA3はDIFSだけ媒体が遊休状態であることを確認し、直ちにフレームを送信することができる。一方、残りのSTAは、媒体が占有(busy)状態であることをモニタして待機する。その間にSTA1、STA2及びSTA5のそれぞれでも送信するデータが発生することがあり、それぞれのSTAは、媒体が遊休状態とモニタされると、DIFSだけ待機した後に、それぞれ選択した任意バックオフカウント値によってバックオフスロットのカウントダウンを行うことができる。図4の例示では、STA2が最も小さいバックオフカウント値を選択し、STA1が最も大きいバックオフカウント値を選択した場合を示す。すなわち、STA2がバックオフカウントを終えてフレーム送信を始める時点でSTA5の残余バックオフ時間はSTA1の残余バックオフ時間よりも短い場合を例示する。STA1及びSTA5は、STA2が媒体を占有する間に暫くカウントダウンを止めて待機する。STA2の占有が終了して媒体が再び遊休状態になると、STA1及びSTA5はDIFSだけ待機した後に、止めていたバックオフカウントを再開する。すなわち、残余バックオフ時間だけの余りのバックオフスロットをカウントダウンした後にフレーム送信を始めることができる。STA5の残余バックオフ時間がSTA1よりも短かったため、STA5がフレーム送信を始めるようになる。一方、STA2が媒体を占有する間にSTA4でも送信するデータが発生することがある。このとき、STA4の立場では、媒体が遊休状態になるとDIFSだけ待機した後、自身が選択した任意バックオフカウント値によるカウントダウンを行ってフレーム送信を始めることができる。図4の例示では、STA5の残余バックオフ時間がSTA4の任意バックオフカウント値と偶然に一致する場合を示し、この場合、STA4とSTA5間に衝突が発生することがある。衝突が発生する場合はSTA4、STA5両方ともACKを受けることができず、データ送信に失敗することになる。この場合、STA4とSTA5はCW値を2倍に増やした後に任意バックオフカウント値を選択してカウントダウンを行うことができる。一方、STA1は、STA4とSTA5の送信によって媒体が占有状態である間に待機しているが、媒体が遊休状態になると、DIFSだけ待機した後、残余バックオフ時間が経過するとフレーム送信を開始することができる。
STAのセンシング動作
前述したように、CSMA/CAメカニズムは、AP及び/又はSTAが媒体を直接センシングする物理的キャリアセンシング(physical carrier sensing)の他、仮想キャリアセンシング(virtual carrier sensing)も含む。仮想キャリアセンシングは、隠れノード問題(hidden node problem)などのように媒体アクセスで発生し得る問題を補完するために用いられる。仮想キャリアセンシングのために、無線LANシステムのMACはネットワーク割当ベクトル(Network Allocation Vector;NAV)を用いることができる。NAVは、現在媒体を利用していたり又は利用する権限のあるAP及び/又はSTAが、媒体を使用可能な状態になるまで残っている時間を、他のAP及び/又はSTAに指示(indicate)する値である。したがって、NAVに設定された値は、当該フレームを送信するAP及び/又はSTAによって媒体の利用が予定されている期間に該当し、NAV値を受信するSTAは、当該期間において媒体アクセス(又は、チャネルアクセス)が禁止(prohibit)又は延期(defer)される。NAVは、例えば、フレームのMACヘッダ(header)の「duration」フィールドの値によって設定されてもよい。
また、衝突可能性を低減するために堅牢な衝突検出(robust collision detect)メカニズムが導入された。これについて図5及び図6を参照して説明する。実際にキャリアセンシング範囲と送信範囲は同一でないこともあるが、説明の便宜のために両者は同一であると仮定する。
図5は、隠れノード及びさらしノードを説明するための図である。
図5(a)は、隠れノードに対する例示であり、STA AとSTA Bとが通信中にあり、STA Cが送信する情報を持っている場合である。具体的に、STA AがSTA Bに情報を送信している状況であるにもかかわらず、STA CがSTA Bにデータを送る前にキャリアセンシングを行う際、媒体が遊休状態にあると判断することがある。これは、STA Aの送信(すなわち、媒体占有)をSTA Cの位置ではセンシングできないこともあるためである。このような場合、STA BはSTA AとSTA Cの情報を同時に受け、衝突が発生することになる。このとき、STA AをSTA Cの隠れノードということができる。
図5(b)は、さらしノード(exposed node)に対する例示であり、STA BがSTA Aにデータを送信している状況で、STA CがSTA Dに送信する情報を持っている場合である。この場合、STA Cがキャリアセンシングを行うと、STA Bの送信によって媒体が占有された状態であると判断することができる。そのため、STA CがSTA Dに送信する情報を持っていても、媒体占有状態とセンシングされたため、媒体が遊休状態になるまで待たなければならない。しかし、実際にはSTA AはSTA Cの送信範囲外にあるため、STA Cからの送信とSTA Bからの送信とがSTA Aの立場では衝突しないこともあるため、STA Cは、STA Bが送信を止めるまで余計に待機することになる。このとき、STA CをSTA Bのさらしノードということができる。
図6は、RTSとCTSを説明するための図である。
図5のような例示的な状況で衝突回避(collision voidance)メカニズムを効率的に利用するために、RTS(request to send)とCTS(clear to send)などの短いシグナリングパケット(short signaling packet)を利用することができる。両STA間のRTS/CTSは周囲のSTAがオーバーヒヤリング(overhearing)できるようにし、この周囲のSTAが上記両STA間の情報送信の有無を考慮するようにすることができる。例えば、データを送信しようとするSTAがデータを受けるSTAにRTSフレームを送信すると、データを受けるSTAはCTSフレームを周囲のSTAに送信することによって、自身がデータを受けることを知らせることができる。
図6(a)は、隠れノード問題を解決する方法に関する例示であり、STA AとSTA CがいずれもSTA Bにデータを送信しようとする場合を仮定する。STA AがRTSをSTA Bに送ると、STA BはCTSを自身の周囲にあるSTA A及びSTA Cの両方に送信する。その結果、STA CはSTA AとSTA Bのデータ送信が終わるまで待機し、衝突を避けることができる。
図6(b)は、さらしノード問題を解決する方法に関する例示であり、STA AとSTA B間のRTS/CTS送信をSTA Cがオーバーヒヤリングすることによって、STA Cは自身が他のSTA(例えば、STA D)にデータを送信しても衝突が発生しないと判断することができる。すなわち、STA Bは周囲の全STAにRTSを送信し、実際に送るデータを持っているSTA AのみがCTSを送信するようになる。STA Cは、RTSのみを受信し、STA AのCTSは受信できなかったため、STA AがSTA Cのキャリアセンシング外にあるということがわかる。
電力管理
前述したように、無線LANシステムではSTAが送受信を行う前にチャネルセンシングを行わなければならないが、チャネルを常にセンシングすることは、STAの持続した電力消耗を引き起こす。受信状態における電力消耗は送信状態における電力消耗に比べて大きな差がなく、受信状態を維持し続けることも、電力の制限された(すなわち、バッテリーによって動作する)STAに大きい負担となる。したがって、STAが持続してチャネルをセンシングするために受信待機状態を維持すると、無線LAN処理率側面で特別な利点も無しに電力を非効率的に消耗することになる。このような問題点を解決するために、無線LANシステムではSTAの電力管理(power management;PM)モードを支援する。
STAの電力管理モードは、アクティブ(active)モードと省電力(power save;PS)モードとに区別される。STAは基本的にアクティブモードで動作する。アクティブモードで動作するSTAはアウェイク状態(awake state)を維持する。アウェイク状態は、フレーム送受信やチャネルスキャニングなどの正常な動作が可能な状態である。一方、PSモードで動作するSTAは、スリープ状態(sleep state)(又は、ドーズ(doze)状態)とアウェイク状態(awake state)に切り替え(switch)されながら動作する。スリープ状態で動作するSTAは最小限の電力で動作し、フレーム送受信はもとより、チャネルスキャニングも行わない。
STAがスリープ状態で長く動作するほど電力消耗が減るため、STAは動作期間が増加する。しかし、スリープ状態ではフレーム送受信ができず、無条件に長く動作することはできない。スリープ状態で動作するSTAがAPに送信するフレームが存在する場合、アウェイク状態に切り替わってフレームを送信することができる。一方、APがSTAに送信するフレームがある場合、スリープ状態のSTAはそれを受信することができず、受信するフレームが存在することにも気づくことができない。このため、STAは、自身に送信されるフレームの存在有無を確認するために(また、存在するなら、それを受信するために)特定周期でアウェイク状態に切り替わる動作が必要であろう。
APは一定の周期でビーコンフレーム(beacon frame)をBSS内のSTAに送信することができる。ビーコンフレームはTIM(Traffic Indication Map)情報要素(Information Element)が含むことができる。TIM情報要素は、APが自身に関連したSTAに対するバッファされたトラフィックが存在し、フレームを送信することを知らせる情報を含むことができる。TIM要素には、ユニキャスト(unicast)フレームを知らせるために用いられるTIMと、マルチキャスト(multicast)又はブロードキャスト(broadcast)フレームを知らせるために用いられるDTIM(delivery traffic indication map)とがある。
図7〜図9はTIMを受信したSTAの動作を詳細に説明するための図である。
図7を参照すると、STAはAPからTIMを含むビーコンフレームを受信するためにスリープ状態からアウェイク状態に切り替わり、受信したTIM要素を解釈して、自身に送信されるバッファされたトラフィックがあることに気付くことができる。STAは、PS−Pollフレーム伝送のための媒体アクセスのために他のSTAと競合(contending)を行った後に、APにデータフレーム伝送を要求するためにPS−Pollフレームを送信することができる。STAによって送信されたPS−Pollフレームを受信したAPは、STAにフレームを送信することができる。STAはデータフレームを受信し、それに対する確認応答(ACK)フレームをAPに送信することができる。その後、STAは再びスリープ状態に切り替わり得る。
図7に示すように、APはSTAからPS−Pollフレームを受信した後、所定の時間(例えば、SIFS(Short Inter−Frame Space))後にデータフレームを送信すると即座応答(immediate response)方式によって動作することができる。一方、APがPS−Pollフレームを受信した後に、STAに送信するデータフレームをSIFS時間で準備できかなった場合には、遅延された応答(deferred response)方式によって動作することができる。これについて図8を参照して説明する。
図8の例示で、STAがスリープ状態からアウェイク状態に切り替わってAPからTIMを受信し、競合を経てPS−PollフレームをAPに送信する動作は、図7の例示と同様である。APがPS−Pollフレームを受信したがSIFSにおいてデータフレームを準備できなかった場合、データフレームを送信する代わりにACKフレームをSTAに送信することができる。APはACKフレーム伝送後にデータフレームが準備されると、競合を行った後にデータフレームをSTAに送信することができる。STAはデータフレームの受信に成功したことを示すACKフレームをAPに送信し、スリープ状態に切り替わり得る。
図9は、APがDTIMを送信する例示に関する。STAはAPからDTIM要素を含むビーコンフレームを受信するためにスリープ状態からアウェイク状態に切り替わ得る。STAは、受信したDTIMから、マルチキャスト/ブロードキャストフレームが送信されることが分かる。APは、DTIMを含むビーコンフレームの伝送後にPS−Pollフレームの送受信動作無しで直ちにデータ(すなわち、マルチキャスト/ブロードキャストフレーム)を送信することができる。STAは、DTIMを含むビーコンフレームを受信した後に、続けてアウェイク状態を維持する中でデータを受信し、データ受信が完了した後に再びスリープ状態に切り替わり得る。
フレーム構造
図10は、IEEE 802.11システムにおいて用いられるフレーム構造の一例を説明するための図である。
PPDU(Physical Layer Protocol Data Unit)フレームフォーマットはSTF(Short Training Field)、LTF(Long Training Field)、SIG(SIGNAL)フィールド、及びデータ(Data)フィールドを含むことができる。最も基本的な(例えば、non−HT(High Throughput))PPDUフレームフォーマットは、L−STF(Legacy−STF)、L−LTF(Legacy−LTF)、SIGフィールド及びデータフィールドのみで構成することができる。
STFは、信号検出、AGC(Automatic Gain Control)、ダイバーシチ選択、精密な時間同期などのための信号であり、LTFは、チャネル推定、周波数誤差推定などのための信号である。STFとLTFを合わせてPLCPプリアンブル(preamble)と称することができ、PLCPプリアンブルはOFDM物理層の同期化及びチャネル推定のための信号といえる。
SIGフィールドはRATEフィールド及びLENGTHフィールドなどを含むことができる。RATEフィールドはデータの変調及びコーディングレートに関する情報を含むことができる。LENGTHフィールドはデータの長さに関する情報を含むことができる。さらに、SIGフィールドはパリティ(parity)ビット、SIG TAILビットなどを含むことができる。
データフィールドはSERVICEフィールド、PSDU(Physical layer Service Data Unit)、PPDU TAILビットを含むことができ、必要な場合にはパディングビットも含むこともできる。SERVICEフィールドの一部のビットは、受信端におけるデスクランブラの同期化のために用いることができる。PSDUは、MAC層で定義されるMPDU(MAC Protocol Data Unit)に対応し、上位層で生成/利用されるデータを含むことができる。PPDU TAILビットは、エンコーダを0状態にリターンするために用いることができる。パディングビットは、データフィールドの長さを所定の単位に合わせるために用いることができる。
MPDUは様々なMACフレームフォーマットによって定義され、基本的なMACフレームは、MACヘッダー、フレームボディー、及びFCS(Frame Check Sequence)で構成される。MACフレームはMPDUで構成され、PPDUフレームフォーマットのデータ部分のPSDUで送信/受信され得る。
MACヘッダーは、フレーム制御(Frame Control)フィールド、期間(Duration)/IDフィールド、アドレス(Address)フィールドなどを含む。フレーム制御フィールドはフレーム送信/受信に必要な制御情報を含むことができる。期間/IDフィールドは、当該フレームなどを送信するための時間に設定することができる。
MACヘッダーに含まれた期間/IDフィールドは16ビット長(例えば、B0〜B15)に設定され得る。期間/IDフィールドに含まれるコンテンツは、フレームタイプ及びサブタイプ、CFP(contention free period)において送信されるか否か、送信STAのQoSキャパビリティなどによって変わり得る。(i)サブタイプがPS−Pollである制御フレームにおいて、期間/IDフィールドは送信STAのAIDを含むことができ(例えば、14LSBビットで)、2MSBビットは1に設定され得る。(ii)PC(point coordinator)又はnon−QoS STAによってCFPで送信されるフレームにおいて、期間/IDフィールドは固定値(例えば、32768)に設定され得る。(iii)その他、non−QoS STAによって送信される他のフレーム又はQoS STAによって送信される制御フレームにおいて、期間/IDフィールドは各フレームタイプ別に定義されたduration値を含むことができる。QoS STAによって送信されるデータフレーム又はマネジメントフレームにおいて、期間/IDフィールドは各フレームタイプに対して定義されたduration値を含むことができる。例えば、期間/IDフィールドのB15=0に設定されると、期間/IDフィールドがTXOP Durationを示すために用いられることを示し、B0〜B14は、実際TXOP Durationを示すために用いることができる。B0〜B14によって示される実際TXOP Durationは、0〜32767のいずれか一つであり、その単位はマイクロセカンド(us)であってよい。ただし、期間/IDフィールドが固定のTXOP Duration値(例えば、32768)を示す場合には、B15=1であり、B0〜B14=0に設定され得る。その他、B14=1、B15=1に設定されると、期間/IDフィールドがAIDを示すために用いられ、B0〜B13は1〜2007のうちの一つのAIDを示す。MACヘッダーのSequence Control、QoS Control、HT Controlサブフィールドの具体的な内容は、IEEE 802.11標準文書を参照されたい。
MACヘッダーのフレーム制御フィールドはProtocol Version、Type、Subtype、To DS、From DS、More Fragment、Retry、Power Management、More Data、Protected Frame、Orderサブフィールドを含むことができる。フレーム制御フィールドの各サブフィールドの内容は、IEEE 802.11標準文書を参照されたい。
図11は、CF(contention free)−ENDフレームを例示する。
説明の便宜上、CF−ENDフレームがnon−DMG(directional multi−gigabit,11ad)STAによって送信されると仮定する。CF−ENDフレームはTXOP durationを切断(truncation)するために送信され得る。したがって、CF−ENDフレームで期間(duration)フィールドは0に設定される。RA(Receiver Address)フィールドはブロードキャストグループアドレスに設定され得る。BSSIDフィールドはAPに含まれたSTAのアドレスに設定され得る。ただし、VHT STAがVHT APに送信するnon−HT又はnon−HT duplicateフォーマットのCF−ENDフレームの場合、BSSIDフィールドのIndividual/Groupビットは1に設定され得る。
HE PPDU構造の例示
以下では、11axを支援する無線LANシステムにおけるHE PPDU(High Efficiency Physical layer Protocol Data Unit)フォーマットの一例について説明する。
図12にHE PPDUの一例を示す。図12を参照すると、HE−SIG A(又は、HE−SIG1)フィールドはL−Part(例えば、L−STF、L−LTF、L−SIG)に続いて位置し、L−Partと同様に20MHz単位で反復(duplication)される。HE−SIG AはSTAに対する共通制御情報(common control information)(例えば、BW、GI長、BSSインデックス、CRC、Tailなど)を含む。HE−SIG AフィールドはHE PPDUを解釈するための情報を含み、したがって、HE−SIG Aフィールドに含まれる情報は、HE PPDUのフォーマット(例えば、SU PPDU、MU PPDU又はトリガーベースのPPDUなど)によって変わり得る。例えば、HE SU PPDUフォーマットにおいて、HE−SIG Aフィールドは、DL/UL指示子、HE PPDUフォーマット指示子、BSS Color、TXOP Duration、BW(bandwidth)、MCS、CP+LTF長、コーディング情報、ストリーム数、STBC(例えば、STBC使用の有無)、送信ビームフォーミング(TxBF)情報、CRC及びTailのうち少なくとも一つを含むことができる。HE SU PPDUフォーマットの場合、HE−SIG Bフィールドが省略されてもよい。HE MU PPDUフォーマットにおいて、HE−SIG Aフィールドは、DL/UL指示子、BSS Color、TXOP Duration、BW(bandwidth)、SIG BフィールドのMCS情報、SIG Bフィールドのシンボル数、HE LTFシンボル数、全帯域MU−MIMO使用の有無を示す指示子、CP+LTF長、送信ビームフォーミング(TxBF)情報、CRC及びTailのうち少なくとも一つを含むことができる。HEトリガーベースのPPDUフォーマットにおいて、HE−SIG Aフィールドは、フォーマット指示子(例えば、SU PPDUか又はトリガーベースPPDUか)、BSS Color、TXOP Duration、BW、CRC及びTailのうち少なくとも一つを含むことができる。
図13にはHE PPDUの他の例を示す。図13を参照すると、HE−SIG Aは、上述した共通制御情報(common information)の他に、ユーザ割り当て情報(user allocation information)、例えば、PAID又はGIDなどのSTA識別子、割り当てられたリソース情報及びストリーム数(Nsts)のうち少なくとも一つが含まれてもよい。図13によれば、HE−SIG B(又は、HE−SIG2)はOFDMA割り当てごとに送信され得る。MU−MIMOである場合、HE−SIG BはSDMでSTAによって区別される。HE−SIG Bは追加のユーザ割り当て情報(user allocation information)、例えば、MCS、Coding情報、STBC(Space Time Block code)情報、送信ビームフォーミング(TXBF)情報などを含むことができる。
図14に、HE PPDUの更に他の例を示す。HE−SIG Bは、HE−SIG Aの次に送信される。HE−SIG Bは、HE−SIG Aの情報(numerology)に基づいて、全帯域(full band)を通じて送信され得る。HE−SIG Bはユーザ割り当て情報、例えば、STA AID、リソース割り当て情報(例えば、割り当てサイズ)、MCS、ストリーム数(Nsts)、Coding、STBC、送信ビームフォーミング(TXBF)などを含むことができる。
図15に、HE PPDUの更に他の例を示す。HE−SIG Bは、一定の単位チャネルごとに反復送信され得る。図15を参照すると、HE−SIG Bは20MHz単位で反復送信され得る。例えば、80MHz帯域幅上で20MHz当たりに同一情報が複写されることによってHE−SIG Bが送信され得る。
20MHzチャネル当たりに反復送信されるHE−SIGBを受信したSTA/APは、20MHzチャネル当たりに受信したHE−SIG Bを累積(accumulation)してHE−SIG B受信に対する信頼性(reliability)を向上させることができる。
チャネル当たりに同一信号(例えば、HE−SIG B)が反復送信されるので、累積された信号の利得は、信号が反復送信されるチャネルの個数に比例して受信性能が向上し得る。理想的には、反復送信される前の信号に比べて、反復送信される信号は3dB Xチャネル数(number of channel)の利得を有することができる。したがって、反復送信されるHE−SIG Bは、反復送信されるチャネルの数に従ってMCSレベルを高めて送信され得る。例えば、反復伝送がない時にHE−SIG BにMCS 0が用いられると仮定すれば、40MHzで反復送信されるHE−SIG BにはMCS1が用いられ得る。反復伝送のためのチャネルの個数が増加するほど、より高いMCSレベルでHE−SIG Bが送信され得るため、単位チャネル当たりのHE−SIG Bのオーバーヘッドを減らすことができる。
図16にHE PPDUの更に他の例を示す。図16を参照すると、HE−SIG Bは、20MHzチャネル単位ごとに独立した情報を含むことができる。HE−SIG Bは、レガシーパート(例えば、L−STF、L−LTF、L−SIG)及びHE−SIG Aと同様に1xシンボル構造で送信され得る。一方、広帯域幅(wide bandwidth)において、“L−STF+L−LTF+L−SIG+HE−SIGA+HE−SIGB”の長さは全チャネルにおいて同一でなければならない。20MHz当たりに送信されるHE−SIG Bは、当該帯域に対する割り当て情報、例えば、当該帯域を利用するユーザ別割り当て情報、ユーザ識別子などを含むことができる。しかし、各帯域別に支援されるユーザ数と各帯域で利用されるリソースブロックの構成が異なることから、HE−SIG Bの情報が帯域別に異なり得る。したがって、HE−SIG Bの長さはチャネル別に異なり得る。
図17では、HE−STF以前の長さ(例えば、HE−SIG Bまでの長さ)をチャネル別に同一に構成するために、HE−SIG Bに対するパディング方案を説明する。例えば、パディング長(padding length)の分だけHE−SIG Bを反復させてHE−SIG Bの長さを整列することができる。図18に示すように、HE−SIG Bの先頭(又は、末尾)から必要なパディング長だけのHE−SIG BがHE−SIG Bにパッドされ得る。
一実施例によれば、帯域幅が20MHzより大きくない場合、1つのHE−SIG Bフィールドが送信され得る。帯域幅が20MHzより大きい場合、20MHzサイズのチャネルは、それぞれ、第1タイプHE−SIG B(以下、HE−SIG B [1])又は第2タイプHE−SIG B(以下、HE−SIG B [2])のいずれか一つを送信することができる。例えば、HE−SIG B [1]とHE−SIG B [2]が交互に送信され得る。奇数番目の20MHzチャネルはHE−SIG B [1]を送信し、偶数番目の20MHzチャネルはHE−SIG B [2]を送信することができる。より具体的に、40MHz帯域幅の場合、HE−SIG B [1]が1番目の20MHzチャネル上で送信され、HE−SIG B [2]が2番目の20MHzチャネル上で送信される。80MHz帯域幅の場合、HE−SIG B [1]が1番の20MHzチャネル上で送信され、HE−SIG B [2]が2番目の20MHzチャネル上で送信され、同じHE−SIG B [1]が3番目の20MHzチャネル上で反復送信され、同じHE−SIG B [2]が4番目の20MHzチャネル上で反復送信される。160MHz帯域幅でもこれと類似に送信される。
このように、HE−SIG Bは帯域幅のサイズが増加するに従って反復送信され得るが、反復送信されるHE−SIG Bは、自身と同じタイプのHE−SIG Bが送信された20MHzチャネルから20MHzサイズだけ周波数跳躍して送信され得る。
一方、HE−SIG B [1]とHE−SIG B [2]のコンテンツはそれぞれ異なり得る。ただし、HE−SIG−B [1]は全て同じコンテンツを有する。同様に、HE−SIG B [2]は全て同じコンテンツを有する。
一実施例によれば、HE−SIG B [1]は奇数番20MHzチャネルに対するリソース割り当て情報のみを含み、HE−SIG B [2]は偶数番20MHzチャネルに対するリソース割り当て情報のみを含むように設定され得る。本発明の他の実施例によれば、HE−SIG B [1]が偶数20MHzチャネルうちの一部に対するリソース割り当て情報を含んだり、HE−SIG B [2]が奇数20MHzチャネルうちの一部に対するリソース割り当て情報を含むことができる。
HE−SIG Bは共通フィールド(Common field)及びユーザ特定フィールド(User specific field)を含むことができる。共通フィールドはユーザ特定フィールドに先行し得る。共通フィールドとユーザ特定フィールドはOFDMシンボル単位ではなくビット単位で区別され得る。
HE−SIG Bの共通フィールドは、当該帯域幅でPPDUを受信するように指定された全てのSTAに関する情報を含む。共通フィールドはRU(resource unit)割り当て情報を含むことができる。HE−SIG B [1]同士はいずれもコンテンツが同一であり、同様にHE−SIG B [2]同士はいずれもコンテンツが同一である。例えば、80MHzを構成する4個の20MHzチャネルを[LL,LR,RL,RR]と区分するとき、HE−SIG B [1]の共通フィールドにLL及びRLに対する共通ブロックが含まれ、HE−SIG B [2]の共通フィールドにLR及びRRに対する共通ブロックが含まれ得る。
HE−SIG Bのユーザ特定フィールドは多数のユーザフィールド(user field)を含むことができ、各ユーザフィールドはPPDUを受信するように指定された個別STAに特定的な情報を含むことができる。例えば、ユーザフィールドは、ステーションID、STA別MCS、ストリーム数(Nsts)、Coding(例えば、LDPC使用に対する指示)、DCM指示子及び送信ビームフォーミング情報のうちの一つを含むことができ、これに限定されない。
UL MUの伝送
図19は、本発明の一実施例に係る上りリンク多重ユーザ伝送状況を説明するための図である。
上述したように、802.11axシステムではUL MU伝送方式を用いることができ、これは、図19に示すように、APが複数のSTA(例えば、STA1〜STA4)にトリガーフレーム(Trigger Frame)を送信することによって開始できる。トリガーフレームはUL MU割り当て情報を含むことができる。UL MU割り当て情報は、例えば、リソース位置及びサイズ、STA ID又は受信STAアドレス、MCS及びMUタイプ(MIMO、OFDMAなど)のうち少なくとも一つを含むことができる。具体的に、トリガーフレームは、(i)UL MUフレームに対する持続時間(duration)、(ii)割り当ての数(N)、及び(iii)各割り当ての情報のうち少なくとも一つを含むことができる。各割り当ての情報はユーザ別情報(Per user Info)を含むことができる。各割り当ての情報は、例えば、AID(MUの場合、STA数だけさらに含まれる。)、電力調節(Power adjustment)、リソース(又は、トーン)割り当て情報(例えば、ビットマップ)、MCS、ストリーム数(Nsts)、STBC、コーディング、送信ビームフォーミングに関する情報のうち少なくとも一つを含むことができる。
一方、図19に示すように、APは媒体に接続するために競合過程を経てトリガーフレームを送信するTXOPを取得することができる。これに対応してSTAは、トリガーフレームのSIFS後に、APが示しているフォーマットでULデータフレームを送信することができる。これに対応して本発明の実施例に係るAPは、BA(Block ACK)フレームでUL MUデータフレームに対して確認応答を行うことを仮定する。
図20に、一実施例に係るトリガーフレームフォーマットを示す。
図20を参照すると、トリガーフレームは、フレーム制御(frame control)フィールド、長さ(duration)フィールド、RA(recipient STA address)フィールド、TA(transmitting STA address)フィールド、共通情報(common information)フィールド、1つ又は2つ以上の個別ユーザ情報(Per User Info)フィールド及びFCS(Frame Check Sum)のうち少なくとも一つを含むことができる。RAフィールドは、受信STAのアドレス又はIDを示し、実施例によって省略されてもよい。TAフィールドは、送信STAのアドレスを示す。
共通情報フィールドは、長さ(length)サブフィールド、カスケード指示子(Cascade Indication)、HE−SIG A情報サブフィールド、CP/LTFタイプサブフィールド、トリガータイプサブフィールド及びトリガー−依存共通情報(trigger−dependent Common Info)サブフィールドのうち少なくとも一つを含むことができる。長さサブフィールドは、UL MU PPDUのL−SIG長を示す。カスケード指示子は、現在トリガーフレームに続いてトリガーフレームの伝送があるか否かを示す。HE−SIG A情報サブフィールドは、UL MU PPDUのHE−SIG Aに含まれるコンテンツを示す。CP/LTFタイプサブフィールドは、UL MU PPDUに含まれるCP及びHE LTFタイプを示す。トリガータイプサブフィールドは、トリガーフレームのタイプを示す。トリガーフレームは、当該タイプ特定の共通情報及びタイプ特定の個別ユーザ情報(Per User Info)を含むことができる。トリガータイプは、例えば、ベーシックトリガータイプ(例えば、タイプ0)、ビームフォーミング報告ボールトリガー(Beamforming Report Poll Trigger)タイプ(例えば、タイプ1)、MU−BAR(Multi−user Block Ack Request)タイプ(例えば、タイプ2)又はMU−RTS(multi−user ready to send)タイプ(例えば、タイプ3)のいずれか一つに設定され得、これに限定されない。トリガータイプがMU−BARである場合、トリガー依存共通情報サブフィールドはGCR(Groupcast with Retries)指示子及びGCRアドレスを含むことができる。
個別ユーザ情報フィールド(Per User Info field)は、ユーザ識別子サブフィールド、RU(resource unit)割り当てサブフィールド、コーディングタイプサブフィールド、MCSフィールド、DCM(dual sub−carrier modulation)サブフィールド、SS(spatial stream)割り当てサブフィールド及びトリガー依存個別ユーザ情報(Trigger dependent Per User Info)サブフィールドのうち少なくとも一つを含むことができる。ユーザ識別子サブフィールドは、UL MU PPDUのMPDUを送信するために当該リソースユニット(resource unit)を使用するSTAのAIDを示す。RU割り当てサブフィールドは、該当のSTAがUL MU PPDUを送信するためのリソースユニットを示す。コーディングタイプサブフィールドは、該当のSTAが送信するUL MU PPDUのコーディングタイプを示す。MCSサブフィールドは、該当のSTAが送信するUL MU PPDUのMCSを示す。DCMサブフィールドは、該当のSTAが送信するUL MU PPDUの二重キャリア変調に関する情報を示す。SS割り当てサブフィールドは、該当のSTAが送信するUL MU PPDUの空間ストリーム(spatial streams)に関する情報を示す。トリガータイプがMU−BARである場合、トリガー依存個別ユーザ情報サブフィールドはBAR制御及びBAR情報を含むことができる。
NAV(network allocation vector)
NAVは、送信STA(例えば、TXOP holder)のTXOPを保護するための一種のタイマーと理解され得る。STAは、自身に設定されたNAVが有効な期間ではチャネルアクセスを行わず、他のSTAのTXOPを保護することができる。
現在non−DMG STAの場合、1つのNAVを支援する。有効な(valid)フレームを受信したSTAは、PSDUのdurationフィールド(例えば、MACヘッダーのdurationフィールド)でNAVをアップデートすることができる。ただし、受信したフレームのRAフィールドが当該STAのMACアドレスと一致する場合、STAはNAVをアップデートしない。受信したフレームのdurationフィールドが示すdurationが、STAの現在NAV値より大きいと、STAは、受信したフレームのdurationでNAVをアップデートする。
図21に、NAV設定(setting)の一例を示す。
図21を参照すると、Source STAはRTSフレームを送信し、Destination STAはCTSフレームを送信する。上述したように、RTSフレームによって受信者として指定されたdestination STAはNAVを設定しない。他のSTAの一部はRTSフレームを受信してNAVを設定し、他の一部はCTSフレームを受信してNAVを設定することができる。
RTSフレームを受信した時点(例えば、MACがRTSフレームに対応するPHY−RXEND.indication primitiveを受信した時点)から一定期間内にCTSフレーム(例えば、PHY−RXSTART.indication primitive)を受信しないと、RTSフレームを用いてNAVを設定又はアップデートしたSTAはNAVをリセット(例えば、0)することができる。一定期間は、(2*aSIFSTime+CTS_Time+aRxPHYStartDelay+2*aSlotTime)であってよい。CTS_Timeは、RTSフレームが示すCTSフレームの長さ及びデータレートに基づいて計算することができる。
図21では便宜のためにRTSフレーム又はCTSフレームを用いてNAVを設定又はアップデートすることを例示したが、NAV設定/再設定/アップデートは他の様々なフレーム、例えば、non−HT PPDU、HT PPDU、VHT PPDU又はHE PPDUのdurationフィールド(例えば、MACフレームのMACヘッダー内のdurationフィールド)に基づいて行われてもよい。例えば、受信したMACフレームにおいてRAフィールドが自身のアドレス(例えば、MACアドレス)と一致しないと、STAはNAVを設定/再設定/アップデートすることができる。
TXOP(Transmission Opportunity)切断(Truncation)
図22にTXOP truncationの一例を示す。
TXOP holder STAは、CF−ENDフレームを送信することによってTXOPを切断(truncation)することができる。CF−ENDフレーム又はCF−END+CF−ACKフレームを受信したSTAは、NAVをリセット(例えば、0)することができる。
EDCAによってチャネルアクセスを取得したSTAが自身の送信キュー(queue)を空けた場合、CF−ENDフレームを送信することができる。STAはCF−ENDフレームを送信して自身のTXOP完了を明示的に示すことができる。CF−ENDフレームはTXOP holderが送信することができる。TXOP holderでないnon−AP STAは、CF−ENDフレームを送信することができない。CF−ENDフレームを受信したSTAは、CF−ENDフレームが含まれたPPDUの終了時点でNAVをリセットする。
図22を参照すると、EDCAで媒体にアクセスしたSTAは、NAV設定のためのシーケンス(例えば、RTS/CTSなど)を送信する。
SIFS後に、TXOP holder(又は、TXOP initiator)とTXOP responderはPPDUを送受信する(例えば、initiator sequence)。TXOP holderはTXOP限度内でそれ以上送信できるデータがない場合、CF−ENDフレームを送信することによってTXOPを切断(truncate)する。
CF−ENDフレームを受信したSTAは自身のNAVをリセットし、それ以上の遅延無しで媒体アクセスのための競合(contending)を始めることができる。
上述したように、現在無線LANシステムにおいてTXOP durationはMACヘッダーのDurationフィールドで設定される。すなわち、TXOP holder(例えば、Tx STA)とTXOP Responder(例えば、Rx STA)は、それらが互いに送受信するフレームのDurationフィールドに、フレームの送受信に必要な全TXOP情報を含めて送信する。TXOP holderやTXOP Responderでない第3のSTA(すなわち、Third party STAs)は、TXOP holderとTXOP Responderとの間に交換されるフレームのDurationフィールドを確認し、NAVを設定/アップデートすることによってNAV期間までチャネル使用を延期する。
HE PPDUを支援する11axシステムにおいて、UL MU PPDUがHE−SIG Bを含まないと、第3のSTAはUL MU PPDUを受信しても、UL MU PPDUに含まれたMPDUをデコードすることができない。第3のSTAがMPDUをデコードできないと、第3のSTAがMPDUのMACヘッダーに含まれたTXOP Duration情報(例えば、Durationフィールド)を取得できない。このため、NAV設定/アップデートを正しく行い難いという問題点がある。
HE−SIG Bを含むHE PPDUフレームが受信されても、HE−SIG B構造が各STAに個別にコードされ、STAが自身に割り当てられたHE−SIG Bコンテンツだけを読めるようにHE−SIG B構造が設計される場合、第3のSTAは、他のSTAが送受信するMACフレーム(例えば、HE PPDUにおける他のSTAのMPDU)をデコードすることができない。このため、この場合にも第3のSTAはTXOP情報を取得できないという問題点がある。
● HE−SIG Aを用いたTXOP Durationの指示
このような問題点を解決するために、STAがTXOP duration情報をHE−SIG Aに含めて送信する方法を提案する。上述したように、MACヘッダーのdurationフィールドのうち15ビット(例えば、B0〜14)がduration情報を示し、最大で約32.7ms(0〜32767us)を示すことができる。MACヘッダーのdurationフィールドに含まれた15ビットのduration情報をそのままHE−SIG Aに含めて送信する場合、11ax third party STAが正しくNAV設定/アップデートをすることはできるが、HE−SIG Aのシグナリングオーバーヘッドが過度に増加するという問題点がある。MAC層においてペイロード伝送のためのMPDU内で15ビットは相対的に小さいサイズといえるが、物理層で共通制御情報伝送のためのHE−SIG Aはコンパクトに設計されたフィールドであることから、HE−SIG A内で15ビットの増加は相対的に大きいシグナリングオーバーヘッドに該当する。
したがって、本発明の一実施例では、HE−SIG Aのオーバーヘッドを最小化するTXOP durationの効率的な指示方法を提案する。また、HE−SIG A内に新しく定義されたTXOP durationに基づくフレーム送受信動作が提案される。以下、MACヘッダーに含まれたdurationフィールドは、便宜上、MAC durationと呼ぶことができる。
以下の実施例においてTXOP duration情報はHE SIG Aに含まれて送信されると仮定するが、本発明の権利範囲はこれに限定されず、他の部分(例えば、L−SIG、HE−SIG B、HE−SIG C、…、A−MPDUやMPDUの部分)で送信されてもよい。例えば、HE−SIG BでTXOP durationが送信される場合、HE−SIG Bの共通情報(例えば、common part)又はHE−SIG Bにおいて先頭(又は、末尾)部分に送信されるSIG B contents part(例えば、Per user Info)で送信されてもよい。
以下、HE SIGフィールドにおいてTXOP durationの構造及びこれを指示する実施例について説明する。第3のSTAのNAVに設定された値は、TXOP holder/Responderに対するTXOP Durationと解釈することができる。例えば、Durationフィールド値はTXOP holder/Responderの観点ではフレーム送受信のためのTXOPであるが、第3のSTAの観点ではNAV値を意味する。したがって、第3のSTAがNAVを設定/アップデートする動作は、TXOP holder/Responderに対するTXOP分だけNAVを設定することであるから、第3のSTAがNAVを設定/アップデートする動作は、便宜上、TXOPを設定/アップデートする動作と呼ぶこともできる。また、TXOP Durationという言葉を、簡略にDurationと呼んだり、又はTXOPと呼ぶこともできる。TXOP Durationは、場合によって、フレーム内でフィールド(例えば、HE−SIG A内のTXOP Durationフィールド)を示すために用いられたり、又は実際TXOP Duration値を示すために用いられてもよい。
後述する実施例に割り当てられたインデックスは説明の便宜のためのものであって、個別のインデックスを有する実施例を組み合わせて一つの発明を実施してもよく、それぞれを別個の発明として実施してもよい。
TXOP durationの実施例1
TXOP durationは2N−1(又は、2N)に設定され得る。便宜上、TXOP durationが2N−1に設定されたと仮定する。N値がHE−SIG AのTXOP durationフィールドで送信され得る。
例えば、Nが4ビットサイズである場合、Nは0〜15の値を有する。したがって、4ビットサイズのNで示されるTXOP durationは、0〜32767usの値を有することができる。これと違い、TXOP durationが最大で5msを示すように設定される場合、N=0〜13の値のみがTXOP durationを示すために用いられ、N=14及び15は他の目的で用いられてもよい。
本実施例は、X*2Y−1方式でTXOP durationを示す方法の一例示(例えば、X=1の場合)であり、X及び/又はYは様々に変更されてもよい。また、X及びY値をHE−SIG Aフィールドで送信することができる。
TXOP durationの実施例2
本発明の一実施例によれば、TXOP durationはXY−1(又は、XY)に設定されてもよい。便宜上、XY−1に設定されたと仮定する。STAはXとY値をTXOP durationフィールド(例えば、HE−SIG A内)で送信することができる。
HE−SIG Aで送信されるTXOP durationフィールドが総Kビットだと仮定すれば、Kビットのうちのnビット(例えば、前のnビット)はXの値を示し、mビット(例えば、後のmビット)はYの値を示すことができる。nビットはMSB nビット又はLSB mビットであってよく、mビットはLSB mビット又はMSB mビットであってよい。K、m、n値は様々に設定され得る。
(i)一例として、K=6、n=3、m=3と仮定する。X∈{2〜9}の整数であり、Y∈{0〜7}の整数であってもよい。この場合、TXOP duration値は0〜4782968usを有し得る。
(ii)他の例として、K=5、n=2、m=3と仮定する。X∈{2〜5}の整数であり、Y∈{0〜7}の整数であってもよい。この場合、TXOP duration値は0〜78124usを有し得る。これと違い、X∈{2,3,5,6}のうち一つの整数であり、Y∈{0〜7}の整数であれば、TXOP duration値は0〜78124usを有し得る。
(iii)更に他の例として、K=4、n=1、m=3と仮定する。X∈{2,3}(又は、X∈{5,6})のうち一つの整数であり、Y∈{0〜7}の整数であってもよい。TXOP duration値は0〜279963usを有し得る。
仮に、TXOP durationフィールド(例えば、HE−SIG A内)で最大P ms(例えば、5ms)まで指示しようとする場合、XY−1≧P ms(例えば、5ms)を満たす(X,Y)組み合わせの中でXY−1が最小となる(X,Y)組み合わせが最大TXOP duration値を指示するために用いられ、残りの(X,Y)組み合わせは用いられなくてもよい。
本実施例はZ*XY−1方式でTXOP durationを示す方法の一例示であり、X,Y及び/又はZは様々に変更されてもよい。
TXOP durationの実施例3
本発明の一実施例によれば、TXOP durationはX*2Y−1(又は、X*2Y)に設定されてもよい。XとY値がTXOP durationフィールドで送信され得る。
HE−SIG Aで送信されるTXOP durationフィールドを総Kビットと仮定すれば、Kビットのうち、nビット(例えば、前のnビット)はXの値を示し、mビット(例えば、後のmビット)はYの値を示すことができる。nビットはMSB nビット又はLSB mビットであってよく、mビットはLSB mビット又はMSB mビットであってよい。K、m、n値は様々に設定され得る。
例えば、K=6、n=3、m=3と仮定する。X∈{1,5,10,20,30,40,50,60}であり、Y∈{0〜7}であってよい。この場合、TXOP duration値は0〜7680usを有するだろう。
仮に、TXOP durationフィールド(例えば、HE−SIG A内)で最大P ms(例えば、5ms)まで指示しようとする場合、X*2Y−1≧P ms(例えば、5ms)を満たす(X,Y)組み合わせのうち、X*2Y−1が最小となる(X,Y)組み合わせが最大TXOP durationを示すために用いられ、残りの(X,Y)組み合わせは用いられなくてもよい。
本実施例は、X*ZY−1方式でTXOP durationを示す方法の一例示であり、X、Y及び/又はZは様々に変更されてもよい。
TXOP durationの実施例4
一実施例によれば、TXOP Durationは、1マイクロセカンド(us)の代わりに他の単位(例えば、より大きい単位又はシンボル単位)に設定されてもよい。例えば、4us、8us、10us、16us、32us、50us、64us、100us、128us、256us、500us、512us、1024us、…などのように、より大きい単位が用いられてもよい。この場合、TXOP durationの値はunit(例えば、64us)*value of TXOP duration fieldと決定されるはずである。例えば、32us単位のとき、TXOP Duration(1)=32us、TXOP Duration(2)=64us、TXOP Duration(3)=96us、…になり得る。
一方、TXOP Durationは8msまで最大値を有することが好ましい。したがって、単一単位(unit)が用いられるとき、次のようなTXOP Duration fieldオプションを考慮することができる。
− オプション1:32us unitが用いられ、8ビットサイズのTXOP Durationフィールドが定義される。このとき、最大(maximum)TXOP duration値は8192usであってもよい。
− オプション2:64us unitが用いられ、7ビットサイズのTXOP Durationフィールドが定義される。このとき、maximum TXOP duration値は8192usであってもよい。
TXOPフィールドのサイズが8ビットよりも少し大きく設定される場合(例えば、9〜11ビット)、次のようなTXOP Durationフィールド構造が用いられてもよい。
−オプションA−1:16us unit、〜32ms、11ビット
−オプションA−2:16us unit、〜16ms、10ビット
−オプションA−3:16us unit、〜8ms、9ビット
−オプションB−1:32us unit、〜32ms、10ビット
−オプションB−2:32us unit、〜16ms、9ビット
−オプションC−1:64us unit、〜16ms、9ビット
また、一つ以上の単位(unit)の組み合わせ(例えば、(16us,512us)又は(8us,128us)、など)を用いることができる。又は、usの代わりに1x symbol又は4x symbol単位が用いられたり、又はN*1x symbol、N*4x symbol単位(Nは自然数)で表示されてもよい。
表1は、4x symbol単位で示されるTXOP Durationを例示する。
上述した実施例1/2/3のうちの一つと実施例4との組み合わせでTXOP durationが示されてもよい。
TXOP durationの実施例5
一実施例によれば、TXOP Durationフィールドは事前に定義された値を有し得る。例えば、TXOP durationフィールドに設定される値(例えば、TXOP durationインデックス)と実際TXOP duration値とをマップするテーブルが事前に定義されてもよい。表2は、TXOP durationインデックスを例示する。
一実施例によれば、TXOP Durationの一部の範囲は第1関数形態で表現され、他の範囲は第2関数形態で表現/構成され得る。例えば、特定値まではTXOP Durationが指数(exponential)関数の形態で増加し、特定値の次からは一様分布(uniform distribution)関数の形態で増加するように設定され得る。
表3は、TXOP Durationフィールドが4ビットに設定された場合を例示する。表3を参照すると、32us〜512us(又は、1024us)まではTXOP Durationが指数的に増加し、512us(1024us)からは512us(約0.5ms)ずつ増加する。
表4は、TXOP Durationフィールドが5ビットに設定された場合を例示する。表4を参照すると、32us〜256us(又は、512us)まではTXOP Durationが指数的に増加し、256us(512us)からは256us(約0.25ms)ずつ増加する。
TXOP durationの実施例6
一実施例によれば、TXOP DurationはXビットのサイズのscaling factorとYビットサイズのduration値によって設定されてもよい。例えば、TXOP duration値はScaling factor(Xビット)*Duration(Yビット)に基づいて設定されてもよい。具体的に、TXOP duration=Scaling factor(Xビット)*Duration(Yビット)であってもよい。又は、TXOP duration=Scaling factor(Xビット)*Duration(Yビット)+aであり、aは所定の定数であってよい(例えば、a=1)。
TXOP durationフィールドのサイズはX+Yビットに設定され得る。
例えば、Duration値の単位はscaling factorによって1us、4us、16usのうちの一つに設定され得る。Yビットの長さは様々に設定されてもよい。
Xビットのscaling factorインデックス0は実際scaling factor=0を示すことができる。表5のCase A及びCase Bはそれぞれ2ビットサイズのScaling factorの一例を示す。
表6は3ビットサイズのScaling factorの一例を表す。
一方、Duration値は2Y形態で表現されてもよい。
TXOP durationの実施例7
一実施例によれば、TXOP Durationは、Xビットのサイズのscaling factor、Yビットサイズのduration値、Zビットサイズのduration単位情報を用いて示すことができる。TXOP durationは、‘Scaling factor(Xビット)*(Duration(Yビット) us*Duration unit(Zビット) us)’であってよい。TXOP duration fieldのサイズは(X+Y+Z)ビットに設定され得る。
Zビットサイズのduration単位は、送信されるduration情報の単位を示す。例えば、Zビットサイズが1ビットのとき、0は4us単位を示し、1は16us単位を示すことができ、これに限定されない。
● TXOP Termination/Truncation方案
一方、上述した実施例によれば、HE−SIG AのTXOP durationフィールドは、相対的に大きいgranularityベースでTXOP durationが設定され得る。例えば、MACヘッダーに含まれるDurationフィールドは1us granularityベースで示され、HE−SIG AのTXOP durationフィールドはそれよりより大きいgranularityベースでTXOP duration値を示するように設定されてもよい。
このようにHE−SIG AのTXOP durationフィールドによって相対的に大きいgranularityベースでTXOP durationが設定されると、実際のフレーム伝送にかかる時間よりも長い時間がTXOP durationに設定されることがある。このため、他のSTAがHE−SIG Aに基づいて誤ったNAVを設定し、特定時間においてチャネル使用ができない場合があり、チャネル効率性が低下しうる。
このような問題点を解決するために、TXOPの早期終了(Early termination)のための情報を送信することができる。例えば、TXOP holder/responderはTXOP区間で最後のフレーム(例えば、ACK、Block ACK、Multi−STA BA)を送信する際、TXOPを早期終了するということを示す情報を最後のフレームに含めて送信することができる。TXOP早期終了(termination)は、TXOP truncationと表現したり、又は簡略に(early)termination/truncationと表現してもよい。以下、TXOPを終了する方案について説明する。
(1)CF−ENDフレームを用いる方案
TXOP holder/responderはTXOP区間で最後のフレームを送信した後、CF−ENDフレームを送信することによってTXOPを終了(termination)することができる。
(2)早期終了指示子(Early termination indicator)を用いる方案
一実施例によれば、STAは早期終了指示子(Early termination indicator)をフレームの一部(例えば、HE−SIG A、HE−SIG Bのcommon partなど)に含めて送信することができる。例えば、STAはEarly termination indicator=1に設定すると、TXOPが早期終了することを示すことができる。Early termination indicator=1を含むフレーム後に直ちにTXOPを終了することができる。一方、Early termination indicatorはDurationと組み合わせて用いられてもよい。例えば、Early termination indicator=1であれば、Durationが示す時間でTXOPが終了することを示すことができる。Duration=0であれば、当該フレーム後にTXOPが終了し、Durationが0以上の値であれば、Durationが示す時間にTXOPが終了し得る。
(i)TXOP早期終了指示子としてMD(More data)フィールド又はESOPフィールドを再使用することもできる。
(ii)DL frameの場合、早期終了指示子は、設定されたTXOPの最後のフレームで送信することができる。例えば、最後のフレームで早期終了指示子と共にTXOP Durationをアップデートして送信することができる。TXOP Durationは、既存のTXOP Durationより小さい値に設定され、早期終了指示子でTXOPの終了を示すことができる。
(iii)TXOP情報のアップデートが必要な場合、STA(例えば、TXOP holder/responder)はフレームを送信する際にアップデートされるTXOPを設定してフレームを送信する。TXOPをアップデートするフレームにおいて早期終了指示子(Early termination indicator)はTXOPアップデート指示子として用いられる。例えば、TXOPがアップデートされる度に、早期終了指示子=1に設定して送信することができる。早期終了指示子=1に設定されたフレームを受信したSTA(例えば、third party)は、当該STAのTXOPをアップデートする(例えば、NAVアップデート)。
(iv)単一フレーム(例えば、PPDU)伝送の場合は、TXOP durationがACK/BAのサイズに設定され得る。多重フレーム伝送の場合、多重フレーム及びACK/BA伝送のためにTXOP durationが設定され得る。
(v)UL MU伝送:トリガーフレームがnon−HT PPDU(例えば、11a format)で送信される場合、トリガーフレームのコンテンツで正確なTXOP durationが示されるので、レガシーSTA(例えば、11axを支援しないSTA)であってもTXOP durationを正しく設定することができる(例えば、NAV設定/アップデート)。また、UL MUフレームではACK/BAフレームの伝送長さ分だけTXOP durationを示すので、NAV設定/アップデートは問題にならない。
しかし、11ax formatが用いられ、HE−SIG Aに設定されたTXOP durationとフレームのコンテンツに含まれたTXOP duration情報(例えば、MACヘッダーのTXOP duration)とが異なる場合は問題になる。例えば、一部のSTA(例えば、third party)はHE−SIG Aのみを読み、他のSTA(例えば、third party)はHE−SIG A及びフレームコンテンツの両方を読むことがある。
両方を読んだSTAは、フレームコンテンツ(例えば、MAC header)のDuration情報を用いてTXOPを設定する。例えば、両方を読んだSTAは、HE−SIG Aに含まれたduration情報を持っているが、MACヘッダーのDuration(又は、Contentsのduration)を読むと、STAはHE−SIG Aのdurationの代わりにMACヘッダーのduration(又は、contentsのduration)に基づいて最終TXOP durationを決定してNAVをアップデートする。
HE−SIG Aのみを読んだSTAは、HE−SIG Aに含まれたTXOP durationに基づいてNAVをアップデートする。この場合にも、実際MACヘッダーのTXOP durationよりも長いTXOP duration設定が問題になり得る。例えば、UL MUフレームに対するACK/BA/M−BAフレームが送信される際、STAはHE−SIG A/B又はMAC headerに含まれたTXOP duration情報を用いてTXOPをアップデートする(例えば、NAVアップデート)が、早期終了指示(又は、TXOPアップデート指示子)が1に設定されると、TXOPを該当の時点で終了できる。
(vi)一方、TXOPの終了(Termination)はBSS colorに基づいて行われてもよい。例えば、STA(例えば、third party)は自身のBSS colorに該当するフレームでTXOP終了が示された場合にのみ、TXOPを終了するように設定されてもよい。STA(例えば、third party)はフレームに含まれたBSS colorを確認する。仮にBSS ColorがOther BSSを示すと、当該フレームがTXOPの終了を示してもSTA(例えば、third party)はTXOPを終了させない。したがって、STA(例えば、third party)は自身のBSSのフレームがTXOP終了を示す場合(例えば、明示的指示子又はdurationが0に設定される暗黙的指示)にのみ、TXOPを終了(termination/truncation)させることができる。ただし、Other BSSに対する当該STAのアクセス機会の損失が発生し得ることはある。
(vii)一実施例によれば、STA(例えば、TXOP holder/responder)がTXOP内で11axフレームを送信する際に、最後のフレームには必ずTXOP終了(termination/truncation)情報を含めて送信することができる。一方、11aフレームの場合にはMACヘッダーのdurationでTXOPが設定されるため、正確なTXOPを設定することができる。一実施例によれば、HE−SIG AのTXOP durationにMAC headerのdurationが上書きされてもよい。
(3)最後のフレームのDuration field値を用いる方案
一実施例によれば、STA(例えば、TXOP holder/responder)は、明示的なTXOP終了指示子を用いる代わりに、最後のフレームのDuration field値を特定値に設定(例えば、0又は全ビットを1に設定)してTXOP早期終了(early termination/truncation)を示すこともできる。したがって、STA(例えば、third party)がDuration=特定値(例えば、0)を示すフレームを受信すると、当該フレーム以降にTXOP durationが終了(termination /truncation)したと判断できる。これは、CF−ENDフレームに類する役割と理解できる。
(4)TXOP durationの終了のためのNAVアップデート/リセット
既存のNAV設定/アップデート方式によれば、受信されたフレームのTXOP Duration値がSTA(例えば、third party)に現在設定されたNAV値よりも大きい場合に限ってNAVアップデートが行われた。TXOPの早期終了のためには、STAに現在設定されたNAV値に比べて受信されたフレームのTXOP duration値が小さい場合にもNAVがアップデートされる必要がある。一実施例によれば、STAは上述のTXOP終了/アップデート指示子(truncation/termination/update indicator)に基づいて、STAに現在設定されたNAV値より小さいTXOP durationでNAVをアップデートすることもできる。ただし、現在設定されたNAV値より小さいTXOP durationとしてNAVをアップデートすることは、マイBSS(my BSS)フレームに含まれたTXOP終了/アップデート指示子のみに基づいて行われるように設定されてもよい。
● NAV管理
図23には既存NAV管理方法に伴う問題点を例示する。
レガシー無線LANシステム(例えば、11a/b/g/n/ac)においてSTAは1つのNAVを維持する。STAはフレーム(例えば、自身を受信者として示していないフレーム)を受信すると、フレームのMACヘッダー内にdurationフィールド(例えば、MAC duration)によって計算されたNAVが自身に設定された現在NAVより大きいか判断する。MAC durationによって計算されたNAVが現在NAVより大きいと、STAはMAC durationでNAVをアップデートする。
このように1つのNAVのみを管理するSTAの現在NAVが0でない時にSTAがCF−ENDフレームを受信すると、STAはNAVをリセット(例えば、NAVタイマーを0に設定)する。しかし、NAVリセット以前に当該NAVが多重のフレームによってアップデートされてきた場合には、CF−ENDによるNAVリセットは他のフレーム伝送に影響を及ぼすことがある。
図23を参照すると、AP2とSTA3とが相互フレームを送受信しており、そのためにSTA2にはNAVが設定されたと仮定する。また、AP2とSTA3は互いにフレームを交換する際に、AP1及びSTA1に影響を与えないと見なす。例えば、(AP2,STA3)のチャネルアクセスと(AP1,STA1)のチャネルアクセスでは相互間に影響がないと仮定する。
したがって、AP2及びSTA3がフレーム(例えば、データ/ACK)を交換する間にも、AP1とSTA1がRTS、CTSフレームを交換することができる。例えば、AP1はSTA1を受信者と指定してRTSフレームを送信する。STA1はRTSに対する応答としてCTSフレームをAP1に送信する。CTSフレームのRAフィールドはRTSフレームのTAフィールドと同一に設定され、CTSフレームのDurationはRTSフレームのDurationから取得され、CTSフレームではTAフィールドが省略され得る。
STA2はAP1のRTSフレームを受信することはできなかったが、STA1のCTSフレームを受信したと仮定する。STA1のCTSフレームを受信したSTA2は、自身がCTSフレームの受信者として指定されていないことを把握し、CTSフレームが示すDurationに基づいてNAVをアップデートする。例えば、STA2の現在NAV値よりもCTSフレームが示すDurationが大きいと、STA2はNAVをアップデートする。
AP2はSTA3からACKを受信すると、TXOP truncationのためにCF−ENDフレームを送信する。CF−ENDフレームを送信するAP2は、STA2のNAVがSTA1のCTSフレームによってアップデートされたという事実は分からない。
STA2はAP2から受信したCF−ENDフレームに基づいて、NAVをリセットする。例えば、STA2の場合、AP1/STA1のTXOP保護のためにNAVをアップデートしたにもかかわらず、AP2からCF−ENDフレームが受信されるとNAVリセットを行う。既存のNAV管理動作によれば、CF−END/RTS/CTSなどの制御フレームが受信されると、STAは当該制御フレームのRA(receiver address)と自身のアドレスとの同一性を判別する。STAのアドレスと一致しないフレームに対してSTAは、TXOP holder/responderを問わず1つのNAVを管理する。
NAVをリセットしたSTA2はチャネルにアクセス可能なため、AP2にデータを送信することができる。しかし、STA2のデータフレーム伝送は、AP1とSTA1のデータ/ACK送受信に影響を及ぼす。
このようにNAVがTXOP holder/responder 1(例えば、AP1/STA1)によってアップデートされ、当該NAVが終了しない状態でTXOP holder/responder 2(例えば、AP2/STA3)によってNAVがリセットされたと仮定すれば、NAVリセットはTXOP holder/responder 1のデータ送受信に影響を与えることがある。
上述した既存のNAV管理動作の問題点を解決するためのNAV管理(例えば、設定、アップデート及び/又はリセット)方案について説明する。
本発明の一実施例によれば、STAはBSSを考慮してNAVを管理することができる。
一例として、STAはBSS color別にNAVを設定及び維持することができる。BSS color別にNAVを設定したSTAは、TXOP truncationを示すフレームが受信されると、受信されたフレームが示すBSS Colorに該当するNAVのTXOPを切断(truncation)することができる。
また、NAV設定及び管理の複雑性を低減するために、STAはマイBSS(my BSS)NAVとOther BSS NAV(例えば、my BSS以外のBSS又はmy BSSを示していないフレーム)の、2種類のNAVを設定及び維持することもできる。マイBSS NAVという用語はイントラBSS NAVに言い換えてもよい。Other BSS NAVという用語はインター(inter)BSS NAV又は正規(regular)NAV、又は非−イントラBSS NAVに言い換えてもよいが、これに限定されない。
NAV管理の実施例1
一実施例によれば、STAは、{RA(Receiver Address)とTA(Transmitter Address)}との組み合わせ、又は{SA(Source Address)とDA(Destination Address)}との組み合わせでNAVを維持/管理することができる。
例えば、STAがそれぞれの{RA,TA}組み合わせを用いてNAVを管理する場合には、異なる{RA,TA}組み合わせを持つフレームに対しては異なるNAVを維持しなければならない。このような方法は、11axのように密集した(dense)環境を考慮すると、STAが維持すべきNAVリストが多くなる。このため、STAが各NAVを管理してアップデートする上で複雑度が増加し、11axでは効率的でないこともある。表7には{RA,TA}組み合わせによるNAVリストを例示する。例えば、各NAVは{RA,TA}組み合わせによってインデックスされる。
NAV管理の実施例2
本発明の一実施例によれば、STAはBSS別に(例えば、BSSID又はBSS Color別に)、NAVを維持/管理することができる。
例えば、BSSID別にNAVを維持/管理するSTAが、同じBSSIDを有する互いに異なるフレームを受信し、これらのフレームのうち、後に受信されたフレームによって示されたduration(例えば、TXOP duration及び/又はMAC duration)が現在NAV(例えば、当該BSSIDに対する現在NAV)よりも長いと仮定する。STAは、当該BSSIDに対するNAVを、受信されたフレームのdurationを用いてアップデートする。
BSSIDを有していないフレーム(例えば、ACK又はCTS)に対しては別のNAVが設定され得る。例えば、BSSIDを有していないフレームに対してSTAは特定BSSID値(例えば、実際のBSSIDではなくBSSIDフォーマットを有する仮想のBSSID)を用いてNAVを管理することができる。このような特定BSSID値は、CTSフレーム、ACKフレーム又は(CTS&ACK)フレームに対応し得る。したがって、STAはCF−ENDを受信しても、CTS/ACK/(CTS&ACK)に該当するNAVはそのまま維持する。また、STAはCF−ENDを受信すると、CF−ENDに含まれたBSSIDに該当するNAVのみをリセットすることができる。
表8には、BSSIDに基づいて設定されるNAVを例示する。
表8で、CTS&ACKに該当するBSSID(例えば、Z)に対してNAV(例えば、L)が設定される場合、BSSID X/BSSID Yに対するNAV J/Kは別に設定されなくてもよい。例えば、BSSID ZでインデックスされたNAV Lを用いてCTS&ACK、CTS及びACKフレームのTXOPが統合して管理されてもよい。
便宜上、ACKフレーム及びCTSフレームを例示したが、本発明はこれに限定されず、他の制御フレーム又は管理フレームに対応するBSSID及び/又はNAVが設定されてもよい。
一方、STAはACK/CTSに含まれたRAが表8のNAVテーブルのBSSIDリストの一つと一致すれば、当該BSSIDに対するNAVを、受信されたACK/CTSフレームのdurationにアップデートし、CTS/ACK専用NAVをアップデートしなくてもよい。例えば、RAフィールドに設定されたBSSID値を有するBSSに対してNAVが存在すると、STAは当該NAVに対するアップデートを優先して行う。しかし、RAフィールドに設定されたBSSID値を有するBSSに対してNAVが存在しないと、CTS/ACK専用NAVをアップデートすることができる。
受信されたフレームにBSS Color情報のみが存在し(例えば、BSSID情報が存在しないフレーム)、当該BSS ColorにマップされたBSSIDがあると、STAは、マップされた BSSIDを用いてNAVを追加又はアップデートすることができる。仮に、当該BSS Colorに対してマップされたBSSIDがないと、STAは当該BSS Colorに対して1つのBSSIDを割り当て、それを維持することができる。STAがフレームでBSS ColorとBSSIDの両方を読むことができると、当該BSSIDに対応するNAVをアップデートすることができる。
表9に、BSS color別に設定されたNAVを例示する。
STAが各BSS Colorに対してマップされたBSSID情報を知っており、BSS Colorを含まないフレーム(例えば、11a/b/g/n/11ac(DL)などのレガシーフレーム)にBSSID情報が含まれた場合、当該フレームのdurationを用いてSTAは、BSSIDにマップされた BSS Colorに対するNAVを追加又はアップデートする。STAは、ACK/CTSのようにBSS Color及びBSSIDが含まれないフレームがレガシーPPDUフォーマットで受信されると、それらのフレームに対しては特定のBSS Color値をマップしてNAVを維持及び管理(例えば、追加及びアップデート)することができる。
本発明の一実施例によれば、NAVは{BSSID,BSS Color}の組み合わせによって管理されてもよい。表10に{BSSID,BSS Color}の組み合わせで識別されるNAVを例示する。
NAV管理の実施例3
本発明の一実施例によれば、STAは1つのNAV(例えば、1つのNAVタイマー)を維持し管理することができる。STAはNAVをアップデートするとき、NAVがどれによってアップデートされたかに関する情報を維持することができる。
表11に、本発明の一実施例によってNAVの最終アップデートに用いられたIDを例示する。
NAVの最終アップデートに用いられたID(Identification used for updating the latest NAV)を該当のNAVにマップすることができる。NAVの最終アップデートに用いられたIDは、例えば、BSS Color、BSSID、{BSSID,BSS Color}、RA、TA、SA、DA、{RA,TA}、{RA,SA}、{DA,SA}及び{DA,TA}のうち少なくとも一つであってよく、これに限定されない。
表12に、{RA,TA}組み合わせが用いられる場合を例示する。
表13にはBSSIDが用いられる場合を例示する。
仮に、STAが該当のID情報を含まないフレームによってNAVをアップデートする場合、上述したNAV管理実施例2で言及された方法のうちの一つを用いることができる。例えば、表13のようにBSSIDが用いられ、ACK/CTSフレームにBSSID(又は、BSSIDにマップされた情報)がないと、STAはACK/CTSフレームに特定BSSID(例えば、仮想のBSSID)をマップしてNAVアップデートを行うことができる。例えば、ACK/CTS用BSSIDがXであるとシステムにおいて定められ、STAがACKやCTSを受信すると、NAVテーブルのNAVの最終アップデートに用いられたID(例えば、BSSID項目)をXにアップデートすることができる。
このようにNAVに対応するIDがNAVと共に維持され、STAが、TXOP truncationを示すフレーム(例えば、CF−END)を受信すると、STAはフレームのID情報(例えば、RA、TA、BSS Color、BSSIDなど)のうちの一つがNAVに対応するIDと一致する場合にのみ、TXOPを切断(truncation)することができる。例えば、表13のようにBSSIDに基づいてNAVが管理されるとき、STAはCF−ENDフレームが現在NAVのBSSIDに該当する情報を含む場合に限ってTXOPを切断することができる。仮に、現在NAVのBSSIDに該当する情報がCF−ENDフレームに含まれていない場合、STAはTXOPを切断させなくてもよい。
本発明の実施例のために、STAは、送信されるフレームをオーバーヒヤリングすることによって、{BSS Color,BSSID}のリストを維持することもできる。BSS Colorのみを含んだり又はBSSIDのみを含むフレームが受信されると、STAは、{BSS Color,BSSID}リストを用いてBSS Colorに対応するBSSID又はBSSIDに対応するBSS Color情報を取得することもできる。
表14は、{BSSID,BSS Color}の組み合わせが用いられる場合を例示する。
STAは、マイBSSIDに対するBSS Colorを様々な方法(例えば、ビーコン、プローブ応答などの管理フレーム)を用いて取得することができる。したがって、STAは、マイBSSで送信されたフレームを受信した場合、当該フレームがレガシーPPDUか或いはHE(すなわち、11ax)PPDUかを問わず、BSS ColorとBSSIDを共にアップデートすることができる。例えば、STAがマイBSS Colorを含む11ax PPDUを受信した場合、NAVをアップデートする際にBSS Color及びマイBSSIDを共にアップデートすることができる。STAがマイBSSID情報を含むレガシーPPDUを受信した場合、NAVをアップデートする際にBSSID及びBSS Colorを共にアップデートすることができる。
STAがTXOP Truncationを示すフレーム(例えば、CF−END、duration=0であるフレームなど)を受信し、当該フレームに含まれた情報(例えば、BSS Color、BSSID、TA、RAなど)のうちの一つ以上が現在NAVにマップされたBSSID又はBSS Colorに一致すると、STAはNAVを切断することができる。フレームに含まれた情報と現在NAVにマップされたBSSID/BSS colorとが一致しないと、STAは当該NAVを切断しなくてもよい。
仮に、STAに{BSSID,BSS Color}リストがない場合に、Other BSSのフレームを受信したり又は11ax PPDUに対してBSS Colorのみを取得すると、STAは、NAVにマップされるBSSIDを0に設定することができる。また、legacy PPDUが受信され、STAがBSS Color無しでBSSIDのみを取得した場合、NAVにマップされるBSS Colorを0に設定することもできる。
STAが制御フレームを受信し、制御フレームがマイBSS ColorやマイBSSIDのうちの一つ以上と一致する情報を含むと、STAは、NAVにマップされた{BSSID,BSS Color}情報をNAVと共にアップデートすることができる。
仮に、制御フレーム内でNAVにマップされた{BSSID,BSS Color}と一致する情報がない場合(例えば、other BSS制御フレーム)、STAは、当該制御フレームに対してはNAVに{RA,TA}組み合わせをマップすることができる。その後、TXOP Truncationを示すフレームが受信され、当該フレームがNAVにマップされたID情報(例えば、{BSS Color,BSSID}又は{RA,TA})と一致するID情報を含むと、STAはTXOPを切断することができる。仮に、受信されたフレームがNAVにマップされたID情報を含まないと、STAはTXOPを切断させなくてもよい。
一方、STAはNAVにマップされたIDが{BSS Color,BSSID}組み合わせか、或いは{RA,TA}組み合わせかを示すID Type情報を当該NAVにマップすることもできる。STAはID Typeから、如何なるIDがNAVにマップされたかを把握することができる。表15に、一実施例によるIDタイプ情報を例示する。
NAV管理の実施例4
本発明の一実施例によれば、STAはTXOPを開始(initiation)するフレームを受信すると、TXOP holderアドレスを保存することができる。
例えば、RTSフレームではTA(Address 2、Transmitter address)がTXOP holderアドレスを示し、CTSではRA(Address 1、Receiver address)がTXOP holderアドレス
を示す。
STAは該当のフレームに基づいてNAVをアップデートしながら、TXOP holderアドレスを共に保存することができる。その後、TXOP truncationを示すCF−ENDフレームが受信されると、STAはCF−EndのTAとNAVにマップされたTXOP holderアドレスとを比較する。仮に、CF−ENDフレームのTAがNAVにマップされたTXOP holderアドレスと一致すると、STAはTXOP truncationを行う。しかし、F−ENDフレームのTAがNAVにマップされたTXOP holderアドレスと一致しないと、STAはNAVをそのまま維持することができる。
一方、本発明の一実施例によれば、STAはNAVアップデート前のNAV情報を維持することができる。NAVアップデートされる前に、NAV情報は、例えば、アップデート前のNAV値及びアップデート前のTXOP holderの情報のうち少なくとも一つを含むことができる。
例えば、STAは、現在NAVに対するTXOP Holderアドレスのみを維持するのではなく、以前NAV値及び以前NAVに対するTXOP Holderアドレスを維持することもできる。STAは以前NAV値を維持するために、NAV update時に以前NAVタイマーを保存したり、又は以前NAV値を計算できる情報としてNAV差値(NAV difference value)を保存することができる。例えば、フレームを受信してNAVをアップデートするとき、STAは{当該フレームで示されたDuration−現在のNAV値}をNAV差値として保存することができる。
その後、CF−Endフレームが受信され、CF−EndフレームのTAと現在NAVのTXOPホルダーアドレスとが一致すれば、STAはNAVをリセットする代わりに、以前NAVのTXOP holderアドレスとCF−EndフレームのTAとを比較する。以前NAVのTXOP holderアドレスとCF−EndフレームのTAとが一致すれば、STAはNAVをリセットする。しかし、以前NAVのTXOP holderアドレスとCF−EndフレームのTAとが一致しないと、現在NAVをリセットせず、以前NAV値を復元する(例えば、NAV差値を利用)。CF−EndフレームのTAが現在NAVのTXOP holderアドレスと一致しないと、STAは現在NAVを維持する。
一実施例によれば、STAがTXOPを開始(initiation)するフレームを受信し、TXOP holderアドレスを保存することは、当該STAがアソシエーション(association)しているBSSのTXOP holderのアドレスに限定されてもよい。または、STAは、自身がアソシエーションしているAPのアドレスのみをTXOP holderアドレスとして保存することに限定されてもよい。例えば、APがRTSのようなTXOPを開始(initiation)するフレームを送信した時、TXOP holderアドレスはTA(Address 2)である。STAによって送信されたCTSの場合、APのRA(Address 1,AP address)がTXOP holderアドレスである。
上述したように、STA(例えば、AP or non−AP STA)は、フレームを受信した時、TXOP holder address(又は、STAがアソシエーションしているTXOP holderのaddress)及び/又はBSS color(STAがアソシエーションしているBSSのColor)を保存することができる。例えば、STAがアソシエーションしているBSSからフレームを受信した場合、STAは、当該BSSの{TXOP holder address,BSS Color}を保存することができる。仮に、BSS colorがないフレーム(例えば、RTS/CTS/Trigger frame/ACK/Block ACKなどのように、BSS colorのないlegacy PPDUで送信されるフレーム)が受信され、当該フレームに含まれたTXOP holder addressが、自身がアソシエーションしているAPのMAC addressと一致すれば、STAは自身が事前に知っている当該APに対するBSS ColorをTXOP holder addressと共に保存することができる。
受信されたMU−RTS/RTSフレームのRAに自身のaddress/ID(例えば、AID又はPartial AID)がなく、TAに自身がアソシエーションしているBSSのTXOP holder addressが含まれていると、STAはNAV値と共に{TXOP holder address,BSS color}を保存する。STAは、MU−RTS/RTSによって設定されたNAVをリセットせねばならない場合、BSS Colorを確認してNAVリセットを行うことができる。
NAV管理の実施例5
既存のNAVアップデート方式によれば、OBSS(other BSS)フレームによってNAVが設定された後、マイBSSフレームが受信され、マイBSSフレームのNAV値が現在NAV値(例えば、OBSSフレームによって設定されたNAV)より大きいと、STAはマイBSSフレームに基づいてNAVをアップデートする。例えば、STAがNAVアップデート(例えば、変更、リセット、取消など)を要求するフレーム(例えば、CF−End/トリガーフレーム/CTS/ACK/BAなど)をマイBSSのSTA/APから受信すると、STAは当該フレームを受信してNAVをアップデートする。
図24に、UL MU伝送に関連した既存のNAV管理を例示する。STA 1,2,3はAPにアソシエーション(association)しており、STA3はOBSSフレームを受信してNAVを設定した状態でマイAPが送信するTF(Trigger frame)1を受信したと仮定する。
図24を参照すると、TF1にはSTA3に関するリソース割り当て情報がないため、TF1のduration値がSTA3に設定された現在NAVより大きいと、STA3はTF1のduration値を用いてNAVをアップデートする。
その後、マイAPがTF2を送信してSTA3にULリソースを割り当てる。STA3にはマイBSSによってNAVが設定されているため、STA3はNAVを無視してUL伝送を行うことができる。しかし、このようなSTA3のUL伝送はOBSSに影響を与えることがある。
(1)NAV管理実施例5−1:NAV差値
このような問題を解決するための一方法として、OBSS NAV差値を用いる方案を考慮することができる。OBSS NAV差値は簡略にNAV差値と呼ぶこともできる。
例えば、STAは一つのNAVタイマーを維持するが、OBSSフレームによって設定されたNAVをマイBSSフレームに基づいてアップデートする時、STAはOBSS NAV差値を計算して保存することができる。OBSS NAV差値は、{受信されたマイBSSフレームのNAVタイマー−現在NAVタイマー(例えば、OBSSによって最後にアップデートされたNAVタイマー)}のように計算することができる。
OBSS NAV差値を保存したSTAは、マイBSSフレームによってNAVがアップデートされる時(例えば、現在NAVがリセットされるか、マイAPから受信されたトリガーフレームの指示によって現在NAVが無視されたり又は考慮されないとき)、NAV差値を用いて現在時点でOBSS NAVが有効か否かを判断できる。
仮に、OBSS NAVが有効であれば、STAはOBSS NAVを考慮する(例えば、OBSS NAVが終了するまでチャネルアクセスを保留)。STAは現在時点で{現在NAVタイマー−NAV差値}を計算してOBSS NAVが有効か否かをチェックすることができる。例えば、{現在NAVタイマー− NAV差値}がOBSS NAV有効閾値(例えば、0)より大きいと、STAはOBSS NAVが有効だと判断できる。仮に、{現在NAVタイマー−NAV差値}が0より小さい又は等しいと、STAはOBSS NAVが有効でないと判断できる。STAは、OBSS NAVが有効でないと、NAV差値をそれ以上維持しないか、又は0に設定することができる。また、STAは、NAV差値がないか或いは0に設定されていると、OBSS NAVを考慮しないでチャネルアクセスを行うことができる。STAがNAVを考慮する場合には、チャネルが混雑(busy)していると仮定してフレーム伝送を試みないことを意味することができる。
STAに保存されたNAV差値は、マイBSSフレームによってNAVアップデートがなかったらSTAに維持されるはずだったOBSS NAVタイマーが現在時点で満了したか、或いは残余時間があるかを判断するために用いることができる。
図25は、NAV差値を用いてNAVを管理する方法を例示する。
図25を参照すると、STA3は、OBSSによって設定されたNAVを維持しているが、マイBSS(又は、イントラBSS) STAであるAPからTF1を受信する。STA3は、TF1のNAV(例えば、duration)が現在NAV(例えば、OBSS NAV)より大きいと、TF1に基づいて自身のNAVをアップデートする。この時、STA3はNAV差値(例えば、TF1のduration値−現在NAVタイマー)を計算して保存することができる。
STA3のスケジューリング情報が含まれたTF2が受信されると、STA3は、TF2に基づく伝送を行う前に、OBSS NAVが有効であるか検査する。例えば{現在NAVタイマー−NAV差値}がOBSS NAV有効閾値(例えば、0)を超えると、STA3は、OBSS NAVが有効だと見なすことができる。OBSS NAVが有効である間に、STA3はTF2に基づくフレーム伝送を保留することができる。
一方、OBSS NAV差値は、NAVがマイBSSのフレーム(例えば、イントラBSSフレーム)によってアップデートされる時、有効でなくてもよい。
図26に、マイBSSのフレームに基づくNAVアップデートを例示する。
図26を参照すると、STA3は、OBSSフレームによって設定されたNAVをTF1(例えば、STA3がアソシエーションしているAPから受信)を用いてアップデートする。STA3はTF1を用いてNAVをアップデートする際に、NAV差値(例えば、受信されたフレームのdurationによるNAV値−現在NAV値)を計算及び保存することができる。
STA3はTF2を受信してNAVをアップデートする。
STA3がTF3でULリソース割り当てを受けると、STA3はNAV差値を用いてOBSS NAVが有効か否か検査する。しかし、NAV差値は以前NAV(例えば、TF1)に基づいて計算されたものであるため、STA3に保存されたNAV差値はTF3を受信した時点では不正確な値になり得、OBSS NAVの有効性検査に適合しないことがある。
(2)NAV管理実施例5−2:NAV差値のアップデート
上述した問題点を解決するための一方法として、STAのNAVがアップデートされる時、STAはNAV差値も共にアップデートすることができる。
例えば、STAはNAVをアップデートする時、NAV差値を用いてOBSS NAVが有効か否かを検査する。例えば、{現在NAV値−NAV差値}を計算した結果がOBSS NAV有効閾値(例えば、デフォルト値は0)を超えると、STAはOBSS NAVが有効だと見なす。
OBSS NAVが有効でなければ、STAはNAV差値を0に設定できる。例えば、OBSS NAV差値=0は、OBSS NAVが有効でないことを示すことができる。
OBSS NAVが有効であれば、STAはNAV差値をアップデートすることができる。STAはNAVアップデートに用いられる該当のフレームのdurationを用いてNAV差値をアップデートすることができる。例えば、STAは{該当のフレームによるNAV値(例えば、duration)−(現在NAV値−NAV差値)}の値にNAV差値をアップデートし、自身のNAVもアップデートすることができる。
図27は、NAV差値のアップデートを例示する。TF1受信前にSTA3はOBSSフレームによってアップデートされたNAVを有すると仮定する。
STA3は自身のAPからTF1を受信し、NAVをアップデートする。STA3は、TF1のdurationを用いてNAVをアップデートする前に、STA3はNAV差値を計算して保存する。
STA3はTF2を受信してNAVアップデートを行う際に、OBSS NAVが有効か否か検査する。OBSS NAVが有効であれば、STA3はNAV差値を現在受信されたフレーム(例えば、TF2)のdurationに基づいてアップデートすることができる。例えば、NAV差値を{受信されたフレームによるNAV値−(現在NAV値−保存されたNAV差値)}にアップデートすることができる。続いて、STA3は、TF2を用いてNAVをアップデートすることができる。
STA3に対するULリソース割り当てを含むTF3が受信されると、STA3はNAV差値を用いてOBSS NAVが有効か否かを検査する。便宜上、OBSS NAVが有効でないと仮定する。したがって、STA3はTF3に応答してUL MUフレームを送信する。
一方、NAV差値のアップデートは、OBSS NAVが更に他のOBSSフレームによってアップデートされる時にも行うことができる。例えば、STAがOBSSフレームを受信しており、現在OBSS NAVが有効だと仮定する。STAは、NAV差値を用いて、受信されたOBSSフレームによるNAV値が現在OBSS NAV(=現在NAV値−保存されたNAV差値)より大きいか確認する。
受信されたOBSSフレームによるNAV値が現在OBSS NAVより大きいと、STAはNAV差値を{現在NAV値−受信されたOBSSフレームによるNAV値}にアップデートする。この時、STAは自身のNAV(例えば、現在NAV値)をそのまま維持することができる。このようなNAV差値のアップデートは、STAが受信されたOBSSフレームによって現在のNAVはアップデートせず、OBSS NAVをアップデートするためである。
図28に、本発明の他の実施例に係るNAV差値のアップデートを例示する。STA3は、OBSSフレーム1によってNAVをアップデートしており、その後、自身のAPからTF1を受信してNAVをアップデートすると仮定する。
STA3は、TF1のdurationを用いてNAVをアップデートする前に、NAV差値を計算する。例えば、NAV差値は{受信されたフレームによるNAV(すなわち、フレームのduration値)−現在NAVタイマー}であってもよい。STAは、計算されたNAV差値を保存する。
STA3はTF2を受信するが、NAVアップデートは行われず、よって、現在NAVタイマーが維持されると仮定する。
その後、STA3は、OBSS STAからOBSSフレーム2を受信し、OBSS NAVが有効か否か検査する。OBSS NAVが有効だと仮定する。STA3は、受信されたOBSSフレーム2によるNAV(例えば、duration)がOBSS NAVより大きいか確認する。
OBSSフレーム2によるNAVがOBSS NAVより大きい場合、STA3はOBSSフレームのdurationを用いてNAV差値を再び計算する(例えば、アップデート)。例えば、STA3はNAV差値を{現在NAVタイマー−OBSSフレーム2によるOBSS NAV}で計算し、STA3は計算されたNAV差値を保存することができる。
その後、STA3はTF3を受信し、TF3によってULリソースが割り当てられる。STA3は、UL伝送を行う前に、NAV差値を用いてOBSS NAVが有効かを検査する。便宜上、OBSS NAVが有効だと仮定する。したがって、STA3はOBSS NAVが満了する前にはUL MUフレームを送信しない。
NAV管理の実施例6
以下では、図24を参照して上述した既存のNAV管理方法の問題点を解決するための更に他の実施例について説明する。
(1)NAV管理の実施例6−1:複数のNAVタイマー
本発明の一実施例によれば、STAはマイBSS(例えば、イントラBSS) NAVタイマーとOBSS(例えば、インターBSS) NAVタイマーをそれぞれ維持/管理することができる。マイBSSフレームによってNAVアップデートが必要であれば、STAはマイBSS NAVタイマーをアップデートすることができる。OBSSフレームによってNAVアップデートが必要であれば、STAはOBSS NAVタイマーをアップデートすることができる。
図29に本発明の一実施例に係るNAV設定を例示する。
図29を参照すると、STA3は、OBSSフレームを受信すると、OBSS NAVタイマーをアップデート(例えば、ここで、アップデートは設定、変更、最小/リセットのうちの一つを意味できる。)し、マイBSS NAVタイマーはアップデートしない。
STA3はマイBSSフレームを受信すれば、マイBSS NAVタイマーを設定又はアップデートして、OBSS NAVタイマーをアップデートしない。
STAはマイBSS NAVとOBSS NAVのいずれか一方でも0以上の値を有すると、STAはチャネルアクセスを行わない。
STAは、マイBSS NAVタイマーの代わりに、既存と同じNAVタイマーを維持することもできる。例えば、STAは、既存と同じ方式で動作するNAVタイマーとOBSS NAVタイマーを維持することができる。例えば、既存NAVタイマーはイントラBSS/インターBSSフレームを問わずにアップデートされ(例えば、既存と同様に)、OBSS NAVタイマーはOBSS(インターBSS)フレームのみによってアップデートされ得る。
したがって、イントラBSS STAが送信するフレームによって既存のNAVタイマーがアップデートされても、OBSS NAVタイマーが有効であれば、STAはOBSS NAVを考慮してUL MUフレームを送信しなくてもよい。また、STAは、OBSS NAVタイマーがOBSS NAV有効閾値(例えば、デフォルト値は0)より大きい値である場合、OBSS NAVが有効だと判断できる。
一方、OBSS NAV有効閾値はシステムによって決定され、ビーコンのようなブロードキャスト/マルチキャストフレーム又はユニキャストフレームによってSTAに伝達され得る。
(2)NAV管理の実施例6−2:1つのNAVタイマー
本発明の一実施例によれば、STAは既存のように1つのNAVタイマーを維持するが、OBSSフレームによって設定されたNAVがマイBSSフレームによってアップデートされる時、STAはOBSS NAV差値を計算して保存することができる。OBSS NAV差値は、{受信されたフレームのNAVタイマー−現在NAVタイマー}と計算することができる。例えば、受信されたフレームのNAVタイマーは、受信されたフレームのdurationによって計算することができ、現在NAVタイマーはOBSSによって最後にアップデートされたNAVタイマーであってもよい。OBSS NAV差値は、NAV差値と略してもよい。
STAは現在NAVをリセット(例えば、CF−End受信)したり、又は現在NAVを考慮せずにフレーム伝送を試みる場合(例えば、トリガーフレームに基づいてULフレームを送信する場合)、保存されたNAV差値を用いてOBSS NAVが有効か否か検査できる。
例えば、STAは、該当の時点に{現在NAVタイマー−OBSS NAV差値}を計算してOBSS NAVが有効か否かチェックできる。例えば、{現在NAVタイマー−NAV差値}の値がOBSS NAV有効閾値(例えば、デフォルトは0、しかし、0より大きい値に設定され得る。)より大きいと、STAはOBSS NAVが有効だと判断する。仮に、{現在NAVタイマー−NAV差値}が0より小さいか等しいと、STAはOBSS NAV差値を維持しないか、又は0に設定することができる。NAV差値がないか、又は0に設定されていると、OBSS NAVが有効でないことを示すことができ、STAはOBSS NAVを考慮しなくてもよい。
OBSS NAVが有効であれば、STAはOBSS NAVを考慮して動作することができる。例えば、STAはOBSS NAVが有効であれば、NAVリセット時点でNAVをリセットしないか、フレーム伝送時点にはフレームを送信しなくてもよい。
STAがNAVを考慮するという意味は、チャネルが混雑(busy)であると仮定してフレーム伝送を試みないこと、又はOBSS NAVをリセットしないこと、を指すことができる。
図30に本発明の一実施例に係るNAV管理方法を例示する。
STA3はOBSSによって設定されたNAVを維持していると仮定する。
STA3はマイBSSのAPからTF1を受信する。TF1のNAVが現在NAVより大きいと仮定する。STA3はTF1に基づいてNAVをアップデートする。この時、STA3はNAV差値{TF1のNAVタイマー−現在NAVタイマー}を計算及び保存する。
その後、STA3はTF2を受信する。TF3はSTA3のスケジューリング情報を含む。STA3はTF2に基づくUL伝送を試みる前に、OBSS NAVが有効か否かをさらに検査する。一方、STA3の現在NAVがイントラBSS STAによって設定されているため、STA3は現在のNAVは考慮しなくてもよい。
仮に、{現在NAVタイマー−NAV差値}がOBSS NAV有効閾値を超えると、STA3はOBSS NAVが有効だと見なすことができる。STA3はOBSS NAVが有効である間にULフレームを送信しない。
一方、図28で説明したように、STAはMyBSS(又は、イントラBSS)によって設定されたNAVがOBSS(又は、イントラBSS)によってアップデートされる時にもNAV差値を計算及び保存する動作を行うことができる。例えば、その後、インターBSSフレームによってNAVがアップデート(例えば、リセット/取消)される時に、STAはMyBSS NAVが有効であるかチェックする。MyBSS NAVが有効である場合、STAはMyBSS NAVを考慮して動作することができる。NAV差値を計算し、有効か否かを検査する方法は、上述した内容と重複するので説明を省く。
(3)NAV管理の実施例6−3:CF−ENDフレーム
以下では、TXOP truncationのためのCF−Endを受信した場合、NAVアップデート方法について説明する。
現在NAVがイントラBSSフレームによってアップデートされたものであり、OBSS NAVが有効であれば、STAがイントラBSS STAからのCF−Endフレームの受信によって現在のNAVをOBSS NAVにアップデートすることができる。
上述したNAV管理の実施例6−1のように、STAがOBSS NAVタイマーをさらに維持していると、STAはOBSS NAVタイマー値を確認することによってOBSS NAVが有効である否かが分かる。OBSS NAVが有効であれば、STAは現在のNAVをOBSS NAVタイマー値に設定する。
上述したNAV管理の実施例6−2のように、STAがOBSS NAV差値を計算して保存していると、STAはOBSS NAV差値から、OBSS NAVが有効であるか否かが分かる。OBSS NAVが有効であれば、STAは、OBSS NAV差値を用いて現在のNAVをOBSS NAVに設定することができる。NAV管理の実施例6−2で説明したように、現在のNAVがOBSSフレームによってアップデートされる時、STAはOBSS NAV差値{受信されたフレームのNAVタイマー−現在のNAVタイマー}を計算することができる。STAは、OBSS NAV有効性の検査時点に、{現在のNAVタイマー−OBSS NAV差値}がOBSS NAV有効閾値を超えると、OBSS NAVが有効だと判断し、現在のNAVをOBSS NAV(=現在のNAVタイマー−OBSS NAV差値)にアップデートすることができる。
(4)NAV管理の実施例6−4:NAVアップデート指示子
本発明の一実施例によれば、現在のNAVが過去のNAV値からアップデートされたものか、それとも新しく設定されたものかによって、STAがNAVを考慮したり又はNAVをリセットすることができる。
例えば、現NAV直前のNAVがzeroであったかnon−zeroであったかによって、NAVをリセットするか否かを決定することができる。STAはNAVを設定又はアップデートする時、以前のNAVに関する情報(例えば、NAVアップデート指示子)を保存することができる。例えば、NAVがnon−zero値からアップデートされると、NAVアップデート指示子=1に設定され、NAVがzero値から初期設定されていると、NAVアップデート指示子=0に設定され得る。
STAが自身のAPからトリガーフレームを受信してUL MUフレームを送信する際に、現在NAVがイントラBSS STAが送信したフレームによるものであれば、STAはNAVアップデート指示子を確認する。NAVアップデート指示子=0であれば、STAは、現在NAVが新しく設定(例えば、NAV=0から初期設定)されたと判断し、設定されたNAVを考慮しない(例えば、ULフレーム伝送)。仮に、NAVアップデート指示子=1であれば、STAは現在NAVがnon−zero値からアップデートされたものだと判断し、設定されたNAVを考慮することができる(例えば、NAV満了前にはULフレームを送信しない)。
STAがイントラBSS STA(例えば、AP)からCF−Endを受信した時、現在NAVがイントラBSSフレームによるものであれば、STAはNAVアップデート指示子を確認する。NAVアップデート指示子=0であれば、STAは、現在NAVが初期設定されたものだと判断し、NAVをリセットすることができる。NAVアップデート指示子=1であれば、STAは、現在NAVがnon−zero値からアップデートされたものだと判断し、NAVをリセットしなくてもよい。
RTS又はMU−RTSフレームを受信したSTA(例えば、third party)が指定された時間内にフレーム(例えば、CTS)を受信できなかった場合、NAVアップデート指示子を確認することができる。NAVアップデート指示子=0であれば、STAは、現在NAVが初期設定されたものだと判断し、NAVをリセットすることができる。NAVアップデート指示子=1であれば、STAは、現在NAVがnon−zero値からアップデートされたものだと判断し、設定されたNAVをリセットしなくてもよい。
(5)NAV管理の実施例6−5:マイBSS NAV差値
上述した方法は、イントラBSS(又は、マイBSS) NAVからインターBSS(又は、OBSS) NAVにアップデートされる時にも用いることができる。この場合、STAが計算して保存する値は、NAVアップデート指示子の代わりに、イントラBSS NAV差値又はマイBSS NAV差値と呼ぶことができ、これに限定されない。便宜上、マイBSS NAV差値と呼ぶものとする。
イントラBSS NAV(すなわち、イントラBSSフレームを受信して設定/アップデートされたNAVを意味する。)を維持していたSTAがインターBSSフレームを受信してNAVをアップデートする場合、STAはマイBSS NAV差値を計算する。マイBSS NAV差値は、上述したOBSS NAV差値に類する方式で計算することができる。例えば、マイBSS NAV差値は、{現在受信されたOBSSフレームによって計算されたNAV値−現在のNAV値(例えば、マイBSS NAV値)}と計算することができる。NAVアップデートによって、マイNAVはOBSS NAVに変更される。STAは保存されたマイBSS NAV差値を用いてMyBSS NAVが有効であるか検査できる。例えば、OBSS NAVがOBSS STAによって送信されたフレーム(例えば、CF−End)によってNAVがリセットされなければならない場合に、STAはマイBSS NAVが有効であるか検査できる。マイBSS NAVが有効であれば、STAは現在NAV(例えば、OBSS NAV)をマイBSS NAVにアップデートする。
一方、STAはマイBSS NAV差値が特定閾値(例えば、デフォルト値は0)以上であれば、マイBSS NAVが有効であるか検査する必要があると判断できる。
マイBSS NAVが有効であるか検査する際、STAは{現在NAV値−マイBSS NAV差値}が特定閾値(例えば、デフォルト値は0)以上であれば、マイBSS NAVが有効だと見なすことができる。
このとき、マイBSS NAVは{現在NAV値−マイBSS NAV差値}であってもよい。
NAV管理の実施例の要約
上述したように、、STAがOBSS STAからCF−ENDフレームを受信すると、STAは現在のNAV(例えば、最後に行われたNAVアップデート/設定)がイントラBSSフレームによるものか否かを考慮しなければならない。仮に、最後に行われたNAVアップデートがイントラBSSフレームによるものであれば、STAはOBSSからのCF−ENDフレームに基づいてNAVをリセットしない(例えば、イントラBSS NAVの保護)。
また、イントラBSS NAVの他、インターBSS NAVも保護される必要がある。例えば、イントラBSS STAからCF−ENDフレームが受信されると、STAは、現在のNAV(例えば、最後に行われたNAVアップデート/設定)がインターBSSフレームによるものか否かを考慮しなければならない。仮に、最後に行われたNAVアップデートがインターBSSフレームによるものであれば、STAはマイBSSからのCF−ENDフレームに基づいてNAVをリセットしなくてもよい(例えば、インターBSS NAVの保護)。
なお、OBSSによって設定されたNAVがイントラBSSフレームによってアップデートされる場合において、イントラBSSフレームによるTXOP truncationが考慮される必要がある。以下では、上述した議論に基づき、イントラBSSフレームによるTXOP truncation方法及び/又はUL MUフレーム応答(例えば、トリガーフレームに基づく伝送)に使用可能な方法についてさらに述べる。
図31には、イントラBSSフレームによるTXOP truncationを例示する。STAのNAVはOBSSによって設定されたものだと仮定する。STAは自身のAPからフレーム(例えば、TF又はCTSなど)を受信すると、NAVをアップデートする。その後、APがCF−ENDフレームを送信すると、STAはNAVをリセットする。NAVリセット後にSTAがULフレームを送信する場合、OBSSのNAVが保護され得ないという問題点がある。
図32は、図31の問題点を解決するための、本発明の一実施例に係るNAV管理方案を例示する。図31と重複する説明は省略する。
図32を参照すると、STAが自身のAPからCF−ENDフレームを受信すると、STAはNAVをリセットする前に、OBSS NAVが有効か否かをまず判断しなければならない。OBSS NAVが有効であれば、STAはNAVをリセットしなくてもよい。例えば、OBSS NAVが有効であれば、STAは現在のNAVをOBSS NAVにアップデート(例えば、復元)することができる。
図33はNAV差値を説明するための例示である。
OBSS NAVがイントラBSSフレームによってアップデートされる場合、STAはNAV差値を計算及び保存することができる。NAV差値は{受信されたフレーム(例えば、イントラBSSフレーム)によるNAV値−現在NAV値}であってもよい。
その後、STAはCF−ENDフレームを自身のAPから受信する。STAはNAVをリセットする前にOBSS NAVが有効か否かをチェックする。OBSS NAVの有効性は、NAV差値に基づいて計算することができる。例えば、{現在(例えば、OBSS NAV有効性チェック時点)NAV値X−NAV差値Y}が0より大きい場合、STAはOBSS NAVが有効だと判断できる。例えば、イントラBSSフレームによるNAVアップデートがなかったという仮定の下に残余OBSS NAVが存在すると、STAはOBSS NAVが相変らず有効なものだと判断できる。
OBSS NAVが有効であれば、STAは現在のNAVを有効なOBSS NAV値にアップデートすることができる(例えば、CF−ENDフレーム受信などの理由でマイBSS NAVがそれ以上保護される必要がない場合)。OBSS NAV値を用いたNAVアップデートは、イントラBSSフレームによってNAVがアップデートされなかったなら維持されるはずだったOBSS NAV値を復元することと理解できる。
OBSS NAVが有効でなければ、STAはNAVをリセットすることができる(例えば、OBSS NAV及びマイBSS NAVの両方とも保護される必要がない場合)。
図34は、本発明の一実施例に係るNAVアップデートを説明するための例示である。STA5にはOBSS NAVが設定されたと仮定する。
STA5はTF1(例えば、イントラBSSフレーム)を用いてNAV(例えば、OBSS NAV)をアップデートする時、NAV差値を計算及び保存する。
STA5はTF2を受信する。TF2によるNAVアップデートはなく、TF2はSTA5に対するリソース割り当て情報を含むと仮定する。
STA5はTF2に基づいてULフレームを送信する前に、NAV差値を用いてOBSS NAVが有効か否かをチェックする。例えば、{現在(例えば、OBSS NAVチェック時点)NAV値−NAV差値}が0より大きいと、STA5はOBSS NAVが有効だと仮定することができる。
OBSS NAVが有効である間に、STA5はTF2に基づくULフレーム伝送を行わない(例えば、OBSSS NAVを考慮)。
(i)1つのNAVタイマーを用いた複数のNAVの管理
一方、STAは1つのNAVタイマーを用いて複数のNAV(例えば、2個のNAV)管理することができる。複数のNAVはイントラBSS NAV及び非−イントラBSS NAVを含むことができる。イントラBSS NAVは、イントラBSSフレームによってアップデートされるNAVであってもよい。非−イントラBSS NAVは、イントラBSSフレーム以外のフレーム又はイントラBSSフレームと決定できないフレーム(例えば、インターBSSフレーム、又はCTS/ACKなどのように、インターBSSフレームかイントラBSSフレームかを区別できないフレーム)によってアップデートされるNAVであってもよい。非−イントラBSS NAVは、レギュラーNAVと呼ぶこともできる。
現在のNAV(例えば、1つのNAVタイマー)がイントラBSS NAVによって設定されたものであり、イントラBSSフレーム以外のフレームによってアップデートされる場合(又は、その逆の場合)、STAはNAV差値を計算して保存することができる。NAV差値は{受信されたフレームによるNAV値−イントラBSS NAV}であるか、又は{受信されたフレームによるNAV値−インターBSS NAV}であってもよい。
その後、STAは自身のNAV(例えば、1つのNAVタイマー)をインターBSSフレームのdurationを用いてアップデートすることができる。したがって、STAの現在NAVはインターBSS NAVと見なすことができる。
NAV差値が0である場合、2つのNAVが全て有効でないか、又は現在NAVのみが有効である場合であってもよい。
仮に、NAVのチェックが必要な場合(例えば、UL MUフレームを送信する前に又はNAVをリセットする前に)、STAは2個のNAVが有効であるか否かをチェックできる。例えば、2個のNAVの値がいずれも0でないと、2個のNAVが全て有効であると判断される。NAV値が0であるNAVは有効でないと判断される。2個のNAVの有効性を判断するためにNAV差値を用いることができる。例えば、{現在NAV値(例えば、1つのNAVタイマー)−NAV差値}が0より大きい場合には、2個のNAVが有効だと判断される(例えば、現在NAV値も0でないため)。しかし、{現在のNAV値−NAV差値}が0より大きくないと、ただ1個のNAV(例えば、イントラBSS NAV又はインターBSS NAV)のみが有効であると判断される。
仮に、2個のNAVがいずれも有効であれば、STAは2個のNAVを全て考慮して動作する。現在のNAV(例えば、イントラBSS NAV又はインターBSS NAV)のみが有効であれば、STAは当該NAVのみを考慮して動作できる。
現在のNAV(例えば、1つのNAVタイマー)がイントラBSS NAVであり、STAがイントラBSS STAからCF−ENDフレームを受信した場合を仮定する。仮に、2つのNAVとも有効であれば、STAは現在のNAV(例えば、1つのNAVタイマー)を非−イントラNAV(例えば、現在のNAV値−NAV差値)にアップデートする。2つのNAVとも有効でない場合には、STAはCF−ENDフレームに基づいて現在のNAV(例えば、1つのNAVタイマー)をリセットする。
現在のNAV(例えば、1つのNAVタイマー)がイントラBSS NAVであり、STAがインターBSS STAからCF−ENDフレームを受信した場合を仮定する。仮に、2つのNAVとも有効であれば、STAはイントラBSSに該当する現在のNAV(例えば、1つのNAVタイマー)をリセットしない。しかし、STAは、非−イントラNAVをリセットすることはできる。非−イントラNAVのリセットは、NAV差値を0に設定することを意味できる。
現在のNAV(例えば、1つのNAVタイマー)が非−イントラBSS NAVであり、STAがインターBSS STAからCF−ENDフレームを受信した場合を仮定する。仮に、2つのNAVとも有効であれば、STAは非−イントラBSSに対応する現在のNAV(例えば、1つのNAVタイマー)をイントラNAV(例えば、現在のNAV値−NAV差値)にアップデートする。2つのNAVとも有効でない場合には、STAはCF−ENDフレームに基づいて現在のNAV(例えば、1つのNAVタイマー)をリセットする。
現在のNAV(例えば、1つのNAVタイマー)が非−イントラBSS NAVであり、STAがイントラBSS STAからCF−ENDフレームを受信した場合を仮定する。仮に、2つのNAVとも有効であれば、STAは、非−イントラBSSに該当する現在のNAV(例えば、1つのNAVタイマー)をリセットしない。しかし、STAはイントラNAVをリセットすることはできる。イントラNAVのリセットは、NAV差値を0に設定することを意味できる。
(ii)複数のNAVタイマーを用いた複数のNAV管理
このように、STAは、UL MUフレームなどを送信する際にNAVを考慮することができ、特に、STAは複数のNAV(例えば、イントラBSS NAV/非−イントラBSS NAV)を管理することができる。複数のNAVを管理するために、STAは、1つのNAVタイマーを設定する方法(例えば、NAV差値を利用)の他、複数のNAVタイマーを設定することもできる。例えば、イントラBSS NAV及び非−イントラBSS NAVのそれぞれに対して別のNAVタイマーを設定することができる。
例えば、イントラBSS NAVタイマーは、イントラBSSフレーム/PPDUによってアップデートされるNAVタイマーであってもよい。非−イントラBSS NAVタイマーは、イントラBSSフレームでないか、又はイントラBSSかインターBSSかを区別できないフレームによってアップデートされるNAVタイマーであってもよい。
STAは、トリガーフレームに対応してUL MUフレームを送信する前に非−イントラBSS NAVタイマーを考慮しなければならない。
また、STAはイントラBSSからCF−ENDフレームが受信されると、イントラBSS NAVをリセットし、インターBSSからCF−ENDフレームが受信されると、非−イントラBSS NAVをリセットすることができる。
図35に、本発明の一実施例に係る2個のNAVタイマーを例示する。
図35を参照すると、STAは、OBSS STAからTF又はCTSなどのフレームを受信して非−イントラBSS NAVタイマーを設定する。
STAは、自身のAPからTF又はCTSフレームを受信し、イントラBSS NAVタイマーを起動する。STAは、自身のAPからCE−ENDフレームを受信すると、イントラBSS NAVタイマーをリセットする。
1つのNAVタイマーを用いて2個のNAVを管理する実施例において、STAは、現在NAVタイマーの値がいずれか一つのNAVから他のNAVに変更される度に、NAV差値を計算して保存することができる。
2個のNAVタイマーを用いて2個のNAVを管理する実施例において、STAはUL MUフレーム伝送前に非−イントラBSS NAVを考慮しなければならず、CF−ENDフレームが受信されると、当該NAVタイマーをリセットする。
図36に、本発明の一実施例に係るNAV管理方法を例示する。上述した説明と重複する説明は省略する。
図36を参照すると、STAは、区間(duration)情報を含むフレームを受信する(S3605)。区間情報は、HE−SIG Aフィールドに含まれたTXOP durationフィールドが示すTXOP duration値であるか、又はMACヘッダーに含まれたdurationフィールドが示すMAC duration値であってよく、これに限定されない。
例えば、フレームは、RTS、CTSなどの制御フレーム、管理フレーム、トリガーフレーム又はHE−PPDUベースのフレーム又はNon−HE PPDUベースのフレームであってよく、これに限定されない。
STAは複数のNAVの中から所定のNAVを選択する(S3610)。
例えば、STAは複数のNAVを有することができる。複数のNAVは、イントラBSS NAV及び非−イントラBSS NAVを含むことができる。非−イントラBSS NAVは、OBSS(other BSS)フレームのためのものであってよい。さらに、非−イントラBSS NAVは、BSSを特定できないフレームのためのものであってもよい。BSSを特定できないフレームは、例えば、RAフィールド又はTAフィールドなどにおいてBSSID情報を持たないフレームであり得る(例えば、ACK、CTSなど)。
所定のNAVは、当該フレームがSTAの属するBSS(basic service set)から受信されたものか否かに基づいて選択され得る。例えば、STAは、フレームがマイBSSから受信されたか否かを判断できる。
STAは、フレームがSTAの属したBSSから受信されたものと決定されると、第1NAV(例えば、イントラBSS NAV)を選択し、フレームがSTAの属しないBSSから受信されたものと決定されると、第2NAVを選択(例えば、非−イントラBSS NAV)することができる。さらに、STAはフレームがいずれのBSSから受信されたかを決定できない場合にも第2NAVを選択(例えば、非−イントラBSS NAV)することができる。
STAはフレームの区間情報に基づいて所定のNAVを管理することができる(S3615)。NAV管理は、NAV初期設定、NAVアップデート又はNAVリセットのいずれか一つであってよく、これに限定されない。
複数のNAVのいずれか一つでも0より大きい値を有する場合、STAはチャネルアクセスを保留することができる。
一実施例によれば、STAは複数のNAVに対応する複数のNAVタイマーを設定することができる。
他の実施例によれば、STAは、1つのNAVタイマーのみを設定してもよい。例えば、複数のNAVを、複数のNAV間の差値と1つのNAVタイマーによって管理することができる。1つのNAVタイマーの値が第1NAVから第2NAVに変更されたり又は第2NAVから第1NAVに変更される場合、複数のNAV間の差値をアップデートすることができる。また、STAは、1つのNAVタイマーにマップされたいずれか一つのNAVの現在値と複数のNAV間の差値を用いて、他のNAVの有効性を判断することができる。
図37は、上述したような方法を具現するための装置を説明するための図である。
図37の無線装置800は上述の特定STAに、無線装置850は上述のAPに対応し得る。
STA800は、プロセッサ810、メモリ820、送受信部830を含むことができ、AP850は、プロセッサ860、メモリ870及び送受信部880を含むことができる。送受信部830及び880は無線信号を送信/受信し、IEEE 802.11/3 GPPなどの物理層で実行され得る。プロセッサ810及び860は、物理層及び/又はMAC層で実行され、送受信部830及び880と接続している。プロセッサ810及び860は上述したUL MUスケジューリング手順を行うことができる。
プロセッサ810及び860及び/又は送受信部830及び880は、特定集積回路(application−specific integrated circuit;ASIC)、他のチップセット、論理回路及び/又はデータプロセッサを含むことができる。メモリ820及び870は、ROM(read−only memory)、RAM(random access memory)、フラッシュメモリ、メモリカード、記憶媒体及び/又は他の記憶ユニットを含むことができる。一実施例がソフトウェアによって実行されるとき、上述した方法は、上述した機能を行うモジュール(例えば、プロセス、関数)として実行され得る。上記モジュールはメモリ820,870に格納されて、プロセッサ810,860によって実行され得る。上記メモリ820,870は上記プロセス810,860の内部又は外部に設けられ、周知の手段で上記プロセス810,860に接続され得る。
以上開示した本発明の好適な実施形態に関する詳細な説明は、当業者が本発明を具現して実施できるように提供されている。上記では本発明の好適な実施形態を参照して説明したが、当該技術の分野における熟練した当業者は、上述した説明から本発明を様々に修正及び変更可能であることが理解できる。したがって、本発明は、ここに開示した実施形態に制限しようとするものではなく、ここに開示した原理及び新規な特徴と一致する最も広い範囲を付与しようとするものである。