JP2022040916A - 通信装置、通信装置の制御方法、およびプログラム - Google Patents

通信装置、通信装置の制御方法、およびプログラム Download PDF

Info

Publication number
JP2022040916A
JP2022040916A JP2020145853A JP2020145853A JP2022040916A JP 2022040916 A JP2022040916 A JP 2022040916A JP 2020145853 A JP2020145853 A JP 2020145853A JP 2020145853 A JP2020145853 A JP 2020145853A JP 2022040916 A JP2022040916 A JP 2022040916A
Authority
JP
Japan
Prior art keywords
communication device
sequence number
data
data unit
sta
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020145853A
Other languages
English (en)
Inventor
佑生 吉川
Yuki Yoshikawa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2020145853A priority Critical patent/JP2022040916A/ja
Priority to KR1020237009656A priority patent/KR20230051708A/ko
Priority to CN202180053534.9A priority patent/CN115997472A/zh
Priority to EP21861280.2A priority patent/EP4207928A1/en
Priority to PCT/JP2021/029811 priority patent/WO2022044852A1/ja
Publication of JP2022040916A publication Critical patent/JP2022040916A/ja
Priority to US18/161,151 priority patent/US20230179334A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1685Details of the supervisory signal the supervisory signal being transmitted in response to a specific request, e.g. to a polling signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1628List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1614Details of the supervisory signal using bitmaps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1825Adaptation of specific ARQ protocol parameters according to transmission conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/22Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/24Connectivity information management, e.g. connectivity discovery or connectivity update
    • H04W40/32Connectivity information management, e.g. connectivity discovery or connectivity update for defining a routing cluster membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/15Setup of multiple wireless link connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/08Access point devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

【課題】マルチAP通信において、データ送信元がデータ送信先におけるデータ受信確認を取得する。【解決手段】IEEE802.11シリーズ規格に準拠した通信装置は、第1の他の通信装置から、データユニット群を含むデータフレームと、該データユニット群のうちの1つ以上のデータユニットに付与されたシーケンス番号の指示とを受信し、該シーケンス番号と、該1つ以上のデータユニットとを含んで構成されるデータフレームを第2の他の通信装置へ送信し、該第2の他の通信装置から、該送信されたデータフレームに対する受信確認を受信し、該受信確認に含まれる、該第2の他の通信装置により受信されたデータユニットのシーケンス番号の情報を該第1の他の通信装置へ送信する。【選択図】図1

Description

