本明細書に添付される図面は、本発明に関する理解を提供するためのもので、本発明の様々な実施の形態を示し、明細書の記載と共に本発明の原理を説明するためのものである。
以下、本発明に係る好適な実施の形態を添付の図面を参照して詳しく説明する。添付の図面と共に以下に開示される詳細な説明は、本発明の例示的な実施の形態を説明するためのもので、本発明の唯一の実施の形態を示すためのものではない。以下の詳細な説明は本発明の完全な理解を提供するために具体的な細部事項を含む。しかし、このような具体的な細部事項なしにも本発明が実施され得るということが当業者には理解される。
以下の実施例は、本発明の構成要素と特徴を所定の形態で結合したものである。各構成要素又は特徴は、特別の言及がない限り、選択的なものと考慮することができる。各構成要素又は特徴は、他の構成要素や特徴と結合していない形態で実施されてもよく、一部の構成要素及び/又は特徴を結合して本発明の実施例を構成してもよい。本発明の実施例で説明される動作の順序は変更されてもよい。ある実施例の一部の構成や特徴は、他の実施例に含まれてもよく、他の実施例の対応する構成又は特徴に取り替えられてもよい。
以下の説明で使われる特定用語は、本発明の理解を助けるために提供されるものであり、このような特定用語の使用は、本発明の技術的思想から逸脱しない範囲で他の形態に変更してもよい。
場合によって、本発明の概念が曖昧になることを避けるために、公知の構造及び装置は省略されたり、各構造及び装置の核心機能を中心にしたブロック図の形式で図示されることもある。また、本明細書全体を通じて同一の構成要素には同一の図面符号を付して説明する。
本発明の実施例は、無線アクセスシステムであるIEEE 802システム、3GPPシステム、3GPP LTE及びLTE−A(LTE−Advanced)システム、並びに3GPP2システムの少なくとも一つに開示された標準文書によって裏付けることができる。すなわち、本発明の実施例において、本発明の技術的思想を明確にするために説明を省いた段階又は部分は、上記の文書によって裏付けることができる。また、本文書で開示している用語はいずれも上記の標準文書によって説明することができる。
以下の技術は、CDMA(Code Division Multiple Access)、FDMA(Frequency Division Multiple Access)、TDMA(Time Division Multiple Access)、OFDMA(Orthogonal Frequency Division Multiple Access)、SC−FDMA(Single Carrier Frequency Division Multiple Access)などのような様々な無線アクセスシステムに用いることができる。CDMAは、UTRA(Universal Terrestrial Radio Access)やCDMA2000のような無線技術(radio technology)によって具現することができる。TDMAは、GSM(Global System for Mobile communications)/GPRS(General Packet Radio Service)/EDGE(Enhanced Data Rates for GSM Evolution)のような無線技術によって具現することができる。OFDMAは、IEEE 802.11(Wi−Fi)、IEEE 802.16(WiMAX)、IEEE 802−20、E−UTRA(Evolved UTRA)などのような無線技術によって具現することができる。明確性のために、以下では3GPP LTE及び3GPP LTE−Aシステムを中心に説明するが、本発明の技術的思想がこれに制限されるものではない。
WLANシステムの構造
図1は、本発明を適用できるIEEE 802.11システムの例示的な構造を示す図である。
IEEE 802.11構造は複数個の構成要素を含むことができ、それら構成要素の相互作用によって上位層に対してトランスペアレントなSTA移動性を支援するWLANを提供することができる。基本サービスセット(Basic Service Set;BSS)はIEEE 802.11 LANにおける基本的な構成ブロックに該当し得る。図1では、2個のBSS(BSS1及びBSS2)が存在し、それぞれのBSSのメンバーとして2個のSTAが含まれること(STA1及びSTA2はBSS1に含まれ、STA3及びSTA4はBSS2に含まれる)を例示的に示している。図1で、BSSを示す楕円は、当該BSSに含まれたSTAが通信を維持するカバレッジ領域を示すものと理解してもよい。この領域をBSA(Basic Service Area)と称することができる。STAがBSAの外へ移動すると、当該BSA内の他のSTAと直接通信できなくなる。
IEEE 802.11 LANにおいて最も基本的なタイプのBSSは、独立したBSS(Independent BSS;IBSS)である。例えば、IBSSは、2個のSTAだけで構成された最小の形態を有することができる。また、最も単純な形態であるとともに他の構成要素が省略されている図1のBSS(BSS1又はBSS2)がIBSSの代表的な例示に該当する。このような構成は、STA同士が直接通信できる場合に可能である。また、このような形態のLANは、あらかじめ計画して構成されるものではなく、LANが必要な場合に構成され、これをアド−ホック(ad−hoc)ネットワークと呼ぶこともできる。
STAがついたり消えたりすること、STAがBSS領域に/から入ったり出たりすることなどによって、BSSにおいてSTAのメンバーシップが動的に変更することがある。BSSのメンバーになるためには、STAは同期化過程を用いてBSSにジョインすればよい。BSS基盤構造の全てのサービスにアクセスするためには、STAはBSSに連携されなければならない。このような連携(association)は動的に設定され、分配システムサービス(Distribution System Service;DSS)の利用を含んでもよい。
図2は、本発明を適用できるIEEE 802.11システムの他の例示的な構造を示す図である。図2は、図1の構造において、分配システム(Distribution System;DS)、分配システム媒体(Distribution System Medium;DSM)、アクセスポイント(Access Point;AP)などの構成要素が追加された形態である。
LANにおいて直接的なステーション−対−ステーションの距離は物理層(PHY)の性能によって制限されることがある。このような距離の限界が充分な場合もあれば、より遠い距離のステーション間の通信が必要な場合もある。拡張されたカバレッジを支援するために分配システム(DS)を構成することができる。
DSは、BSS同士が相互接続される構造を意味する。具体的に、図1のようにBSSが独立して存在する代わりに、複数個のBSSで構成されたネットワークの拡張された形態の構成要素としてBSSが存在してもよい。
DSは論理的な概念であり、分配システム媒体(DSM)の特性によって特定することができる。これと関連して、IEEE 802.11標準では無線媒体(Wireless Medium;WM)と分配システム媒体(DSM)とを論理的に区別している。それぞれの論理的媒体は互いに異なる目的のために使用され、互いに異なる構成要素によって使用される。IEEE 802.11標準の定義では、このような媒体を互いに同一なものとも、互いに異なるものとも制限しない。このように複数個の媒体が論理的に互いに異なるという点で、IEEE 802.11 LAN構造(DS構造又は他のネットワーク構造)の柔軟性を説明することができる。すなわち、IEEE 802.11 LAN構造は様々に具現することができ、それぞれの具現例の物理的な特性によって独立的に当該LAN構造を特定することができる。
DSは複数個のBSSのシームレス(seamless)な統合を提供し、あて先へのアドレスを扱うために必要な論理的サービスを提供することによって移動機器を支援することができる。
APとは、連携されているSTAに対してWMを介してDSへのアクセスを可能にし、且つSTA機能性を有するエンティティ(entity)を意味する。APを介してBSS及びDS間のデータ移動が行われてもよい。例えば、図2に示すSTA2及びSTA3は、STAの機能性を有するとともに、連携されているSTA(STA1及びSTA4)をDSにアクセスさせる機能を持つ。また、いかなるAPも基本的にSTAに該当するため、APはいずれもアドレス可能なエンティティである。WM上での通信のためにAPによって用いられるアドレスとDSM上での通信のためにAPによって用いられるアドレスは必ずしも同一である必要はない。
APに連携されているSTAのいずれか一つから当該APのSTAアドレスに送信されるデータは、常に非制御ポート(uncontrolled port)で受信され、IEEE 802.1Xポートアクセスエンティティによって処理されてもよい。また、制御ポート(controlled port)が認証されると、送信データ(又は、フレーム)はDSに伝達されてもよい。
図3は、本発明を適用できるIEEE 802.11システムのさらに他の例示的な構造を示す図である。図3では、図2の構造にさらに広いカバレッジを提供するための拡張されたサービスセット(Extended Service Set;ESS)を概念的に示す。
任意の(arbitrary)大きさ及び複雑度を有する無線ネットワークがDS及びBSSで構成されてもよい。IEEE 802.11システムではこのような方式のネットワークをESSネットワークと称する。ESSは、一つのDSに接続されたBSSの集合に該当し得る。しかし、ESSはDSを含まない。ESSネットワークはLLC(Logical Link Control)層でIBSSネットワークとして見える点が特徴である。ESSに含まれるSTAは互いに通信することができ、移動STAはLLCにトランスペアレントに一つのBSSから他のBSSに(同一ESS内で)移動することができる。
IEEE 802.11では、図3におけるBSSの相対的な物理的位置について何ら仮定しておらず、次のようないずれの形態も可能である。BSSは部分的に重なってもよく、これは、連続したカバレッジを提供するために一般に利用される形態である。また、BSSは物理的に接続していなくてもよく、論理的にはBSS同士間の距離に制限はない。また、BSS同士は物理的に同一位置に位置してもよく、これはリダンダンシーを提供するために用いることができる。また、一つ(又は、一つ以上の)IBSS又はESSネットワークが一つ(又は一つ以上)のESSネットワークとして同一空間に物理的に存在してもよい。これは、ESSネットワークが存在する位置にアド−ホックネットワークが動作する場合、互いに異なる機関(organizations)によって物理的に重なるIEEE 802.11ネットワークが構成される場合、又は、同一位置で2つ以上の互いに異なるアクセス及び保安政策が必要な場合などにおける、ESSネットワーク形態に該当し得る。
図4は、無線LANシステムの例示的な構造を示す図である。図4では、DSを含む基盤構造BSSの一例が示されている。
図4の例示で、BSS1及びBSS2がESSを構成する。無線LANシステムにおいてSTAはIEEE 802.11のMAC/PHY規定に従って動作する機器である。STAはAP STA及び非−AP(non−AP)STAを含む。Non−AP STAは、ラップトップコンピュータ、移動電話機のように、一般にユーザが直接扱う機器に該当する。図4の例示で、STA1、STA3、STA4はnon−AP STAに該当し、STA2及びSTA5はAP STAに該当する。
以下の説明で、non−AP STAは、端末(terminal)、無線送受信ユニット(Wireless Transmit/Receive Unit;WTRU)、ユーザ装置(User Equipment;UE)、移動局(Mobile Station;MS)、移動端末(Mobile Terminal)、移動加入者局(Mobile Subscriber Station;MSS)などと呼ぶことができる。また、APは、他の無線通信分野における基地局(Base Station;BS)、ノード−B(Node−B)、発展したノード−B(evolved Node−B;eNB)、基底送受信システム(Base Transceiver System;BTS)、フェムト基地局(Femto BS)などに対応する概念である。
リンクセットアップ過程
図5は、一般のリンクセットアップ(link setup)過程を説明するための図である。
STAがネットワークに対してリンクをセットアップし、データを送受信するためには、まず、ネットワークを発見(discovery)し、認証(authentication)を行い、連携(association)を確立(establish)し、保安(セキュリティ)(security)のための認証手順などを行わなければならない。リンクセットアップ過程をセッション開始過程、セッションセットアップ過程と呼ぶこともできる。また、リンクセットアップ過程における発見、認証、連携、保安設定の過程を総称して連携過程と呼ぶこともできる。
図5を参照して例示的なリンクセットアップ過程について説明する。
段階S510で、STAはネットワーク発見動作を行うことができる。ネットワーク発見動作はSTAのスキャニング(scanning)動作を含むことができる。すなわち、STAがネットワークにアクセスするためには、参加可能なネットワークを探さなければならない。STAは無線ネットワークに参加する前に互換可能なネットワークを識別しなければならないが、特定領域に存在するネットワーク識別過程をスキャニングという。
スキャニング方式には、能動的スキャニング(active scanning)と受動的スキャニング(passive scanning)がある。
図5では例示として能動的スキャニング過程を含むネットワーク発見動作を示す。能動的スキャニングにおいて、スキャニングを行う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番チャネル上でプローブ要求/応答の送受信)を行うことができる。
図5には示していないが、スキャニング動作は受動的スキャニング方式で行われてもよい。受動的スキャニングにおいて、スキャニングを行う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標準で定義しない保安方式によって行われてもよい。
WLANの進化
無線LANで通信速度の限界を克服するために比較的最近に制定された技術標準としてIEEE 802.11nがある。IEEE 802.11nは、ネットワークの速度と信頼性を増大させ、且つ無線ネットワークの運営距離を拡張することに目的がある。より具体的に、IEEE 802.11nは、データ処理速度が最大540Mbps以上である高処理率(High Throughput;HT)を支援するとともに、送信エラーを最小化し、データ速度を最適化するために送信端と受信端の両方とも多重アンテナを使用するMIMO(Multiple Inputs and Multiple Outputs)技術に基づいている。
無線LANの普及が活性化され、さらにそれを用いたアプリケーションが多様化するに伴って、最近ではIEEE 802.11nが支援するデータ処理速度よりも高い処理率を支援するための新しい無線LANシステムの必要性が台頭している。超高処理率(Very High Throughput;VHT)を支援する次世代無線LANシステムは、IEEE 802.11n無線LANシステムの次のバージョン(例えば、IEEE 802.11ac)であり、MACサービスアクセスポイント(Service Access Point;SAP)で1Gbps以上のデータ処理速度を支援するために最近新しく提案されているIEEE 802.11無線LANシステムの一つである。
次世代無線LANシステムは、無線チャネルを効率的に利用するために複数のSTAが同時にチャネルにアクセスするMU−MIMO(Multi User Multiple Input Multiple Output)方式の送信を支援する。MU−MIMO送信方式によれば、APが、MIMOペアリング(pairing)された一つ以上のSTAに同時にパケットを送信することができる。
また、ホワイトスペース(white space)で無線LANシステム動作を支援することが議論されている。例えば、アナログTVのデジタル化による遊休状態の周波数帯域(例えば、54〜698MHz帯域)のようなTVホワイトスペース(TVWS)での無線LANシステムの導入は、IEEE 802.11af標準として議論されている。しかし、これは例示に過ぎず、ホワイトスペースは、許可されたユーザ(licensed user)が優先して使用できる許可された帯域といえる。許可されたユーザは、許可された帯域の使用が許可されたユーザのことを意味し、許可された装置(licensed device)、プライマリユーザ(primary user)、優先的ユーザ(incumbent user)などと呼ぶこともできる。
例えば、WSで動作するAP及び/又はSTAは、許可されたユーザに対する保護(protection)機能を提供しなければならない。例えば、WS帯域で特定帯域幅を有するように規約(regulation)上分割されている周波数帯域である特定WSチャネルを、マイクロホン(microphone)のような許可されたユーザが既に使用している場合、許可されたユーザを保護するために、AP及び/又はSTAは当該WSチャネルに該当する周波数帯域は使用することができない。また、AP及び/又はSTAは、現在フレーム送信及び/又は受信のために使用している周波数帯域を許可されたユーザが使用するようになると、当該周波数帯域の使用を中止しなければならない。
このため、AP及び/又はSTAは、WS帯域中の特定周波数帯域の使用が可能か否か、すなわち、当該周波数帯域に許可されたユーザが存在するか否かを把握する手順を先行しなければならない。許可されたユーザが特定周波数帯域に存在するか否かを把握することをスペクトルセンシング(spectrum sensing)という。スペクトルセンシングメカニズムとして、エネルギー探知(energy detection)方式、信号探知(signature detection)方式などが活用される。受信信号の強度が一定値以上であれば、許可されたユーザが使用中であると判断したり、DTVプリアンブル(preamble)が検出されると、許可されたユーザが使用中であると判断することができる。
また、次世代通信技術としてM2M(Machine−to−Machine)通信技術が議論されている。IEEE 802.11無線LANシステムでもM2M通信を支援するための技術標準がIEEE 802.11ahとして開発されている。M2M通信は、一つ以上のマシン(Machine)が含まれる通信方式を意味し、MTC(Machine Type Communication)又は事物通信と呼ばれることもある。ここで、マシンとは、人間の直接的な操作や介入を必要としないエンティティ(entity)を意味する。例えば、無線通信モジュールが搭載された検針機(meter)や自動販売機のような装置を含めて、ユーザの操作/介入無しで自動でネットワークに接続して通信を行うことができるスマートフォンのようなユーザ機器もマシンの例示に該当し得る。M2M通信は、デバイス間の通信(例えば、D2D(Device−to−Device)通信)、デバイスとサーバー(application server)間の通信などを含むことができる。デバイスとサーバー間の通信の例示としては、自動販売機とサーバー、POS(Point of Sale)装置とサーバー、電気、ガス又は水道検針機とサーバー間の通信が挙げられる。その他にも、M2M通信ベースのアプリケーション(application)には、保安(security)、運送(transportation)、ヘルスケア(health care)などが含まれてもよい。このような適用例の特性を考慮すると、一般に、M2M通信は、数多くの機器が存在する環境でたまに少量のデータを低速で送受信することを支援できるものでなければならない。
具体的には、M2M通信は多数のSTAを支援できるものでなければならない。現在定義されている無線LANシステムでは、一つのAPに最大2007個のSTAが連携される場合を仮定するが、M2M通信ではそれよりも多い個数(約6000個)のSTAが一つのAPに連携される場合を支援する方案が議論されている。また、M2M通信では低い送信速度を支援/要求するアプリケーションが多いと予想される。これを円滑に支援するために、例えば、無線LANシステムでは、TIM(Traffic Indication Map)要素に基づいてSTAが自身に送信されるデータの有無を認知できるが、TIMのビットマップサイズを減らす方案が議論されている。また、M2M通信では送信/受信間隔が非常に長いトラフィックが多いと予想される。例えば、電気/ガス/水道の使用量のように長い周期(例えば、1ケ月)ごとに大変少ない量のデータをやり取りすることが要求される。そのため、無線LANシステムでは、一つのAPに連携され得るSTAの個数が非常に多くなっても、一つのビーコン周期の間にAPから受信するデータフレームが存在するSTAの個数が大変少ない場合を効率的に支援する方案が議論されている。
このように無線LAN技術は急速に進化しつつあり、前述の例示に加えて、直接リンクセットアップ、メディアストリーミング性能の改善、高速及び/又は大規模の初期セッションセットアップの支援、拡張された帯域幅及び動作周波数の支援などのための技術が開発されている。
媒体アクセスメカニズム
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データを送信することができる。
図6は、バックオフ過程を説明するための図である。
図6を参照して任意バックオフ周期に基づく動作について説明する。占有(occupy又はbusy)状態だった媒体が遊休(idle)状態に変更されると、複数のSTAはデータ(又はフレーム)送信を試みることができる。この時、衝突を最小化するための方案として、STAはそれぞれ任意バックオフカウントを選択し、それに該当するスロット時間だけ待機した後、送信を試みることができる。任意バックオフカウントは、パケット番号(Packet Number)値を有し、0乃至CW範囲の値のいずれか一つに決定され得る。ここで、CWは、競合ウィンドウ(Contention Window)パラメータ値である。CWパラメータは初期値としてCWminが与えられるが、送信失敗の場合(例えば、送信されたフレームに対するACKを受信できなかった場合)に2倍の値を取ることができる。CWパラメータ値がCWmaxになると、データ送信に成功するまでCWmax値を維持しながらデータ送信を試みることができ、データ送信に成功する場合にはCWmin値にリセットされる。CW、CWmin及びCWmax値は2n−1(n=0,1,2,…)に設定されることが好ましい。
任意バックオフ過程が始まると、STAは、決定されたバックオフカウント値によってバックオフスロットをカウントダウンする間に続けて媒体をモニタする。媒体が占有状態とモニタされるとカウントダウンを止めて待機し、媒体が遊休状態になると残りのカウントダウンを再開する。
図6の例示で、STA3のMACに送信するパケットが到達した場合に、STA3はDIFSだけ媒体が遊休状態であることを確認し、直ちにフレームを送信することができる。一方、残りのSTAは、媒体が占有(busy)状態であることをモニタして待機する。その間にSTA1、STA2及びSTA5のそれぞれでも送信するデータが発生することがあり、それぞれのSTAは、媒体が遊休状態とモニタされると、DIFSだけ待機した後に、それぞれ選択した任意バックオフカウント値によってバックオフスロットのカウントダウンを行うことができる。図6の例示では、STA2が最も小さいバックオフカウント値を選択し、STA1が最も大きいバックオフカウント値を選択した場合を示す。すなわち、STA2がバックオフカウントを終えてフレーム送信を始める時点でSTA5の残余バックオフ時間はSTA1の残余バックオフ時間よりも短い場合を例示する。STA1及びSTA5は、STA2が媒体を占有する間に暫くカウントダウンを止めて待機する。STA2の占有が終了して媒体が再び遊休状態になると、STA1及びSTA5はDIFSだけ待機した後に、止めていたバックオフカウントを再開する。すなわち、残余バックオフ時間だけの余りのバックオフスロットをカウントダウンした後にフレーム送信を始めることができる。STA5の残余バックオフ時間がSTA1よりも短かったため、STA5がフレーム送信を始めるようになる。一方、STA2が媒体を占有する間にSTA4でも送信するデータが発生することがある。このとき、STA4の立場では、媒体が遊休状態になるとDIFSだけ待機した後、自身が選択した任意バックオフカウント値によるカウントダウンを行ってフレーム送信を始めることができる。図6の例示では、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は、当該期間において媒体アクセスが禁止される。NAVは、例えば、フレームのMACヘッダー(header)の”duration”フィールドの値によって設定することができる。また、NAV値は、マイクロ秒(microsecond)単位に計算/決定することができる。
また、衝突可能性を低減するために堅牢な衝突検出(robust collision detect)メカニズムが導入された。これについて図7及び図8を参照して説明する。実際にキャリアセンシング範囲と送信範囲は同一でないこともあるが、説明の便宜のために両者は同一であると仮定する。
図7は、隠されたノード及び露出されたノードを説明するための図である。
図7(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の隠されたノードということができる。
図7(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の露出されたノードということができる。
図8は、RTSとCTSを説明するための図である。
図7のような例示的な状況で衝突回避(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に送信することによって、自身がデータを受けることを知らせることができる。
図8(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のデータ送信が終わるまで待機し、衝突を避けることができる。
図8(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)(又は、ドーズ(dose)状態)とアウェイク状態(awake state)を切り替えながら動作する。スリープ状態で動作するSTAは、最小限の電力で動作し、フレーム送受信もチャネルスキャニングも行わない。
STAがスリープ状態でできるだけ長く動作するほど電力消耗が減るため、STAの動作期間が増加する。しかし、スリープ状態ではフレーム送受信が不可能なため、無条件に長く動作するわけにはいかない。スリープ状態で動作するSTAがAPに送信するフレームを有すると、アウェイク状態に切り替わってフレームを送信することができる。一方、APがSTAに送信するフレームがある場合、スリープ状態のSTAはそれを受信できないことはもとより、受信するフレームが存在するということも把握できない。したがって、STAは自身に送信されるフレームが存在するか否かを確認するために(また、存在するならそれを受信するために)特定周期に従ってアウェイク状態に切り替わる動作が必要でありうる。
図9は、電力管理動作を説明するための図である。
図9を参照すると、AP 210は、一定の周期でビーコンフレーム(beacon frame)をBSS内のSTAに送信する(S211、S212、S213、S214、S215、S216)。ビーコンフレームには、TIM(Traffic Indication Map)情報要素(Information Element)が含まれる。TIM情報要素は、AP 210が自身と連携されているSTAに対するバッファされたトラフィックが存在し、フレームを送信することを知らせる情報を含む。TIM要素には、ユニキャスト(unicast)フレームを知らせるために用いられるTIMと、マルチキャスト(multicast)又はブロードキャスト(broadcast)フレームを知らせるために用いられるDTIM(delivery traffic indication map)がある。
AP 210は、3回のビーコンフレームを送信する度に1回ずつDTIMを送信することができる。STA1 220及びSTA2 230はPSモードで動作するSTAである。STA1 220及びSTA2 230は、所定の周期のウェイクアップインターバル(wakeup interval)ごとにスリープ状態からアウェイク状態に切り替わり、AP 210によって送信されたTIM要素を受信できるように設定されてもよい。それぞれのSTAは、自身のローカルクロック(local clock)に基づいてアウェイク状態に切り替わる時点を計算することができ、図9の例示ではSTAのクロックがAPのクロックと一致すると仮定する。
例えば、所定のウェイクアップインターバルは、STA1 220がビーコンインターバルごとにアウェイク状態に切り替わってTIM要素を受信できるように設定されてもよい。そのため、STA1 220は、AP 210が最初にビーコンフレームを送信する時(S211)にアウェイク状態に切り替わり得る(S221)。STA1 220は、ビーコンフレームを受信してTIM要素を取得することができる。取得されたTIM要素が、STA1 220に送信されるフレームがあることを示すと、STA1 220は、AP 210にフレーム送信を要求するPS−Poll(Power Save−Poll)フレームをAP 210に送信することができる(S221a)。AP 210は、PS−Pollフレームに対応してフレームをSTA1 220に送信することができる(S231)。フレーム受信を完了したSTA1 220は再びスリープ状態に切り替わって動作する。
AP 210が二番目にビーコンフレームを送信するにあたり、他の装置が媒体にアクセスするなどして媒体が占有された(busy medium)状態であるから、AP 210は正確なビーコンインターバルに合わせてビーコンフレームを送信できず、遅延された時点に送信することがある(S212)。この場合、STA1 220はビーコンインターバルに合わせて動作モードをアウェイク状態に切り替えるが、遅延送信されるビーコンフレームを受信できず、再びスリープ状態に切り替わる(S222)。
AP 210が三番目にビーコンフレームを送信する時、当該ビーコンフレームはDTIMと設定されたTIM要素を含むことができる。ただし、媒体が占有された(busy medium)状態であるから、AP 210はビーコンフレームを遅延して送信する(S213)。STA1 220は、ビーコンインターバルに合わせてアウェイク状態に切り替わって動作し、AP 210によって送信されるビーコンフレームからDTIMを取得することができる。STA1 220が取得したDTIMは、STA1 220に送信されるフレームはなく、他のSTAのためのフレームが存在することを示す場合を仮定する。この場合、STA1 220は、自身が受信するフレームがないことを確認し、再びスリープ状態に切り替わって動作することができる。AP 210はビーコンフレーム送信後にフレームを該当のSTAに送信する(S232)。
AP 210は、四番目にビーコンフレームを送信する(S214)。ただし、STA1 220は、その以前の2回にわたるTIM要素受信から、自身に対するバッファされたトラフィックが存在するという情報が取得できなかったため、TIM要素受信のためのウェイクアップインターバルを調整してもよい。又は、AP 210によって送信されるビーコンフレームにSTA1 220のウェイクアップインターバル値を調整するためのシグナリング情報が含まれた場合、STA1 220のウェイクアップインターバル値が調整されてもよい。本例示で、STA1 220はビーコンインターバルごとにTIM要素受信のために運営状態を切り替えたが、3回のビーコンインターバルごとに1回起床するように運営状態を切り替えるように設定してもよい。したがって、STA1 220は、AP 210が四番目のビーコンフレームを送信し(S214)、五番目のビーコンフレームを送信する時点に(S215)スリープ状態を維持するため、TIM要素を取得することができない。
AP 210が六番目にビーコンフレームを送信する時(S216)、STA1 220はアウェイク状態に切り替わって動作し、ビーコンフレームに含まれたTIM要素を取得することができる(S224)。TIM要素は、ブロードキャストフレームが存在することを示すDTIMであるから、STA1 220はPS−PollフレームをAP 210に送信することなく、AP 210によって送信されるブロードキャストフレームを受信することができる(S234)。一方、STA2 230に設定されたウェイクアップインターバルはSTA1 220に比べて長い周期に設定されてもよい。そのため、STA2 230は、AP 210が五番目にビーコンフレームを送信する時点(S215)にアウェイク状態に切り替わってTIM要素を受信することができる(S241)。STA2 230は、TIM要素から、自身に送信されるフレームが存在することがわかり、フレーム送信を要求するためにAP 210にPS−Pollフレームを送信することができる(S241a)。AP 210はPS−Pollフレームに対応してSTA2 230にフレームを送信することができる(S233)。
図9のような節電モードの運営のためにTIM要素には、STAに送信されるフレームが存在するか否かを示すTIM、又はブロードキャスト/マルチキャストフレームが存在するか否かを示すDTIMが含まれる。DTIMはTIM要素のフィールド設定によって具現することができる。
図10乃至図12は、TIMを受信したSTAの動作を詳しく説明するための図である。
図10を参照すると、STAは、APからTIMを含むビーコンフレームを受信するためにスリープ状態からアウェイク状態に切り替わり、受信したTIM要素を解釈して、自身に送信されるバッファされたトラフィックがあることを確認できる。STAは、PS−Pollフレームの送信のための媒体アクセスのために他のSTAと競合(contending)を行った後に、APにデータフレーム送信を要求するためにPS−Pollフレームを送信することができる。STAによって送信されたPS−Pollフレームを受信したAPは、STAにフレームを送信することができる。STAはデータフレームを受信し、それに対する確認応答(ACK)フレームをAPに送信することができる。以降、STAは再びスリープ状態に切り替わり得る。
図10のように、APは、STAからPS−Pollフレームを受信した後、所定の時間(例えば、SIFS(Short Inter−Frame Space))後にデータフレームを送信する即時応答(immediate response)方式によって動作することができる。一方、APがPS−Pollフレームを受信した後に、STAに送信するデータフレームをSIFS時間の間に用意できなかった場合は、遅れた応答(deferred response)方式によって動作してもよく、それについて図11を参照して説明する。
図11の例示で、STAがスリープ状態からアウェイク状態に切り替わってAPからTIMを受信し、競合を経てPS−PollフレームをAPに送信する動作は、図10の例と同一である。APがPS−Pollフレームを受信したが、SIFSの間にデータフレームを用意できなかった場合、データフレームを送信する代わりにACKフレームをSTAに送信してもよい。APは、ACKフレーム送信後にデータフレームが用意されると、競合を行った後、データフレームをSTAに送信することができる。STAはデータフレームを成功裏に受信したことを示すACKフレームをAPに送信し、スリープ状態に切り替わり得る。
図12は、APがDTIMを送信する例に関するものである。STAはAPからDTIM要素を含むビーコンフレームを受信するためにスリープ状態からアウェイク状態に切り替わってもよい。これらのSTAは、受信したDTIMから、マルチキャスト/ブロードキャストフレームが送信されることがわかる。APは、DTIMを含むビーコンフレームを送信後に、PS−Pollフレームの送受信動作無しで直ちにデータ(すなわち、マルチキャスト/ブロードキャストフレーム)を送信することができる。これらのSTAは、DTIMを含むビーコンフレームを受信してから引き続きアウェイク状態を維持しながらデータを受信し、データ受信が完了した後再びスリープ状態に切り替わり得る。
フレーム構造
図13は、IEEE 802.11システムで用いられるフレーム構造の一例を説明するための図である。
PPDU(Physical Layer Convergence Protocol(PLCP)Packet 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フィールド及びデータフィールドのみで構成することができる。また、PPDUフレームフォーマットの種類(例えば、HT−mixedフォーマットPPDU、HT−greenfieldフォーマットPPDU、VHT(Very High Throughput)PPDUなど)によって、SIGフィールドとデータフィールドとの間に追加の(又は、他の種類の)STF、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(PLCP Service Data Unit)、PPDU TAILビットを含むことができ、必要な場合にはパディングビットを含むこともできる。SERVICEフィールドの一部のビットは、受信端におけるデスクランブラの同期化のために用いることができる。PSDUは、MAC層で定義されるMAC PDU(Protocol Data Unit)に対応し、上位層で生成/利用されるデータを含むことができる。PPDU TAILビットは、エンコーダを0状態にリターンするために用いることができる。パディングビットは、データフィールドの長さを所定の単位に合わせるために用いることができる。
MAC PDUは、様々なMACフレームフォーマットによって定義し、基本的なMACフレームは、MACヘッダー、フレームボディー、及びFCS(Frame Check Sequence)で構成する。MACフレームは、MAC PDUで構成し、PPDUフレームフォーマットのデータ部分のPSDUを介して送信/受信することができる。
MACヘッダーは、フレーム制御(Frame Control)フィールド、期間(Duration)/IDフィールド、アドレス(Address)フィールドなどを含む。フレーム制御フィールドは、フレーム送信/受信に必要な制御情報を含むことができる。期間/IDフィールドは当該フレームなどを送信するための時間に設定することができる。MACヘッダーのSequence Control、QoS Control、HT Controlサブフィールドなどの具体的な内容は、IEEE802.11−2012標準文書を参照することができる。
MACヘッダーのフレーム制御フィールドは、Protocol Version、Type、Subtype、To DS、From DS、More Fragment、Retry、Power Management、More Data、Protected Frame、Orderサブフィールドを含むことができる。フレーム制御フィールドのそれぞれのサブフィールドの内容は、IEEE802.11−2012標準文書を参照することができる。
一方、ヌル−データパケット(NDP)フレームフォーマットは、データパケットを含まない形態のフレームフォーマットを意味する。すなわち、NDPフレームは、一般のPPDUフォーマットにおいてPLCPヘッダー部分(すなわち、STF、LTF及びSIGフィールド)のみを含み、残りの部分(すなわち、データフィールド)は含まないフレームフォーマットを意味する。NDPフレームは、短い(short)フレームフォーマットと呼ぶこともできる。
TXOP中断
EDCAを用いてチャネルにアクセスできるようになったSTAが自身の送信待機列(queue)を空けた場合、残っている時間区間がフレーム送信に十分であれば、CF(Contention Free)−ENDフレームを送信することができる。CF−ENDフレームを送信することによって、当該STAは、自身の送信機会(Transmission Opportunity;TXOP)が終了したことを明示的に示すことができる。ここで、TXOPは、特定STAが無線媒体上におけるフレーム交換を開始する権利を有する時間インターバルと定義することができ、開始タイミング及び最大期間値によって設定することができる。
CF−ENDフレームを送信するTXOP保有者(holder)は、現在TXOP内で更なるフレーム交換シーケンスを開始してはならない。
TXOP保有者ではない非−AP STAはCF−ENDフレームを送信してはならない。
CF−ENDフレームを受信するSTAは、それをNAVリセット(reset)と解釈する。すなわち、当該STAは、CF−ENDフレームを含むデータユニット(例えば、PPDU)の終了時点でNAVタイマーを0にリセットすることができる。
APが自身のBSSIDと一致するBSSIDを有するCF−ENDフレームを受信した場合、SIFS時間の後にCF−ENDフレームを送信することによって応答することができる。
TXOP保有者による単一CF−ENDフレームの送信は、当該TXOP保有者の送信を聞く(hear)ことができるSTAのNAVをリセットすることができる。このNAVリセットを誘発するCF−ENDフレームを聞くことはできないが、NAVをリセットするTXOP応答者の送信を聞くことができるSTAが存在することができる(例えば、隠されたノードの状況)。このようなSTAは、本来のNAV予約(reservation)が満了するまでは媒体に対する競合が禁止される。
図14は、TXOP中断(truncation)の例示を説明するための図である。
STAは、EDCAチャネルアクセスを用いて媒体にアクセスすることができる。その後、STAは、NAV設定シーケンス(例えば、RTS/CTS)を送信することができる。SIFS時間後に、STAは開始者(initiator)シーケンスを送信し、これによって、TXOP保有者とTXOP応答者間の複数個のPPDUの送受信を行うことができる。PPDU送受信シーケンスの終了時点に、TXOP保有者が当該TXOP内に送信されるに適したデータをそれ以上持っていないと、TXOP保有者STAはCF−ENDフレームを送信することによってTXOPを中断(truncate)させることができる。
CF−ENDフレームを受信するSTAは、それらのNAVをリセットし、更なる遅延無しで媒体に対する競合を始めることができる。
このように、TXOPを取得したSTAがそれ以上送信するデータを持っていない場合に、TXOPの保有者(又は、所有者(owner))によるCF−ENDフレームのブロードキャストによってTXOPを中断することができる。CF−ENDフレームを受信したSTAは、NAVをリセットし、CF−ENDフレーム後からチャネルアクセス(又は、チャネルに対する競合)を再び行うことができる。
TIM構造
図9乃至図12を参照して上述したTIM(又は、DTIM)プロトコルに基づく節電モード運営方法において、STAは、TIM要素に含まれたSTA識別情報から、自身のために送信されるデータフレームが存在するか否かを確認することができる。STA識別情報は、STAとAPとの連携(association)時にSTAに割り当てられた識別子であるAID(Association Identifier)に関する情報であってよい。
AIDは一つのBSS内ではそれぞれのSTAに対する固有の(unique)識別子として使われる。一例として、現在無線LANシステムにおいてAIDとしては1から2007までのいずれか一つの値を割り当てることができる。現在定義されている無線LANシステムでは、AP及び/又はSTAが送信するフレームにはAIDのために14ビットを割り当てることができ、AID値は16383まで割り当てることができるが、2008〜16383は予備(reserved)値として設定されている。
既存の定義によるTIM要素は、一つのAPに多数(例えば、2007個を超える)のSTAが連携され得るM2Mアプリケーションの適用には適していない。既存のTIM構造をそのまま拡張するとTIMビットマップのサイズが過大になるため、既存のフレームフォーマットでは支援することができず、また、低い伝送レートのアプリケーションを考慮するM2M通信に適していない。また、M2M通信では、一つのビーコン周期の間に受信データフレームが存在するSTAの個数は大変少ないと予想される。したがって、このようなM2M通信の適用例を考慮すれば、TIMビットマップのサイズは大きくなるが、大部分のビットが0値を有する場合が多く発生すると予想されるため、ビットマップを効率的に圧縮する技術が要求される。
既存のビットマップ圧縮技術として、ビットマップの先頭部分に連続する0を省略し、オフセット(offset)(又は、開始点)値で定義する方案がある。しかし、バッファされたフレームが存在するSTAの個数は少ないが、それぞれのSTAのAID値の差が大きい場合には圧縮効率が高くない。例えば、AIDが10と2000の値であるただ2つのSTAに送信するフレームのみがバッファされている場合、圧縮されたビットマップの長さは1990であるが、両端を除いてはいずれも0の値を有することになる。一つのAPに連携され得るSTAの個数が少ない場合にはビットマップ圧縮の非効率性があまり問題にならないが、STAの個数が増加する場合は、このような非効率性が全体システム性能を阻害する要素になることもある。
これを解決するための方案として、AIDを複数のグループに分けてより効果的なデータ送信を行うようにすることができる。各グループには、指定されたグループID(GID)が割り当てられる。このようなグループベースで割り当てられるAIDについて図15を参照して説明する。
図15(a)は、グループベースで割り当てられたAIDの一例を示す図である。図15(a)の例示では、AIDビットマップの先頭部におけるいくつかのビットを、GIDを示すために用いることができる。例えば、AIDビットマップにおける先頭の2ビットを用いて4個のGIDを示すことができる。AIDビットマップの全体長がNビットである場合、先頭の2ビット(B1及びB2)の値は当該AIDのGIDを示す。
図15(b)は、グループベースで割り当てられたAIDの他の例を示す図である。図15(b)の例では、AIDの位置によってGIDを割り当てることができる。このとき、同一のGIDを使用するAIDはオフセット(offset)及び長さ(length)の値で表現することができる。例えば、GID 1がオフセットA及び長さBで表現されると、ビットマップ上でA乃至A+B−1のAIDがGID 1を有するということを意味する。例えば、図15(b)の例で、全体1乃至N4のAIDが4個のグループに分割されると仮定する。この場合、GID 1に属するAIDは1乃至N1であり、このグループに属するAIDはオフセット1及び長さN1で表現することができる。次に、GID 2に属するAIDをオフセットN1+1及び長さN2−N1+1で表現することができ、GID 3に属するAIDをオフセットN2+1及び長さN3−N2+1で表現することができ、GID 4に属するAIDをオフセットN3+1及び長さN4−N3+1で表現することができる。
このようなグループベースで割り当てられるAIDが導入されると、GIDによって異なる時間区間にチャネルアクセスを許容できるようにすることによって、多数のSTAに対するTIM要素不足の問題を解決すると同時に、効率的なデータの送受信を行うことができる。例えば、特定時間区間では特定グループに該当するSTAにのみチャネルアクセスが許容され、残りの他のSTAにはチャネルアクセスが禁止されてもよい。このように特定STAにのみアクセスが許容される所定の時間区間を、制限されたアクセスウィンドウ(Restricted Access Window;RAW)と呼ぶこともできる。
GIDによるチャネルアクセスについて図15(c)を参照して説明する。図15(c)では、AIDが3個のグループに分けられている場合、ビーコンインターバルによるチャネルアクセスメカニズムを例示的に示す。一番目のビーコンインターバル(又は、一番目のRAW)は、GID 1に属するAIDに該当するSTAのチャネルアクセスが許容される区間で、他のGIDに属するSTAのチャネルアクセスは許容されない。これを具現するために、一番目のビーコンにはGID 1に該当するAIDのみのためのTIM要素が含まれる。二番目のビーコンフレームにはGID 2を有するAIDのみのためのTIM要素が含まれ、これによって二番目のビーコンインターバル(又は、二番目のRAW)の間には、GID 2に属するAIDに該当するSTAのチャネルアクセスのみが許容される。三番目のビーコンフレームには、GID 3を有するAIDのみのためのTIM要素が含まれ、これによって三番目のビーコンインターバル(又は、三番目のRAW)の間には、GID 3に属するAIDに該当するSTAのチャネルアクセスのみが許容される。四番目のビーコンフレームには再びGID 1を有するAIDのみのためのTIM要素が含まれ、これによって四番目のビーコンインターバル(又は、四番目のRAW)の間には、GID 1に属するAIDに該当するSTAのチャネルアクセスのみが許容される。続いて、五番目以降のビーコンインターバル(又は、五番目以降のRAW)のそれぞれにおいても、当該ビーコンフレームに含まれたTIMで示す特定グループに属したSTAのチャネルアクセスのみが許容されてもよい。
図15(c)では、ビーコンインターバルによって許容されるGIDの順序が循環的又は周期的である例を示しているが、これに制限されることはない。すなわち、TIM要素に特定GIDに属するAIDのみを含めることによって、特定時間区間(例えば、特定RAW)の間に、これら特定AIDに該当するSTAのみのチャネルアクセスを許容し、残りのSTAのチャネルアクセスは許容しない方式で動作してもよい。
図16は、グループ単位チャネルアクセスを説明するための図である。
前述したようにAIDに基づいて一つ以上のグループを構成し、グループ別に区分される時間区間にチャネルアクセスを許容するようにするとき、全STAのチャネルアクセスが許容される特定時間区間(すなわち、All channel access区間)を設定することができる。又は、All channel access区間には、APと連携していないSTAのみがチャネルアクセスを用いてAPにフレームを送信することが許容されるようにすることもできる。
図16(a)のように特定グループに属したSTAのチャネルアクセスが許容される時間区間がビーコンインターバル単位に設定される場合に、特定ビーコンインターバルをAll channel access区間として設定することができる。
図16(b)のように、一つのビーコンインターバル内で一部の時間区間をAll channel access区間として設定し、他の部分を特定グループに属したSTAのチャネルアクセスが許容される区間として設定することもできる。
図16(c)のように、グループ単位チャネルアクセス区間は、一つのビーコンインターバルを複数の区間に分けて設定することもできる。例えば、AIDが3個のグループに分けられるとき、一つのビーコンインターバルを4個の時間区間に分けることができる。ここで、4個の時間区間のうちの一つはAll channel access区間として設定し、残り3個の時間区間をグループ別に割り当てることができる。
図16(d)のように、一つのビーコンインターバル内に追加の時間区間をさらに設定することもできる。例えば、AIDが3個のグループに分けられているとき、一つのビーコンインターバルを6個の時間区間に分けることができる。6個のうちの3個の時間区間はグループ別に一つずつ割り当て、残り3個の区間をAll channel access区間として設定することができる。図16(d)の例では、グループ別に割り当てられる時間区間とAll channel access区間が交互に現れているが、これは単なる例であり、これに制限されるものではない。
前述したようなグループベースAID割当方式は、TIMの階層的(hierarchical)構造と呼ぶこともできる。すなわち、全体AID空間を複数個のブロックに分割し、0以外の値を持つ特定ブロックに該当するSTA(すなわち、特定グループのSTA)のチャネルアクセスのみが許容されるようにすることができる。これによって、大きいサイズのTIMを小さいブロック/グループに分割して、STAがTIM情報を維持しやすくし、STAのクラス、サービス品質(QoS)、又は用途によってブロック/グループが管理しやすくなる。図15の例では2−レベルの階層を示しているが、2つ以上のレベルの形態で階層的構造のTIMが構成されてもよい。例えば、全体AID空間を複数個のページ(page)グループに分割し、それぞれのページグループを複数個のブロックに区別し、それぞれのブロックを複数個のサブ−ブロックに分割することができる。このような場合、図15(a)の例の拡張として、AIDビットマップにおいて先頭のN1個のビットはページID(すなわち、PID)を示し、その次のN2個のビットはブロックIDを示し、その次のN3個のビットはサブ−ブロックIDを示し、残りのビットがサブ−ブロック内のSTAビット位置を示す方式で構成されてもよい。
以下に説明する本発明の例において、STA(又は、それぞれのSTAに割り当てられたAID)を所定の階層的なグループ単位に分割して管理する様々な方式が適用されてもよく、グループベースAID割当方式が上記の例に制限されるものではない。
RAWにおけるTXOP中断
図15及び16の例で上述した通り、チャネルアクセス区間が、特定グループに属したSTAのみが制限的に許容される時間区間(例えば、特定グループに割り当てられたRAW)と、全STAが使用できる又はAPと連携していないSTAが使用できる時間区間(例えば、All channel access区間)などとに区分されている場合に、それぞれのチャネルアクセス区間別に当該区間を使用することが許容されるSTAのチャネルアクセスを保護(protect)する必要がある。
特定グループに属したSTAに制限的にチャネルアクセスが許容される区間をRAW(Restricted Access Window)と呼ぶ。特定RAWでチャネルアクセスが許容されるSTAを除く他のSTAに対してはチャネルアクセスが許容されない。当該他のSTAは、上記RAWに該当する時間にNAV(Network Allocation Vector)を設定しなければならない。これによって、他のSTAが上記RAWに該当する時間にチャネルアクセスを試みることを防ぐことができる。
図17は、RAWパラメータセット情報要素の例示的なフォーマットを示す図である。
図17の例で、Element IDフィールドは、当該情報要素(IE)がRAWパラメータセット(RPS) IEであることを示す値に設定することができる。
Lengthフィールドは、後続するフィールドの長さを示す値に設定することができる。
GIDフィールドは、Restricted Access Window Start Offset及びRestricted Access Window Durationによって指定される時間区間でチャネルアクセスが許容されるSTAを示す値に設定することができる。
Restricted Access Window Start Offsetフィールドは、RAWの開始時点を示す値に設定することができる。例えば、ビーコンフレームの終了時点を基準にRAW開始オフセット値を設定することができる。
Restricted Access Window Durationフィールドは、RAWのデューレーションを示す値に設定することができる。
APは、図17のようなRAWパラメータセット(RPS)IEをビーコンフレームなどを用いてSTAに送信することができる。このようなRPS IEを受信したSTAの中で、当該RAWに割り当てられる(又は、当該GIDに属した)STAのみにチャネルアクセスが許容され、当該RAWに割り当てられていない(又は、当該GIDに属しない)STAは、RAWの間にNAVを設定することができる。
RAWの間にチャネルアクセスが許容されるSTAは、EDCAバックオフを用いてチャネルアクセスを試みる。例えば、AIFS(Arbitration Inter−Frame Space)時間の間にチャネルが遊休(idle)状態であると、STAは、競合ウィンドウに該当する時間の間にキャリアセンシングを行い、チャネルが遊休状態であると、フレームを送信することができる。
ここで、Controlフレーム(例えば、RTS、CTS又はACKフレームなど)、DATAフレーム、Managementフレームなどは、Durationフィールドを含む。このようなフレームを受信したSTAのうち、当該フレームの目的STA以外のSTAは、受信したフレームに含まれたDurationフィールドの値に基づいてNAVを設定し、チャネルアクセスを延期(defer)する。このようなNAV設定過程によって、隠されたノードに属したSTAが、物理的キャリアセンシングの結果、チャネル(又は、媒体)が遊休状態であっても、NAVが設定された状態ではチャネルアクセスを試みず、よって、進行中のフレーム交換(frame exchange)を妨害することを防ぐことができる。
EDCAメカニズムによって成功裏にチャネルアクセスを行ったSTAは、TXOPの間に一つ以上のフレーム送信を行うことができる。ここで、上記STAのTXOPに対する保護は、送信フレームに含まれたDurationフィールド値に基づく他のSTAのNAV設定によってなされる。
一般に、TXOPは、端末の実際の送信時間とは無関係に、TXOP限界(limit)に該当する時間の間にNAVを設定するようにする。仮に、それ以上送るフレームがないと、CF−ENDのようなフレームを送信してこのような事実を他のSTAに知らせ、他のSTAがNAVをリセットするようにする。あるSTAのNAVがリセットされるということは、当該STAがチャネルアクセスを試みることができるということ(すなわち、それ以上遅延しないで媒体に対する競合を始めることができるということ)を意味する。
特定RAWに割り当てられたSTAがEDCAメカニズムを用いたチャネルアクセスを行った後、当該STAが自身のTXOPを中断(truncation)するためにCF−ENDフレームを送信する場合を仮定することができる。このようなCF−ENDフレームは、上記RAWに属した他のSTAが、TXOP保有者だったSTAのTXOP中断を認識してチャネルアクセスを試みるようにするためである。しかし、既存のTXOP中断メカニズムによれば、CF−ENDフレームを受信した他の全てのSTAのNAVがリセットされる。すなわち、特定RAWのデューレーションがまだ終了していない状況で、あるSTAが送信したCF−ENDフレームによって、上記特定RAWに割り当てられていない他のSTAのNAVまでもリセットされることがある。この場合、上記他のSTAは上記特定RAWに割り当てられていないが、NAVリセットによって上記特定RAW途中にチャネルアクセスを試みるという問題が発生しうる。
本発明では、特定STAのチャネルアクセスのみが制限的に許容される所定の時間区間が設定された場合、該所定の時間区間でなされるTXOP中断は、上記特定STAのみを対象にして行われるようにすることを提案する。
以下に説明する本発明の様々な例で、上記所定の時間区間はRAWであるとして説明し、本発明に係るTXOP中断方案を「RAWにおけるTXOP中断(TXOP Truncation in RAW)」と呼ぶことができる。しかし、本発明の範囲がこれに制限されるものではなく、特定STAだけがEDCAメカニズムによってチャネルアクセスを行う任意の時間区間でTXOP中断が行われる方案として適用されてもよい。
本発明の提案によるRAWにおけるTXOP中断方案の一例として、RAWが設定されると、該RAWに割り当てられたグループに属しないSTAは、上記RAW区間でCF−ENDフレームを受信してもそれを無視(ignore)又は廃棄(discard)することができる。CF−ENDフレームを無視又は廃棄するということは、CF−ENDフレームを受信してもNAVをリセットしない(すなわち、以前に設定されたNAVを維持し、チャネルアクセスを試みない)ということと理解することができる。一方、上記RAWに割り当てられたグループに属したSTAは、上記RAW区間でCF−ENDフレームを受信した場合には、NAVをリセットすることができる(すなわち、チャネルアクセスを試みることができる)。
このような本発明の例によれば、TXOP中断動作の規則が簡単に具現され、RAWに割り当てられたSTAを保護できるという側面で有利な効果を有する。一方、RAWに割り当てられたSTAが送信又は受信するフレームをそれ以上持っていないと、上記RAW区間に他のSTAのチャネルアクセスは禁止されているため、チャネルを誰も使用しない場合が発生しうる。この場合にも、RAWに該当する時間区間を減らしたり早期に終了することができず、チャネル利用効率性の低下によるシステム性能が低下しうる。
本発明の提案によるRAWにおけるTXOP中断方案の他の例として、互いに異なる2タイプのCF−ENDフレームを定義することを提案する。
第1タイプのCF−ENDフレームは、当該CF−ENDフレームを受信した全STAがNAVをリセットするようにするものである。すなわち、RAWに割り当てられているか否かをとわず、CF−ENDフレームを受信したSTAはいずれもNAVをリセットすべきであること示す情報を当該CF−ENDフレームに含めることができる。
第2タイプのCF−ENDフレームは、制限されたCF−ENDフレーム(すなわち、RCF−ENDフレーム)と呼ぶことができる。RCF−ENDフレームは、RAWのように特定グループに属したSTAにのみチャネルアクセスが許容される区間では、該特定グループに属したSTAのみがNAVをリセットするようにするものである。特定グループに属しない他のSTAは、RCF−ENDフレームを受信してもNAVをリセットしないように動作する。このように特定グループのSTAのみがNAVをリセットすべきであること示す情報を、当該CF−ENDフレーム(すなわち、RCF−ENDフレーム)に含めることができる。
図18は、本発明の一例によるTXOP中断方案を説明するための図である。
図18の例で、APがビーコンフレームを用いてGID1に対してRAWを設定したと仮定する。GID1のグループに属したSTA1及びSTA2は、GID1に対するRAWの間にEDCAメカニズムを用いたバックオフ後にフレーム送信を行うことができる。GID1のグループに属しないSTA3は、GID1に対するRAWの間にNAVを設定してチャネルアクセスを延期(defer)することができる。すなわち、STA3に対して設定されるNAV値は、RAWの時間長に該当する値であってもよい。
STA1とSTA2のうち、STA1がEDCAメカニズムによってまずTXOPを取得したと仮定する。このため、STA1はRTS送信及びCTS受信を行い、このようなRTS/CTSフレームに含まれたDurationフィールドに基づいてSTA2はNAVを設定することができる。STA2の設定するNAVは、TXOPの限界(limit)に該当する。
STA1がデータフレームをAPに送信し、APからACKフレームを受信することができる。STA1は、それ以上送信するフレームがないと、RCF−ENDフレームを送信することができる(例えば、本発明の上記例において第2タイプのCF−ENDフレーム)。RCF−ENDフレームを受信したSTA2はNAV値をリセットすることができる。すなわち、STA2で本来設定されていたNAV値はTXOPの限界に該当する値であるが、これを減らし、RCF−ENDフレームの受信を完了した時点でNAVが終了するように値を再設定する。
STA3もSTA1の送信したRCF−ENDフレームを受信するが、STA3はNAV値をリセットしない。すなわち、RCF−ENDフレームを受信したSTAは特定条件でのみ(例えば、制限されたSTAのチャネルアクセスのみが許容される区間では当該制限されたSTAのみが)NAVをリセットする。
NAVがリセットされたSTA2は、EDCAメカニズムを用いてTXOPを取得し、RTS送信及びCTS受信を行い、データフレームを送信することができる。STA2のRTS送信及びCTS受信によって、STA1のNAVを設定することができる。STA2は、データフレームをAPに送信し、APからACKフレームを受信することができる。その後、APがCF−ENDフレームを送信してRAWを中断することができる。APが送信したCF−ENDフレームは、特定GID又は特定RAWに割り当てられたSTAに限定されずに全てのSTAを対象にするもの(例えば、本発明の上記例において第1タイプのCF−ENDフレーム)である。このため、APからのCF−ENDフレームを受信したSTAはいずれもNAVをリセットする。
このように互いに異なった動作をトリガーするCF−ENDフレーム(例えば、第1タイプのCF−ENDフレーム又は第2タイプのCF−ENDフレーム(又は、RCF−ENDフレーム))は、フレーム制御(FC)フィールドのフレームタイプフィールド又はサブタイプフィールドの値を異なるように設定することによって区別することができる。又は、フレームフォーマットは同一に使用するが、CF−ENDフレームで既存に使用されない特定フレーム(例えば、Durationフィールド)を再使用又は再定義することによって、互いに異なった動作をトリガーするCF−ENDフレームを区別することもできる。
例えば、CF−ENDフレームを送信するSTAは、該CF−ENDフレームのDurationフィールドの値を0又は0以外の値(non−zero value)に設定することができる。CF−ENDフレームを受信した全てのSTAがNAVをリセットするようにするためには(すなわち、第1タイプのCF−ENDフレームであることを示すためには)、CF−ENDフレームのDurationフィールドの値を0に設定することができる。一方、特定条件を満たすSTA(例えば、当該RAWでチャネルアクセスが許容されたSTA)のみがNAVをリセットし、上記特定条件を満たしていない他のSTAはNAVをリセットしないようにするためには(すなわち、第2タイプのCF−ENDフレームであることを示すためには)、CF−ENDフレームのDurationフィールドの値を0以外の値(non−zero value)に設定することができる。
CF−ENDフレームを受信するSTAの動作を、次のように定義することができる。0に設定されたDurationフィールドを含むCF−ENDフレームを受信するSTAはいずれもNAVをリセットするように動作することができる。一方、0以外の値に設定されたDurationフィールドを含むCF−ENDフレームを受信するSTAは、特定条件を満たす場合にはNAVをリセットすることができる。仮に、0以外の値に設定されたDurationフィールドを含むCF−ENDフレームを受信したSTAが上記特定条件を満たしていないと、当該STAは、NAVをリセットせず、受信されたCF−ENDフレームを無視(ignore)又は廃棄(discard)するように動作できる。
本発明の他の提案によれば、CF−ENDフレームのDurationフィールドを0以外の値に設定する例において、Durationフィールドを任意の0以外の値に設定する代わりに、リセットするNAV値に対応する0以外の値に設定することができる。この場合、CF−ENDフレームを受信したSTAは、CF−ENDフレームのDurationフィールドの値が、現在自身に設定されているNAV値以下であるとNAV値を減らす(すなわち、NAVをリセットする)。一方、STAが受信したCF−ENDフレームのDurationフィールドの値がNAV値よりも大きいと、NAV値を減らさない(すなわち、NAVをリセットしない)。すなわち、特定条件を満たすSTAのみがNAVをリセットするようにするCF−ENDフレーム(又は、上記の例示ではRCF−ENDフレーム))において、上記特定条件を、Durationフィールドの示す値がCF−ENDフレームを受信したSTAに設定されたNAV値以下である場合と定義することと理解することもできる。
図18の例で、STA1が送信するCF−ENDフレーム(又は、RCF−ENDフレーム)のDurationフィールドを、STA1が開始したTXOPの残っている時間を示す値に設定することができる。すなわち、STA1が送信するCF−ENDフレームのDurationフィールドの値はSTA2に設定されたNAV値以下であるため、STA2はNAVをリセットすることができる。一方、STA3に対して設定されたNAV値は、RAW区間の時間長に該当する。したがって、STA1の送信したCF−ENDフレームを受信したSTA3は、CF−ENDフレームのDurationフィールドの値が自身のNAV値に比べて大きいため、NAVをリセットしない。STA3は、APの送信するCF−ENDフレーム(すなわち、Durationフィールドの値が0に設定されたCF−ENDフレーム)を受信すると、NAVをリセットする。
また、本発明の他の提案によれば、CF−ENDフレームのDurationフィールドを0以外の値に設定する例において、Durationフィールドを任意の0以外の値に設定する代わりに、リセットするNAV値に対応する0以外の値に設定することができる。この場合、CF−ENDフレームを受信したSTAは、CF−ENDフレームのDurationフィールドの値と、現在自身に設定されているNAV値とを比較して、同一である場合にはNAV値を減らす(すなわち、NAVをリセットする)。一方、STAが受信したCF−ENDフレームのDurationフィールドの値とNAV値とが同一でないと、NAV値を減らさない(すなわち、NAVをリセットしない)。すなわち、特定条件を満たすSTAのみがNAVをリセットするようにするCF−ENDフレーム(又は、上記例ではRCF−ENDフレーム))において、上記特定条件を、Durationフィールドが示す値とCF−ENDフレームを受信したSTAに設定されたNAV値とが同一である場合と定義することと理解することもできる。
図18の例で、STA1が送信するCF−ENDフレーム(又は、RCF−ENDフレーム)のDurationフィールドは、STA1が開始したTXOPの残っている時間を示す値に設定することができる。すなわち、STA1が送信するCF−ENDフレームのDurationフィールドの値は、STA2に設定されたNAV値と同一になる。このため、STA1の送信するCF−ENDフレームを受信したSTA2は、CF−ENDフレームのDurationフィールドの値と自身のNAV値とを比較し、両者が同一のため、自身のNAVをリセットすることができる。一方、STA3に対して設定されたNAV値は、RAW区間の時間長に該当する。したがって、STA1の送信したCF−ENDフレームを受信したSTA3は、CF−ENDフレームのDurationフィールドの値と自身のNAV値とを比較し、両者が異なるため、自身のNAVをリセットしない。STA3は、APの送信するCF−ENDフレーム(すなわち、Durationフィールドの値が0に設定されたCF−ENDフレーム)を受信すると、NAVをリセットする。
ここで、現在設定されているNAV値と受信したCF−ENDフレームのDurationフィールドの値とを比較し、STAのNAVをリセットするか否かを判断する際、STAのTSF(Timing Synchronization Function)の正確度(accuracy)を考慮する必要がある。例えば、CF−ENDフレームのDurationフィールドの値が50ms(又は50,000μs)を示す場合、当該フレームが終了し、50ms後にNAVをリセットしなければならないということを意味できる。TXOP保有者から送信されたフレームに含まれたDurationフィールドの値に基づいて正常にNAVを設定したSTAであっても、TXOP保有者のTSFと自身のTSFのタイマーエラーが存在しうる。この場合、図9の例示でSTA1がCF−ENDフレームのDuration値をTXOPの残っている時間を示す値に設定しても、この値はSTA2の現在NAV値と同一でないこともある(すなわち、STA1の本来の意図は、STA2の設定したNAV値と自身のTXOPの残っている時間を示す値とが同一であると仮定するが、STA1とSTA2のTSFエラーが存在することから両値が同一でないこともある)。このようにTSFタイマーの正確度によってエラーが存在しうるため、ある程度の範囲の誤差値(すなわち、+/−delta)は実質的に同一の値として処理する方が、本来のTXOP中断及びRAW内の他のSTAのチャネルアクセスを許容するという目的に、より適合する。ここで、NAVは、マイクロ秒単位に計算/決定し、deltaは、TSFタイマーエラーを考慮して適度の自然数値(例えば、数マイクロ秒)に設定することができる。
したがって、あるSTAが受信したCF−ENDフレームのDurationフィールドの0以外の値が、該STAのNAV値を基準とする所定の範囲の値(例えば、NAV value−delta乃至NAV value+delta範囲の値)と一致する場合には、NAVをリセットし、媒体競合を開始する(又は、チャネルアクセスを試みる)ことができる。一方、あるSTAが受信したCF−ENDフレームのDurationフィールドの0以外の値が、該STAのNAV値を基準とする所定の範囲の値(例えば、NAV value−delta乃至NAV value+delta範囲の値)と一致しない場合には、NAVをリセットせず、上記CF−ENDフレームを無視又は廃棄するとができる。
図19は、本発明の他の例によるTXOP中断方案を説明するための図である。
図19の例で、RAWが設定され、STA1及びSTA2は該RAWにおけるチャネルアクセスが許容され(granted)、該RAWにおけるチャネルアクセスが許容されないサードパーティーSTAが存在すると仮定する。
RAWにおけるTXOPを取得した(すなわち、TXOP保有者である)Granted STA1は、DATAフレームを全て送信し、APからACKフレームを受信した後に、それ以上送信するフレームがないと、CF−ENDフレームを送信することができる。ここで、Granted STA1が送信するCF−ENDフレームのDurationフィールドは、STA1自身がTXOP保有者の立場で設定した(例えば、DATAフレームを送る前のRTS送信及びCTS受信によって設定した)TXOP時間区間のうち、まだ残っている時間値に設定することができる。STA1の送信するCF−ENDフレームを受信するGranted STA2は、CF−ENDフレームのDurationフィールドの値と自身のNAV値とを比較することができる。比較の結果、両者が同一であると(又は、Durationフィールドの値がNAV値+/−deltaの範囲に含まれると)、STA2はNAVをリセットすることができる。
RAWにおけるチャネルアクセスが許容されないサードパーティーSTAに対しては、ビーコンフレームなどを用いてRAW区間分のNAVを設定することができる。このため、サードパーティーSTAは、Granted STA1が送信するCF−ENDフレームを受信した場合、CF−ENDフレームのDurationフィールドの値を自身のNAV値と比較することができる。比較の結果、両者が互いに異なると(又は、Durationフィールドの値がNAV値+/−deltaの範囲に含まれないと)、サードパーティーSTAは、NAVをリセットせず、CF−ENDフレームを廃棄することができる。
Granted STA1が送信したCF−ENDフレームのDurationフィールド値を確認してNAVをリセットしたGranted STA2は、チャネルアクセスを試みて(例えば、バックオフを経て)RTSを送信しCTSを受信した後、DATAフレームをAPに送信することができる。DATAフレーム送信に応答して、STA2はAPからACKフレームを受信することができる。その後、APがRAWを終了するためにCF−ENDフレームを送信することができる。
ここで、APが送信するCF−ENDフレームのDurationフィールドは、残っているRAW区間の長さに該当する値に設定することができる。サードパーティーSTAは、APの送信するCF−ENDフレームを受信した場合、CF−ENDフレームのDurationフィールドの値を自身のNAV値と比較することができる。比較の結果、両者が同一であると(又は、Durationフィールドの値がNAV値+/−deltaの範囲に含まれないと)、サードパーティーSTAは、NAVをリセットし、チャネルアクセスを試みることができる。一方、STA1及びSTA2は、現在、NAVが設定されていない状態であり、RAW区間内でそれ以上送信するデータがないことから、チャネルアクセスを試みていない。このため、STA1及びSAT2は、APが送信するCF−ENDフレームを受信しても、そのDurationフィールドの値が自身のNAV値と同一でないから、それを無視又は廃棄することができる。
又は、APが送信するCF−ENDフレームのDurationフィールドの値は、0に設定することができ、これを受信する全てのSTA(例えば、STA1、STA2及びサードパーティーSTA)は、NAVをリセットすることができる。
図20は、本発明の他の例によるTXOP中断方案を説明するための図である。
無線LANがサービスするカバレッジが増加するにつれて(例えば、1km以上をサービスする無線LANシステム)、隠されたノード状況が頻繁に発生しうる。隠されたノード状況では、TXOP保有者の送信するCF−ENDフレームを他のSTA(すなわち、TXOP保有者に対して隠されたノードの関係にあるSTA)が聞けない場合もある。このため、TXOP保有者がCF−ENDフレームを送信することによってTXOPを中断した場合にも、他のSTAの一部は、TXOPが中断したことを知らないまま、現在設定されているTXOPが終了することを待機しながら自身の送信を延期(defer)する状況が発生しうる。このような問題を解決するために、TXOP保有者の送信するCF−ENDフレームを受信したAPが、該CF−ENDフレームをもう一度ブロードキャストすることによって、TXOP保有者の送信するCF−ENDフレームを聞いていない他のSTAにTXOP中断を知らせることができる。これによって、TXOP保有者に対して隠されたノードの関係にあるSTAは、NAVをリセットし、チャネルアクセスを試みることができる。
図20の例で、RAWが設定され、STA1、STA2及びSTA3は、該RAWにおけるチャネルアクセスが許容される(granted)と仮定する。ここで、Granted STA1とGranted STA3は、互いに隠されたノードに該当するものと仮定する。このため、STA2は、STA1の送信するRTSフレームを聞いてそのDuration値に基づいてNAVを設定することができるが、STA3は、APのCTSフレームを聞いてそのDuration値に基づいてNAVを設定する。
RAWにおけるTXOPを取得した(すなわち、TXOP保有者である)Granted STA1は、DATAフレームを全て送信し、APからACKフレームを受信した後に、それ以上送信するフレームがないと、CF−ENDフレームを送信することができる。ここで、Granted STA1が送信するCF−ENDフレームのDurationフィールドは、STA1自身がTXOP保有者の立場で設定した(例えば、DATAフレームを送る前のRTS送信及びCTS受信によって設定した)TXOP時間区間のうち、まだ残っている時間値に設定することができる。STA1の送信するCF−ENDフレームを受信するGranted STA2は、CF−ENDフレームのDurationフィールドの値と自身のNAV値とを比較することができる。比較の結果、両者が同一であると(又は、Durationフィールドの値がNAV値+/−deltaの範囲に含まれると)、STA2はNAVをリセットすることができる。
Granted STA3は、Granted STA1と隠されたノードの関係にあるため、Granted STA1の送信したCF−ENDフレームを受信できないことがある。一方、Granted STA1の送信するCF−ENDフレームを受信したAPは、当該CF−ENDフレームをブロードキャストすることができる。これによって、Granted STA3は、APのブロードキャストしたCF−ENDフレームを受信することができる。
ここで、APがブロードキャストするCF−ENDフレームのDurationフィールドは、STA1が送信したCF−ENDフレームのデューレーションフィールドと同一のタイミングを示す値に設定することができる。STA1のCF−ENDフレームとAPのCF−ENDフレームが送信される時点が互いに異なるため、それぞれのDurationフィールドの値自体が同一に設定されるものではない。すなわち、TXOP保有者であるSTA1が設定した(例えば、DATAフレームを送る前のRTS送信及びCTS受信によって設定した)TXOP時間区間のうち、まだ残っている時間値をAと仮定すれば、STA1が送信したCF−ENDフレームのDurationフィールドの値は、Aに設定される。一方、APがブロードキャストするCF−ENDフレームのDurationフィールドは、A−TxTime(CF−END)−SIFS値に設定されうる。ここで、TxTime(CF−END)は、APがCF−ENDフレームを送信するためにかかる時間長に該当する。
APの送信するCF−ENDフレームを受信するGranted STA3は、CF−ENDフレームのDurationフィールドの値と自身のNAV値とを比較することができる。比較の結果、両者が同一であると(又は、Durationフィールドの値がNAV値+/−deltaの範囲に含まれると)、STA3はNAVをリセットすることができる。これによって、STA3はチャネルアクセスを試みることができる。
図21は、本発明の他の例によるTXOP中断方案を説明するための図である。
図21の例では、一つのRAWが複数個のスロット(Slot0,Slot1,...)を含む場合を例示的に示す。一つのRAWに含まれる複数個のスロットの時間長は同一であると仮定できる。
STA、STA2、STA3及びSTA4は、RAW内でチャネルアクセスが許容され(Granted)、Granted STA1及びGranted STA2はSlot0に割り当てられ、Granted STA3及びGranted STA4はSlot1に割り当てられると仮定する。これによって、STA1及びSTA2はSlot 0で直ちにチャネルアクセスを試み、STA3及びSTA4はSlot 1でチャネルアクセスを試みなければならない。そのために、STA3及びSTA4に対して、RAWアクセス遅延時間(RAW Access Delay Time)値をスロットデューレーションに該当する時間だけ設定することができる。このため、STA3及びSTA4は、RAWアクセス遅延時間だけ経過した後にチャネルアクセスを試みることができる。また、STA3及びSTA4は、電力を節約するためにRAWアクセス遅延時間間にドーズ状態にあると仮定する。また、RAWにおけるチャネルアクセスが許容されないSTA、すなわち、Non−Granted STAが存在すると仮定する。
図21の例では、STA1及びSTA2はSlot 0でチャネルアクセスを試み、EDCAメカニズムによってバックオフを行ってSTA1がまずTXOPを取得する場合を仮定する。
RAWのSlot 0におけるTXOPを取得した(すなわち、TXOP保有者である)Granted STA1は、DATAフレームを全て送信し、APからACKフレームを受信した後に、それ以上送信するフレームがないと、CF−ENDフレームを送信することができる。ここで、Granted STA1が送信するCF−ENDフレームのDurationフィールドは、STA1自身がTXOP保有者の立場で設定した(例えば、DATAフレームを送る前のRTS送信及びCTS受信によって設定した)TXOP時間区間のうち、まだ残っている時間値に設定することができる。STA1の送信するCF−ENDフレームを受信するGranted STA2は、CF−ENDフレームのDurationフィールドの値と自身のNAV値とを比較することができる。比較の結果、両者が同一であると(又は、Durationフィールドの値がNAV値+/−deltaの範囲に含まれると)、STA2はNAVをリセットすることができる。
STA2は、NAVをリセットした後に、チャネルアクセスを試み(例えば、バックオフを経てRTSフレーム送信及びCTSフレーム受信し)、DATAフレームをAPに送り、APからACKフレームを受信することができる。
一方、Non−Granted STAは、Slot 0の途中にSTA1の送信するCF−ENDフレームを受信してもNAVをリセットしない。Non−Granted STAは、Granted STA1の送信するCF−ENDフレームを受信した場合、CF−ENDフレームのDurationフィールドの値を自身のNAV値と比較することができる。比較の結果、両者が互いに異なると(又は、Durationフィールドの値がNAV値+/−deltaの範囲に含まれないと)、Non−Granted STAはNAVをリセットせず、CF−ENDフレームを廃棄することができる。これは、Non−Granted STAの設定したNAV値が、RAWにおいて他のSTA又はAPから送信されるフレームによってアップデートされておらず、結果としてCF−ENDフレームのDuration値と異なるためである。又は、Non−Granted STAによって受信されたCF−ENDフレームが、全STAのNAVリセットを指示するように設定されたCF−ENDフレーム(例えば、0値に設定されたDurationフィールドを含むCF−ENDフレーム)ではないためである。
次に、図21の例では、STA3及びSTA4は、RAWアクセス遅延時間だけ経過した後にSlot 1でチャネルアクセスを試み、EDCAメカニズムによってバックオフを行ってSTA3がまずTXOPを取得する場合を仮定する。
RAWのSlot 1におけるSTA3及びSTA4の動作は、Slot 0におけるSTA1及びSTA2の動作と類似する。例えば、TXOPをまず取得したSTA3が、データ送信を終えた後、CF−ENDフレームを送信することができる。STA2は、STA1が送信したCF−ENDフレームのDurationフィールド値を確認し、自身のNAV値と同一である場合にはNAVをリセットし、チャネルアクセスを試みることができる。
Slot 1においてSTA1及びSTA2は節電のためにドーズ状態にある。
一方、Slot 1において、Non−Granted STAは、STA3の送信するCF−ENDフレームを受信してもNAVをリセットせず、CF−ENDフレームを廃棄することができる。これは、Non−Granted STAの設定したNAV値が、RAWにおいて他のSTA又はAPから送信されるフレームによってアップデートされておらず、結果としてCF−ENDフレームのDuration値と異なるためである。又は、Non−Granted STAによって受信されたCF−ENDフレームが、全てのSTAのNAVリセットを指示するように設定されたCF−ENDフレーム(例えば、0値に設定されたDurationフィールドを含むCF−ENDフレーム)ではないためである。
図22は、本発明の一例によるNAV管理方法を説明するための図である。
段階S2210で、STAは、他のSTA又はAPからCF−ENDフレームを受信することができる。CF−ENDフレームにはDurationフィールドが含まれる。CF−ENDを送信するSTA又はAPの立場では、CF−ENDフレームのDurationフィールドの値を0又は0以外の値に設定することができる。
仮に、Durationフィールドの値が0に設定されたCF−ENDフレームを受信すると、STAは、第1タイプのCF−ENDフレームを受信した場合の動作に従う。すなわち、段階S2220のように、(自身のNAV値とDurationフィールドの値とを比較する動作を行わずに)NAVをリセットすることができる。
仮にDurationフィールドの値が0以外の値に設定されたCF−ENDフレームを受信すると、STAは、第2タイプのCF−ENDフレームを受信した場合の動作に従う。すなわち、段階S2230のように、上記CF−ENDフレームのDurationフィールドの値と自身のNAV値との比較結果に基づいて、NAVをリセットするか否かを決定することができる。
段階S2240のように、STAがNAVをリセットする場合は、Durationフィールドの値が上記STAのNAV値と同一の場合(又は、TSF誤差を考慮すると、上記STAのNAV値に基づいて設定される所定の範囲値(例えば、NAV−delta乃至NAV+delta)と同一の場合)であってもよい。この場合、STAはNAVをリセットし、チャネルアクセスを試みることができる。
段階S2250のようにSTAが受信したCF−ENDフレームを廃棄する場合は、Durationフィールドの値が上記STAのNAV値と同一でない場合(又は、TSF誤差を考慮すると、上記STAのNAV値に基づいて設定される所定の範囲値(例えば、NAV−delta乃至NAV+delta)と同一でない場合)であってもよい。この場合、STAは、既存に設定されたNAV値をそのまま維持する。
図22で例示する本発明のNAV管理方法及びそれによるチャネルアクセス方法において、前述した本発明の様々な実施例で説明した事項は独立して適用されたり又は2つ以上の実施例が同時に適用されるように具現することができる。
図23は、本発明の一実施例に係る無線装置の構成を示すブロック図である。
STA1 10は、プロセッサ11、メモリ12、送受信器13を備えることができる。STA2 20は、プロセッサ21、メモリ22、送受信器23を備えることができる。送受信器13,23は、無線信号を送信/受信することができ、例えば、IEEE802システムに基づく物理層を具現することができる。プロセッサ11,21は、送受信器13,21と接続してIEEE802システムに基づく物理層及び/又はMAC層を具現することができる。プロセッサ11,21は、前述した本発明の様々な実施例に係る動作を行うように構成することができる。また、前述した本発明の様々な実施例に係るSTA1及びSTA2の動作を具現するモジュールがメモリ12,22に格納され、プロセッサ11,21によって実行されてもよい。メモリ12,22は、プロセッサ11,21の内部に設けられてもよく、又はプロセッサ11,21の外部に設けられてプロセッサ11,21と公知の手段によって接続されてもよい。
図23のSTA1 10は、NAVを管理し、これによってチャネルアクセスを行うように設定することができる。プロセッサ11は、Durationフィールドを含むCF−ENDフレームを送受信器13を介して受信するように設定することができる。また、プロセッサ11は、受信されたCF−ENDフレームが第1タイプのCF−ENDフレーム(例えば、Durationフィールド値が0であるCF−ENDフレーム)の場合に、NAVをリセットするように設定することができる。また、プロセッサ11は、受信されたCF−ENDフレームが第2タイプのCF−ENDフレーム(例えば、Durationフィールド値が0でないCF−ENDフレーム)の場合に、CF−ENDフレームのDurationフィールドの値とSTA1 10のNAV値との比較結果に基づいて、NAVをリセットするか否かを決定するように設定することができる。
図23のSTA2 20は、CF−ENDフレームを構成して送信するように設定することができる。プロセッサ21は、STA2 20がEDCAを用いてチャネルにアクセス可能になった後、送信待機列(queue)を空けた場合、残っている時間区間がフレーム送信に十分であれば、CF−ENDフレームを送受信器23を介して送信するように設定することができる。また、プロセッサ21は、送信されるCF−ENDフレームのDurationフィールドの値を0又は0以外の値に設定することができる。STA2 20は、non−AP STAであってもよく、AP STAであってもよい。
図23のSTA1 10及びSTA2 20の具体的な構成は、前述した本発明の様々な実施例において説明した事項が独立して適用されたり又は2つ以上の実施例が同時に適用されるように具現することができ、重複する内容は明確性のために説明を省略する。
上述した本発明の実施例は、様々な手段を用いて具現することができる。例えば、本発明の実施例は、ハードウェア、ファームウェア(firmware)、ソフトウェア又はそれらの結合などによって具現することができる。
ハードウェアによる具現の場合、本発明の実施例に係る方法は、一つ又はそれ以上のASICs(Application Specific Integrated Circuits)、DSPs(Digital Signal Processors)、DSPDs(Digital Signal Processing Devices)、PLDs(Programmable Logic Devices)、FPGAs(Field Programmable Gate Arrays)、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサなどによって具現することができる。
ファームウェアやソフトウェアによる具現の場合、本発明の実施例に係る方法は、以上で説明した機能又は動作を実行するモジュール、手順又は関数などの形態として具現することができる。ソフトウェアコードは、メモリユニットに記憶してプロセッサによって駆動することができる。メモリユニットは、プロセッサの内部又は外部に設けられ、既に公知の様々な手段によってプロセッサとデータを授受することができる。
以上、開示された本発明の好適な実施の形態に関する詳細な説明は、当業者が本発明を具現し実施できるように提供された。上記では、本発明の好適な実施の形態を参照して説明したが、当該技術の分野における熟練した当業者にとっては、添付の特許請求の範囲に記載された本発明の思想及び領域から逸脱しない範囲内で本発明を様々に修正及び変更させることができるということは明らかである。したがって、本発明は、ここに開示された実施の形態に制限されるものではなく、ここに開示された原理及び新規な特徴と一致する最も広い範囲を与えるためのものである。