以下、発明を実施するための実施形態について説明する。
(第1の実施形態)
図1は、第1の実施形態における無線通信装置のシステム図である。本実施形態における無線通信システムは、データ保持装置(図1では1)と、データ送信側の少なくとも1台の無線通信装置(図1では10Aおよび10Bの2台)と、データ受信側の無線通信装置(図1では2)が配置されている。データ送信側の無線通信装置とは、図1に示すようにデータ保持装置1から受け取ったデータを無線通信装置2に送信する無線通信装置であり、無線通信装置10A、および10Bが該当する。データ受信側の無線通信装置とは、図1に示すようにデータ保持装置1からのデータを無線通信装置10A、および10Bから受信する無線通信装置であり、無線通信装置2が該当する。
データ保持装置1と無線通信装置10A、およびデータ保持装置1と無線通信装置10Bは、有線または無線で通信できるように接続されている。データ保持装置1と無線通信装置10A、およびデータ保持装置1と無線通信装置10Bは、ルータなどを介して通信できるように接続されていてもよい。また、この無線通信装置10Aおよび10B、この無線通信装置2は無線で通信できるように接続されている。データ保持装置1とは、無線通信装置2に届けるデータを保持している電子装置である。例えばサーバの記憶部(RAMやROM、HDD、SSDなど)である。
この図1のシステム図から、本実施形態の概要を説明する。無線通信装置10Aおよび10Bはデータ保持装置1から同じデータを受信し、このデータを含むデータフレームを無線通信装置2に送信する。無線通信装置2は、これらのデータフレームを受信し、誤りなく受信できているかを確認する。無線通信装置10Aおよび10Bのうち、一方から受信したデータフレームに誤りがあっても、もう一方からのデータフレームを、誤りなく受信すれば、このデータは無線通信装置2に届けられている。この後、無線通信装置2は、受信に成功したこのデータフレームの送信元である無線通信装置に、送達確認フレームを送信する。送達確認フレームとは、データフレームを誤りなく受信したことを示すフレームである。無線通信装置10Aおよび10Bは、この送達確認フレームから、無線通信装置2がこのデータフレームを誤りなく受信したと判断した場合、このデータフレームを再送しない判断を行う。
無線通信装置2がデータフレームを受信しても誤りがあった場合を、受信に失敗した、あるいは受信失敗と称する。無線通信装置2がデータフレームを受信できなかった場合も、同様に受信に失敗した、あるいは受信失敗と称する。無線通信装置2がデータフレームを誤りなく受信した場合を、受信に成功した、あるいは受信成功と称する。
無線通信装置2は、データフレームの受信に失敗した場合は、このデータフレームを送信したデータ送信側の無線通信装置に対して送達確認フレームを送信しない。無線通信装置2は、データフレームの受信に成功した場合に、このデータフレームを送信したデータ送信側の無線通信装置に対して送達確認フレームを送信する。
本実施形態では、IEEE802.11規格の無線LANシステムにおけるフレームが用いられる。IEEE802.11規格では、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、IEEE 802.11n、IEEE 802.11ac、IEEE802.11ax等に加え、今後規定されるIEEE 802.11規格も含む。
図2は、第1の実施形態における無線通信装置10Aの構成例である。無線通信装置10Aは、送信・受信用のアンテナ11Aと、アンテナ11Aを介してフレームを送信する送信部12Aと、少なくとも1台の無線通信装置から送信されたフレームを、アンテナ11Aを通じて受信する受信部13Aと、送信するフレームを構成するフレーム構成部14Aと、データフレームを再び送信するか判断する再送判断部15Aを備える。この構成は半導体集積回路(LSI等)で実現される。図1において説明された無線通信装置10Bも同様にアンテナ11Bと、送信部12Bと、受信部13Bと、フレーム構成部14Bと、再送判断部15Bを備え、半導体集積回路で実現される。
送信部12Aは、アンテナ11Aを介してフレームを送信する。送信部12Aは、トリガーフレーム、データフレーム、送達確認フレーム、管理フレームなどIEEE802.11規格の無線LANシステムにおけるフレームを送信することが可能である。この際、送信部12Aは、他の無線通信装置(本実施形態では、例えば無線通信装置10B)が送信するフレームに、送信部12Aが送信するフレームを多重化し、同時送信することができる。
フレームの多重化について、送信部12Aおよび12Bは、それぞれ異なる周波数帯域幅を用いてフレームを送信する周波数多重化、複数のアンテナで送信する空間分割多重化、それぞれ異なる符号を使って送信する符号多重化、および同じ周波数帯域幅でも、それぞれ異なるサブキャリアを用いてフレームを送信する直交周波数多重化のいずれも実現可能である。
受信部13Aは、少なくとも1台の無線通信装置から送信されたフレームを、アンテナ11Aを通じて受信する。受信部13Aは、トリガーフレーム、データフレーム、送達確認フレーム、管理フレームなどIEEE802.11規格の無線LANシステムにおけるフレームを受信することが可能である。受信部13Aは、多重化されたフレームを受信し、多重化前の複数のフレームに分離することが可能である。受信部13Aは、受信したフレームに誤りがないか(受信成功か)を確認し、受信成功であれば、このフレームを送信した無線通信装置に対して送達確認フレームを構成するようにフレーム構成部14Aに指示する。また、この受信部13Aは、自分宛てではないフレームについても、電波を受信しこのフレームに復元することが可能である。
フレーム構成部14Aは、通信に用いるフレームを構成し、送信部12Aに対してこのフレームを送信するよう指示する。フレーム構成部14Aは、トリガーフレーム、データフレーム、送達確認フレーム、管理フレームなどIEEE802.11規格の無線LANシステムにおけるフレームを構成することが可能である。本実施形態では、トリガーフレーム、データフレーム、送達確認フレームが用いられる。データフレームにはMACフレームが用いられ、送達確認フレームにはAckフレームまたはBlock Ackフレームが用いられる。いずれのフレームも詳細は後述する。
再送判断部15Aは、無線通信装置2から送信された送達確認フレームから、一度送信したデータを含むデータフレームを再送するか判断する。本実施形態では、無線通信装置2から送信された送達確認フレームの宛先に、無線通信装置10Aおよび10Bのうち少なくとも一方存在すれば、再送判断部15は無線通信装置2に一度送信したデータを含むデータフレームを再送しない判断を行う。一方、この送達確認フレームの宛先に無線通信装置10Aも10Bも存在しない場合、またはこの送達確認フレームを受信できなかった場合、再送判断部15は無線通信装置2にこのデータを含むデータフレームを再送する判断を行う。
無線通信装置2は、再送判断部15Aを除いて、無線通信装置10Aと同様の構成要素を有する。すなわち、送信・受信用のアンテナ11と、アンテナ11を介してフレームを送信する送信部12と、少なくとも1台の無線通信装置から送信されたフレームを、アンテナ11を通じて受信する受信部13と、送信するフレームを構成するフレーム構成部14を備えている。これらの構成要素は無線通信装置10Aのものと同様のため、詳細な説明は省略する。
図3は、本実施形態に用いられるトリガーフレームのフォーマット図である。トリガーフレームとは、データ受信側の無線通信装置がデータ送信側の無線通信装置に対して送信するフレームである。このトリガーフレームは、データ送信側の無線通信装置に対してデータを送信する指令を含んでいる。また、このトリガーフレームはデータ送信側の無線通信装置がデータフレームを送信する際の設定を指定することが可能である。この設定はデータフレームの送信時間、送信に用いる周波数帯域幅、送信に用いる符号、などが含まれる。本実施形態では、このトリガーフレームは無線通信装置2によって無線通信装置10Aおよび10Bに送信される。
Frame Controlフィールドには、TypeおよびSubtypeサブフィールド(いずれも図示しない)が含まれている。無線通信装置10Aおよび10Bは、このTypeおよびSubtypeサブフィールドから、トリガーフレームを受信したことを認識する。
Address1フィールドにはトリガーフレームの宛先となる無線通信装置が示されている。例えば、本実施形態では、無線通信装置10Aおよび10Bとなるため、このトリガーフレームは無線通信装置10Aおよび10Bに対して送信されたことを示す。
Address2フィールドには、このトリガーフレームの送信元である無線通信装置が示されている。例えば、本実施形態では、無線通信装置2となるため、このトリガーフレームは無線通信装置2が送信したことを示す。
Common Infoフィールドには、データフレーム送信を行う複数の無線通信装置に共通に通知する情報が設定される。本実施形態では、無線通信装置10Aおよび10Bに共通に通知する情報が設定されている。このCommon Infoフィールドは、図3のように、UL Length、RU pattern、Common PHY parameter、およびRequest Indicationのフィールドを含む。
UL Lengthは、Address1に含まれる無線通信装置が送信するデータフレームの送信時間(例えば、μsec単位の時間や16μs単位の時間)、もしくは送信時間を計算可能な情報(例えば、バイト数)を含む。これにより、Address1に複数の無線通信装置が含まれる場合、それぞれの無線通信装置が送信するフレームの終端を揃えることが可能になり、同時送信することが可能となる。
RU patternは、Address1に複数の無線通信装置が含まれる場合、それぞれの無線通信装置が直交周波数多重化を行う際に必要となる。図4には、このRUの型の一例を示している。送信に用いる周波数帯域幅(図4のBW)には、複数のサブキャリアが含まれる(図4では242個のサブキャリアが含まれる)。直行周波数多重化では、ある個数ごとにサブキャリアをまとめて1つのRUとして定義し、無線通信装置ごとに1つ以上のRUを割り当てて送信する。
図4では、RUに含まれるサブキャリア数は26、52、106、242の4種類存在し、BWに含まれるRUの組が26種類定義されている。RU patternは、BW内のRUの配置が示されている(図4の場合0~25)。この配置のうちどのRUを利用するかは、後に示すRU allocation informationにて指定している。これにより、複数の無線通信装置が同じ周波数帯域幅でも、同時にデータを送信することができる。なお、図4は一例であり、BWに含まれるサブキャリアの個数、RUに含まれるサブキャリア数のバリエーション、BW内のRUの配置はこの図に限定されるものではない。
図3の説明に戻ると、Common PHY parameterは,この複数の無線通信装置で合わせるべきPHY層で用いるパラメータを含んでいる。このパラメータの例として、本実施形態では、無線通信装置10Aおよび10Bが送信に用いる周波数帯域幅を示す(20MHz幅であったり、80MHz幅であることを示す)情報や、PHYペイロードのGuard Intervalの長さ情報が含まれている。この周波数帯域幅が複数の無線通信装置ごとに異なるものにすることで、周波数多重を行うことができる。
Request Indicationは、Address1で指定した無線通信装置に要求する動作を示すフィールドである。要求する動作としては、この無線通信装置に対して、データを送信するよう要求する動作、AckやBlock Ack等の送達確認フレームを送信するよう要求する動作、この無線通信装置に蓄積されている送信待ちのデータ量を報告するよう要求する動作、送信するフレームの種別等は任意でよい(トリガーフレームを受信した無線通信装置側に一任する)と指定する動作が含まれる。
Per User Infoフィールドには、Address2に示された無線通信装置に固有に通知する情報が含まれる。一例として、図3のようにAID(Association ID),RU allocation information,STA PHY parameterのフィールドが含まれる。
RU allocation informationフィールドは、RU patternにて説明したように、Address1にて示された無線通信装置が、RU patternにて指定されたRUの配置のうち、どのRUを利用するかを示している。
STA PHY parameterは、Address2にて示された無線通信装置が、UL-OFDMA(Uplink Orthogonal Frequency Division Multiple Access)で送信する場合に、固有のPHY層で用いるパラメータを含める。
このパラメータには、データを送信する伝送速度を示すMCS(Modulation andCoding Scheme)Indexやストリーム数(Nsts:number of space time streams)等のPHY伝送速度情報、適用する誤り訂正符号の種類(LDPC(Low Density Parity Check)等)、送信電力情報(Transmit Power Information)等が含まれている。また、複数の無線通信装置からの信号を受信する場合、各無線端末からの信号電力を同程度に制御するために、各無線通信装置に対して送信電力を指定することもできる。
続いて、MACフレームを説明する。図5は、IEEE802.11規格の無線LANシステムにおけるMACフレームのフォーマット図である。本実施形態では、無線通信装置10Aおよび10Bが送信するデータフレームはMACフレームである。
MACフレームは、MAC Header部、Frame Body部およびFCS(Frame Check Sequence)部を含んでいる。MAC Header部には、MAC層における受信処理に必要な情報が設定されている。Frame Body部には、フレームの種類に応じた情報(上位レイヤからのデータ等)が設定されている。FCS部には、MAC Header部とFrame Body部が正常に受信できたか否かを判定するために用いる誤り検出コードであるCRC(Cyclic Redundancy Code)が設定されている。
MAC Header部には、フレームの種類に応じた値が設定されるFrame Controlフィールド、Duration/IDフィールド等が存在する。Duration/IDフィールドには、送信を待機する期間(NAV:Network Allocation Vector)、もしくは無線通信装置に割り当てられた識別番号(ID)が設定される。すなわち、Duration/IDフィールドは16ビットの長さを有しているが、MSB(most significant bit:最上位ビット)が0の場合、下位15ビットはDuration(NAV)を示す。MSBが1の場合、下位15ビットの一部がID(識別番号)を示す。現行の802.11無線LAN規格では、下位15ビット目を1、下位12ビット目から14ビット目を0としており、残る下位11ビットを使い、1~2007の値を用いている。
このIDは、アクセスポイント(AP)がステーション(STA)に割り当てるAID(Association ID)である。このAIDとは、APが、接続要求(Association Request)フレームを送信してきたSTAに対して接続許可をする場合、APが属するネットワーク(BSS)でローカルに生成され、割り当てられた番号である。このAIDは、0以外のある指定の範囲内の番号を割り当てられ、このBSS内ではユニークになるように割り当てられる。本実施形態では、データ送信側の無線通信装置がAPであればデータ送信側の無線通信装置はSTAであり、データ送信側の無線通信装置がSTAであればデータ送信側の無線通信装置はAPである。例えば、無線通信装置10Aおよび10BがAPであり、無線通信装置2がSTAである場合、AIDは無線通信装置10Aおよび10Bから無線通信装置2に割り当てられる。一方、無線通信装置10Aおよび10BがSTAであり、無線通信装置2がAPである場合、AIDは無線通信装置2から無線通信装置10Aおよび10Bに割り当てられる。
APは、接続を許可するSTAに、割り当てたAIDを含む接続応答(Association Response)フレームを送信する。このSTAは,この接続応答フレームからAIDを読み出すことで、自装置のAIDを把握する。また、この接続応答フレームには、接続を許可する情報が含まれている。よって、このSTAは、この接続応答フレームを受信することで、APが形成するBSSに属し、以降、このAPと通信することができる。このような接続のプロセスをアソシエーションプロセスと呼ぶ。データ送信側の無線通信装置は、このアソシエーションプロセスを行う前に、認証(Authentication)プロセスを行ってもよい。
本実施形態では、データ送信側である無線通信装置10Aおよび10Bと、データ受信側である無線通信装置2との間で、このアソシエーションプロセスは済ませているものとする。
MACフレームの説明に戻ると、MAC Header部には、Addressフィールドが複数存在している。Address1フィールドには、次の宛先となる無線通信装置のMACアドレス(Receiving STA Address:RA)が設定されている。Address2フィールドには、現在の送信元となる無線通信装置のMACアドレス(Transmitting STA Address:TA)が設定されている。Address3フィールドには、アップリンクではデータの最終宛先となる無線通信装置のMACアドレス(Destination Address:DA)、ダウンリンクではデータ送信側の大元である無線通信装置のMACアドレス(Source Address:SA)を設定する。Address4フィールドは、無線通信の基地局(固定局)が別の無線通信の基地局に送信する場合のみに存在し、データの生成元である無線通信装置のMACアドレス(SA)を設定する。これらのAddressフィールドの数は、後述するType/Subtypeフィールドで区別されるフレーム種別によって異なる。
Sequence Controlフィールドには、送信するデータのシーケンス番号や、データをフラグメント化した場合のフラグメント番号が設定される。
Frame Controlフィールドには、フレームの種類を示すTypeフィールド、Subtypeフィールドや、To DSフィールド、From DSフィールド、モアフラグメント(more fragment)フィールド、およびプロテクト(protected)フレームフィールド、オーダー(order)フィールド等が存在する。
Typeフィールドに設定されるビット列によって、フレームが制御フレーム(Control frame)、管理フレーム(Management frame)、そしてデータフレーム(Data frame)のうちどのフレームタイプに属するかを判別することができる。さらにSubtypeフィールドのビット列によって、各フレームタイプ内のMACフレームの種類が示される。
To DSフィールドには、受信局が無線通信の基地局であるか否かの情報が設定され、From DSフィールドには、送信局が無線通信の基地局であるか否かの情報が設定される。More Fragmentフィールドには、データがフラグメント化された場合、後続するフラグメントフレームが存在するか否かを示す情報が設定される。プロテクトフレームフィールドには、このフレームがプロテクトされているか否かの情報が設定される。オーダーフィールドには、フレームを中継する場合、フレームの順序を入れ替えてはいけないことを示す情報が設定される。
このフレームがデータフレームの1つである,QoS Dataフレームであった場合,QoS Controlフィールドが付加される(逆にnon-QoS Dataの場合には、このQoS Controlフィールドは付加されない)。フレームのTypeフィールドにはデータフレームであると設定されており、Subtypeフィールドに設定されるビット列には、QoS Dataフレームかnon-QoS Dataフレームのいずれかが設定される。
このQoS Controlフィールドには、データのトラフィックに応じた識別子が設定されるTIDフィールド(0~15までの16種類)や、送達確認方式が設定されるAck policyフィールド等が含まれている(いずれも図示しない)。TIDフィールドには、データのトラフィック種別が設定されている。またAck policyフィールドには、このQoS DataフレームがNormal Ack policyか,Block Ack policyか,それともNo Ack policyで送信されたのかを判別する情報が設定される。
HT(High Throughput)Controlフィールドは、このフレームがQoS Dataフレームまたは管理フレームの場合に、オーダーフィールドが1になっていると設定される。このHT ControlフィールドはVHT (Very High Throughput)Controlフィールドにも、HE(High Efficient)Controlフィールドにも拡張可能である。したがって802.11n,802.11ac,あるいは802.11axの各種機能に応じた通知をすることが可能である。
また、このMACフレームは、デリミターフィールドを設け、データフレームを結合して、フレームアグリゲーションを行うことができる。
なお、MACヘッダ部の構成は、説明したフィールドに限られない。IEEE802.11e規格でQoS Controlフィールドが追加されたように,新しいIEEE802.11規格が規定されることで、MACヘッダ部に新規フィールドが追加されてもよい。
続いて、Ackフレームを説明する。図6は、IEEE802.11規格の無線LANシステムにおけるAckフレームのフォーマット図である。本実施形態では、無線通信装置2が送信する応答確認フレームはAckフレームである。
Frame ControlフィールドのTypeおよびSubtypeサブフィールド(いずれも図示しない)には、Ackフレームであることを示すビットパターンが設定される。Address1フィールドには、このAckフレームの送信先である無線通信装置が自身宛てと把握できるように宛先情報を設定される。この宛先には、データ受信側の無線通信装置によって、先に説明したデータフレームが誤りなく受信された場合、データフレームを送信した無線通信装置が設定される。逆に、データフレームの受信に誤りがあった場合は、このデータフレームを送信した無線通信装置が既知であっても、この無線通信装置はAddress1に設定されない。すなわち、データフレーを受信した無線通信装置は、受信できた場合にはACKフレームを返送し、受信できなかった場合にはACKフレームを返送しない。
また、応答確認フレームとしては、Ackフレームの他にBlock Ackフレームが使用される場合もある。このBlock Ackフレームについても説明する。図7は、IEEE802.11規格の無線LANシステムにおけるBlock Ackフレームのフォーマット図である。本実施形態では、無線通信装置2が送信する応答確認フレームはBlock Ackフレームでもよい。
Frame ControlフィールドからAddress2までは、図5に示すMACフレームフォーマットと役割は同じである。Frame ControlフィールドのTypeおよびSubtypeサブフィールド(いずれも図示しない)に、Block Ackフレームであることを示すビットパターンが設定される。
Address1フィールドには、このBlock Ackフレームの送信先である複数の無線通信装置が自身宛てと把握できるように、宛先情報が設定される。Address2フィールドには、このBlock Ackフレームの送信元の情報を含んでいる。送信元の情報としては、MACアドレス(BSSの識別子であるBSSID (Basic Service Set Identifier)と同じ)が含まれる。
BA Controlフィールドには、このBlock Ackフレームの宛先になっている複数の無線通信装置に共通の情報が設定される。具体的には、このBA Controlフィールドは、Multi-TID、Compressed Bitmap、およびTID_INFOのフィールドが含まれる。なお、BA Controlフィールドに含まれるフィールドは、これらに限定される必要はなく、同様の識別ができるようになっていれば異なるフィールドが含まれていてもよい。
Multi-TIDは、異なるTIDのデータフレームに対する送達確認情報(BA Bitmap情報)を含んでいることを示す.送達確認情報とは、データ送信側の無線通信装置によって送信されたフレームが誤りなく受信したことを示す情報である。
Compressed Bitmapには、後続のBA Bitmapフィールドの長さとして従来の16フラグメントまでに対応した64個分の連続するシーケンス番号から変更があるか設定されている。具体的には1の場合、BA Bitmapフィールド長はフラグメント情報のない8オクテット(64ビット)であり、0の場合、BA Bitmapフィールド長はフラグメント情報を16まで表現できる128オクテットである。また、BA ControlフィールドやPer STA Infoフィールド中の他のフィールドを組み合わせてBA Bitmapフィールドの使い方と長さが導出できるようになっていてもよい。
TID_INFOには、後続する送達確認情報(BA Bitmap情報)に共通のTIDが示されている。このTID_INFOで示されるTIDのデータフレームに対する送達確認情報がBA Bitmapに含まれている。TID_INFOはBlock Ackフレームに複数のTIDについて設定する場合はreservedにしてもよいし,含まれるTID数-1のように数に関する情報を設定してもよい.
Per STA Infoフィールドには、Block Ackフレームの送信先である無線通信装置に固有の情報が設定されている。データ受信側の無線通信装置が、複数の無線通信装置に対して送達確認応答を送信する場合、このPer STA Infoフィールドはこの複数の無線通信装置の数だけ設定される。このPer STA Infoフィールドには、AIDフィールド、Response Indicationフィールド、TIDフィールド、SSN(Starting Sequence Number)フィールドおよびBA Bitmapフィールドが含まれる。
AIDフィールドには、アソシエーションプロセスによってデータ受信側の無線通信装置に割り当てられたAIDが設定されている。Response Indicationフィールドには、データ送信側の無線通信装置に対する応答形式が、Ack形式かBlock Ack形式のいずれかであるかが設定される。
この応答形式がAck形式であった場合、データ送信側の無線通信装置が送信したフレームは、正常に(誤りなく)受信されたことを意味する。このフレームがAggregateフレーム(1つのPHYフレーム内に複数のMACフレームを連結して送信したフレーム)であった場合は、全てのMACフレームを正常に受信したことを意味する。
この応答形式がBlock Ack形式であった場合、データ送信側の無線通信装置が送信したAggregateフレームにおいて、正常に受信したMACフレームのシーケンス番号(とフラグメント番号)を後続のBA Bitmapフィールドに示すことを意味する。すなわち、Ack形式を示す場合は、SSNフィールドとBA Bitmapを省略することが可能である。
TIDフィールドには、Multi-TIDの場合において、後続のBA Bitmapに示される送達確認情報のTIDが設定される。
SSNフィールドには、後続のBA Bitmapフィールドに示されるフレームの送達確認情報のうち、先頭のフレームのシーケンス番号が設定される。
BA Bitmapフィールドには、データ送信側の無線通信装置によって送信されたAggregateフレームに対する送達確認情報が、1つのMACフレームにつき1ビットのビットマップ形式で示されている。具体的には、BA Bitmapの長さはフラグメント情報なしで64ビットであるが、先頭のビットから1ビットシフトしていくごとにビットに対応するフレームのシーケンス番号が1ずつ上がっていく。この先頭のビットに対応するフレームのシーケンス番号はSSNで示されている。つまり、BA Bitmapの先頭のビットには、SSNに示されているシーケンス番号におけるデータフレームの送達確認情報が示されており、次のビットにはSSN+1のシーケンス番号におけるデータフレームの送達確認情報が示されている。例えば、SSNが100番だとすると,BA Bitmapにはシーケンス番号100から163までのシーケンス番号のデータフレームの送達確認情報が示される。
図8は、第1の実施形態における無線通信システムのシーケンス図である。図8を用いて、第1の実施形態におけるデータ保持装置1、無線通信装置10Aおよび10B、無線通信装置2を含む無線通信システムの動作を説明する。本実施形態では、無線通信装置10Aおよび10Bが、データフレームを周波数多重で同時送信を行う場合を説明する。なお、データ保持装置1、無線通信装置10A、10B、および無線通信装置2の間では、事前に互いの無線通信装置の宛先が分かっており、時刻の同期がなされている。
まず、無線通信装置10Aおよび10Bは、データ保持装置1からデータフレームを受信する。このデータフレームには、無線通信装置2に送信する同じデータが含まれている。無線通信装置10Aおよび10Bは、このデータフレームを受信した場合、データ保持装置1に対して送達確認フレームとしてAckフレームを送信する。無線通信装置10Aおよび10Bは、このデータフレームの受信に失敗した場合は待機し、再びデータ保持装置1からのデータフレームの受信を試みる。このデータフレームには、データ保持装置1が無線通信装置10Aおよび10Bに同じデータを送信している情報が含まれている。この情報から、無線通信装置10Aおよび10Bは、お互いに送信されているデータが同じであることを認識する。
次に、無線通信装置10Aおよび10Bは無線通信装置2から、トリガーフレームを受信する。このトリガーフレームは、無線通信装置2がデータを必要とするときに無線通信装置10Aおよび10Bに送信される。無線通信装置10Aおよび10Bは、このトリガーフレームのAddress1を参照し、このトリガーフレームの宛先が無線通信装置10Aおよび10Bであることを認識する。また、無線通信装置10Aは、Address2を参照して、このトリガーフレームの送信元が無線通信装置2であることを認識する。無線通信装置に10Aおよび10Bは、このトリガーフレームを受信した場合、無線通信装置2に対して送達確認フレームとしてAckフレームを送信する。無線通信装置10Aおよび10Bは、このトリガーフレームの受信に失敗した場合は待機し、再び無線通信装置2からのデータフレームの受信を試みる。
また、Request Indicationを参照して、無線通信装置10Aおよび10Bは、データを送信する指令を受けていることを認識する。ここで、この指令を認識した無線通信装置10Aおよび10Bは、同じデータが含まれているデータフレームを、Address2に示されている無線通信装置2へ送信すると、無線通信装置10A、10Bおよび無線通信装置2の間でルール化されているものとする。
また、無線通信装置10Aおよび10Bは、UL Length、Common PHY parameterを参照して、データフレームの送信時間やデータフレームの送信周波数帯の設定を認識する。本実施形態では、無線通信装置10Aおよび10Bは、データフレームを周波数多重化して同時送信を行うので、設定として無線通信装置10Aおよび10Bの送信時刻は同じだが、送信に用いる周波数帯域幅は異なる。そして無線通信装置10Aおよび10Bは、この設定で同じデータを含むデータフレームとしてMACフレームを、無線通信装置2に対して、周波数多重化かつ同時に送信する。図8では、無線通信装置10Aが送信するデータフレームをデータフレームA1、無線通信装置10Bが送信するデータフレームをデータフレームB1と表現している。
無線通信装置2は、この多重化されたデータフレームを受信し、2つのデータフレームに分離する。次に無線通信装置2は、データフレームのFCS部に設定されているCRCから、それぞれのデータフレームの受信に成功しているか、誤りの検出を試みる。
無線通信装置2は、これら2つのデータフレームの両方の受信に成功した場合、無線通信装置10Aおよび10Bに送達確認フレームとしてそれぞれAckフレームを送信する。無線通信装置2がデータフレームA1のみ受信に成功した場合、無線通信装置10AにAckフレームを送信し、無線通信装置10BにはAckフレームを送信しない。無線通信装置2がデータフレームB1のみ受信に成功した場合、無線通信装置10BにAckフレームを送信し、無線通信装置10AにはAckフレームを送信しない。無線通信装置2は、これら2つのデータフレームの両方の受信に失敗した場合、Ackフレームは送信しない。
無線通信装置10Aおよび10Bは、このAckフレームを、自分宛でないAckフレームであっても受信する。このAckフレームのAddress1に、無線通信装置10Aおよび10Bのうち、少なくとも一方の無線通信装置がある場合、このデータを含むデータフレームを再送しない。無線通信装置2がデータを受信できているためである。つまり、無線通信装置2から無線通信装置10Aおよび10Bに対するAckフレームを受信できない場合、無線通信装置2が2つのデータフレームの受信に失敗したとして、一定時間後に無線通信装置10Aおよび10Bはこのデータを含むデータフレームを再送する。この一定時間は無線通信装置10Aおよび10Bの間でルール化されている。また、無線通信装置10Aおよび10Bは、前にトリガーフレームで指定された周波数帯域幅で、データフレームを同時かつ周波数多重化によって再送を行う。
図9は、第1の実施形態における無線通信装置10Aの動作のフローチャートである。図9を参照して、本実施形態における無線通信装置10Aの動作について説明する。図1、図8における無線通信装置10Bも、以下に説明する動作と同様の動作を行っている。
まず、受信部13Aは、データ保持装置からデータを含むデータフレームを受信する。(ステップS11)受信部13Aは、このデータフレームの受信に成功しているか確認し、成功していればフレーム構成部14Aに、データ保持装置に対して送達確認フレームを構成するように指示する。また、このデータフレームには、データ保持装置が無線通信装置10Aおよび他のデータ送信側の無線通信装置に同じデータを送信している情報が含まれている。無線通信装置10Aはこのデータフレームから、データ保持装置によってデータ送信側の無線通信装置(本実施形態では10Aおよび10B)に送信されるデータが同じであることを認識する。フレーム構成部14Aはこのデータ保持装置に対して送達確認フレームを構成し、送信部12Aに送信するよう指示し、送信部12Aはこの送達確認フレームを送信する。本実施形態では、送達確認フレームはAckフレームだったが、Block Ackフレームでもよいし、送信部12AがこのAckフレームを多重化して同時に送信してもよい。
次に、受信部13Aは、データ受信側である無線通信装置から、トリガーフレームを受信する(ステップS12)。このトリガーフレームによって、無線通信装置10Aは、データ受信側の無線通信装置に対してデータを送信することを認識する。受信部13Aは、このトリガーフレームの受信に成功しているか確認し、成功していればフレーム構成部14Aにこのデータ受信側の無線通信装置に対して送達確認フレームを構成するように指示する。フレーム構成部14Aは送達確認フレームを構成し、送信部12Aに送信するよう指示し、送信部12Aはこのデータ受信側の無線通信装置に対してこの送達確認フレームを送信する。データ送信側の他の無線通信装置(本実施形態では無線通信装置10B)も同様の動作を行い、データ受信側の無線通信装置に対してデータを送信することを認識する。
次に、フレーム構成部14Aは、このトリガーフレームで指示された設定で、データ保持装置1から取得したデータを含むデータフレームA1としてデータ受信側の無線通信装置に対するMACフレームを構成し、送信部12AはこのデータフレームA1を送信する(ステップS13)。データ送信側の他の無線通信装置も同様の動作を行い、データ受信側の無線通信装置に対してデータフレームB1を送信する。本実施形態では、送信部12AはデータフレームA1を、データフレームB1に周波数多重させ、同時に送信していたが、トリガーフレームに含まれる設定によって、周波数多重化の他に空間分割多重化、符号多重化、直交周波数多重化をするようにしてもよいし、同時送信ではなく送信タイミングをずらした一部多重化としてもよい。
次に受信部13Aは、データ受信側の無線通信装置が、データフレームの受信に成功した場合に送信される送達確認フレームの受信を試みる(ステップS14)。
受信部13Aが、データ受信側の無線通信装置から、無線通信装置10Aを宛先とする送達確認フレームを受信した場合(ステップS14:Yes)、再送判断部15Aは、データ受信側の無線通信装置はこのデータを受信できたと判断し、データフレームA1を再送しない判断を行う(ステップS16)。
一方、受信部13Aが、データ受信側の無線通信装置から、無線通信装置10Aを宛先とする送達確認フレームを受信できなかった場合(ステップS14:No)、受信部13Aは同じデータを送信したデータ送信側の他の無線通信装置を宛先とする送達確認フレームの受信を試みる(ステップS15)。
受信部13Aが、同じデータを送信したデータ送信側の他の無線通信装置を宛先とする送達確認フレームを受信した場合(ステップS15:Yes)、再送判断部15Aは、データ受信側の無線通信装置はこのデータを受信できたと判断し、データフレームA1を再送しない判断を行う(ステップS16)。
一方、受信部13Aが、同じデータを送信したデータ送信側の他の無線通信装置を宛先とする送達確認フレームを受信できなかった場合(ステップS15:no)、再送判断部15Aは、データ受信側の無線通信装置はこのデータを受信できていないと判断し、一定時間後にデータフレームA1を再送する判断を行う(ステップS17)。そして、フローはステップS13に戻る。データ送信側の他の無線通信装置も同様の動作を行い、データフレームB1を再送するかどうか判断する。
ステップS15の後、無線通信装置10Aはユーザによる終了指令が来ていないか確認する(ステップS18)。この終了指令は、無線通信装置10Aが現在処理しているフローで動作を終了することを指示しており、ユーザからの無線通信装置10Aに対する入力や、受信部13Aが終了指令を含む信号を受信するなどして無線通信装置10Aに届けられる。この終了指令が確認されない場合、ステップS11に戻る。この終了指令が確認された場合、フローは終了する。この終了指令によって、無線通信装置10Aは直ちに動作を終了するとしてもよい。データ送信側の他の無線通信装置も同様の動作を行い、ユーザによる終了指令が来ていないか確認する。
表1は、本実施形態におけるデータ再送判断表である。無線通信装置10A、および10Bがそれぞれ送信したデータフレームA1、B1が、無線通信装置2によって受信成功したか、あるいは受信失敗したかが示されている。さらに、無線通信装置10Aおよび10Bの再送判断部15Aおよび15Bが、同じデータを含むデータフレームの再送を行うか否かの判断も示されている。
受信部13Aおよび13Bが、Address1に無線通信装置10Aおよび10Bが含まれるAckフレームを受信した場合、再送判断部15Aおよび15Bは、無線通信装置2がデータフレームA1およびB1の受信に成功したと判断する(表1:上から2行目)。再送判断部15Aおよび15Bは、無線通信装置2がこれら2つのデータフレームに含まれる同じデータの受信にも成功したと判断し、このデータを含むデータフレームの再送を行わない判断をする。
受信部13Aおよび13Bが、Address1に無線通信装置10Bが含まれるAckフレームを受信した場合、再送判断部15Aおよび15Bは、無線通信装置2がデータフレームB1の受信に成功し、データフレームA1の受信に失敗したと判断する(表1:上から3行目)。再送判断部15Aおよび15Bは、無線通信装置2がこのデータの受信にも成功したと判断し、このデータを含むデータフレームの再送を行わない判断をする。
受信部13Aおよび13Bが、Address1に無線通信装置10Aが含まれるAckフレームを受信した場合、再送判断部15Aおよび15Bは、無線通信装置2がデータフレームA1の受信に成功し、データフレームB1の受信に失敗したと判断する(表1:上から4行目)。再送判断部15Aおよび15Bは、無線通信装置2がこのデータの受信にも成功したと判断し、このデータを含むデータフレームの再送を行わない判断をする。
受信部13Aおよび13Bが、Address1に無線通信装置10Aおよび10Bの少なくとも一方が含まれるAckフレームを受信できなかった場合、再送判断部15Aおよび15Bは、無線通信装置2がデータフレームA1およびB1の受信に失敗したと判断する(表1:上から4行目)。再送判断部15Aおよび15Bは、無線通信装置2がこのデータの受信に失敗したと判断し、このデータを含むデータフレームの再送を行う判断をする。
以上に本実施形態を説明したが、変形例は様々に実装、実行可能である。例えば、無線通信装置10Aにおける構成の変形例について、図2のアンテナ11Aは1本のアンテナであったが、2本以上としてもよい。複数のアンテナとした場合は、送信用のアンテナと受信用のアンテナを分けてもよい。送信部12A、受信部13A、フレーム構成部14A、再送判断部15Aは、物理的に統合された半導体集積回路に実装されてもよい。また、無線通信装置2も無線通信装置10Aと同様に様々な変更例を実装・実行可能である。さらに、無線通信装置2は従来と同じような再送制御機能を持つとしてもよい。この場合、無線通信装置2は、自分宛ての送達確認フレームを受信した場合、データフレームの再送をしない判断を行うが、他の無線通信装置宛ての送達確認フレームでは、データフレームの再送判断を行わない。
また、本実施形態では、無線通信装置10Aおよび10Bは、データ保持装置1から同じデータを受信したが、データ保持装置1を用いずに無線通信装置10Aおよび10Bのそれぞれのアプリケーションや上位レイヤから受信(取得)するとしてもよい。また、この同じデータはデータ保持装置1を用いずに無線通信装置10Aおよび10Bの間で通信を行うことで受信(共有)されてもよい。この場合も、無線通信装置10Aおよび10Bがデータを受信したときに、それぞれが同じデータを受け取っていることを認識する。また、2台の無線通信装置10は、時刻情報を受信せず、時刻合わせをしないとしてもよい。時刻合わせをしない場合は、同時送信をしない場合である。
また、無線通信装置2と無線通信装置10Aおよび10Bの間で、無線通信装置10Aおよび10Bから送信されるデータは同じであるとルール化されていれば、無線通信装置10Aおよび10Bがそれぞれ取得したデータを、無線通信装置10Aおよび10Bの間で共有せずに無線通信装置2に送信するようにしてもよい。この場合は、無線通信装置10Aおよび10Bが情報を生み出す装置に取り付けられた場合が想定される。例えば、無線通信装置10Aおよび10Bが検査装置AおよびBにそれぞれ取り付けられ、無線通信装置2に対してそれぞれの検査装置から得た検査情報を送信する場合である。無線通信装置2は少なくとも一方の検査情報を受信できればよい場合、無線通信装置10Aおよび10Bそれぞれの検査情報を共有せずに無線通信装置2に送信するようにしてもよい。
また、本実施形態では、データ保持装置1が送信したデータフレームには、データ保持装置1が無線通信装置10Aおよび10Bに同じデータを送信している情報が含まれているとしていたが、事前にデータ保持装置1は無線通信装置10Aおよび10Bにデータごとの送信先リストを知らせるようにしてもよい。無線通信装置10Aおよび10Bはこのリストから、データ保持装置1から送信されるデータが同じデータか相異なるデータかを判別できるようにしてもよい。
また、無線通信装置10Aおよび10Bが同じデータを受信していると知らせる方法について、無線通信装置2から通知する方法でもよい。データ保持装置1、無線通信装置2、無線通信装置10Aおよび10Bの間で、事前に無線通信装置2に届けるべき同じデータのリストを共有しておく。無線通信装置10Aおよび10Bは、このリストに含まれるデータをデータ保持装置1から受信し、このデータを送信するように無線通信装置2からトリガーフレームを受信した場合、同じデータを送信していると認識することができる。
また、本実施形態では、無線通信装置2から無線通信装置10A及び無線通信装置10Bに対してトリガーフレームが送信されているが、無線通信装置2はこのトリガーフレームを送信せず、無線通信装置10Aおよび10Bがデータ保持装置1から同じデータを受信する際に、合わせてデータフレームの設定が伝えられてもよい。またこの設定は、無線通信装置2はこのトリガーフレームを送信せず、無線通信装置10Aおよび10Bの間の取り決めによって伝えられてもよい。
また、本実施形態では、無線通信装置2から無線通信装置10Aおよび10Bにトリガーフレームが送信されている。IEEE802.11規格の無線LANシステムにおけるトリガーフレームはAPからSTAに送信されるので、無線通信装置2がAP、無線通信装置10Aおよび10BがSTAとなるが、トリガーフレームと同程度の機能を持つフレームをSTAから送信するようにしてもよい。この場合、無線通信装置2がSTA、無線通信装置10Aおよび10BがAPでも無線通信装置2はトリガーフレームと同程度の機能を持つフレームをSTAである無線通信装置10Aおよび10Bに対して送信することが可能となる。
また、本実施形態では、無線通信装置2がデータを必要とした場合に無線通信装置10Aおよび10Bにトリガーフレームを送信しているが、無線通信装置2、無線通信装置10Aおよび10Bの間で、一定時間おきに無線通信装置2がトリガーフレームを送信するようにルール化されてもよい。また、無線通信装置2がAPの場合、STAである無線通信装置10Aおよび10Bに、送信データがないか問い合わせる方法(Buffer status report poll)を用いてもよい。
また、本実施形態では、無線通信装置10Aおよび10Bが、同じデータを含むデータフレームを再送すると判断した場合、一定時間後に送信すると無線通信装置10Aおよび10Bにそれぞれ事前にルール化されているが、再び無線通信装置2からのトリガーフレームを待っていてもよい。
また、本実施形態では、送達確認フレームとしてAckフレームを用いているが、Block Ackフレームを用いてもよい。Block AckフレームのAddress1(このBlock Ackフレームの送信先を示す)には複数の無線通信装置を設定することができる。例えば、無線通信装置2がデータフレームA1およびB1の受信に成功した場合、Block AckフレームのAddress1には無線通信装置10Aおよび10B両方の宛先が示される。これにより無線通信装置2の送達確認を1つのフレームで無線通信装置10Aおよび10Bに伝えることが可能である。無線通信装置2がデータフレームA1のみ受信に成功した場合はこのAddress1に無線通信装置10Aの宛先が示され、無線通信装置2がデータフレームB1のみ受信に成功した場合はこのAddress1に無線通信装置10Bの宛先が示される。無線通信装置2がデータフレームA1、B1の受信にともに失敗した場合はBlock ACKフレームは送信されない。
また、本実施形態では、トリガーフレームを送信した無線通信装置2は、無線通信装置10Aおよび10Bからのデータフレームには同じデータが含まれているというルールを前提としているが、無線通信装置10Aおよび10Bは、送達確認フレームとしてBlock Ackフレームから、同じデータが含まれるデータフレームが受信されたか確認するようにしてもよい。具体的には、無線通信装置10Aおよび10Bは、同じデータを含むデータフレームを、それぞれ同じシーケンス番号を付けて送信する。無線通信装置2は、このデータフレームの受信に成功した場合、Block Ackフレームに、受信に成功したデータフレームの送信元の無線通信装置のTIDおよび受信に成功したデータフレームのシーケンス番号を示して送信することが可能である。無線通信装置10Aおよび10Bは、無線通信装置2からのBlock Ackフレームに含まれるAddress2、AID、TIDやシーケンス番号などから、無線通信装置2がこのAddress2またはAIDに示される無線通信装置から送信されたこのTIDでこのシーケンス番号のデータフレームの受信に成功したことを認識する。無線通信装置10Aおよび10Bは、Block Ackフレームに含まれるこれらの情報と、自分が送信したデータフレームの情報が同じであれば、このデータフレームの再送を行わないとしてもよい。
また、本実施形態では、2つのデータフレームを周波数多重化して同時に送信していたが、必ずしも多重化を行わなくてもよいし、同時にデータフレームを送信しなくてもよい。この場合でも、無線通信装置2は、一定時間内に受信に成功したデータフレームの送信元の無線通信装置に、送達確認フレームを送信する。以降の無線通信装置10Aおよび10Bの動作は本実施形態と同様であるので省略する。また、この場合における送信部12、12A、および12Bはデータフレームを多重化することができないものでもよいし、受信部13、13A、13Bは多重化されたデータフレームを分離することができないものでもよい。
ここで、無線通信装置10Aおよび10Bのうち、一方の無線通信装置のデータフレームを無線通信装置2が受信に成功した場合、無線通信装置2は宛先にこの無線通信装置が含まれる送達確認フレームを送信する。このとき、もう一方の無線通信装置がまだデータフレームを送信していなかった場合、もう一方の無線通信装置は、この送達確認フレームのAddress1から、無線通信装置2が一方の無線通信装置のデータフレームの受信に成功したことを認識し、データフレームの送信が不要になったとして送信を行わないようにしてもよい。この場合でも、このもう一方の無線通信装置は、無線通信装置2からのBlock Ackフレームによって、同じデータが含まれるデータフレームが受信されたか確認するようにしてもよい。
例えば、無線通信装置10Aが無線通信装置2に対して先にデータフレームA1を送信し、無線通信装置10Bが無線通信装置2に対してデータフレームB1を送信する前に受信部13Bが無線通信装置10Aに対するAckフレームを受信した場合、再送判断部15BはデータフレームB1内のデータはすでに無線通信装置2に受信されたと判断して送信部12Bに送信しないように指示するようにしてもよい。
また、無線通信装置10Aおよび無線通信装置10Bの間で同じデータを含むデータフレームには同じシーケンス番号を付ける旨のルール化がなされており、無線通信装置10Aに対する送達確認フレームがBlock Ackフレームであった場合、再送判断部15BはBlock Ackフレームに含まれるデータフレームA1のシーケンス番号を確認し、データフレームB1のシーケンス番号と同じであればデータフレームB1内のデータはすでに無線通信装置2に受信されたと判断して送信部12Bに送信しないように指示するようにしてもよい。
また、Block Ackフレームの場合、無線通信装置10Aおよび10Bがそれぞれ複数のデータフレームを送信しても、無線通信装置2は一度にこれら複数のデータフレームの受信成功を無線通信装置10Aおよび10Bに伝えることが可能となる。また、無線通信装置10Aおよび10Bが送信した複数のデータフレームのうち、AIDやAddress2、シーケンス番号、TIDなどによって、どのデータフレームの受信に成功または失敗したかを伝えることが可能となる。このBlock Ackフレームから、無線通信装置10Aおよび10Bは、複数のデータフレームのうち、特定のデータフレームのみを再送するようにしてもよい。
例えば、図10は無線通信装置10Aおよび10Bがそれぞれ4つのデータフレームとして、データフレームA1、A2、A3、A4、B1、B2、B3およびB4を送信した場合を表している。無線通信装置2に届けるデータはデータ1、データ2、データ3、データ4である。白色のデータフレームは無線通信装置2によって受信に成功したデータフレームを表しており、無線通信装置2はデータフレームA1、データフレームA4、データフレームB1、データフレームB2、データフレームB4の受信に成功している。すなわち、無線通信装置2は、データ1、データ2およびデータ4の受信に成功している。この場合でも、無線通信装置10Aおよび10Bは、本実施形態で説明した手段によって、それぞれ無線通信装置2に対して送信するデータが同じであることを認識しているものとする。すなわち、無線通信装置10Aおよび10Bは、データフレームA1およびB1には同じデータ1が、データフレームA2およびB2には同じデータ2が、データフレームA3およびB3には同じデータ3が、データフレームA4およびB4には同じデータ4が、含まれていると認識しているものとする。
一方、無線通信装置2はデータフレームA2、データフレームA3、データフレームB3の受信に失敗しており、データ3の受信に失敗している。無線通信装置10Aおよび10Bは、無線通信装置2のBlock Ackフレームから、AIDやAddress2、シーケンス番号、TIDなどを参照することで、受信に成功したデータフレームを認識する。すなわち、無線通信装置10Aおよび10Bは、無線通信装置2がデータ3の受信に失敗したと判断し、このデータ3を含むデータフレーム(A3、B3)のみを再送するとしてもよい。
図10の場合は、無線通信装置10Aおよび10Bがそれぞれ異なるデータ1、データ2、データ3、データ4を無線通信装置2に送信する場合を示したが、データ1を分割して送信する場合、すなわち無線通信装置10Aおよび10Bが、データ1a、データ1b、データ1c、データ1dを無線通信装置2に送信する場合となっても図10の場合と同様である。ただし、無線通信装置10Aおよび10Bの間で、データ1は2台の無線通信装置ともにデータ1a、データ1b、データ1c、データ1dに分割されるなど、データの分割方法についてルール化が必要である。このルール化はデータ保持装置1から伝えられてもよい。
また、本実施形態では、無線通信装置10Aおよび10Bが、同じデータを含むデータフレームを再送すると判断した場合、一定時間後に送信すると無線通信装置10Aおよび10Bにそれぞれ事前にルール化されているが、再び無線通信装置2からのトリガーフレームを待っていてもよい。
また、本実施形態では、無線通信装置2はトリガーフレームおよびAckフレームをそれぞれ無線通信装置10Aおよび10Bに送信しているが、これらのフレームを多重化して同時に送信するようにしてもよい。
また、本実施形態では、無線通信装置10Aおよび10Bはともに再送判断部15Aおよび15Bを備えるが、一方を、従来と同じような再送制御機能を持つ無線通信装置としてもよい。従来の無線通信装置は再送判断部15Aを簡素化した構成でよい。例えば、自分あての送達確認フレームを受信した場合には同じデータを含むデータフレームを再送しないという従来通りの判断を行う再送制御部15a(図示しない)でもよい。すなわち、この従来の無線通信装置は、自分を宛先とする送達確認フレームを受信した場合データフレームの再送を行わない。この従来の無線通信装置は、自分を宛先とする送達確認フレームを受信できない場合、データフレームの再送を行う。また、この従来の無線通信装置は、他の無線通信装置を宛先とする送達確認フレームを受信した場合でも、データフレームの再送を行う。
例えば、本実施形態に沿って、再送判断部15Aを有する無線通信装置10A、従来の無線通信装置を無線通信装置Bとする。この2台の無線通信装置が同じデータを含むデータフレームを無線通信装置2に送信するまでは、本実施形態と同様なので省略する。本実施形態と同様に、無線通信装置10Aが送信したデータフレームをデータフレームA1、無線通信装置Bが送信したデータフレームをデータフレームB1と称する。再送判断部15Aを有する無線通信装置10Aは図7の再送判断と同様であるが、無線通信装置Bは、無線通信装置2から自分宛のAckフレームを受信できなければデータフレームB1の再送を行う。
すなわち、無線通信装置2がデータフレームA1の受信に成功したが、データフレームB1の受信に失敗した場合、データフレームA1に含まれるデータは無線通信装置2に受信されているが、無線通信装置Bは同じデータを含むデータフレームB1を余分に再送してしまう。したがって、データ送信側の無線通信装置は、再送判断部15Aを有する無線通信装置10Aであることがより再送を行わないという効果を発揮する。
また、本実施形態は、データ送信側の無線通信装置を10Aおよび10Bを2台としているが、3台以上でもよい。本実施形態におけるデータ送信側の無線通信装置が3台以上の場合でも、本実施形態と同様である。これらのデータ送信側の無線通信装置を無線通信装置10と称する。無線通信装置10は無線通信装置10Aと同様にアンテナ11、送信部12、受信部13、フレーム構成部14、再送判断部15を有する。この場合でも、本実施形態と同様にデータ送信側の無線通信装置はデータフレームを多重化して同時送信する場合を説明する。
複数の無線通信装置10は、まずデータ保持装置1からデータフレームをそれぞれ受信し、データ保持装置1へ送達確認フレームとしてAckフレームを送信する。このデータフレームには、無線通信装置2に送信する同じデータが含まれている。複数の無線通信装置10は、このデータフレームからそれぞれの無線通信装置10が同じデータを受信していることを認識する。
次に、これら複数の無線通信装置10は、無線通信装置2からこのデータを送信するように指令をするトリガーフレームをそれぞれ受信し、無線通信装置2へAckフレームを送信する。このトリガーフレームにはそれぞれの無線通信装置10が、データフレームを送信する送信時間およびデータフレームの送信に用いる周波数帯域幅が示されている。これら複数の無線通信装置10は、このデータを含むデータフレームを無線通信装置2に対して周波数多重化して同時に送信する。無線通信装置2は、この多重化されたデータフレームを多重化前の複数のデータフレームに分離し、それぞれのデータフレームの受信に成功しているか確認する。無線通信装置2が受信に成功したデータフレームが少なくとも1つあれば、無線通信装置2はこのデータフレームを送信した無線通信装置に対して、送達確認フレームとしてAckフレームを送信する。
これら複数の無線通信装置10は、このAckフレームを、自分宛に送信されていない場合でもそれぞれ受信し、AckフレームのAddress1にこれら複数の無線通信装置10のうち、少なくとも1台の無線通信装置10があれば、同じデータを含むデータフレームを再送しない。無線通信装置2はこのデータを受信できているためである。つまり、これら複数の無線通信装置10のうち、少なくとも1台の無線通信装置10に対するAckフレームが無線通信装置2から送信されない場合、無線通信装置2がこれら複数のデータフレームの受信にすべて失敗したとして、これら複数の無線通信装置10は同じデータを含むデータフレームをそれぞれ再送する。
また、データ送信側の無線通信装置10を3台以上配置した場合、その配置には様々なバリエーションが考えられる。無線通信装置10が数台からなる列を複数としてもよいし、メッシュ状に無線通信装置10を配置するとしてもよいし、1台の無線通信装置10を中心として放射状に無線通信装置10を配置するとしてもよい。
ここで、データ送信側として3台以上の無線通信装置10を配置した場合、これらのデータ送信側の無線通信装置10をいくつかのグループに分け、グループ内の無線通信装置10は同じデータを含むデータフレームを送信するが、グループごとに異なるデータを含むデータフレームを送信するような無線通信システムとしてもよい。
例えば、図11のような無線通信システムである。すなわち、データ保持装置1、データ送信側の無線通信装置は無線通信装置10A、10B、10C、無線通信装置2である。無線通信装置10Cの構成は無線通信装置10Aと同様であり、アンテナ11C、送信部12C、受信部13C、フレーム構成部14C、再送判断部15Cを備えている。この場合において、無線通信装置2がトリガーフレームを送信すれば、無線通信装置10Aおよび10Bは同じデータ(図11ではデータ1)を含むデータフレーム(図11ではA1、B1)を送信し、無線通信装置10Bおよび10Cは同じデータ(図11はデータ2)を含むデータフレーム(図11ではB2、C1)を送信するようルール化されているものとする。無線通信装置10Aおよび10Bはデータ保持装置1からデータ1を、無線通信装置10Bおよび無線通信装置10Cはデータ保持装置1からデータ2を受信する。この場合でも、無線通信装置10Aおよび10B、無線通信装置10Bおよび10Cは、本実施形態で説明した手段によって、それぞれ無線通信装置2に対して送信するデータが同じであることを認識しているものとする。すなわち、無線通信装置10Aおよび10Bは、データ1が無線通信装置2に送信する同じデータであり、無線通信装置10Bおよび10Cは、データ2が無線通信装置2に送信する同じデータであることを認識しているものとする。
無線通信装置2は無線通信装置10A、10B、および10Cにトリガーフレームを送信する。このトリガーフレームに指定された設定で、無線通信装置10A、10Bおよび10Cは、データフレームを無線通信装置2に送信する。
この場合では、本実施形態と同様に、無線通信装置10Aおよび10Bがデータ1を含むデータフレームを周波数多重で同時送信し、この送信より一定時間後に無線通信装置10Bおよび10Cがデータ2を含むデータフレームを周波数多重で同時送信するとする。無線通信装置2のトリガーフレームは、それぞれのデータフレームA1、B1、B2、C1の送信時間と送信に用いる周波数帯域幅を指定する。
この場合において、無線通信装置10Aおよび10Bは、先に送信するのでデータフレームに同じシーケンス番号をつけることができるが、無線通信装置10Bが一度データフレームを送信しているので無線通信装置10Bおよび10Cは同じシーケンス番号をつけられない場合がある。この場合においても、無線通信装置10Bが送信するデータフレームのシーケンス番号が小さいデータフレーム(図11ではB1)にデータ1が含まれることを無線通信装置10A、10B、および10Cの間でルール化することにより、無線通信装置10A、10B、および10Cは無線通信装置2からのBlock Ackフレームから無線通信装置2が受信に成功したデータフレームを認識可能である。
すなわち、無線通信装置10A、10Bおよび10Cは無線通信装置2によるデータ1を含むデータフレームA1およびB1、データ2を含むデータフレームB2およびC1の受信成否を、Block Ackフレームに含まれるAIDやAddress2、シーケンス番号、TIDなどを参照することで認識可能である。そして、無線通信装置10A、10Bおよび10Cは、無線通信装置2が受信に失敗したデータを含むデータフレームのみを再送することが可能となる。
データ送信側の無線通信装置が3台以上であっても、無線通信装置10A、10Bで説明した構成および動作のバリエーションは同様に実装・実行可能である。
本実施形態によれば、再送判断部15Aを有する無線通信装置10Aは、既にデータ受信側の無線通信装置が受信に成功したデータフレームを余計に再送することがなくなる。無線通信のチャネルを必要がないにも関わらず利用することが減少し、無線通信システム全体において無線通信の信頼性を高めつつ、無線通信チャネルの不要な利用時間を減少させることができる。また、無線通信装置10Aによって余計なデータフレームが再送されないことで、無線通信装置10Aのみならず無線通信装置2も余計なデータフレームを受信しなくても済むようになるため、無線通信システムの省電力化を図ることもできる。なお、複数の無線通信装置10Aがデータフレームをそれぞれ送信する際、これらのデータフレームの多重化、同時送信を行うと、無線通信チャネルの利用時間がより短くなるため、より低遅延で、省電力化を図りつつ無線通信の信頼性を高めることができる。
(第2の実施形態)
図12に、第2の実施形態における無線通信装置のシステム図を表す。この第2の実施形態においては同一データを複数の無線通信装置から受信する装置側を改良するものであるため、データフレームを送信する複数の無線通信装置は従来と同じような再送制御機能があればよい。
本実施形態における無線通信システムは図1に示す第1の実施形態における無線通信装置のシステム図と類似するが、データ送信側の無線通信装置(図12では3Aおよび3Bの2台)は、第1の実施形態で説明した再送判断部15Aよりも簡素化した構成で済む。例えば、自分宛ての送達確認フレームを受信した場合には同じデータを含むデータフレームを再送しないという従来通りの判断をおこなう再送制御部15a(図示しない)でもよい。すなわち、無線通信装置3Aおよび3Bは、自分宛ての送達確認フレームを受信した場合、データフレームの再送をしない判断を行うが、他の無線通信装置宛ての送達確認フレームでは、データフレームの再送をする判断を行う。
また、図1のシステムとの相違点として、データ受信側の無線通信装置(図12では20)は、それぞれの無線通信装置3Aおよび3Bが送信した同じデータを含むデータフレームのうち、少なくともどちらか一方のデータフレームの受信に成功した場合、無線通信装置3Aおよび3Bの両方に対して送達確認フレームを構成および送信するよう指示する送達確認フレーム制御部を備える。なお、システムの接続環境および使用されるフレームは第1の実施形態と同様であるので省略する。
図13は、第2の実施形態における無線通信装置20の構成例である。無線通信装置20にも備えるアンテナ21、送信部22、受信部23は第1の実施形態の無線通信装置10Aのアンテナ11A、送信部12A、受信部13A、フレーム構成部14Aと同じであるので、説明を省略する。
フレーム構成部24は、データ送信側の無線通信装置に対して、データを送信するように指示するトリガーフレームを構成し、送信部22にこのトリガーフレームの送信を指示する。本実施形態では、フレーム構成部24は無線通信装置3Aおよび3Bに対して、同じデータを送信するように指示するトリガーフレームを構成し、送信部22にこのトリガーフレームの送信を指示する。ここで、フレーム構成部24はあらかじめ同一データを送信する無線通信装置のリストを有してもよいし、他の無線通信装置から同一データを送信する無線通信装置の情報を得てもよい。
受信部23は、このトリガーフレームに応じて無線通信装置3Aが送信したデータフレームA1および無線通信装置3Bが送信したデータフレームB1を受信する。データフレームA1およびB1は同じデータを含むものとする。受信部23はいずれかの一方のデータフレームの受信に成功した時点で、送達確認フレーム制御部26に受信成功を通知する。
送達確認フレーム制御部26は、受信部23がデータ送信側のそれぞれの無線通信装置が送信した同じデータを含むデータフレームのうち、少なくとも1つのデータフレームの受信に成功した場合、同じデータを含むデータフレームを送信したすべての無線通信装置に対して送達確認フレームを構成および送信するよう指示する。
送達確認フレーム制御部26は、受信部23が送信側の複数の無線通信装置から送信された同じデータを含む複数のデータフレームのうち、少なくとも1つのデータフレームに受信に成功した場合、受信部23がこの同じデータを含む他のデータフレームの受信に成功していない場合でも、受信部23が受信に成功したデータフレームの送信元の無線通信装置に対してだけでなく、この他のデータフレームを送信した無線通信装置に対しても、送達確認フレームを構成するようフレーム構成部24に指示し、送信部22にこの送達確認フレームを送信するよう指示をする。
この送達確認フレームの構成の指示は、受信部23が同じデータを含む複数のデータフレームのうち、最初のデータフレームの受信に成功した際に行われる。送達確認フレーム制御部26がこの指示をした後に、受信部23が同じデータを含む他のデータフレームを受信した場合、送達確認フレームの構成を指示しない。また、受信部23が同じデータを含むデータフレームの受信にすべて成功した場合、送達確認フレーム制御部26はこれらのデータフレームの送信元のすべての無線通信装置に対して送達確認フレームを構成するようフレーム構成部24に指示し、送信部22にこの送達確認フレームを送信するよう指示する。
図14は、第2の実施形態における無線通信システムのシーケンス図である。図14を用いて、第2の実施形態におけるデータ保持装置1、無線通信装置3Aおよび3B、無線通信装置20を含む無線通信システムの動作を説明する。本実施形態でも、無線通信装置3Aおよび3Bが、データフレームを周波数多重で同時送信を行う場合を説明する。また、無線通信装置20がトリガーフレームおよび送達確認フレームを周波数多重で同時送信する場合を説明する。第1の実施形態と同様に、本実施形態でも、無線通信装置3Aおよび3Bは、第1の実施形態で説明した手段によって、それぞれ無線通信装置20に対して送信するデータが同じであることを認識しているものとする。さらに、トリガーフレームを受信した無線通信装置3Aおよび3Bは、同じデータが含まれているデータフレームを無線通信装置20へ送信するとルール化されているものとし、無線通信装置20、3A、3Bの間で時刻合わせを済ませているものとする。
なお、無線通信装置3Aおよび3Bがデータ保持装置1から同じデータを受信してから、無線通信装置20が無線通信装置3Aおよび3BからのデータフレームA1およびA2に誤りがないかCRCなどを用いて誤りの検出をするまでの動作は第1の実施形態と一部を除き同様である。無線通信装置10Aおよび10Bが無線通信装置3Aおよび3Bに置き換わり、無線通信装置2が無線通信装置20に置き換わっただけであるので省略する。一部の相違点は、無線通信装置20が無線通信装置3Aおよび3Bに、トリガーフレームを周波数多重化して同時に送信している。
無線通信装置20がデータフレームの誤りの検出をした結果、無線通信装置20は、これら2つのデータフレームの両方の受信に成功した場合、無線通信装置3Aおよび3Bに送達確認フレームとしてそれぞれAckフレームを送信する。このAckフレームは、周波数多重および同時に送信される。
無線通信装置20がデータフレームA1のみ受信に成功した場合、無線通信装置20は、無線通信装置3Bからも同じデータを含むデータフレームB1が送信されていることを知っているので、無線通信装置20ではデータフレームA1およびB1の受信に成功したものとされる。無線通信装置20は、無線通信装置3Aだけでなく、無線通信装置3BにもそれぞれAckフレームを構成し、送信する。このAckフレームは、周波数多重および同時に送信される。
無線通信装置20がデータフレームB1のみ受信に成功した場合、無線通信装置20は、無線通信装置3Aからも同じデータを含むデータフレームA1が送信されていることを知っているので、無線通信装置20ではデータフレームA1およびB1の受信に成功したものとされる。無線通信装置20は、無線通信装置3Bだけでなく、無線通信装置3AにもそれぞれAckフレームを構成し、送信する。このAckフレームは、周波数多重および同時に送信される。なお、無線通信装置20は、この2つのデータフレームの受信にともに失敗した場合、Ackフレームを送信しない。
無線通信装置20がAckフレームを送信した場合、無線通信装置3Aおよび3Bは、自分が宛先に含まれているフレームのみ受信し、無線通信装置20が自分によって送信されたデータを受信したことを認識し、このデータを含むデータフレームの再送を行わない。無線通信装置3Aおよび3Bが無線通信装置20にこのデータフレームの再送を行うのは、無線通信装置20が無線通信装置3Aおよび3Bからの2つのデータフレームの受信に、ともに失敗した場合である。
図15は、第2の実施形態における無線通信装置20の動作のフローチャートである。図15を参照して、本実施形態における無線通信装置20の動作について説明する。なお、データ送信側の複数の無線通信装置は、すでに同じデータを保持しており、時刻合わせも済ませているものとする。本実施形態でも、無線通信装置3Aおよび3Bは、第1の実施形態で説明した手段によって、それぞれ無線通信装置20に対して送信するデータが同じであることを認識しているものとする。
まず、フレーム構成部24は、トリガーフレームを構成し、送信部22は、このトリガーフレームをデータ送信側の複数の無線通信装置に送信する(ステップS21)。本実施形態では、送信部22はトリガーフレームを周波数多重かつ同時に送信したが、周波数多重化の他に空間分割多重化、符号多重化、直交周波数多重化をするようにしてもよいし、同時送信ではなく送信タイミングをずらした一部多重化としてもよい。
このトリガーフレームを受信したデータ送信側の複数の無線通信装置は、無線通信装置20に送達確認フレームを構成して送信する。その後、それぞれ同じデータを含むデータフレームを構成し、第1の実施形態で説明したようにトリガーフレームで指定された設定で送信する。
次に、受信部23は、一定時間これらのデータフレームの受信を試みる(ステップS22)。これらのデータフレームのうち、この一定時間内に1つもデータフレームを受信できなかった場合(ステップS22:No)、受信部23はこのデータの受信に失敗したと判断し、特定時間後にデータ送信側の複数の無線通信装置に対してトリガーフレームを構成し、送信するステップS21に戻る。
一方、受信部23がこの一定時間内に、これらのデータフレームのうち、少なくとも1つのデータフレームを受信できた場合(ステップS22:Yes)、受信部23は受信したデータフレームの受信に成功しているか、CRCなどを用いて誤りの検出をする。(ステップS23)。受信したすべてのデータフレームに誤りが検出された場合、すなわちこれらのデータフレームの受信にすべて失敗した場合(ステップS23:No)、受信部23はこのデータの受信に失敗したと判断し、特定時間後にデータ送信側の複数の無線通信装置に対してトリガーフレームを構成し、送信するステップS21に戻る。
一方、受信したすべてのデータフレームのうち、少なくとも1つのデータフレームに誤りが検出されなかった場合、すなわち受信部23が少なくとも1つのデータフレームの受信に成功した場合(ステップS23:No)、受信部23はこのデータの受信に成功したと判断する。送達確認フレーム制御部26は、受信に成功したデータフレームの送信元の無線通信装置だけでなく、このデータを含むデータフレームを送信した無線通信装置すべてに送達確認フレームを構成するようフレーム構成部24に指示し、送信部22にこの送達確認フレームを送信するよう指示する(ステップS24)。すなわち、受信部23が少なくとも1つのデータフレームの受信に成功した場合、受信部23がこのデータを含む他のデータフレームを受信できなかった場合でも、送達確認フレーム制御部26はこの他のデータフレームの送信元の無線通信装置に対しても送達確認フレームを構成するようフレーム構成部24に指示し、送信部22にこの送達確認フレームを送信するよう指示する。
ステップS24の後、フレーム構成部24は、同じデータを含むデータフレームを送信した複数の無線通信装置すべてに対して、送達確認フレームを構成し、送信部22はこの送達確認フレームを送信する(ステップS25)。送達確認フレームとして、Ackフレームを送信してもよいし、Block Ackフレームを送信するようにしてもよい。本実施形態では、送信部22はAckフレームを周波数多重かつ同時に送信したが、周波数多重化の他に空間分割多重化、符号多重化、直交周波数多重化をするようにしてもよいし、同時送信ではなく送信タイミングをずらした一部多重化としてもよい。
ステップS25の後、無線通信装置20はユーザによる終了指令が来ていないか確認する(ステップS26)。この終了指令は、ユーザからの無線通信装置20に対する入力や、受信部23が終了指令を含む信号を受信するなどして無線通信装置20に届けられる。この終了指令が確認されない場合、ステップS21に戻る。この終了指令が確認された場合、フローは終了する。この終了指令によって、無線通信装置20は直ちに動作を終了するとしてもよい。
表2は、本実施形態におけるデータフレームの受信成否を示す表である。すなわち、データ送信側の無線通信装置3Aおよび3Bから送信された、同じデータを含む2つのデータフレームA1およびB1に対し、受信部23によるそれぞれのデータフレーム受信成否と、このデータの受信成否が表されている。なお、無線通信装置20は無線通信装置3Aおよび3Bにトリガーフレームを送信し、無線通信装置3Aおよび3Bから同じデータを含むデータフレームを送信されることを認識しているものとする。
受信部23が、無線通信装置3Aおよび3Bから送信された2つのデータフレームの受信にともに成功した場合(表2:上から2行目)、受信部23は、このデータの受信にも成功している。送達確認フレーム制御部26はフレーム構成部24に無線通信装置3Aおよび3Bに対してAckフレームを構成するよう指示し、送信部22にこのAckフレームを送信するよう指示をする。フレーム構成部24はこのAckフレームを構成し、送信部22はこのAckフレームを周波数多重および同時に送信する。
受信部23が、データフレームA1の受信に失敗し、データフレームB1の受信に成功した場合(表2:上から3行目)、受信部23は、このデータの受信に成功している。送達確認フレーム制御部26は、フレーム構成部24に無線通信装置3Bだけでなく、無線通信装置3Aに対してもAckフレームを構成するよう指示し、送信部22にこのAckフレームを送信するよう指示する。フレームを構成部24はこのAckフレームを構成し、送信部22はこのAckフレームを周波数多重および同時に送信する。
受信部23が、データフレームA1の受信に成功し、データフレームB1の受信に失敗した場合(表2:上から4行目)、受信部23は、このデータの受信に成功している。送達確認フレーム制御部26は、フレーム構成部24に無線通信装置3Aだけでなく、無線通信装置3Bに対してもAckフレームを構成するよう指示し、送信部22にこのAckフレームを送信するよう指示する。フレームを構成部24はこのAckフレームを構成し、送信部22はこのAckフレームを周波数多重および同時に送信する。
受信部23が、無線通信装置3Aおよび3Bから送信された2つのデータフレームの受信にともに失敗した場合(表2:上から5行目)、受信部23はこのデータの受信に失敗している。特定時間後にフレーム構成部24はトリガーフレームを構成し、送信部22は無線通信装置3Aおよび3Bに対してこのトリガーフレームを周波数多重および同時に送信する。
以上に本実施形態を説明したが、変形例は様々に実装、実行可能である。無線通信装置3Aおよび3Bは、第1の実施形態で説明した無線通信装置10Aおよび10Bに対応する変形例のうち、再送判断部15Aおよび15Bに関わる変形例を除いたすべての変形例について実装、実行可能である。無線通信装置20は、第1の実施形態で説明した無線通信装置2に対応する全ての変形例について実行可能であるため、本実施形態では、これらの変形例の説明は省略する。
無線通信装置20における構成の変形例については、無線通信装置10Aにおける構成と再送判断部15Aと送達確認フレーム制御部26が置き換わるのみであり、他の構成要素であるアンテナ、送信部、受信部、フレーム構成部は無線通信装置10Aのものと同様である。よって、構成の変形例も同様であり、第1の実施形態で説明したので省略する。また、無線通信装置20に第1の実施形態における再送判断部15Aを組み合わせてもよい。すなわち、無線通信装置20は、アンテナ21、送信部22、受信部23、フレーム構成部24、再送判断部25、受信情報判断部26を備える無線通信装置としてもよい。再送判断部25は、第1の実施形態で説明した無線通信装置10Aの再送判断部15Aと同様である。
無線通信装置20における動作の変形例についても様々に実行可能である。例えば、本実施形態では、無線通信装置20がトリガーフレームを送信することによって無線通信装置3Aおよび3Bに同じデータを含むデータフレームを送信させていたが、第1の実施形態の変形例に示すように無線通信装置20がトリガーフレームを送信せずに無線通信装置3Aおよび3Bがこれらのデータフレームを送信するようにしてもよい。この場合、無線通信装置20は図15のフローのうち、トリガーフレームを送信するステップS21をスキップしたフローとなり、データフレームの受信を試みるステップS22を行う。
この場合のデータフレームの受信成否を示す表を、表3に示す。なお、本実施形態では、受信失敗とはデータ送信側の無線通信装置が送信したデータフレームの受信をできなかった場合、およびデータフレームに誤りがあった場合としていた。この変形例では、無線通信装置20が受信できなかった場合を未受信とし、受信失敗は受信したデータフレームに誤りがあった場合とする。無線通信装置20はトリガーフレームを無線通信装置3Aおよび3Bに送信していないため、前もってデータフレームが送信される時間帯が分からないためである。送達確認フレーム制御部26は、受信部23が一方のデータフレームを受信失敗または未受信でも、もう一方のデータフレームの受信に成功していれば、受信部23が受信に成功したデータフレームの送信元だけでなく、受信に失敗または未受信のデータフレームの送信元に対しても送達確認フレームを構成するようフレーム構成部24に指示し、送信部22にこの送達確認フレームを送信するよう指示することが可能である。
またこの変形例では、データフレームの送信タイミングは不明であるものの、無線通信装置3Aおよび3Bは同じデータを含むデータフレームを送信することが、無線通信装置20、3Aおよび3Bの間でルール化されているものとする。また、無線通信装置3Aおよび3Bは、すでに同じデータを保持しているものとする。
受信部23が無線通信装置3Aおよび3Bによって送信された2つのデータフレームの受信にともに成功した場合(表3:上から2行目)、一方のデータフレームの受信に成功してもう一方のデータフレームの受信に失敗した場合(表3:上から3行目および5行目)、およびこの2つのデータフレームの受信に失敗した場合(表3:上から6行目)、はそれぞれ表2の上から2~5行目の場合に対応しているので、説明は省略する。
受信部23がデータフレームA1を未受信であり、データフレームB1の受信に成功した場合(表3:上から4行目)、受信部23はルールから無線通信装置3Aも同じデータを含むデータフレームA1を送信すると判断する。受信部23がこのデータの受信に成功したので、送達確認フレーム制御部26はフレーム構成部24に、無線通信装置3Bだけでなく無線通信装置3Aに対してもAckフレームを構成するよう指示し、送信部22にこのAckフレームを送信するよう指示する。フレーム構成部24はこのAckフレームを構成し、送信部22はこのAckフレームを周波数多重および同時に送信する。
受信部23がデータフレームA1の受信に成功し、データフレームB1を未受信の場合(表3:上から8行目)、表3:上から4行目の場合から無線通信装置3Aと3Bが入れ替わっただけであるので説明を省略する。
受信部23がデータフレームA1を未受信であり、データフレームB1の受信に失敗したと場合(表3:上から7行目)、受信部23は、データの受信に失敗したので、Ackフレームは送信しない。この場合では無線通信装置20がトリガーフレームを用いないので、受信部23は引き続きデータフレームの受信を試みる。
受信部23が、データフレームA1の受信に失敗し、データフレームB1を未受信の場合(表3:上から9行目)、表3:上から7行目の場合から無線通信装置3Aと3Bが入れ替わっただけであるので説明を省略する。
受信部23が、無線通信装置3Aおよび3Bによって送信された2つのデータフレームを、ともに未受信の場合(表3:上から10行目)、受信部23にとってはなんのデータフレームも存在しないのであるから、引き続きデータフレームの受信を試みる。
なお、この変形例においては、トリガーフレームを一切用いないとしてもよいし、受信部23がデータの受信に失敗した場合、無線通信装置3Aおよび3Bにこのデータを含むデータフレームを再送するように指示する場合にはトリガーフレームを用いるようにしてもよい。
またこの変形例では、さらに無線通信装置20は無線通信装置3Aおよび3Bの一方からデータフレームを受信し、この受信時刻から一定時間以内にもう一方からのデータフレームを受信した場合、この2つのデータフレームには同じデータが含まれるとルール化されてもよい。
また、本実施形態では、無線通信装置20は送達確認フレームとしてAckフレームを用いているが、Block Ackフレームを用いて送達確認を行ってもよい。Block Ackフレームを用いることで、無線通信装置20は無線通信装置3Aおよび3Bから送信された複数のデータフレームの受信成否を、一度に無線通信装置3Aおよび3Bに伝えることが可能である。
例えば、第1の実施形態で説明した図10のように、無線通信装置3Aおよび3Bが4種類のデータ1、2、3および4を送信するため、合計8つのデータフレームA1、A2、A3、A4、B1、B2、B3およびB4を送信してきたとする。それぞれのデータフレームの受信成否は図10と同じとするので省略する。
第1の実施形態における説明と異なる部分は、データフレームA2の取り扱いである。受信部23はデータフレームA2の受信には失敗しているが、データフレームB2の受信に成功しているため、データ2の受信にも成功している。この場合、送達確認フレーム制御部26は、フレーム構成部24に、データフレームB2だけでなくデータフレームA2の受信にも成功したとBlock Ackフレームを構成するように指示し、送信部22にこのBlock Ackフレームを送信するよう指示する。構成フレーム構成部24は、データフレームA1、A2、A4、B1、B2、B4の受信に成功したことをBlock Ackフレームで一度に無線通信装置3Aおよび3Bに対して構成し、送信部22は、このBlock Ackフレームを送信することが可能である。
また、この場合では第1の実施形態で説明したように、図10のデータ1~データ4を、データ1の分割データであるデータ1a~データ1dとしてもよい。無線通信装置3Aおよび3Bの間で、データ1はともにデータ1a、データ1b、データ1c、データ1dに分割されるようにルール化されることが必要である。
また、本実施形態では、無線通信装置3Aおよび3Bが同じデータを含むデータフレームを送信するとルール化されていたが、同じデータを含むデータフレームとして、無線通信装置3Aおよび3Bがそれぞれ同じデータと相異なるデータをそれぞれ送信する場合、受信部23は、同じデータかどうか判別し、データごとに処理を変えてもよい。この場合でも、無線通信装置3Aおよび3Bは、第1の実施形態で説明した手段によって、それぞれ無線通信装置20に対して送信するデータが同じであるか異なるかを認識しているものとする。
例えば、図16のように、無線通信装置3Aはデータ1を含むデータフレームA1とデータ2を含むデータフレームA2を無線通信装置20に送信し、無線通信装置3Bはデータ1を含むデータフレームB1とデータ3を含むデータフレームB2を無線通信装置20に送信する場合である。
受信部23が同じデータであると判断する手段としては、無線通信装置20、3Aおよび3Bの間で、同じデータを含むデータフレームに関しては同じシーケンス番号を付けるようにルール化したうえで、データフレームのTIDやシーケンス番号を参照することで判断する手段や、無線通信装置20の上位レイヤから同じデータを判別する情報を取得して判断する手段を取ってもよい。この場合はシーケンス番号を統一した場合を説明する。
図16の場合、受信部23は無線通信装置3Aおよび3Bから、データフレームA1、A2、B1およびB2を受信する。このうち、データフレームA1とデータフレームB1には同じシーケンス番号が付されている。受信部23がデータフレームA1の受信に成功し、データフレームB1の受信には失敗した(誤りが検出された)が、データフレームA1のシーケンス番号とデータフレームB1のシーケンス番号が同じであると認識できた場合、無線通信装置20はデータ1の受信に成功しているので、送達確認フレーム制御部26はフレーム構成部24に無線通信装置3Aだけでなく無線通信装置3Bに対してもAckフレームを構成するように指示し、送信部22にこのAckフレームを送信するよう指示する。一方、受信部23は、データフレームA2およびデータフレームB2にはそれぞれ相異なるデータが含まれていると認識する。送達確認フレーム制御部26はデータフレームA2およびB2の受信成否によってフレーム構成部24にAckフレームを構成するように指示し、送信部22にこのAckフレームを送信するよう指示する。
フレーム構成部24はこのAckフレームを構成し、送信部22はこのAckフレームを周波数多重および同時に送信する。例えば、受信部23がデータフレームA1、A2、B2の受信に成功し、データフレームB1の受信に失敗した場合、送達確認フレーム制御部26フレーム構成部24に無線通信装置3Aだけでなく無線通信装置3Bに対してもそれぞれ2つずつのAckフレームを構成するように指示し、送信部22にこれらのAckフレームを送信するよう指示する。フレーム構成部24はこれらのAckフレームを構成し、送信部22はこれらのAckフレームを周波数多重および同時に送信する。
なお、無線通信装置20が送達確認フレームとしてBlock Ackフレームを用いる場合は、無線通信装置3Aおよび3Bに対して一度に複数のデータフレームの送達確認を行うことが可能となる。例えば、無線通信装置20がデータフレームA1、A2、B1、B2の受信に成功した場合、Block ACKフレームは無線通信装置3Aおよび3Bに対してデータフレームA1、A2、B1、B2の受信に成功したことを伝えることが可能である。
図17に、この場合における無線通信装置20のフローを示す。本実施形態における無線通信装置20のフローを示した図15との相違点を説明しながら、この場合の無線通信装置20の動きを説明する。なお、図17のフローは無線通信装置20が無線通信装置3Aおよび3Bにトリガーフレームを送信しない場合を説明しているが、トリガーフレームを送信するようにしてもよい。なお、無線通信装置3Aはデータ1およびデータ2を、無線通信装置3Bはデータ1およびデータ3を、それぞれすでにデータ保持装置1から受信しているものとし、無線通信装置3Aおよび3Bは、第1の実施形態で説明した手段によって、データ1が同じデータであることを認識しているものとする。
ステップS31、ステップS32は、図15のステップS22、ステップS23に対応するため、説明を省略する。ステップS32:Noの場合、受信部23は、これらのデータフレームに、同じデータが存在するか判断を行う(ステップS33)。受信部23が同じデータであると判断する手段としては、無線通信装置20、3Aおよび3Bの間で、同じデータを含むデータフレームに関しては同じシーケンス番号を付けるようにルール化したうえで、データフレームのAddress2、AID、シーケンス番号やTIDなどを参照することで判断する手段や、無線通信装置20の上位レイヤから同じデータを判別する情報を取得して判断する手段を取ってもよい。
受信部23が、同じデータを含むデータフレームが複数存在すると判断した場合、(ステップS33:Yes)、送達確認フレーム制御部26はこれらのデータフレームの送信元の無線通信装置すべてに対して送達確認フレームを構成するようフレーム構成部24に指示し、送信部22にこれらの送達確認フレームを送信するよう指示する。(ステップS34)。一方で送達確認フレーム制御部26は、異なるデータを含むデータフレームに対しては、それぞれのデータフレームの送信元の無線通信装置に対して送達確認フレームを構成するようフレーム構成部24に指示し、送信部22にこれらの送達確認フレームを送信するよう指示する。その後、ステップS35へ進む。
一方、受信部23が、これらのデータフレームに同じデータが存在しないと判断した場合、すなわちそれぞれのデータが相異なる場合(ステップS33:No)、送達確認フレーム制御部26はそれぞれのデータフレームの送信元の無線通信装置に対して送達確認フレームを構成するようフレーム構成部24に指示し、送信部22にこれらの送達確認フレームを送信するよう指示する。その後、ステップS35へ進む。
ステップS35およびステップS36は、図15のステップS25、ステップS26に対応するため、説明を省略する。
なお、図17のフローは無線通信装置20が無線通信装置3Aおよび3Bにトリガーフレームを送信しない場合を説明しているが、トリガーフレームを送信するようにしてもよい。
また、本実施形態では、データ送信側の無線通信装置3Aおよび3Bは、従来と同じような再送制御機能を持つ無線通信装置であるとしていたが、第1の実施形態で説明した無線通信装置10Aであってもよい。無線通信装置10Aにすることで、先に説明した図16のシステムにおいて、特定の場合でも、データ送信側の無線通信装置がデータの再送を行わないとすることが可能である。図16のシステム図については、送信側の無線通信装置が無線通信装置10Aおよび10Bに置き変わっただけなので説明を省略する。なお、この場合において無線通信装置20は、送達確認フレームとしてBlock Ackフレームを用いるとする。
この特定の場合とは、無線通信装置20が図16のデータフレームA1およびデータフレームB1のうち、1つ未受信であるか、受信したが同じデータを含むと判断できなかった場合である。例えば、無線通信装置20はデータフレームA1、A2、B2の受信に成功したが、データフレームB1を未受信であったとする。
この場合、受信部23は、データフレームA1、A2、B2に同じデータはないと判断する。送達確認フレーム制御部26は、フレーム構成部24に無線通信装置10Aおよび10Bに対してBlock Ackフレームを構成するように指示し、送信部22にこのBlock Ackフレームを送信するよう指示する。このBlock Ackフレームには、データフレームA1、A2、B2の受信に成功したという内容が含まれている。フレーム構成部24はこのBlock Ackフレームを構成し、送信部22はこのBlock Ackフレームを送信する。
受信部13Aは、このBlock Ackフレームを受信することができる。再送判断部15AはデータフレームA1、A2の再送を行わない判断をする。
受信部13Bは、このBlock Ackフレームを受信する。再送判断部15Bは、このBlock Ackフレームから、データフレームB1は無線通信装置20に受信されなかったが、同じデータ1を含むデータフレームA1が無線通信装置20に受信されたと認識することで、データ1は無線通信装置20に受信されたと判断する。よって、再送判断部15BはデータフレームB1の再送を行わない判断をする。また、このBlock AckフレームからデータフレームB2についても再送を行わない判断をする。
すなわち、データ送信側の無線通信装置を無線通信装置10Aおよび10Bとすることで、無線通信装置20がデータ送信側の無線通信装置からのデータフレームの一部を受信できないことにより、同じデータがあることを判別できなくても、Block Ackフレームから無線通信装置10Aおよび10Bが判断してデータフレームの再送を防ぐことが可能である。
なお、データ送信側の複数の無線通信装置を、一部は無線通信装置10Aとし、一部以外を従来と同じような再送制御機能を持つ無線通信装置とすることも可能である。例えば、データ送信側の無線通信装置を、無線通信装置10Aと従来と同じような再送制御機能を持つ無線通信装置3Bとすることができる。しかしこの場合のように、無線通信装置20がデータ送信側の無線通信装置からのデータフレームを受信できないことにより、同じデータがあることを判別できなくても、Block Ackフレームから判断して同じデータを含むデータフレームの再送を防ぐことができるのは再送判断部15Aを持つ無線通信装置10Aである。Block Ackフレームから判断して同じデータを含むデータフレームの再送を防ぐことは、従来と同じような再送制御機能しか持たない無線通信装置3Bではできないので、この場合に関してはデータ送信側の無線通信装置は無線通信装置10Aとすると、データ送信側の無線通信装置がデータの再送を行わないとする効果をより発揮することが可能である。
また、本実施形態は、データ送信側の無線通信装置を無線通信装置3Aおよび3Bの2台としているが、3台以上でもよい。データ送信側の無線通信装置が3台以上の場合でも、本実施形態と同様である。
本実施形態と同様に、送信側の複数の無線通信装置が、データフレームを周波数多重で同時送信を行う場合を説明する。無線通信装置20からのトリガーフレームを受信した送信側の複数の無線通信装置は、同じデータが含まれているデータフレームを無線通信装置20へ送信するとルール化されているものとし、無線通信装置20およびこれらの送信側の複数の無線通信装置の間で時刻合わせを済ませているものとする。
データ送信側の複数の無線通信装置がデータ保持装置1から同じデータを含むデータフレームをそれぞれ受信してから、無線通信装置20に対してデータフレームを送信するまでは第1の実施形態に示した動作と同様であるので省略する。
受信部23は、これらデータ送信側の複数の無線通信装置からの多重化されたデータフレームを受信すると、多重化前のデータフレームにそれぞれ分離する。受信部23は、これらのデータフレームに誤りがないかCRCなどを用いて誤りの検出をする。無線通信装置20は、ルールからこれらのデータフレームには同じデータを含むと認識している。受信部23がこれらのデータフレームのうちどれか1つのデータフレームの受信に成功した場合、送達確認フレーム制御部26は、受信に成功したデータフレームの送信元だけでなく、同じデータを含むその他のデータフレームの送信元にもAckフレームを構成するようフレーム構成部24に指示し、送信部22にこれらのAckフレームを送信するよう指示する。フレーム構成部24はこれらのAckフレームを構成し、送信部22はこれらのAckフレームを送信する。すなわち、無線通信装置20は、受信に成功したデータフレームを送信した無線通信装置だけでなく、これらのデータ送信側の複数の無線通信装置すべてにAckフレームを送信する。
データ送信側の無線通信装置の配置のバリエーションについては、第1の実施形態で説明したように様々である。また、第1の実施形態の図11で説明したように、データ送信側の複数の無線通信装置をいくつかのグループに分け、グループ内の無線通信装置は同じデータを含むデータフレームを送信するが、グループごとに異なるデータを含むデータフレームを送信するような無線通信システムとしてもよい。この場合でも、図16、図17で説明したように、無線通信装置20は同じデータかどうかを判別し、同じデータを含むデータフレームの送信元すべてに送達確認フレームを送信するようにしてもよい。
データ送信側の無線通信装置が3台以上であっても、第1の実施形態および本実施形態で説明した構成および動作のバリエーションは同様に実装・実行可能である。
本実施形態によれば、送達確認フレーム制御部26を有する無線通信装置20は、送信側の複数の無線通信装置から送信された同じデータを含むデータフレームを受信する。これらのデータフレームのうち、無線通信装置20が少なくとも1つのデータフレームの受信に成功した場合、受信に成功したデータフレームの送信元だけでなく、同じデータを含むその他のデータフレームの送信元に対しても送達確認フレームを送信する。すなわち、同じデータを送信する複数の無線通信装置すべてに、それぞれのデータフレームの受信に成功したことを伝える。
この送達確認フレームを受信したこれらデータ送信側の複数の無線通信装置は、既に無線通信装置20に受信されたデータと同じデータを含むデータフレームを余計に再送することがなくなる。無線通信のチャネルを必要がないにもかかわらず利用することが減少し、無線通信システム全体において無線通信の信頼性を高めつつ、無線通信チャネルの不要な利用時間を減少させることができる。また、データ送信側の複数の無線通信装置だけでなく無線通信装置20も余計なデータフレームを受信せずに済むようになるため、無線通信システムの省電力化を図ることもできる。
また、無線通信装置20が送達確認フレームとしてAckフレームを複数送信する際、これらのAckフレームの多重化、同時送信を行うと、無線通信チャネルの利用時間がより短くなるため、より低遅延で、省電力化を図りつつ無線通信の信頼性を高めることができる。また、無線通信装置20がAckフレームの代わりにBlock Ackフレームを用いて一度にデータ送信側の無線通信装置に伝えても、同様に無線通信チャネルの利用時間がより短くなるため、無線通信システム全体においてより省電力化を図ることができ、無線通信の信頼性を高めつつ無線通信チャネルの不要な利用時間を減少させることができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規の実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。