本発明は、無線通信技術に関する。
近年の通信されるデータ量の増加に伴い、無線LAN(Local Area Network)等の通信技術の開発が進められている。無線LANの主要な通信規格として、IEEE(Institute of Electrical and Electronics Engineers)802.11規格シリーズが知られている。IEEE802.11規格シリーズには、IEEE802.11a/b/g/n/ac/ax等の規格が含まれる。例えば、IEEE802.11axでは、OFDMA(Orthogonal frequency-division multiple access(直交周波数多元接続))を用いて、最大9.6ギガビット毎秒(Gbps)という高いピークスループットに加え、混雑状況下での通信速度を向上させる技術が規格化されている(特許文献1)。
さらなるスループット向上や周波数利用効率の改善、通信レイテンシ改善を目指した後継規格として、IEEE802.11beと呼ばれるtask groupが発足した。IEEE802.11beにおいて、複数のアクセスポイント(以下、APとする)が協調動作してステーション(以下、STAとする)とデータ通信を行うことで通信レートの向上やビームフォーミングを用いた電波干渉低減などの通信性能向上を可能にする技術が検討されている。
他の例として、協調ビームフォーミングと呼ばれる技術が挙げられる。この技術では、APがBSS(Basic Service Set)中にあるSTAにデータ送信する際に、当該STA方向のアンテナゲインが大きく、かつ他APのBSS中にあるSTA方向のアンテナゲインが低くなるアンテナパターンを用いる。複数のAP間で、STAの位置など環境情報に基づいてアンテナパターンの設定、スケジューリングを行うことで、BSS間干渉を低減することができる。
このような複数のAPが協調動作する通信技術はマルチAP(Multi-AP)通信と呼ばれ、該複数のAPは、全てのAPを管理する1台のマスターAPと、マスターAPの管理下で動作するスレーブAPとに分類される。
マルチAP通信における、データ送信元のAPからSTAへデータを送信する手順の一つとして、送信元のAPと異なる中継APが送信元のAPからデータを受信し、STAにデータを転送することも考えられる。ここで、送信元のAPをTransmitter AP、データを中継してSTAに転送するAPをRelay AP、データの宛先であるSTAをReceiver STAと呼ぶことにする。
また、IEEE802.11beにおいて、1台のAPが異なる複数の周波数チャネルを介して1台のSTAと複数のリンクを確立し、通信する技術(マルチリンク通信)が検討されている。
特開2018-50133号公報
マルチAP通信において、Transmitter APがRelay APを介してReceiver STAとデータ通信を行う際に、Transmitter APとRelay AP間およびRelay APとReceiver STA間では、データの送信後、受信確認(確認応答(Ack)の送信)を行う。受信確認には、主に、IEEE802.11で定義されるBlock Ack(BA)が主に使用されうる。このとき、Transmitter APは、Relay APがデータを受信できたことをBAで確認することができる。しかし、Receiver STAがデータ受信したことを確認するBAはRelay APで止まってしまう。よって、Transmitter APは、Receiver STAにどのデータユニットを送信することができたのかを知ることができない。また、データの送信元がSTA(Transmitter STA)で、Relay APを介したデータの宛先がAP(Relay AP)の場合も、同様の問題が生じうる。
上記課題を鑑み、本発明は、マルチAP通信において、データ送信元がデータ送信先におけるデータ受信確認を取得することを目的とする。
上記目的を達成するための一手段として、本発明の通信装置は、以下の構成を有する。すなわち、IEEE802.11シリーズ規格に準拠した通信装置であって、第1の他の通信装置から、データユニット群を含むデータフレームと、前記データユニット群のうちの1つ以上のデータユニットに付与されたシーケンス番号の指示とを受信する第1の受信手段と、前記シーケンス番号と、前記1つ以上のデータユニットとを含んで構成されるデータフレームを前記第2の他の通信装置へ送信する第1の送信手段と、前記第2の他の通信装置から、前記第1の送信手段により送信された前記データフレームに対する受信確認を受信する第2の受信手段と、前記受信確認に含まれる、前記第2の他の通信装置により受信されたデータユニットのシーケンス番号の情報を前記第1の他の通信装置へ送信する第2の送信手段と、を有する。
本発明によれば、マルチAP通信において、データ送信元がデータ送信先におけるデータ受信確認を取得することが可能となる。
ネットワークの構成例を示す図である。 通信装置のハードウェア構成例を示す図である。 通信装置の機能構成例を示す図である。 実施例1において、AP101からAP102とAP103を介してSTA104にデータを送信する際の全体のデータ送受信処理の流れを示すシーケンス図である。 実施例1において、AP102とAP103が、AP101AからJointを受信した際に実行される処理を示すフローチャートである。 実施例1において、AP102とAP103がSTA104にデータ送信するときの処理を示すフローチャートである。 AP101が、AP102とAP103にデータ送信時のシーケンス番号を指示するときに使用するフレームの例である。 AP101/AP102/AP103が送信するデータフレームの例である。 AP102/AP103/STA104が送信するBAフレームの例である。 実施例2において、AP101からAP102とAP103を介してSTA104にデータを送信する際の全体のデータ送受信処理の流れを示すシーケンス図である。 実施例2において、AP102とAP103がSTA104にデータ送信するときの処理を示すフローチャートである。 実施例3において、STA104からAP102とAP103を介してAP101にデータを送信する際の全体のデータ送受信処理の流れを示すシーケンス図である。 実施例3において、AP102とAP103がAP101にデータ送信するときの処理を示すフローチャートである。
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
(無線通信システムの構成)
図1は、無線通信システムの構成例を示す図である。図1に示す無線通信システム10は、STA(ステーション/端末装置)104と、AP(アクセスポイント)101~103から構成される。STA104は、ネットワーク110とネットワーク111に参加する役割を有する通信装置である。AP101は、無線ネットワーク109を構築する役割を有する通信装置であり、AP102は、無線ネットワーク110を構築する役割を有する通信装置であり、AP103は、無線ネットワーク111を構築する役割を有する通信装置である。AP101は、Transmitter AP(データ送信元のAP)として機能し、AP102~103と通信可能である。AP102とAP103は、Relay AP(データ送信を中継するAP))として機能し、それぞれAP101とSTA104と通信可能である。STA104はReceiver STA(データの送信先のSTA)として機能する。
AP101~103とSTA104の各々は、IEEE(Institute of Electrical and Electronics Engineers)802.11be(EHT)規格に準拠した無線通信を実行することができる。AP101~103とSTA104は、2.4Hz帯、5GHz帯、および6GHz帯の周波数において通信することができる。各通信装置が使用する周波数帯は、これに限定されるものではなく、例えば60GHz帯のように、異なる周波数帯を使用してもよい。また、AP101~103とSTA104は、20MHz、40MHz、80MHz、160MHz、および320MHzの帯域幅を使用して通信することができる。各通信装置が使用する帯域幅は、これに限定されるものではなく、例えば240MHzや4MHzのように、異なる帯域幅を使用してもよい。
AP101~103の各々は、IEEE802.11be規格に準拠したOFDMA(直交周波数多元接続)通信を実行することで、複数のユーザの信号を多重する、マルチユーザ(MU、Multi User)通信を実現することができる。OFDMA通信では、分割された周波数帯域の一部(RU、Resource Unit)が各STAにそれぞれ重ならないように割り当てられ、各STAの搬送波が直交する。そのため、APは規定された帯域幅の中で複数のSTAと並行して通信することができる。
なお、AP101~103とSTA104は、IEEE802.11be規格に対応するとしたが、これに加えて、IEEE802.11be規格より前の規格であるレガシー規格に対応していてもよい。具体的には、AP101~103とSTA104は、IEEE802.11a/b/g/n/ac/ax規格の少なくともいずれか一つに対応していてもよい。また、AP101~103とSTA104は、IEEE802.11シリーズ規格に加えて、Bluetooth(登録商標)、NFC、UWB、ZigBee、MBOAなどの他の通信規格に対応していてもよい。なお、NFCはNear Field Communicationの略である。また、UWBはUltra Wide Bandの略であり、MBOAはMulti Band OFDM Allianceの略である。また、UWBには、ワイヤレスUSB、ワイヤレス1394、WiNETなどが含まれる。また、AP101~103とSTA104は、有線LANなどの有線通信の通信規格に対応していてもよい。
AP101~103の具体例としては、無線LANルーターやパーソナルコンピュータ(PC)などが挙げられるが、これらに限定されない。またAP101~103は、IEEE802.11be規格に準拠した無線通信を実行することができる無線チップなどの情報処理装置であってもよい。また、STA104の具体的な例としては、カメラ、タブレット、スマートフォン、PC、携帯電話、ビデオカメラ、ヘッドセットなどが挙げられるが、これらに限定されない。また、STA104は、IEEE802.11be規格に準拠した無線通信を実行することができる無線チップなどの情報処理装置であってもよい。
本実施形態では、AP101~103が各1台で複数のネットワークを構築する場合、各ネットワークのBSSIDは全て異なるとする。なお、BSSIDはBasic Service Set Identifierの略で、ネットワークを識別するための識別子である。また、AP101~103が各ネットワークにおいて示すSSIDはすべて共通であるとする。なお、SSIDはService Set Identifierの略で、アクセスポイントを識別するための識別子である。本実施形態ではAP101~103は複数の接続を確立した場合であっても、共通で1つのSSIDを用いるものとする。
上述のように、AP101~103とSTA104は、20MHz、40MHz、80MHz、160MHz、および320MHzの帯域幅を使用して通信することができる。IEEE802.11シリーズ規格では、各周波数チャネルの帯域幅は20MHzとして定義され、隣接する周波数チャネルとボンディングすることで、1つの周波数チャネルにおいて40MHz以上の帯域幅を利用してもよい。例えば、AP102は、STA104と2.4GHz帯の第1の周波数チャネルを介したリンク107を確立し、通信することができる。STA104はこれと並行して、AP103と5GHz帯の第2の周波数チャネルを介したリンク108を確立し、通信することができる。この場合に、STA104は、第1の周波数チャネルを介したリンク107と並行して、第2の周波数チャネルを介した第2のリンク108を維持する。またバックグラウンドにおいて、AP101とAP102は6GHz帯の第3の周波数チャネルを介したリンク105、AP101とAP103は同じく6GHz帯の代の周波数チャネルを介したリンク106を確立し、通信している。このような構成から、AP101は、AP102とAP103を通して、STA104とデータ通信可能となっている。このように、STA104は、複数の周波数チャネルを介したリンクをAP102とAP103と確立することにより、AP101との通信におけるスループットを向上させることができる。
本実施形態では、一例として、リンク105を6GHz帯の39chで320MHzの接続とし、リンク106を6GHz帯の113chで320MHzの接続とする。またリンク107を2.4GHzの6chで20MHzの接続とし、リンク108を5GHzの36chで80MHzの接続とする。
なお、各通信装置間で複数のリンク(マルチリンク)が確立されるように構成されてもよい。マルチリンク通信を行う場合、AP102とSTA104とは、1つのデータを分割して複数のリンクを介して通信しうる。マルチリンク構成としては、例えば、AP102とSTA104とは2.4GHz帯におけるリンク107に加えて、6GHz帯における第2のリンクを確立するようにしてもよい。あるいは、同じ周波数帯に含まれる複数の異なるチャネルを介して複数のリンクを確立するようにしてもよい。例えば、2.4GHz帯における6chのリンクを第1のリンクとして、これに加えて2.4GHz帯における1chのリンクを第2のリンクとして確立するようにしてもよい。なお、周波数帯が同じリンクと、異なるリンクとが混在していてもよい。例えば、AP102とSTA104で2.4GHz帯における6chのリンク107に加えて、2.4GHz帯の1chのリンクと、5GHz帯における149chのリンクを確立してもよい。AP102はSTA104と周波数の異なる複数の接続を確立することで、ある帯域が混雑している場合であっても、STA104と他方の帯域で通信を確立することができるため、STA104との通信におけるスループットの低下を防ぐことができる。
なお、図1の無線通信システム10は、3台のAPと1台のSTAによって構成されているが、APおよびSTAの台数や配置はこれに限定されない。例えば、無線通信システム10に、AP101とSTA104に接続するRelay APを1台増やしてもよい。この場合、AP101にRelay APを追加で1台接続させ、STA104とも接続させることができる。このとき確立する各リンクの周波数帯やリンクの数、周波数幅は問わない。このように、Relay APを追加することで、AP101との通信において混雑している周波数を用いている場合や、STA104が移動することで物理的な距離が大きくなった場合でも、追加したRelay APを通すことで通信を継続することができる。結果としてAP101とSTA104とのRelay APを通した通信におけるスループットの低下を防ぐことができる。
別の例として、AP101とAP102は同じAPであってもよい。この場合、リンク105は存在せず、AP101とAP103の間にリンク106を確立し、AP101とSTA104の間にリンク107、AP103とSTA104の間にリンク108をそれぞれ確立する。AP101はリンク107の通信に加え、リンク106とリンク108を通した通信をSTA104と確立することで、リンク107のみの通信に比べて単位時間の通信量を増やすことができる。結果として、高いスループットを実現できる。もしくは、リンク107での通信が混雑している場合であっても、リンク106やリンク108を通した通信が可能となるため、低遅延での通信が可能となる。
あるいは別の例として、AP間のバックグラウンドでの通信を有線で行っていてもよい。この場合、無線通信環境がリッチでなくても、複数のAPで協働することで単位時間当たりの通信量を増やすことができ、高いスループットを実現することができるようになる。もしくは、通信しやすい無線リソースを瞬時に使用することができるため、低遅延での通信が可能となる。
このほかに、無線通信システム10においてSTAを複数配置してもよい。例えば、Receiver STA104の他にSTAを用意して、AP103と追加したSTAの間にリンクを確立してもよい。この場合、リンク108はなくてもよい。これにより、AP101がAP102とAP103の各々に対して、使用する周波数帯やそのタイミングを指示することができるようになる。この結果、AP102とAP103の間で生じうる電波干渉を抑えることができ、AP102/AP103とSTAの間で滞りなく通信可能となる。あるいは、STA104を、AP102と専用にリンクを確立するSTA、AP103と専用にリンクするSTA、受信したデータをまとめるSTAと分けてもよい。これにより、各STAのSTAとして通信する機能が限られていても、前述した理由と同様の効果が得られるため、システム全体としては高いスループットもしくは低遅延での通信が可能となる。
また、AP101~103とSTA104はMIMO(Multiple-Input And Multiple-Output)通信を実行できてもよい。この場合、各通信装置は複数のアンテナを有し、一方がそれぞれのアンテナから異なる信号を同じ周波数チャネルを用いて送る。受信側は、複数のアンテナを用いて複数ストリームから到達したすべての信号を同時に受信し、各ストリームの信号を分離し、復号する。このように、MIMO通信を実行することで、各通信装置は、MIMO通信を実行しない場合と比べて、同じ時間でより多くのデータを通信することができる。また、各通信装置は、マルチリンク通信を行う場合に、一部のリンクにおいてMIMO通信を実行してもよい。
(通信装置(APおよびSTA)の構成)
図2に、本実施形態におけるAP102のハードウェア構成例を示す。なお、AP101、AP103も同様の構成である。AP102は、記憶部201、制御部202、機能部203、入力部204、出力部205、通信部206およびアンテナ207を有する。
記憶部201は、ROMやRAM等の1以上のメモリにより構成され、後述する各種動作を行うためのコンピュータプログラムや、無線通信のための通信パラメータ等の各種情報を記憶する。ROMはRead Only Memoryの、RAMはRandom Access Memoryの夫々略である。なお、記憶部201として、ROM、RAM等のメモリの他に、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ、不揮発性のメモリカード、DVDなどの記憶媒体を用いてもよい。また、記憶部201が複数のメモリ等を備えていてもよい。
制御部202は、例えば、例えばCPUやMPU等の1以上のプロセッサにより構成され、記憶部201に記憶されたコンピュータプログラムを実行することにより、AP102の全体を制御する。なお、制御部202は、記憶部201に記憶されたコンピュータプログラムとOS(Operating System)との協働により、AP102の全体を制御するようにしてもよい。また、制御部202は、他の通信装置との通信において送信するデータや信号(無線フレーム)を生成する。なお、CPUはCentral Processing Unitの、MPUは、Micro Processing Unitの略である。また、制御部202がマルチコア等の複数のプロセッサを備え、複数のプロセッサによりAP102全体を制御するようにしてもよい。
また、制御部202は、機能部203を制御して、無線通信や、撮像、印刷、投影等の所定の処理を実行する。機能部203は、AP102が所定の処理を実行するためのハードウェアである。
入力部204は、ユーザからの各種操作の受付を行う。出力部205は、モニタ画面やスピーカーを介して、ユーザに対して各種出力を行う。ここで、出力部205による出力とは、モニタ画面上への表示や、スピーカーによる音声出力、振動出力などであってもよい。なお、タッチパネルのように入力部204と出力部205の両方を1つのモジュールで実現するようにしてもよい。また、入力部204および出力部205は、夫々AP102と一体であってもよいし、別体であってもよい。
通信部206は、IEEE802.11be規格に準拠した無線通信の制御を行う。また、通信部206は、IEEE802.11be規格に加えて、他のIEEE802.11シリーズ規格に準拠した無線通信の制御や、有線LAN等の有線通信の制御を行ってもよい。通信部206は、アンテナ207を制御して、制御部202によって生成された無線通信のための信号の送受信を行う。
なお、AP102が、IEEE802.11be規格に加えて、NFC規格やBluetooth規格等に対応している場合、これらの通信規格に準拠した無線通信の制御を行ってもよい。また、AP102が複数の通信規格に準拠した無線通信を実行できる場合、夫々の通信規格に対応した通信部とアンテナを個別に有する構成であってもよい。AP102は通信部206を介して、画像データや文書データ、映像データ等のデータをSTA104と通信する。なお、アンテナ207は、通信部206と別体として構成されていてもよいし、通信部206と合わせて一つのモジュールとして構成されていてもよい。
アンテナ207は、2.4GHz帯、5GHz帯、および6GHz帯における通信が可能なアンテナである。本実施形態では、AP102は1つのアンテナを有するとしたが、複数のアンテナでもよい。または周波数帯ごとに異なるアンテナを有していてもよい。また、AP102は、アンテナを複数有している場合、各アンテナに対応した通信部206を有していてもよい。また、アンテナ207はMIMO通信が可能なように構成されてもよい。
STA104は、図2と同様の構成を有する。但し、通信相手は、AP101~103の少なくともいずれかとなりうる。
図3に、本実施形態におけるAP102機能構成例を示す。なお、AP101、AP103,STA104も同様の構成である。AP102は、通信制御部301、フレーム生成部302、Ack制御部303、フレーム解析部304、番号管理部305、UI制御部306を有する。
通信制御部301は、有線または無線により、通信部206(図2)を介した通信制御を行う。例えば、通信制御部301は、IEEE802.11規格シリーズに従って、フレーム生成部302で生成されたフレームを元に無線LANの通信制御を実行する。なお、通信制御部301の数は1つに限らず、2つでもよいし、3つ以上でも構わない。
フレーム生成部302は、通信制御部301で送信するべき各種制御フレームやデータフレームを生成する。データフレームは、データユニット(群)と、所定のメタ情報等により生成されうる。フレーム生成部302で生成するフレームに格納される内容は、記憶部201(図2)に保存されている設定によって制約を課してもよい。また、該内容は、UI制御部306を介したユーザ設定によって変更してもよい。生成されたフレームの情報は通信制御部301を介して、通信相手に送信される。
Ack制御部303は、通信相手との間で使用するAck(確認応答)に関する通信手法の制御・確認を行う。Ack制御部303は、例えば、複数のフレームに対してまとめてAckを返信するBAや、BAに対する要求(BA Request(BAR))を使用するかについて、制御・確認を行う。例えば、Ack制御部303は、Ack/BAを使用するかは、送信または受信するデータフレームにおけるAck Policyサブフィールド(図8のAck Policyサブフィールド812)の値により、確認することができる。
フレーム解析部304は、通信制御部301により受信されたフレームを解析する。また、フレーム解析部304は、解析により必要な情報を取得し、必要に応じて記憶部201に記憶する。例えば、フレーム解析部304は、通信制御部301により受信されたデータフレームに含まれるデータユニット群等の情報を記憶部201に記憶する。また、フレーム解析部304は、通信制御部301によりデータフレーム送信後に受信確認のフレームが受信された場合、当該受信確認を解析し、通信相手にどのデータユニットが届いたか(どのデータユニットが通信相手に受信されたか)を検出する。通信相手に届いていないデータユニットがあることが検出されると、フレーム解析部304は、記憶部201に記憶されている、送信済みのデータユニット群から該当するデータユニットを選択する。そして、フレーム解析部304は、該選択したデータユニットと、データフレーム生成に必要なメタデータ情報とともに、フレーム生成部302に送る。また、フレーム解析部304は、通信制御部301により、データ転送のトリガーとなる情報が受信された場合に、記憶部201に記憶されているデータユニット(群)を取り出し、データフレーム生成に必要なメタデータ情報とともに、フレーム生成部302に送る。
番号管理部305は、受信されたデータユニットに対して、当該受信されたデータユニットに付与されているシーケンス番号(第1の種類のシーケンス番号)とは異なりうる独自のシーケンス番号(第2の種類のシーケンス番号)を生成して付与する。また、番号管理部305は、当該第1の種類のシーケンス番号と当該第2の種類のシーケンス番号との対応関係を記憶部201に記憶して、管理する。なお、Relay AP以外の通信装置は、番号管理部305を有さなくてもよい。
UI制御部306は、入力部204(図2)を介してユーザにより入力された情報の制御や、出力部205(図2)を介した情報出力制御を行う。
以上に説明した無線通信システムの構成、および、APおよびSTAの構成を前提に、以下、いくつかの実施例について説明する。
<実施例1>
本実施例において、AP101は、Transmitter APとして機能する。AP102とAP103は、Relay APとして機能し、AP101からの指示によってSTA104と通信する。本実施例では、AP101からAP102/AP103を介してSTA104へデータを送信する場合について述べる。
図4に、本実施例におけるAP101がAP102/AP103を介してSTA104にデータを送信する際の全体のデータ送受信処理の流れを示すシーケンス図を示す。本処理は、AP101からSTA104に送信するデータがある場合に開始する。なお、本処理は、AP101とAP102/AP103との接続、並びに、AP102/AP103とSTA104との接続時に開始され、データ送信の際はF403から開始されるようにしてもよい。
AP101はまず、近傍のAPにSTA104へのマルチAPでの(AP同士で連携した)データ送信であるJointの協力依頼として、Jointへの参加要求(以降、Joint参加要求と称す)を送信する(F401)。この要求には、同じSSIDを持つ近傍のAPが受信した場合に、返答を返す意味を持つ識別子を含めてもよい。AP102とAP103がJoint参加要求を受信した際の処理については、図5を用いて後述する。図4の例では、AP102とAP103は、Jointに参加することを決め、データ送信の協力を実施する意味を込めてStatus CodeをSuccessとした返答を送信する(F402)。
AP101は、近傍のAP(すなわち、AP102とAP103)からSuccessの返答を受信すると(F402)、これに基づき近傍のAPで連携してデータ送信するためのグループを形成する。近傍のAPからの返答には、Status CodeのSuccessの他に各種情報が含まれてもよい。例えば、当該返答には、使用可能なチャネル、マルチリンク通信対応可否、BSSIDの情報や、各スレーブAP(すなわち、AP102とAP103)が受信したAP101の電波強度(RSSI)、雑音比(SNR)、IPアドレス、MACアドレス、HT、VHT、HE、EHT capabilityの値、送受信データの伝送速度、許容できる最大パケットサイズ、接続可能なSTAの最大数、接続中のSTAの数、接続中のSTAもしくはAPが対応可能なセキュリティ規格の種類、接続中のSTAが使用するチャネル、Min-Maxを含めたデータ送受信速度などの情報が含まれていてもよい。
また、この時にTransmitter AP(本例では、AP101)は、Relay APを識別するためのIDを発行する。このIDは、接続中のSTAに割り当てるAID(association ID)と同等のものとして扱う。例えば、AP102とAP103がRelay APとして機能する場合には、AP102にAID=2、AP103にAID=3を割り当てる。なお、APを識別するIDの割り振り方や割り当てるタイミングはこの限りではない。例えば、AIDとは別にマルチAP用のAP IDを割り当ててもよい。この場合、AP102とAP103に割り当てるAP IDはそれぞれ1と2となる。AP IDを別途割り振る場合は、AP IDの値の範囲を1~2007とする。また例えば、Transmitter APは、各APのIDを通知する専用のフレームを作成し、Relay APに送信してもよい。
なお、Transmitter APは、グループの形成とIDの割り当ては別のタイミングで行っていてもよい。また、グループの形成とIDの割り当てを行うAPはTransmitter APに限らず、図1におけるRelay AP(AP102とAP103)であってもよい。グループの形成とIDの割り当てをデータ送信の前に行っておくことで、本例におけるTransmitter APであるAP101がSTA104にデータを送信するトリガーが走ってから実際にデータを送信するまでのタイムラグが小さくて済む。
ここで、図5を参照して、AP102/AP103が、AP101からJoint参加要求を受信した際に実行する処理について説明する。図5は、AP102/AP103が、AP101からJoint参加要求を受信した際に実行される処理を示すフローチャートである。図5に示すフローチャートは、AP102/AP103の制御部202が記憶部201に記憶されている制御プログラムを実行し、情報の演算および加工並びに各ハードウェアの制御を実行することにより実現されうる。
まず、AP102/AP103の通信制御部301は、Transmitter APであるAP101から、マルチAPでのSTA104へのデータ送信(Joint)の協力依頼である、Joint参加要求を受信する(S501、F401)。この時受信したJoint参加要求には、参加条件を示す参加ポリシが含まれうる。参加ポリシには、データ転送先のSTAのMAC Address、連携送信の方式を指定する送信ポリシ、転送するデータの総量、データ転送するタイミング、データ転送する際に使用する周波数帯域やサブ周波数といった情報が含まれうる。AP102/AP103のフレーム解析部304は、当該参加ポリシを確認する(S502)。確認した結果、マルチAPでのデータ送信に参加することを決めた場合は、AP102/AP103の通信制御部301は、Status CodeをSuccessとした返答を、Transmitter APであるAP101に返信する(S505、F402)。これにより、(S505、F402)は、Jointに参加することを表明する。Jointに参加できない場合は、AP102/AP103の通信制御部301は、Status CodeをFailureとした返答を、AP101に返信し、不参加とすることを表明する(S504)。AP102/AP103は、Successの返答を送った場合は、データ転送処理に入る(S506)。S506の処理については、図6を用いて後述する。
図4の説明に戻り、AP101は、AP102とAP103を介してSTA104にデータを送信することを確認後、AP102とAP103に対して、どのデータを転送してほしいかの指示(Sequence indication)を送信する(F403)。具体的には、AP101は、転送するデータユニットのフレームに付与するシーケンス番号を指示する。なお、データユニットとはMSDU(MAC Service Data Unit)もしくはA-MSDU(Aggregation-MSDU)でありうる。また、シーケンス番号はMSDU、A-MSDUごとに付与される連続した番号でありうる。
図7に、AP101が、AP102とAP103にデータ送信時のシーケンス番号を指示するときに使用するフレームの例を示す。ここで示すフィールド/サブフィールドは、IEEE802.11axに規定されたフォーマットに準ずる。すなわち、先頭からFrame Controlフィールド701、Durationフィールド702、A1フィールド703、HT Controlフィールド705、Frame Bodyフィールド706、FCSフィールド707を含む。
Frame Controlフィールド701は、フレームの種類を規定するサブフィールドである、Typeサブフィールド708およびSubtypeサブフィールド709を含む。これらの値がそれぞれ0、13の時、フレームはAction Frameであることを示す。フレームがAction Frameのとき、Frame Bodyフィールド706は、Categoryサブフィールド710およびAction Detailsサブフィールド711を含む。例えば、Categoryサブフィールド710の値を33とした時、フレームはマルチAPに関するAction Frame(Multi-AP Action Frame)であることを示す。なお、これはEHT Action Frameであることを示すものであるとしてもよい。
Action FrameのCategoryサブフィールド710がMulti-AP Action Frameであることを示す場合、Action Detailsサブフィールド711は、Multi-AP Actionサブフィールド712を含む。Multi-AP Actionサブフィールド712の値が0の時、Multi-AP Action FrameはSequence Number Indication(すなわち、シーケンス番号の指示)であることを示す。Action FrameがSequence Number Indicationである場合、その後ろにはStarting Sequence Controlサブフィールド713、Cascadedサブフィールド714と続く。Starting Sequence Controlサブフィールド713は、Relay APが転送するデータユニットでフレームを生成するときに最初に付与するシーケンス番号を示す。Starting Sequence Controlサブフィールド713は、Flagment Numberサブフィールド716、およびStarting Sequence Numberサブフィールド717を含む。Flagment Numberサブフィールド716はなくてもよい。値は0を入力する。Startgin Sequence Numberサブフィールド717には、Relay APが転送するデータユニットでフレームを生成するときに付与する最初のシーケンス番号を付与する。例えば、AP102がSTA104にシーケンス番号30のデータユニットから送信してほしい時にはシーケンス番号30を付与する。
Cascadedサブフィールド714は、転送するデータユニットのシーケンス番号が穴抜けになるときに用いられる。Cascadedサブフィールド714の値が1の時、後ろにはさらにEnding Sequence Controlサブフィールド715、Starting Sequence Controlサブフィールド713、Cascadedサブフィールド714が続く。Ending Sequence Controlサブフィールド715は、Flagment Numberサブフィールド718およびEnding Sequence Numberサブフィールド719を含む。Flagment Numberサブフィールド718はなくてもよい。Ending Sequence Numberサブフィールド719には、転送するデータユニットに付与するシーケンス番号のうち、穴抜けになる直前のシーケンス番号が入る。なお、穴抜けになる直後のシーケンス番号でもよい。次に付与するStarting Sequence Controlサブフィールド713のStarting Sequence Numberサブフィールド717にて再度付与するシーケンス番号を指定する。つまり、Ending Sequence Controlサブフィールド715が含むEnding Sequence Numberサブフィールド719からStarting Sequence Controlサブフィールド713#2の含むStarting Sequence Numberサブフィールド717までのシーケンス番号が穴抜けの部分となる。なお、Cascadedサブフィールド714の値が0の場合、後ろにサブフィールドは続かない。このようにして、AP101はAP102/AP103がデータユニットを転送するときのフレームに付与するシーケンス番号を指定することができるようになる。なお、Cascadedサブフィールド714はなくてもよい。この示し方の場合、より少ない情報でRelay APに転送するときに使用するフレームのシーケンス番号を指定することができるようになる。
なお、ここで示したシーケンス番号の指定方法は一例であり、別の方法で示してもよい。Starting Sequence Controlサブフィールド713の前にCascadedサブフィールド714が入ってもよい。この場合、Cascadedサブフィールド714、Starting Sequence Controlサブフィールド713、Ending Sequence Controlサブフィールド715を一組のセットとしてもよい。もしくはStarting Sequence Controlサブフィールド713およびEnding Sequence Controlサブフィールド715の組の数を示すSizeサブフィールドを用意してもよい。これによりフィールドを解析する側が先にサイズを把握してから内容の把握ができるようになる。また、Multi-AP Actionサブフィールド712の後ろにSequence Number Indicationの種類を示すサブフィールドが入ってもよい。この値が0であるときNormal Sequence Number Indicationとして前述したサブフィールド713~715が続くことになる。この値が1のときは例えば、Multi-TID Sequence Number Indicationとして複数のTIDに対応したシーケンス番号を示すことができる。そのために、前述したサブフィールド713~715に加えてPer-TID Infoサブフィールドを加える。このサブフィールドにTIDの値を加えることで、TIDごとのStarting Sequence Controlを指定する。この時、Per-TID InfoサブフィールドとStarting Sequence Controlサブフィールドを1つの組とする。複数のTIDを示すためにはStarting Sequence Controlサブフィールドの後ろにTIDの数だけPer-TID InfoサブフィールドとStarting Sequence Controlサブフィールドが続くことになる。なお、シーケンス番号を指示する方法として、専用のフレームでなく、例えばBARの一部やデータフレームの一部に情報を入れる方法を用いてもよい。例えば、データフレームのフレームボディの最初(の部分)を使い、または、BARのBA Typeに新たなTypeを定義し、その時に、図7で示したサブフィールド712~719の情報、あるいは該情報に類似の情報を入れるようにしてもよい。
シーケンス番号を指定した後、AP101は、AP102/AP103に対して、STA104に転送するデータユニット群をデータフレームに入れて送信する(F404)。なお、F403とF404の順は逆であってもよい。データフレーム送信後に続けるBA Request(BAR)やBAが必要かどうかは、次の3つの要件で決まる。一つ目の要件は、複数のフレームに対してまとめてAckを返信するBAを通信で使用することを決めるADDBAの手続きが、すでにAP101とAP102/AP103との間で行われていたかどうかである。この手続きがない場合はAckを1フレームごとに返信することになる。また、この手続きがある場合でも、ADDBAの対象のTIDにない場合も同様である。二つ目の要件は、ADDBAの手続き中に送受信するADDBA Request、ADDBA Responseで指定するBlock Ack PolicyがImmediateであるかどうかである。Immediateでない場合、BARに対して一度Ackを返し、その後改めてBAを返す。三つ目の要件は、データフレームに含まれるQoS Controlフィールドに付与するAck Policyの値がImplicitを示すか否かである。なお、Implicitを示す場合、BARなしにBAを送信できるようになる。また、本実施例においては、一連の処理の流れにおいて、BARはなくてもよい。
図8に、AP101が送信するデータフレームの例を示す。AP102/AP103が送信するデータフレーム(F408)も同様の構成を有する。ここで示すフィールド/サブフィールドはIEEE802.11axに規定されたフォーマットに準ずる。すなわち、先頭からFrame Controlフィールド801、Durationフィールド802、A1フィールド803、A2フィールド804、A3フィールド805、Sequence Controlフィールド806、A4フィールド807、QoS Controlフィールド808、HT Controlフィールド809、Frame Bodyフィールド810、FCSフィールド811を含む。Sequence Controlフィールド806には、データフレームに含まれるデータユニット(群)に付与されたシーケンス番号が付与される(含まれる)。Sequence Controlフィールド806は、Seqnence NumberサブフィールドとFlagment Numberサブフィールドが含まれうる。また、Frame Bodyフィールド810(ペイロード部)には、データユニット群が付与される(含まれる)。
QoS Controlフィールド808は、Ack Policyサブフィールド812を含む。Ack Policyサブフィールド812の値によって、BAR、BAの送信方法が異なる。Ack Policyの値がImplicit(0)である場合、BARがないままBAを返信する。Ack Policyの値がNo Ack(1)もしくはNo explicit Ack(2)を示すとき、BAを含めAckを返信しない。Block Ack(3)を示すときにBARとBAを使用する。本実施形態ではAck Policy サブフィールド812にBlock Ackを示すものとする。すなわち、値は3となる。
図4の説明に戻り、AP101は、データフレームを送信したときの条件に従い、BAの返信を促すBARを送信する(F405)。これに対してAP102/AP103は、BAを返信する(F406)。なお、BARとBAの送受信は前述の条件に従うものとする。ここで使用するBARとBAは、AP101から、AP102/AP103にデータが送信できたことを示す。なお、別の例として、AP101とAP102/AP103の間でのADDBA Request、ADDBA Responseの手続きで、Block Ack Policyの値を0としてImmediateでないことを示しておき、AP101からのBARに対してはAckのみ返信してもよい。この場合、AP102とAP103は、STA104にデータが送信できた受信確認をそのままAP101に返信してもよい。これにより、AP101はAP102/AP103にデータを送信した受信確認として、STA104へのデータ送信の結果のみを得ることができるようになる。結果として、より少ないデータ量で最終目的の宛先にデータが届いたか否かを確認することができるようになる。
AP101は、転送するデータがRelay APであるAP102とAP103に送り終わったら、データ転送のタイミングを指示するトリガーフレームを、AP102とAP103に送信する(F407)。なお、F407でデータ転送のタイミングを指示するフレームは、トリガーフレームでなくてよく、データ転送のトリガーとなる挙動であれば、AP101からのフレームの受信に限らない。例えば、STA104からのトリガーフレームの受信でもよい。この手法の場合、STA104がデータを受信できるタイミングで、AP102/AP103はデータを転送することができ、データロスを減らすことができる。また、AP101のビーコンが出すTimestampに載っている時間の下4桁が0になるタイミングでもよい。この手法では、AP101は別途トリガーフレームを出さなくてもデータ転送のタイミングを指示することができるようになる。また、データ転送のタイミングは、STA104が接続したタイミングでもよい。この手法では、STA104が複数のAPの電波受信地域をまたがって移動しているときに、AP102/AP103は、STA104が近接したタイミングでデータを送信することができるようになる。よって、STA104のユーザにとってはより素早くほしいデータを得る動作が実現できる。図4の例では、AP102/AP103は、AP101からトリガーフレームを受信すると、あらかじめAP101から受信したデータユニット群とシーケンス番号からフレームを作成し、STA104にデータフレームを送信する(F408)。他に、トリガーフレームがない場合、AP102/AP103は、各々が送信できるタイミングでSTA104にデータフレームを送信してもよい。
F408で送信するデータフレームも、前述の図8に示したフレームを使用することができる。前述のものと重複する部分については説明を省略する。Sequence Controlフィールド806には、F403で指示されたシーケンス番号から始まり、連番で続くシーケンス番号が付与される。正確には、Seqnence Controlフィールド806のSeqnence Numberサブフィールドにシーケンス番号が付与される。途中でデータが途切れる場合はFlagment Numberサブフィールドの値も用いて表現されうる。また、Frame Bodyフィールド810(ペイロード部)には、AP101から受信したデータユニット群のうちの少なくとも一部が付与される(含まれる)。
QoS Controlフィールド808には、Ack Policyサブフィールドが含まれており、STAからのAckを必要とするかを決める値を入力できる。各値の意味は前述のとおりのため省略する。本実施例では値を3(Block Ack)とする。
データフレームを送信したときの条件に従い、AP102/AP103はBAの返信を促すBARを送信する(F409)。STA104は、BARを受けたことに従い、BAを返信する(F410)。なお、このときのAckの返信方法は別の方法でもよい。例えば、BAでなく、1つのフレームに1つのAckを返信するものとしてもよい。また、BARを必要とせず、Ack Policy サブフィールドの値をImplicitである0として、BAのみ返信するものとしてもよい。また、BARに対してSTA104がAckをいったん返信し、改めてBAを送信するものとしてもよい。また、この時返信するBAは、各APから受信したフレームに付与されたシーケンス番号を基にして、ビットマップ形式で返信される。
F410で使用されるBA(BAフレーム)の例を図9に示す。ここで示すフィールド/サブフィールドは、IEEE802.11axに規定されたフォーマットに準ずる。すなわち、先頭からFrame Controlフィールド901、Durationフィールド902、RAフィールド903、TAフィールド904、BA Controlフィールド905、BA Informationフィールド906、FCSフィールド907を含む。BA Controlフィールド905には、BA Ack Policyサブフィールド908とBA Typeサブフィールド909がある。BA Typeサブフィールド909の値とBAの種類の対応を表1に例示する。
Figure 2022040916000002
本実施例では、F410で送信されるBAのBA Typeは値が2のCompressed BAであるものとする。BA Typeの値が2の場合、BA Informationフィールド906は、Block Ack Starting Sequence Controlサブフィールド910とBlock Ack Bitmapサブフィールド911を含む。Block Ack Starting Sequence Controlサブフィールド910は、Flagment Numberサブフィールド913およびStarting Sequence Numberサブフィールド914を含む。
Flagment Numberサブフィールド913(Bit0,1,2,3で表されるfragment number)には、Block Ack Bitmapサブフィールド911の長さを決める値が入る。具体的には、Bit1,2の値が0のとき、Block Ack Bitmapサブフィールド911の長さは8となる。Bit1,2の値が2のとき、Block Ack Bitmapサブフィールド911の長さは32となる。Bit0が0のとき、frament numberをBlock Ack Bitmapサブフィールド911で示さない。Bit0が1のとき、fragment numberの4つの値をそれぞれBlock Ack Bitmapサブフィールド911のビットで表現する。詳細は後述する。Starting Sequence Numberサブフィールド914には、後述のBlock Ack Bitmapサブフィールド911を開始するシーケンス番号を示す。例えば、受信したデータフレームにおけるシーケンス番号が3,4,5の場合、値を3とする。Block Ack Bitmapサブフィールド911には、Starting Sequence Numberサブフィールド914で指示するシーケンス番号から相対的に何番目のフレームを受信できたかを表す。例えば、Starting Sequence Numberサブフィールド914の値が3で、受信できたデータユニットのシーケンス番号が3,4,5、Fragment Numberサブフィールド913のBit0が0の場合、1,2,3番目のビットが1となる。fragment numberとは、フレームが分割されるときに付与する値である。Flagment Numberサブフィールド913のBit0の値が1のとき、この値をBlock Ack Bitmapサブフィールド911にも反映させる。
どのBlock Ack Bitmapサブフィールド911のどのビットを1にするかは、下記の公式に従って考える。
n=4×(SN-SSN)+FN
ここで、nはビットマップの序数である。SNはシーケンス番号、SSNはStarting Sequence Numberサブフィールド914の値、FNはfragment numberの値である。なお、ここで例示したのはBA Typeが2の場合であり、他の値でもよい。他の値であっても、IEEE802.11axに準拠する形でBAを通信する。AP102/AP103は、上記に基づくBAを受信することで、STA104がどのシーケンス番号に対応するデータユニットを受信することができたのかを知ることができるようになる。
なお、STA104は、基本的には、データを送信してきたAPに対応するシーケンス番号に基づき、BAを返信するが、追加で情報を与えてもよい。例えば、STA104が、AP102からシーケンス番号3,4,5のデータユニットを受信し、AP103からシーケンス番号6,7,8のデータユニットを受信した場合を考える。このときSTA104は、AP102にシーケンス番号3,4,5を受信できたことを示すため、Starting Sequence Numberサブフィールド914の値を3、Block Ack Bitmapサブフィールド911の1,2,3番目のビットを1としたBAを返信する。これに加えて、STA104は、シーケンス番号6,7,8のデータユニットを受信できたことを示すため、Block Ack Bitmapサブフィールド911の4,5,6番目のビットを1としてBAを返信してもよい。後述する処理によって、この情報(どのデータユニットが受信できたかの情報)をAP102はAP101に転送することになる。すると、例えばAP101とAP103の間で通信障害が発生し、AP101がAP103から受信するべきSTA104のBA情報を得られなかったとしても、AP101は、AP102経由で、STA104における受信状況を知ることができるようになる。
また、STA104は、AP102のみにBAを返信することにしてもよい。この場合、STA104は、AP102とAP103宛てに、本来2回送るべきBAを1回で済ませることができるようになるため、STA104は電力消費を抑えることができる。また、STA104が帯域を多く使用することもなくなる。さらに、BAの手続きにAP102とSTA104が使用する帯域のみ使用することになるため、AP103とSTA104が使用している帯域は空き状態となる。AP101は、AP103を通してその帯域を用いることでさらに次の送信データを準備、送信することができるようになるため、AP101からSTA104に送信するデータの高スループット、低遅延が実現できるようになる。
AP102/AP103は、前述のBAに含まれるシーケンス番号によって、どのデータユニットがSTA104に正しく届いたかを確認すると、該BAの情報(受信確認されたシーケンス番号等)を含むBAを生成し、AP101に送信する(F411)。すなわち、AP102/AP103は、F410で受信したBAの情報をAP101に転送する。ここで送信するBAのフレームは図9に例示した通りである。前述のものについては詳細の説明を略する。F411で送信されるBAは、BA Typeサブフィールド909の値を4としてマルチAP(Multi-AP)のBAであることを示す(表1を参照)。BA Typeサブフィールド909がマルチAPのBAであるとき、BA Informationフィールド906はCompressed BAと同じフィールド形式となる。なお、該フィールド906は、例えば、Extended Compressed BAと同じフィールドでもよいし、該フィールド906のために新しくフィールド形式を定義してもよい。例えば、図7のAction Detailsサブフィールド711のフィールド形式と同様であってもよい。
本実施例では、F411で送信されるBAにおけるBA Informationフィールド906の各値は、F410で受信したBA Informationフィールド906を複製したものとする。AP101は、AP102/AP103から受信したBAの情報に基づき、再送データがある場合や追加で送信するべきデータがある場合には、さらにデータフレームを送信する(F412)。ここで、AP101は、送信するデータフレームについて、BAの状況に合わせて転送するデータ量や方法を変更してもよい。例えば、AP101が、AP102経由で送信したデータはSTA104がすべて受信できており、AP103経由で送信したデータは一部がSTA104に届いていないことが分かったとする。この時に、再送するデータやこれから追加で送信するデータは、AP102経由で送信することを主にすることができるようになる。これにより、動的にSTA104にデータ送信するのに最適なルートや送信方式を変更することができるようになる。
なお、上記説明では、AP102/AP103は、STA104からBAを受信した後、該BAの情報をすぐにAP101に転送したが、別の手段をとってもよい。例えば、AP102/AP103は、STA104により受信されなかったデータユニットのシーケンス番号を検出した場合(すなわち、再送データがあることが検出した場合)、該シーケンス番号に対応するデータユニットを含んで構成されるデータフレームを繰り返し再送してもよい。該再送の最大回数(繰り返して送信する回数の最大値)は、予め定義されていてもよい。また、再送するデータフレームは、転送すべき全てのデータユニット群が含まれてもよいし、STA104により受信確認されていないシーケンス番号に対応するデータユニット(群)を含む一部のデータユニット群が含まれてもよい。AP102/AP103は、当該繰り返しの再送の後に、F411でBAの情報をまとめてAP101に送信するようにしてもよい。この場合、再送するデータユニットによっては、STA104が返信するBAのStarting Sequence Numberサブフィールド914の値が変わりうる。例えば、AP102/AP103は、最初にシーケンス番号3,4,5のデータユニットを送信し、シーケンス番号3,4のデータユニットの受信確認ができた場合、シーケンス番号5のデータユニットを再送する。この操作の後に得られるBAのStarting Sequence Numberサブフィールド914に入る値は5となる。このことから、Block Ack Bitmapサブフィールド911の表現する内容も1回目と異なる。このため、STA104が送信してきたBA Informationフィールド906を複製してAP101に転送することはできない。上述の場合は、AP102/AP103は、2回目でシーケンス番号5のデータユニットの受信確認もできた場合、Starting Sequence Numberサブフィールド914の値を3、Block Ack Bitmapサブフィールド911の1,2,3番目のビットを1としてF411でBAを送信する。
これにより、再送ですぐにデータ送信の補正ができる場合は、より遅延なくデータを再送することが可能となる。一方で、AP101がSTA104に送信したデータがSTA104に届いたかどうかを知るまでの時間がかかるようになるため、ルート変更の場合には時間がかかってしまう可能性がある。これを考慮して、AP102/AP103は、例えばSTA104からBAを受信した時点ですぐにAP101にBAの情報を転送し、それと並行して再送作業を行い、追加でデータ受信の確認が取れた場合に改めてBAをAP101に送信してもよい。なお、これらの追加データ受信確認は実施例1の手法でのみ可能となり、後述する実施例2の手段では実現が難しい。
また、AP102/AP103は、STA104から各データユニットに対して送信された複数のAckの情報(受信確認されたシーケンス番号)をまとめてBAとしてAP101に送信してもよい。STA104から届く複数のAckの情報をまとめてBAでAP101に送ることで、帯域の節約になる。逆に、AP102/AP103は、STA104から受信したBAの情報を1つずつAckでAP101に送信してもよい。同様に、AP102/AP103は、TIDごとにBAが分かれているものを合わせてMulti-TID形式でAP101に送信してもよい。この場合は前述と同様で、BAをまとめて送信することで帯域の節約になる。逆に、AP102/AP103は、Multi-TIDのBA形式でSTA104から受信したBAをTIDごとに分割し、AP101に送信してもよい。形式を指定することで、BA Typeの種類を増やさずにAP101にSTA104からの受信確認を転送することができる。また、規格の複雑さを避けることで、規格の形式を処理するために必要な計算量を下げることができるようになる。
次に、図5のS506の処理である、AP102/AP103による図4のF403~F411の処理について、図6を参照して説明する。図6は、本実施例において、AP102とAP103がSTA104にデータ送信するときの処理を示すフローチャートである。図6に示すフローチャートは、AP102/AP103の制御部202が記憶部201に記憶されている制御プログラムを実行し、情報の演算および加工並びに各ハードウェアの制御を実行することにより実現されうる。
以下、AP102を例に説明するが、AP103にも同様の処理を適用できる。本処理は、AP102の通信制御部301が、Transmitter APであるAP101からSTA104に転送するデータを受信した時点で開始する。また、本処理は、AP102の通信制御部301が、AP101から図7で例示したシーケンス指示フレームを受信した時点で開始されてもよい。
まず、AP102の通信制御部301は、STA104に転送するデータをデータフレームとして受信する前に、すでにシーケンス指示フレーム(F403)を受信したかどうかを確認する(S601)。シーケンス指示フレームを受信していない場合(S601でNo)、AP102は、マルチAPによるデータ転送処理でなく、通常のデータ転送処理を指示されていることになる。この場合、処理はS602以降へ進み、AP102の通信制御部301は、まず、STA104へ転送するデータをデータフレームとして受信する(S602)。次に、AP102の通信制御部301は、BARを受信し(S604)、BAを返信する(S605)。なお、S604とS605の処理(BARとBAの送受信)は、S602で受信するデータフレームに含まれるAck Policyサブフィールドの値等に従い、両処理はなくてもよい。また、AP102の通信制御部301は、有線または無線通信を介して、転送するデータを受信しうる。
S602~S605の後、AP102のフレーム生成部302は受信したデータを含むデータフレームを生成し、通信制御部301は、該データフレームをSTA104に転送し始める(S606)。ここで、Ack制御部303は、データフレームのAck Policyサブフィールドを確認し、Ack返信ポリシがONか否か(転送するデータに対するAckを必要するか否か)を判断する。Ack返信ポリシがONでない場合、すなわちAckを必要としない場合(S607でNo)、AP102は、データを転送したところで処理を終了する。Ack返信ポリシがONの場合、すなわち、Ackを必要とする場合(S607でYes)、AP102の通信制御部301は、データを送信し終わるか、一定のデータを送り終わった後にBARを送信する(S608)。S608のBARの送信は行われなくてもよい。
AP102の通信制御部301が、STA104からBAを受信すると(S609)、フレーム解析部304は、BAのビットマップを解析して、データの受信確認を行う(S610)。具体的には、AP102のフレーム解析部304は、BA(図9)のBA Informationフィールド906のBlock Ack Bitmapサブフィールド911の内容を解析し、すべてのデータユニット送信に対するAckを受信したかを確認する。確認の結果、すべてのデータユニットの受信確認ができた場合は(S611でYes)、AP102は処理を終了する。受信確認ができていないデータユニットがある場合は(S611でNo)、AP102のフレーム生成部302はデータフレームに再送データ(受信確認できていないデータユニット)を設定する(S612)。追加でデータ送信を行う場合も、フレーム生成部302は、データフレームに次の送信データ(追加データ)を設定する。そして、AP102の通信制御部301は、データフレームを送信する(S606)。
S601で、AP102の通信制御部301が、STA104に転送するデータをデータフレームとして受信する前に、すでにシーケンス指示フレーム(F403)を受信していた場合は(S601でYes、F405)、処理はS603へ進む。なお、シーケンス指示フレーム(F403)を受信していた場合には、転送するデータの受信後にシーケンス指示フレームを受信した場合や、転送するデータの受信途中に受信した場合も含まれる。AP102の通信制御部301は、転送するデータをデータフレームとして受信する(S603、F404)。当該データフレームには、データユニット群が含まれうる。続いて、AP102のフレーム解析部304は、受信したデータが、マルチAPとして転送(送信)するものであるかを確認する(S613)。
この確認方法は、例えば、次のものが挙げられる。図4の例のようにAP102の通信制御部301が、AP101から事前にJoint参加要求を受信し、Jointの参加表明をした後にAP101から受信したデータ(データユニット)は、すべてマルチAPとして転送するものとして判断してもよい。この場合、Joint手続きの後に送受信する情報量を抑えることができるようになる。もしくは、AP101が転送するデータとしてデータフレームを送信するときに、HT Controlフィールドの1ビットにMulti-APとして転送するものであることを示すビットを用意してもよい。これにより、データフレームを受信したAP102は、当該ビットが立っているデータフレームについては、マルチAPとして転送するものと判断することができる。この手法の場合、AP101は、動的にマルチAPとして転送するか否かを変更でき、状況に応じた対応が可能となる。もしくは、AP101がJointの参加要求フレームの中に期間を示すフィールドを入れておき、AP102は、示された期間中にAP101から受信したデータフレームはすべてマルチAPとして転送するものとして判断してもよい。この手法の場合、AP101は、マルチAPとして転送する期間を指定できるため、マルチAPとして転送が必要なくなった後にJoint送信を削除する手続きを行う必要がなくなる。もしくは、AP101は、Joint参加要求フレームの中に宛先のSTAのMAC Address(本実施例ではSTA104のMAC Address)を入れてもおい。これにより、AP102は、AP101から宛先のSTA向けに転送するデータを受信したときは、すべてマルチAPとして転送するものとして判断することができる。受信したデータ(デーtフレーム)がマルチAPとして転送するデータの場合は(S613でYes)、処理はS614へ進み、マルチAPとして転送するデータでない場合は(S613でNo)、処理はS604~S606のいずれかに移る。
転送するデータがマルチAPとして転送するデータであることが確認された後、Ack制御部303は、データフレームのAck Policyサブフィールドを確認し、Ack返信ポリシがONか否かを判断する(S614)。すなわち、Ack制御部303は、転送するデータに対するAckを必要するか否かを判断する。なお、当該判断は、Transmitter APに対して、STA104からのAckを転送する必要があるか否かの判断でありうる。Ack返信ポリシがONか否かの判断方法は、例えば次のものが挙げられる。AP102のAck制御部303は、AP101から受信したデータフレームのAck Policyサブフィールドを確認し、No Ackを示している場合は、Ack返信ポリシがONではない(STA104からのAckも必要ない)と判断してもよい。もしくは、AP101から事前に受信したJoint参加要求フレームの中にSTA104からのAck Policyを示すフィールドを用意し、AP102のAck制御部303は、その値に応じて判断してもよい。Ack返信ポリシがONでない場合、すなわち、AP101にAckを転送する必要がない場合(S614でNo)、処理はS604~S606のいずれかに移る。
Ack返信ポリシがONの場合、すなわち、Ackが必要と判断された場合は(S614でYes)、AP102の通信制御部301は、転送用のデータを受信したことをAP101に確認するためにBARの受信(S615、F405)およびBAの返信(S616、F406)を行う。なお、これらの処理(の一方)は行われなくてもよい。
AP102の通信制御部301は、データを転送する準備が整った段階で、AP101からデータ転送のタイミングを伝えるトリガーフレームを受信する(S617、F407)。なお、上述のように、トリガーフレームの受信はなくてもよく、また、データ転送のタイミングはトリガーフレーム以外により決定されてもよい。トリガーフレームを受信したことに応答して、AP102のフレーム生成部302は、受信したシーケンス指示フレーム(S601、F403)で指定されたシーケンス番号を所定フィールドに付与し(図9)、さらに、シーケンス番号に対応するデータユニットをペイロード部に付与したデータフレームを生成する。シーケンス番号に対応するデータユニットは、受信したデータフレームに含まれたデータユニット群の少なくとも一部でありうる。続いて、AP102の通信制御部301は、データフレームを送信する(S618、F408)。このデータフレームの受信確認をSTA104に要求するために、AP102の通信制御部301はBARを送信する(S619、F409)。なお、BARは送信しなくてもよい。
続いて、AP102の通信制御部301は、BARもしくはデータフレームに対するBAを受信し(S620、F410)、フレーム解析部304は、BAのビットマップを解析して、データの受信確認を行う(S621)。具体的には、AP102のフレーム解析部304は、BA(図9)のBA Informationフィールド906のBlock Ack Bitmapサブフィールド911の内容を解析し、すべてのデータユニット送信に対するAckを受信したかを確認する。
確認の結果、すべてのデータユニットの受信確認ができた場合は(S622でYes)、AP102のフレーム生成部302は、送信完了通知のためのフレームを生成し、通信制御部301は該フレームをAP101(Transmitter AP)に送信する(S623)。この時、送信完了通知のために使用(生成)するフレームは例えば、下記が挙げられる。例えば、図4に示したように、AP102は、STA104から受信されたBAに含まれるBA Informationフィールド906を複製して、BAを生成し、AP101に送信することができる(F411)。この手段の場合、AP102はフレームを作成しなおす計算が少なくて済む。また、AP102内でBA Informationフィールド906に含まれるBlock Ack Bitmapサブフィールド911を解析するS621の処理が必要なくなる。他の手段としては、送信完了通知のためのフレームを定義し、AP102がこれを送信する手段がある。この手段の場合、送信完了であることがわかればよいため、AP102が送信するデータ容量が小さくて済むメリットがある。
一方で、受信確認ができていないデータユニットがある場合(受信確認できていないシーケンス番号が検出された場合)は(S622でNo)、処理はS624へ進む。S624では、AP102のフレーム生成部302は、受信されなかったデータユニットのシーケンス番号を示すビットマップを含むフレームを生成し、通信制御部301は、該フレームをAP101に送信する。これにより、どのデータユニットがSTA104は受信できなかったか(STA104に送信できなかったか)がAP101に通知される。例えば、図4に示したように、AP102は、STA104から受信されたBAに含まれるBA Informationフィールド906を複製して、BAを生成し、AP101に送信することができる(F411)。もしくは、AP102は、図7のAction Detailsサブフィールド711内部の形式で受信できたシーケンス番号を穴抜け付きの連番シーケンス番号で表現したフレームを送信してもよい。
このようにして、AP101は、AP102/AP103を通してSTA104にデータ送信ができ、またどのデータユニットがSTA104に届いているのかを知ることができるようになる。その結果、AP101は、AP102/AP103とSTA104との接続状態を動的に確認することができるようになり、状況に応じたデータ送信のルーティングが可能となる。さらに、AP101は、データの再送も状況に応じて変更できるため、データをSTA104に確度高く届けることができるようになる。
なお、後述する実施例2と比較すると、STA104の実施する処理が少なくて済む利点がある。具体的には、データを受信するSTA104にとって、複数のAPからデータを受信する時点でそのデータの順序関係がわからなくなる可能性がある。データユニットに付与されているシーケンス番号が一貫していると、STA104は受信したデータの並べ替えをするときに、シーケンス番号を基準に行えばよくなるため、比較的簡単にデータ順序の並べ替えができるようになる。また、STA104がBAをAP102/AP103に送信するときも、複数のAPから受信したデータユニットに付与されたシーケンス番号が整理されているために、例えばAP102に送るBAの中に、AP103から受信したデータユニットについての情報を入れやすくなる。これらを実現するためには、データユニット(群)の送信元であるAP101がSTA104に送信するデータの順序関係やシーケンス番号を管理する必要がある。また、AP101が、AP102/AP103に対してデータ転送するときのフレームに付与するシーケンス番号を指示する必要がある。このため、本実施例では図4のS403のように、シーケンス番号を指示する処理が必要となる。
<実施例2>
本実施例において、AP101はTransmitter APとして機能する。AP102とAP103はRelay APとして機能し、AP101からの指示によってSTA104と通信する。本実施例では、AP101からAP102/AP103を介してSTA104へデータを送信する場合について述べる。なお、実施例1とは異なり、AP101は、データ転送時のフレームに付与するシーケンス番号の指示を送信しないものとする。本実施例の説明に際し、実施例1と重複する部分については説明を省略する。
図10に、本実施例におけるAP101がAP102とAP103を介してSTA104にデータを送信する際の全体のデータ送受信処理の流れを示すシーケンス図を示す。全体の流れは実施例1で説明したものと重複するため説明を省略する。なお、実施例1と異なる点として、F403のシーケンス番号の指示フレーム(Sequence Indication)がAP101からAP102/AP103に送信されていない。本実施例では、F408で、AP102とAP103が送信するデータユニットに付与するシーケンス番号は、AP102/AP103が独自に定義した値(番号)となる。
AP102/AP103による図10のF403~F411の処理について、図11を参照して説明する。図11は、本実施例において、AP102とAP103がSTA104にデータ送信するときの処理を示すフローチャートである。図11に示すフローチャートは、AP102/AP103の制御部202が記憶部201に記憶されている制御プログラムを実行し、情報の演算および加工並びに各ハードウェアの制御を実行することにより実現されうる。
以下、AP102を例に説明するが、AP103にも同様の処理を適用できる。本処理は、AP102の通信制御部301が、Transmitter APであるAP101からSTA104に転送するデータを受信した時点で開始する。
まず、AP102の通信制御部301は、AP101から、STA104に転送するデータをデータフレームとして受信する(S603)。当該データフレームには、データユニット群が含まれうる。続いて、AP102のフレーム解析部304は、受信したデータが、マルチAPとして転送するものであるかを確認する(S613)。当該確認の方法は、実施例1と重複するため説明を省略する。次に、AP102のAck制御部303は、STA104に送信するデータはAckを必要とするかどうかを確認する(S614)。当該確認の方法は実施例1と重複するため説明を省略する。マルチAPでの転送でない場合(S613でNo)やAckが必要でないと判断した場合は(S614でNo)、処理はS604~S606のいずれかに移る。S604~S606以降の処理は、実施例1と重複するため説明を省略する。
STA104に転送するデータはAckを必要としており、マルチAPで送信するデータであると判断した場合(S613でYes,S614でYes)、処理はS1115へ進む。次に、AP102のフレーム解析部304は、受信したデータフレームに含まれる、データユニットに付与されているシーケンス番号を取得し記憶部201に記録する(保存する)(S1115)。ここで記録した値(シーケンス番号)は、後述する処理で使用される。そのあと、AP102の通信制御部301は、BARを受信(S1116)すると、BARに返信する形でBAを送信する(S1117)。なお、BARとBAの送受信はなくてもよい。
AP102の通信制御部301は、データを転送する準備が整った段階で、AP101からデータ転送のタイミングを伝えるトリガーフレームを受信する(S1118、F407)。なお、トリガーフレームの受信はなくてもよく、また、データ転送のタイミングはトリガーフレーム以外により決定されてもよい。詳細は実施例1で説明済みなので省略する。トリガーフレームを受信したことに応答して、AP102のフレーム生成部302は、シーケンス番号を所定フィールドに付与し(図9)、さらに、シーケンス番号に対応するデータユニットをペイロード部に付与したデータフレームを生成する。シーケンス番号に対応するデータユニットは、受信したデータフレームに含まれたデータユニット群の少なくとも一部でありうる。また、本実施例では、シーケンス番号は、番号管理部305が生成し付与した番号である。AP102の通信制御部301は、データフレームを送信する(S1119、F408)。
AP102の番号管理部305は、S1119で送信したデータユニットに付与したシーケンス番号とデータユニットを受信したときに付与されていたシーケンス番号とを対応付けた情報(対応関係)を生成し、記憶部201に保存(管理)する(S1120)。例えば、S603で受信した際にデータユニットに付与されていたシーケンス番号が3,4,5であり、S1119で送信するデータユニットに付与されたシーケンス番号が9,10,11である場合を考える。このとき、番号管理部305は、3-9、4-10、5-11をセットとして、記憶部201に保存する。あるいは、番号管理部305は、3-9のみ保存して、他のデータユニットは3と9のそれぞれの連番であると仮定してもよい。このように、番号管理部305は、転送するデータユニットごとに、受信時と送信時でシーケンス番号の対応が取れるように、記憶部201にシーケンス番号の対応関係の情報を記憶する。
AP102の通信制御部301は、STA104へのデータ送信が終わると、BARを送信し(S1121、F409)、BARに応答して、STA104からBAを受信する(S1122、F410)。ここでBARの送信はなくてもよい。また、BAは別の形式でもよい。例えば、一つのデータユニットごとにAckを返すものとしてもよい。BAが受信されると、AP102のフレーム解析部304は、BAのビットマップを解析して、データの受信確認を行う(S1123)。具体的には、AP102のフレーム生成部302は、BA(図9)のBA Informationフィールド906に付与されるBlock Ack Bitmapサブフィールド911の内容を解析し、すべてのデータユニット送信に対するAckを受信したかを確認する。
確認の結果、すべてのデータユニットの受信確認ができた場合は(S1124でYes)、AP102のフレーム生成部302は、送信完了通知のためのフレームを生成し、通信制御部301は該フレームをAP101(Transmitter AP)に送信する(S1125)。このとき送信する送信完了通知として、専用のフレームが作成されてもよいし、図9に示すBAの形式で送信されてもよい。図9に示すBAの形式で送信する場合、Block Ack Starting Sequence Controlサブフィールド910に含まれるStarting Sequence Numberサブフィールド914の値と、場合によってはBlock Ack Bitmapサブフィールド911の値が、STA104から受信したBAにおける同サブフィールドの値とは異なりうる。すなわち、STA104から受信したBAで示されるシーケンス番号と、AP101に送信するBAで示すシーケンス番号は異なりうる。そのため、フレーム生成部302は、S1120で生成した対応関係に基づいて、受信したBAで示されるシーケンス番号を、AP101に送信するBAで示すべきシーケンス番号に変換する。
具体的には、フレーム生成部302は、STA104から受信したBA中に示されたStarting Sequence Numberサブフィールドの値を、S1120で生成した対応関係に基づいて、AP102がAP101からデータ受信したときの値に変換する。なお、変換した値とは別の値をStarting Sequence Numberサブフィールドの値としたい場合、Block Ack Bitmapサブフィールド911の値を変更する。Starting Sequence Numberサブフィールドとして指定したい値から、AP102が受信したときに使用されたシーケンス番号の相対的な距離を計算し、計算結果の序数に当たるビットに値を反映させる。
S1125におけるシーケンス番号の変換処理は、受信確認ができていないデータユニットがある場合(受信確認できていないシーケンス番号が検出された場合)(S1124でNo)にも適用される(S1126)。そして、AP102のフレーム生成部302は、受信されなかったデータユニットのシーケンス番号を示すビットマップを含むフレームを生成し、通信制御部301は、該フレームをAP101に送信する(S1127)。
なお、本実施例においても、AP102/AP103は、受信確認を受け取っていないデータユニット(STA104に届いていないデータユニット)について、複数回再送してから、その結果をAP101に送信してもよい。この方法の詳細は実施例1と重複するため説明を省略する。もしくは、図7のAction Detailsサブフィールド711内部の形式で受信できたシーケンス番号を穴抜け付きの連番シーケンス番号で表現できるようになる。
このように、AP101がAP102/AP103にデータ転送するときのシーケンス番号を指示しなくても、どのデータがSTA104に届いたかを確認できるようになる。これにより、AP101は動的にデータ転送を指示するAPを切り替えることができるようになる。実施例1と比較すると、データ転送するときのシーケンス番号を指示するフレームを送信する必要がなくなる。よって、データ転送を指示するときに帯域を使用する時間を抑えることができるようになる。
<実施例3>
本実施例において、AP101はReceiver APとして機能する。STA104はTransmitter STAとして機能する。AP102とAP103はRelay APとして機能し、AP101からの指示によってSTA104と通信する。本実施例では、STA104からAP102/AP103を介してAP101へデータを送信する場合について述べる。本実施例の説明に際し、実施例1と重複する部分については説明を省略する。
図12に、本実施例におけるSTA104がAP102/AP103を介してAP101にデータを送信する際の全体のデータ送受信処理の流れを示すシーケンス図を示す。Jointの参加要求フレームの送受信(F401,F402)は実施例1と重複するため説明を省略する。
Joint手続きが終わると、STA104からAP102/AP103に対し、データを受信するときのシーケンス番号を指定される(F1203)。これにより、AP101は、AP102/AP103からのデータフレームを統合したときに、正しくデータを並び替えることができるようになる。続いてSTA104は、AP102/AP103にデータフレームを送信する(F1204)。データフレームを送信し終わると、それに合わせてBARを送信する(F1205)。AP102/AP103は、BARを受信することに応答して、BAを返信する(F1206)。なお、ここでのBARとBAの送受信はなくてもよい。また、別の例として、ADDBA Request、ADDBA Responseの手続きで、Block Ack Policyを0としてImmediateでないことを示しておいてもよい。この場合、BARに対してAP102/AP103は、ここではシーケンス番号を指定しないAckのみ返してもよい。この場合、AP102/AP103は、AP101の受信確認ができてから、改めてBAを送信することになる。他のAck返信動作については実施例1と重複するため説明を省略する。
STA104からのデータ受信が終わった後、AP102/AP103は、データをデータフレームとして送信する(F1207)。なお、STA104からのデータ受信をしつつ、AP101にデータを転送していてもよい(F1207)。AP102/AP103はデータ転送が終わったら、BARを送信する(F1208)。ここでのBARの送信はなくてもよい。これに対し、AP101はAP102/AP103にBAを送信する(F1209)。AP102/AP103は、BAの情報をBAの形式でSTA104に送信する(F1210)。STA104は、受信したBAの情報に従い、必要に応じて再送データをAP102/AP103に送信する(F1211)。
AP102/AP103による図12のF1203~F1211の処理について、図13を参照して説明する。図13は、本実施例において、AP102/AP103がAP101にデータ送信するときの処理を示すフローチャートである。図13に示すフローチャートは、AP102/AP103の制御部202が記憶部201に記憶されている制御プログラムを実行し、情報の演算および加工並びに各ハードウェアの制御を実行することにより実現されうる。以下、AP102を例に説明するが、AP103にも同様の処理を適用できる。
実施例1と同様に、まず、AP102の通信制御部301は、シーケンス番号を指定するフレームを受信しているかどうかを確認する(S1301)。そのあと、AP102の通信制御部301は、Transmitter STA(STA104)から、Receiver AP(AP101)へ転送するデータとしてデータフレームを受信する(S1302、S1303)。シーケンス番号を指定するフレームを受信していなかった場合(S1301でNo)や、受信したデータフレームがマルチAPで受信するフレームでない場合(S1313でNo)や、Ackを返信する必要がない場合(S614でNo)の処理は、実施例1で示した処理と同様となるため説明を省略する。また、S615~S622の処理は、実施例1で示した処理と重複するため、説明を省略する。
AP102のフレーム解析部304により、すべてのデータユニットの受信確認ができた場合は(S622でYes)、通信制御部301は、STA104に対して送信完了通知を送信する(S1323)。この時送信する形式はBAの形でもよいし、専用のフレームを用意してもよい。詳細については実施例1で示したものと重複するため説明を省略する。受信確認ができていないデータユニットがある場合は(S622でNo)、AP102の通信制御部301は、AP101から受信したBAに含まれるBA Informationフィールド906を複製して、BAを生成し、STA104に送信しうる。もしくは、AP102は、図7のAction Detailsサブフィールド711内部の形式で受信できたシーケンス番号を穴抜け付きの連番シーケンス番号で表現したフレームを送信してもよい。
このように、データ受信においてもデータの受信確認をデータ送信者に伝えることができるようになる。なお、実施例2を本実施例に適用してもよい。この場合、図10と図11において、通信する2つの通信装置は、Transmitter APからTransmitter STAとなり、Receiver STAからReceiver APとなる。処理の内容自体は変わらない。例えば、Transmitter STAはシーケンス番号を指定せず、AP102/AP103がシーケンス番号を生成して使用する。また、Transmitter STAへのBAには、シーケンス番号の対応関係に従ってAP102/AP103によって変換されたシーケンス番号が含まれうる。
(その他の実施例)
その他の実施例として、AP1台とSTA3台でデータの送受信に対しても、本件が適用できる。この場合、STAがSTA同士でJointの参加フレーム、参加完了フレームの手続きを行う。APからSTAへのデータ送信の場合、STA2台はRelay STAとしての役割を担ってもよい。この場合、データの転送およびBAの転送はRelay STAが行う。Relay STAの処理は本件で提案したRelay APの動作と同様である。これは各STAの装備がそれほどリッチでない場合に適用できる。リッチでない通信機器を組み合わせることで、高スループットと低遅延な無線通信環境が実現できるようになる。同様に条件が整えば、AP3台とSTA3台がそれぞれ連携してデータ通信が行う場合に適用してもよい。AP3台のうち2台はRelay APとして動作し、AP1台はTransmitter APもしくはReceiver APとして動作する。STA3台のうち2台はRelay STAとして動作し、STA1台はTransmitter STAもしくはReceiver STAとして動作する。Relay APおよびRelay STAの処理は各実施例で示した通りとなる。この形態の場合、APおよびSTAの両方がリッチでない装備だが、高スループットと低遅延を実現したいときや、お互いの通信で発生する干渉を抑えたいときなどに利用できる。また、AP同士、STA同士の通信は有線とし、AP-STA間の通信を無線として、各AP、STAの距離を離すことで、無線干渉を抑えながら高スループットと低遅延を実現できる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
101 通信装置(AP)、102~104 通信装置(AP)、105~108 リンク、109~111 ネットワーク

