以下、本開示を実施するための形態(以下、実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.Multi-Link Operationとその課題
2.本開示に係る技術の概要
3.本開示の実施の形態
3-1.無線LANシステムの構成例
3-2.データ受信時の干渉について
3-3.未達データの再送の例
3-4.データフレームの構成例
3-5.通信装置の構成例
3-6.通信装置の動作
4.まとめ
<1.Multi-Link Operationとその課題>
(Multi-Link Operationについて)
従来、無線LANシステムにおいては、1つの周波数帯域における任意の帯域幅となる周波数チャネルが1つの通信リンク(以下、単にリンクという)として通信に利用されている。具体的には、IEEE802.11b,11g,11nにより規格化された技術が、周波数2.4GHz帯の通信に利用され、IEEE802.11a,11n,11acにより規格化された技術が、周波数5GHz帯の通信に利用されている。
また近年、IEEE802.11axにより規格化される技術においては、新たに周波数6GHz帯の通信が利用されるようになっている。
これらの規格では、複数のデータ(MAC層プロトコルデータユニット:MPDU)を1つのデータフレームに集約するフレームアグリゲーション技術による、A-MPDUフレームの構造が規定されている。
現在、IEEE802.11タスクグループ(TG)beにより、複数のリンク(周波数帯域)を用いてデータを送受信する技術であるMulti-Link Operation(MLO)が検討されている。
このMulti-Link Operationにおいては、あるリンクでデータの受領確認情報(ACK)を返送する際に、他のリンクで送信されたデータの受信状況を一括して含んだACKとして返送する方法が検討されている。
一方で、従来、無線LANシステムにおける未達データの再送方法としては、各リンクにおいて、データ送信後に返送されたACKを受信し、そのリンクにおいて未達データを再送する方法が一般的に利用されていた。
(Multi-Link Operationの課題)
従来のデータ送信シーケンスにおいては、あるリンクで送信されたデータには一連のシーケンス番号が付加されて管理される。そのため、他のリンクで送信されたデータを再送してしまうと、管理されるシーケンス番号の範囲外のデータが再送されることになり、シーケンス番号の管理が破綻してしまう。すなわち、全てのリンクにおけるシーケンス番号を一括して管理しない限り、どのリンクで送信されたデータが未達となっているのかが特定できなかった。
また、シーケンス番号空間は所定の情報長(12ビット程度)で構成されることから、この範囲を超えるシーケンス番号の管理はできなかった。すなわち、あるリンクで送信されたデータのシーケンス番号を含んだ再送データが他のリンクで送信されると、想定されていた範囲にある一連のシーケンス番号が一致せず、また、各リンクにおける未達データと再送すべきデータを特定することができなかった。
さらに、所定の再送タイミングまでに再送が完了しないと、新たなデータを送信できなかった。すなわち、Multi-Link Operationにおいて、複数のリンクで送信されたデータを一括して管理した場合であっても、再送が完了するまでシーケンス番号空間を利用することができず、新たなデータを送信することはできなかった。
また、従来のネットワークアロケーションベクタによる仮想的なキャリアセンス方法を利用した場合であっても、一旦、データの送信とACKの受信が終了した後に、他の通信装置からのデータの送信が開始されると、未達データを短時間のうちに再送することはできなかった。
そのため、無線LANシステムにおけるデータ送信では、一旦、データの受信でエラーが発生すると、エラーのリカバリに時間がかかってしまう。特に、A-MPDUフレームの構成では、途中のMPDUでエラーが発生していても、末尾のMPDUが到来するまでACKを返送できず、送信側通信装置はエラーの発生を即座に把握できなかった。
さらに、未達データを特定して再送する場合、ACKを受信した後でないと未達データを特定できない上、その未達データを再送する場合、新たに利用可能となったリンクにおいてアクセス権を獲得するまで再送できなかった。したがって、多数のデータを再送する場合、全てのデータの受信が確認されるまでに時間がかかっていた。特に、データの一部に誤りがあった場合、新たなリンクでデータを送信するためのバックオフ時間を設定する必要があり、さらに時間がかかってしまうおそれがあった。
加えて、各リンクでアクセスカテゴリの異なるデータを送信する場合、再送するために必要なバックオフ時間に差が生じ、短時間でデータを再送することが容易ではなかった。すなわち、再送されないシーケンス番号のデータが存在する場合、それ以上、シーケンス番号空間を利用できなくなるため、特に短時間での送信が求められるアプリケーションなどの優先的なアクセスカテゴリにおいて、データを送信することができないおそれがあった。
<2.本開示に係る技術の概要>
本開示に係る技術においては、Multi-Link Operationにおいて複数のリンクを用いてデータを送信する場合、あらかじめ決められたリンクのうち、空いたリンクを用いて未達データが再送されるようにする。
具体的には、送信側通信装置は、未達データの存在が把握された時点で、空いているリンクを用いて、未達データを再送する。ここでは、特定のリンクが空きリンクとしてあらかじめ確保されてもよいし、最も遅いタイミングで利用可能となったリンクを用いて未達データが再送されてもよい。
また、送信側通信装置は、受信側通信装置の受信状況を把握するために、受領確認情報(ACK)が早期に返送されるよう、必要に応じてフレームアグリゲーションにより短いフレーム長のA-MPDUフレームを構成する。これにより、送信側通信装置は、未達データの存在を早期に把握することができる。すなわち、送信側通信装置は、利用が設定されたリンクにおいて、あらかじめバックオフ制御を実行し、未達データが存在することを把握した直後に、その未達データを再送する。
また、送信側通信装置は、短時間で未達データを再送するために、あらかじめ送信機会(TXOP)を確保してデータを送信しておき、未達データの存在を把握したときには、新たなバックオフ手順を経ずにTXOP内で、未達データの再送を完了させる。
一方、受信側通信装置は、あるリンクを用いて他のリンクで送信されたデータが再送されることを把握し、他のリンクで受信したデータを結合して、全データを構築する。ここでは、受領確認情報が、所定のリンクで送信側通信装置に逐次返送され、送信側通信装置により、空きリンクを用いて未達データが再送される。
また、受信側通信装置は、受領確認情報を構築する際に、それぞれのリンクにおいて未達となっているデータを特定できるように、ブロックACKフレームに、受信したデータのシーケンス番号を記載することで、再送を要求するデータを特定する。
さらに、受信側通信装置は、再送に利用可能なリンクを送信側通信装置に通知することで、所定のリンクで未達データが再送されることを把握し、複数のリンクで受信したデータを一元管理する。また、受信側通信装置は、受信したデータのエラーの発生状況を把握できるように、各リンクで受信したデータの最新のシーケンス番号をブロックACKフレームのパラメータ情報として記載する。
これにより、フレームアグリゲーションにより複数のMPDUが集約されて送信される場合において、早期に未達データが把握され、空きリンクを用いて未達データが再送されるので、ACKの返送から未達データの再送までに要する時間を短縮することができる。
また、各リンクで受信したデータの最新のシーケンス番号がブロックACKフレームのパラメータ情報として記載されるので、データの復号処理とブロックACKフレームの返送に要する時間的な遅延が生じても、未達データが確実に通知されるようになる。
<3.本開示の実施の形態>
以下、本開示の実施の形態に係る無線通信システムについて説明する。
(3-1.無線LANシステムの構成例)
図1は、本開示に係る技術が適用され得る無線LANシステムの構成例を示す図である。
図1の無線LANシステムにおいては、アクセスポイント10に、通信装置11と通信装置12が接続されることで、第1の無線ネットワークが構築されている。第1の無線ネットワークの近傍においては、アクセスポイント20と通信装置21により、第2の無線ネットワークが構築され、アクセスポイント30と通信装置31により、第3の無線ネットワークが構築されている。
アクセスポイント10は、アクセスポイント20、通信装置21、アクセスポイント30、および通信装置31からの信号を受信できる位置に存在している。通信装置11は、アクセスポイント20とアクセスポイント30からの信号を受信できる位置に存在している。通信装置12は、通信装置21と通信装置31からの信号を受信できる位置に存在している。
このような無線LANシステムにおいて、第1のネットワークを構成する通信装置11と通信装置12は、第2の無線ネットワークや第3の無線ネットワークが存在していても、互いに公平なアクセスを行う必要がある。
図2は、本開示に係る技術が適用される無線通信システムにおいて利用可能な周波数帯域とチャネル割り当てについて説明する図である。
図2のA図に示されるように、2.4GHz帯では、IEEE802.11g規格に基づいて20MHz帯域幅のOFDM方式の無線信号を適用した場合、少なくとも2チャネルが割り当てられる。
また、図2のB図に示されるように、5GHz帯では、IEEE802.11aなどの規格に基づいて20MHz帯域幅のOFDM方式の無線信号を適用した場合、多くのチャネルが割り当てられる。
但し、5GHz帯におけるチャネル割り当ての運用は、国や地域によって異なり、各国の法制度において、利用可能な周波数範囲、送信電力や送信可能を判定する条件などが定められている。
例えば、日本国内では、B図において白抜きで示される、チャネル36からチャネル64までの8チャネル(5GHz帯A)と、チャネル100からチャネル140までの11チャネル(5GHz帯B)の利用が可能とされている。
日本以外の国や地域では、B図において黒塗りや破線で示されるように、チャネル32やチャネル68、チャネル96、チャネル144、さらにはチャネル149からチャネル173までの利用も可能されている。
さらに、図2のC図に示されるように、現在規格化が進められている6GHz帯では、より多くのチャネルが割り当てられるようになる。具体的には、例えば、6GHz帯AのUNII-5バンドで25チャネル、6GHz帯BのUNII-6バンドで5チャネル、6GHz帯CのUNII-7バンドで17チャネル、6GHz帯DのUNII-8バンドで12チャネルの利用が可能となる。
(3-2.データ受信時の干渉について)
図3および図4を参照して、データ受信時の干渉について説明する。
図3は、従来のデータ送信シーケンスにおけるデータとACKの衝突の例を示すシーケンス図である。
従来の通信方式においては、データの送信とACKの返送が同じチャネルで行われる。そのため、近接するネットワークから送信された信号が自己ネットワークにおける受信に干渉したり、自己ネットワークから送信された信号が近接するネットワークにおける受信に干渉したりする。
図3の例では、自己ネットワーク50が、送信側通信装置51と受信側通信装置52により構成され、近接するネットワークであるOBSS(Overlapping Basic Service Set)ネットワーク60が、送信側通信装置61と受信側通信装置62により構成される。
例えば、自己ネットワーク50において、受信側通信装置52が送信側通信装置51からデータ(A-MPDU)を受信している最中に、OBSSネットワーク60においては、受信側通信装置62が送信側通信装置61からのRTSに対してCTSを返送している。このとき、受信側通信装置62からのCTSが、受信側通信装置52のデータ受信に干渉し、受信側通信装置52は、送信側通信装置51からのデータを正しく受信・復号できなくなる。
その後、OBSSネットワーク60において、受信側通信装置62が送信側通信装置61からデータ(A-MPDU)を受信している最中に、自己ネットワーク50においては、受信側通信装置52が送信側通信装置51からのデータに対してブロックACKを返送している。このとき、受信側通信装置52からのブロックACKが、受信側通信装置62のデータ受信に干渉し、受信側通信装置62は、送信側通信装置61からのデータを正しく受信・復号できなくなる。
さらに、自己ネットワーク50において、受信側通信装置52が送信側通信装置51から再送されたデータ(再送A-MPDU)を受信している最中に、OBSSネットワーク60においては、受信側通信装置62が送信側通信装置61からのデータに対してブロックACKを返送している。このとき、受信側通信装置62からのブロックACKが、受信側通信装置52のデータ受信に干渉し、受信側通信装置52は、送信側通信装置51からの再送データを正しく受信・復号できなくなる。
さらにまた、OBSSネットワーク60において、受信側通信装置62が送信側通信装置61から再送されたデータ(再送A-MPDU)を受信している最中に、自己ネットワーク50においては、受信側通信装置52が送信側通信装置51からの再送データに対してブロックACKを返送している。このとき、受信側通信装置52からのブロックACKが、受信側通信装置62のデータ受信に干渉し、受信側通信装置62は、送信側通信装置61からの再送データを正しく受信・復号できなくなる。
このように、自己ネットワーク50の受信側通信装置52からの信号と、OBSSネットワーク60の受信側通信装置62からの信号が、互いに干渉信号となり、最終的に全てのデータを送信するまでに多くの時間がかかっていた。
図4は、近い周波数帯を利用したMulti-Link Operationの例を示すシーケンス図である。
Multi-Link Operationにおいては、周波数帯の近い複数のリンクを利用する場合、一方のリンクで返送される信号が、他方のリンクで送信されるデータの受信に干渉する可能性がある。
図4の例では、送信側通信装置71が、Link1において5GHz帯を利用し、Link2において6GHz帯を利用する。同様に、受信側通信装置72が、Link1において5GHz帯を利用し、Link2において6GHz帯を利用する。
例えば、送信側通信装置71が、Link1とLink2を用いてデータ(A-MPDU)を非同期で送信している。受信側通信装置72は、Link2でのデータの受信が、Link1でのデータの受信より早く終了することで、Link2を用いてブロックACKを返送している。このとき、Link2でのブロックACKが、Link1でのデータの受信に干渉するおそれがある。
その後、受信側通信装置72は、Link2で再送されたデータ(再送A-MPDU)を受信している最中に、Link1でのデータの受信が終了することで、Link1を用いてブロックACKを返送している。このとき、Link1でのブロックACKが、Link2での再送データの受信に干渉するおそれがある。
さらに、受信側通信装置72は、Link1で再送されたデータ(再送A-MPDU)を受信している最中に、Link2での再送データの受信が終了することで、Link2を用いてブロックACKを返送している。このとき、Link2でのブロックACKが、Link1での再送データの受信に干渉するおそれがある。
このように、近い周波数帯を利用したMulti-Link Operationにおいては、受信側通信装置72が返送するACKが干渉信号となり、最終的に全てのデータを送信するまでに多くの時間がかかってしまう。
(3-3.未達データの再送の例)
ここでは、従来の通信方式における未達データの再送の例と、本開示に係る技術における未達データの再送の例について、具体的に例示する。
図5は、従来の通信方式において複数のリンクを用いた未達データの再送の例を示す図である。
図5の例では、第1のリンク(Link1)から第3のリンク(Link3)を用いてデータが送信される。ここでは、リンク毎にデータのシーケンス番号が管理されて、受領確認情報(ACK)が返送されるとともに、リンク毎に未達データが再送される。
Link1では、送信側通信装置が、所定のアクセス制御によりアクセス権を獲得した際に、フレームアグリゲーションにより集約されたシーケンス番号1乃至8のデータ(Data1乃至Data8)を、A-MPDUフレームとして送信している。
受信側通信装置は、Data1乃至Data8の受領確認を行う。ここでは、エラーにより正しく受信されなかったData3とData7が、図中黒塗りで示されている。すなわち、受信側通信装置は、A-MPDUフレームの受信後、正しく受信されたデータ(Data1,2,4乃至6,8)を指定した受領確認情報(ACK)を、送信側通信装置に返送する。
送信側通信装置は、受信側通信装置からのACKにより、未達データの存在を把握すると、その未達データ(Data3とData7)を再送する。
受信側通信装置は、未達データ(Data3とData7)の受領確認を行った後、正しく受信された全てのデータ(Data1乃至Data8)を指定した受領確認情報(ACK)を、送信側通信装置に返送する。
Link2では、送信側通信装置が、所定のアクセス制御によりアクセス権を獲得した際に、フレームアグリゲーションにより集約されたシーケンス番号9乃至16のデータ(Data9乃至Data16)を、A-MPDUフレームとして送信している。
受信側通信装置は、Data9乃至Data16の受領確認を行う。ここでは、エラーにより正しく受信されなかったData10とData16が、図中黒塗りで示されている。すなわち、受信側通信装置は、A-MPDUフレームの受信後、正しく受信されたデータ(Data9,11乃至15)を指定した受領確認情報(ACK)を、送信側通信装置に返送する。
送信側通信装置は、受信側通信装置からのACKにより、未達データの存在を把握すると、その未達データ(Data10とData16)を再送する。
受信側通信装置は、未達データ(Data10とData16)の受領確認を行った後、正しく受信された全てのデータ(Data9乃至Data16)を指定した受領確認情報(ACK)を、送信側通信装置に返送する。
Link3では、送信側通信装置が、所定のアクセス制御によりアクセス権を獲得した際に、フレームアグリゲーションにより集約されたシーケンス番号17乃至24のデータ(Data17乃至Data24)を、A-MPDUフレームとして送信している。
受信側通信装置は、Data17乃至Data24の受領確認を行う。ここでは、エラーにより正しく受信されなかったData20が、図中黒塗りで示されている。すなわち、受信側通信装置は、A-MPDUフレームの受信後、正しく受信されたデータ(Data17乃至19,21乃至24)を指定した受領確認情報(ACK)を、送信側通信装置に返送する。
送信側通信装置は、受信側通信装置からのACKにより、未達データの存在を把握すると、その未達データ(Data20)を再送する。
受信側通信装置は、未達データ(Data20)の受領確認を行った後、正しく受信された全てのデータ(Data17乃至Data24)を指定した受領確認情報(ACK)を、送信側通信装置に返送する。
以上のように、従来の通信方式において、複数のリンクを用いて未達データを再送する場合、リンク毎に返送されるブロックACKフレームには、他のリンクで送信されたデータの受領確認情報(ACK)が含まれない。そのため、それぞれのリンク毎に独立してデータを再送する必要があった。
そこで、以下においては、本開示に係る技術により、所定のリンクにおいて未達データが発生した場合に、利用可能なリンクを用いて未達データを再送する例について説明する。
図6は、本開示に係る技術における未達データの再送の例について説明する図である。
図6の例では、第1のリンク(Link1)から第3のリンク(Link3)を用いてデータが送信される。ここでは、全てのリンクにおけるデータのシーケンス番号が一括して管理され、受領確認情報(ACK)として他のリンクでのデータの受信状況を含むブロックACKフレームが返送されるとともに、任意のリンクを用いて未達データが再送される。
なお、図6の例では、図5の例と同様にして、A-MPDUフレームとして、Link1を用いてData1乃至Data8が送信され、Link2を用いてData9乃至Data16が送信され、Link3を用いてData17乃至Data24が送信される。
Link1では、受信側通信装置は、A-MPDUフレーム(Data1乃至Data8)の受信後、他のリンク(Link2とLink3)でのデータの受信状況を把握している。すなわち、受信側通信装置は、シーケンス番号1乃至8,9乃至14,17乃至19のデータ(Data1乃至Data8,Data9乃至Data14,Data17乃至Data19)の受信状況を把握し、これらの受信状況を含む受領確認情報(ACK)を、ブロックACKフレームとして送信側通信装置に返送する。
このとき、図中黒塗りで示されているように、Link1ではData3とData7が、Link2ではData10が正しく受信されていない旨がブロックACK情報に記載される。すなわち、Link1でA-MPDUフレームを受信したタイミングまでに収集された、他のリンクを含むデータの受信状況が記載されたブロックACK情報を含むACKが、送信側通信装置に返送される。このとき、受信側通信装置においては、受信されたデータの復号に時間がかかる場合もあることから、ブロックACK情報が反映されるまでに所定の時間がかかることもあり得る。
送信側通信装置は、未達データが記載されたブロックACK情報を含むACKを受信すると、その時点で利用可能となったLink1を用いて、その未達データ(Data3,Data7,Data10)を再送する。
Link2では、受信側通信装置は、A-MPDUフレーム(Data9乃至Data16)の受信後、他のリンク(Link1とLink3)でのデータの受信状況を把握している。すなわち、受信側通信装置は、シーケンス番号1乃至8,9乃至16,17乃至21のデータ(Data1乃至Data8,Data9乃至Data16,Data17乃至Data21)の受信状況を把握し、これらの受信状況を含む受領確認情報(ACK)を、ブロックACKフレームとして送信側通信装置に返送する。
このとき、図中黒塗りで示されているように、Link2ではData16が、Link3ではData20が正しく受信されていない旨がブロックACK情報に記載される。なお、この時点では、先の未達データ(Data3,Data7,Data10)の再送が開始されていないことから、Data3,Data7,Data10が未達である旨も、ブロックACK情報に記載されてもよい。
送信側通信装置は、未達データが記載されたブロックACK情報を含むACKを受信すると、その時点で利用可能となったLink2を用いて、先に再送が決定された未達データ(Data3,Data7,Data10)を除いた未達データ(Data16,Data20)を再送する。
Link3では、受信側通信装置は、A-MPDUフレーム(Data17乃至Data24)の受信後、他のリンク(Link1とLink2)でのデータの受信状況を把握している。すなわち、受信側通信装置は、シーケンス番号1乃至24の全てのデータ(Data1乃至Data24)の受信状況を把握し、これらの受信状況を含む受領確認情報(ACK)を、ブロックACKフレームとして送信側通信装置に返送する。
このとき、再送データ(Data3,Data7,Data10,Data16)が受信されていれば、その旨もブロックACK情報に記載される。
この時点では、Data20のみが未達となるが、送信側通信装置は、Link2を用いてData20を含む未達データを再送していることから、Data20が未達である旨が記載されたブロックACK情報を含むACKを受信しても、即座にData20の再送を開始しない。すなわち、送信側通信装置は、Link2での再送データに対するACKの返送を待つことで、再度の再送が必要か否かを判断する構成としてある。
そして、送信側通信装置が、再送データに対するACKとして、Data20を含む全てのデータを受信した旨が記載されたブロックACK情報を含むACKを受信することで、一連の動作が終了する。
図7は、本開示に係る技術における未達データの再送の他の例について説明する図である。
図7の例では、データの送信をより早く開始するリンクにおいて、A-MPDUフレームの構成を短く設定することで、そのリンクで、より早いタイミングで受領確認情報(ACK)が返送されるようにする。
すなわち、図7の例では、A-MPDUフレームとして、Link1を用いてData1乃至Data5が送信され、Link2を用いてData6乃至Data15が送信され、Link3を用いてData16乃至Data24が送信される構成としてあるが、これ以外の構成であってもよい。
Link1では、受信側通信装置は、A-MPDUフレーム(Data1乃至Data5)の受信後、他のリンク(Link2とLink3)でのデータの受信状況を把握している。すなわち、受信側通信装置は、シーケンス番号1乃至5,6乃至8,16のデータ(Data1乃至Data5,Data6乃至Data8,Data16)の受信状況を把握し、これらの受信状況を含む受領確認情報(ACK)を、ブロックACKフレームとして送信側通信装置に返送する。
このとき、図中黒塗りで示されているように、Link1ではData3が、Link2ではData7が、Link3ではData16が正しく受信されていない旨がブロックACK情報に記載され、そのブロックACK情報を含むACKが、送信側通信装置に返送される。
送信側通信装置は、未達データが記載されたブロックACK情報を含むACKを受信すると、その時点で利用可能となったLink1を用いて、その未達データ(Data3,Data7,Data16)を再送する構成としてもよい。
受信側通信装置は、A-MPDUフレームとして送信された再送データ(Data3,Data7,Data16)に対するACKを返送する。このACKには、シーケンス番号1乃至5,6乃至13,16乃至21のデータ(Data1乃至Data5,Data6乃至Data13,Data16乃至Data21)の受信状況が記載されたブロックACK情報が含まれる。
このとき、図中黒塗りで示されているように、Link2ではData10が、Link3ではData20が正しく受信されていない旨がブロックACK情報に記載される。
送信側通信装置は、未達データが記載されたブロックACK情報を含むACKを受信すると、その時点で利用可能となったLink1を用いて、未達データ(Data10,Data20)を再送する構成としてもよい。
Link2では、受信側通信装置は、A-MPDUフレーム(Data6乃至Data15)の受信後、他のリンク(Link1とLink3)でのデータの受信状況を把握している。すなわち、受信側通信装置は、シーケンス番号1乃至5,6乃至15,16乃至23のデータ(Data1乃至Data5,Data6乃至Data15,Data16乃至Data23)の受信状況を把握し、これらの受信状況を含む受領確認情報(ACK)を、ブロックACKフレームとして送信側通信装置に返送する。
このとき、この時点で再送データを含めて受信が確認されていないData10,Data20が未達である旨がブロックACK情報に記載される。
Link3では、受信側通信装置は、A-MPDUフレーム(Data16乃至Data24)の受信後、他のリンク(Link1とLink2)でのデータの受信状況を把握している。すなわち、受信側通信装置は、シーケンス番号1乃至24の全てのデータ(Data1乃至Data24)の受信状況を把握し、これらの受信状況を含む受領確認情報(ACK)を、ブロックACKフレームとして送信側通信装置に返送する。
このとき、この時点で再送途中のData20が未達である旨がブロックACK情報に記載される。
そして、送信側通信装置が、Link1での再送データに対するACKとして、Data20を含む全てのデータを受信した旨が記載されたブロックACK情報を含むACKを受信することで、一連の動作が終了する。
図8は、本開示に係る技術における未達データの再送の他の例について説明する図である。
図8の例では、全てのリンクにおいて、A-MPDUフレームの構成を短く設定することで、全てのリンクで、より早いタイミングで受領確認情報(ACK)が返送され、未達データの再送を促進させるようにする。
すなわち、図8の例では、例えば最初にアクセス権が獲得されたLink1では、4つのMPDUで構成されたA-MPDUフレームが送信され、他のリンクでは、6つのMPDUで構成されたA-MPDUフレームが送信される構成としてあるが、これ以外の構成であってもよい。
Link1では、受信側通信装置は、A-MPDUフレーム(Data1乃至Data4)の受信後、他のリンク(Link2)でのデータの受信状況を把握している。すなわち、受信側通信装置は、シーケンス番号1乃至4,5乃至7のデータ(Data1乃至Data4,Data5乃至Data7)の受信状況を把握し、これらの受信状況を含む受領確認情報(ACK)を、ブロックACKフレームとして送信側通信装置に返送する。
このとき、図中黒塗りで示されているように、Link1ではData3が、Link2ではData7が正しく受信されていない旨がブロックACK情報に記載され、そのブロックACK情報を含むACKが、送信側通信装置に返送される。
送信側通信装置は、未達データが記載されたブロックACK情報を含むACKを受信すると、その時点でデータの送信待ち状態のLink3を用いて、その未達データ(Data3,Data7)を再送する。具体的には、送信側通信装置は、未達データ(Data3,Data7)と、新規に送信されるデータ(Data11乃至Data14)とを組み合わせたA-MPDUフレームを構築し、受信側通信装置に送信する。
ACK受信後に利用可能となったLink1では、引き続いて、新規に送信されるデータ(Data15乃至Data20)で構成されたA-MPDUフレームが送信される構成としてもよい。
Link2では、受信側通信装置は、A-MPDUフレーム(Data5乃至Data10)の受信後、他のリンク(Link1)でのデータの受信状況を把握している。すなわち、受信側通信装置は、シーケンス番号1乃至4,5乃至10,15のデータ(Data1乃至Data4,Data5乃至Data10,Data15)の受信状況を把握し、これらの受信状況を含む受領確認情報(ACK)を、ブロックACKフレームとして送信側通信装置に返送する。
このとき、図中黒塗りで示されているように、Link1ではData10が正しく受信されていない旨がブロックACK情報に記載され、そのブロックACK情報を含むACKが、送信側通信装置に返送される。
送信側通信装置は、未達データが記載されたブロックACK情報を含むACKを受信すると、その時点で利用可能となったLink2を用いて、その未達データ(Data10)を再送する。具体的には、送信側通信装置は、未達データ(Data10)と、新規に送信されるデータ(Data21乃至Data24)とを組み合わせたA-MPDUフレームを構築し、受信側通信装置に送信する構成としてもよい。
Link3では、受信側通信装置は、A-MPDUフレーム(Data3,Data7,Data11乃至Data14)の受信後、他のリンク(Link1、Link2)でのデータの受信状況を把握している。すなわち、受信側通信装置は、シーケンス番号1乃至4,5乃至10,11乃至14,15乃至19,21,22のデータ(Data1乃至Data4,Data5乃至Data10,Data11乃至Data14,Data15乃至Data19,Data21,Data22)の受信状況を把握し、これらの受信状況を含む受領確認情報(ACK)を、ブロックACKフレームとして送信側通信装置に返送する。
このとき、図中黒塗りで示されているように、Link1ではData16が正しく受信されていない旨がブロックACK情報に記載され、そのブロックACK情報を含むACKが、送信側通信装置に返送される。
送信側通信装置は、未達データが記載されたブロックACK情報を含むACKを受信すると、その時点で利用可能となったLink3を用いて、その未達データ(Data16)を再送する。具体的には、送信側通信装置は、未達データ(Data16)を含むA-MPDUフレームを構築し、受信側通信装置に送信する構成としてもよい。
さらに、Link1では、受信側通信装置は、A-MPDUフレーム(Data15乃至Data20)の受信後、Data16,Data20が正しく受信されていない旨が記載されたブロックACK情報を含むACKを送信側通信装置に返送する。
このとき、Data16はLink3を用いて再送されていることから、送信側通信装置は、未達データが記載されたブロックACK情報を含むACKを受信すると、その時点で利用可能となったLink1を用いて、Data20のみを再送する構成としてもよい。
Link2では、送信側通信装置が、全てのデータ(Data1乃至Data24)を受信した旨が記載されたブロックACK情報を含むACKを受信する。
そして、図示はしないが、送信側通信装置が、Link1とLink3での再送データに対するACKとして、Data16,Data20を含む全てのデータを受信した旨が記載されたブロックACK情報を含むACKを受信することで、一連の動作が終了する。
図9は、本開示に係る技術における未達データの再送の他の例について説明する図である。
図9の例では、送信側通信装置と受信側通信装置との間で、未達データの再送のための再送用リンクをあらかじめ設定することで、未達データが発生した場合に、再送用リンクを用いて未達データが再送されるようにする。すなわち、図9の例では、Link1乃至Link3を用いてデータが送信され、未達データが発生した場合には、再送用リンクに設定されたLink4を用いて未達データが再送される構成としてあるが、これ以外の構成であってもよい。
図9の例では、A-MPDUフレームとして、Link1を用いてData1乃至Data8が送信され、Link2を用いてData9乃至Data16が送信され、Link3を用いてData17乃至Data24が送信される。
Link1では、受信側通信装置は、A-MPDUフレーム(Data1乃至Data8)の受信後、他のリンク(Link2とLink3)でのデータの受信状況を把握している。すなわち、受信側通信装置は、シーケンス番号1乃至8,9乃至14,17乃至20のデータ(Data1乃至Data8,Data9乃至Data14,Data17乃至Data20)の受信状況を把握し、これらの受信状況を含む受領確認情報(ACK)を、ブロックACKフレームとして送信側通信装置に返送する。
このとき、図中黒塗りで示されているように、Link1ではData3,Data7が、Link2ではData10が、Link3ではData20が正しく受信されていない旨がブロックACK情報に記載され、そのブロックACK情報を含むACKが、送信側通信装置に返送される。
送信側通信装置は、未達データが記載されたブロックACK情報を含むACKを受信すると、再送用リンクに設定されたLink4を用いて、その未達データ(Data3,Data7,Data10,Data20)を再送する構成になっている。
Link4においては、未達データの再送に先立って、あらかじめアクセス制御のためのキャリアセンスが実行され、所定の時間に渡って他の通信装置によりLink4が利用されていないことが把握されるようにしてもよい。
また、所定の時間長の送信機会(TXOP)が設定され、未達データの存在が把握された場合に、逐次、未達データが再送されるようにしてもよい。
すなわち、送信側通信装置は、Link2でData16が未達となったことを、Link2でのACKに含まれるブロックACK情報のみでしか把握することができない。そこで、Link2でACKが返送されたときには、Link4を用いて未達データ(Data3,Data7,Data10,Data20)の再送が開始されているが、その直後に、未達となったData16が付加されて再送されるようにする。
図9の例では、送信側通信装置が、Link4を用いて送信された再送データに対するACKとして、全てのデータを受信した旨が記載されたブロックACK情報を含むACKを受信することで、一連の動作が終了する。
図10は、本開示に係る技術における未達データの再送の他の例について説明する図である。
図10の例では、送信側通信装置と受信側通信装置との間で、未達データの再送のための再送用リンクをあらかじめ設定することで、未達データが発生した場合に、再送用リンクを用いて未達データが再送されるようにする。すなわち、図10の例では、Link1乃至Link3を用いてデータが送信され、未達データが発生した場合に、再送用リンクに設定されたLink4を用いて未達データが再送される。但し、図10の例では、再送用リンク(Link4)においても、受信側通信装置が、適宜、ACKを返送することで、送信側通信装置に未達データを通知する構成としてあるが、これ以外の構成であってもよい。
図10の例では、A-MPDUフレームとして、Link1を用いてData1乃至Data5が送信され、Link2を用いてData6乃至Data15が送信され、Link3を用いてData16乃至Data24が送信される。
Link1では、受信側通信装置は、A-MPDUフレーム(Data1乃至Data5)の受信後、他のリンク(Link2とLink3)でのデータの受信状況を把握している。すなわち、受信側通信装置は、シーケンス番号1乃至5,6乃至8,16のデータ(Data1乃至Data5,Data6乃至Data8,Data16)の受信状況を把握し、これらの受信状況を含む受領確認情報(ACK)を、ブロックACKフレームとして送信側通信装置に返送する。
このとき、図中黒塗りで示されているように、Link1ではData3が、Link2ではData7が、Link3ではData16が正しく受信されていない旨がブロックACK情報に記載され、そのブロックACK情報を含むACKが、送信側通信装置に返送される。
送信側通信装置は、未達データが記載されたブロックACK情報を含むACKを受信すると、再送用リンクに設定されたLink4を用いて、その未達データ(Data3,Data7,Data16)を再送する構成としてもよい。
Link4では、受信側通信装置は、再送データ(Data3,Data7,Data16)の受信後、他のリンク(Link1乃至Link3)でのデータの受信状況を把握している。すなわち、受信側通信装置は、シーケンス番号1乃至5,6乃至13,16乃至21のデータ(Data1乃至Data5,Data6乃至Data13,Data16乃至21)の受信状況を把握し、これらの受信状況を含む受領確認情報(ACK)を、ブロックACKフレームとして送信側通信装置に返送する。
このとき、図中黒塗りで示されているように、Link2ではData10が、Link3ではData20が正しく受信されていない旨がブロックACK情報に記載され、そのブロックACK情報を含むACKが、送信側通信装置に返送される。
送信側通信装置は、未達データが記載されたブロックACK情報を含むACKを受信すると、再送用リンク(Link4)を用いて、その未達データ(Data10,Data20)を再送する構成としてもよい。
なお、Link2とLink3でも、受信側通信装置は、A-MPDUフレームの受信後、そのタイミングでのデータの受信状況が記載されたブロックACK情報を含む最新のACKを送信側通信装置に返送する。
図10の例では、送信側通信装置が、Link4を用いて送信された再送データに対するACKとして、全てのデータを受信した旨が記載されたブロックACK情報を含むACKを受信することで、一連の動作が終了する。
ここで、送信側通信装置と受信側通信装置との間のシーケンス図を参照して、未達データの再送について説明する。
図11は、上述した図7の例に対応する未達データの再送について説明するシーケンス図である。図11においては、送信側通信装置110と受信側通信装置120との間でのMulti-Link Operationにおけるデータの送受信が示されている。
まず、送信側通信装置110と受信側通信装置120は、特定のリンク(Link1)を用いて、Multi-Link Operationをセットアップするためのセットアップ用データフレームを交換する。このセットアップ用データフレームには、データの送受信に用いられる複数のリンクに関する情報などのパラメータ情報が含まれる。
具体的には、送信側通信装置110が、セットアップ用データフレームとして、Multi-link Setup Requestを受信側通信装置120に送信し、受信側通信装置120が、Multi-link Setup Responseを返送する。
これにより、送信側通信装置110と受信側通信装置120との間で、各種のパラメータ情報が設定される。例えば、データの送受信に、Link1に加えて、Link2とLink3が用いられることが設定される。
その結果、送信側通信装置110は、複数のリンク(Link1乃至Link3)を用いてデータを送信するとともに、これらのリンクを用いて受領確認情報(ACK)を受信するようになる。また、受信側通信装置120は、複数のリンク(Link1乃至Link3)を用いてデータを受信するとともに、これらのリンクを用いて受領確認情報(ACK)を返送するようになる。
ここでは、所定のデータがフレームアグリゲーションにより1つに集約されたデータフレームとして、上述したように、複数のMPDUが集約されたA-MPDUフレームが、各リンクを用いて送信される。各リンクにおいては、所定のバックオフ時間を経過して伝送路が利用可能となったときに、データが送信される。
すなわち、送信側通信装置110は、最初に利用可能となったLink1を用いて、シーケンス番号1乃至5のデータ(データ(1)乃至(5))を送信する。次に、送信側通信装置110は、2番目に利用可能となったLink2を用いて、シーケンス番号6乃至15のデータ(データ(6)乃至(15))を送信する。そして、送信側通信装置110は、最後に利用可能となったLink3を用いて、シーケンス番号16乃至24のデータ(データ(16)乃至(24))を送信する。
これに対して、受信側通信装置120は、各リンク(Link1乃至Link3)を用いて送信されてきたA-MPDUフレームを受信し、その中に含まれるデータを逐次復号することで、誤りのないデータを収集する。各リンクでは、時間的にばらばらにデータが受信される。
また、受信側通信装置120は、各リンクでのA-MPDUフレームの受信終了後のタイミングで、受領確認情報(ACK)として、そのタイミングまでに受信されたMPDUを特定するブロックACK情報を含むACKを、送信側通信装置110に返送する。
すなわち、Link1では、データ(1)乃至(5)の受信終了後のタイミングまでに未達となった(図中、破線で示される)データ(3),(7),(16)が識別可能なブロックACK情報(NACK(3,7,16))が返送される。
送信側通信装置110は、Link1においてNACK(3,7,16)を受信すると、引き続き利用可能となったLink1を用いて、未達となったデータ(3),(7),(16)を再送する構成として示されている。
受信側通信装置120は、Link1でのデータ(3),(7),(16)の受信終了後のタイミングで、受領確認情報(ACK)として、そのタイミングまでに受信されたMPDUを特定するブロックACK情報を含むACKを、送信側通信装置110に返送する。
すなわち、Link1では、データ(3),(7),(16)の受信終了後のタイミングまでに未達となった(図中、破線で示される)データ(10),(20)が識別可能なブロックACK情報(NACK(10,20))が返送される。
送信側通信装置110は、Link1においてNACK(10,20)を受信すると、引き続き利用可能となったLink1を用いて、未達となったデータ(10),(20)を再送する構成として示されている。
また、Link2では、データ(6)乃至(15)の受信終了後のタイミングまでに未達となった(図中、破線で示される)データ(20)が識別可能なブロックACK情報(NACK(20))が返送される。
しかしながら、送信側通信装置110は、Link1を用いてデータ(20)を再送している途中であることから、Link2においてはデータ(20)を重ねて再送せず、その後に返送されてくるACK(ブロックACK情報)を待機する。
そして、Link3では、データ(16)乃至(24)の受信終了後、全てのデータ(1)乃至(24)が識別可能なブロックACK情報(ACK(1-24))が返送される。
同様に、Link1でも、未達となったデータ(10),(20)の受信終了後、全てのデータ(1)乃至(24)が識別可能なブロックACK情報(ACK(1-24))が返送される。
以上のようにして、図7の例では、送信側通信装置110と受信側通信装置120との間でのMulti-Link Operationにおいて、未達データが再送される構成として示されている。
なお、図示は省略するが、図8の例においても同様にして、送信側通信装置110と受信側通信装置120との間でのMulti-Link Operationにおいて、未達データが再送される構成としてもよい。
図12は、上述した図9の例に対応する未達データの再送について説明するシーケンス図である。図12においても、送信側通信装置110と受信側通信装置120との間でのMulti-Link Operationにおけるデータの送受信が示されている。
まず、送信側通信装置110と受信側通信装置120は、特定のリンク(Link1)を用いて、Multi-Link Operationをセットアップするためのセットアップ用データフレームを交換する。このセットアップ用データフレームには、データの送受信に用いられる複数のリンクに関する情報などのパラメータ情報が含まれる。
具体的には、送信側通信装置110が、セットアップ用データフレームとして、Multi-link Setup Requestを受信側通信装置120に送信し、受信側通信装置120が、Multi-link Setup Responseを返送する。
これにより、送信側通信装置110と受信側通信装置120との間で、各種のパラメータ情報が設定される。例えば、データの送受信に、Link1に加えて、Link2とLink3が用いられることが設定され、さらに、再送用リンクとしてLink4が用いられることが設定される。
その結果、送信側通信装置110は、複数のリンク(Link1乃至Link3)を用いてデータを送信するとともに、これらのリンクを用いて受領確認情報(ACK)を受信するようになる。また、受信側通信装置120は、複数のリンク(Link1乃至Link3)を用いてデータを受信するとともに、これらのリンクを用いて受領確認情報(ACK)を返送するようになる。
さらに、送信側通信装置110は、未達データが発生した場合、再送用リンク(Link4)を用いて未達データを再送し、受信側通信装置120は、再送用リンク(Link4)を用いて未達データを受信するようになる。
ここでも、所定のデータがフレームアグリゲーションにより1つに集約されたデータフレームとして、上述したように、複数のMPDUが集約されたA-MPDUフレームが、各リンクを用いて送信される。各リンクにおいては、所定のバックオフ時間を経過して伝送路が利用可能となったときに、データが送信される。
すなわち、送信側通信装置110は、最初に利用可能となったLink1を用いて、シーケンス番号1乃至8のデータ(データ(1)乃至(8))を送信する。次に、送信側通信装置110は、2番目に利用可能となったLink2を用いて、シーケンス番号9乃至16のデータ(データ(9)乃至(16))を送信する。そして、送信側通信装置110は、最後に利用可能となったLink3を用いて、シーケンス番号17乃至24のデータ(データ(17)乃至(24))を送信する。
これに対して、受信側通信装置120は、各リンク(Link1乃至Link3)を用いて送信されてきたA-MPDUフレームを受信し、その中に含まれるデータを逐次復号することで、誤りのないデータを収集する。各リンクでは、時間的にばらばらにデータが受信される。
また、受信側通信装置120は、各リンクでのA-MPDUフレームの受信終了後のタイミングで、受領確認情報(ACK)として、そのタイミングまでに受信されたMPDUを特定するブロックACK情報を含むACKを、送信側通信装置110に返送する。
すなわち、Link1では、データ(1)乃至(8)の受信終了後のタイミングまでに未達となった(図中、破線で示される)データ(3),(7),(10),(20)が識別可能なブロックACK情報(NACK(3,7,10,20))が返送される。
送信側通信装置110は、Link1においてNACK(3,7,10,20)を受信すると、再送用リンクに設定されたLink4を用いて、未達となったデータ(3),(7),(10),(20)の再送を開始する構成として示されている。
一方、Link2では、データ(9)乃至(16)の受信終了後のタイミングまでに未達となった(図中、破線で示される)データ(16)が識別可能なブロックACK情報(NACK(16))が返送される。このとき、Link4を用いて再送されている未達データのうち、データ(10),(20)が未達である旨が、ブロックACK情報に記載されてもよい。
送信側通信装置110は、Link2においてNACK(16)を受信すると、再送用リンクに設定されたLink4を用いて、未達となったデータ(3),(7),(10),(20)に加えて、データ(16)の再送を設定する構成として示されている。
また、Link3では、データ(17)乃至(24)の受信終了後、全てのデータ(1)乃至(24)が識別可能なブロックACK情報(ACK(1-24))が返送される。Link4を用いて再送されている未達データのうち、データ(20),(16)が未達である旨が、ブロックACK情報に記載されてもよい。
そして、Link4では、全ての再送データ(データ(3),(7),(10),(20),(16))の受信終了後、全てのデータ(1)乃至(24)が識別可能なブロックACK情報(ACK(1-24))が返送される。
以上のようにして、図9の例では、送信側通信装置110と受信側通信装置120との間でのMulti-Link Operationにおいて、未達データが再送される構成としてあるが、この構成に限定されなくてもよい。
なお、図示は省略するが、図10の例においても同様にして、送信側通信装置110と受信側通信装置120との間でのMulti-Link Operationにおいて、未達データが再送される。
(3-4.データフレームの構成例)
ここで、送信側通信装置と受信側通信装置との間でのMulti-Link Operationにおいて送受信されるデータ(データフレーム)の構成例について説明する。
図13は、Multi-Link Operationのセットアップ時に送受信されるフレーム(セットアップ用データフレーム)の構成例を示す図である。
図13に示されるフレームは、送信側通信装置からはMulti-link Setup Requestとして送信され、受信側通信装置からはMulti-link Setup Responseとして返送される。
セットアップ用データフレームは、MACヘッダとマルチリンク情報エレメントから構成される。
MACヘッダは、フレームの種類などの情報を含むFrame Control、フレームの持続時間(送信に必要な時間)を示すDuration、送信元のアドレスを示すTransmit Address、および、送信先のアドレスを示すReceive Addressから構成される。
例えば、マルチリンク情報エレメントは、Element ID(ML IE),Number of Multi Links,Ch.No.,Reverse Links,Resend Links、およびParameterから構成される。
Element ID(ML IE)は、エレメントの種類を示す。Number of Multi Linksは、マルチリンクを設定可能なリンク数を示す。Ch.No.は、マルチリンクを設定可能なリンクのチャネル番号を示し、Number of Multi Linksの数だけ設定される。Reverse Linksは、マルチリンクが設定されたリンクのうち、逆方向のリンク(返送用のリンク)として設定されたリンクを示す。Resend Linksは、マルチリンクが設定されたリンクのうち、再送用リンクとして設定されたリンクを示す。
Parameterは、データの送受信に関するパラメータ情報として、Feedback Timing,ACK/NACK,Buffer Size,Bitmap Length,Multi Links Retransmitなどのパラメータ情報から構成される。
Feedback Timingは、逆方向のリンクにおけるフィードバックのタイミングを示す。ACK/NACKは、受領確認情報としてACK情報とNACK情報のいずれを返送するかを示す。Buffer Sizeは、バッファの容量を示す。Bitmap Lengthは、ACK情報のビットマップ長を示す。Multi Links Retransmitは、Multi-Link Operationにおけるデータの再送に関する情報として、例えば、フレームアグリゲーションを実行するか否かの情報を含む。
例えば、送信側通信装置から送信されるMulti-link Setup RequestのParameterには、各種のパラメータ情報として所望の値が設定され、受信側通信装置から返送されるMulti-link Setup ResponseのParameterには、各種のパラメータ情報として確定された値が設定される。これにより、送信側通信装置と受信側通信装置は、Multi-link Setup RequestとMulti-link Setup Responseを交換することで、Multi-Link Operationのセットアップを実行することができる。
図14は、本開示のMulti-Link OperationにおけるA-MPDUフレームの構成例を示す図である。
図14に示されるA-MPDUフレームは、基本的には、従来のA-MPDUフレームと同様にして構成される。すなわち、図14のA-MPDUフレームは、所定のPLCH Header、フレームアグリゲーションにより集約された数のA-MPDU Subframe、およびEOF Paddingから構成される。
A-MPDU Subframeは、所定のDelimiter、個々のMPDU、およびPaddingから構成される。MPDUは、所定のMACヘッダ、実データが格納されるFrame Body、および、フレームに誤りがないか否かをチェックするFCS(Frame Check Sequence)から構成される。
本開示のA-MPDUフレームにおいて、Delimiterには、従来と同様のEOF,Length,CRCに加え、例えばQuickが含まれる。Quickは、Multi-Link Operationにおいて、他のリンクで未達となり再送されたデータであることを識別するためのビットである。Quickは、例えば、受信側通信装置からの受領確認情報(ACK)を受信したタイミングなどで設定される構成としてもよい。
図14の例では、Quickは、全てのA-MPDU SubframeのDelimiter内に設定されるものとするが、PLCH Headerや、個々のMPDUのMACヘッダ内のEHT Control内に設定されてもよい。
図15は、本開示のMulti-Link OperationにおけるブロックACKフレームの構成例を示す図である。
図15に示されるブロックACKフレームは、基本的には、従来のブロックACKフレームと同様にして構成される。すなわち、図15のブロックACKフレームは、所定のMAC Header,BA Control、およびBA Informationから構成される。
図15のブロックACKフレームにおいては、BA Controlの値として、Multi-Link OperationにおけるブロックACKフレームであることを識別する“Multi-Link”が用意される。
また、図15のブロックACKフレームにおいて、BA Informationには、従来と同様のBlock Ack Starting Sequence Control,Block Ack Bitmapに加え、Link Countが含まれる。例えばLink Countは、Multi-Link Operationにおけるリンク数を示す。
なお、本開示のMulti-Link Operationにおいては、複数のリンクのACK情報がまとめて返送されることから、Block Ack Bitmapは、従来のブロックACKフレームの情報長より長い情報長で構成されるようにする。
図16は、本開示のMulti-Link OperationにおけるブロックACKフレームの他の構成例を示す図である。
図16に示されるブロックACKフレームもまた、基本的には、従来のブロックACKフレームと同様にして構成される。すなわち、図16のブロックACKフレームは、所定のMAC Header,BA Control、およびBA Informationから構成される。
図16のブロックACKフレームにおいては、BA Controlの値として、Multi-Link Operationにおける未達データの再送のためのブロックACKフレームであることを識別する“MLO”が用意される。
また、図16のブロックACKフレームにおいて、BA Informationには、従来と同様のBlock Ack Starting Sequence Control,Block Ack Bitmapに加え、例えばLink CountとLink1 S/N乃至LinkN S/Nが含まれる。Link Countは、Multi-Link Operationにおけるリンク数を示す。Link1 S/N乃至LinkN S/Nは、各リンク(Link1乃至リンクN)においてどのシーケンス番号までのデータを受信したかを示す。
このようなブロックACKフレームの構成によれば、受信側通信装置の処理能力の違いにより送信側通信装置で把握しきれない未達データの範囲を特定することが可能となる。すなわち、送信側通信装置は、受信側通信装置における未達データを正確に把握することが可能となる。
図17は、本開示のMulti-Link OperationにおけるブロックACKフレームのさらに他の構成例を示す図である。
図17に示されるブロックACKフレームもまた、基本的には、従来のブロックACKフレームと同様にして構成される。すなわち、図17のブロックACKフレームは、所定のMAC Header,BA Control、およびBA Informationから構成される。
図17のブロックACKフレームにおいては、BA Controlの値として、Multi-Link Operationにおける未達データの再送のためのブロックACKフレームであることを識別する“Resend”が用意される。
また、図17のブロックACKフレームにおいて、BA Informationには、例えばLink Count,Link1 S/N乃至LinkN S/N,NACK Starting Sequence Control,NACK Bitmapが含まれる。Link Countは、Multi-Link Operationにおけるリンク数を示す。Link1 S/N乃至LinkN S/Nは、各リンク(Link1乃至リンクN)においてどのシーケンス番号までのデータを受信したかを示す。
また、NACK Starting Sequence Controlは、従来のBlock Ack Starting Sequence Controlに代わる領域とされ、再送を要求するデータの最初のシーケンス番号が設定される。NACK Bitmapは、従来のBlock Ack Bitmapに代わる領域とされ、再送を要求するデータのシーケンス番号を示す。
図18は、本開示のMulti-Link OperationにおけるブロックACKフレームのさらに他の構成例を示す図である。
図18に示されるブロックACKフレームもまた、基本的には、従来のブロックACKフレームと同様にして構成される。すなわち、図18のブロックACKフレームは、所定のMAC Header,BA Control、およびBA Informationから構成される。
図18のブロックACKフレームにおいては、BA Controlの値として、Multi-Link Operationにおいて未達データの情報のみを特定するためのブロックACKフレームであることを識別する“ML NACK”が用意される。
また、図18のブロックACKフレームにおいて、BA Informationには、例えばNACK CountsとNACK Sequence Numberが含まれる。NACK Countsは、Multi-Link Operationにおいて未達となったデータ数を示す。NACK Sequence Numberは、Multi-Link Operationにおいて未達となったデータのシーケンス番号を示し、NACK Countsで示される数だけ設定される。
このようなブロックACKフレームの構成によれば、冗長なビットマップ情報を返送することなく、未達となったデータのシーケンス番号のみが、送信側通信装置に通知されるようになる。
(3-5.通信装置の構成例)
図19は、本開示に係る技術を適用した通信装置の構成例を示すブロック図である。
図19の通信装置200は、上述した送信側通信装置と受信側通信装置の少なくともいずれかとして機能し得る他、アクセスポイントとしても機能し得る。
通信装置200は、ネットワーク接続モジュール210、情報入力モジュール220、機器制御モジュール230、情報出力モジュール240、および無線通信モジュール250を含むように構成される。
ネットワーク接続モジュール210は、例えば、通信装置200がアクセスポイントとして機能する場合、インターネットなどのネットワークに接続するための通信モデムなどとして構成される。
ネットワーク接続モジュール210は、必ずしも通信装置200内に組み込まれる必要はない。ネットワーク接続モジュール210は、例えば、公衆通信回線とインターネットサービスプロバイダを介してインターネットに接続するONU(Optical Network Unit)として構成されてもよい。
情報入力モジュール220は、ユーザの指示を表す情報(指示情報)を入力するモジュールであり、ボタンやキーボード、タッチパネルなどで構成される。情報入力モジュール220もまた、必ずしも通信装置200内に組み込まれる必要はない。
機器制御モジュール230は、情報入力モジュール220に入力された指示情報に基づいて、通信装置200を、送信側通信装置または受信側通信装置として動作させたり、アクセスポイントとして動作させるための制御を行う。
例えば、通信装置200を送信側通信装置として動作させる場合、機器制御モジュール230は、所定のアプリケーションのデータを無線通信モジュール250に供給し、送信側通信装置に送信させる。一方、通信装置200を受信側通信装置として動作させる場合、機器制御モジュール230は、送信側通信装置からのデータを無線通信モジュール250に受信させる。受信されたデータは、機器制御モジュール230により実行されるアプリケーションに供給される。
情報出力モジュール240は、通信装置200の動作状態や、ネットワーク接続モジュール210を介して取得された情報を出力し、ユーザに提示するモジュールである。情報出力モジュール240は、例えば、LED表示器や液晶パネル、有機ELディスプレイなどの表示装置、音声や音楽を出力するスピーカなどで構成される。
無線通信モジュール250は、他の通信装置200や、外部の装置と無線通信を行う。
図20は、無線通信モジュール250の構成例を示すブロック図である。
図20に示されるように、無線通信モジュール250は、インタフェース(I/F)301、送信バッファ302、送信シーケンス管理部303、送信フレーム構築部304、送信処理部305、および送受信アンテナ306を備える。さらに、無線通信モジュール250は、受信処理部307、受信フレーム解析部308、受信シーケンス管理部309、受信バッファ310、マルチリンク管理部311、およびアクセス制御部312を備える。
I/F301は、通信装置200内の他のモジュールと接続され、各種の情報やデータをやり取りする。具体的には、I/F301は、他のモジュールからのデータを送信バッファ302に供給したり、受信バッファ310からのデータを他のモジュールに供給したりする。
送信バッファ302は、I/F301からのデータを一時的に格納する。送信バッファ302に格納されたデータは、順次、送信シーケンス管理部303に供給される。
送信シーケンス管理部303は、送信バッファ302からのデータを無線通信により送信するために、送信されるデータのシーケンスを管理する。シーケンス番号が付加されたデータは、順次、送信フレーム構築部304に供給される。
送信フレーム構築部304は、送信シーケンス管理部303からのデータをフレームアグリゲーションにより集約したA-MPDUフレームを構築したり、受領確認情報(ACK)を含むブロックACKフレームを構築する。構築されたこれらのデータフレームは、送信処理部305に供給される。
送信処理部305は、機能的には複数のリンク毎に設けられる。送信処理部305は、送信フレーム構築部304からのデータフレームを基に、個々のリンク毎の送信信号を生成して、所定の信号処理を施す。リンク毎の送信信号は、送受信アンテナ306を介して、他の通信装置200に送信される。
また、他の通信装置200から送信されてくる送信信号は、送受信アンテナ306を介して、受信処理部307によって、リンク毎の受信信号として受信される。
受信処理部307もまた、機能的には複数のリンク毎に設けられる。受信処理部307は、送受信アンテナ306を介して受信された個々のリンク毎の受信信号を復号し、データフレーム(A-MPDUフレームやブロックACKフレーム)を取得する。取得されたこれらのデータフレームは、受信フレーム解析部308に供給される。
このように、リンク毎に設けられる送信処理部305と受信処理部307は、通信装置200が、送信側通信装置として動作する場合であっても、受信側通信装置として動作する場合であっても、それぞれ同時に利用される。
受信フレーム解析部308は、受信処理部307からのデータフレームを解析する。例えば、データフレームとしてA-MPDUフレームが受信された場合、受信フレーム解析部308は、A-MPDUフレームを解析することで、個々のデータ(MPDU)が正しく受信されたか否かを判断する。受信された個々のデータは、受信シーケンス管理部309に供給される。
受信シーケンス管理部309は、受信フレーム解析部308からの受信データのシーケンス番号を管理するとともに、そのデータを受信バッファ310に供給する。特に、通信装置200が受信側通信装置として動作する場合、受信シーケンス管理部309は、受信データのシーケンス番号に基づいて、ACK情報またはNACK情報を生成し、マルチリンク管理部311に供給する。
受信バッファ310は、受信シーケンス管理部309からのデータを一時的に格納する。受信バッファ310に格納されたデータは、I/F301を介して、所定のタイミングで、通信装置200内の他のモジュールに出力される。
マルチリンク管理部311は、Multi-Link Operationに関する各種の設定を管理する。例えば、マルチリンク管理部311は、Multi-Link Operationにおいて利用される複数のリンクを設定する。
アクセス制御部312は、マルチリンク管理部311により設定された複数のリンク毎に、データの送受信を制御する。例えば、アクセス制御部312は、リンク毎に設けられた送信処理部305と受信処理部307を制御することで、リンク毎のバックオフ時間を設定したり、伝送路の利用状況を取得したりする。
例えば、通信装置200が送信側通信装置として動作する場合、アクセス制御部312は、複数のリンクを用いて並行したデータの送信を制御し、マルチリンク管理部311は、所定のリンクにおいて未達データが発生した場合、利用可能なリンクを用いた未達データの再送を設定する。
マルチリンク管理部311は、データの送信先である受信側通信装置からの受領確認情報(ACK)に基づいて、再送が必要な未達データを特定する。
マルチリンク管理部311は、複数のリンクのうち、データの送信が終了したリンクを用いた未達データの再送を設定したり、データの送信待ち状態のリンクを用いた未達データの再送を設定したりする。また、マルチリンク管理部311は、複数のリンクのうち、未達データの再送のための再送用リンクを用いた未達データの再送を設定する。
マルチリンク管理部311は、データの送信に用いられる少なくとも1つのリンクについて、送信データ数を調整したデータフレーム(A-MPDUフレーム)の構築を制御したり、未達データと新規に送信されるデータとを組み合わせたデータフレームの構築を制御したりする。また、マルチリンク管理部311は、データの送信先からの受領確認情報の受信タイミングと、データの送信待ち状況に応じて、未達データを含むデータフレームの構築を制御する構成としてあるが、これ以外の構成であってもよい。
マルチリンク管理部311は、未達データの再送に用いられ得るリンクについて、データフレームの持続時間よりも長い送信機会(TXOP)をあらかじめ設定する。また、マルチリンク管理部311は、第1の未達データを含むデータフレームの送信中に、第2の未達データが新たに発生した場合、データフレームに続けての第2の未達データの再送を設定する構成としてあるが、これ以外の構成であってもよい。
一方、通信装置200が受信側通信装置として動作する場合、アクセス制御部312は、複数のリンクを用いて並行したデータの受信を制御し、マルチリンク管理部311は、1のリンクにおいて受領確認情報(ACK)を返送する場合、他のリンクにおけるデータの受信状況を特定し得る情報を含む受領確認情報を設定する。そして、アクセス制御部312は、受領確認情報の返送を制御し、マルチリンク管理部311は、1のリンクを用いた受領確認情報に対応する再送データの受信を設定する。
マルチリンク管理部311は、他のリンクにおけるデータの受信状況を特定し得る情報として、未達データのシーケンス番号を含む受領確認情報を設定する。
マルチリンク管理部311は、並行したデータの受信に用いるリンクの他に、再送データの受信のための再送用リンクを設定する構成としてあるが、これ以外の構成であってもよい。
アクセス制御部312は、データの送信元である送信側通信装置との間でアクセス可能なリンクを用いた受領確認情報の返送を制御する構成としてあるが、これ以外の構成であってもよい。
マルチリンク管理部311は、所定のリンクを用いたデータの受信と、再送データの受信を併せて管理する。具体的には、マルチリンク管理部311は、所定のリンクを用いて再送データを含むデータフレームを受信している間、データの送信元への再送データの送信を要求しない(未達データのシーケンス番号を含む受領確認情報を設定しない)。
また、マルチリンク管理部311は、受信されたデータフレーム(A-MPDUフレーム)の末尾が検出された後、受信済みのデータの出力の要否を判定したり、受領確認情報の返送の要否を判定したりする。
(3-6.通信装置の動作)
以下においては、上述した通信装置200の動作について説明する。
(Multi-Link Operationのセットアップ時の動作)
まず、図21および図22のフローチャートを参照して、Multi-Link Operationのセットアップ時の通信装置200(無線通信モジュール250)の動作の流れについて説明する。
ステップS101において、マルチリンク管理部311は、Multi-Link Operationにおいて設定可能なリンクに関する情報を取得する。
ステップS102において、マルチリンク管理部311は、自装置(通信装置200)が送信側通信装置として動作するか否か、言い換えると、データの送信が可能か否かを判定する。自装置が送信側通信装置として動作すると判定された場合、ステップS103に進む。
ステップS103において、マルチリンク管理部311は、自装置(通信装置200)によるMulti-Link Operationが可能であるか否かを判定する。Multi-Link Operationが可能と判定された場合、ステップS104に進む。一方、Multi-Link Operationが可能でないと判定された場合、ステップS104はスキップされる。
ステップS104において、マルチリンク管理部311は、Multi-Link Operationにおいて設定可能なリンクの中から、データを送信するためのリンクであるデータ送信用リンクの候補を設定する。
ステップS105において、マルチリンク管理部311は、未達データの再送のための再送用リンクの設定が必要であるか否かを判定する。再送用リンクの設定が必要であると判定された場合、ステップS106に進む。一方、再送用リンクの設定が必要でないと判定された場合、ステップS106はスキップされる。
ステップS106において、マルチリンク管理部311は、Multi-Link Operationにおいて設定可能なリンクの中から、再送用リンクの候補を設定する。
ステップS107において、マルチリンク管理部311は、データ送信用リンクの候補と、再送用リンクの候補の設定が完了したか否かを判定する。それぞれのリンクの候補の設定が完了していないと判定された場合、ステップS103に戻り、それ以降の処理が繰り返される。一方、それぞれのリンクの候補の設定が完了したと判定された場合、ステップS108に進む。
ステップS108において、アクセス制御部312は、送信処理部305を制御することで、設定されたデータ送信用リンクの候補のうちのいずれか1つのリンクを用いて、Multi-Link Setup Requestを、受信側通信装置となる他の通信装置200に送信する。Multi-Link Setup Requestには、リンクの各候補に関するパラメータ情報などが設定される。
ステップS109において、アクセス制御部312は、受信処理部307を制御することで、受信側通信装置からのMulti-Link Setup Responseを受信したか否かを判定する。Multi-Link Setup Responseを受信したと判定された場合、ステップS110に進む。
ステップS110において、アクセス制御部312は、受信フレーム解析部308を介して、受信処理部307により受信されたMulti-Link Setup Responseにおいて設定されているパラメータ情報を取得する。
ステップS111において、マルチリンク管理部311は、アクセス制御部312により取得されたパラメータ情報に基づいて、データの送信に用いるリンク(データ送信用リンクと再送用リンク)を設定し、セットアップ時の動作が完了する。
このようにして、送信側通信装置のマルチリンク管理部311は、受信側通信装置とのネゴシエーションにより、Multi-Link Operationにおいて利用されるリンクを設定する。
一方、ステップS109において、Multi-Link Setup Responseを受信していないと判定された場合、ステップS112に進む。
ステップS112においては、Multi-Link Setup Requestを送信してから、あらかじめ設定された時間が経過したか否かに応じて、タイムアウトしたか否かが判定される。あらかじめ設定された時間が経過しておらず、タイムアウトしていないと判定された場合、ステップS109に戻り、Multi-Link Setup Responseの受信を待ち受ける。一方、あらかじめ設定された時間が経過し、タイムアウトしたと判定された場合、セットアップ時の動作が完了しないまま、処理は終了する。
さて、ステップS102において、自装置が送信側通信装置として動作しないと判定された場合、すなわち、自装置が受信側通信装置として動作する場合、ステップS113に進む。
ステップS113において、アクセス制御部312は、受信処理部307を制御することで、送信側通信装置からのMulti-Link Setup Requestを受信したか否かを判定する。Multi-Link Setup Requestを受信していないと判定された場合、ステップS101に戻る。一方、Multi-Link Setup Requestを受信したと判定された場合、ステップS114(図22)に進む。
ステップS114において、アクセス制御部312は、受信フレーム解析部308を介して、受信処理部307により受信されたMulti-Link Setup Requestにおいて設定されているパラメータ情報を取得する。
ステップS115において、マルチリンク管理部311は、アクセス制御部312により取得されたパラメータ情報から、送信側通信装置により設定されたデータ送信用リンクの候補の情報を取得する。
ステップS116において、マルチリンク管理部311は、送信側通信装置により設定されたデータ送信用リンクの候補において、データの受信が可能であるか否かを判定する。ここで、データ送信用リンクの候補は、ステップS101において情報が取得されている、Multi-Link Operationにおいて設定可能なリンクであることが前提となる。
データの受信が可能であると判定された場合、ステップS117に進む。一方、データの受信が可能でないと判定された場合、ステップS117はスキップされる。
ステップS117において、マルチリンク管理部311は、データの受信が可能と判定されたデータ送信用リンクの候補について、受信バッファ310の容量やそのリンクの利用状況に基づいて、そのリンクに要求されるデータ受信に関するパラメータ情報を設定する。
ステップS118において、マルチリンク管理部311は、アクセス制御部312により取得されたパラメータ情報から、送信側通信装置により設定された再送用リンクの候補の情報を取得する。
ステップS119において、マルチリンク管理部311は、送信側通信装置により設定された再送用リンクの候補において、データの受信が可能であるか否かを判定する。ここでも、再送用リンクの候補は、ステップS101において情報が取得されている、Multi-Link Operationにおいて設定可能なリンクであることが前提となる。
データの受信が可能であると判定された場合、ステップS120に進む。一方、データの受信が可能でないと判定された場合、ステップS120はスキップされる。
ステップS120において、マルチリンク管理部311は、データの受信が可能と判定された再送用リンクの候補について、受信バッファ310の容量やそのリンクの利用状況に基づいて、そのリンクに要求されるデータ受信に関するパラメータ情報を設定する。
ステップS121において、マルチリンク管理部311は、ブロックACK情報の記載方法など、ブロックACKフレームの設定に関するパラメータを決定する。すなわち、Multi-Link Operationにおける受領確認情報(ACK)の構成とデータの再送についてのパラメータが設定される。
ステップS122において、マルチリンク管理部311は、Multi-Link Operationを実施するか否かを判定する。Multi-Link Operationを実施すると判定された場合、ステップS123に進む。
ステップS123において、アクセス制御部312は、送信処理部305を制御することで、Multi-Link Setup Requestが受信されたリンクを用いて、Multi-Link Setup Responseを、送信側通信装置となる他の通信装置200に送信する。Multi-Link Setup Responseには、リンクの各候補に関するパラメータ情報などが設定される。
ステップS124において、マルチリンク管理部311は、アクセス制御部312により設定されたパラメータ情報に基づいて、データの受信に用いるリンク(データ送信用リンク、再送用リンク)を設定し、セットアップ時の動作が完了する。
このようにして、受信側通信装置のマルチリンク管理部311は、送信側通信装置とのネゴシエーションにより、Multi-Link Operationにおいて利用されるリンクを設定する。
(送信側通信装置の動作)
図23および図24のフローチャートを参照して、送信側通信装置としての通信装置200(無線通信モジュール250)の動作の流れについて説明する。
ステップS201において、マルチリンク管理部311は、データ送信を実施するか否かを判定する。データ送信を実施すると判定された場合、ステップS202に進む。
ステップS202において、マルチリンク管理部311は、データ送信に利用可能なリンク数と、送信バッファ302に存在するデータ量を取得する。
ステップS203において、マルチリンク管理部311は、取得された利用可能リンク数と送信バッファ302のデータ量に基づいて、Multi-Link Operationに対応可能であるか否かを判定する。Multi-Link Operationに対応可能でないと判定された場合、ステップS201に戻る。一方、Multi-Link Operationに対応可能であると判定された場合、ステップS204に進む。
ステップS204において、アクセス制御部312は、送信処理部305を制御することで、データ送信用リンクでのアクセス制御を開始する。
ステップS205において、マルチリンク管理部311は、リンク毎にA-MPDUフレームの伝送量を算出する。
ステップS206において、マルチリンク管理部311は、リンク毎に算出されたA-MPDUフレームの伝送量に基づいて、リンク毎のA-MPDUフレームを、送信フレーム構築部304に構築させる。ここでは、各リンクの送信待ち時間の設定や、各リンクの混雑度などに基づいて、最適なMPDU数(送信データ数)が判定される。そして、全てのリンクを利用した場合に最も効率が良いと推測されるMPDU数がリンク毎に調整される。
ステップS207において、アクセス制御部312は、各リンクの送信待ち時間までのカウントダウンを行うことで、送信可能になったリンクがあるか否かを判定する。ステップS207は、送信可能になったリンクがあると判定されるまで繰り返される。そして、送信可能になったリンクがあると判定された場合、ステップS208に進む。
ステップS208において、アクセス制御部312は、送信可能となったリンクの送信機会(TXOP)をDurationとして設定する。例えば、データフレームの持続時間より長いTXOPが設定される。ここでは、未達データの再送を見越した時間がTXOPに設定されてもよい。
ステップS209において、アクセス制御部312は、設定されたTXOPの範囲内で構築されたA-MPDUフレームを、送信処理部305に送信させる。
ステップS210において、マルチリンク管理部311は、再送用リンクの設定が必要であるか否かを判定する。再送用リンクの設定が必要であると判定された場合、ステップS211に進み、マルチリンク管理部311は、再送用リンクを設定する。ここでは、Multi-Link Operationのセットアップ時に再送用リンクに設定されたリンクが、アクセス制御の開始時や空きリンク状態のときに想定外に利用されないように、再送用リンクの設定が確定される。
一方、再送用リンクの設定が必要でないと判定された場合、ステップS211はスキップされ、ステップS212(図24)に進む。また、ステップS201において、データ送信を実施しないと判定された場合には、ステップS202乃至S211はスキップされ、ステップS212(図24)に進む。
ステップS212において、アクセス制御部312は、受信処理部307を制御することで、受信側通信装置からの受領確認情報を受信したか否かを判定する。受領確認情報(ACK)を受信していないと判定された場合、ステップS207(図23)に戻り、他のリンクでのA-MPDUフレームの送信が繰り返される。
一方、所定のリンクにおいて受領確認情報を受信したと判定された場合、ステップS213に進む。
ステップS213において、アクセス制御部312は、受信フレーム解析部308を介して、受信処理部307により受信された受領確認情報において設定されているACK情報(NACK情報)を取得する。
ステップS214において、マルチリンク管理部311は、アクセス制御部312により取得されたACK情報(NACK情報)に基づいて、受信側通信装置への再送が必要な未達データがあるか否かを判定する。
未達データがないと判定された場合、すなわち、全てのデータの送信が完了している場合、処理は終了する。一方、未達データがあると判定された場合、ステップS215に進む。
ステップS215において、マルチリンク管理部311は、全てのリンクにおける未達データを特定する。ここでは、受領確認情報に含まれるブロックACK情報から、各リンクにおいて送信済みとなったデータの復号状況を判断することで、未達データが特定される。
ステップS216において、マルチリンク管理部311は、特定された未達データを含むA-MPDUフレームを、送信フレーム構築部304に構築させる。このようにして、データの送信先となる受信側通信装置からの受領確認情報の受信タイミングと、データの送信待ち状況に応じて、A-MPDUフレームが構築される。ここで構築されるA-MPDUフレームは、未達データと新規に送信されるデータとが組み合わされて構成されてもよいし、未達データのみで構成されてもよい。
ステップS217において、アクセス制御部312は、データの送信を終えたリンク(受領確認情報を受信したリンク)のTXOPの残り時間を取得する。
ステップS218において、アクセス制御部312は、取得したTXOPの残り時間がないか否かを判定する。残り時間がないと判定された場合、ステップS219に進む。
ステップS219において、マルチリンク管理部311は、送信待ち状態となっている空きリンクがあるか否かを判定する。空きリンクがあると判定された場合、ステップS220に進み、マルチリンク管理部311は、空きリンクのうち、最先で利用可能なリンクを選択する。ここでは、最先で利用可能なリンクとして、送信待ち状態のリンクが選択されてもよいし、再送用リンクが選択されてもよい。
一方、空きリンクがないと判定された場合、ステップS212に戻り、次の受領確認情報(ACK)の受信を待ち受ける状態となる。
最先で利用可能なリンクが選択された後、ステップS221において、アクセス制御部312は、選択されたリンクにおいて送信可能なタイミングになったか否かを判定する。ステップS221は、送信可能なタイミングになったと判定されるまで繰り返される。そして、送信可能なタイミングになったと判定された場合、ステップS222に進む。また、ステップS208において、残り時間があると判定された場合、ステップS219乃至S221はスキップされ、ステップS222に進む。
ステップS222において、アクセス制御部312は、未達データを含むA-MPDUフレームを、残り時間があると判定されたリンク、または、最先で利用可能な空きリンクを用いて、送信処理部305に送信させる。その後、ステップS201に戻る。
このように、Multi-Link Operationにおいて設定されている全てのリンクを用いて、未達データを含む全てのデータが送信されるまで、上述した処理は繰り返される。
(受信側通信装置の動作)
図25および図26のフローチャートを参照して、受信側通信装置としての通信装置200(無線通信モジュール250)の動作の流れについて説明する。図25および図26の処理は、複数のリンクのうちの1つのリンクについての動作の流れを示しているが、Multi-Link Operationにおいては、この処理が、複数のリンクについて並行して実行される。
ステップS301において、アクセス制御部312は、受信フレーム解析部308を介して、自装置宛のA-MPDUフレームを受信したか否かを判定する。ステップS301は、自装置宛のA-MPDUフレームを受信したと判定されるまで繰り返される。そして、自装置宛のA-MPDUフレームを受信したと判定された場合、ステップS302に進む。
ステップS302において、マルチリンク管理部311は、受信されたA-MPDUフレームを構成するA-MPDU SubframeのDelimiterに含まれるLengthに基づいて、個々のMPDUを、受信フレーム解析部308に取得させる。
ステップS303において、マルチリンク管理部311は、受信シーケンス管理部309を制御することで、受信フレーム解析部308に取得されたMPDUについて、エラーなく受信できたか否かを判定する。エラーなく受信できたと判定された場合、ステップS304に進む。
ステップS304において、マルチリンク管理部311は、受信シーケンス管理部309を制御することで、エラーなく受信できたと判定されたMPDUを、受信バッファ310に格納させる。
ステップS305において、マルチリンク管理部311は、受信バッファ310に格納されたMPDUのシーケンス番号をACK情報として、図示せぬ記憶領域に記憶する。
一方、ステップS303において、エラーなく受信できなかったと判定された場合、すなわち、受信されたMPDUに誤りがあった場合、ステップS306に進む。
ステップS306において、マルチリンク管理部311は、誤りがあったMPDUのシーケンス番号をNACK情報として、図示せぬ記憶領域に記憶する。
MPDUのシーケンス番号がACK情報またはNACK情報として記憶された後、ステップS307において、マルチリンク管理部311は、受信されたMPDUが、A-MPDUフレームの末尾であるか否かを判定する。A-MPDUフレームの末尾でないと判定された場合、ステップS302に戻り、それ以降の処理が繰り返される。一方、A-MPDUフレームの末尾であると判定された場合、ステップS308に進む。
ステップS308において、マルチリンク管理部311は、受信バッファ310に格納されたデータの出力タイミングになったか否かなど、データの出力条件を満たすか否かを判定する。データの出力条件を満たすと判定された場合、ステップS309に進む。
ステップS309において、マルチリンク管理部311は、I/F301を制御することで、I/F301に、受信バッファ310からデータを取得させる。
ステップS310において、マルチリンク管理部311は、受信バッファ310から取得されたデータを、I/F301から出力させる。出力されたデータは、機器制御モジュール230により実行されるアプリケーションに供給される。
一方、ステップS308において、データの出力条件を満たさないと判定された場合、ステップS309,S310はスキップされる。
ステップS311において、マルチリンク管理部311は、受領確認情報の返送条件を満たすか否かを判定する。ここでは、受領確認情報の返送の要否や、再送を要求する未達データの有無などに応じて、受領確認情報の返送条件を満たすか否かが判定される。
例えば、再送された未達データを含むA-MPDUフレームが、所定のリンクを用いて受信されている最中などは、受領確認情報の返送条件を満たしていないと判定される。
受領確認情報の返送条件を満たしていないと判定された場合、ステップS302に戻り、それ以降の処理が繰り返される。一方、受領確認情報の返送条件を満たすと判定された場合、ステップS312(図26)に進む。
ステップS312において、マルチリンク管理部311は、図示せぬ記憶領域に記憶されたACK情報またはNACK情報を取得する。
ここでは、1つのリンクにおけるデータについてのACK情報(NACK情報)だけでなく、他の全てのリンクにおけるデータの受信状況を含むACK情報(NACK情報)が取得される。
ステップS313において、マルチリンク管理部311は、あらかじめ設定されたデータフォーマットに基づいて、取得されたACK情報またはNACK情報が記載されたブロックACKフレームを、送信フレーム構築部304に構築させる。
例えば、図16や図17を参照して説明したブロックACKフレームが構築される場合、ブロックACKフレームには、各リンクで受信したデータの最新のシーケンス番号を特定し得る情報が付加される。図18を参照して説明したブロックACKフレームが構築される場合、ブロックACKフレームには、再送が必要となった未達データのシーケンス番号を含むNACK情報が記載される。
ステップS314において、マルチリンク管理部311は、構築されたブロックACKフレームの返送に用いるリンクを設定する。ブロックACKフレームの返送に用いるリンクは、A-MPDUフレームを受信したリンクのままであってもよいし、Multi-link Setup ResponseにおいてReverse Linksとして設定されている返送用のリンクであってもよい。
ステップS315において、アクセス制御部312は、設定されたリンクが利用可能になったか否かを判定する。ステップS315は、設定されたリンクが利用可能になったと判定されるまで繰り返される。そして、設定されたリンクが利用可能になったと判定された場合、ステップS316に進む。
ステップS316において、アクセス制御部312は、ブロックACKフレームを、利用可能になったリンクを用いて、送信処理部305に送信させる。
その後、ステップS317において、マルチリンク管理部311は、受信シーケンス管理部309により管理されているMPDUのシーケンス番号に基づいて、全てのデータ(MPDU)を受信したか否かを判定する。
全てのデータを受信していないと判定された場合、ステップS301に戻り、それ以降の処理が、再送される未達データを含むA-MPDUフレームに対して実行される。一方、全てのデータを受信したと判定された場合、処理は終了する。
以上の処理によれば、複数のリンクを用いたMulti-Link Operationにおいて、未達データが発生した場合であっても、利用可能なリンクを用いて未達データが再送されるので、より好適な未達データの再送を実現することが可能となる。
<4.まとめ>
本開示に係る技術によれば、データの送信に用いられたリンク以外の他のリンクを用いて未達データが再送されるので、新規のデータを送信しながら、必要最低限のリンクを利用した未達データの再送を実現することができる。
具体的には、送信側通信装置が、複数のリンクを用いてデータを送信する場合、データの送信が早期に終了したリンクを用いて未達データが再送されるので、より短時間のうちに全てのデータを送信することができる。あるいは、送信側通信装置が、複数のリンクを用いてデータを送信する場合、未だデータの送信に用いられていないリンクや、最も遅いタイミングで利用可能となったリンクを用いて未達データが再送されるので、より短時間のうちに効率良くデータを送信することができる。
また、必要に応じてフレームアグリゲーションにより短いフレーム長のA-MPDUフレームが構成されるので、送信側通信装置は、より短時間のうちに受領確認情報(ACK)を受信することができる。
さらに、あるリンクを用いたデータの送信中に、他のリンクにおいてランダムアクセス制御のバックオフが実行されるので、受信側通信装置において受信エラーの発生が検知された直後に、送信側通信装置は、エラーとなった未達データを効率良く再送することができる。
また、あるリンクを用いたデータの送信時に、送信機会(TXOP)が多めに確保され、Durationに予備の時間が含まれるので、そのリンクを用いて未達データを再送するタイミングがあらかじめ確保される。すなわち、Duration内に再送が完了することで、バックオフ時間が削減され、送信側通信装置は、RTA(Real-Time Application)のようなアプリケーションのデータを効率的に送信することができる。
さらに、本開示に係る技術によれば、複数のリンクを用いてデータを受信する場合に、各リンクで受信したデータの最新のシーケンス番号を特定し得る情報が、ブロックACKフレームに記載されるので、受信側通信装置は、より確実に、未達データのシーケンス番号を送信側通信装置に通知することができる。
また、複数のリンクを用いてデータを受信した場合に、NACK情報が記載されたブロックACKフレームを返送することで、受信側通信装置は、未達データのうちエラーとなったデータのシーケンス番号を送信側通信装置に通知することができる。エラーとなったデータのシーケンス番号が明確になることで、従来のBitmap形式の情報では表現されない、未送信のデータや復号が完了していないデータが、重ねて再送されることを防ぐことができる。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
また、本開示に係る技術を適用した実施の形態は、上述した実施の形態に限定されるものではなく、本開示に係る技術の要旨を逸脱しない範囲において種々の変更が可能である。
さらに、本開示は以下のような構成をとることができる。
(1)
無線ネットワークにおける複数のリンクを用いて並行したデータの送信を制御するアクセス制御部と、
所定の前記リンクにおいて未達データが発生した場合、利用可能な前記リンクを用いた前記未達データの再送を設定するマルチリンク管理部と
を備える通信装置。
(2)
前記マルチリンク管理部は、前記データの送信先からの受領確認情報に基づいて、再送が必要な前記未達データを特定する
(1)に記載の通信装置。
(3)
前記マルチリンク管理部は、複数の前記リンクのうち、前記データの送信が終了した前記リンクを用いた前記未達データの再送を設定する
(1)または(2)に記載の通信装置。
(4)
前記マルチリンク管理部は、複数の前記リンクのうち、前記データの送信待ち状態の前記リンクを用いた前記未達データの再送を設定する
(1)または(2)に記載の通信装置。
(5)
前記マルチリンク管理部は、複数の前記リンクのうち、前記未達データの再送のための再送用リンクを用いた前記未達データの再送を設定する
(1)または(2)に記載の通信装置。
(6)
前記マルチリンク管理部は、前記データの送信に用いられる少なくとも1つの前記リンクについて、送信データ数を調整したデータフレームの構築を制御する
(1)乃至(5)のいずれかに記載の通信装置。
(7)
前記マルチリンク管理部は、前記データの送信に用いられる少なくとも1つの前記リンクについて、前記未達データと新規に送信される前記データとを組み合わせたデータフレームの構築を制御する
(1)乃至(5)のいずれかに記載の通信装置。
(8)
前記マルチリンク管理部は、前記データの送信先からの受領確認情報の受信タイミングと、前記データの送信待ち状況に応じて、前記未達データを含むデータフレームの構築を制御する
(1)乃至(7)のいずれかに記載の通信装置。
(9)
前記マルチリンク管理部は、前記未達データの再送に用いられ得る前記リンクについて、データフレームの持続時間よりも長い送信機会をあらかじめ設定する
(1)乃至(8)のいずれかに記載の通信装置。
(10)
前記マルチリンク管理部は、第1の未達データを含むデータフレームの送信中に、第2の未達データが新たに発生した場合、前記データフレームに続けての前記第2の未達データの再送を設定する
(1)乃至(9)のいずれかに記載の通信装置。
(11)
通信装置が、
無線ネットワークにおける複数のリンクを用いて並行したデータの送信を制御し、
所定の前記リンクにおいて未達データが発生した場合、利用可能な前記リンクを用いた前記未達データの再送を設定する
通信方法。
(12)
無線ネットワークにおける複数のリンクを用いて並行したデータの受信を制御するアクセス制御部と、
1のリンクにおいて受領確認情報を返送する場合、他のリンクにおける前記データの受信状況を特定し得る情報を含む前記受領確認情報を設定するマルチリンク管理部と
を備え、
前記アクセス制御部は、前記受領確認情報の返送を制御し、
前記マルチリンク管理部は、前記1のリンクを用いた前記受領確認情報に対応する再送データの受信を設定する
通信装置。
(13)
前記マルチリンク管理部は、前記他のリンクにおける前記データの受信状況を特定し得る前記情報として、未達データのシーケンス番号を含む前記受領確認情報を設定する
(12)に記載の通信装置。
(14)
前記マルチリンク管理部は、並行した前記データの受信に用いる前記リンクの他に、前記再送データの受信のための再送用リンクを設定する
(12)または(13)に記載の通信装置。
(15)
前記アクセス制御部は、前記データの送信元との間でアクセス可能な前記リンクを用いた前記受領確認情報の返送を制御する
(12)乃至(14)のいずれかに記載の通信装置。
(16)
前記マルチリンク管理部は、所定の前記リンクを用いた前記データの受信と、前記再送データの受信を併せて管理する
(12)乃至(15)のいずれかに記載の通信装置。
(17)
前記マルチリンク管理部は、所定の前記リンクを用いて前記再送データを含むデータフレームを受信している間、前記データの送信元への前記再送データの送信を要求しない
(12)乃至(16)のいずれかに記載の通信装置。
(18)
前記マルチリンク管理部は、受信されたデータフレームの末尾が検出された後、受信済みの前記データの出力の要否を判定する
(12)乃至(17)のいずれかに記載の通信装置。
(19)
前記マルチリンク管理部は、受信されたデータフレームの末尾が検出された後、前記受領確認情報の返送の要否を判定する
(12)乃至(18)のいずれかに記載の通信装置。
(20)
通信装置が、
無線ネットワークにおける複数のリンクを用いて並行したデータの受信を制御し、
1の前記リンクにおいて受領確認情報を返送する場合、他の前記リンクにおける前記データの受信状況を特定し得る情報を含む前記受領確認情報を設定し、
前記受領確認情報の返送を制御し、
再送データを受信する前記リンクを設定する
通信方法。