以下、図面を参照しながら本発明の実施の形態について説明する。
(ネットワークの構成)
図1に、本実施形態に係る無線通信ネットワーク100の構成を示す。無線通信ネットワーク100は、一例において、アクセスポイント(AP101)と、端末(STA102、STA103)を含む無線LANである。なお、AP101、STA102、及びSTA103は、いずれもIEEE802.11規格シリーズの少なくともいずれかに従って通信可能な無線通信装置である。ここでは、AP101及びSTA102は、少なくともIEEE802.11ax規格に対応し、STA103は、IEEE802.11ax規格に対応しないものとする。AP101及びSTA102は、IEEE802.11ax規格以外の他のIEEE802.11規格シリーズに対応してもよい。なお、IEEEとは、Institute of Electrical and Electronics Engineersの略である。
また、参照番号に付した英文字の添え字は、各装置の台数に対応する。図1の例では、STA102は、STA102a~STA102rまでの18台が存在し、STA103は、STA103x及びSTA103yの2台が存在することが示されている。ただし、各装置の台数は一例であり、1つ以上の任意の数の装置が存在しうる。本実施形態では、IEEE802.11規格シリーズの無線LANの文脈で説明するが、同様の機能を有する他の無線通信システムに対しても、以下の議論を適用可能である。
本実施形態では、AP101が、各STAが保持している送信データの情報を収集する際に各STAへ送信するフレームを選択する。一例において、AP101は、状況に応じて、Buffer Status Report feedback pollとNDP(Null Data Packet) feedback report pollとのいずれのフレームを用いるかを決定する。以下では、Buffer Status Report pollのことをBSRPと表記し、NDP feedback report pollのことをNFRPと表記する。AP101は、BSRPとNFRPとのうちの選択されたフレームを送信し、選択されなかったフレームについては送信しないようにする。これにより、AP101は、送信データの情報の収集のために複数の別個のフレームを送信しなくなるため、効率的にSTAが保持するデータについての情報を収集することができる。以下では、このような処理を実行するAP101の構成と、BSRPとNFRPとの間でどのように上述の選択が行われるかを含んだ処理の流れの例について説明する。
(装置構成)
図2は、AP101のハードウェアの構成例を示す。なお、AP101は、一例において、記憶部201、制御部202、機能部203、入力部204、出力部205、及び通信部206を有する。通信部206は、一例において、802.11ax制御部207と非802.11ax制御部208とを含んで構成される。
記憶部201は、例えば、ROMやRAM等のメモリを含んで構成され、後述する各種動作をAP101に実行させるためのプログラムや、無線通信のための通信パラメータ等の各種情報を記憶する。なお、記憶部201は、例えば、ROM、RAM等のメモリの他に、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ、不揮発性のメモリカード、DVDなどの記憶媒体を含んでもよい。また、記憶部201は、複数のメモリ等によって構成されてもよい。
制御部202は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等のプロセッサにより構成され、記憶部201に記憶されたプログラムを実行することでAP101の全体を制御する。なお、制御部202は、記憶部201に記憶されたプログラムとOS(Operating System)との協働により、AP101を制御するようにしてもよい。また、制御部202は、マルチコア等の複数のプロセッサによって構成されてもよい。
また、制御部202は、機能部203を制御して、AP機能、撮像や印刷、投影等の所定の処理を実行する。機能部203は、AP101が所定の処理を実行するためのハードウェアである。例えば、AP101がカメラである場合、機能部203は撮像部であり、AP101がプリンタである場合、機能部203は記録部であり、AP101がプロジェクタである場合、機能部203は投影部でありうる。なお、機能部203は、1つの機能のみならず、複数の機能を実現することも可能でありうる。
入力部204は、ユーザからの各種操作の受付を行う。出力部205は、ユーザに対して各種出力を行う。ここで、出力部205による出力とは、画面上への表示や、スピーカによる音声出力、振動出力等の少なくとも1つを含む。なお、タッチパネルのように入力部204と出力部205の両方が1つのモジュールで実現されてもよい。
通信部206は、IEEE802.11規格シリーズやWi-Fi(登録商標)に準拠した無線通信の制御や、IP(Internet Protocol)通信の制御を行う。例えば、通信部206は、802.11ax制御部207または非802.11ax制御部208を切り替えて機能させることにより、IEEE802.11axに対応する通信とIEEE802.11axに対応しない通信とのいずれかを実行することができる。なお、802.11ax制御部207または非802.11ax制御部208は、共通の通信用回路等を用いて、ソフトウェアによって実現される、論理的なユニットでありうる。また、802.11ax制御部207または非802.11ax制御部208は、それぞれ専用の通信用回路等及び対応するソフトウェアによって実現される別個の物理ユニットであってもよい。また、802.11ax制御部207または非802.11ax制御部208は、一部の互いに共通するハードウェアと、その他の専用のハードウェアとによって構成されてもよい。通信部206は、アンテナ209を制御して、無線通信のための無線信号の送信及び受信を行う。
なお、STA102及びSTA103も、上述の図2と同様の構成を有しうる。ただし、例えばSTA103が、802.11ax制御部207を有しないように構成されうるなど、その一部の機能が省略されてもよいし、図2に含まれていない機能構成が追加されてもよい。
(TFの構成)
続いて、図3(A)及び図3(B)を用いて、AP101が複数のSTAによる情報の同時送信を行わせるために用いられる、IEEE802.11ax規格で規定されたTF(Trigger Frame:トリガーフレーム)の構成について説明する。TFは、STAが信号(フレーム)を送信する際の起動タイミングや無線チャネル等の情報を示す。
図3(A)において、Frame Contorolフィールド301は、本実施形態では、IEEE802.11axのTrigger Frameであることを示す値が入るフィールドであり、その長さは2オクテットである。RAフィールド303は、長さが6オクテットの、Receiver Addressが格納されるフィールドである。TAフィールド304は、長さが6オクテットの、Transmitter Addressが格納されるフィールドである。Common Infoフィールド305は、このTFの宛先である複数の端末に共通の情報を示すフィールドであり、その長さは8オクテット以上である。Common Infoフィールド305の詳細については、図3(B)を用いて後述する。Per User Infoフィールド306は、このTFの宛先に対する個別情報を示すフィールドであり、その長さは、5オクテット以上である。Per User Infoフィールド306は、BFRPとNFRPとのそれぞれで異なる内容を有するため、これらの詳細については後述する。Paddingフィールド307は、このTFの長さを4オクテットの倍数にするための可変長のパディング領域である。FCSフィールド308は、誤り検出/訂正のために付加されるFrame Check Sequenceが格納される。なお、他のフィールドについては詳細な説明を省略する。
次に、Common Infoフィールド305の詳細について説明する。図3(B)において、情報310は、Common Infoフィールド305の詳細を示す概略図である。
Trigger Typeサブフィールド311は、長さが4ビットのサブフィールドであり、図3(B)の左下方のテーブルに示すように、その値に応じてトリガの種類が特定される。図3(B)の左下方のテーブルに示すように、Trigger Typeサブフィールド311は、BSRP TFの場合は「4」に、NFRP TFの場合は「7」に、設定される。以下では、Trigger Typeフィールドが「4」に設定されたTFをBSRP TFと呼び、Trigger Typeフィールドが「7」に設定されたTFをNFRP TFと呼ぶ。
BW(Bandwidth)サブフィールド315は、長さが2ビットのサブフィールドであり、図3(B)の右下方のテーブルに示すように、その値に応じて使用される周波数帯域幅が特定される。Lengthサブフィールド312は、長さが12ビットで、TFに対する応答データの時間(duration)を示すサブフィールドである。このサブフィールドに設定される値は、IEEE802.11規格のフレームにおける物理層のL-SIGフィールドに反映される。ここで、L-SIGフィールドは、そのフィールドを持つフレームの継続時間を示す情報を含む。例えば、使用される周波数帯域幅が20MHzの場合は、BWサブフィールド315の値が0に設定される。なお、他のサブフィールドについては、ここでの説明を省略する。Trigger Dependent Common Infoサブフィールド327は、長さがvariable(可変長)のサブフィールドである。このサブフィールドによって、Trigger Typeサブフィールド311に応じた付加情報が示される。ただし、BSRP TFとNFRP TFとにおいては、このTrigger Dependent Common Infoサブフィールドは値を有しない。なお、上述のフィールド及びサブフィールド以外のフィールドについては、ここでの詳細な説明を省略する。
続いて、BSRP TFのPer User Info306の構成と、NFRP TFのPer User Info306の構成について、それぞれ、図4(A)及び図4(B)を用いて説明する。
BSRP TFは、このTFを受信したSTAのバッファ状態(送信バッファに滞留しているデータ量のキューサイズ表現)を問い合わせるために用いられる。STAは、BSRP TFを受信すると、STA自身の送信キューに滞留しているデータ量に関する情報を特定フィールドに設定したIEEE802.11axのデータフレームをAPに送信する。このデータ量に関する情報を含んだデータフレームの送信が、BSRである。ここで、データ量に関する情報が設定されるフィールドは、スケーリングファクタとアクセスカテゴリごとのキューサイズを含んで構成される。スケーリングファクタとは、キューサイズ量の単位であり、16/256/2048/32768オクテットのいずれかが指定される。ただし、これらの数値以外の数値がスケーリングファクタとして指定可能に構成されてもよい。キューサイズは、送信キューに滞留しているデータの量のスケーリングファクタによる除算結果の値である。また、キューサイズの値は、4つのアクセスカテゴリ(AC_VO:音声、AC_VI:ビデオ、AC_BE:ベストエフォート、AC_BK:バックグラウンド)ごとに、算出及び設定される。なお、この4つのアクセスカテゴリの全てに対して値が設定されなくてもよく、着目したアクセスカテゴリについての値のみが設定されてもよい。なお、STAから送信されるBSRは、上述のようにデータフレームの一部として送信されるため、APは、このデータフレームを受信したことに応じて、確認応答(ACK)を送信する。
BSRP TFのPer User Info306は、図4(A)のような構成を有する。AIDサブフィールド331は、BSRを送信すべきSTAのAssociation ID(AID)が格納される12ビットのサブフィールドである。AIDは、STAがAPへAssociation Requestを送信し、APがそれに受信したことに対してそのSTAに割り当てる数値である。STAには、上述のAssociation Requestへの応答信号としてAPから送信されるAssociation Responseによって、このAIDの数値が通知される。なお、APは、BSS(Basic Service Set)ごとにAIDをSTAと関連付けて管理する。AIDサブフィールド331によって、BSRを送信すべきSTAが指定される。RU Allocationサブフィールド332は、長さ8ビットのフィールドである。RU Allocationサブフィールド332によって、BSRを含んだデータフィールドの送信に用いるべきRUが特定される。他のフィールドについては、説明を省略する。
続いて、1つのBSRP TFに含まれるPer User Infoの数について、図5(A)~図5(B)を用いて説明する。まず、図5(A)は、CBW(Channel Band Width)が20MHzである場合のOFDMAフレームを周波数領域方向で表現した図である。CBWが20MHzの場合(CBW20の場合)、OFDMAフレームは、242本のサブキャリア(tone)を含む。また、CBWは、40MHz、80MHz、又は160MHz(80MHz+80MHz)の値をとることができ、それぞれの場合に、OFDMAフレームは、484本、996本、2×996本のサブキャリアを含む。OFDMAフレームを構成するサブキャリアに対しては、それぞれサブキャリアの周波数上での位置を特定するための番号が振られており、CBW20の場合では、-121~-1及び1~121の番号が振られる。サブキャリア番号が-121のサブキャリアが最も周波数の低いサブキャリアであり、サブキャリア番号が121のサブキャリアが最も周波数の高いサブキャリアである。なお、サブキャリア番号が-121のサブキャリアより低い所定の周波数範囲とサブキャリア番号が121のサブキャリアより高い所定の周波数範囲には、隣接周波数帯の信号に干渉しないようにするためのガードバンドが挿入される。図5(B)は、STAへのサブキャリアの割り当て単位を示すリソースユニット(RU)と、RUを割り当て可能な最大数との関係を示している。図5(B)に示されるように、CBW20の場合に、RUが26サブキャリアである場合、最大で9個のRUを割り当てることが可能である。すなわち、この場合、1つのTFによって、最大で9個のRUが割り当てられる。同様に、CBW20で、RUが、52、106、242サブキャリアである場合、それぞれ最大で4、2、1個のRUを割り当てることが可能である。また、CBW20の場合はサブキャリア数が242本であるため、RUが242を超える場合には対応していない。図5(B)の表は、さらに、CBWが40MHz、80MHz、160MHzである条件で割り当て可能なRUの数が示されている。なお、図5(B)は、各RUが同数のサブキャリアによって構成される場合に割り当て可能なRUの数を示しているが、RUごとに含まれるサブキャリアの数が異なっていてもよい。例えば、20MHz帯域において、26サブキャリアのRUが7個と52サブキャリアのRUが1個の8個のRUが割り当てられてもよい。各STAは、割り当てられたRUを用いてBSRを含んだデータフレームを送信することとなる。このため、1つのBSRP TFに含まれるPer User Infoの数は、図5(B)で示した数以下となる。
NFRP TFは、APが、多数のSTAから少量の情報を取得するために用いられる。NFRP TFに対する応答は、データ部(ペイロード部)が存在しないNull Data Packet(NDP)の形式で送信される。すなわち、NFRP TFは、収集対象の情報をNDPで送信するように指定するTFである。
NFRP TFのPer User Info306は、図4(B)のような構成を有する。Starting AIDサブフィールド341は、情報をAPに送信すべきSTAを指定するための情報が格納される、長さが12ビットのサブフィールドである。NFRP TFでは、AIDが連続する一群のSTAが指定され、これらの一群のSTAがこのNFRP TFに応答して情報のフィードバックを行う。この連続するAIDの範囲の先頭の値が、Starting AIDサブフィールド341に格納される。Starting AIDサブフィールド341に格納された値と、それ以降の所定の範囲内のAIDを有するSTAがこのNFRP TFを受信することによって、NDP形式でのフィードバックを行うこととなる。
Feedback Typeサブフィールド344は、長さが4ビットのサブフィールドであり、このサブフィールドが「0」に設定されている場合、このTFがResource Requestの用途で用いられることが示される。Multiplexing Flagサブフィールド347は、長さが1ビットのフィールドであり、NDPが使用するストリーム数を示す。Multiplexing Flagサブフィールドが「0」に設定されている場合はストリーム数が1であり、「1」に設定されている場合はストリーム数が2であることを示している。その他のサブフィールドの説明については省略する。
上述の通り、AIDが「Starting AIDサブフィールド341の値」から「Starting AIDサブフィールド341の値+規定数N-1」までのSTAが、NFRP TFに応答して情報のフィードバックを行う。ここで、規定数Nは、「定数k」と「BWフィールド315に設定された値+1」と「Multiplexing Flagサブフィールド347が示すストリーム数」との乗算値となる。定数kは、NFRP TFが送信要求するNDPの無線媒体上のOFDMAのサブキャリアの使い方によって定まる値であり、BWフィールド315の値が0の場合はk=18である。これにより、例えば、20MHzの帯域で1ストリームが指定されたNFRP TFでは、N=18×(0+1)×1=18となる。
NFRP TFを受信したSTAは、使用するサブキャリアを限定することによって、情報を送信する。すなわち、1つのSTAに対して、複数のサブキャリアが割り当てられており、その複数のサブキャリアのうちのどのサブキャリアを用いるかによって情報が送信される。例えば、NFRP TFにおいて、Feedback Typeフィールド344がResource Requestに対応する値に設定されている場合、STAは、要求するリソース量が閾値以上か否かの情報を、この手法で伝送する。この情報と使用されるサブキャリアとの関係を図5(C)に示す。図5(C)において、indexは、「Starting AIDサブフィールド341に示された値+index-1」をAIDとして有するSTAが参照する行を示す。すなわち、Starting AIDサブフィールド341に示されるAIDを有するSTAはindex=1の行を参照し、Starting AIDサブフィールド341の値+5に示されるAIDを有するSTAはindex=6の行を参照する。そして、index=1のSTAは、要求するリソース量が閾値以上である場合に、サブキャリア番号が「-113、-77、-41、6、42、78」のサブキャリア(tone set)でNDP feedback reportを送信する。また、index=1のSTAは、要求するリソース量が閾値を下回る場合に、サブキャリア番号が「-112、-76、-40、7、43、79」のサブキャリア(tone set)でNDP feedback reportを送信する。同様に、index=18のSTAは、要求するリソース量が閾値以上である場合に、サブキャリア番号が「-79、-43、-7、40、76、112」のサブキャリア(tone set)でNDP feedback reportを送信する。このように、STAは、自装置に割り当てられた12本のサブキャリアのうち6本を使用する。なお、各STAに割り当てられる12本のサブキャリアは、他のSTAに割り当てられるサブキャリアとは重複しない。そして、AP101は、どのサブキャリアにおいて電力が検出されたかによって、各STAが要求するリソース量が閾値以上か否かを示す1ビット分の情報を取得することができる。
上述の要求するリソース量の閾値は、BSRによって表現可能な値の範囲に設定可能である。すなわち、STAのバッファ量がある値以上であるかを把握する際に、BSRP TFとNFRP TFとの両方を使用することができる。
(処理の流れ)
続いて、AP101が実行する処理の流れの例について説明する。図6は、AP101が、STAからの情報収集方法を決定する処理の流れの例を示す図である。図6の処理は、AP101の制御部202が記憶部201に記憶されたプログラムを実行することによって、実現される。なお、この処理は、新たなSTAが接続した際や接続済みのSTAが切断した場合に、又は一定周期で等、任意のタイミングで実行されうる。図6の処理では、端末の送信バッファの滞留状態や通信リソース要求状態等の情報の収集方法が、AP101のユースケースに応じて決定される。
上述のように、BSRPによれば、STAのバッファ内のデータ量を詳細に特定可能である一方で、AP101は、例えばCBWが20MHzの場合に、一度に最大で9台のSTAからBSRを取得することができる。一方、AP101は、NFRPによれば、STAのバッファ内のデータ量が所定の閾値以上であるか否かを特定できるが、20MHzの場合に(1空間ストリームが用いられる場合は)、一度に最大で18台のSTAから情報を取得することができる。本実施形態では、AP101が、このような特性の違いに着目して、使用する方法を選択する。一例において、AP101は、収容するSTAの数が多く発生するデータ量が少量に限定されるIoTセンサシステムである場合には、NFRPを用い、STAが様々なデータを送信する環境では詳細なバッファ状態の情報を取得するためにBSRPを用いうる。図6の処理は、このような一例に対応する処理である。
本処理では、AP101は、自装置がIoT(Internet of Things)センサシステムのAPとして動作するかを判断する(S601)。S601の判断は、APの利用者の動作モード設定によって行われる。すなわち、AP101は、自装置が受け付けたユーザによる設定操作を記憶しておき、その設定操作の情報に基づいて、自装置がIoTセンサシステムのAPとして動作しているか否かを判定する。また、AP101は、STAとの接続手順において、STAのタイプやSTAで実行されるアプリケーションサービスを認識して、IoTセンサシステムのAPとして動作するか否かを決定した結果に基づいて、上述の判定を行ってもよい。
AP101は、IoTセンサシステムのAPとして動作している場合(S601でYES)、NFRPの閾値(要求するリソース量の閾値)を決定し(S602)、さらに、NFRPを周期的に実行するスケジュールを設定する(S603)。IoTセンサシステムは、一例において、各STAから送信される温度や電池残量が規定値であるか否か等を示すデータのサイズは一定範囲に収まる程度に小さく、最小限の量の無線リソースを割り当てることによって通信が行われることが想定される。この場合、各STAにおいて送信対象データが存在するか否かが無線リソースの割り当てにおいて重要であり、一方で、そのデータ量は重要ではないことがある。また、AP101が、専らIoTセンサシステムのAPとして動作する場合、接続されるSTAは、いずれもIEEE802.11ax規格に対応し、各STAに対して連続するAIDが割り当てられることが想定される。このため、AP101は、自装置がIoTセンサシステム用のAPである場合、使用する情報収集方法としてNFRPを選択する。
一方、AP101は、IoTセンサシステムのAPとして動作していない場合(S601でYES)、続いて、自装置がマルチメディア通信環境のAPとして動作しているか否かを判断する(S604)。この判断は、S601と同様にして行われうる。そして、AP101は、自装置がマルチメディア通信環境のAPとして動作していると判断すると(S604でYES)、BSRPを周期的に実行するスケジュールを設定する(S605)。このように、AP101は、自装置がマルチメディア通信環境のAPである場合には、アクセスカテゴリ(音声、ビデオ、ベストエフォート、バックグランド)ごとのバッファ量を取得できるBSRPを用いて情報収集を行う。これにより、AP101は、収集した情報に応じて、音声やビデオの送信バッファを有するSTAに優先的に無線リソースユニット(RU)を割り当てる等の処理を実行することができる。すなわち、AP101は、無線リソースの割り当てにおいて、各STAから取得した2つ以上の種類の送信対象データの量についての情報を考慮する場合には、NFRPの1ビットの情報伝送では不足するため、BSRPを使用すると決定しうる。また、AP101は、1つの種類の送信対象データについて、その保持されている量が多くなることに応じて段階的に割り当てる無線リソースの量を増やすようなシステムのAPである場合には、保持されている送信対象データの量を詳細に知る必要がある。したがって、AP101は、この場合にBSRPを使用すると決定しうる。なお、AP101は、一例において、NFRPを用いて、各STAが送信対象データを保持しているか否かの情報を取得し、その後、一定量の無線リソースを割り当てて、保持しているデータについての詳細な情報を送信させてもよい。この場合、無線リソースの割り当て後の信号伝送が、通常のデータ信号の送受信のプロトコルを用いて行われるため、例えば変調多値数の大きい変調方式を用いることで、AP101は、少量の無線リソースで効率的に詳細な情報を取得することができる。このように、AP101が、各STAが送信対象データを保持しているか否かを確認するためにTFを用い、詳細な情報の取得のために一定量の無線リソースを割り当てるシステムでは、NFRPが使用されうる。
なお、AP101は、自装置がマルチメディア通信環境のAPとして動作していないと判定した場合(S604でNO)に、図7の処理によって、使用する情報収集方法を選択し、選択された方法を実行するスケジュールを設定する(S606)。
図7において、AP101は、まず、BSRPを実行する場合に必要となるTFの送信回数NUM_BSRPを算出して、算出結果を保持する(S701)。上述のように、AP101が管理するBSS(Basic Service Set)のオペレーションチャネルの帯域幅が決定されると、ひとつのBSRP TFによって宛先として指定できるSTAの最大数(RUの最大数)が定まる。この数をRとする。Rは、1回のTFによってBSRを送信させることができるSTAの最大数を示している。このため、BSRを送信させる対象のSTAの数がMの場合、ceil(M/N)回だけTFを送信することによって、M台のSTAの全てにBSRを送信させることができると一般的に言える。なお、ceil(x)は天井関数であり、x以上の最小の整数を示す。このように、一例において、NUM_BSRPは、ceil(M/N)を計算することによって特定される。例えば、動作チャネルが20MHzのときに、26サブキャリアから成るRUを割り当てて、19台の端末からBSRを受信する場合、NUM_BSRPは、R=9及びM=19であるから、ceil(19/9)=3となる。
続いて、AP101は、NFRPを実行する場合に必要となるTFの送信回数NUM_NFRPを算出して、算出結果を保持する(S702)。NFRP TFの宛先指定は、上述のように、AIDの範囲を指定して行われる。このため、NUM_NFRPは、STAに対してAIDがどのように割り当てられたかに応じて特定される。まず、情報を送信させるSTAに対して連続するAIDが割り当てられている場合、その連続するAIDの個数を上述の規定数N(例えば18)で除算した値を上述の天井関数の引数とした場合の計算結果が、NUM_NFRPとなる。例えば、規定数Nが18で、かつ、19台のSTAに連続したAIDが割り当てられている場合、これらの19台のSTAからNDPによるデータを受信するために必要なTFの送信回数は、NUM_NFRP=ceil(19/18)=2となる。一方で、例えば、3台のSTAに対するAIDが、それぞれ、1、20、37のように割り当てられている場合、NUM_NFRP=2となる。実際、Starting AID=1のTFによってAIDが1から18までの範囲のSTAを指定できるが、このTFによって、AID=20及び37のSTAに情報を送信させることはできない。このため、AID=20及び37のSTAに情報を送信させるために、Starting AID=20等の別個のTFを用いることとなる。このように、AIDの割り当てが連続的ではない場合には、各STAに割り当てられたAIDを考慮してNUM_NFRPを特定することとなる。また、図1に示すように、IEEE802.11axに対応していないSTA103が存在する場合、これらのIEEE802.11axに対応していないSTAに割り当てられたAIDは除いてNUM_NFRPの特定が行われる。例えば、18台のIEEE802.11ax対応のSTAと1台のIEEE802.11ax非対応のSTAに対して連続したAIDが割り当てられている場合、IEEE802.11ax対応の18台のSTAに割り当てられたAIDのみが着目される。そして、この場合、IEEE802.11ax対応の18台のSTAに対して連続したAIDが割り当てられていない限り、1回のTFでこれらの18台のSTAを指定することはできないため、NUM_NFRPは2となる。一方、IEEE802.11ax非対応のSTAに1番目又は19番目のAIDが割り当てられ、IEEE802.11ax対応の全STAのAIDが連続している場合は、1回のTFでこれらの18台のSTAを指定可能であるためNUM_NFRPは1となる。
NUM_BSRPとNUM_NFRPとが算出された後に、AP101は、NUM_BSRPとNUM_NFRPとが、共に1であるか否かを判定する(S703)。そして、AP101は、NUM_BSRPとNUM_NFRPとが共に1であると判定した場合(S703でYES)、BSRPが用いられる場合に要する時間と、NFRPが用いられる場合に要する時間とをそれぞれ算出する(S704、S705)。これらの時間をどのように算出するかについて、図8(A)及び図8(B)を用いて説明する。
図8(A)は、BSRP TFを1回送信した場合に要する時間を模式的に表現した図である。BSRP TFの送信のためには、BSRP TFとNFRP TFとで共通なフレーム部分の送信のための時間幅801と、Per User Infoの送信のための時間幅802とが必要である。Per User Infoは、図4(A)のような構成を有し、Per User Infoの数は、このTFの宛先のSTAの数によって変動する。なお、図8(A)では、宛先のSTAの数がj個である場合を示している。BSRP TFが送信されると、所定の時間幅805を有するSIFS(Short Inter Frame Space)の後に、各STAから、応答信号(HE TB PPDU)が送信される。この応答信号は、Buffer Status Report(BSR)である。この応答信号の長さ(時間幅803)は、APが送信するBSRP TFのLengthフィールド312で指定される。APは、BSRのデータ長、RU Allocationサブフィールド332、MCSサブフィールド334などに基づいて、この時間幅803を算出及び決定することができる。なお、送信されるBSRの数(j)は、TFの宛先のSTAの数に対応する。その後、APは、SIFSの後に、応答データに対して時間幅804のACKを送信する。なお、このACKは、複数の端末に対して個別に送信してもよいし、1つのフレームを共通に送って(マルチキャストして)もよい。このようにして、1回のBSRP TFを送信した場合に要する時間800は、上述の時間幅801~時間幅804の和の値に、時間幅805に2を乗じた値を加算した値として特定される。
図8(B)は、NFRP TFを1回送信した場合に要する時間を模式的に表現した図である。NFRP TFの送信のためには、BSRP TFとNFRP TFとで共通なフレーム部分の送信のための時間幅801と、Per User Infoの送信のための時間幅811とが必要である。Per User Infoは、図4(B)のような構成を有し、ここでのPer User Infoの数は、1つである。NFRP TFが送信されると、所定の時間幅805を有するSIFSの後に、各STAから、時間幅812のNDPが送信される。このときのNDPは、一例において、要求するリソース量が閾値以上であるか否かに応じて、各STAに対応するサブキャリアのうちの一部のサブキャリアのみを用いて送信される。なお、APは、このNDPに対してはACKを送信しない。このため、1回のNFRP TFを送信した場合に要する時間810は、時間幅801、時間幅811、時間幅805及び時間幅812の和として算出される。
図7に戻り、AP101は、BSRP TFを用いる場合に要する総時間(T_ALL_BSRP)を算出する(S704)。ここでの総時間は、最初のBSRP TFを送信してからBSRP TFの宛先となるSTAの全てからのBSRを受信して、ACKを返すまでの時間である。この総時間は、図8(A)のようにして特定される1回のBSRP TF手順の時間幅に、S701で特定したNUM_BSRPを乗算した値に、さらに、SIFSの時間幅に(NUM_BSRP-1)を乗算した値を加算した値である。図9(A)は、NUM_BSRPが2の場合のこの計算を概略的に示している。この場合、AP101は、図8(A)のように算出した時間幅800にNUM_BSRP(=2)を乗じ、1回目の手順と2回目の手順との間に挿入されるSIFSの時間幅805を加算することで、BSRP TFを用いる場合に要する総時間900を算出する。なお、AP101は、無線媒体が空き状態になってからSIFSの時間幅の経過後に、BSRP TFを送信できるものとする。
次に、AP101は、NFRP TFを用いる場合に要する総時間(T_ALL_NFRP)を算出する(S705)。ここでの総時間も、最初のNFRP TFを送信してからNFRP TFの宛先となるSTAの全てからのNDPを受信するまでの時間である。この総時間は、図8(B)のようにして特定される1回のNFRP TF手順の時間幅に、S702で特定したNUM_NFRPを乗算した値に、さらに、SIFSの時間幅に(NUM_NFRP-1)を乗算した値を加算した値である。図9(B)は、NUM_NFRPが5の場合のこの計算を概略的に示している。この場合、AP101は、図8(B)のように算出した時間幅810にNUM_NFRP(=5)を乗じ、計4回挿入されるSIFSの時間幅805を加算することで、NFRP TFを用いる場合に要する総時間910を算出する。なお、AP101は、無線媒体が空き状態になってからSIFSの時間幅の経過後に、NFRP TFを送信できるものとする。
そして、AP101は、S704で算出したBSRP TFを用いる場合に要する総時間(T_ALL_BSRP)と、S705で算出したNFRP TFを用いる場合に要する総時間(T_ALL_NFRP)とを比較する(S706)。一例において、図9(A)及び図9(B)を参照すると、NUM_BSRPが1の場合、NUM_NFRPが2以下である条件でT_ALL_NFRP<T_ALL_BSRPとなる。一方、NUM_NFRPが3以上の場合は、T_ALL_NFRP>T_ALL_BSRPとなる。同様に、NUM_BSRPが2の場合、NUM_NFRPが5以下である条件でT_ALL_NFRP≦T_ALL_BSRPとなる。一方、NUM_NFRPが6以上の場合、BSRPを使う方が、T_ALL_NFRP>T_ALL_BSRPとなる。そして、AP101は、処理に要する総時間が短い方を、使用する方法として選択する。すなわち、T_ALL_BSRPがT_ALL_NFRPより短い場合(S706でYES)、AP101は、BSRPによる情報収集方法を利用することを決定する(S707)。一方、T_ALL_BSRPがT_ALL_NFRP以上である場合(S706でNO)、AP101は、NFRPによる情報収集方法を利用することを決定する(S708)。なお、S706の比較は、例えば、SIFSをフレーム長換算した場合の、BSRP TFとNFRP TFとのフレーム長による比較であってもよい。すなわち、各TFによって、無線リソースがどの程度使用されるかに応じて、S706の比較が行われてもよい。
なお、図7では、T_ALL_BSRP=T_ALL_NFRPである場合に、NFRPによる情報収集方法を選択するようにしているが、BSRPによる情報収集方法が選択されてもよい。このようにして、AP101は、自装置がIoTセンサシステムのAPでなくマルチメディア通信環境のAPでもない場合に、BSRPとNFRPとのうち、処理の時間が短い方の情報収集方法を用いることを決定する。
AP101は、S703において、NUM_BSFPとNUM_NFRPとのいずれかが2以上であると判定した場合(S703でNO)、TFの送信を他のSTAの通信に対して優先するか否かを判定する(S709)。TFの送信が他のSTAの通信に対して優先されるか否かは、例えば、TFのIFS(フレーム間間隔)としてSIFSを使用するか(使用可能であるか)によって行われる。すなわち、SIFSが使用される(使用が許容される)場合には、TFの送信が他のSTAの通信に対して優先されると判定される。なお、S709の判定は、例えば、PIFS(PCF(Point Coordination Function) Inter Frame Space)が使用されるか否か(使用可能か否か)など、他の基準によって行われてもよい。すなわち、DIFS/AIFS後のバックオフカウンタ制御の通信に優先して信号送信が可能であるか否かによって、判定が行われうる。一方、TFの送信が、他端末の通信に対して優先されず競合する場合、例えば、TFのIFSとして、DIFS(DCF(Distributed Coordination Function) Inter Frame Space)等が用いられる。AP101は、TFの送信を優先する又は優先することが許容されていると判定した場合(S709でYES)、処理をS704に進める。一方、AP101は、TFの送信を優先しない又は優先することが許容されていないと判定した場合(S709でNO)、処理をS710へ進める。この場合、AP101は、他のSTAによる通信との間でコンテンションベースの媒体アクセスを行ってTFを送信することとなる。このときの、BSFPとNFRPとを用いた場合の処理に要する総時間を模式的に図10(A)及び図10(B)に示している。
図10(A)は、BSRP TFが2回送信される場合に、1回目のBSRP TFによる処理の後に他のSTAによる通信1001が発生した場合の例を示している。この場合、他のSTAによる通信1001の時間幅を、AP101は事前に知ることができない。なお、現行のIEEE802.11-2016では、PPDU(PLCP(Physical Layer Convergence Protocol) Protocol Data Unit)の最大長を5.484ミリ秒と定めている。このため、1回目のTFの送信と2回目のTFの送信との間に、この時間だけ待機しなければならない場合があり、その場合、BSRPの手順に要する時間幅1000が増大しうる。なお、現在のIEEE802.11ax規格で検討されている種々のTFの送信間隔は10ミリ秒であるため、5.484ミリ秒という時間は、TFを用いた制御にとっては、無視できない値であると言える。また、1回目のBSRP TFによる通信完了後に、他のSTAによる通信が開始されるまでに、DIFSとランダムバックオフの時間1002が存在する。図10(A)の例では、BSRP TFのIFSもDIFSであるものとし、バックオフ制御によって、他のSTAによる通信1001が先に実行された場合を示している。
図10(B)は、NFRP TFが4回送信される場合に、1回目のNFRP TFによる処理の後に他のSTAによる通信1001が発生した場合の例を示している。この場合も、BSRP TFが用いられる場合と同様に、他のSTAによる通信1001に係る時間と、DIFS及びランダムバックオフの時間1002とが発生し、NFRPの手順に要する時間幅1010が増大しうる。図10(A)及び図10(B)の状態では、NUM_BSRP=2でNUM_NFRP=4であっても、BSRPの手順に要する総時間幅の方が短い。すなわち、このNUM_BSRPとNUM_NFRP関係は、図9の場合と異なる。
このように、BSRPとNFRPのいずれかのTF数が複数であって、他のSTAによる通信がTFよりも先に発生した場合は、手順の総時間が長期化しうる。このため、本処理では、AP101は、送信すべきTFの数が少なく、TFと別のTFとの間に他のSTAによる通信が発生する確率が低くなる手順を使用すると決定する。すなわち、AP101は、NUM_BSRPとNUM_NFRPとを比較し(S710)、NUM_BSRP<NUM_NFRPである場合(S710でYES)は、BSRPを、使用すべき情報収集方法として選択する(S707)。一方、AP101は、NUM_BSRP≧NUM_NFRPである場合(S710でNO)は、NFRPを、使用すべき情報収集方法として選択する(S708)。なお、AP101は、S704及びS705のようにして、TFを優先する場合の、BSRPとNFRPとのそれぞれを実行するための総時間T_ALL_BSRP及びT_ALL_NFRPとを算出し、これに基づいて使用すべき情報収集方法を選択してもよい。例えば、AP101は、T_ALL_BSRP+5.484×(NUM_BSRP-1)×αとT_ALL_NFRP+5.484×(NUM_NFRP-1)×αとを比較してもよい。ここで、αは例えば1以下の定数である。すなわち、PPDUの最大長である5.484ミリ秒にTFの送信回数を乗じることで、他のSTAによる通信に要する時間の期待値を推定して、各手順の総時間幅を大まかに推定して、S710の判定を行ってもよい。
AP101は、図6及び図7のような処理によって情報収集方法を決定し、そのいずれかの情報収集方法を用いて、STAが保持するデータに関する情報を取得する。そして、AP101は、収集した情報に基づいて、各STAに対してリソースユニットを割り当てる。そして、AP101は、そのリソースユニットの割り当てを通知するBasic TFを送信し、端末に対してUL(Up Link)データ送信を促す。
なお、上述の説明では、図7の処理を図6の一部として実行するように説明したが、これに限られない。すなわち、AP101は、図6の処理を実行せずに、図7の処理を実行してもよい。また、AP101は、IoTセンサシステムの用途で用いられる場合には、NFRPによる情報収集を行い、それ以外の用途ではBSRPによる情報収集を行うようにしてもよい。すなわち、S604及びS606の処理が実行されなくてもよい。さらに、AP101は、自装置がマルチメディア通信環境で動作しているか否かのみによって使用する情報収集方法を決定してもよい。例えば、AP101は、自装置がマルチメディア通信環境で動作していると判定した場合に、BSRPによる情報収集を行うと決定し、自装置がマルチメディア通信環境で動作していないと判定した場合に、NFRPによる情報収集を行うと決定しうる。
このように、本実施形態のAP101は、通信環境が所定の条件を満たすか否かによって、BSRPとNFRPとのいずれを用いるかを決定する。この所定の条件は、上述のように、AP101がIoTセンサシステムのAPであること、AP101がマルチメディア通信環境で動作すること、各方法においてTFを送信した場合に情報収集に要する時間が他の方法より短いこと等、でありうる。
なお、所定の条件は、これらに限られない。例えば、AP101は、自装置に接続するSTAが一定範囲のサイズのデータのみを送信するように構成されたIoTセンサシステム以外のシステムにおいても、NFRPを用いると決定しうる。この場合、AP101は、上述の一定範囲の下限を閾値とすることによって、その閾値以上のデータ量のデータを保持しており、データを送信できる状態となっているSTAを、NFRP TFによって認識することができる。このとき、AP101は、閾値以上のデータ量を有するSTAに対して、上述の一定範囲のサイズのデータを送信可能な一定量の無線リソースを割り当てる。各STAが保持しているデータ量が一定範囲内に収まることが分かっているため、このような処理で十分な無線リソースを各STAに割り当てることができるからである。また、AP101は、上述の閾値を微小値に設定することによって、NFRP TFを用いて、送信対象データを保持しているか否かを示す情報を収集することができる。この場合、AP101は、例えば送信対象データを保持しているSTAに対して一定量の無線リソースを割り当てうる。また、AP101は、定期的に送信対象データが発生することが分かっているSTAについて、その送信対象データ量が一定量を超えるか否かによって、割り当てるリソース量を第1の量とするか第2の量とするかを決定することができる。この場合、AP101は、この一定量を閾値として、NFRP TFによって、STAが保持するリソース量の問い合わせをすることができる。以上のように、AP101は、STAが保持しているデータ量が所定値以上であるか否かに応じて、1つの所定の処理を行うか否か(リソース割り当てを行うか否か/リソース割り当て量を増量するか否か等)を決定する場合がある。そして、この場合には、AP101は、STAが保持しているデータ量(又は要求リソース量)が所定値以上であるか否かを判断できれば十分であるため、NFRP TFによって情報収集すると決定しうる。
一方、AP101は、STAが保持しているデータ量の詳細を把握することによって、その詳細な情報に基づいてきめ細かいリソース制御を実行しうる。この場合は、NFRPによっては詳細な情報を得ることができないため、AP101は、BSRPを利用して情報収集すると決定しうる。例えば、AP101は、STAが保持しているデータ量が多いほどに割り当てられるリソース量が増やされるシステムにおいて自装置が動作していると判定した場合に、BSRPを利用すると決定しうる。
なお、AP101は、送信対象データの量が所定値以上であるか否かを把握できれば十分な場合、BSRPとNFRPによる情報収集で使用する無線リソースの量や、情報収集に要する時間長によって、BSRPとNFRPとのいずれを用いるかを決定しうる。すなわち、データ量が所定値以上であるか否かの情報は、NFRPでもBSRPでも取得可能であるため、AP101は、これらのうち、情報収集に時間がかからない又は無線リソースを浪費しない方を用いて情報収集するようにしうる。この場合、AP101は、例えば、図6の処理を実行せずに、情報収集に要する時間や無線リソースの量に基づいて、使用する情報収集方法を決定することができる。
また、AP101は、IEEE802.11ax規格に準拠したSTAのみと接続しているか否かに応じて、BSRPとNFRPのいずれを用いるかを選択してもよい。AP101が、IEEE802.11ax規格のTFに対応可能なSTAのみと接続している場合、これらのSTAのAIDの間に、IEEE802.11ax規格に対応していないSTAのAIDが存在することがなくなる。これにより、NFRPにおけるAIDの範囲指定によって、多くのSTAに情報提供させることができることが想定される。なお、この場合に、AP101は、接続するSTAに連続したAIDを割り当てておくようにすることで、NFRPにより一度に多数のSTAから情報を収集することができ、情報収集効率を向上させることができる。このように、AP101は、IEEE802.11ax規格に準拠したSTAのみと接続している場合に、NFRPを使用すると決定しうる。なお、この場合であっても、データ量に応じたリソース割り当てなどの送信対象データ量を詳細に知る必要がある処理を実行する場合にはBSRPが用いられるようにしうる。また、これに対して、データ量によらずに送信対象データが存在する場合に一定量の無線リソースを割り当てるなどの処理が実行される場合にはNFRPが用いられるようにしてもよい。このように、AP101は、実行する処理の種類に応じて、NFRPとBSRPとのいずれを用いるかを決定しうる。
なお、所定の条件が満たされない場合、所定の条件が満たされた場合に選択される情報収集方法ではない方の情報収集方法が選択されてもよいが、上述のように、情報収集に要する時間の長さの比較によって選択が行われてもよい。なお、BSRPとNFRPとのそれぞれが用いられる場合の時間の長さではなく、リソース使用量によって、この選択が行われてもよい。例えば、即時性のない情報の収集を行うシステムでは、情報収集に要する時間を短縮するよりも、無線リソースの浪費を抑制することが重要な場合がある。このような場合には、BSRP TF及びNFRP TFで使用される無線リソースの量が少ない方が選択されうる。なお、無線リソースの量と時間の長さとのいずれを基準として用いるかは、例えば、AP101に対するユーザ設定や、AP101が使用されるシステムがどのようなサービスを提供するかによって、事前に定まりうる。
以上のようにして、AP101は、自装置が使用される用途等の所定の条件に基づいて、BSRPとNFRPとのいずれを用いるかを選択することができる。そして、AP101は、その選択した方法に対応するTFを送信し、他方の方法に対応するTFを送信しないことで、STAが保持するデータに関する情報を効率的に取得することができる。
<<その他の実施形態>>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。