Apparatus, system, and method of communicating during a transmission opportunity (TXOP)

文档序号:1358554 发布日期:2020-07-24 浏览:9次 中文

阅读说明:本技术 在传输机会(txop)期间通信的装置、系统和方法 (Apparatus, system, and method of communicating during a transmission opportunity (TXOP) ) 是由 奥伦·凯德姆 莱恩·莫尔 尼尔·帕兹 阿龙·佩斯 德罗尔·马尔科维奇 伊格·布莱曼 于 2018-01-18 设计创作,主要内容包括:例如,第一STA可被配置为:向第二STA发送消息,该消息包括第一值来指示出在TXOP开始时第一STA处的可用存储器大小,以及第二值来指示出在该TXOP期间A-MPDU传输的最大长度;并且在TXOP期间从第二STA接收初始A-MPDU,初始A-MPDU的长度不长于第一值;基于第一STA处的当前可用存储器大小来确定容量值,该容量值指示出第二STA是否将被允许向第一STA发送具有不长于第二值的长度的后续A-MPDU;并且向第二STA发送包括缓冲器容量字段的Ack,该缓冲器容量字段包括容量值。(For example, the first STA may be configured to: transmitting a message to a second STA, the message including a first value to indicate an available memory size at the first STA at the start of the TXOP and a second value to indicate a maximum length of a-MPDU transmissions during the TXOP; and receiving an initial a-MPDU from the second STA during the TXOP, the length of the initial a-MPDU being no longer than the first value; determining a capacity value based on a current available memory size at the first STA, the capacity value indicating whether the second STA will be allowed to transmit subsequent a-MPDUs having a length no longer than the second value to the first STA; and transmitting an Ack including a buffer capacity field including a capacity value to the second STA.)

1. An apparatus comprising logic and circuitry configured to cause a first wireless communication Station (STA) to:

transmitting a message to a second STA, the message comprising a first value to indicate an available memory size at the first STA at a start of a transmission opportunity (TXOP), and a second value to indicate a maximum length of an aggregated Media Access Control (MAC) protocol data unit (A-MPDU) transmission during the TXOP;

receiving an initial A-MPDU from the second STA during the TXOP, the initial A-MPDU having a length no longer than the first value;

determining a capacity value based on a current available memory size at the first STA, the capacity value to indicate whether the second STA will be allowed to transmit subsequent A-MPDUs to the first STA having a length no longer than the second value; and is

Transmitting an acknowledgement (Ack) to the second STA to acknowledge the initial A-MPDU, the Ack including a buffer capacity field including the capacity value.

2. The apparatus of claim 1, configured to cause the first STA to: setting the capacity value to indicate that the second STA is not allowed to transmit the subsequent A-MPDU to the first STA when the current available memory size is below the second value.

3. The apparatus of claim 1, configured to cause the first STA to: setting the capacity value to indicate that the second STA is allowed to transmit the subsequent A-MPDU to the first STA when the current available memory size is not below the second value.

4. The apparatus of claim 1, configured to cause the first STA to: setting the capacity value to a first predetermined value to indicate that the second STA is not allowed to transmit the subsequent A-MPDU to the first STA, or to a second predetermined value to indicate that the second STA is allowed to transmit the subsequent A-MPDU to the first STA.

5. The apparatus of claim 1, configured to cause the first STA to: receiving an Ack request from the second STA and transmitting a subsequent Ack to the second STA to acknowledge the Ack request when the capacity value indicates that the second STA is not allowed to transmit the subsequent A-MPDU to the first STA, the subsequent Ack including an updated capacity value, the updated capacity value based on an updated current available memory size at the second STA, the updated capacity value to indicate whether the second STA will be allowed to transmit the subsequent A-MPDU to the second STA.

6. The apparatus of claim 1, configured to cause the first STA to: receiving the subsequent A-MPDU when the capacity value indicates that the second STA is allowed to transmit the subsequent A-MPDU to the first STA, determining an updated capacity value based on an updated current available memory size at the first STA, and transmitting a subsequent Ack to the second STA to acknowledge the subsequent A-MPDU, the subsequent Ack including the updated capacity value.

7. The apparatus of claim 1, wherein the capacity value comprises a third value, the third value being less than the second value, the third value to indicate that the second STA is to be allowed to transmit subsequent a-MPDUs having a length no greater than the third value to the first STA.

8. The apparatus of claim 7, configured to cause the first STA to: receiving a subsequent A-MPDU having a length no longer than the third value, determining an updated capacity value based on an updated currently available memory size at the first STA, and transmitting a subsequent Ack to the second STA to acknowledge the subsequent A-MPDU, the subsequent Ack including the updated capacity value.

9. The apparatus of claim 7, wherein the third value comprises a count value to indicate a count of memory units.

10. The apparatus of claim 7, configured to cause the first STA to: determining the current available memory size based on a shared memory shared between at least a first Traffic Identifier (TID) and a second TID, receiving, from the second STA, a first A-MPDU corresponding to the first TID and a second A-MPDU corresponding to the second TID, and updating the current available memory size based on a length of the first A-MPDU and a length of the second A-MPDU.

11. The apparatus of claim 7, configured to cause the first STA to: the current available memory size is determined based on a dedicated memory dedicated to a Traffic Identifier (TID), and the current available memory size is updated based on a length of an a-MPDU corresponding to the TID.

12. The apparatus of claim 7, configured to cause the first STA to: communicating a capability indication with the second STA to indicate that the first STA is capable of determining the third value.

13. The apparatus of any of claims 1-12, wherein the message comprises an association request or a probe request.

14. The apparatus of any one of claims 1-12, wherein the Ack comprises a block Ack (ba) and the buffer capacity field comprises a receive buffer capacity (RBUFCAP) field.

15. The apparatus of any one of claims 1-12, comprising: one or more antennas, a memory, and a processor.

16. A method to be performed at a first wireless communication Station (STA), the method comprising:

transmitting a message to a second STA, the message comprising a first value to indicate an available memory size at the first STA at a start of a transmission opportunity (TXOP), and a second value to indicate a maximum length of an aggregated Media Access Control (MAC) protocol data unit (A-MPDU) transmission during the TXOP;

receiving an initial A-MPDU from the second STA during the TXOP, the initial A-MPDU having a length no longer than the first value;

determining a capacity value based on a current available memory size at the first STA, the capacity value to indicate whether the second STA will be allowed to transmit subsequent A-MPDUs to the first STA having a length no longer than the second value; and is

Transmitting an acknowledgement (Ack) to the second STA to acknowledge the initial A-MPDU, the Ack including a buffer capacity field including the capacity value.

17. The method of claim 16, wherein the capacity value comprises a third value, the third value being less than the second value, the third value indicating that the second STA will be allowed to transmit subsequent a-MPDUs having a length no greater than the third value to the first STA.

18. A product comprising one or more tangible computer-readable non-transitory storage media comprising computer-executable instructions operable to, when executed by at least one processor, enable the at least one processor to cause a first wireless communication Station (STA) to perform the method of claim 16 or 17.

19. An apparatus comprising logic and circuitry configured to cause a first wireless communication Station (STA) to:

receiving a message from a second STA, the message comprising a first value to indicate an available memory size at the second STA at a start of a transmission opportunity (TXOP), and a second value to indicate a maximum length of an aggregated Media Access Control (MAC) protocol data unit (A-MPDU) transmission during the TXOP;

transmitting an initial A-MPDU to the second STA during the TXOP, the length of the initial A-MPDU not being longer than the first value; and is

Receiving an acknowledgement (Ack) from the second STA to acknowledge the initial A-MPDU, the Ack including a buffer capacity field including a capacity value to indicate whether the first STA will be allowed to transmit subsequent A-MPDUs to the second STA having a length no longer than the second value, the capacity value being based on a current available memory size at the second STA.

20. The apparatus of claim 19, wherein the capacity value comprises: a first predetermined value indicating that the first STA is not allowed to transmit the subsequent A-MPDU to the second STA; or a second predetermined value indicating that the first STA is allowed to transmit the subsequent a-MPDU to the first STA.

21. The apparatus of claim 19, configured to cause the first STA to: transmitting an Ack request to the second STA and receiving a subsequent Ack from the second STA acknowledging the Ack request when the capacity value indicates that the first STA is not allowed to transmit the subsequent A-MPDU to the second STA, the subsequent Ack including an updated capacity value, the updated capacity value based on an updated current available memory size at the second STA, the updated capacity value indicating whether the first STA will be allowed to transmit the subsequent A-MPDU to the second STA.

22. The apparatus of claim 19, wherein the capacity value comprises a third value, the third value being less than the second value, the third value indicating that the first STA will be allowed to transmit subsequent a-MPDUs having a length no greater than the third value to the second STA.

23. The apparatus of any one of claims 19-22, comprising: one or more antennas, a memory, and a processor.

24. A product comprising one or more tangible computer-readable non-transitory storage media comprising computer-executable instructions operable to, when executed by at least one processor, enable the at least one processor to cause a first wireless communication Station (STA) to:

receiving a message from a second STA, the message comprising a first value to indicate an available memory size at the second STA at a start of a transmission opportunity (TXOP), and a second value to indicate a maximum length of an aggregated Media Access Control (MAC) protocol data unit (A-MPDU) transmission during the TXOP;

transmitting an initial A-MPDU to the second STA during the TXOP, the length of the initial A-MPDU not being longer than the first value; and is

Receiving an acknowledgement (Ack) from the second STA to acknowledge the initial A-MPDU, the Ack including a buffer capacity field including a capacity value to indicate whether the first STA will be allowed to transmit subsequent A-MPDUs to the second STA having a length no longer than the second value, the capacity value being based on a current available memory size at the second STA.

25. The product of claim 24, wherein the instructions, when executed, cause the first STA to: transmitting an Ack request to the second STA and receiving a subsequent Ack from the second STA acknowledging the Ack request when the capacity value indicates that the first STA is not allowed to transmit the subsequent A-MPDU to the second STA, the subsequent Ack including an updated capacity value, the updated capacity value based on an updated current available memory size at the second STA, the updated capacity value indicating whether the first STA will be allowed to transmit the subsequent A-MPDU to the second STA.

Technical Field

Embodiments described herein relate generally to communication during a Transmit Opportunity (TXOP).

Background

Wireless communication networks in the millimeter wave frequency band may provide high speed data access for users of wireless communication devices.

Drawings

For simplicity and clarity of illustration, elements illustrated in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity of presentation. Further, reference numerals may be repeated among the figures to indicate corresponding or analogous elements. The figures are listed below.

Fig. 1 is a schematic block diagram illustration of a system in accordance with some demonstrative embodiments.

Fig. 2 is a schematic illustration of an enhanced directed Multi-Gigabit (EDMG) Physical layer protocol data Unit (PPDU) format, which may be implemented in accordance with some demonstrative embodiments.

Fig. 3 is a schematic illustration of a diagram of operations and communications between an initiator Station (STA) and a responder STA, in accordance with some demonstrative embodiments.

Fig. 4 is a schematic illustration of a diagram of operations and communications between an initiator STA and a responder STA, according to some demonstrative embodiments.

Fig. 5 is a schematic illustration of a diagram of operations and communications between an initiator STA and a responder STA, according to some demonstrative embodiments.

Fig. 6 is a schematic flow diagram illustration of a method of communication during a transmission opportunity (TXOP), in accordance with some demonstrative embodiments.

Fig. 7 is a schematic flow diagram illustration of a method of communication during a TXOP, in accordance with some demonstrative embodiments.

Fig. 8 is a schematic illustration of a product of manufacture, according to some demonstrative embodiments.

Detailed Description

In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of some embodiments. However, it will be understood by those of ordinary skill in the art that some embodiments may be practiced without these specific details. In other instances, well-known methods, procedures, components, units and/or circuits have not been described in detail so as not to obscure the discussion.

Discussions herein utilizing terms such as "processing," "computing," "calculating," "determining," "establishing," "analyzing," "checking," or the like, may refer to operation(s) and/or process (es) of a computer, a computing platform, a computing system, or other electronic computing device, that manipulate and/or transform data represented as physical (e.g., electronic) quantities within the computer's registers and/or memories into other data similarly represented as physical quantities within the computer's registers and/or memories or other information storage medium that may store instructions to perform operations and/or processes.

The terms "plurality" and "a plurality" as used herein include, for example, "multiple" or "two or more". For example, "a plurality of items" includes two or more items.

References to "one embodiment," "an embodiment," "illustrative embodiment," "various embodiments," etc., indicate that the embodiment(s) so described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, repeated use of the phrase "in one embodiment" does not necessarily refer to the same embodiment, although it may.

As used herein, unless otherwise specified the use of the ordinal adjectives "first", "second", "third", etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.