Claims (21)

  1. IEEE802.11シリーズ規格に準拠した通信装置であって、
    第1の他の通信装置から、データユニット群を含むデータフレームと、前記データユニット群のうちの1つ以上のデータユニットに付与されたシーケンス番号の指示とを受信する第1の受信手段と、
    前記シーケンス番号と、前記1つ以上のデータユニットとを含んで構成されるデータフレームを第2の他の通信装置へ送信する第1の送信手段と、
    前記第2の他の通信装置から、前記第1の送信手段により送信された前記データフレームに対する受信確認を受信する第2の受信手段と、
    前記受信確認に含まれる、前記第2の他の通信装置により受信されたデータユニットのシーケンス番号の情報を前記第1の他の通信装置へ送信する第2の送信手段と、
    を有することを特徴とする通信装置。
  2. 前記第2の送信手段は、前記第2の受信手段から前記受信確認を受信するごとに、前記受信確認に含まれる前記シーケンス番号の情報を前記第1の他の通信装置へ送信することを特徴とする請求項1に記載の通信装置。
  3. 前記第2の送信手段は、前記第2の受信手段から複数の前記受信確認を受信した後に、前記受信確認に含まれる前記シーケンス番号の情報をまとめて前記第1の他の通信装置へ送信することを特徴とする請求項1に記載の通信装置。
  4. 前記第2の受信手段により受信された前記受信確認に基づいて、前記第2の他の通信装置により受信されなかったデータユニットのシーケンス番号を検出する検出手段を更に有し、
    前記第1の送信手段は、前記検出されたシーケンス番号と、前記検出されたシーケンス番号に対応するデータユニットとを含んで構成されるデータフレームを前記第2の他の通信装置へ送信することを特徴とする請求項1に記載の通信装置。
  5. 前記検出手段により前記シーケンス番号が検出された場合、前記第1の送信手段は、前記検出されたシーケンス番号に対応するデータユニットを含んで構成されるデータフレームを前記第2の他の通信装置へ繰り返し送信し、
    前記第2の送信手段は、前記第2の受信手段により繰り返し受信された前記受信確認に含まれる前記シーケンス番号の情報を、まとめて前記第1の他の通信装置へ送信することを特徴とする請求項4に記載の通信装置。
  6. 前記繰り返しの回数の最大値は、予め定義されていることを特徴とする請求項5に記載の通信装置。
  7. 前記受信確認は、Block Ackであることを特徴とする請求項1から6のいずれか1項に記載の通信装置。
  8. 前記データユニットは、MSDU(MAC Service Data Unit)もしくはA-MSDU(Aggregation-MSDU)であり、前記シーケンス番号はMSDUもしくはA-MSDUごとに付与される連続した番号であることを特徴とする請求項1から7のいずれか1項に記載の通信装置。
  9. IEEE802.11シリーズ規格に準拠した通信装置であって、
    第1の他の通信装置から、データユニット群と前記データユニット群のそれぞれに付与された第1の種類のシーケンス番号とを含むデータフレームを受信する第1の受信手段と、
    前記データユニット群に対して第2の種類のシーケンス番号を付与し、前記第1の種類のシーケンス番号と前記第2の種類のシーケンス番号との対応関係を管理する番号管理手段と、
    前記第2の種類のシーケンス番号と、前記データユニット群とを含んで構成されるデータフレームを第2の他の通信装置へ送信する第1の送信手段と、
    前記第2の他の通信装置から、前記第1の送信手段により送信された前記データフレームに対する受信確認を受信する第2の受信手段と、
    前記受信確認に含まれる、前記第2の他の通信装置により受信されたデータユニットの第2の種類のシーケンス番号を、前記対応関係に基づいて前記第1の種類のシーケンス番号に変換する変換手段と、
    前記変換手段により変換された、前記第1の種類のシーケンス番号の情報を前記第1の他の通信装置へ送信する第2の送信手段と、
    を有することを特徴とする通信装置。
  10. 前記第2の送信手段は、前記第2の受信手段から前記受信確認を受信するごとに、前記変換手段により変換された、前記第1の種類のシーケンス番号の情報を前記第1の他の通信装置へ送信することを特徴とする請求項9に記載の通信装置。
  11. 前記第2の送信手段は、前記第2の受信手段から複数の前記受信確認を受信した後に、前記変換手段により変換された、前記第1の種類のシーケンス番号の情報をまとめて前記第1の他の通信装置へ送信することを特徴とする請求項9に記載の通信装置。
  12. 前記第2の受信手段により受信された前記受信確認に基づいて、前記第2の他の通信装置により受信されなかったデータユニットの前記第2の種類のシーケンス番号を検出する検出手段を更に有し、
    前記第1の送信手段は、前記検出されたシーケンス番号と、前記検出されたシーケンス番号に対応するデータユニットとを含んで構成されるデータフレームを前記第2の他の通信装置へ送信することを特徴とする請求項9に記載の通信装置。
  13. 前記検出手段により前記第2の種類のシーケンス番号が検出された場合、前記第1の送信手段は、前記検出されたシーケンス番号に対応するデータユニットを含んで構成されるデータフレームを前記第2の他の通信装置へ繰り返し送信し、
    前記第2の送信手段は、前記第2の受信手段により繰り返し受信された前記受信確認に含まれる前記第2の種類のシーケンス番号から前記変換手段により変換された前記第1の種類のシーケンス番号の情報を、まとめて前記第1の他の通信装置へ送信することを特徴とする請求項12に記載の通信装置。
  14. 前記繰り返しの回数の最大値は、予め定義されていることを特徴とする請求項13に記載の通信装置。
  15. 前記受信確認は、Block Ackであることを特徴とする請求項9から14のいずれか1項に記載の通信装置。
  16. 前記データユニットは、MSDU(MAC Service Data Unit)もしくはA-MSDU(Aggregation-MSDU)であり、前記第1の種類のシーケンス番号と前記第2の種類のシーケンス番号はそれぞれMSDUもしくはA-MSDUごとに付与される連続した番号であることを特徴とする請求項9から15のいずれか1項に記載の通信装置。
  17. 前記第1の他の通信装置はアクセスポイントであり、前記第2の他の通信装置は端末装置であることを特徴とする、請求項1から16のいずれか1項に記載の通信装置。
  18. 前記第1の他の通信装置は端末装置であり、前記第2の他の通信装置はアクセスポイントであることを特徴とする、請求項1から16のいずれか1項に記載の通信装置。
  19. IEEE802.11シリーズ規格に準拠した通信装置の制御方法であって、
    第1の他の通信装置から、データユニット群を含むデータフレームと、前記データユニット群のうちの1つ以上のデータユニットに付与されたシーケンス番号の指示とを受信する第1の受信工程と、
    前記シーケンス番号と、前記1つ以上のデータユニットとを含んで構成されるデータフレームを第2の他の通信装置へ送信する第1の送信工程と、
    前記第2の他の通信装置から、前記第1の送信工程において送信された前記データフレームに対する受信確認を受信する第2の受信工程と、
    前記受信確認に含まれる、前記第2の他の通信装置により受信されたデータユニットのシーケンス番号の情報を前記第1の他の通信装置へ送信する第2の送信工程と、
    を含むことを特徴とする制御方法。
  20. IEEE802.11シリーズ規格に準拠した通信装置の制御方法であって、
    第1の他の通信装置から、データユニット群と前記データユニット群のそれぞれに付与された第1の種類のシーケンス番号とを含むデータフレームを受信する第1の受信工程と、
    前記データユニット群に対して第2の種類のシーケンス番号を付与し、前記第1の種類のシーケンス番号と前記第2の種類のシーケンス番号との対応関係を管理する番号管理工程と、
    前記第2の種類のシーケンス番号と、前記データユニット群とを含んで構成されるデータフレームを第2の他の通信装置へ送信する第1の送信工程と、
    前記第2の他の通信装置から、前記第1の送信工程において送信された前記データフレームに対する受信確認を受信する第2の受信工程と、
    前記受信確認に含まれる、前記第2の他の通信装置により受信されたデータユニットの第2の種類のシーケンス番号を、前記対応関係に基づいて前記第1の種類のシーケンス番号に変換する変換工程と、
    前記変換工程により変換された、前記第1の種類のシーケンス番号の情報を前記第1の他の通信装置へ送信する第2の送信工程と、
    を含むことを特徴とする制御方法。
  21. コンピュータを、請求項1から18のいずれか1項に記載の通信装置として機能させるためのプログラム。