Some embodiments may be used in conjunction with a variety of devices and systems, such as, for example, User Equipment (UE), Mobile devices (Mobile Device, MD), Wireless stations (station, STA), Personal computers (Personal computer, PC), desktop computers, Mobile computers, laptop computers, notebook computers, tablet computers, server computers, handheld devices, wearable devices, sensor devices, Internet of things (Internet of things, IoT) devices, Personal Digital assistants (Personal Digital Assistant, PDA) devices, handheld PDA devices, onboard devices, offboard devices, hybrid devices, onboard devices, offboard devices, Mobile or portable devices, consumer devices, non-Mobile or non-portable devices, Wireless communication stations, Wireless communication devices, Wireless Access points (Access Point, AP), wired or Wireless routers, wired or Wireless modems, Video devices, audio-Video (audio-Video) stations, Wireless communication stations, Wireless Access points (Access points, AP), Wireless networks (PAN or Wireless networks, Wireless networks (wlan) devices, Wireless Area networks (3632), Wireless networks (wlan) devices, Wireless networks (L), Wireless networks (Wireless networks) networks (wlan, Wireless networks) devices, Wireless networks (L, Wireless networks (Wireless networks).

Some embodiments may be used in connection with devices and/or networks operating according to the existing IEEE802.11 standard (including IEEE802.11-2016 (IEEE 802.11-2016, IEEE standard for information technology-telecommunications and information exchange between system local and metropolitan area networks-specifically requiring part 11: Wireless L AN Medium Access Control (MAC) and physical layer (PHY) specifications, 2016 year 12 month 7 day), and/or IEEE802.11ay (p802.11ay standard for information technology-telecommunications and information exchange between system local and metropolitan area networks-specifically requiring part 11: Wireless L AN Medium Access Control (MAC) and physical layer (PHY) specifications-revised: enhanced throughput for operation in unlicensed bands above 45 GHz)) and/or future versions and/or derivatives thereof, devices and/or networks operating according to the existing WFA Peer-to-Peer (P2P) specifications (WiFi version P, 1.7 year 6 month) and/or derivatives thereof, as Wireless devices and/or Wireless devices operating according to the existing Partnership Project (rat) and/or evolution 3 g) standards, Wireless networks, Wireless devices and/or future generations (rat devices and/or evolution 3 years), Wireless networks operating according to the existing Wireless Alliance (ad-3 h) and/or evolution 3 h standards, the aforementioned legacy and/or evolution 3 h network standards.

Some embodiments may be used in conjunction with: one-way and/or two-way radio communication systems, cellular radiotelephone communication systems, mobile telephones, cellular telephones, radiotelephones, Personal Communication Systems (PCS) devices, PDA devices including wireless communication devices, mobile or portable Global Positioning System (GPS) devices, devices including GPS receivers or transceivers or chips, devices including RFID elements or chips, Multiple Input Multiple Output (MIMO) transceivers or devices, Single Input Multiple Output (SIMO) transceivers or devices, Multiple Input Single Output (MISO) transceivers or devices, devices having one or more internal and/or external antennas, Digital Video Broadcasting (DVB) devices or systems, multi-standard radio devices or systems, or wired or wireless handheld radio devices, such as smart phones, Wireless Application Protocol (WAP) devices, and so forth.

Some embodiments may be used in conjunction with one or more types of wireless communication signals and/or systems, e.g., Radio Frequency (RF), redIn addition (Infra Red, IR), Frequency-Division multiplexing (FDM), Orthogonal FDM (Orthogonal FDM, OFDM), Orthogonal Frequency-Division Multiple Access (Orthogonal Frequency-Division Multiple Access, OFDMA), FDM Time-Division multiplexing (TDM), Time-Division Multiple Access (Time-Division Multiple Access, TDMA), Multi-User MIMO (Multi-User MIMO, MU-MIMO), space-Division Multiple Access (Spatial Division Multiple Access, Access), Extended TDMA (Extended TDMA, E-TDMA), General Packet radio service (General Packet radio service, GPRS), Extended GPRS, Code Division Multiple Access (Code-Division Multiple Access, Wideband), CDMA (CDMA, Wireless-Code Division Multiple Access, CDMA, multicarrier, CDMA 2000, CDMA-Division Multiple Access (CDMA-multicarrier Modulation, CDMA-Multiple Access, CDMA-Multiple Access (CDMA-Division Multiple Access, CDMA-Multiple-Carrier Modulation),global Positioning System (GPS), Wi-Fi, Wi-Max, ZigBeeTMUltra-Wideband (UWB), Global System for Mobile communication (GSM), 2G, 2.5G, 3G, 3.5G, 4G, fifth (5G) or sixth (6G) generation Mobile networks, 3GPP, Long term evolution (L ong Termevolution, &lTtTtranslation = L "&gTtL &lTt/T &gTtTE), L TE advanced versions, GSM Data Enhanced Data rates (Enhanced for GSM evolution, EDGE), etc. other embodiments may be used in various other devices, systems and/or networks.

As used herein, the term "wireless device" includes, for example, devices capable of wireless communication, communication stations capable of wireless communication, portable or non-portable devices capable of wireless communication, and the like. In some demonstrative embodiments, the wireless device may be or may include a peripheral integrated with the computer, or a peripheral attached to the computer. In some demonstrative embodiments, the term "wireless device" may optionally include a wireless service.

The term "communicating" as used herein with respect to communication signals includes transmitting communication signals and/or receiving communication signals. For example, a communication unit capable of communication signals may include a transmitter to transmit communication signals to at least one other communication unit, and/or a communication receiver to receive communication signals from at least one other communication unit. Verb communications may be used to refer to a sent action or a received action. In one example, the phrase "in signal communication" may refer to the act of transmitting a signal by a first device and may not necessarily include the act of receiving a signal by a second device. In another example, the phrase "in signal communication" may refer to the act of receiving a signal by a first device and may not necessarily include the act of transmitting a signal by a second device. The communication signals may be transmitted and/or received, for example, in the form of Radio Frequency (RF) communication signals and/or any other type of signals.

As used herein, the term "circuitry" may refer to, be part of, or include the following: an Application Specific Integrated Circuit (ASIC), an Integrated Circuit, an electronic Circuit, a processor (shared, dedicated, or group) and/or memory (shared, dedicated, or group) that execute one or more software or firmware programs, a combinational logic Circuit, and/or other suitable hardware components that provide the described functionality. In some embodiments, the circuitry may be implemented in, or the functions associated with the circuitry may be implemented by, one or more software or firmware modules. In some embodiments, the circuitry may comprise logic operable, at least in part, in hardware.

The term "logic" may refer, for example, to computational logic embedded in circuitry of a computing device and/or computational logic stored in memory of the computing device. For example, logic may be accessed by a processor of a computing device to execute computing logic to perform computing functions and/or operations. In one example, logic may be embedded in various types of memory and/or firmware, such as silicon blocks of various chips and/or processors. Logic may be included in and/or implemented as part of various circuitry, such as radio circuitry, receiver circuitry, control circuitry, transmitter circuitry, transceiver circuitry, processor circuitry, and so forth. In one example, logic may be embedded in volatile memory and/or non-volatile memory, including random access memory, read only memory, programmable memory, magnetic memory, flash memory, persistent memory, and so forth. Logic may be executed by one or more processors utilizing memory, e.g., registers, storage devices, buffers, etc., coupled to the one or more processors as needed to execute the logic.

Other embodiments may be used in conjunction with any other suitable wireless communication network, such as a wireless area network, a "piconet" (piconet), a WPAN, a WVAN, and so forth.

However, other embodiments may be implemented using any other suitable wireless communication Frequency band, such as the Extreme High Frequency (EHF) band (millimeter wave (mmWave) Frequency band), such as the Frequency band within the Frequency band between 20GHz and 300GHz, the Frequency band above 45GHz, the 5G Frequency band, the Frequency band below 20GHz, such as the Sub-1 GHz (Sub 1GHz, S1G) Frequency band, the 2.4GHz band, the 5GHz band, the W L AN Frequency band, the WPAN Frequency band, the Frequency band in accordance with the WGA specification, and so forth.

As used herein, the term "antenna" may include any suitable configuration, structure and/or arrangement of one or more antenna elements, components, units, assemblies and/or arrays. In some embodiments, the antenna may utilize separate transmit and receive antenna elements to implement transmit and receive functions. In some embodiments, the antenna may utilize common and/or integrated transmit/receive antenna elements to implement transmit and receive functions. The antennas may include, for example, a phased array antenna, a single element antenna, a set of switched beam antennas, and so forth.

As used herein, the terms "directional multi-gigabit" (DMG) and "directional band" (DBand) may relate to a frequency band where the channel start frequency is higher than 45 GHz. In one example, DMG communications may involve one or more directional links to communicate at a rate of multi-gigabits per second, such as at least 1 gigabit per second, such as at least 7 gigabits per second, at least 30 gigabits per second, or any other rate.

Some demonstrative embodiments may be implemented by a DMG STA (also referred to as an "mmWave STA (mSTA)") which may include, for example, a STA having a radio transmitter capable of operating on a channel within a DMG band. The DMG STA may perform other additional or alternative functions. Other embodiments may be implemented by any other apparatus, device, and/or station.

Referring to fig. 1, fig. 1 schematically illustrates a system 100 according to some demonstrative embodiments.

As shown in fig. 1, in some demonstrative embodiments, system 100 may include one or more wireless communication devices. For example, system 100 may include wireless communication device 102, wireless communication device 140, and/or one or more other devices.

In some demonstrative embodiments, devices 102 and/or 140 may include mobile devices or non-mobile (e.g., stationary) devices.

For example, device 102 and/or device 140 may include, for example, a UE, MD, STA, AP, PC, desktop computer, mobile computer, laptop computer, UltrabookTMA computer, a notebook computer, a tablet computer, a server computer, a handheld computer, an Internet of Things (IoT) Device, a sensor Device, a handheld Device, a wearable Device, a PDA Device, a handheld PDA Device, an onboard Device, an offboard Device, a hybrid Device (e.g., combining cellular phone functionality with PDA Device functionality), a consumer Device, an onboard Device, an offboard Device, a Mobile or portable Device, a non-Mobile or non-portable Device, a Mobile phone, a cellular phone, a PCS Device, a PDA Device including a wireless communication Device, a Mobile or portable GPS Device, a DVB Device, a relatively Small computing Device, a non-desktop computer, a "compact smart cell L ive L image, CS LL) Device, an Ultra Mobile Device (Ultra Mobile Device, UMD), an Ultra Mobile PC (Ultra Mobile PC, UMPC), a Mobile Internet DeviceA Mobile Internet Device (MID), "Origami" Device or Computing Device, a Dynamic Combinable Computing (DCC) enabled Device, a context aware Device, a Video Device, an audio Device, an a/V Device, a Set-Top Box (Set-Top-Box, STB), a Blu-ray Disc (BD) Player, a BD Recorder, a Digital Video Disc (DVD) Player, a High Definition (HD) DVD Player, a DVD Recorder, a HD DVD Recorder, a Personal Video Recorder (PVR), a broadcast HD receiver, a Video source, a Video sink, an audio sink, a stereo tuner, a broadcast radio receiver, a flat panel display, a Personal Media Player (Personal Player, PMP), a Digital Video camera (Digital Video camera, dvic), a Digital audio Player, speakers, audio receivers, audio amplifiers, gaming devices, data sources, data sinks, Digital Still Cameras (DSCs), media players, smart phones, televisions, music players, and the like.

In some demonstrative embodiments, device 102 may include, for example, one or more of a processor 191, an input unit 192, an output unit 193, a memory unit 194, and/or a storage unit 195; and/or device 140 may include, for example, one or more of a processor 181, an input unit 182, an output unit 183, a memory unit 184, and/or a storage unit 185. Device 102 and/or device 140 may optionally include other suitable hardware components and/or software components. In some demonstrative embodiments, some or all of the components of one or more of devices 102 and/or 140 may be enclosed in a common housing or package and may be interconnected or operably associated using one or more wired or wireless links. In other embodiments, components of one or more of device 102 and/or device 140 may be distributed among multiple or separate devices.

In some demonstrative embodiments, Processor 191 and/or Processor 181 may include, for example, a Central Processing Unit (CPU), a Digital Signal Processor (DSP), one or more Processor cores, a single-core Processor, a dual-core Processor, a multi-core Processor, a microprocessor, a host Processor, a controller, a plurality of processors or controllers, a chip, a microchip, one or more circuits, a Circuit, a logic Unit, an Integrated Circuit (IC), an Application-Specific IC (ASIC), or any other suitable multi-purpose or special-purpose Processor or controller. Processor 191 may execute instructions of, for example, an Operating System (OS) of device 102 and/or one or more suitable applications. Processor 181 may execute instructions of, for example, an Operating System (OS) of device 140 and/or one or more suitable applications.

In some demonstrative embodiments, input unit 192 and/or input unit 182 may include, for example, a keyboard, keypad, mouse, touch screen, touch pad, trackball, stylus, microphone, or other suitable pointing device or input device, output unit 193 and/or output unit 183 may include, for example, a monitor, screen, touch screen, flat panel Display, light Emitting Diode (L light Emitting Diode, L ED) Display unit, liquid Crystal Display (L liquid Crystal Display, L CD) Display unit, plasma Display unit, one or more audio speakers or headphones, or other suitable output device.

In some demonstrative embodiments, Memory unit 194 and/or Memory unit 184 may include, for example, Random Access Memory (RAM), Read Only Memory (ROM), Dynamic RAM (DRAM), Synchronous DRAM (SD-RAM), flash Memory, volatile Memory, non-volatile Memory, cache Memory, a buffer, a short-term Memory unit, a long-term Memory unit, or other suitable Memory units. Storage unit 195 and/or storage unit 185 may include, for example, a hard Disk drive, a floppy Disk drive, a Compact Disk (CD) drive, a CD-ROM drive, a DVD drive, or other suitable removable or non-removable storage units. Memory unit 194 and/or storage unit 195, for example, may store data processed by device 102. Memory unit 184 and/or storage unit 185, for example, may store data processed by device 140.

In some demonstrative embodiments, wireless communication devices 102 and/or 140 may be capable of communicating content, data, information and/or signals via a Wireless Medium (WM) 103. In some demonstrative embodiments, wireless medium 103 may include, for example, a radio channel, a cellular channel, an RF channel, a WiFi channel, a 5G channel, an IR channel, a Bluetooth (BT) channel, a Global Navigation Satellite System (GNSS) channel, and the like.

In some demonstrative embodiments, WM103 may include one or more directional frequency bands and/or channels. For example, WM103 may include one or more millimeter wave (mmWave) wireless communication bands and/or channels.

In some demonstrative embodiments, WM103 may include one or more DMG channels. In other embodiments, WM103 may include any other directional channel.

In other embodiments, WM103 may include any other type of channel on any other frequency band.

In some demonstrative embodiments, devices 102 and/or 140 may include one or more radios including circuitry and/or logic to perform wireless communication between devices 102, 140 and/or one or more other wireless communication devices. For example, device 102 may include at least one radio 114 and/or device 140 may include at least one radio 144.

In some demonstrative embodiments, radio 114 and/or radio 144 may include one or more wireless receivers (Rx) including circuits and/or logic to receive wireless communication signals, RF signals, frames, blocks, transmission streams, packets, messages, data items and/or data. For example, radio 114 may include at least one receiver 116, and/or radio 144 may include at least one receiver 146.

In some demonstrative embodiments, radios 114 and/or 144 may include one or more wireless transmitters (Tx), including circuits and/or logic to transmit wireless communication signals, RF signals, frames, blocks, transmission streams, packets, messages, data items and/or data. For example, radio 114 may include at least one transmitter 118 and/or radio 144 may include at least one transmitter 148.

In some demonstrative embodiments, radios 114 and/or 144, transmitters 118 and/or 148, and/or receivers 116 and/or 146 may include: a circuit; logic; radio Frequency (RF) elements, circuits and/or logic; baseband elements, circuitry and/or logic; modulation elements, circuitry and/or logic; demodulation elements, circuitry and/or logic; an amplifier; an analog-to-digital and/or digital-to-analog converter; a filter; and so on. For example, radio 114 and/or radio 144 may include or may be implemented as part of a wireless Network Interface Card (NIC) or the like.

In some demonstrative embodiments, radios 114 and/or 144 may be configured to communicate over a directional frequency band, e.g., an mmWave frequency band, a 5G frequency band, and/or any other frequency band, e.g., a 2.4GHz frequency band, a 5GHz frequency band, an S1G frequency band, and/or any other frequency band.

In some demonstrative embodiments, radios 114 and/or 144 may include, or may be associated with, one or more (e.g., multiple) directional antennas.

In some demonstrative embodiments, device 102 may include one or more (e.g., multiple) directional antennas 107 and/or device 140 may include one or more (e.g., multiple) directional antennas 147.

Antennas 107 and/or 147 may include any type of antenna suitable for transmitting and/or receiving wireless communication signals, blocks, frames, transmission streams, packets, messages and/or data. For example, antennas 107 and/or 147 may include any suitable configuration, structure and/or arrangement of one or more antenna elements, components, units, assemblies and/or arrays. Antennas 107 and/or 147 may include, for example, antennas suitable for directional communication, e.g., using beamforming techniques. For example, antennas 107 and/or 147 may include a phased array antenna, a multi-element antenna, a set of switched beam antennas, and so forth. In some embodiments, antennas 107 and/or 147 may implement transmit and receive functions using separate transmit and receive antenna elements. In some embodiments, antennas 107 and/or 147 may utilize common and/or integrated transmit/receive elements to perform transmit and receive functions.

In some demonstrative embodiments, antennas 107 and/or 147 may include directional antennas, which may be steered to one or more beam directions. For example, antenna 107 may be directed to one or more beam directions 135 and/or antenna 147 may be directed to one or more beam directions 145.

In some demonstrative embodiments, antennas 107 and/or 147 may include and/or may be implemented as part of a single Phased Antenna Array (PAA).

In some demonstrative embodiments, antennas 107 and/or 147 may be implemented as part of a plurality of PAAs, e.g., as a plurality of physically independent PAAs.

In some demonstrative embodiments, a PAA may include, for example, a rectangular geometry, e.g., including integer rows (denoted as M) and integer columns (denoted as N). In other embodiments, any other type of antenna and/or antenna array may be used.

In some demonstrative embodiments, antennas 107 and/or 147 may be connected to and/or associated with one or more Radio Frequency (RF) chains.

In some demonstrative embodiments, device 102 may include one or more (e.g., multiple) RF chains 109 connected to antenna 107 and/or associated with antenna 107.

In some demonstrative embodiments, one or more of RF chains 109 may be included as part of one or more elements of radio 114 and/or implemented as part of one or more elements of radio 114, e.g., included and/or implemented as part of transmitter 118 and/or receiver 116.

In some demonstrative embodiments, device 140 may include one or more (e.g., multiple) RF chains 149 connected to and/or associated with antenna 147.

In some demonstrative embodiments, one or more of RF chains 149 may be included as part of one or more elements of radio 144 and/or implemented as part of one or more elements of radio 144, e.g., included and/or implemented as part of transmitter 148 and/or receiver 146.

In some demonstrative embodiments, device 102 may include controller 124 and/or device 140 may include controller 154. Controller 124 may be configured to perform and/or trigger, cause, instruct, and/or control device 102 to perform one or more communications, to generate and/or communicate one or more messages and/or transmissions, and/or to perform one or more functions, operations, and/or processes between devices 102, 140 and/or one or more other devices; and/or controller 154 may be configured to perform and/or trigger, cause, instruct, and/or control device 140 to perform one or more communications to generate and/or communicate one or more messages and/or transmissions, and/or to perform one or more functions, operations, and/or processes between devices 102, 140 and/or one or more other devices, e.g., as described below.

In some demonstrative embodiments, controllers 124 and/or 154 may include, or may be implemented in part or in whole, for example, circuitry and/or logic including one or more processors of circuitry and/or logic, memory circuitry and/or logic, Media-Access Control (MAC) circuitry and/or logic, Physical layer (PHY) circuitry and/or logic, baseband (BB) circuitry and/or logic, BB Processor, BB memory, Application Processor (AP) circuitry and/or logic, AP Processor, AP memory, and/or any other circuitry and/or logic configured to perform the functions of controllers 124 and/or 154, respectively.

In one example, controller 124 may comprise circuitry and/or logic, e.g., one or more processors comprising circuitry and/or logic, to cause, trigger and/or control a wireless device (e.g., device 102) and/or a wireless station (e.g., a wireless STA implemented by device 102) to perform one or more operations, communications and/or functions, e.g., as described herein.

In one example, controller 154 may comprise circuitry and/or logic, e.g., one or more processors comprising circuitry and/or logic, to cause, trigger and/or control a wireless device (e.g., device 140) and/or a wireless station (e.g., a wireless STA implemented by device 140) to perform one or more operations, communications and/or functions, e.g., as described herein.

In some demonstrative embodiments, device 102 may include a message processor 128 configured to generate, process and/or access one or more messages communicated by device 102.

In one example, the message processor 128 may be configured to generate one or more messages to be transmitted by the device 102, and/or the message processor 128 may be configured to access and/or process one or more messages received by the device 102, for example, as described below.

In some demonstrative embodiments, device 140 may include a message processor 158 configured to generate, process and/or access one or more messages communicated by device 140.

In one example, the message processor 158 may be configured to generate one or more messages to be transmitted by the device 140, and/or the message processor 158 may be configured to access and/or process one or more messages received by the device 140, for example, as described below.

In some demonstrative embodiments, message processors 128 and/or 158 may include, or may be implemented in part or in whole by, for example, the following circuitry and/or logic: one or more processors comprising circuitry and/or logic, memory circuitry and/or logic, Media Access Control (MAC) circuitry and/or logic, physical layer (PHY) circuitry and/or logic, BB processor, BB memory, AP circuitry and/or logic, AP processor, AP memory, and/or any other circuitry and/or logic configured to perform the functions of message processor 128 and/or 158, respectively. Additionally or alternatively, one or more functions of the message processors 128 and/or 158 may be implemented by logic, which may be executed by a machine and/or one or more processors, e.g., as described below.

In some demonstrative embodiments, at least a portion of the functionality of message processor 128 may be implemented as part of radio 114 and/or at least a portion of the functionality of message processor 158 may be implemented as part of radio 144.

In some demonstrative embodiments, at least a portion of the functionality of message processor 128 may be implemented as part of controller 124 and/or at least a portion of the functionality of message processor 158 may be implemented as part of controller 154.

In other embodiments, the functionality of message processor 128 may be implemented as part of any other element of device 102 and/or the functionality of message processor 158 may be implemented as part of any other element of device 140.

In some demonstrative embodiments, at least a portion of the functionality of controller 124 and/or message processor 128 may be implemented by an integrated circuit, e.g., a chip, e.g., a system-on-a-chip (SoC). In one example, the chip or SoC may be configured to perform one or more functions of the radio 114. For example, the chip or SoC may include one or more elements of the controller 124, one or more elements of the message processor 128, and/or one or more elements of the radio 114. In one example, the controller 124, message processor 128, and radio 114 may be implemented as part of a chip or SoC.

In other embodiments, controller 124, message processor 128, and/or radio 114 may be implemented by one or more additional or alternative elements of device 102.

In some demonstrative embodiments, at least a portion of the functionality of controller 154 and/or message processor 158 may be implemented by an integrated circuit, e.g., a chip, e.g., a system-on-a-chip (SoC). In one example, the chip or SoC may be configured to perform one or more functions of radio 144. For example, the chip or SoC may include one or more elements of the controller 154, one or more elements of the message processor 158, and/or one or more elements of the radio 144. In one example, controller 154, message processor 158, and radio 144 may be implemented as part of a chip or SoC.

In other embodiments, controller 154, message processor 158, and/or radio 144 may be implemented by one or more additional or alternative elements of apparatus 140.

In some demonstrative embodiments, device 102 and/or device 140 may include, operate as, function as, and/or perform one or more functions of one or more STAs. For example, device 102 may include at least one STA and/or device 140 may include at least one STA.

In some demonstrative embodiments, device 102 and/or device 140 may include, operate as, function as, and/or perform one or more functions of one or more DMG STAs. For example, device 102 may include, operate as, function and/or perform one or more functions of at least one DMG STA, and/or device 140 may include, operate as, function and/or perform one or more functions of at least one DMG STA.

In other embodiments, device 102 and/or device 140 may include, operate as, function and/or perform one or more functions of any other wireless device and/or station, such as a W L AN STA, a WiFi STA, and/or the like.

In some demonstrative embodiments, device 102 and/or device 140 may be configured to operate as, function of, and/or perform one or more functions of: an Access Point (AP), such as a DMG AP, and/or a Personal Basic Service Set (PBSS) control point (PCP), such as a DMG PCP, such as an AP/PCP STA, such as a DMG AP/PCP STA.

In some demonstrative embodiments, device 102 and/or device 140 may be configured to operate as, function of, and/or perform one or more functions of: a non-AP STA, e.g., a DMG non-AP STA, and/or a non-PCP STA, e.g., a DMG non-PCP STA, e.g., a non-AP/PCP STA, e.g., a DMG non-AP/PCP STA.

In other embodiments, device 102 and/or device 140 may operate as, function of, and/or perform one or more functions of any other additional or alternative device and/or station.

In one example, a Station (STA) may include a logical entity that is a single addressable instance of a Media Access Control (MAC) and physical layer (PHY) interface to the Wireless Medium (WM). The STA may perform any other additional or alternative functions.

In one example, an AP may comprise an entity that includes a Station (STA), e.g., an STA, and provides access to distribution services for associated STAs via a Wireless Medium (WM). The AP may perform any other additional or alternative functions.

In one example, a Personal Basic Service Set (PBSS) control point (PCP) may comprise an entity that includes a STA (e.g., a Station (STA)) and coordinates access to the Wireless Medium (WM) by STAs that are members of the PBSS. The PCP may perform any other additional or alternative functions.

In one example, the PBSS may include a directional multi-gigabit (DMG) Basic Service Set (BSS) that includes, for example, one PBSS Control Point (PCP). For example, access to a Distribution System (DS) may not exist, but for example, an intra-PBSS forwarding service may optionally exist.

In one example, the PCP/AP STA may include a Station (STA) that is at least one of a PCP or an AP. The PCP/aptsta may perform any other additional or alternative functions.

In one example, the non-AP STAs may include STAs that are not included within the AP. The non-ap stas may perform any other additional or alternative functions.

In one example, non-PCP STAs may include STAs that are not PCPs. The non-PCP STA may perform any other additional or alternative functions.

In one example, non-PCP/AP STAs may include STAs that are not PCPs and are not APs. The non-PCP/AP STA may perform any other additional or alternative functions.

In some demonstrative embodiments, devices 102 and/or 140 may be configured to communicate over a Next Generation 60GHz (Next Generation 60GHz, NG60) network, an Enhanced DMG (EDMG) network, and/or any other network. For example, device 102 and/or device 140 may perform multiple-input multiple-output (MIMO) communications, e.g., for communicating over NG60 and/or an EDMG network, e.g., over NG60 or an EDMG frequency band.

In some demonstrative embodiments, devices 102 and/or 140 may be configured to operate in accordance with one or more specifications, including, for example, one or more IEEE802.11 specifications, e.g., IEEE802.11-2016 specifications, IEEE802.11ay specifications, and/or any other specifications and/or protocols.

Some demonstrative embodiments may be implemented, for example, as part of a new standard in the mmWave frequency band, e.g., the 60GHz frequency band or any other directional frequency band, e.g., as an evolution of the IEEE802.11-2016 specification and/or the IEEE802.11ad specification.

In some demonstrative embodiments, devices 102 and/or 140 may be configured according to one or more standards, e.g., according to the IEEE802.11ay standard, which may be configured, e.g., to enhance the efficiency and/or performance of the IEEE802.11ad specification, which may be configured to provide Wi-Fi connectivity in the 60GHz band.

Some demonstrative embodiments may enable, for example, a substantial increase in data transmission rates defined in the IEEE802.11ad specification, for example, from 7 gigabits per second (Gbps) to, for example, up to 30Gbps, or any other data rate that may, for example, meet the increased demand for network capacity for emerging applications.

Some demonstrative embodiments may, for example, be implemented to allow for an increase in transmission data rate, e.g., by applying MIMO and/or channel bonding techniques.

In some demonstrative embodiments, devices 102 and/or 140 may be configured to communicate MIMO over the mmWave wireless communication band.

In some demonstrative embodiments, devices 102 and/or 140 may be configured to support one or more mechanisms and/or features, e.g., channel bonding, single-user (SU) MIMO and/or multi-user (MU) MIMO, e.g., according to the ieee802.11ay standard and/or any other standard and/or protocol.

In some demonstrative embodiments, device 102 and/or device 140 may include, operate as, function and/or perform the functions of one or more EDMG STAs. For example, device 102 may include, operate as, function and/or perform the functions of at least one EDMG STA, and/or device 140 may include, operate as, function and/or perform the functions of at least one EDMG STA.

In some demonstrative embodiments, devices 102 and/or 140 may implement a communication scheme, which may include, for example, a physical layer (PHY) and/or a Medium Access Control (MAC) layer scheme to support one or more applications, and/or an increased transmission data rate, e.g., a data rate of up to 30Gbps, or any other data rate.

In some demonstrative embodiments, the PHY and/or MAC layer scheme may be configured to support frequency channel bonding on the mmWave frequency band (e.g., on the 60GHz band), SU MIMO techniques, and/or MU MIMO techniques.

In some demonstrative embodiments, devices 102 and/or 140 may be configured to implement one or more mechanisms, which may be configured to enable SU and/or MU communication utilizing downlink (D L) and/or uplink (U L) frames of a MIMO scheme.

For example, device 102 and/or device 140 may be configured to implement one or more MU mechanisms that may be configured to enable, for example, MU communication between a certain device (e.g., device 102) and a plurality of devices (e.g., including device 140 and/or one or more other devices) that utilizes D L frames of a MIMO scheme.

For example, device 102 and/or device 140 may be configured to communicate D L MIMO transmissions and/or U L MIMO transmissions, e.g., for communicating over NG60 and/or EDMG networks.

Such a specification may not be able to, for example, support an STA to transmit to multiple STAs simultaneously, e.g., using a MU-MIMO scheme (e.g., D L MU-MIMO) or any other MU scheme.

In some demonstrative embodiments, devices 102 and/or 140 may be configured to communicate in a frequency band above 45GHz over a channel bandwidth of, for example, at least 2.16 GHz.

In some demonstrative embodiments, devices 102 and/or 140 may be configured to implement one or more mechanisms, e.g., which may enable an extended single-channel BW scheme, e.g., a scheme in accordance with the ieee802.11ad specification, or any other scheme, to achieve higher data rates and/or increased capabilities, e.g., as described below.

In one example, a single channel BW scheme may include communication over a 2.16GHz channel (also referred to as a "single channel" or "DMG channel").

In some demonstrative embodiments, devices 102 and/or 140 may be configured to implement one or more channel bonding mechanisms, e.g., which may support communication over a channel BW (also referred to as a "wide channel," "EDMG channel," or "bonded channel") including two or more channels (e.g., two or more 2.16GHz channels), e.g., as described below.

In some demonstrative embodiments, the channel bonding mechanism may include, for example, mechanisms and/or operations of: with this mechanism and/or operation, two or more channels (e.g., 2.16GHz channels) may be combined, for example, to obtain higher bandwidth for packet transmission, for example, to enable higher data rates, for example, when compared to transmission over a single channel.

Some demonstrative embodiments are described herein for communication over a channel BW including two or more 2.16GHz channels, although other embodiments may be implemented for communication over a channel bandwidth (e.g., a "wide" channel) including or formed by any other number of two or more channels, e.g., an aggregated channel including an aggregation of two or more channels.

In some demonstrative embodiments, devices 102 and/or 140 may be configured to implement one or more channel bonding mechanisms, e.g., which may support increased channel bandwidth, e.g., 4.32GHz channel BW, 6.48GHz channel BW, 8.64GHz channel BW, and/or any other additional or alternative channel BW, e.g., as described below.

In some demonstrative embodiments, devices 102 and/or 140 may be configured to implement one or more channel bonding mechanisms, e.g., which may support an increased channel bandwidth, e.g., a 4.32GHz channel BW (e.g., including two 2.16GHz channels according to a channel bonding factor of 2), a 6.48GHz channel BW (e.g., including three 2.16GHz channels according to a channel bonding factor of 3), an 8.64GHz channel BW (e.g., including four 2.16GHz channels according to a channel bonding factor of 4), and/or any other additional or alternative channel BW (e.g., including any other number of 2.16GHz channels and/or according to any other channel bonding factor).

In some demonstrative embodiments, devices 102 and/or 140 may be configured to communicate one or more transmissions over one or more channel BWs, e.g., including a 2.16GHz channel BW, a 4.32GHz channel BW, a 6.48GHz channel BW, an 8.64GHz channel BW, and/or any other channel BW.

In some demonstrative embodiments, the introduction of MIMO may be based, for example, on enabling robust transmission modes and/or enhancing the reliability of data transmission, rather than, for example, enhancing the transmission rate, as compared to a single-input single-output (SISO) case. For example, one or more Space Time Block Coding (STBC) schemes exploiting the Space-Time channel diversity property may be implemented to implement one or more enhancements for MIMO transmission.

In some demonstrative embodiments, devices 102 and/or 140 may be configured to generate, process, transmit and/or receive a physical layer (PHY) Protocol Data Unit (PPDU), which has a PPDU format (also referred to as an "EDMG PPDU format"), e.g., which may be configured for communication between EDMG stations, e.g., as described below.

In some demonstrative embodiments, a PPDU, e.g., an EDMG PPDU, may include at least one non-EDMG field, e.g., a legacy (legacy) field, which may be identified, decodable and/or processed by one or more devices ("non-EDMG devices" or "legacy devices") that may not support one or more features or mechanisms ("non-legacy" mechanisms or "EDMG mechanisms"). For example, legacy devices may include non-EDMG stations, which may be configured, for example, according to the IEEE802.11-2016 standard, and so forth. For example, a non-EDMG station may include a DMG station that is not an EDMG station.

Referring to fig. 2, an edmppdu format 200 is schematically illustrated, which may be implemented in accordance with some demonstrative embodiments. In one example, devices 102 (fig. 1) and/or 140 (fig. 1) may be configured to generate, transmit, receive, and/or process one or more EDMG PPDUs having the structure and/or format of EDMG gppdu 200.

In one example, devices 102 (fig. 1) and/or 140 (fig. 1) may communicate with EDMG PPDU 200, e.g., as part of a transmission over a channel (e.g., an EDMG channel) having a channel bandwidth including one or more 2.16GHz channels, e.g., a channel BW of 2.16GHz, a channel BW of 4.32GHz, a channel BW of 6.48GHz, a channel BW of 8.64GHz, and/or any other channel BW, e.g., as described below.

In some demonstrative embodiments, as shown in fig. 2, EDMG PPDU 200 may include a non-EDMG portion 210 ("legacy portion"), e.g., as described below.

In some demonstrative embodiments, non-EDMG portion 210 may include a non-EDMG (legacy) Short Training Field (STF) (L-STF) 202, a non-EDMG (legacy) Channel Estimation Field (CEF) (L-CEF) 204, and/or a non-EDMG header (L header) 206, as shown in fig. 2.

In some demonstrative embodiments, EDMG PPDU 200 may include an EDMG portion 220, e.g., after non-EDMG portion 210, e.g., as described below, as shown in fig. 2.

In some demonstrative embodiments, EDMG portion 220 may include a first EDMG header (e.g., EDMG header a 208), an EDMG-STF 212, an EDMG-CEF214, a second EDMG header (e.g., EDMG header B216), a data field 218, and/or one or more beamforming training fields (e.g., TRN field 224), as shown in fig. 2.

In some demonstrative embodiments, EDMG portion 220 may include some or all of the fields shown in fig. 2 and/or one or more other additional or alternative fields.

Referring back to fig. 1, in some demonstrative embodiments, device 102 and/or device 140 may communicate, in some demonstrative embodiments,: one or more DMG PPDUs, e.g., including one or more of the non-EDMG fields of PPDU 200 (fig. 2), e.g., one or more fields and data fields of portion 210 (fig. 2); and/or one or more EDMG gppdus, e.g., including one or more of the EDMG fields of PPDU 200 (fig. 2).

In some demonstrative embodiments, devices 102 and/or 140 may have limited memory. For example, receiver memory may require additional silicon and/or additional gates, which may add cost and thus may likely be limited in some implementations.

In some demonstrative embodiments, devices 102 and/or 140 may be configured to communicate and process traffic of one or more different types of data traffic, e.g., web browsing data, Transmission Control Protocol (TCP), User Datagram Protocol (UDP), physical adaptation layer traffic, and the like.

In some demonstrative embodiments, devices 102 and/or 140 may have a memory, which may be shared between different types of data traffic.

In one example, different types of data traffic (e.g., data traffic according to the IEEE802.11 specification) may be referred to as Access Category (AC). In one example, four ACs may be defined, for example, according to the IEEE802.11 specification. For example, the AC may include a Best Effort AC, a Background AC, a Voice AC, and/or a Video AC. In other embodiments, any other additional or alternative types of traffic and/or AC may be defined and/or implemented.

In some demonstrative embodiments, the traffic flow may be identified by a traffic Identifier (ID) (TID) and/or may be associated with a particular AC.

In one example, one or more implementations may utilize shared memory, which may be shared, for example, by two or more ACs. For example, memory may be shared for traffic flows corresponding to best effort ACs and background traffic ACs that do not require strict quality of service.

In another example, one or more implementations may use one or more dedicated memories for one or more respective ACs. For example, a dedicated memory may be implemented for traffic streams corresponding to voice ACs; and/or dedicated memory may be implemented for video AC, which may require strict low latency.

In some illustrative embodiments, it may be desirable to address technical issues that may arise in the following situations: a wireless communication device that may need to support high-throughput traffic over a wireless medium may encounter one or more delays in delivering a traffic stream to a host, e.g., via a host interface, e.g., as described below.

In one example, the delay in delivering the traffic flow may occur, for example, when the wireless link peak throughput may be faster than the device host interface, such as for a multi-device implementation.

In another example, the delay in delivering the traffic stream may occur, for example, when the device host interface is in a power saving mode and may take time to recover its availability.

In another example, the delay in delivering the traffic flow may occur, for example, when the host CPU is occupied and/or may not be able to allocate enough buffers, or may not be able to clear (e.g., clear quickly enough) the receive buffers.

In some demonstrative embodiments, it may be advantageous, for example, to configure the receiver device to be able to indicate a hold to the sender device or to limit its transmission, e.g., until the receive memory of the receiver device is again available.

In some demonstrative embodiments, the receiver memory of the receiver device may overflow (overflow), which may cause a frame loss, e.g., if the receiver device lacks the ability to limit the transmission, e.g., if the receiver device is unable to indicate to the transmitter device to suspend or limit its transmission.

In some demonstrative embodiments, the receiver device may be configured to control the transmission of the received frame from the transmitter device, e.g., in some deployments, use cases, and/or scenarios, e.g., as described below.

In one example, in a first use case, a transmission opportunity (TXOP) request (e.g., in an incoming TXOP) may be sent from a TXOP initiator STA to a TXOP responder STA. According To this example, a recipient of a TXOP Request, e.g., a responder STA, may be able To Send a deny-To-Send (DTS) frame To the initiator STA in response To a Request-To-Send (RTS) frame from the initiator STA, e.g., if the responder STA's receive buffer is occupied.

In another example, in a second use case, the receipt of traffic may be a result of a TXOP initiator (e.g., TXOP owner), which may grant a Reservation Direction (RD) to a responder. According to this example, a recipient, e.g., a TXOP initiator, may stop granting the RD, e.g., if the receive buffer of the TXOP initiator is occupied.

In another example, in a third use case, the TXOP may be established by the TXOP initiator STA, which may send an RTS to the recipient STA, and upon receiving the RTS, memory at the recipient STA may be available. However, during the TXOP, the receive memory at the receiver STA may be flooded by the initiator STA (overfill). According to this third example, one or more flow control mechanisms may be implemented, for example, according to the IEEE802.11ad specification, as described below.

In some demonstrative embodiments, the flow control mechanism may support an optional use of a format for block Acknowledgement (ACK) (BlockACK, BACK, or BA), e.g., an "EDMG/extended compression BACK" format, wherein the BACK includes a receive buffer capacity (RBUFCAP) field.

In some demonstrative embodiments, the flow control mechanism may support the optional use of a representation of the RBUFCAP field, e.g., according to the IEEE802.11ad specification.

In some demonstrative embodiments, the flow control mechanism (e.g., according to the IEEE802.11ad specification) may be complex and/or optional, and thus, the recipient STA may not be able to rely on the sender STA to follow its indication, e.g., an indication to suspend or limit the transmission of the sender STA.

In some demonstrative embodiments, there may be a technical need for a flow control mechanism that may be configured to support and/or allow a recipient STA to advertise limited buffer capacity.

In some demonstrative embodiments, devices 102 and/or 140 may be configured to implement a flow control mechanism, which may be configured to support and/or allow a recipient STA to advertise its memory management unit, which may be implementation-dependent, e.g., as described below.

In some demonstrative embodiments, devices 102 and/or 140 may be configured to implement a flow control mechanism, which may be configured to support and/or allow STAs to advertise an available memory size at the start of a TXOP, e.g., a "flow control maximum a-MPDU size unit," e.g., as described below. For example, upon receiving an RTS, a responder STA may be required to decide whether the responder STA's receive buffer has sufficient space for an upcoming transmission, such as the transmission indicated by the RTS. In one example, configuring a responder STA to indicate what the first transmission size it is capable of receiving would be may not be efficient, and the responder STA may need to prepare memory availability for the maximum a-MPDU size. This scenario may cause inefficiencies, for example, because the TXOP may be rejected by the responder STA in some cases, e.g., due to lack of memory space.

In some demonstrative embodiments, devices 102 and/or 140 may be configured to implement a flow control mechanism, which may be configured to support and/or allow flexibility in reporting the capacity of a receiving memory (e.g., a "RBUFCAP"), e.g., as described below. For example, not allowing a STA to indicate any memory availability that the STA has may lead to implementation constraints.

In some demonstrative embodiments, devices 102 and/or 140 may be configured to implement a traffic flow control mechanism, e.g., a MAC traffic flow control mechanism, which may be configured to support and/or allow a recipient STA (e.g., a responder STA) to notify a sender STA (e.g., an initiator STA) regarding a transmission delivery size that the recipient STA is capable of receiving in an upcoming TXOP, e.g., as described below.

In some demonstrative embodiments, the traffic flow control mechanism may be configured to provide one or more rules for the initiator STA to follow, e.g., based on the indicated recipient capabilities, e.g., as described below.

In some demonstrative embodiments, the traffic flow control mechanism may be configured to allow and/or support the responder STA to deliver a transmission delivery size that the responder STA is capable of receiving in the upcoming TXOP, e.g., receive a memory occupancy, e.g., using the RBUFCAP field in a BlockAck message, e.g., as described below. In other embodiments, any other fields may be implemented.

In some demonstrative embodiments, devices 102 and/or 140 may be configured to implement a first mechanism, e.g., a simplified method, which may be mandatory and supported by devices 102 and/or 140; and/or device 102 and/or device 140 may be configured to implement a second mechanism, such as an enhanced approach, which may be optional and may improve efficiency and/or throughput, for example, as described below.

In some demonstrative embodiments, devices 102 and/or 140 may be configured to implement a traffic flow control mechanism, which may be configured to allow a responder STA (e.g., device 102) to advertise maximum transmission delivery, e.g., in the case that the responder STA's receiver memory size is not updated, e.g., as described below.

In some demonstrative embodiments, the format of the RBUFCAP field, e.g., including the count value and the memory management unit size, may be defined in a manner that may enable, e.g., flexibility in supporting and/or allowing one or more different implementations and/or constraints, e.g., as described below.

In some demonstrative embodiments, devices 102 and/or 140 may be configured to implement a traffic flow control mechanism, which may be configured to support, enable and/or differentiate shared memory management and/or dedicated memory management, e.g., to support and/or enable different use cases, e.g., for various quality of service traffic, e.g., as described below.

In some demonstrative embodiments, a responder STA (e.g., a receiver STA) may be configured to report to an initiator STA (e.g., a sender STA) regarding an available memory size at the responder STA (e.g., at the start of a TXOP), e.g., as described below.

In some demonstrative embodiments, a responder STA (e.g., a receiver STA) may be configured to report to an initiator STA (e.g., a sender STA) regarding a maximum length of transmissions during a TXOP, e.g., Aggregate Medium Access Control (MAC) Protocol data unit (a-MPDU) transmissions, e.g., as described below.

In some demonstrative embodiments, device 102 may perform one or more operations of, function as, and/or perform one or more functions of the responder STA; and/or device 140 may perform one or more operations of, function as, and/or perform one or more functions of the initiator STA, for example, as described below.

In other embodiments, the device 140 may perform one or more operations of, function as, and/or perform one or more functions of the responder STA; and/or device 102 may perform one or more operations of, function as, and/or perform one or more functions of the initiator STA.

In some demonstrative embodiments, controller 124 may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 to generate and transmit a message to device 140, including: a first value (also referred to as a "maximum initial transmission length") indicating an available memory size at device 102 at the start of a TXOP; and a second value (also referred to as "maximum transmission length"), for example as described below.

In some demonstrative embodiments, device 140 may receive the message including the first value and the second value, e.g., as described below.

In some demonstrative embodiments, controller 154 may be configured to cause, trigger and/or control a wireless communication station implemented by device 140 to receive a message from device 102, including: a first value indicating an available memory size at device 102 at the start of a TXOP; and a second value to indicate a maximum length of a-MPDU transmission during a TXOP, e.g., as described below.

In some demonstrative embodiments, the message may include an association request or a probe request, e.g., as described below. In other embodiments, the message may comprise any other type of message.

In some demonstrative embodiments, device 140 may transmit an initial message, e.g., an initial a-MPDU, having a length no greater than a maximum initial transmission length, e.g., during the TXOP, to device 102, e.g., as described below.

In some demonstrative embodiments, controller 154 may be configured to cause, trigger and/or control a wireless communication station implemented by device 140 to generate and transmit an initial a-MPDU to device 102 during a TXOP. For example, the length of the initial a-MPDU may be no longer than a first value indicated by a message from device 102, e.g., no longer than a maximum initial transmission length, e.g., as described below.

In some demonstrative embodiments, device 102 may receive an initial a-MPDU from device 140, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 to receive and process an initial a-MPDU, which may have a length no longer than a first value, e.g., from device 140 during a TXOP, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 to determine a capacity value, e.g., based on a current available memory size at device 102, e.g., as described below.

In some demonstrative embodiments, the capacity value may be configured to indicate whether device 140 will be allowed to transmit a subsequent a-MPDU to device 102, the subsequent a-MPDU having a length no longer than a second value (e.g., no longer than the maximum transmission length), e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 to generate and transmit an acknowledgement (Ack) to device 140 to acknowledge the initial a-MPDU, e.g., as described below.

In some demonstrative embodiments, the Ack may include a buffer capacity field including a capacity value, e.g., as described below.

In some demonstrative embodiments, the Ack may include a Block Ack (BA). In other embodiments, the Ack may include any other type of acknowledgement message.

In some demonstrative embodiments, the buffer-size field may include a receive buffer size (RBUFCAP) field. In other embodiments, the buffer capacity field may include any other additional or alternative field.

In some demonstrative embodiments, device 140 may receive the Ack from device 102, e.g., as described below.

In some demonstrative embodiments, controller 154 may be configured to cause, trigger and/or control a wireless communication station implemented by device 140 to receive and process an Ack from device 102 acknowledging the initial a-MPDU, and controller 154 may be configured to cause, trigger and/or control a wireless communication station implemented by device 140 to access and/or process a buffer capacity field including a capacity value based on a current available memory size at device 102, to determine whether device 140 will be allowed to transmit a subsequent a-MPDU having a length no longer than the second value to device 102, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 to set the capacity value to a first predetermined value to indicate that device 140 is not allowed to transmit subsequent a-MPDUs to device 102, or to a second predetermined value to indicate that device 140 is allowed to transmit subsequent a-MPDUs to device 102, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 to set a capacity value to indicate that device 140 is not allowed to transmit subsequent a-MPDUs to device 102, e.g., when a current available memory size is below a second value. For example, controller 124 may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 to set a capacity value to a first predetermined value, e.g., when a currently available memory size is below a maximum transmission length, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 to set a capacity value to indicate that device 140 is allowed to transmit a subsequent a-MPDU to device 102, e.g., when the current available memory size is not below a second value. For example, controller 124 may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 to set a capacity value to a second predetermined value, e.g., when a current available memory size is greater than or equal to a maximum transmission length, e.g., as described below.

In some demonstrative embodiments, device 140 may receive an Ack including the first predetermined value or the second predetermined value, e.g., as described below.

In some demonstrative embodiments, controller 154 may be configured to cause, trigger and/or control a wireless communication station implemented by device 140 to select not to transmit a subsequent a-MPDU, e.g., when the capacity value indicates that device 140 is not allowed to transmit, e.g., to device 102, the subsequent a-MPDU. For example, the controller 154 may be configured to cause, trigger and/or control a wireless communication station implemented by the device 140 to choose not to transmit a subsequent a-MPDU, e.g., when the capacity value comprises a first predetermined value.

In some demonstrative embodiments, controller 154 may be configured to cause, trigger and/or control a wireless communication station implemented by device 140 to transmit an Ack request to device 102, e.g., to request transmission of a subsequent a-MPDU, e.g., when the capacity value indicates that device 140 is not allowed to transmit the subsequent a-MPDU to device 102, e.g., as described below.

In some demonstrative embodiments, device 102 may receive the Ack request from device 140, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 to receive an Ack request from device 140, e.g., if device 102 has set a capacity value indicating that device 140 is not allowed to transmit subsequent a-MPDUs to device 102, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 to transmit a subsequent Ack to device 140 to acknowledge the Ack request. For example, the subsequent Ack may include an updated capacity value that is based on an updated current available memory size at the device 102, e.g., as described below.

In some demonstrative embodiments, the updated capacity value may indicate whether device 140 will be allowed to transmit subsequent a-MPDUs to device 140, e.g., as described below.

In some demonstrative embodiments, device 140 may receive a subsequent Ack from device 102 for acknowledging the Ack request, e.g., as described below.

In some demonstrative embodiments, controller 154 may be configured to cause, trigger and/or control a wireless communication station implemented by device 140 to receive a subsequent Ack from device 102 including an updated capacity value based on an updated current available memory size at device 102, e.g., as described below.

In some demonstrative embodiments, controller 154 may be configured to allow a wireless communication station implemented by device 140 to transmit a subsequent a-MPDU, e.g., when the capacity value indicates that device 140 is allowed to transmit the subsequent a-MPDU, e.g., to device 102. For example, the controller 154 may be configured to allow a wireless communication station implemented by the device 140 to transmit subsequent a-MPDUs, e.g., when the capacity value includes a second predetermined value, e.g., as described below.

In some demonstrative embodiments, controller 154 may be configured to allow a wireless communication station implemented by device 140 to transmit a subsequent a-MPDU to device 102 and receive a subsequent Ack from device 102 for acknowledging the subsequent a-MPDU when the capacity value indicates that device 140 is allowed to transmit the subsequent a-MPDU to device 102, e.g., as described below.

In some demonstrative embodiments, the subsequent Ack may include an updated capacity value, e.g., based on an updated current available memory size at device 102, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured to allow a wireless communication station implemented by device 102 to set a capacity value to indicate that device 140 is allowed to transmit a subsequent a-MPDU to device 102, receive the subsequent a-MPDU, determine an updated capacity value, e.g., based on an updated currently available memory size at device 102, and transmit a subsequent Ack including the updated capacity value to device 140 to acknowledge the subsequent a-MPDU, e.g., as described below.

In some demonstrative embodiments, device 102 and/or device 140 may implement a first flow control mechanism, e.g., a simplified flow control mechanism, which may be configured to provide and/or support at least a minimally necessary mechanism for a responder STA (e.g., device 102) to pause and/or stop transmissions, e.g., subsequent a-MPDUs, from an initiator STA (e.g., device 140).

In some demonstrative embodiments, a first flow control mechanism, e.g., a simplified flow control mechanism, may provide a solution that may, e.g., avoid complex implementations and/or may provide a simple mechanism to, e.g., protect responder STAs, e.g., from buffer overflows.

In some demonstrative embodiments, the first flow control mechanism may utilize a buffer capacity field, e.g., an RBUFCAP field in a BlockAck frame, e.g., as described below.

In some demonstrative embodiments, the initiator should not send any QoS data frames in a subsequent delivery of the transmission, e.g., in the case where the responder sends the field RBUFCAP in the BACK at "00", until an updated non-zero RBUFCAP value is received.

In some demonstrative embodiments, the initiator may truncate (truncate) the TXOP or send a BlockAckReq to update the RBUFCAP, e.g., in case the responder sends the field RBUFCAP "00" in the BACK.

In some demonstrative embodiments, the initiator may send a delivery of any size, e.g., limited to any size of the existing block Ack agreement, e.g., in the case of the responder sending a BACK with the field RBUFCAP ≠ "00".

In some demonstrative embodiments, the RBUFCAP value may be valid for all TIDs delivered in the TXOP and only during the entire current TXOP, for example.

In some demonstrative embodiments, the most recently received value of RBUFCAP may become invalid, e.g., when the TXOP has ended.

In some demonstrative embodiments, when device 140 receives a BA including an RBUFCAP field having a first predetermined value (e.g., "00" or any other predetermined value), device 140 may not send a subsequent frame (e.g., any QoS data frame) in a subsequent delivery of the transmission, e.g., until an updated value in the RBUFCAP field is received, e.g., an RBUFCAP having a second predetermined value (e.g., a value other than "00" or any other predetermined value).

In some demonstrative embodiments, device 140 may be allowed to truncate the TXOP and/or may be allowed to send an Ack request, e.g., a BlockAckreq, to, e.g., request an update of a capacity value in the RBUFCAP field, e.g., when the RBUFCAP field in the BA includes a first predetermined value.

In some demonstrative embodiments, device 140 may be allowed to send any size of delivery, e.g., limited to any size of delivery of an existing block Ack agreement (e.g., limited to a maximum transmission length), when the RBUFCAP field in the BA includes a second predetermined value, e.g., as described below.

In some demonstrative embodiments, the capacity value represented by the RBUFCAP value may be valid for all Traffic Identifiers (TIDs) delivered in a TXOP and only during the entire TXOP.

In some demonstrative embodiments, the RBUFCAP value of, for example, the most recently received BA may become invalid when the TXOP ends.

Reference is made to fig. 3, which schematically illustrates a diagram 300 of operations and communications between an initiator STA340 and a responder STA302, in accordance with some demonstrative embodiments.

In one example, the device 102 (fig. 1) may be configured to perform one or more operations of the responder STA302, function as the responder STA302, and/or perform one or more functions of the responder STA 302; and/or the device 140 (fig. 1) may be configured to perform one or more operations of the initiator STA340, to function as the initiator STA340, and/or to perform one or more functions of the initiator STA 340.

In some demonstrative embodiments, one or more of the operations and communication of diagram 300 may be performed, e.g., according to a first flow control mechanism, e.g., a simplified flow control mechanism, e.g., as described below.

In some demonstrative embodiments, STA302 may send message 312 to STA340, as shown in fig. 3.

In some demonstrative embodiments, message 312 may include a probe request or an association request, as shown in fig. 3.

In some demonstrative embodiments, message 312 may include a first field 313, as shown in fig. 3, which first field 313 includes a first value, e.g., 8 Kilobytes (KB), to indicate an available memory size, e.g., a least obligatory available memory size, at STA302 at the beginning of TXOP 306.

In some demonstrative embodiments, message 312 may include a second field 315, as shown in fig. 3, and second field 315 may include a second value, e.g., 64KB, to indicate a maximum length of a-MPDU transmissions during TXOP 306.

In some demonstrative embodiments, STA340 may send message 314 to STA302, e.g., including first field 313 and second field 315, as shown in fig. 3.

In some demonstrative embodiments, message 314 may include a probe response or an association response, as shown in fig. 3. In other embodiments, messages 312 and/or 314 may include any other type of message.

In some demonstrative embodiments, as shown in fig. 3, at least one of messages 312 and/or 314 may include an indication ("enhanced flow control") to indicate that an enhanced flow control mechanism, e.g., the enhanced mechanism described below, is not supported. Thus, STAs 302 and 340 may choose to implement a simplified flow control mechanism, e.g., as described below.

In some demonstrative embodiments, STA302 and STA340 may exchange, for example, an Add block acknowledgement (Add BA ) request 316 and an ADDBA response 317, as shown in fig. 3, to establish an ADDBA agreement between STAs 302 and 340.

In some demonstrative embodiments, the available memory size of STA302 at the beginning of TXOP306 may be 128KB, as shown in fig. 3.

In some demonstrative embodiments, STA302 and STA340 may exchange, for example, request-To-Send (RTS)320 and Clear-To-Send (CTS) 322 To establish TXOP306, as shown in fig. 3. In other embodiments, TXOP306 may be established according to any other mechanism and/or message exchange, e.g., with a grant frame or any other message.

In some demonstrative embodiments, STA340 may transmit initial a-MPDU324 to STA302, as shown in fig. 3.

In some demonstrative embodiments, the length of initial a-MPDU324 may be no longer than a first value, e.g., no longer than a maximum initial transmission length (which may be equal to 8KB, for example), as STA340 may not be aware of the currently available memory size at STA302, for example, as shown in fig. 3.

In some demonstrative embodiments, the available memory size at STA302 may be 120KB, e.g., 128KB-8KB ═ 120KB, after receiving initial a-MPDU324, as shown in fig. 3.

In some demonstrative embodiments, STA302 may send Ack 326 to STA340 to acknowledge the initial a-MPDU324, as shown in fig. 3.

In some demonstrative embodiments, Ack 326 may include an RBUFCAP field 327, as shown in fig. 3, and RBUFCAP field 327 includes a capacity value, which includes a predetermined value, e.g., "FF", to indicate that STA340 is allowed to transmit subsequent a-MPDUs 328 to STA 302.

In one example, the STA302 may set the capacity value to a predetermined value, e.g., "FF," to indicate, e.g., that the STA340 is allowed to transmit subsequent a-MPDUs 328, e.g., because the currently available memory size is greater than the Max a-MPDU size value, maximum transmission length, after receiving the initial a-MPDU 324. For example, the currently available memory size is 120KB, which is greater than the Max-AMPDU size value of 64 KB.

In some demonstrative embodiments, STA340 may send a subsequent a-MPDU 328 having a length of 64KB to STA302, as shown in fig. 3.

In some demonstrative embodiments, the available memory size at STA302 may be 56KB, e.g., 120KB-64KB ═ 56KB, after receiving a-MPDU 328, as shown in fig. 3.

In some demonstrative embodiments, STA302 may send Ack 330 to STA340 to acknowledge a-MPDU 328, as shown in fig. 3.

In some demonstrative embodiments, Ack 330 may include an RBUFCAP field 327, as shown in fig. 3, and RBUFCAP field 327 includes a capacity value, e.g., set to a predetermined value, e.g., "00," to indicate that STA340 is not allowed to transmit subsequent a-MPDUs to STA 302.

In one example, the STA302 may set the capacity value to "00" to indicate that the STA340 is not allowed to transmit subsequent a-MPDUs, e.g., because the currently available memory size is below the maximum transmission length after receiving the a-MPDU 328. For example, the currently available memory size may be 56KB, which is below the Max-AMPDU size value (e.g., 64 KB).

In some demonstrative embodiments, STA302 may transmit data 331 having a size of 72KB to upper layers of STA302, as shown in fig. 3, which may result in an available memory size at STA302 of 128KB, e.g., 56KB +72KB ═ 128 KB.

In some demonstrative embodiments, STA340 may, for example, transmit Ack request 332 to STA302 to request transmission of subsequent a-MPDU336, as shown in fig. 3.

In some demonstrative embodiments, STA302 may send Ack 334 to STA340 to acknowledge Ack request 332, as shown in fig. 3.

In some demonstrative embodiments, Ack 334 may include an RBUFCAP field 327, as shown in fig. 3, and RBUFCAP field 327 includes a capacity value, e.g., a predetermined value "FF," to indicate that STA340 is allowed to transmit a-MPDU336 to STA 302.

In one example, the STA302 may, for example, set a capacity value to indicate that the STA340 is allowed to transmit the a-MPDU336 because, for example, the currently available memory size is greater than the Max-AMPDU size value after receiving the Ack request 332. For example, the currently available memory size is 128KB, which is greater than the Max-AMPDU size value of 64 KB.

In some demonstrative embodiments, STA340 may transmit an a-MPDU336 having a length of 56KB to STA302, as shown in fig. 3.

In some demonstrative embodiments, the available memory size at STA302 may be 72KB, e.g., 128KB-56KB ═ 72KB, after a-MPDU336 is received, as shown in fig. 3.

In some demonstrative embodiments, STA302 may send Ack 338 to STA340 to acknowledge a-MPDU336, as shown in fig. 3.

In some demonstrative embodiments, Ack 338 may include an RBUFCAP field 327, as shown in fig. 3, and RBUFCAP field 327 includes a capacity value, e.g., a predetermined value "FF," to indicate that STA340 is allowed to transmit subsequent a-MPDUs to STA 302.

In one example, the STA302 may, for example, set a capacity value to indicate that the STA340 is allowed to transmit subsequent a-MPDUs because, for example, the currently available memory size after receiving the a-MPDU336 is greater than the Max-AMPDU size value. For example, the currently available memory size may be 72KB, which is greater than the Max-AMPDU size value (e.g., 64 KB).

In some demonstrative embodiments, diagram 300 may show a scenario in which a simplified flow control mechanism may be utilized. For example, the simplified flow control mechanism may be defined as mandatory and may be operated, for example, when at least one of the STAs (e.g., STAs 302 and/or 340) does not support an enhanced flow control mechanism.

In one example, as described above, the STA340 may be allowed to transmit a maximum allowed a-MPDU length, e.g., 64KB, until the STA340 receives a first predetermined value (e.g., RBUFCAP ═ 0) in a responder block Ack (e.g., Ack 330). According to this example, initiator STA340 may stop its transmissions in TXOP306, e.g., until a non-zero value (e.g., a positive value) is received in response to an Ack request (e.g., in Ack 334 in response to Ack request 332).

Referring back to fig. 1, in some demonstrative embodiments, devices 102 and/or 140 may be configured to communicate a third value, e.g., in addition to a first value indicating an available memory size at the start of a TXOP, e.g., a maximum initial transmission length, and/or in addition to a second value indicating a maximum length of an a-MPDU transmission during the TXOP, e.g., a maximum transmission length, as described below.

In some demonstrative embodiments, device 102 and/or device 140 may be configured to communicate the third value, e.g., in a buffer capacity field of the ACK, e.g., in an RBUFCAP field, e.g., as described below.

In some demonstrative embodiments, the third value may indicate that device 140 is to be allowed to transmit subsequent a-MPDUs having a length no longer than the third value to device 102, e.g., as described below.

In some demonstrative embodiments, device 140 may receive an Ack including a third value from device 102, e.g., in the RBUFCAP field, e.g., as described below.

In some demonstrative embodiments, device 140 may determine an allowed length of the subsequent a-MPDU, e.g., based on the third value, e.g., as described below.

In some demonstrative embodiments, the third value may include a count value to indicate a count of memory units, e.g., as described below.

In one example, the count value may indicate a count of memory units, which may be associated with a "memory management unit" field. In one example, the memory management unit field may be advertised, e.g., in ADDBA, for each TID, e.g., as follows:

table 1

In other embodiments, any other memory unit may be implemented and/or advertised or negotiated with using any other field and/or message.

In some demonstrative embodiments, controller 154 may be configured to cause, trigger and/or control a wireless communication station implemented by device 140 to determine an allowed length of a subsequent a-MPDU, e.g., based on a product of a count value (e.g., a capacity value in an RBUFCAP field ("RBUFCAP")) and a memory unit size ("memory management unit"), e.g., as described below.

In some demonstrative embodiments, the transmission size of the a-MPDU may be limited, e.g., when the enhancement method is supported, e.g., as follows:

transfer size is less than or equal to (RBUFCAP x memory management unit)

For example, if the count value in, for example, the RBUFCAP field includes a count value of "3" and the advertised memory management unit field includes a value of 8KB, for example, according to table 1, the allowed length of the a-MPDU may be 24 KB.

In some demonstrative embodiments, controller 154 may be configured to cause, trigger and/or control a wireless communication station implemented by device 140 to transmit a subsequent a-MPDU having a length no longer than the capacity value indicated by the RBUFCAP to device 102, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 to receive a subsequent a-MPDU having a length no greater than the capacity value, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 to determine an updated capacity value, e.g., based on an updated currently available memory size at device 102, e.g., after receiving a subsequent a-MPDU having a length no greater than the third value, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 to transmit a subsequent Ack to device 140 to acknowledge the subsequent a-MPDU, e.g., as described below.

In some demonstrative embodiments, the subsequent Ack may include an updated capacity value, e.g., as described below.

In some demonstrative embodiments, controller 154 may be configured to cause, trigger and/or control a wireless communication station implemented by device 140 to receive a subsequent Ack from device 102 acknowledging receipt of a subsequent a-MPDU, e.g., as described below.

In some demonstrative embodiments, device 102 may be configured to communicate the capability indication with device 140, e.g., as described below.

In some demonstrative embodiments, the capability indication may indicate a capability of the STA to support the second flow control mechanism, e.g., an enhanced flow control mechanism, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 to communicate with device 140 of the capability indication to indicate that device 102 is capable of determining the third value, e.g., as described below.

In some demonstrative embodiments, controller 154 may be configured to cause, trigger and/or control a wireless communication station implemented by device 140 to communicate with device 102 with the capability indication to indicate that device 140 is capable of transmitting a subsequent a-MPDU having a length no greater than the third value, e.g., as described below.

In some demonstrative embodiments, the enhanced flow control mechanism may be implemented, for example, only if both devices 102 and 140 support the enhanced flow control mechanism.

In one example, an EDMG STA, such as device 102, may advertise the ability of the EDMG STA to support the use of enhanced flow control mechanisms, for example, in an EDMG capability Information Element (IE). For example, the use of an enhanced flow control mechanism may only occur if both devices 102 and 140 support the use of a flow control mechanism.

In some demonstrative embodiments, the at least one receive memory of device 102 may be managed as a shared receive (Rx) memory, e.g., as described below.

In one example, received traffic may be stored in a shared memory, which may be used for multiple TIDs, e.g., some TIDs or all TIDs.

In one example, the shared memory may BE associated with a Best Effort (BE) traffic Access Category (AC).

In some demonstrative embodiments, at least one receiving memory of device 102 may be managed as a dedicated memory, e.g., as described below.

In one example, the received traffic may be stored in a dedicated memory allocated only for the respective TID.

In one example, a dedicated memory may be allocated for received traffic associated with QoS traffic AC.

In some demonstrative embodiments, the responder STA (e.g., device 102) may be configured to notify the initiator STA (e.g., device 140) whether the TID is associated with the shared memory or the dedicated memory, e.g., via an ADDBA response. In other embodiments, the responder STA may be configured to inform the initiator STA whether the TID is associated with the shared memory or the dedicated memory and/or negotiate with the initiator STA whether the TID is associated with the shared memory or the dedicated memory, e.g., via any other message or mechanism.

In some demonstrative embodiments, device 102 may be configured to set the capacity value in the buffer capacity field of the Ack to a currently available memory corresponding to a shared memory shared between the multiple TIDs, e.g., as described below.

In some demonstrative embodiments, controller 154 may be configured to cause, trigger and/or control a wireless communication station implemented by apparatus 140 to transmit, e.g., a subsequent a-MPDU having a length no longer than the capacity value, e.g., when the subsequent a-MPDU corresponds to a TID of the plurality of TIDs to which the capacity value corresponds, e.g., as described below.

In some demonstrative embodiments, device 102 may determine the current available memory size, e.g., based on the shared memory, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 to determine, e.g., a current available memory size of the shared memory at device 102 based on the shared memory, which may be shared between at least the first TID and the second TID, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 to receive a first a-MPDU corresponding to the first TID and a second a-MPDU corresponding to the second TID from device 140, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 to update a currently available memory size of the shared memory based on a length of the first a-MPDU and a length of the second a-MPDU, e.g., as described below.

In some demonstrative embodiments, device 102 may be configured to set the capacity value in the buffer capacity field of the Ack to correspond to the currently available memory of the dedicated memory dedicated to the TID, e.g., as described below.

In some demonstrative embodiments, controller 154 may be configured to cause, trigger and/or control a wireless communication station implemented by apparatus 140 to transmit a subsequent a-MPDU having a length no longer than the capacity value when the subsequent a-MPDU corresponds to the TID, e.g., as described below.

In some demonstrative embodiments, device 102 may determine the current available memory size, e.g., based on the dedicated memory, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 to determine a current available memory size based on a dedicated memory dedicated to the TID, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 to update a currently available memory size of the dedicated memory, e.g., based on a length of an a-MPDU corresponding to the TID, e.g., as described below.

In some demonstrative embodiments, device 102 may be configured to communicate one or more a-MPDUs with device 140, e.g., when device 102 utilizes shared memory, e.g., as described below.

In one example, there may be a relatively high probability that the shared memory may be occupied at the beginning of a TXOP, since the shared memory may serve one or more Recipient Addresses (RAs) and/or TIDs. According to this example, an EDMG STA, such as device 102, may be configured to advertise a first value, such as a maximum initial transmission length (also referred to as a "flow control maximum a-MPDU size"), to indicate an available memory size at the STA at the beginning of a TXOP, e.g., to indicate a maximum size of a transmission that may be sent when a capacity value in an RBUFCAP field is unknown.

In some demonstrative embodiments, the first value, e.g., the maximum initial transmission length, may be advertised in an EDMG capability IE. In other embodiments, the first value indicating the available memory size at the STA at the start of the TXOP may be advertised in any other IE, message, and/or frame.

In some demonstrative embodiments, each new TXOP should begin with an initial a-MPDU having a size no greater than a flow control maximum a-MPDU size value advertised, for example, in an EDMG capability IE.

In some demonstrative embodiments, the first value indicating the available memory size at the STA at the start of the TXOP may be less than or equal to, for example, a second value indicating the maximum length of a-MPDU transmissions during the TXOP, as follows:

the maximum transmission length of the maximum A-MPDU which can be received by the STA is controlled within the flow control range of more than or equal to 0 and less than or equal to the size of the maximum A-MPDU

In some demonstrative embodiments, an initiator STA, e.g., device 140, may perform one or more operations and/or may follow one or more rules, e.g., when a TID of an a-MPDU is associated with a shared memory, e.g., as described below.

In some demonstrative embodiments, an initiator STA, e.g., device 140, may be configured to determine that a reception capacity value, e.g., in the RBUFCAP field, will be valid for all TIDs associated with the shared memory.

In some demonstrative embodiments, the initiator STA may transmit an initial a-MPDU having a length no longer than a maximum a-MPDU size for flow control, e.g., when a reception capacity value in the RBUFCAP field is unknown.

In some demonstrative embodiments, an initiator STA, e.g., device 140, may be configured to determine that a receive capacity value, e.g., in the RBUFCAP field, is valid only within a certain TXOP, e.g., its value may expire for a subsequent TXOP.

In some demonstrative embodiments, an initiator STA, e.g., device 140, may perform one or more operations and/or may follow one or more rules, e.g., when a TID of an a-MPDU is associated with a dedicated memory, e.g., as described below.

In some demonstrative embodiments, an initiator STA, e.g., device 140, may be configured to determine that a receive capacity value, e.g., in the RBUFCAP field, will only be valid for a respective Recipient Address (RA), sender address (TA), and/or TID traffic corresponding to the private memory.

In some demonstrative embodiments, the initiator may transmit, for example, a-MPDUs having the following sizes for each first transmission of the dedicated TID: the size is the maximum value between the last received capacity value and the flow control maximum a-MPDU size, e.g., in the RBUFCAP field.

In some demonstrative embodiments, a capacity value in a buffer capacity field (e.g., an RBUFCAP field) may be added, e.g., for each TID, e.g., in a multi-TID BlockAck variant.

In some demonstrative embodiments, the TID RBUFCAP representation of the capacity value, e.g., in a buffer capacity field corresponding to a shared memory or a dedicated memory, and/or the memory management unit size may be in accordance with a corresponding TID ADDBA agreement.

Reference is made to fig. 4, which schematically illustrates a diagram 400 of operations and communications between an initiator STA 440 and a responder STA402, in accordance with some demonstrative embodiments.

In one example, the device 102 (fig. 1) may be configured to perform one or more operations of the responder STA402, function as the responder STA402, and/or perform one or more functions of the responder STA 402; and/or device 140 (fig. 1) may be configured to perform one or more operations of initiator STA 440, to function as initiator STA 440, and/or to perform one or more functions of initiator STA 440.

In some demonstrative embodiments, one or more of the operations and communication of diagram 400 may be performed, e.g., in accordance with a second flow control mechanism, e.g., an enhanced flow control mechanism, e.g., as described below.

In some demonstrative embodiments, STA402 may include a shared memory, which may be shared between at least a first and a second TID, e.g., TID1 and TID2, e.g., as described below.

In some demonstrative embodiments, STA402 may send message 412 to STA 440, as shown in fig. 4.

In some demonstrative embodiments, message 412 may include a probe request or an association request, as shown in fig. 4.

In some demonstrative embodiments, message 412 may include a first field 413, and first field 413 may include a first value, e.g., a maximum initial transmission length, e.g., 32KB, to indicate an available memory size, e.g., a least obligated available memory size, at STA402 at the start of TXOP 406.

In some demonstrative embodiments, message 412 may include a second field 415, as shown in fig. 4, and second field 415 may include a second value, e.g., a maximum transmission length, e.g., 128KB, to indicate a maximum length of an a-MPDU transmission during TXOP 406.

In some demonstrative embodiments, STA 440 may send message 414 to STA402, e.g., including first field 413 and second field 415, as shown in fig. 4.

In some demonstrative embodiments, message 414 may include a probe response or an association response, as shown in fig. 4. In other embodiments, messages 412 and/or 414 may include any other type of message.

In some demonstrative embodiments, messages 412 and 414 may include an indication ("enhanced flow control") to indicate support of the enhanced flow control mechanism, as shown in fig. 4. Thus, STAs 402 and 440 may choose to implement an enhanced flow control mechanism, e.g., as described below.

In some demonstrative embodiments, STA402 and STA 440 may exchange, for example, ADDBA request 416 and ADDBA response 418, as shown in fig. 4, to establish an ADDBA agreement between STAs 402 and 440.

In some demonstrative embodiments, as shown in fig. 4, ADDBA response 418 may include an indication of the shared memory shared between TID1 and TID2 and an indication of a memory management unit size (e.g., 8 KB).

In some demonstrative embodiments, the available memory size of STA402 at the beginning of TXOP406 may be 128KB, as shown in fig. 4.

In some demonstrative embodiments, STA402 and STA 440 may exchange RTS 420 and CTS 422, e.g., to establish TXOP406, as shown in fig. 4. In other embodiments, TXOP406 may be established according to any other mechanism and/or message exchange, e.g., with a grant frame or any other message.

In some demonstrative embodiments, STA 440 may send an initial a-MPDU424, e.g., TID1 having a length of 32KB, to STA402, as shown in fig. 4.

In some demonstrative embodiments, as shown in fig. 4, the length of initial a-MPDU424 may be no longer than a first value, e.g., no longer than a maximum initial transmission length, which may be equal to 32KB, for example, because STA 440 may not be aware of the currently available memory size at STA 402.

In some demonstrative embodiments, the available memory size of the shared memory at STA402 may be 96KB, e.g., 128KB-32KB ═ 96KB, after receiving initial a-MPDU424, as shown in fig. 4.

In some demonstrative embodiments, STA402 may send Ack 426 to STA 440 to acknowledge initial a-MPDU424, as shown in fig. 4.

In some demonstrative embodiments, Ack 426 may include an RBUFCAP field 427, as shown in fig. 4, where RBUFCAP field 427 includes a third value to indicate that STA 440 is to be allowed to send a subsequent a-MPDU 428, e.g., TID1 or TID2, having a length no longer than the third value to STA 402.

In some demonstrative embodiments, the third value may include a count value, e.g., "12," to indicate a count of memory management units, as shown in fig. 4.

In one example, STA402 may set the third value to 12, for example, to allow a transmission size no longer than 96KB, e.g., 8KB x12 ═ 96KB, since the currently available memory size of the shared memory after receiving the initial a-MPDU424 is 96 KB.

In some demonstrative embodiments, STA402 may transmit data 431 having a size of 24KB to upper layers of STA402, as shown in fig. 4.

In some demonstrative embodiments, STA 440 may send an a-MPDU 428, e.g., TID1, having a length of 96KB to STA402, as shown in fig. 4.

In some demonstrative embodiments, the available memory size of the shared memory after receiving a-MPDU 428 may be 24KB, e.g., 96KB +24KB-96KB ═ 24KB, as shown in fig. 4.

In some demonstrative embodiments, STA402 may send Ack 430 to STA 440 to acknowledge a-MPDU 428, as shown in fig. 4.

In some demonstrative embodiments, Ack 430 may include an RBUFCAP field 427, as shown in fig. 4, where RBUFCAP field 427 includes a count value of "3" to indicate that STA 440 is allowed to send a subsequent a-MPDU, e.g., TID1 or TID2, having a length no longer than 24KB (e.g., 3x8KB ═ 24KB) to STA 402.

In one example, STA402 may set the value of RBUFCAP field 427 to "3," for example, to allow a transmission size no longer than 24KB because the currently available memory size of the shared memory after receiving a-MPDU 428 is 24 KB.

In some demonstrative embodiments, STA 440 may send an a-MPDU 432, e.g., TID1, having a length of 24KB to STA402, as shown in fig. 4.

In some demonstrative embodiments, the available memory size of the shared memory may be 0KB after receiving a-MPDU 432, e.g., 24 KB-0 KB, as shown in fig. 4.

In some demonstrative embodiments, STA402 may send Ack 434 to STA 440 to acknowledge a-MPDU 432, as shown in fig. 4.

In some demonstrative embodiments, Ack 430 may include an RBUFCAP field 427, as shown in fig. 4, where RBUFCAP field 427 includes a count value of "0" to indicate that STA 440 is not allowed to send a subsequent a-MPDU, e.g., TID1 or TID2, to STA 402.

In one example, STA402 may set the count value to 0, for example, because the currently available memory size of the shared memory after receiving a-MPDU 432 is 0 KB.

In some demonstrative embodiments, STA 440 may, for example, send Ack request 436 to STA402 to request transmission of a subsequent a-MPDU, e.g., TID1, as shown in fig. 4.

In some demonstrative embodiments, STA402 may send Ack 438 to STA 440 to acknowledge Ack request 436, as shown in fig. 4.

In some demonstrative embodiments, Ack 438 may include an RBUFCAP field 427, as shown in fig. 4, with RBUFCAP field 427 including a count value of "0" to indicate that STA 440 is not allowed to transmit subsequent a-MPDUs to the STA.

In one example, STA402 may set the count value to "0," for example, because the currently available memory size of the shared memory after receiving Ack request 436 is 0 KB.

In some demonstrative embodiments, STA402 may transmit data 439, having a size of 64KB, to upper layers of STA402, as shown in fig. 4.

In some demonstrative embodiments, the available memory size of the shared memory after transferring data 439 may be 64KB, e.g., 0+64KB — 64KB, as shown in fig. 4.

In some demonstrative embodiments, STA 440 may, for example, send Ack request 441 to STA402 to request transmission of a subsequent a-MPDU, e.g., TID1, as shown in fig. 4.

In some demonstrative embodiments, STA402 may send Ack 442 to STA 440 to acknowledge Ack request 441, as shown in fig. 4.

In some demonstrative embodiments, Ack 442 may include an RBUFCAP field 427, as shown in fig. 4, where RBUFCAP field 427 includes a count value of "8" to indicate that STA 440 is allowed to send a subsequent a-MPDU, e.g., TID1 or TID2, having a length no longer than 64KB (e.g., 8x8KB ═ 64KB) to STA 402.

In some demonstrative embodiments, STA 440 may send an a-MPDU 444, e.g., TID1, having a length of 24KB to STA402, as shown in fig. 4.

In some demonstrative embodiments, the available memory size of the shared memory after receiving a-MPDU 444 may be 40KB, e.g., 40 KB-64KB, as shown in fig. 4.

In some demonstrative embodiments, STA402 may send Ack 446 to STA 440 to acknowledge a-MPDU 444, as shown in fig. 4.

In some demonstrative embodiments, Ack 446 may include an RBUFCAP field 427, as shown in fig. 4, where RBUFCAP field 427 includes a count value of "5" to indicate that STA 440 is allowed to send a subsequent a-MPDU having a length no longer than 40KB (e.g., 5x8 KB-40 KB) to STA 402.

In some demonstrative embodiments, STA402 may transmit data 445, having a size of 64KB, to an upper layer of STA402, as shown in fig. 4.

In some demonstrative embodiments, STA 440 may send to STA402 a-MPDU 448, e.g., TID2, having a length of 40KB, as shown in fig. 4.

In some demonstrative embodiments, STA 440 may be allowed to send a-MPDU 448 corresponding to TID2, e.g., because the available memory size is shared between TID1 and TID2, and RBUFCAP field 427, including a count of "5", may be relevant for transmission of a-MPDUs corresponding to TID1 and/or transmission of a-MPDUs corresponding to TID2, as shown in fig. 4.

In some demonstrative embodiments, the available memory size of the shared memory after receiving a-MPDU 448 may be 56KB, e.g., 96-40 KB ═ 56KB, as shown in fig. 4.

In some demonstrative embodiments, STA402 may send Ack 450 to STA 440 to acknowledge a-MPDU 448, as shown in fig. 4.

In some demonstrative embodiments, Ack 450 may include an RBUFCAP field 427, as shown in fig. 4, where RBUFCAP field 427 includes a count value of 7 to indicate that STA 440 is allowed to send a subsequent a-MPDU, e.g., corresponding to TID1 or to TID2, and having a length no longer than 56KB (e.g., 7x 8KB ═ 56KB), to STA 402.

In one example, STA402 may set the count value to 7, for example, to allow a transmission size no longer than 56KB because the current available memory size shared between TID1 and TID2 is 56 KB.

In some demonstrative embodiments, STA 440 may transmit an a-MPDU 452 having a length of 32KB to STA402, as shown in fig. 4.

In some demonstrative embodiments, a-MPDU 452 may correspond to TID2, as shown in fig. 4.

In some demonstrative embodiments, the available memory size shared between TID1 and TID2 may be 24KB after a-MPDU 452 is received, e.g., 64KB-40KB ═ 24KB, as shown in fig. 4.

In some demonstrative embodiments, STA402 may send Ack 454 to STA 440 to acknowledge a-MPDU 452, as shown in fig. 4.

In some demonstrative embodiments, STA402 and STA 440 may exchange RTS 462 and CTS 464, e.g., to establish subsequent TXOP 408, e.g., as shown in fig. 4.

In some demonstrative embodiments, STA 440 may send an initial a-MPDU 466 of TXOP 408 to STA402, as shown in fig. 4.

In some demonstrative embodiments, as shown in fig. 4, the length of initial a-MPDU 466 may be no longer than a first value, e.g., no longer than a maximum initial transmission length (which may be equal to 32KB, for example), because STA 440 may not be aware of the currently available memory size at STA402 in TXOP 408.

In some demonstrative embodiments, diagram 400 may show a scenario in which an enhanced flow control mechanism may be used on a shared memory shared between TID1 and TID 2. For example, STAs 402 and 440 may choose to use enhanced flow control, e.g., based on an exchange of an indication that both STAs (e.g., STAs 402 and 440) support an enhanced flow control mechanism.

In one example, as shown in fig. 4, STA 440 may send an a-MPDU having a size limited by the count value in RBUFCAP field 427, which may allow STA402 to more efficiently manage its shared memory. Since the shared memory is shared for both TID1 and TID2, it may be that the count value in RBUFCAP field 427 reported for TID1 may be valid for TID2 transmissions.

In one example, as shown in fig. 4, STA 440 may transmit an initial a-MPDU, e.g., a-MPDUs 424 and/or 426, in a TXOP having a length no longer than the first flow control value in field 413.

Reference is made to fig. 5, which schematically illustrates a diagram 500 of operations and communications between an initiator STA 540 and a responder STA502, in accordance with some demonstrative embodiments.

In one example, the device 102 (fig. 1) may be configured to perform one or more operations of the responder STA502, function as the responder STA502, and/or one or more functions of the bus responder STA 502; and/or device 140 (fig. 1) may be configured to perform one or more operations of initiator STA 540, to function as initiator STA 540, and/or to perform one or more functions of initiator STA 540.

In some demonstrative embodiments, one or more of the operations and communication of diagram 500 may be performed, e.g., in accordance with a second flow control mechanism, e.g., an enhanced flow control mechanism, e.g., as described below.

In some demonstrative embodiments, STA502 may include: a first dedicated memory ("dedicated TID1 memory") which may be dedicated to a first TID, e.g., TID 1; and a second dedicated memory ("dedicated TID2 memory") that may be dedicated to a second TID, such as TID2, e.g., as described below.

In some demonstrative embodiments, STA502 may send message 512 to STA 540, as shown in fig. 5.

In some demonstrative embodiments, message 512 may include a probe request or an association request, as shown in fig. 5.

In some demonstrative embodiments, message 512 may include a first field 513, as shown in fig. 5, with first field 513 including a first value, e.g., a maximum initial transmission length, e.g., 32KB, to indicate an available memory size, e.g., a minimum obligation available memory size, at STA502 at the beginning of TXOP 506.

In some demonstrative embodiments, message 512 may include a second field 515, e.g., including a second value, e.g., a maximum transmission length, e.g., 128KB, to indicate a maximum length of an a-MPDU transmission during TXOP506, as shown in fig. 5.

In some demonstrative embodiments, STA 540 may send message 514 to STA502, e.g., including first field 513 and second field 515, as shown in fig. 5.

In some demonstrative embodiments, message 514 may include a probe response or an association response, as shown in fig. 5. In other embodiments, messages 512 and/or 514 may comprise any other type of message.

In some demonstrative embodiments, messages 512 and 514 may include an indication ("enhanced flow control") to indicate support of the enhanced flow control mechanism, as shown in fig. 5. Thus, the STAs 502 and 540 may choose to implement an enhanced flow control mechanism, e.g., as described below.

In some demonstrative embodiments, STA502 and STA 540 may exchange, for example, an ADDBA request 516 and an ADDBA response 518, as shown in fig. 5, to establish an ADDBA agreement between STAs 502 and 540.

In some demonstrative embodiments, ADDBA response 518 may include an indication of a dedicated memory dedicated to TID1 and an indication of a memory management unit size (e.g., 8KB), as shown in fig. 5.

In some demonstrative embodiments, the available memory size of the dedicated TID1 memory of STA502 at the beginning of TXOP506 may be 128KB, as shown in fig. 5.

In some demonstrative embodiments, STA502 and STA 540 may exchange RTS 520 and CTS 522, e.g., to establish TXOP506, as shown in fig. 5. In other embodiments, TXOP506 may be established according to any other mechanism and/or message exchange, e.g., with a grant frame or any other message.

In some demonstrative embodiments, STA 540 may send an initial a-MPDU524, e.g., TID1 having a length of 32KB, to STA502, as shown in fig. 5.

In some demonstrative embodiments, the length of initial a-MPDU524 may be no longer than a first value, e.g., no longer than a maximum initial transmission length (which may be equal to 32KB, for example), as STA 540 may not be aware of the currently available memory size at STA502, as shown in fig. 5.

In some demonstrative embodiments, after receiving initial a-MPDU524, the available memory size of the dedicated TID1 memory of STA502 may be 96KB, e.g., 128KB-32KB ═ 96KB, as shown in fig. 5.

In some demonstrative embodiments, STA502 may send Ack 526 to STA 540 to acknowledge initial a-MPDU524, as shown in fig. 5.

In some demonstrative embodiments, Ack 526 may include an RBUFCAP field 527, as shown in fig. 5, where RBUFCAP field 527 includes a third value to indicate that STA 540 is to be allowed to send a subsequent a-MPDU 528 having a TID1 of a length no longer than the third value to STA 502.

In some demonstrative embodiments, the third value may include a count value, e.g., "12," to indicate a count of memory management units, as shown in fig. 5.

In one example, STA502 may set the third value to 12, for example, to allow a transmission size no longer than 96KB (e.g., 8KB x12 ═ 96KB) because the currently available memory size of the dedicated TID1 memory is 96KB after receiving the initial a-MPDU 524.

In some demonstrative embodiments, STA502 may transmit data 531, having a size of 24KB, to an upper layer of STA502, as shown in fig. 5.

In some demonstrative embodiments, STA 540 may send an a-MPDU 528 of TID1 having a length of 96KB to STA502, as shown in fig. 5.

In some demonstrative embodiments, after a-MPDU 528 is received, the available memory size of the dedicated TID1 memory may be 24KB, e.g., 96KB +24KB-96KB ═ 24KB, as shown in fig. 5.

In some demonstrative embodiments, STA502 may send Ack 530 to STA 540 to acknowledge a-MPDU 528, as shown in fig. 5.

In some demonstrative embodiments, Ack 530 may include an RBUFCAP field 527, as shown in fig. 5, where RBUFCAP field 527 includes a count value of "3" to indicate that STA 540 is allowed to send a subsequent a-MPDU of TID1 having a length no longer than 24KB (e.g., 3x8KB ═ 24KB) to STA 502.

In one example, STA502 may set the third value to "3," for example, to allow a transmission size no longer than 24KB because, for example, after receiving a-MPDU 528, the current available memory size of dedicated TID1 memory is 24 KB.

In some demonstrative embodiments, STA 540 may send an a-MPDU 532 having a TID1 of length 24KB to STA502, as shown in fig. 5.

In some demonstrative embodiments, after a-MPDU 532 is received, the available memory size of the dedicated TID1 memory may be 0KB, e.g., 24-24 KB ═ 0KB, as shown in fig. 5.

In some demonstrative embodiments, STA502 may send Ack 534 to STA 540 to acknowledge a-MPDU 532, as shown in fig. 5.

In some demonstrative embodiments, Ack 530 may include an RBUFCAP field 527, as shown in fig. 5, where RBUFCAP field 527 includes a count value of "0" to indicate that STA 540 is not allowed to send a subsequent a-MPDU of TID1 to STA 502.

In one example, STA502 may set the count value to 0, for example, because the current available memory size of the dedicated TID1 memory after receiving a-MPDU 532 is 0 KB.

In some demonstrative embodiments, STA 540 may, for example, send Ack request 536 to STA502 to request the transmission of a subsequent a-MPDU of TID1, as shown in fig. 5.

In some demonstrative embodiments, STA502 may send Ack 538 to STA 540 to acknowledge Ack request 536, as shown in fig. 5.

In some demonstrative embodiments, Ack 538 may include an RBUFCAP field 527, as shown in fig. 5, with RBUFCAP field 527 including a count value of "0" to indicate that STA 540 is not allowed to send subsequent a-MPDUs of TID1 to STA 502.

In one example, STA502 may set the count value to "0," for example, because the current available memory size of the dedicated TID1 memory after receiving Ack request 536 is 0 KB.

In some demonstrative embodiments, STA502 may transmit to an upper layer of STA502 data 539 having a TID1 of a size of 64KB, as shown in fig. 5.

In some demonstrative embodiments, the available memory size of the dedicated TID1 memory may be 64KB after transmitting the data 539, e.g., 0+64KB — 64KB, as shown in fig. 5.

In some demonstrative embodiments, STA 540 may, for example, send Ack request 541 to STA502 to request transmission of a subsequent a-MPDU of TID1, as shown in fig. 5.

In some demonstrative embodiments, STA502 may send Ack 542 to STA 540 to acknowledge Ack request 540, as shown in fig. 5.

In some demonstrative embodiments, Ack 542 may include an RBUFCAP field 527, as shown in fig. 5, where RBUFCAP field 527 includes a count value of "8" to indicate that STA 540 is allowed to send a subsequent a-MPDU of TID1 having a length no longer than 64KB (e.g., 8x8KB ═ 64KB) to STA 502.

In some demonstrative embodiments, STA 540 may send an a-MPDU 544 of TID1 having a length of 24KB to STA502, as shown in fig. 5.

In some demonstrative embodiments, the available memory size of the dedicated TID1 memory may be 40KB, e.g., 64KB-24KB ═ 40KB, after receiving a-MPDU 544, as shown in fig. 5.

In some demonstrative embodiments, STA502 may send Ack 546 to STA502 to acknowledge a-MPDU 544, as shown in fig. 5.

In some demonstrative embodiments, Ack 546 may include an RBUFCAP field 527, as shown in fig. 5, where RBUFCAP field 527 includes a count value of "5" to indicate that STA 540 is allowed to send a subsequent a-MPDU of TID1 having a length no longer than 40KB (e.g., 5x8KB ═ 40KB) to STA 502.

In some demonstrative embodiments, STA502 may transmit data 545, having a TID1 of size 64KB, to an upper layer of STA502, as shown in fig. 5.

In some demonstrative embodiments, STA 540 may send an a-MPDU548, having a length of 32KB, to STA502, as shown in fig. 5.

In some demonstrative embodiments, a-MPDU548 may correspond to TID2, as shown in fig. 5.

In some demonstrative embodiments, STA 540 is not allowed to use the count value of "5" in RBUFCAP field 527 for transmission of a-MPDUs not corresponding to TID1, since the available memory size indicated by RBUFCAP field 527 is specific to TID 1.

In some demonstrative embodiments, STA 540 may be allowed to transmit a-MPDU548, as shown in fig. 5, with a-MPDU548 corresponding to TID2, having a length no longer than the first value, e.g., no longer than the maximum initial transmission length (which may be equal to 32KB, for example), as STA 540 may not know the currently available memory size of the dedicated TID2 memory at STA 402.

In some demonstrative embodiments, STA502 may send Ack 550 to STA 540 to acknowledge a-MPDU548, as shown in fig. 5.

In some demonstrative embodiments, Ack 550 may include an RBUFCAP field 527, and RBUFCAP field 527 includes a count value of "8" corresponding to the dedicated TID2 memory, as shown in fig. 5.

In some demonstrative embodiments, a count value of "8" may indicate that STA 540 is allowed to send a subsequent a-MPDU corresponding to TID2 and having a length no longer than 64KB (e.g., 8x8KB ═ 64KB) to STA 502.

In one example, STA502 may set the count value to 8, for example, to allow a transmission size no longer than 64KB because the available memory size dedicated to TID2 is 64 KB.

In some demonstrative embodiments, STA 540 may send an a-MPDU 552 having a length of 40KB to STA502, as shown in fig. 5.

In some demonstrative embodiments, a-MPDU 552 may correspond to TID2, as shown in fig. 5.

In some demonstrative embodiments, the available memory size dedicated to TID2 may be 24KB, e.g., 64KB-40KB ═ 24KB, after a-MPDU 552 is received, as shown in fig. 5.

In some demonstrative embodiments, STA502 may send Ack 554 to STA 540 to acknowledge a-MPDU 550, as shown in fig. 5.

In some demonstrative embodiments, STA502 and STA 540 may exchange RTS 562 and CTS 564, e.g., to establish subsequent TXOP 508, as shown in fig. 5.

In some demonstrative embodiments, STA 540 may send an initial a-MPDU 566 of TID1 in TXOP 508 to STA502, as shown in fig. 5.

In some demonstrative embodiments, as shown in fig. 5, the length of initial a-MPDU 566 may be no longer than a first value, e.g., no longer than a maximum initial transmission length (which may be equal to 32KB, for example), since STA 540 may not be aware of the currently available memory size of the dedicated TID1 memory at STA 502.

In some demonstrative embodiments, diagram 500 may show a scenario in which an enhanced flow control mechanism may be used on dedicated memories each dedicated to TID1 and TID 2. For example, STAs 502 and 540 may choose to utilize enhanced flow control, e.g., based on an exchange of an indication that both STAs (e.g., STAs 502 and 540) support an enhanced flow control mechanism.

In one example, as shown in fig. 5, STA 540 may send an a-MPDU with a size limited by the count value in RBUFCAP field 527, which may allow STA502 to more efficiently manage its dedicated memory. Since the dedicated memory is dedicated to TID1, it may be that the count value in RBUFCAP field 527 reported for TID1 may be invalid for TID2 transmissions. Thus, STA 540 may send an initial a-MPDU corresponding to TID2 having a length no longer than the first flow control value (e.g., maximum initial transmission size).

In one example, as shown in fig. 5, STA 540 may transmit an initial a-MPDU, e.g., a-MPDU524 and/or 526, having a length no longer than the maximum value between the first value in field 513 and the last counter value in RBUFCAP field 527 corresponding to the same TID.

Reference is made to fig. 6, which schematically illustrates a method of communication during a TXOP, in accordance with some demonstrative embodiments. For example, one or more operations of the method of fig. 6 may be performed by one or more elements of a system, such as system 100 (fig. 1), such as one or more wireless devices, such as device 102 (fig. 1) and/or device 140 (fig. 1), a controller, such as controller 124 (fig. 1) and/or controller 154 (fig. 1), a radio, such as radio 114 (fig. 1) and/or radio 144 (fig. 1), and/or a message processor, such as message processor 128 (fig. 1) and/or message processor 158 (fig. 1).

As shown at block 602, the method may include transmitting a message from a first STA to a second STA, the message comprising: the first value indicates an available memory size at the first STA at the start of the TXOP, and the second value indicates a maximum length of a-MPDU transmissions during the TXOP. For example, controller 124 (fig. 1) may be configured to cause, trigger, and/or control a wireless communication station implemented by device 102 (fig. 1) to transmit the message to device 140 (fig. 1), the message comprising: the first value indicates an available memory size at the device 102 (fig. 1) at the start of the TXOP, and the second value indicates a maximum length of a-MPDU transmissions during the TXOP, e.g., as described above.

As shown at block 604, the method may include receiving an initial a-MPDU from a second STA during a TXOP, the length of the initial a-MPDU not longer than a first value. For example, controller 124 (fig. 1) may be configured to cause, trigger, and/or control a wireless communication station implemented by device 102 (fig. 1) to receive an initial a-MPDU from device 140 (fig. 1) during a TXOP, which may have a length no longer than a first value, e.g., as described above.

As shown at block 606, the method may include determining a capacity value based on a current available memory size at the first STA, the capacity value indicating that the second STA will be allowed to transmit subsequent a-MPDUs having a length no longer than the second value to the first STA. For example, controller 124 (fig. 1) may be configured to cause, trigger, and/or control a wireless communication station implemented by device 102 (fig. 1) to determine a capacity value based on a current available memory size at device 102 (fig. 1), the capacity value indicating whether device 140 (fig. 1) will be allowed to transmit subsequent a-MPDUs having a length no longer than the second value to device 102 (fig. 1), e.g., as described above.

As shown at block 608, the method may include transmitting an Ack to the second STA to determine the initial a-MPDU, the Ack including a buffer capacity field, the buffer capacity field including a capacity value. For example, controller 124 (fig. 1) may be configured to cause, trigger and/or control a wireless communication station implemented by device 102 (fig. 1) to transmit an Ack to device 140 (fig. 1) to acknowledge an initial a-MPDU, the Ack including a buffer capacity field including a capacity value, e.g., as described above.

Reference is made to fig. 7, which schematically illustrates a method of communication during a TXOP, in accordance with some demonstrative embodiments. For example, one or more operations of the method of fig. 7 may be performed by one or more elements of a system, such as system 100 (fig. 1), such as one or more wireless devices, such as device 102 (fig. 1) and/or device 140 (fig. 1), a controller, such as controller 124 (fig. 1) and/or controller 154 (fig. 1), a radio, such as radio 114 (fig. 1) and/or radio 144 (fig. 1), and/or a message processor, such as message processor 128 (fig. 1) and/or message processor 158 (fig. 1).

As shown at block 702, the method may include receiving, at a first STA, a message from a second STA, the message including: the first value indicates an available memory size at the second STA at the start of the TXOP, and the second value indicates a maximum length of a-MPDU transmissions during the TXOP. For example, controller 154 (fig. 1) may be configured to cause, trigger and/or control a wireless communication station implemented by device 140 (fig. 1) to receive a message from device 102 (fig. 1), the message comprising: the first value indicates an available memory size at the device 102 (fig. 1) at the start of the TXOP, and the second value indicates a maximum length of a-MPDU transmissions during the TXOP, e.g., as described above.

As shown at block 704, the method may include transmitting an initial a-MPDU to a second STA during the TXOP, the initial a-MPDU having a length no greater than a first value. For example, controller 154 (fig. 1) may be configured to cause, trigger, and/or control a wireless communication station implemented by device 140 (fig. 1) to transmit an initial a-MPDU to device 102 (fig. 1) during a TXOP, the length of the initial a-MPDU being no longer than a first value, e.g., as described above.

As shown at block 706, the method may include receiving an Ack from the second STA to acknowledge the initial a-MPDU, the Ack including a buffer capacity field including a capacity value to indicate whether the first STA will be allowed to transmit a subsequent a-MPDU having a length no greater than a second value to the second STA, the capacity value being based on a current available memory size at the second STA. For example, the controller 154 (fig. 1) may be configured to cause, trigger and/or control a wireless communication station implemented by the device 140 (fig. 1) to receive an Ack from the device 102 (fig. 1) for acknowledging the initial a-MPDU, the Ack including a buffer capacity field including a capacity value to indicate whether the device 140 (fig. 1) is to be allowed to transmit subsequent a-MPDUs having a length no longer than the second value to the device 102 (fig. 1), and the capacity value being based on a current available memory size at the device 102 (fig. 1), e.g., as described above.

Referring to fig. 8, an article of manufacture 800 is schematically illustrated, according to some demonstrative embodiments. The product 800 may include one or more tangible computer-readable ("machine-readable") non-transitory storage media 802, which media 802 may include computer-executable instructions, e.g., implemented by logic 804, that when executed by at least one computer processor are operable to enable the at least one computer processor to implement one or more operations at the device 102 (fig. 1), the device 140 (fig. 1), the radio 114 (fig. 1), the radio 144 (fig. 1), the transmitter 118 (fig. 1), the transmitter 148 (fig. 1), the receiver 116 (fig. 1), the receiver 146 (fig. 1), the controller 124 (fig. 1), the controller 154 (fig. 1), the message processor 128 (fig. 1), and/or the message processor 158 (fig. 1), such that the device 102 (fig. 1), the device 140 (fig. 1), the radio 114 (fig. 1), the radio 144 (fig. 1), Transmitter 118 (fig. 1), transmitter 148 (fig. 1), receiver 116 (fig. 1), receiver 146 (fig. 1), controller 124 (fig. 1), controller 154 (fig. 1), message processor 128 (fig. 1), and/or message processor 158 (fig. 1) perform, trigger, and/or implement one or more operations and/or functions, and/or perform, trigger, and/or implement one or more operations and/or functions described with reference to fig. 1, fig. 2, fig. 3, fig. 4, fig. 5, fig. 6, and/or fig. 7, and/or one or more operations described herein. The phrase "non-transitory machine readable medium" is intended to include all computer readable media, with the sole exception of transitory propagating signals.

In some demonstrative embodiments, article 800 and/or machine-readable storage medium 802 may include one or more types of computer-readable storage media capable of storing data, including volatile memory, non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writeable memory, and the like. For example, the machine-readable storage medium 802 may include RAM, DRAM, Double-Data-Rate DRAM (DDR-DRAM), SDRAM, Static RAM (SRAM), ROM, Programmable ROM (PROM), Erasable Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), Compact Disk ROM (CD-ROM), Compact Disk Recordable (CD-R), Compact Disk rewritable (CD-RW), flash memory (e.g., NOR or NAND flash memory), content addressable memory (content addressable memory, CAM), polymer memory, phase change memory, ferroelectric memory, silicon-oxide-nitride-silicon (SONOS) memory, Disk, SONOS, floppy Disk, and hard Disk drive, Optical disks, magnetic disks, cards, magnetic cards, optical cards, magnetic tapes, cassettes, and the like. A computer-readable storage medium may include any suitable medium that participates in downloading or transmitting a computer program from a remote computer to a requesting computer, carried by data signals embodied in a carrier wave or other propagation medium, over a communication link (e.g., a modem, radio or network connection).

In some demonstrative embodiments, logic 804 may include instructions, data and/or code, which, if executed by a machine, may cause the machine to perform a method, process and/or operation as described herein. The machine may include, for example, any suitable processing platform, computing device, processing device, computing system, processing system, computer, processor, or the like, and may be implemented using any suitable combination of hardware, software, firmware, or the like.

In some demonstrative embodiments, logic 804 may include, or may be implemented as, software, a software module, an application, a program, a subroutine, instructions, an instruction set, computing code, words, values, symbols, and the like. The instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, and the like. The instructions may be implemented according to a predetermined computer language, manner or syntax, for instructing a processor to perform a certain function. The instructions may be implemented using any suitable high-level, low-level, object-oriented, Visual, compiled and/or interpreted programming language, e.g., C, C + +, Java, BASIC, Matlab, Pascal, Visual BASIC, assembly language, machine code, and so forth.

Examples of the invention

The following examples pertain to further embodiments.

Example 1 includes an apparatus comprising logic and circuitry configured to cause a first wireless communication Station (STA) to transmit a message to a second STA, the message comprising a first value to indicate an available memory size at the first STA at a start of a transmission opportunity (TXOP), and a second value to indicate a maximum length of an aggregated Medium Access Control (MAC) protocol data unit (a-MPDU) transmission during the TXOP; receiving an initial A-MPDU from the second STA during the TXOP, the initial A-MPDU having a length no longer than the first value; determining a capacity value based on a current available memory size at the first STA, the capacity value indicating whether the second STA will be allowed to transmit subsequent A-MPDUs to the first STA having a length no longer than the second value; and transmitting an acknowledgement (Ack) to the second STA to acknowledge the initial a-MPDU, the Ack including a buffer capacity field including the capacity value.

Example 2 includes the subject matter of example 1, and optionally, wherein the apparatus is configured to cause the first STA, when the currently available memory size is below the second value, to set the capacity value to indicate that the second STA is not allowed to transmit the subsequent a-MPDU to the first STA.

Example 3 includes the subject matter of example 1 or 2, and optionally, wherein the apparatus is configured to cause the first STA to set the capacity value to indicate that the second STA is allowed to transmit the subsequent a-MPDU to the first STA when the currently available memory size is not below the second value.

Example 4 includes the subject matter of any of examples 1-3, and optionally, wherein the apparatus is configured to cause the first STA to set the capacity value to a first predetermined value to indicate that the second STA is not allowed to transmit the subsequent a-MPDU to the first STA, or to a second predetermined value to indicate that the second STA is allowed to transmit the subsequent a-MPDU to the first STA.

Example 5 includes the subject matter of any of examples 1-4, and optionally, wherein the apparatus is configured to cause the first STA to receive an Ack request from the second STA when the capacity value indicates that the second STA is not allowed to transmit the subsequent a-MPDU to the first STA, and to transmit a subsequent Ack to the second STA to acknowledge the Ack request, the subsequent Ack including an updated capacity value based on an updated current available memory size at the second STA, the updated capacity value indicating whether the second STA will be allowed to transmit the subsequent a-MPDU to the second STA.

Example 6 includes the subject matter of any of examples 1-5, and optionally, wherein the apparatus is configured to cause the first STA to, when the capacity value indicates that the second STA is allowed to transmit the subsequent a-MPDU to the first STA, receive the subsequent a-MPDU, determine an updated capacity value based on an updated currently available memory size at the first STA, and transmit a subsequent Ack to the second STA to acknowledge the subsequent a-MPDU, the subsequent Ack including the updated capacity value.

Example 7 includes the subject matter of example 1, and optionally, wherein the capacity value comprises a third value less than the second value, the third value indicating that the second STA is to be allowed to transmit subsequent a-MPDUs having a length no longer than the third value to the first STA.

Example 8 includes the subject matter of example 7, and optionally, wherein the apparatus is configured to cause the first STA to receive a subsequent a-MPDU having a length no longer than the third value, determine an updated capacity value based on an updated currently available memory size at the first STA, and transmit a subsequent Ack to the second STA to acknowledge the subsequent a-MPDU, the subsequent Ack including the updated capacity value.

Example 9 includes the subject matter of example 7 or 8, and optionally, wherein the third value comprises a count value to indicate a count of memory units.

Example 10 includes the subject matter of any one of examples 7-9, and optionally, wherein the apparatus is configured to cause the first STA to determine the current available memory size based on a shared memory shared between at least first and second Traffic Identifiers (TIDs), receive a first a-MPDU corresponding to the first TID and a second a-MPDU corresponding to the second TID from the second STA, and update the current available memory size based on a length of the first a-MPDU and a length of the second a-MPDU.

Example 11 includes the subject matter of any one of examples 7-9, and optionally, wherein the apparatus is configured to cause the first STA to determine the current available memory size based on a dedicated memory dedicated to a Traffic Identifier (TID), and update the current available memory size based on a length of an a-MPDU corresponding to the TID.

Example 12 includes the subject matter of any of examples 7-11, and optionally, wherein the apparatus is configured to cause the first STA to communicate a capability indication with the second STA to indicate that the first STA is capable of determining the third value.

Example 13 includes the subject matter of any of examples 1-12, and optionally, wherein the message comprises an association request or a probe request.

Example 14 includes the subject matter of any one of examples 1-13, and optionally, wherein the Ack comprises a block Ack (ba) and the buffer capacity field comprises a receive buffer capacity (RBUFCAP) field.

Example 15 includes the subject matter of any of examples 1-14, and optionally, a radio.

Example 16 includes the subject matter of any of examples 1-15, and optionally, one or more antennas, a memory, and a processor.

Example 17 includes a system of wireless communication, comprising a first wireless communication Station (STA) comprising one or more antennas; a radio device; a memory; a processor; and a controller configured to cause the first STA to transmit a message to a second STA, the message including a first value to indicate an available memory size at the first STA at a start of a transmission opportunity (TXOP), and a second value to indicate a maximum length of an aggregated Medium Access Control (MAC) protocol data unit (a-MPDU) transmission during the TXOP; receiving an initial A-MPDU from the second STA during the TXOP, the initial A-MPDU having a length no longer than the first value; determining a capacity value based on a current available memory size at the first STA, the capacity value indicating whether the second STA will be allowed to transmit subsequent A-MPDUs to the first STA having a length no longer than the second value; and transmitting an acknowledgement (Ack) to the second STA to acknowledge the initial a-MPDU, the Ack including a buffer capacity field including the capacity value.

Example 18 includes the subject matter of example 17, and optionally, wherein the controller is configured to cause the first STA, when the currently available memory size is below the second value, to set the capacity value to indicate that the second STA is not allowed to transmit the subsequent a-MPDU to the first STA.

Example 19 includes the subject matter of example 17 or 18, and optionally, wherein the controller is configured to cause the first STA to set the capacity value to indicate that the second STA is allowed to transmit the subsequent a-MPDU to the first STA when the currently available memory size is not below the second value.

Example 20 includes the subject matter of any one of examples 17-19, and optionally, wherein the controller is configured to cause the first STA to set the capacity value to a first predetermined value to indicate that the second STA is not allowed to transmit the subsequent a-MPDU to the first STA, or to a second predetermined value to indicate that the second STA is allowed to transmit the subsequent a-MPDU to the first STA.

Example 21 includes the subject matter of any of examples 17-20, and optionally, wherein the controller is configured to cause the first STA to receive an Ack request from the second STA when the capacity value indicates that the second STA is not allowed to transmit the subsequent a-MPDU to the first STA, and to transmit a subsequent Ack to the second STA to acknowledge the Ack request, the subsequent Ack including an updated capacity value based on an updated current available memory size at the second STA, the updated capacity value indicating whether the second STA will be allowed to transmit the subsequent a-MPDU to the second STA.

Example 22 includes the subject matter of any of examples 17-21, and optionally, wherein the controller is configured to cause the first STA, when the capacity value indicates that the second STA is allowed to transmit the subsequent a-MPDU to the first STA, to receive the subsequent a-MPDU, to determine an updated capacity value based on an updated currently available memory size at the first STA, and to transmit a subsequent Ack to the second STA to acknowledge the subsequent a-MPDU, the subsequent Ack including the updated capacity value.

Example 23 includes the subject matter of example 17, and optionally, wherein the capacity value comprises a third value less than the second value, the third value indicating that the second STA is to be allowed to transmit subsequent a-MPDUs having a length no longer than the third value to the first STA.

Example 24 includes the subject matter of example 23, and optionally, wherein the controller is configured to cause the first STA to receive a subsequent a-MPDU having a length no longer than the third value, to determine an updated capacity value based on an updated currently available memory size at the first STA, and to transmit a subsequent Ack to the second STA to acknowledge the subsequent a-MPDU, the subsequent Ack including the updated capacity value.

Example 25 includes the subject matter of example 23 or 24, and optionally, wherein the third value comprises a count value to indicate a count of memory units.

Example 26 includes the subject matter of any one of examples 23-25, and optionally, wherein the controller is configured to cause the first STA to determine the current available memory size based on a shared memory shared between at least first and second Traffic Identifiers (TIDs), receive a first a-MPDU corresponding to the first TID and a second a-MPDU corresponding to the second TID from the second STA, and update the current available memory size based on a length of the first a-MPDU and a length of the second a-MPDU.

Example 27 includes the subject matter of any one of examples 23-25, and optionally, wherein the controller is configured to cause the first STA to determine the current available memory size based on a dedicated memory dedicated to a Traffic Identifier (TID), and to update the current available memory size based on a length of an a-MPDU corresponding to the TID.

Example 28 includes the subject matter of any of examples 23-27, and optionally, wherein the controller is configured to cause the first STA to communicate a capability indication with the second STA to indicate that the first STA is capable of determining the third value.

Example 29 includes the subject matter of any one of examples 17-28, and optionally, wherein the message comprises an association request or a probe request.

Example 30 includes the subject matter of any one of examples 17-29, and optionally, wherein the Ack comprises a block Ack (ba) and the buffer capacity field comprises a receive buffer capacity (RBUFCAP) field.

Example 31 includes a method to be performed at a first wireless communication Station (STA), the method comprising transmitting a message to a second STA, the message comprising a first value to indicate an available memory size at the first STA at a start of a transmission opportunity (TXOP), and a second value to indicate a maximum length of an aggregated Medium Access Control (MAC) protocol data unit (a-MPDU) transmission during the TXOP; receiving an initial A-MPDU from the second STA during the TXOP, the initial A-MPDU having a length no longer than the first value; determining a capacity value based on a current available memory size at the first STA, the capacity value indicating whether the second STA will be allowed to transmit subsequent A-MPDUs to the first STA having a length no longer than the second value; and transmitting an acknowledgement (Ack) to the second STA to acknowledge the initial a-MPDU, the Ack including a buffer capacity field including the capacity value.

Example 32 includes the subject matter of example 31, and optionally, comprising setting the capacity value to indicate that the second STA is not allowed to transmit the subsequent a-MPDU to the first STA when the currently available memory size is below the second value.

Example 33 includes the subject matter of example 31 or 32, and optionally, comprising setting the capacity value to indicate that the second STA is allowed to transmit the subsequent a-MPDU to the first STA when the currently available memory size is not below the second value.

Example 34 includes the subject matter of any of examples 31-33, and optionally, comprising setting the capacity value to a first predetermined value to indicate that the second STA is not allowed to transmit the subsequent a-MPDU to the first STA, or to a second predetermined value to indicate that the second STA is allowed to transmit the subsequent a-MPDU to the first STA.

Example 35 includes the subject matter of any of examples 31-34, and optionally, comprising receiving an Ack request from the second STA and transmitting a subsequent Ack to the second STA to acknowledge the Ack request when the capacity value indicates that the second STA is not allowed to transmit the subsequent a-MPDU to the first STA, the subsequent Ack including an updated capacity value based on an updated current available memory size at the second STA, the updated capacity value indicating whether the second STA will be allowed to transmit the subsequent a-MPDU to the second STA.

Example 36 includes the subject matter of any of examples 31-35, and optionally, comprising receiving the subsequent a-MPDU when the capacity value indicates that the second STA is allowed to transmit the subsequent a-MPDU to the first STA, determining an updated capacity value based on an updated currently available memory size at the first STA, and transmitting a subsequent Ack to the second STA to acknowledge the subsequent a-MPDU, the subsequent Ack including the updated capacity value.

Example 37 includes the subject matter of example 31, and optionally, wherein the capacity value comprises a third value less than the second value, the third value indicating that the second STA is to be allowed to transmit subsequent a-MPDUs having a length no longer than the third value to the first STA.

Example 38 includes the subject matter of example 37, and optionally, comprising receiving a subsequent a-MPDU having a length no longer than the third value, determining an updated capacity value based on an updated currently available memory size at the first STA, and transmitting a subsequent Ack to the second STA to acknowledge the subsequent a-MPDU, the subsequent Ack including the updated capacity value.

Example 39 includes the subject matter of example 37 or 38, and optionally, wherein the third value comprises a count value to indicate a count of memory units.

Example 40 includes the subject matter of any one of examples 37-39, and optionally, comprising determining the current available memory size based on a shared memory shared between at least first and second Traffic Identifiers (TIDs), receiving, from the second STA, a first a-MPDU corresponding to the first TID and a second a-MPDU corresponding to the second TID, and updating the current available memory size based on a length of the first a-MPDU and a length of the second a-MPDU.

Example 41 includes the subject matter of any one of examples 37-39, and optionally, comprising determining the current available memory size based on a dedicated memory dedicated to a Traffic Identifier (TID), and updating the current available memory size based on a length of an a-MPDU corresponding to the TID.

Example 42 includes the subject matter of any one of examples 37-41, and optionally, comprising communicating a capability indication with the second STA to indicate that the first STA is capable of determining the third value.

Example 43 includes the subject matter of any one of examples 31-42, and optionally, wherein the message comprises an association request or a probe request.

Example 44 includes the subject matter of any one of examples 31-43, and optionally, wherein the Ack comprises a block Ack (ba) and the buffer capacity field comprises a receive buffer capacity (RBUFCAP) field.

Example 45 includes a product comprising one or more tangible computer-readable non-transitory storage media comprising computer-executable instructions that, when executed by at least one processor, are operable to enable the at least one processor to cause a first wireless communication Station (STA) to send a message to a second STA, the message comprising a first value to indicate an available memory size at the first STA at a start of a transmission opportunity (TXOP), and a second value to indicate a maximum length of an aggregated Medium Access Control (MAC) protocol data unit (a-MPDU) transmission during the TXOP; receiving an initial A-MPDU from the second STA during the TXOP, the initial A-MPDU having a length no longer than the first value; determining a capacity value based on a current available memory size at the first STA, the capacity value indicating whether the second STA will be allowed to transmit subsequent A-MPDUs to the first STA having a length no longer than the second value; and transmitting an acknowledgement (Ack) to the second STA to acknowledge the initial a-MPDU, the Ack including a buffer capacity field including the capacity value.

Example 46 includes the subject matter of example 45, and optionally, wherein the instructions, when executed, cause the first STA to, when the current available memory size is below the second value, set the capacity value to indicate that the second STA is not allowed to transmit the subsequent a-MPDU to the first STA.

Example 47 includes the subject matter of example 45 or 46, and optionally, wherein the instructions, when executed, cause the first STA to set the capacity value to indicate that the second STA is allowed to transmit the subsequent a-MPDU to the first STA when the current available memory size is not below the second value.

Example 48 includes the subject matter of any one of examples 45-47, and optionally, wherein the instructions, when executed, cause the first STA to set the capacity value to a first predetermined value to indicate that the second STA is not allowed to transmit the subsequent a-MPDU to the first STA, or to a second predetermined value to indicate that the second STA is allowed to transmit the subsequent a-MPDU to the first STA.

Example 49 includes the subject matter of any one of examples 45-48, and optionally, wherein the instructions, when executed, cause the first STA to receive an Ack request from the second STA and transmit a subsequent Ack to the second STA to acknowledge the Ack request when the capacity value indicates that the second STA is not allowed to transmit the subsequent a-MPDU to the first STA, the subsequent Ack including an updated capacity value based on an updated current available memory size at the second STA, the updated capacity value indicating whether the second STA will be allowed to transmit the subsequent a-MPDU to the second STA.

Example 50 includes the subject matter of any of examples 45-49, and optionally, wherein the instructions, when executed, cause the first STA to, when the capacity value indicates that the second STA is allowed to transmit the subsequent a-MPDU to the first STA, receive the subsequent a-MPDU, determine an updated capacity value based on an updated currently available memory size at the first STA, and transmit a subsequent Ack to the second STA to acknowledge the subsequent a-MPDU, the subsequent Ack including the updated capacity value.

Example 51 includes the subject matter of example 45, and optionally, wherein the capacity value comprises a third value less than the second value, the third value indicating that the second STA is to be allowed to transmit subsequent a-MPDUs having a length no longer than the third value to the first STA.

Example 52 includes the subject matter of example 51, and optionally, wherein the instructions, when executed, cause the first STA to receive a subsequent a-MPDU having a length no longer than the third value, determine an updated capacity value based on an updated currently available memory size at the first STA, and transmit a subsequent Ack to the second STA to acknowledge the subsequent a-MPDU, the subsequent Ack including the updated capacity value.

Example 53 includes the subject matter of example 51 or 52, and optionally, wherein the third value comprises a count value to indicate a count of memory units.

Example 54 includes the subject matter of any of examples 51-53, and optionally, wherein the instructions, when executed, cause the first STA to determine the current available memory size based on a shared memory shared between at least a first and a second Traffic Identifier (TID), receive, from the second STA, a first a-MPDU corresponding to the first TID and a second a-MPDU corresponding to the second TID, and update the current available memory size based on a length of the first a-MPDU and a length of the second a-MPDU.

Example 55 includes the subject matter of any one of examples 51-53, and optionally, wherein the instructions, when executed, cause the first STA to determine the current available memory size based on a dedicated memory dedicated to a Traffic Identifier (TID), and update the current available memory size based on a length of an a-MPDU corresponding to the TID.

Example 56 includes the subject matter of any of examples 51-55, and optionally, wherein the instructions, when executed, cause the first STA to communicate a capability indication with the second STA to indicate that the first STA is capable of determining the third value.

Example 57 includes the subject matter of any one of examples 45-56, and optionally, wherein the message comprises an association request or a probe request.

Example 58 includes the subject matter of any one of examples 45-57, and optionally, wherein the Ack comprises a block Ack (ba) and the buffer capacity field comprises a receive buffer capacity (RBUFCAP) field.

Example 59 includes an apparatus of wireless communications by a first wireless communication Station (STA), comprising means for sending a message to a second STA, the message comprising a first value to indicate an available memory size at the first STA at a start of a transmission opportunity (TXOP) and a second value to indicate a maximum length of an aggregated Medium Access Control (MAC) protocol data unit (a-MPDU) transmission during the TXOP; means for receiving an initial A-MPDU from the second STA during the TXOP, the initial A-MPDU having a length no longer than the first value; means for determining a capacity value based on a current available memory size at the first STA, the capacity value indicating whether the second STA will be allowed to transmit subsequent A-MPDUs to the first STA having a length no longer than the second value; and means for transmitting an acknowledgement (Ack) to the second STA to acknowledge the initial a-MPDU, the Ack including a buffer capacity field including the capacity value.

Example 60 includes the subject matter of example 59, and optionally, means for: setting the capacity value to indicate that the second STA is not allowed to transmit the subsequent A-MPDU to the first STA when the current available memory size is below the second value.

Example 61 includes the subject matter of example 59 or 60, and optionally, means for: setting the capacity value to indicate that the second STA is allowed to transmit the subsequent A-MPDU to the first STA when the current available memory size is not below the second value.

Example 62 includes the subject matter of any one of examples 59-61, and optionally, means for: setting the capacity value to a first predetermined value to indicate that the second STA is not allowed to transmit the subsequent A-MPDU to the first STA, or to a second predetermined value to indicate that the second STA is allowed to transmit the subsequent A-MPDU to the first STA.

Example 63 includes the subject matter of any one of examples 59-62, and optionally, means for: receiving an Ack request from the second STA and transmitting a subsequent Ack to the second STA to acknowledge the Ack request when the capacity value indicates that the second STA is not allowed to transmit the subsequent A-MPDU to the first STA, the subsequent Ack including an updated capacity value based on an updated current available memory size at the second STA, the updated capacity value indicating whether the second STA will be allowed to transmit the subsequent A-MPDU to the second STA.

Example 64 includes the subject matter of any one of examples 59-63, and optionally, means for: when the capacity value indicates that the second STA is allowed to transmit the subsequent A-MPDU to the first STA, receiving the subsequent A-MPDU, determining an updated capacity value based on an updated current available memory size at the first STA, and transmitting a subsequent Ack to the second STA to acknowledge the subsequent A-MPDU, the subsequent Ack including the updated capacity value.

Example 65 includes the subject matter of example 59, and optionally, wherein the capacity value comprises a third value less than the second value, the third value indicating that the second STA is to be allowed to transmit subsequent a-MPDUs having a length no longer than the third value to the first STA.

Example 66 includes the subject matter of example 65, and optionally, means for: receiving a subsequent A-MPDU having a length no longer than the third value, determining an updated capacity value based on an updated currently available memory size at the first STA, and transmitting a subsequent Ack to the second STA to acknowledge the subsequent A-MPDU, the subsequent Ack including the updated capacity value.

Example 67 includes the subject matter of example 65 or 67, and optionally, wherein the third value comprises a count value to indicate a count of memory units.

Example 68 includes the subject matter of any one of examples 65-67, and optionally, means for: determining the current available memory size based on shared memory shared between at least first and second Traffic Identifiers (TIDs), receiving, from the second STA, a first A-MPDU corresponding to the first TID and a second A-MPDU corresponding to the second TID, and updating the current available memory size based on a length of the first A-MPDU and a length of the second A-MPDU.

Example 69 includes the subject matter of any one of examples 65-67, and optionally, means for: the current available memory size is determined based on a dedicated memory dedicated to a Traffic Identifier (TID), and the current available memory size is updated based on a length of an a-MPDU corresponding to the TID.

Example 70 includes the subject matter of any one of examples 65-69, and optionally, comprising means for communicating a capability indication with the second STA to indicate that the first STA is capable of determining the third value.

Example 71 includes the subject matter of any one of examples 59-70, and optionally, wherein the message comprises an association request or a probe request.

Example 72 includes the subject matter of any one of examples 59-71, and optionally, wherein the Ack comprises a block Ack (ba) and the buffer capacity field comprises a receive buffer capacity (RBUFCAP) field.

Example 73 includes an apparatus comprising logic and circuitry configured to cause a first wireless communication Station (STA) to receive a message from a second STA, the message comprising a first value to indicate an available memory size at the second STA at a start of a transmission opportunity (TXOP), and a second value to indicate a maximum length of an aggregated Medium Access Control (MAC) protocol data unit (a-MPDU) transmission during the TXOP; transmitting an initial A-MPDU to the second STA during the TXOP, the length of the initial A-MPDU not being longer than the first value; and receiving an acknowledgement (Ack) from the second STA to acknowledge the initial a-MPDU, the Ack including a buffer capacity field including a capacity value to indicate whether the first STA will be allowed to transmit a subsequent a-MPDU having a length no greater than the second value to the second STA, the capacity value being based on a current available memory size at the second STA.

Example 74 includes the subject matter of example 73, and optionally, wherein the apparatus is configured to cause the first STA to select not to transmit the subsequent a-MPDU when the capacity value indicates that the first STA is not allowed to transmit the subsequent a-MPDU.

Example 75 includes the subject matter of example 73 or 74, and optionally, wherein the apparatus is configured to allow the first STA to transmit the subsequent a-MPDU when the capacity value indicates that the first STA is allowed to transmit the subsequent a-MPDU.

Example 76 includes the subject matter of any of examples 73-75, and optionally, wherein the capacity value includes a first predetermined value to indicate that the first STA is not allowed to transmit the subsequent a-MPDU to the second STA, or a second predetermined value to indicate that the first STA is allowed to transmit the subsequent a-MPDU to the first STA.

Example 77 includes the subject matter of any one of examples 73-75, and optionally, wherein the apparatus is configured to cause the first STA to transmit an Ack request to the second STA when the capacity value indicates that the first STA is not allowed to transmit the subsequent a-MPDU to the second STA, and receive a subsequent Ack from the second STA to acknowledge the Ack request, the subsequent Ack including an updated capacity value based on an updated current available memory size at the second STA, the updated capacity value indicating whether the first STA will be allowed to transmit the subsequent a-MPDU to the second STA.

Example 78 includes the subject matter of any one of examples 73-76, and optionally, wherein the apparatus is configured to cause the first STA to, when the capacity value indicates that the first STA is allowed to transmit the subsequent a-MPDU to the second STA, transmit the subsequent a-MPDU, and receive a subsequent Ack from the second STA to acknowledge the subsequent a-MPDU, the subsequent Ack including an updated capacity value based on an updated current available memory size at the second STA.

Example 79 includes the subject matter of example 73, and optionally, wherein the capacity value includes a third value less than the second value, the third value indicating that the first STA will be allowed to transmit subsequent a-MPDUs having a length no longer than the third value to the second STA.

Example 80 includes the subject matter of example 79, and optionally, wherein the apparatus is configured to cause the first STA to transmit a subsequent a-MPDU having a length no greater than the third value to the second STA, and receive a subsequent Ack from the second STA to acknowledge receipt of the subsequent a-MPDU, the subsequent Ack including an updated capacity value, the updated capacity value being based on an updated current available memory size at the second STA.

Example 81 includes the subject matter of example 79 or 80, and optionally, wherein the third value comprises a count value to indicate a count of memory units, the apparatus configured to cause the first STA to determine an allowed length of the subsequent a-MPDU based on a product of the count value and a memory unit size.

Example 82 includes the subject matter of any one of examples 79-81, and optionally, wherein the capacity value corresponds to a currently available memory of a shared memory shared among a plurality of Traffic Identifiers (TIDs), the apparatus configured to cause the first STA to transmit the subsequent a-MPDU having a length no longer than the second value when the subsequent a-MPDU corresponds to a TID of the plurality of TIDs.

Example 83 includes the subject matter of any one of examples 79-81, and optionally, wherein the capacity value corresponds to currently available memory of dedicated memory dedicated to a TID, the apparatus configured to cause the first STA to transmit the subsequent a-MPDU having a length no longer than the second value when the subsequent a-MPDU corresponds to the TID.

Example 84 includes the subject matter of any of examples 79-83, and optionally, wherein the apparatus is configured to cause the first STA to communicate a capability indication with the second STA to indicate that the first STA is capable of transmitting a subsequent a-MPDU having a length no longer than the third value.

Example 85 includes the subject matter of any one of examples 73-84, and optionally, wherein the message comprises an association request or a probe request.

Example 86 includes the subject matter of any one of examples 73-85, and optionally, wherein the Ack comprises a block Ack (ba) and the buffer capacity field comprises a receive buffer capacity (RBUFCAP) field.

Example 87 includes the subject matter of any of examples 73-86, and optionally, a radio.

Example 88 includes the subject matter of any of examples 73-87, and optionally, one or more antennas, a memory, and a processor.

Example 89 includes a system of wireless communication, comprising a first wireless communication Station (STA), the first STA comprising one or more antennas; a radio device; a memory; a processor; and a controller configured to cause the first STA to receive a message from a second STA, the message including a first value to indicate an available memory size at the second STA at a start of a transmission opportunity (TXOP), and a second value to indicate a maximum length of an aggregated Medium Access Control (MAC) protocol data unit (a-MPDU) transmission during the TXOP; transmitting an initial A-MPDU to the second STA during the TXOP, the length of the initial A-MPDU not being longer than the first value; and receiving an acknowledgement (Ack) from the second STA to acknowledge the initial a-MPDU, the Ack including a buffer capacity field including a capacity value to indicate whether the first STA will be allowed to transmit a subsequent a-MPDU having a length no greater than the second value to the second STA, the capacity value being based on a current available memory size at the second STA.

Example 90 includes the subject matter of example 89, and optionally, wherein the controller is configured to cause the first STA to select not to transmit the subsequent a-MPDU when the capacity value indicates that the first STA is not allowed to transmit the subsequent a-MPDU.

Example 91 includes the subject matter of example 89 or 90, and optionally, wherein the controller is configured to allow the first STA to transmit the subsequent a-MPDU when the capacity value indicates that the first STA is allowed to transmit the subsequent a-MPDU.

Example 92 includes the subject matter of any one of examples 89-91, and optionally, wherein the capacity value comprises a first predetermined value to indicate that the first STA is not allowed to transmit the subsequent a-MPDU to the second STA, or a second predetermined value to indicate that the first STA is allowed to transmit the subsequent a-MPDU to the first STA.

Example 93 includes the subject matter of any one of examples 89-91, and optionally, wherein the controller is configured to cause the first STA to transmit an Ack request to the second STA and receive a subsequent Ack from the second STA to acknowledge the Ack request when the capacity value indicates that the first STA is not allowed to transmit the subsequent a-MPDU to the second STA, the subsequent Ack including an updated capacity value based on an updated current available memory size at the second STA, the updated capacity value indicating whether the first STA will be allowed to transmit the subsequent a-MPDU to the second STA.

Example 94 includes the subject matter of any one of examples 89-92, and optionally, wherein the controller is configured to cause the first STA to, when the capacity value indicates that the first STA is allowed to transmit the subsequent a-MPDU to the second STA, transmit the subsequent a-MPDU, and receive a subsequent Ack from the second STA to acknowledge the subsequent a-MPDU, the subsequent Ack including an updated capacity value based on an updated current available memory size at the second STA.

Example 95 includes the subject matter of example 89, and optionally, wherein the capacity value comprises a third value less than the second value, the third value indicating that the first STA is to be allowed to transmit a subsequent a-MPDU having a length no longer than the third value to the second STA.

Example 96 includes the subject matter of example 95, and optionally, wherein the controller is configured to cause the first STA to transmit a subsequent a-MPDU having a length no greater than the third value to the second STA, and to receive a subsequent Ack from the second STA to acknowledge receipt of the subsequent a-MPDU, the subsequent Ack including an updated capacity value, the updated capacity value being based on an updated current available memory size at the second STA.

Example 97 includes the subject matter of example 95 or 96, and optionally, wherein the third value comprises a count value to indicate a count of memory units, the controller configured to cause the first STA to determine an allowed length of the subsequent a-MPDU based on a product of the count value and a memory unit size.

Example 98 includes the subject matter of any of examples 95-97, and optionally, wherein the capacity value corresponds to currently available memory of a shared memory shared among a plurality of Traffic Identifiers (TIDs), the controller configured to cause the first STA to transmit the subsequent a-MPDU having a length no longer than the second value when the subsequent a-MPDU corresponds to a TID of the plurality of TIDs.

Example 99 includes the subject matter of any of examples 95-97, and optionally, wherein the capacity value corresponds to currently available memory of dedicated memory dedicated to a TID, the controller configured to cause the first STA to transmit the subsequent a-MPDU having a length no longer than the second value when the subsequent a-MPDU corresponds to the TID.

Example 100 includes the subject matter of any of examples 95-99, and optionally, wherein the controller is configured to cause the first STA to communicate a capability indication with the second STA to indicate that the first STA is capable of transmitting a subsequent a-MPDU having a length no longer than the third value.

Example 101 includes the subject matter of any one of examples 89-100, and optionally, wherein the message comprises an association request or a probe request.

Example 102 includes the subject matter of any one of examples 89-101, and optionally, wherein the Ack comprises a block Ack (ba) and the buffer capacity field comprises a receive buffer capacity (RBUFCAP) field.

Example 103 includes a method to be performed at a first wireless communication Station (STA), the method comprising receiving a message from a second STA, the message comprising a first value to indicate an available memory size at the second STA at a start of a transmission opportunity (TXOP), and a second value to indicate a maximum length of an aggregated Medium Access Control (MAC) protocol data unit (a-MPDU) transmission during the TXOP; transmitting an initial A-MPDU to the second STA during the TXOP, the length of the initial A-MPDU not being longer than the first value; and receiving an acknowledgement (Ack) from the second STA to acknowledge the initial a-MPDU, the Ack including a buffer capacity field including a capacity value to indicate whether the first STA will be allowed to transmit a subsequent a-MPDU having a length no greater than the second value to the second STA, the capacity value being based on a current available memory size at the second STA.

Example 104 includes the subject matter of example 103, and optionally, comprising selecting not to transmit the subsequent a-MPDU when the capacity value indicates that the first STA is not allowed to transmit the subsequent a-MPDU.

Example 105 includes the subject matter of example 103 or 104, and optionally, comprising allowing the first STA to transmit the subsequent a-MPDU when the capacity value indicates that the first STA is allowed to transmit the subsequent a-MPDU.

Example 106 includes the subject matter of any one of example 103-105, and optionally, wherein the capacity value comprises a first predetermined value to indicate that the first STA is not allowed to transmit the subsequent a-MPDU to the second STA, or a second predetermined value to indicate that the first STA is allowed to transmit the subsequent a-MPDU to the first STA.

Example 107 includes the subject matter of any one of examples 103-105, and optionally, comprising transmitting an Ack request to the second STA and receiving a subsequent Ack from the second STA to acknowledge the Ack request when the capacity value indicates that the first STA is not allowed to transmit the subsequent a-MPDU to the second STA, the subsequent Ack including an updated capacity value based on an updated current available memory size at the second STA, the updated capacity value indicating whether the first STA will be allowed to transmit the subsequent a-MPDU to the second STA.

Example 108 includes the subject matter of any of example 103 and 106, and optionally, comprising transmitting the subsequent a-MPDU when the capacity value indicates that the first STA is allowed to transmit the subsequent a-MPDU to the second STA, and receiving a subsequent Ack from the second STA to acknowledge the subsequent a-MPDU, the subsequent Ack comprising an updated capacity value based on an updated current available memory size at the second STA.

Example 109 includes the subject matter of example 103, and optionally, wherein the capacity value comprises a third value less than the second value, the third value indicating that the first STA is to be allowed to transmit a subsequent a-MPDU having a length no longer than the third value to the second STA.

Example 110 includes the subject matter of example 109, and optionally, comprising transmitting a subsequent a-MPDU having a length no greater than the third value to the second STA, and receiving a subsequent Ack from the second STA to acknowledge receipt of the subsequent a-MPDU, the subsequent Ack including an updated capacity value, the updated capacity value based on an updated currently available memory size at the second STA.

Example 111 includes the subject matter of example 109 or 110, and optionally, wherein the third value comprises a count value to indicate a count of memory units, the method comprising determining an allowed length of the subsequent a-MPDU based on a product of the count value and a memory unit size.

Example 112 includes the subject matter of any of example 109 and 111, and optionally, wherein the capacity value corresponds to currently available memory of a shared memory shared among a plurality of Traffic Identifiers (TIDs), the method comprising transmitting the subsequent a-MPDU having a length no greater than the second value when the subsequent a-MPDU corresponds to a TID of the plurality of TIDs.

Example 113 includes the subject matter of any of example 109 and 111, and optionally, wherein the capacity value corresponds to currently available memory of dedicated memory dedicated to a TID, the method comprising transmitting the subsequent a-MPDU having a length no longer than the second value when the subsequent a-MPDU corresponds to the TID.

Example 114 includes the subject matter of any one of example 109 and 113, and optionally, comprising communicating a capability indication with the second STA to indicate that the first STA is capable of transmitting a subsequent a-MPDU having a length no longer than the third value.

Example 115 includes the subject matter of any of examples 103 and 114, and optionally, wherein the message comprises an association request or a probe request.

Example 116 includes the subject matter of any one of examples 103-115, and optionally, wherein the Ack comprises a block Ack (ba) and the buffer capacity field comprises a receive buffer capacity (RBUFCAP) field.

Example 117 includes a product comprising one or more tangible computer-readable non-transitory storage media comprising computer-executable instructions that, when executed by at least one processor, are operable to enable the at least one processor to cause a first wireless communication Station (STA) to receive a message from a second STA, the message comprising a first value to indicate an available memory size at the second STA at a start of a transmission opportunity (TXOP), and a second value to indicate a maximum length of an aggregated Medium Access Control (MAC) protocol data unit (a-MPDU) transmission during the TXOP; transmitting an initial A-MPDU to the second STA during the TXOP, the length of the initial A-MPDU not being longer than the first value; and receiving an acknowledgement (Ack) from the second STA to acknowledge the initial a-MPDU, the Ack including a buffer capacity field including a capacity value to indicate whether the first STA will be allowed to transmit a subsequent a-MPDU having a length no greater than the second value to the second STA, the capacity value being based on a current available memory size at the second STA.

Example 118 includes the subject matter of example 117, and optionally, wherein the instructions, when executed, cause the first STA to select not to transmit the subsequent a-MPDU when the capacity value indicates that the first STA is not allowed to transmit the subsequent a-MPDU.

Example 119 includes the subject matter of example 117 or 118, and optionally, wherein the instructions, when executed, allow the first STA to transmit the subsequent a-MPDU when the capacity value indicates that the first STA is allowed to transmit the subsequent a-MPDU.

Example 120 includes the subject matter of any one of examples 117 and 119, and optionally, wherein the capacity value comprises a first predetermined value to indicate that the first STA is not allowed to transmit the subsequent a-MPDU to the second STA, or a second predetermined value to indicate that the first STA is allowed to transmit the subsequent a-MPDU to the first STA.

Example 121 includes the subject matter of any one of examples 117-119, and optionally, wherein the instructions, when executed, cause the first STA to transmit an Ack request to the second STA and receive a subsequent Ack from the second STA to acknowledge the Ack request when the capacity value indicates that the first STA is not allowed to transmit the subsequent a-MPDU to the second STA, the subsequent Ack including an updated capacity value based on an updated current available memory size at the second STA, the updated capacity value indicating whether the first STA will be allowed to transmit the subsequent a-MPDU to the second STA.

Example 122 includes the subject matter of any of example 117-120, and optionally, wherein the instructions, when executed, cause the first STA to transmit the subsequent a-MPDU when the capacity value indicates that the first STA is allowed to transmit the subsequent a-MPDU to the second STA, and receive a subsequent Ack from the second STA to acknowledge the subsequent a-MPDU, the subsequent Ack comprising an updated capacity value based on an updated current available memory size at the second STA.

Example 123 includes the subject matter of example 117, and optionally, wherein the capacity value comprises a third value less than the second value, the third value indicating that the first STA is to be allowed to transmit a subsequent a-MPDU having a length no longer than the third value to the second STA.

Example 124 includes the subject matter of example 123, and optionally, wherein the instructions, when executed, cause the first STA to transmit a subsequent a-MPDU having a length no greater than the third value to the second STA, and receive a subsequent Ack from the second STA to acknowledge receipt of the subsequent a-MPDU, the subsequent Ack including an updated capacity value, the updated capacity value being based on an updated current available memory size at the second STA.

Example 125 includes the subject matter of example 123 or 124, and optionally, wherein the third value comprises a count value to indicate a count of memory units, the instructions, when executed, cause the first STA to determine an allowed length of the subsequent a-MPDU based on a product of the count value and a memory unit size.

Example 126 includes the subject matter of any of example 123-125, and optionally, wherein the capacity value corresponds to currently available memory of a shared memory shared among a plurality of Traffic Identifiers (TIDs), the instructions, when executed, cause the first STA to transmit the subsequent a-MPDU having a length no longer than the second value when the subsequent a-MPDU corresponds to a TID of the plurality of TIDs.

Example 127 includes the subject matter of any one of example 123 and 125, and optionally, wherein the capacity value corresponds to currently available memory of dedicated memory dedicated to TIDs, the instructions, when executed, cause the first STA to transmit the subsequent a-MPDU having a length no longer than the second value when the subsequent a-MPDU corresponds to the TID.

Example 128 includes the subject matter of any one of example 123 and 127, and optionally, wherein the instructions, when executed, cause the first STA to communicate a capability indication with the second STA to indicate that the first STA is capable of transmitting a subsequent a-MPDU having a length no longer than the third value.

Example 129 includes the subject matter of any one of examples 117 and 128, and optionally, wherein the message comprises an association request or a probe request.

Example 130 includes the subject matter of any one of examples 117 and 129, and optionally, wherein the Ack comprises a block Ack (ba) and the buffer capacity field comprises a receive buffer capacity (RBUFCAP) field.

Example 131 includes an apparatus of wireless communications by a first wireless communication Station (STA), comprising means for receiving a message from a second STA, the message comprising a first value to indicate an available memory size at the second STA at a start of a transmission opportunity (TXOP) and a second value to indicate a maximum length of an aggregated Medium Access Control (MAC) protocol data unit (a-MPDU) transmission during the TXOP; means for transmitting an initial A-MPDU to the second STA during the TXOP, the initial A-MPDU having a length no longer than the first value; and means for receiving an acknowledgement (Ack) from the second STA to acknowledge the initial a-MPDU, the Ack including a buffer capacity field including a capacity value to indicate whether the first STA will be allowed to transmit subsequent a-MPDUs having a length no greater than the second value to the second STA, the capacity value being based on a current available memory size at the second STA.

Example 132 includes the subject matter of example 131, and optionally, comprising means for selecting not to transmit the subsequent a-MPDU when the capacity value indicates that the first STA is not allowed to transmit the subsequent a-MPDU.

Example 133 includes the subject matter of example 131 or 132, and optionally, comprising means for allowing the first STA to transmit the subsequent a-MPDU when the capacity value indicates that the first STA is allowed to transmit the subsequent a-MPDU.

Example 134 includes the subject matter of any one of example 131 and 133, and optionally, wherein the capacity value comprises a first predetermined value to indicate that the first STA is not allowed to transmit the subsequent a-MPDU to the second STA, or a second predetermined value to indicate that the first STA is allowed to transmit the subsequent a-MPDU to the first STA.

Example 135 includes the subject matter of any one of examples 131 and 133, and optionally, means for: transmitting an Ack request to the second STA and receiving a subsequent Ack from the second STA to acknowledge the Ack request when the capacity value indicates that the first STA is not allowed to transmit the subsequent A-MPDU to the second STA, the subsequent Ack including an updated capacity value based on an updated current available memory size at the second STA, the updated capacity value indicating whether the first STA will be allowed to transmit the subsequent A-MPDU to the second STA.

Example 136 includes the subject matter of any one of examples 131 and 134, and optionally, means for: when the capacity value indicates that the first STA is allowed to transmit the subsequent A-MPDU to the second STA, transmitting the subsequent A-MPDU, and receiving a subsequent Ack from the second STA to acknowledge the subsequent A-MPDU, the subsequent Ack including an updated capacity value based on an updated current available memory size at the second STA.

Example 137 includes the subject matter of example 131, and optionally, wherein the capacity value comprises a third value less than the second value, the third value indicating that the first STA is to be allowed to transmit a subsequent a-MPDU having a length no longer than the third value to the second STA.

Example 138 includes the subject matter of example 137, and optionally, means for: transmitting a subsequent A-MPDU having a length no greater than the third value to the second STA, and receiving a subsequent Ack from the second STA to acknowledge receipt of the subsequent A-MPDU, the subsequent Ack including an updated capacity value, the updated capacity value being based on an updated current available memory size at the second STA.

Example 139 includes the subject matter of example 137 or 138, and optionally, wherein the third value comprises a count value to indicate a count of memory units, the apparatus comprising means for determining an allowed length of the subsequent a-MPDU based on a product of the count value and a memory unit size.

Example 140 includes the subject matter of any of example 137 and optionally, wherein the capacity value corresponds to currently available memory of a shared memory shared among a plurality of Traffic Identifiers (TIDs), the means comprising means for transmitting the subsequent a-MPDU having a length no greater than the second value when the subsequent a-MPDU corresponds to a TID of the plurality of TIDs.

Example 141 includes the subject matter of any of example 137 and 139, and optionally, wherein the capacity value corresponds to currently available memory of dedicated memory dedicated to a TID, the means comprising means for transmitting the subsequent a-MPDU having a length no longer than the second value when the subsequent a-MPDU corresponds to the TID.

Example 142 includes the subject matter of any one of example 137 and 141, and optionally, comprising means for communicating a capability indication with the second STA to indicate that the first STA is capable of transmitting a subsequent a-MPDU having a length no longer than the third value.

Example 143 includes the subject matter of any of examples 131 and 142, and optionally, wherein the message comprises an association request or a probe request.

Example 144 includes the subject matter of any one of examples 131 and 143, and optionally, wherein the Ack comprises a block Ack (ba) and the buffer capacity field comprises a receive buffer capacity (RBUFCAP) field.

Functions, operations, components, and/or features described herein with reference to one or more embodiments may be combined or used in combination with one or more other functions, operations, components, and/or features described herein with reference to one or more other embodiments, and vice versa.

While certain features have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the disclosure.

60页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:带宽部分信令和切换

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类