JP2020145853A 2020-08-31 2020-08-31 通信装置、通信装置の制御方法、およびプログラム Pending JP2022040916A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2020145853A JP2022040916A (ja) 2020-08-31 2020-08-31 通信装置、通信装置の制御方法、およびプログラム
KR1020237009656A KR20230051708A (ko) 2020-08-31 2021-08-13 통신 장치, 통신 장치의 제어 방법 및 컴퓨터-판독가능한 저장 매체
CN202180053534.9A CN115997472A (zh) 2020-08-31 2021-08-13 通信设备、通信设备的控制方法和程序
EP21861280.2A EP4207928A1 (en) 2020-08-31 2021-08-13 Communication device, communication device control method, and program
PCT/JP2021/029811 WO2022044852A1 (ja) 2020-08-31 2021-08-13 通信装置、通信装置の制御方法、およびプログラム
US18/161,151 US20230179334A1 (en) 2020-08-31 2023-01-30 Communication apparatus, control method for communication apparatus, and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020145853A JP2022040916A (ja) 2020-08-31 2020-08-31 通信装置、通信装置の制御方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2022040916A true JP2022040916A (ja) 2022-03-11

Family

ID=80352291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020145853A Pending JP2022040916A (ja) 2020-08-31 2020-08-31 通信装置、通信装置の制御方法、およびプログラム

Country Status (6)

Country Link
US (1) US20230179334A1 (ja)
EP (1) EP4207928A1 (ja)
JP (1) JP2022040916A (ja)
KR (1) KR20230051708A (ja)
CN (1) CN115997472A (ja)
WO (1) WO2022044852A1 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101911601B (zh) * 2007-11-08 2013-01-02 Lg电子株式会社 无线mesh网中的数据发送方法和A-MSDU格式
JP4743239B2 (ja) * 2008-08-22 2011-08-10 ソニー株式会社 無線通信装置、通信システム、および通信制御方法、並びにプログラム
WO2012140850A1 (ja) * 2011-04-15 2012-10-18 パナソニック株式会社 中継装置、受信装置、送信装置、及び中継方法
US9794796B2 (en) * 2012-06-13 2017-10-17 Qualcomm, Incorporation Systems and methods for simplified store and forward relays
JP2018050133A (ja) 2016-09-20 2018-03-29 キヤノン株式会社 通信装置、制御方法、及びプログラム
JP2020145853A (ja) 2019-03-06 2020-09-10 日本精工株式会社 空芯コイル及び空芯コイルの製造方法並びにステータ

Also Published As

Publication number Publication date
EP4207928A1 (en) 2023-07-05
US20230179334A1 (en) 2023-06-08
CN115997472A (zh) 2023-04-21
WO2022044852A1 (ja) 2022-03-03
KR20230051708A (ko) 2023-04-18

Similar Documents

Publication Publication Date Title
CN111800219B (zh) 数据传输方法、用户设备及控制节点
JP7177225B2 (ja) Txopを使用する無線通信方法及びそれを使用する無線通信端末
US20230115667A1 (en) Access point apparatus, control method therefor, and computer readable storage medium
US20230137441A1 (en) Communication apparatus, control method for communication apparatus, and storage medium
WO2022044852A1 (ja) 通信装置、通信装置の制御方法、およびプログラム
JP2020141300A (ja) 通信装置及びその通信方法、情報処理装置及びその制御方法、及び、プログラム
JP7490358B2 (ja) 通信装置、制御方法、およびプログラム
US20240224360A1 (en) Communication device, communication method, and non-transitory storage medium
US20240224361A1 (en) Communication device, communication method, and non-transitory computer-readable storage medium
WO2023048092A1 (ja) 通信装置、通信方法、およびプログラム
WO2023095544A1 (ja) 通信装置、通信方法、およびプログラム
WO2021241032A1 (ja) 通信装置、通信装置の制御方法、およびプログラム
WO2023037970A1 (ja) 通信装置、通信方法、およびプログラム
WO2023054250A1 (ja) 通信装置、通信装置の制御方法、およびそのプログラム
WO2023054249A1 (ja) 通信装置、通信装置の制御方法、およびそのプログラム
WO2023037971A1 (ja) 通信装置、通信方法、およびプログラム
KR20240107185A (ko) 통신 장치, 제어 방법, 및 저장 매체
KR20230093013A (ko) 통신 장치, 제어 방법 및 기억 매체
JP2023051565A (ja) 通信装置、通信装置の制御方法、およびそのプログラム
JP2022105211A (ja) 送信装置、受信装置、無線通信システム、及び通信方法
KR20230042070A (ko) 통신 장치, 제어 방법 및 프로그램
KR20240056778A (ko) 통신 장치, 통신 장치의 제어 방법 및 그 프로그램
JP2022187144A (ja) 通信装置、通信方法、およびプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230828