Method for reporting received signal strength based on each frame in a WI-FI network

By inserting the channel condition measurement value into the payload of the Block Ack frame in a wireless network, the client device efficiently reports the channel conditions to the APD, solving the problem of large overhead of channel condition reporting and possible interruption of data transmission in the prior art, realizing the Low-cost, low-latency channel condition monitoring and feedback.

CN115777181BActive Publication Date: 2025-01-07RUCKUS IP HOLDINGS LLC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202180047908.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-07-31
Filing Date
2021-06-08
Publication Date
2025-01-07
Estimated Expiration
2041-06-08

AI Technical Summary

Technical Problem

Prior art When a client device reports channel conditions to an access point device (APD) in a wireless network, it relies on explicit commands and response frames, resulting in high overhead and potentially interrupting data transmission.

Method used

The client device efficiently reports to the APD by measuring channel conditions and inserting them into the payload of the block confirmation frame, and uses the Block Ack frame to transmit channel condition information at a low cost during block data transmission.

Benefits of technology

It realizes efficient reporting of wireless channel conditions, reduces additional overhead, avoids data transmission interruption, and improves the efficiency of channel condition monitoring and feedback.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115777181B_ABST
    Figure CN115777181B_ABST
Patent Text Reader

Abstract

Aspects of the present disclosure relate to a client device for use with an access point device. The client device includes: a memory; and a processor configured to execute instructions stored on the memory to cause the client device to: obtain a value associated with a capability of the client device; create a response including a header and a payload, the header including a reserved field including a bit, the bit reporting that the payload of the response includes a value associated with the capability; and transmit the response to the APD.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] Embodiments of the present disclosure generally relate to communicating aspects of a client device to a network device in a wireless network. Summary of the invention

[0002] Aspects of the present disclosure relate to a client device for use with an access point device (APD). The client device includes: a memory; and a processor configured to execute instructions stored on the memory to cause the client device to: obtain a value associated with a capability of the client device; create a response including a header and a payload, the header including a reserved field including a bit, the bit reporting that the payload of the response includes a value associated with the capability; and transmit the response to the APD.

[0003] In some embodiments, the processor is further configured to execute instructions stored on the memory to additionally cause the client device to: receive an Add Block Ack (ADDBA) request frame from an APD that is a Wi-Fi APD to establish a Block Ack session, the ADDBA request frame having a reserved field within an ADDBA capability field, the reserved field storing data indicating that the Wi-Fi APD supports the capability; determine the capabilities of the client device based on the ADDBA request frame; create an ADDBA response including an ADDBA response header, the ADDBA response header including an ADDBA response reserved field, the ADDBA response reserved field storing data indicating that the client device supports the capability; and transmit the ADDBA response to the APD.

[0004] In some embodiments, the processor is further configured to execute instructions stored on the memory to additionally cause the client device to: receive a data frame from the Wi-Fi APD in response to transmission of the ADDBA response, wherein the value is additionally associated with at least one of receipt of the ADDBA request frame and receipt of the data frame, wherein the created response includes a Block Ack frame having a Block Ack header as the header and a Block Ack payload as the payload, and wherein the value associated with the capability resides in a BA information field of the Block Ack payload.

[0005] In some embodiments, the capability is a received channel power reporting capability, and the processor is further configured to execute instructions stored on the memory to cause the client device to: obtain a received channel power indicator as the value, the received channel power indicator indicating a radio frequency power received by the client device on a channel; and add the received channel power indicator as the value to a BA information field of a Block Ack payload.

[0006] In some embodiments, the capability is a received signal-to-noise ratio reporting capability, and the processor is further configured to execute instructions stored on the memory to cause the client device to: obtain a received signal-to-noise ratio indicator as the value, the received signal-to-noise ratio indicator indicating noise received by the client device on a channel; and add the received signal-to-noise ratio indicator as the value to a BA information field of the Block Ack payload.

[0007] In some embodiments, the processor is configured to execute instructions stored on the memory to cause the client device to: determine that the client device includes multiple capabilities; obtain values ​​associated with each capability respectively; and create the Block Ack frame so that the reserved field includes a corresponding bit corresponding to each of the multiple capabilities, each corresponding bit reports that the payload of the Block Ack frame includes a corresponding value associated with the corresponding capability, and such value associated with each capability resides in the BA information field of the Block Ack frame.

[0008] In some embodiments, the capability is a received channel power reporting capability and a received signal-to-noise ratio reporting capability, and the processor is further configured to execute instructions stored on the memory to cause the client device to: obtain a received channel power indicator and a received signal-to-noise ratio indicator as the values, the received channel power indicator indicating the radio frequency power received by the client device on the channel, the received signal-to-noise ratio indicator indicating the noise received by the client device on the channel; and add the received channel power indicator and the received signal-to-noise ratio indicator as the values ​​to the BA information field of the Block Ack payload.

[0009] Other aspects of the present disclosure relate to a method for using a client device with an APD. The method includes: obtaining, via a processor configured to execute instructions stored on a memory, a value associated with a capability of the client device; receiving, via the processor, the ADDBA request frame; creating, via the processor, a response including a header and a payload, the header including a reserved field including a bit, the bit reporting that the payload of the response includes a value associated with the capability; and transmitting, via the processor, the response to the APD.

[0010] In some embodiments, the method further includes: receiving, via the processor, an ADDBA request frame from an APD that is a Wi-Fi APD to establish a Block Ack session, the ADDBA request frame having a reserved field in an ADDBA capability field, the reserved field storing data indicating that the Wi-Fi APD supports the capability; determining, via the processor, capabilities of the client device based on the ADDBA request frame; creating, via the processor, an ADDBA response including an ADDBA response header, the ADDBA response header including an ADDBA response reserved field, the ADDBA response reserved field storing data indicating that the client device supports the capability; and transmitting, via the processor, the ADDBA response to the APD.

[0011] In some embodiments, the method further comprises: in response to the transmission of the ADDBA response, receiving, via the processor, a data frame from the Wi-Fi APD, wherein the value is additionally associated with at least one of receipt of the ADDBA request frame and receipt of the data frame, wherein the created response comprises a Block Ack frame having a Block Ack header as the header and a Block Ack payload as the payload, and wherein the value associated with the capability resides in a BA information field of the Block Ack payload.

[0012] In some embodiments, wherein the capability is a received channel power reporting capability, the method further comprises: obtaining, via the processor, a received channel power indicator as the value, the received channel power indicator indicating a radio frequency power received by the client device on a channel; and adding, via the processor, the received channel power indicator as the value to a BA information field of a Block Ack payload.

[0013] In some embodiments, wherein the capability is a receive signal-to-noise ratio reporting capability, the method further comprises: obtaining, via the processor, a receive signal-to-noise ratio indicator as the value, the receive signal-to-noise ratio indicator indicating noise received by the client device on a channel; and adding, via the processor, the receive signal-to-noise ratio indicator as the value to a BA information field of the Block Ack payload.

[0014] In some embodiments, the method further includes: determining, via the processor, that the client device includes a plurality of capabilities; obtaining, via the processor, values ​​respectively associated with each capability; and creating, via the processor, the Block Ack frame such that the reserved field includes a respective bit corresponding to each of the plurality of capabilities, each respective bit reporting that the payload of the Block Ack frame includes a respective value associated with the respective capability, and such values ​​associated with each capability reside in a BA information field of the Block Ack frame.

[0015] In some embodiments, wherein the capability is a received channel power reporting capability and a received signal-to-noise ratio reporting capability, the method further includes: obtaining, via the processor, a received channel power indicator and a received signal-to-noise ratio indicator as the values, the received channel power indicator indicating the radio frequency power received by the client device on the channel, the received signal-to-noise ratio indicator indicating the noise received by the client device on the channel; and adding, via the processor, the received channel power indicator and the received signal-to-noise ratio indicator as the values ​​to the BA information field of the Block Ack payload.

[0016] Other aspects of the present disclosure relate to a non-transitory computer-readable medium having computer-readable instructions stored thereon, the computer-readable instructions being capable of being read by a client device for use with an APD, wherein the computer-readable instructions are capable of instructing the client device to perform a method comprising: obtaining, via a processor configured to execute instructions stored on a memory, a value associated with a capability of the client device; receiving, via the processor, the ADDBA request frame; creating, via the processor, a response comprising a header and a payload, the header comprising a reserved field comprising a bit, the bit reporting that the payload of the response includes a value associated with the capability; and transmitting, via the processor, the response to the APD.

[0017] In some embodiments, the computer-readable instructions are capable of instructing the client device to perform a method that also includes the following operations: receiving, via the processor, an ADDBA request frame from an APD that is a Wi-Fi APD to establish a Block Ack session, the ADDBA request frame having a reserved field in an ADDBA capability field, the reserved field storing data indicating that the Wi-Fi APD supports the capability; determining, via the processor, the capabilities of the client device based on the ADDBA request frame; creating, via the processor, an ADDBA response including an ADDBA response header, the ADDBA response header including an ADDBA response reserved field, the ADDBA response reserved field storing data indicating that the client device supports the capability; and transmitting, via the processor, the ADDBA response to the APD.

[0018] In some embodiments, the computer-readable instructions are capable of instructing the client device to perform a method further comprising: in response to transmission of the ADDBA response, receiving, via the processor, a data frame from the Wi-Fi APD, wherein the value is additionally associated with at least one of receipt of the ADDBA request frame and receipt of the data frame, wherein the created response comprises a Block Ack frame having a Block Ack header as the header and a Block Ack payload as the payload, and wherein the value associated with the capability resides in a BA information field of the Block Ack payload.

[0019] In some embodiments, the computer-readable instructions are capable of instructing the client device to perform the method, wherein the capability is a received channel power reporting capability, and wherein the method further comprises: obtaining, via the processor, a received channel power indicator as the value, the received channel power indicator indicating the radio frequency power received by the client device on a channel; and adding, via the processor, the received channel power indicator as the value to a BA information field of the Block Ack payload.

[0020] In some embodiments, the computer-readable instructions are capable of instructing the client device to perform the method, wherein the capability is a receive signal-to-noise ratio reporting capability, and wherein the method further comprises: obtaining, via the processor, a receive signal-to-noise ratio indicator as the value, the receive signal-to-noise ratio indicator indicating noise received by the client device on a channel; and adding, via the processor, the receive signal-to-noise ratio indicator as the value to a BA information field of the Block Ack payload.

[0021] In some embodiments, the computer-readable instructions are capable of instructing the client device to perform a method that also includes the following operations: determining, via the processor, that the client device includes multiple capabilities; obtaining, via the processor, values ​​respectively associated with each capability; and creating, via the processor, the Block Ack frame so that the reserved field includes a corresponding bit corresponding to each of the multiple capabilities, each corresponding bit reporting that the payload of the Block Ack frame includes a corresponding value associated with the corresponding capability, and such value associated with each capability resides in a BA information field of the Block Ack frame.

[0022] In some embodiments, the computer-readable instructions are capable of instructing the client device to perform the method, wherein the capabilities are received channel power reporting capabilities and received signal-to-noise ratio reporting capabilities, and wherein the method further comprises: obtaining, via the processor, a received channel power indicator and a received signal-to-noise ratio indicator as the values, the received channel power indicator indicating the radio frequency power received by the client device on the channel, the received signal-to-noise ratio indicator indicating the noise received by the client device on the channel; and adding, via the processor, the received channel power indicator and the received signal-to-noise ratio indicator as the values ​​to the BA information field of the Block Ack payload.

[0023] Other aspects of the present disclosure relate to an APD for use with a client device, the APD comprising: a memory; and a processor configured to execute instructions stored on the memory to cause the APD to: create a request including an extension element, the extension element including a reserved field containing bits, the bits identifying capabilities supported by the APD; and transmit the request to the client device.

[0024] In some embodiments, the processor is further configured to execute instructions stored on the memory to additionally cause the APD to: create the request as an ADDBA request frame to establish a Block Ack session, the reserved field being within an ADDBA capability field; and receive a BlockAck frame having a Block Ack header and a Block Ack payload from the client device, wherein a value associated with the capabilities of the client device resides in a BA information field of the Block Ack payload.

[0025] In some embodiments, the capability is a received channel power reporting capability, and the processor is further configured to execute instructions stored on the memory to cause the APD to obtain a received channel power indicator from a BA information field of the Block Ack payload as the value, the received channel power indicator indicating the radio frequency power received by the client device on a channel.

[0026] In some embodiments, the capability is a receive signal-to-noise ratio reporting capability, and the processor is further configured to execute instructions stored on the memory to cause the APD to obtain a receive signal-to-noise ratio indicator as the value from a BA information field of the Block Ack payload, the receive signal-to-noise ratio indicator indicating noise received by the client device on a channel.

[0027] In some embodiments, the processor is configured to execute instructions stored on the memory to cause the APD to: create a request including an extension element, the extension element including a reserved field comprising a plurality of bits, each bit identifying a corresponding capability supported by the APD, wherein a plurality of values ​​respectively associated with the plurality of capabilities of the client device reside in a BA information field of the Block Ack payload.

[0028] In some embodiments, the capability is a received channel power reporting capability and a received signal-to-noise ratio reporting capability, and the processor is further configured to execute instructions stored on the memory to cause the APD to: obtain a received channel power indicator and a received signal-to-noise ratio indicator as the values, the received channel power indicator indicating the radio frequency power received by the client device on the channel, the received signal-to-noise ratio indicator indicating the noise received by the client device on the channel; and add the received channel power indicator and the received signal-to-noise ratio indicator as the values ​​to the BA information field of the Block Ack payload.

[0029] Other aspects of the present disclosure relate to a method for using an APD with a client device, the method comprising: creating, via a processor configured to execute instructions stored on a memory, a request comprising an extension element, the extension element comprising a reserved field containing bits, the bits identifying capabilities supported by the APD; and transmitting, via the processor, the request to the client device.

[0030] In some embodiments, the method further includes: creating, via the processor, the request as an ADDBA request frame to establish a Block Ack session, the reserved field being within an ADDBA capability field; and receiving, from the client device, a Block Ack frame having a Block Ack header and a Block Ack payload, wherein a value associated with the capabilities of the client device resides in a BA information field of the Block Ack payload.

[0031] In some embodiments, wherein the capability is a received channel power reporting capability, the method further comprises: obtaining, via the processor, a received channel power indicator from a BA information field of the Block Ack payload as the value, the received channel power indicator indicating a radio frequency power received by the client device on a channel.

[0032] In some embodiments, wherein the capability is a receive signal-to-noise ratio reporting capability, the method further comprises: obtaining, via the processor, a receive signal-to-noise ratio indicator from a BA information field of the Block Ack payload as the value, the receive signal-to-noise ratio indicator indicating noise received by the client device on a channel.

[0033] In some embodiments, the method further comprises creating a request comprising an extension element, the extension element comprising a reserved field comprising a plurality of bits, each bit identifying a corresponding capability supported by the APD, wherein a plurality of values ​​respectively associated with the plurality of capabilities of the client device reside in a BA information field of the Block Ack payload.

[0034] In some embodiments, wherein the capability is a received channel power reporting capability and a received signal-to-noise ratio reporting capability, the method further includes: obtaining, via the processor, a received channel power indicator and a received signal-to-noise ratio indicator as the values, the received channel power indicator indicating the radio frequency power received by the client device on the channel, the received signal-to-noise ratio indicator indicating the noise received by the client device on the channel; and adding, via the processor, the received channel power indicator and the received signal-to-noise ratio indicator as the values ​​to the BA information field of the Block Ack payload.

[0035] Other aspects of the present disclosure relate to a non-transitory computer-readable medium having computer-readable instructions stored thereon, the computer-readable instructions being capable of being read by an APD for use with a client device, wherein the computer-readable instructions are capable of instructing the APD to perform a method comprising: creating, via a processor configured to execute instructions stored on a memory, a request comprising an extension element, the extension element comprising a reserved field comprising bits, the bits identifying capabilities supported by the APD; and transmitting, via the processor, the request to the client device.

[0036] In some embodiments, the computer-readable instructions are capable of instructing the APD to perform a method that also includes the following operations: creating the request as an ADDBA request frame via the processor to establish a Block Ack session, the reserved field being within an ADDBA capability field; and receiving a Block Ack frame having a Block Ack header and a Block Ack payload from the client device, wherein a value associated with the capabilities of the client device resides in a BA information field of the Block Ack payload.

[0037] In some embodiments, the computer-readable instructions are capable of instructing the APD to perform the method, wherein the capability is a received channel power reporting capability, and wherein the method further comprises: obtaining, via the processor, a received channel power indicator from a BA information field of the BlockAck payload as the value, the received channel power indicator indicating the RF power received by the client device on the channel.

[0038] In some embodiments, the computer-readable instructions are capable of instructing the APD to perform the method, wherein the capability is a receive signal-to-noise ratio reporting capability, and wherein the method further comprises: obtaining, via the processor, a receive signal-to-noise ratio indicator from a BA information field of the Block Ack payload as the value, the receive signal-to-noise ratio indicator indicating noise received by the client device on a channel.

[0039] In some embodiments, the computer-readable instructions are capable of instructing the APD to perform a method that also includes the following operations: creating a request including an extension element, the extension element including a reserved field comprising multiple bits, each bit identifying a corresponding capability supported by the APD, wherein multiple values ​​respectively associated with multiple capabilities of the client device reside in a BA information field of the Block Ack payload.

[0040] In some embodiments, the computer-readable instructions are capable of instructing the APD to perform the method, wherein the capabilities are received channel power reporting capabilities and received signal-to-noise ratio reporting capabilities, and wherein the method further includes: obtaining, via the processor, a received channel power indicator and a received signal-to-noise ratio indicator as the values, the received channel power indicator indicating the radio frequency power received by the APD on the channel, and the received signal-to-noise ratio indicator indicating the noise received by the APD on the channel; and adding, via the processor, the received channel power indicator and the received signal-to-noise ratio indicator as the values ​​to the BA information field of the Block Ack payload. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate exemplary embodiments and, together with the description, serve to explain the principles of the present disclosure. In the drawings:

[0042] Figure 1 An APD in communication with a client device over a wireless channel is shown in accordance with aspects of the present disclosure;

[0043] Figure 2 shows a data transmission sequence between an APD and a client device according to aspects of the present disclosure;

[0044] Figure 3 Elements of ADDBA request and response frames are shown in accordance with aspects of the present disclosure;

[0045] Figure 4 Elements of a Block Ack frame according to aspects of the present disclosure are shown;

[0046] Figure 5 Methods of determining capabilities of APDs and client devices according to aspects of the present disclosure are shown; and

[0047] Figure 6 Methods of reporting channel conditions according to aspects of the present disclosure are shown. DETAILED DESCRIPTION

[0048] Wireless network communication methods such as Wi-Fi are commonly used to allow client devices such as computers and smartphones to connect to other computing resources. A simple Wi-Fi network consists of an AP connected to client devices through a wireless channel.

[0049] Channel conditions such as signal strength and channel noise may change over time. In one example, a client device may move away from the APD, thereby reducing signal strength. In another example, a household appliance may be turned on, thereby increasing RF noise and interference.

[0050] There are conventional methods for client devices to report channel conditions to APDs. A limitation of these conventional methods is that they rely on explicit command and response frames between the APD and the client devices. These command and response frames can interrupt the transmission of data frames and therefore increase overhead. What is needed is a system and method for efficiently reporting channel conditions by a client device to an APD.

[0051] Systems and methods according to the present disclosure enable efficient reporting of channel conditions between an APD and a client device over a wireless channel.

[0052] According to the present disclosure, the APD determines whether the client device has the ability to measure and report channel conditions. The client device measures the channel conditions when receiving the data frame. The client device then inserts these measurements into the block acknowledgment frame transmitted back to the APD. Since the Block Ack frame is already used during the block data transmission process, the additional overhead of reporting the channel conditions is very low.

[0053] Now refer to Figure 1-6 Exemplary systems and methods for efficiently reporting channel conditions between an APD and a client device via a wireless channel according to aspects of the present disclosure are described in further detail.

[0054] Figure 1 A communication system 100 is shown in accordance with aspects of the present disclosure.

[0055] As shown in the figure, the communication system 100 includes an APD 102, a client device 104, and a wireless channel 106. The APD 102 and the client device 104 are arranged to communicate with each other through the wireless channel 106.

[0056] APD 102 includes a processor 108 , a memory 110 having a Block Ack program 112 stored therein, an interface circuit 114 , and at least one radio, a sample of which is indicated as radio 116 .

[0057] An APD, such as APD 102, is a networking hardware device that allows other Wi-Fi devices to connect to a Wi-Fi network. A service set ID (SSID) is an identifier (in IEEE 802.11) broadcast by an access point in a beacon packet to announce the presence of a network access point for that SSID. An SSID is a customizable ID that can be zero to 32 bytes and can use a natural language such as English.

[0058] In this example, the processor 108, the memory 110, the radio device 116, and the interface circuit 114 are illustrated as separate devices. However, in some embodiments, at least two of the processor 108, the memory 110, the radio device 116, and the interface circuit 114 can be combined into an integral device. Whether as separate devices or as a combined device, the processor 108, the memory 110, the radio device 116, and the interface circuit 114 can be implemented as any combination of an apparatus, a system, and an integrated circuit. In addition, in some embodiments, at least one of the processor 108, the memory 110, and the interface circuit 114 can be implemented as a computer having a non-transitory computer-readable medium for carrying or having computer-executable instructions or data structures stored thereon. Such non-transitory computer-readable recording media refers to any computer program product, device or device, such as a disk, an optical disk, a solid-state storage device, a memory, a programmable logic device (PLD), a DRAM, a RAM, a ROM, an EEPROM, a CD-ROM or other optical disk storage device, a magnetic disk storage device or other magnetic storage device, or any other medium that can be used to carry or store the required computer-readable program code in the form of an instruction or data structure and can be accessed by a general or special-purpose computer or a general or special-purpose processor. As used herein, a disk or disc includes a compact disk (CD), a laser disk, an optical disc, a digital versatile disc (DVD), a floppy disk and a blue-ray disc. The above combination is also included in the scope of computer-readable media. For information transmitted or provided by a network or another communication connection (hard wiring, wireless or a combination of hard wiring or wireless) with a computer, the computer can appropriately regard the connection as a computer-readable medium. Therefore, any such connection can be appropriately referred to as a computer-readable medium. The above combination should also be included in the scope of computer-readable media.

[0059] An exemplary tangible computer-readable medium can be coupled to a processor so that the processor can read information from the tangible computer-readable medium and write information to the tangible computer-readable medium. In an alternative, the tangible computer-readable medium can be integral with the processor. The processor and the tangible computer-readable medium can reside in an integrated circuit (IC), an application specific integrated circuit (ASIC) or a large-scale integrated circuit (LSI), a system LSI, a super LSI or a super LSI component that performs some or all of the functions described herein. In an alternative, the processor and the tangible computer-readable medium can exist as discrete components.

[0060] The exemplary tangible computer readable medium may also be coupled to a system, non-limiting examples of which include a computer system / server, which may work with many other general or special purpose computing system environments or configurations. Examples of well-known computing systems, environments and / or configurations suitable for use with a computer system / server include, but are not limited to, personal computer systems, server computer systems, thin clients, fat clients, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputer systems, mainframe computer systems, and distributed cloud computing environments including any of the above systems or devices, and the like.

[0061] Such computer systems / servers may be described in the general context of computer system executable instructions, such as program modules, being executed by the computer system. Typically, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform specific tasks or implement specific abstract data types. In addition, such computer systems / servers may be practiced in a distributed cloud computing environment, where tasks are performed by remote processing devices linked through a communications network. In a distributed cloud computing environment, program modules may be located in local and remote computer system storage media, including storage devices.

[0062] Components of an exemplary computer system / server may include, but are not limited to, one or more processors or processing units, a system memory, and a bus that couples various system components including the system memory to the processor.

[0063] The bus represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example and not limitation, such architectures include an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus.

[0064] A program / utility program having a set (at least one) of program modules may be stored in a memory, for example but not limited to, with an operating system, one or more application programs, other program modules, and program data. Each or some combination of the operating system, one or more application programs, other program modules, and program data may include an implementation of a network environment. The program modules typically perform the functions and / or methods of various embodiments of the application as described herein.

[0065] The processor 108 may be implemented as a hardware processor such as a microprocessor, a multi-core processor, a single-core processor, a field programmable gate array (FPGA), a microcontroller, an application specific integrated circuit (ASIC), a digital signal processor (DSP), or other similar processing device capable of executing any type of instructions, algorithms, or software for controlling the operation and functionality of the APD 102 according to the embodiments described in the present disclosure.

[0066] The memory 110 may store various programming and user content, as well as data including a Block Ack program 112. As will be discussed in more detail below, the Block Ack program 112 may include instructions to be executed by the processor 108 to cause the APD 102 to: create a request including an extension element including a reserved field containing bits that identify capabilities supported by the APD; and transmit the request to the client device 104.

[0067] In some embodiments, as will be discussed in more detail below, the Block Ack program 112 may include instructions to be executed by the processor 108 to additionally cause the APD 102 to: create the request as an ADDBA request frame to establish a Block Ack session, the reserved field being within the ADDBA capability field; and receive a Block Ack frame having a Block Ack header and a Block Ack payload from the client device 104, wherein a value associated with the capabilities of the client device 104 resides in the BA information field of the Block Ack payload.

[0068] In some embodiments, as will be discussed in more detail below, the capability is a received channel power reporting capability, and the Block Ack procedure 112 may include instructions to be executed by the processor 108 to additionally cause the APD 102 to perform the following operations: obtain a received channel power indicator from the BA information field of the Block Ack payload as the value, the received channel power indicator indicating the radio frequency power received by the client device 104 on the wireless channel 106.

[0069] In some embodiments, as will be discussed in more detail below, the capability is a receive signal-to-noise ratio reporting capability, and the Block Ack procedure 112 may include instructions to be executed by the processor 108 to additionally cause the APD 102 to perform the following operations: obtain a receive signal-to-noise ratio indicator as the value from the BA information field of the Block Ack payload, the receive signal-to-noise ratio indicator indicating the noise received by the client device 104 on the wireless channel 106.

[0070] In some embodiments, as will be discussed in more detail below, the Block Ack program 112 may include instructions to be executed by the processor 108 to additionally cause the APD 102 to perform the following operations: create a request including an extension element, wherein the extension element includes a reserved field comprising a plurality of bits, each bit identifying a respective capability supported by the APD, wherein a plurality of values ​​respectively associated with a plurality of capabilities of the client device 104 reside in a BA information field of the Block Ack payload.

[0071] In some embodiments, as will be discussed in more detail below, the capabilities are received channel power reporting capabilities and received signal-to-noise ratio reporting capabilities, and the Block Ack procedure 112 may include instructions to be executed by the processor 108 to additionally cause the APD 102 to perform the following operations: obtain a received channel power indicator and a received signal-to-noise ratio indicator as the values, the received channel power indicator indicating the radio frequency power received by the client device 104 on the wireless channel 106, and the received signal-to-noise ratio indicator indicating the noise received by the client device 104 on the channel; and add the received channel power indicator and the received signal-to-noise ratio indicator as the values ​​to the BA information field of the Block Ack payload.

[0072] The interface circuit 114 may include one or more connectors (e.g., an RF connector or an Ethernet connector) and / or wireless communication circuits (e.g., 5G circuits and one or more antennas). The interface circuit 114 receives content from a content provider (not shown) by known methods, non-limiting examples of which include terrestrial antennas, satellite antennas, wired cables, DSL, optical fiber, or 5G as discussed above. Through the interface circuit 114, the gateway device APD can receive input signals including data and / or audio / video content from a content provider, and can send data to the content provider.

[0073] The radio device 116 (and preferably, two or more radio devices) may also be referred to as wireless communication circuitry, such as a Wi-Fi WLAN interface radio transceiver, and may be operable to communicate with the client device 104 via the wireless channel 106. The radio device 116 includes one or more antennas and communicates wirelessly over one or more of the 2.4 GHz band, the 5 GHz band, and the 6 GHz band, or with an appropriate frequency band and bandwidth to implement any IEEE 802.11 Wi-Fi protocol, such as Wi-Fi 4, 5, 6, or 6E protocol. The APD 102 may also be equipped with a radio transceiver / wireless communication circuitry to implement wireless connectivity according to any Bluetooth protocol, Bluetooth Low Energy (BLE) or other short-range protocol, RF4CE protocol, ZigBee protocol, Z-Wave protocol, or IEEE 802.15.4 protocol, which operates according to wireless technology standards to exchange data over a short distance using any licensed or unlicensed frequency band (e.g., CBRS band, 2.4 GHz band, 5 GHz band, or 6 GHz band).

[0074] The client device 104 may be any device or method that connects to the wireless channel 106. In this non-limiting example, the client device 104 may be a personal computer, a smartphone, a tablet computer, an Internet-enabled television, or a video game console. The client device 104 includes a processor 118, a memory 120 having a Block Ack program 122 stored therein, an interface circuit 124, and at least one radio device, a sample of which is indicated as a radio device 126.

[0075] In this example, the processor 118, the memory 120, the radio device 126, and the interface circuit 124 are illustrated as separate devices. However, in some embodiments, at least two of the processor 118, the memory 120, the radio device 126, and the interface circuit 124 can be combined into an integral device. Whether as separate devices or as a combined device, the processor 118, the memory 120, the radio device 126, and the interface circuit 124 can be implemented as any combination of an apparatus, a system, and an integrated circuit. In addition, in some embodiments, at least one of the processor 118, the memory 120, and the interface circuit 124 can be implemented as a computer having a non-transitory computer-readable medium for carrying or having computer-executable instructions or data structures stored thereon.

[0076] The processor 118 may be implemented as a hardware processor such as a microprocessor, a multi-core processor, a single-core processor, a field programmable gate array (FPGA), a microcontroller, an application specific integrated circuit (ASIC), a digital signal processor (DSP), or other similar processing device capable of executing any type of instructions, algorithms, or software for controlling the operation and functionality of the client device 104 according to the embodiments described in the present disclosure.

[0077] The memory 120 may store various programming and user content, as well as data including a Block Ack program 122. As will be discussed in greater detail below, the Block Ack program 122 may include instructions to be executed by the processor 118 to cause the client device 104 to: obtain a value associated with a capability of the client device 104; create a response including a header and a payload, the header including a reserved field including a bit that reports that the payload of the response includes a value associated with the capability; and transmit the response to the APD 102.

[0078] In some embodiments, as will be discussed in more detail below, the Block Ack program 122 may include instructions to be executed by the processor 118 to additionally cause the client device 104 to perform the following operations: receive an ADDBA request frame from the APD 102 as a Wi-Fi access point device to establish a Block Ack session, the ADDBA request frame having a reserved field within the ADDBA capability field, the reserved field storing data indicating that the APD 102 supports the capabilities; determine the capabilities of the client device 104 based on the ADDBA request frame; create an ADDBA response including an ADDBA response header, the ADDBA response header including an ADDBA response reserved field, the ADDBA response reserved field storing data indicating that the client device 104 supports the capabilities; and transmit the ADDBA response to the APD 102.

[0079] In some embodiments, as will be discussed in more detail below, the Block Ack program 122 may include instructions to be executed by the processor 118 to additionally cause the client device 104 to perform the following operations: receiving a data frame from the APD 102 in response to transmission of an ADDBA response, wherein the value is additionally associated with at least one of the receipt of the ADDBA request frame and the receipt of the data frame, wherein the created response includes a Block Ack frame having a Block Ack header as a header and having a Block Ack payload as a payload, and wherein the value associated with the capability resides in a BA information field of the Block Ack payload.

[0080] In some embodiments, as will be discussed in more detail below, the capability is a received channel power reporting capability, and the Block Ack procedure 122 may include instructions to be executed by the processor 118 to additionally cause the client device 104 to: obtain a received channel power indicator as the value, the received channel power indicator indicating the radio frequency power received by the client device 104 on the wireless channel 106; and add the received channel power indicator as the value to a BA information field of a Block Ack payload.

[0081] In some embodiments, as will be discussed in more detail below, the capability is a received signal-to-noise ratio reporting capability, and the Block Ack procedure 122 may include instructions to be executed by the processor 118 to additionally cause the client device 104 to perform the following operations: obtain a received signal-to-noise ratio indicator as the value, the received signal-to-noise ratio indicator indicating noise received by the client device 104 on the wireless channel 106; and add the received signal-to-noise ratio indicator as the value to a BA information field of a Block Ack payload.

[0082] In some embodiments, as will be discussed in more detail below, the Block Ack program 122 may include instructions to be executed by the processor 118 to additionally cause the client device 104 to: determine that the client device 104 includes multiple capabilities; obtain values ​​associated with each capability, respectively; and create a Block Ack frame such that the reserved field includes a respective bit corresponding to each of the multiple capabilities, each respective bit reporting that the payload of the Block Ack frame includes a respective value associated with the respective capability, and such values ​​associated with each capability reside in a BA information field of the Block Ack frame.

[0083] In some embodiments, as will be discussed in more detail below, the capabilities are received channel power reporting capabilities and received signal-to-noise ratio reporting capabilities, and the Block Ack procedure 122 may include instructions to be executed by the processor 118 to additionally cause the client device 104 to perform the following operations: obtain a received channel power indicator and a received signal-to-noise ratio indicator as the values, the received channel power indicator indicating the radio frequency power received by the client device 104 on the wireless channel 106, and the received signal-to-noise ratio indicator indicating the noise received by the client device 104 on the wireless channel 106; and add the received channel power indicator and the received signal-to-noise ratio indicator as the values ​​to the BA information field of the Block Ack payload.

[0084] Interface circuit 124 may include one or more connectors (e.g., RF connector or Ethernet connector) and / or wireless communication circuits (e.g., 5G circuits and one or more antennas). Interface circuit 124 enables a user (not shown) to interface with processor 118.

[0085] The radio device 126 (and preferably, two or more radio devices) may also be referred to as wireless communication circuitry, such as a Wi-Fi WLAN interface radio transceiver, and may be operable to communicate with the APD 102 via the wireless channel 106. The radio device 126 includes one or more antennas and communicates wirelessly over one or more of the 2.4 GHz band, the 5 GHz band, and the 6 GHz band, or with an appropriate frequency band and bandwidth to implement any IEEE 802.11 Wi-Fi protocol, such as Wi-Fi 4, 5, 6, or 6E protocol. The client device 104 may also be equipped with a radio transceiver / wireless communication circuitry to implement wireless connectivity according to any Bluetooth protocol, Bluetooth Low Energy (BLE) or other short-range protocol, RF4CE protocol, ZigBee protocol, Z-Wave protocol, or IEEE 802.15.4 protocol, which operates according to wireless technology standards to exchange data over a short distance using any licensed or unlicensed frequency band (e.g., CBRS band, 2.4 GHz band, 5 GHz band, or 6 GHz band).

[0086] In operation, APD 102 communicates with client device 104 via wireless channel 106. Transmission conditions of wireless channel 106 may change over time. In one non-limiting example, client device 104 may move to different locations. In another non-limiting example, turning on a household appliance may increase noise on wireless channel 106. It is useful for APD 102 to understand the channel conditions over which client device 104 is receiving data. APD 102 may use this understanding to modify its transmission method.

[0087] Conventional methods of reporting channel conditions by client device 104 to APD 102 typically rely on sending special frames that request channel condition measurements and respond with the channel condition measurements. These methods are limited in that they may have large overhead or may interrupt the transmission of important data.

[0088] Figure 1 1 shows an APD 102 communicating with a client device 104 via a wireless channel 106 in accordance with aspects of the present disclosure. Figure 2 Aspects of data transmission between the APD 102 and the client device 104 over the wireless channel 106 are discussed.

[0089] Figure 2A data transmission sequence between the APD 102 and the client device 104 over the wireless channel 106 is shown in accordance with aspects of the present disclosure.

[0090] As shown in the figure, at time t0, the APD 102 transmits an ADDBA request frame 200 to the client device 104 via the wireless channel 106. At time t1, the client device 104 transmits an ADDBA response frame 202 to the APD 102 via the wireless channel 106. At time t2, the APD 102 transmits one or more data frames 204 to the client device 104 via the wireless channel 106. At time t3, the client device 104 transmits a Block Ack frame 206 to the APD 102 via the wireless channel 106. At time t4, the APD 102 transmits one or more data frames 208 to the client device 104 via the wireless channel 106. At time t5, the client device 104 transmits a Block Ack frame 210 to the APD 102 via the wireless channel 106.

[0091] The ADDBA request frame 200 inquires whether the client device 104 can support one or more capabilities. The ADDBA response frame 202 is used to report whether the client device 104 supports the capabilities specified by the ADDBA request frame 200. When performing block data transfer, the ADDBA request frame 200 and the ADDBA response frame 202 are used to configure a block data transfer protocol between the client device 104 and the APD 102.

[0092] In this non-limiting example, the ADDBA request frame 200 is used to determine whether the client device 104 can support other capabilities, such as reporting of channel power measurements. In another non-limiting example, the ADDBA request frame 200 is used to determine whether the client device 104 can support reporting of signal-to-noise ratio measurements. In this non-limiting example, the ADDBA response frame 202 is used to report the capabilities specified by the ADDBA request frame 200.

[0093] Data frames 204 and 208 are one or more communication frames that carry any kind of information. In this non-limiting example, data frames 204 and 208 carry streaming video data.

[0094] The Block Ack frames 206 and 210 are used to confirm that the client device 104 has received the data frames 204 and 208, respectively. When performing block data transmission, the Block Ack frames 206 and 210 include confirmation information, such as the number of frames received and identifiers of lost frames. Other types of information may also be included in the Block Ack frames 206 and 210, as will be discussed in further detail below.

[0095] In operation, the APD 102 determines whether the client device 104 can support block data transmission using an ADDBA request frame 200. The client device 104 responds to the APD 102 using an ADDBA response frame 202. The APD 102 transmits a data frame 204. The client device 104 acknowledges receipt of the data frame 204 by transmitting a Block Ack frame 206. The APD 102 then transmits a data frame 208. The client device 104 acknowledges receipt of the data frame 208 by transmitting a Block Ack frame 210. This approach allows large blocks of data to be transmitted without interruption, as opposed to an approach that sends an acknowledgment for each individual data frame received. Reference will now be made to the embodiment of the present invention. Figure 3 Aspects of the ADDBA request frame 200 and the ADDBA response frame 202 are discussed.

[0096] Figure 3 Elements of an ADDBA request frame 200 and an ADDBA response frame 202 are shown in accordance with aspects of the present disclosure.

[0097] The ADDBA request frame 200 and the ADDBA response frame 202 include many groups of information. As shown in the figure, one group of information is the ADDBA extension element 300. The ADDBA extension element 300 includes an element ID 302, a length 304, and an ADDBA capabilities field 306. The element ID 302 describes the type of element. The ADDBA capabilities field 306 enumerates the capabilities of the device being queried. The length 304 specifies the length of the ADDBA capabilities field 306.

[0098] In this non-limiting exemplary embodiment, the ADDBA capability field 306 specifies whether the client device 104 is capable of reporting channel power measurements. In another non-limiting exemplary embodiment, the ADDBA capability field 306 specifies whether the client device 104 is capable of reporting signal-to-noise ratio measurements.

[0099] The ADDBA request frame 200 is used to query the capabilities of the client device 104, while the ADDBA response frame 202 is used to indicate the capabilities of the client device 104. When a capability is supported, the client device 104 can report back the values ​​associated with the capability by adding these values ​​to the Block Ack frames 206 and 210. Figure 4 Aspects of Block Ack frames 206 and 210 are discussed.

[0100] Figure 4 Elements of a Block Ack frame 400 are shown in accordance with aspects of the present disclosure.

[0101] As shown, Block Ack frame 400 includes a header 402, a Block Ack control field 404, a Block Ack information field 406, and an FCS 408. In this non-limiting example, Block Ack frame 400 is formatted according to the 802.11 standard. Block Ack frames 206 and 210 are exemplary embodiments of Block Ack frame 400.

[0102] The header 402 includes a preamble, a source device address, and a destination device address. The FCS 408 contains frame check sequence information that helps detect corrupted data in the Block Ack frame 400.

[0103] The Block Ack Control field 404 indicates whether the Block Ack frame 400 carries specific information. The specific information itself is included in the Block Ack Information field 406.

[0104] refer to Figure 2 , the client device 104 reports one or more supported capabilities using the ADDBA response frame 202. Between the transmission of blocks of data frames 204 and 208, the client device 104 returns values ​​associated with these capabilities by adding these values ​​to Block Ack frames 206 and 210. In this non-limiting example, the client device 104 supports reporting of channel power and signal-to-noise ratio measurements. These measurements are added to the Block Ack frames 206 and 210. Since the Block Ack frames 206 and 210 are already used in the normal process of block data transmission, adding the measurements creates little overhead and does not disrupt the communication of information.

[0105] In this non-limiting embodiment, the channel condition measurement is reported at time t3 using Block Ack frame 206 and at time t5 using Block Ack frame 210. If the client device 104 physically changes location between time t3 and time t5, the change in the channel condition measurement is reported to the APD 102. In another non-limiting embodiment, the client device 104 may have multiple antennas. The Block Ack frame 206 and the Block Ack frame 210 may be used to report changes in the channel condition measurement between the multiple antennas.

[0106] Figure 1-4 The client device 104 is shown transmitting channel condition measurements to the APD 102 during the block data transmission process. Figure 5 An algorithm to be executed by the processor to determine the capabilities of the client device 104 is discussed.

[0107] Figure 5A method 500 of determining capabilities of an APD and a client device in accordance with aspects of the present disclosure is shown.

[0108] As shown in the figure, the algorithm 500 starts (S502) and receives a Block Ack request frame (S504). Figure 2 , an ADDBA request frame 200 is received by the client device 104 from the APD 102 .

[0109] like Figure 1 As shown, processor 108 of APD 102 creates request frame 200 and instructs radio 116 to transmit request frame 200 to client device 104 via wireless channel 106. Radio 126 of client device 104 receives request frame 200 from APD 102 and provides request frame 200 to processor 118.

[0110] return Figure 5 , determine whether the APD supports channel condition reporting (S506). For example, refer to Figure 1 , the processor 108 uses the Block Ack procedure 112 to determine whether the APD 102 is able to receive and utilize the channel condition measurement.

[0111] return Figure 5 If it is determined that the APD supports channel condition reporting (Yes at S506), it is determined whether the client device supports channel condition reporting (S508). Figure 1 , the processor 118 uses the Block Ack procedure 112 to determine whether the client device 104 is capable of reporting channel condition measurements. The client device 104 then notifies the APD 102 whether the client device 104 is capable of reporting channel condition measurements.

[0112] Return to Figure 5 If it is determined that the client device supports channel condition reporting (Yes at S508), the client signal reporting flag in the Block Ack response frame is set to true (S510). Figure 2 As shown, the ADDBA response frame 202 from the client device 104 to the APD 102 includes a bit that may be toggled to indicate that the client device 104 supports channel condition reporting.

[0113] Return to Figure 5 If it is determined that the client device does not support channel condition reporting (No at S508), the client signal reporting flag is set to false (S514). Figure 2 As shown, the ADDBA response frame 202 from the client device 104 to the APD 102 includes a bit that may be toggled to indicate that the client device 104 does not support channel condition reporting.

[0114] Return to Figure 5 After the client signal report flag is set to true (S510) or false (S514), a Block Ack response frame is then transmitted (S516). Figure 1 , the processor 118 uses the Block Ack procedure 122 to determine whether the client device 104 is capable of reporting channel condition measurements. Figure 2 , the processor 118 uses the Block Ack procedure 122 to modify the appropriate flags in the ADDBA response frame 202 and transmits the ADDBA response frame 202 to the APD 102 .

[0115] Return to Figure 5 If it is determined that the APD does not support channel condition reporting (No at S506), it is further determined whether the client device supports gratuitous signal reporting (S512). In this non-limiting embodiment, even if the APD 102 ignores channel condition measurements, gratuitous signal reporting allows the client device 104 to transmit these measurements. Figure 1 , the processor 118 uses the Block Ack procedure 122 to determine whether the client device 104 is capable of reporting channel condition measurements.

[0116] Return to Figure 5 If it is determined that the client device supports the channel condition reporting without reason (Yes at S512), then as described above, the client signal reporting flag in the Block Ack response frame is set to true (S510). If it is determined that the client device does not support the channel condition reporting without reason (No at S512), then as described above, the client signal reporting flag is set to false (S514).

[0117] After the client signal report flag is set to true (S510) or set to false (S514), a BlockAck response frame is then transmitted (S516). Figure 1 , the processor 118 uses the Block Ack procedure 122 to determine whether the client device 104 is capable of reporting channel condition measurements. Figure 2 , the processor uses the Block Ack procedure 122 to modify the appropriate flags in the ADDBA response frame 202 and transmits the ADDBA response frame 202 to the APD 102 .

[0118] Return to Figure 5 , after transmitting the Block Ack response frame (S516), the algorithm 500 then stops (S518).

[0119] Figure 5An algorithm 500 is described for determining the channel condition reporting capabilities of the APD 102 and the client device 104. Specifically, in response to receiving the ADDBA request frame 200 at time t0, the algorithm 500 involves the operation of the client device 104 at time t1, such as Figure 2 Then, after receiving the data frame from APD 102 at time t2, as shown in Figure 2 As shown, the client device 104 will reply at time t3 with a Block Ack frame 206, which may report the channel conditions of the wireless channel 106 as perceived by the client device 104. Figure 6 An algorithm to be executed by a processor to report channel conditions is discussed.

[0120] Figure 6 An algorithm 600 is shown to be executed by a processor to report channel conditions in accordance with aspects of the present disclosure.

[0121] As shown in the figure, the algorithm 600 starts (S602) and receives a data frame (S604). Figure 2 , the client device 104 receives the data frame 204 from the APD 102 via the wireless channel 106 .

[0122] Return to Figure 6 , after receiving the data frame (S604), determining the value of at least one capability. In a non-limiting exemplary embodiment, one capability includes measuring a channel power of a wireless channel 106 measured by the client device 104, and another capability includes measuring a signal-to-noise ratio of a signal received by the client device 104 from the APD 102 through the wireless channel 106. For discussion purposes only, in this example, the channel power is measured (S606) and the signal-to-noise ratio is measured (S612).

[0123] For example, Figure 2 As shown, APD 102 transmits data frame 204 to client device 104 at time t2. Figure 1 As shown, the processor 118 can determine channel power and signal-to-noise ratio based on data frames received by the radio 126 from the APD 102 .

[0124] return Figure 6 After measuring the channel power (S606), a channel power flag (S608) is set in the Block Ack control field to indicate the presence of the channel power measurement. Figure 4 As shown, the bit corresponding to the channel power flag in the BA control field 404 is switched to true. Similarly, after measuring the signal-to-noise ratio (S612), the signal-to-noise ratio flag (S614) is set in the Block Ack control field to indicate that there is a signal-to-noise ratio measurement. Figure 4 As shown, the bit corresponding to the signal-to-noise ratio flag in the BA control field 404 is switched to true.

[0125] Return to Figure 6 , after setting the channel power flag in the Block Ack control field (S608), and after setting the signal-to-noise ratio flag in the Block Ack control field (S614), the channel power measurement and the signal-to-noise ratio measurement are added to the Block Ack information field (S610 and S616). Figure 1 The processor 118 uses the Block Ack procedure 122 to direct the client device 104 to measure the channel power and signal-to-noise ratio of the data frame 204. The processor 118 uses the Block Ack procedure 122 to add measurement and control flags to the Block Ack frame 206.

[0126] Return to Figure 6 , a Block Ack frame containing a channel condition measurement is transmitted (S618), and the algorithm 600 stops (S620). Figure 2 , the client device 104 transmits a Block Ack frame 206 containing a channel condition measurement to the APD 102 via the wireless channel 106. The client device 104 may then wait for the next block of data to be transmitted.

[0127] Thus, the client device 104 periodically transmits a Block Ack frame to the APD 102 in a manner similar to conventional Wi-Fi network communications. However, in accordance with the present disclosure, the Block Ack frame includes information related to parameters associated with the client device 104. Figure 6 In the non-limiting example discussed, the parameters associated with the client device 104 are channel power associated with the power of the wireless channel 106 perceived by the client device 104 and a signal-to-noise ratio of the wireless channel 106 perceived by the client device 104 from the APD 102 .

[0128] In summary, for communication purposes, an APD may be connected to a client device via a wireless channel. It is useful for the client device to report back to the APD the channel conditions of the data it receives. Conventional methods for reporting channel conditions typically require requests and responses for special frames, which increases overhead and may interrupt the transmission of information.

[0129] The present disclosure proposes a system and method for reporting channel conditions by a client device to an APD by adding channel condition measurements to a Block Ack frame. Since the Block Ack frame is already used in the block data transmission process, adding channel condition measurements generates almost no additional overhead and does not interrupt the transmission of information.

[0130] The operations disclosed herein may constitute an algorithm that can be implemented by software, an application (app or mobile app), or a computer program. The software, application, and computer program may be stored on a non-transitory computer-readable medium to enable a computer, such as one or more processors, to perform the operations described herein and shown in the accompanying drawings.

[0131] The foregoing description of various preferred embodiments has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure to the precise form disclosed, and it is apparent that many modifications and variations are possible in light of the above teachings. As described above, exemplary embodiments have been selected and described in order to best explain the principles of the disclosure and its practical application, thereby enabling those skilled in the art to best utilize the disclosure in various embodiments and with various modifications suitable for the particular use contemplated. The scope of the disclosure is intended to be defined by the claims appended hereto.

Claims

1. A client device for use with an access point device, the client device comprising: Memory; as well as a processor configured to execute instructions stored on the memory to cause the client device to: obtaining a value associated with a capability of the client device; receiving an Add Block Ack (ADDBA) request frame from an access point device that is a Wi-Fi access point device to establish a Block Ack session, the ADDBA request frame having a reserved field within an ADDBA capability field, the reserved field storing data indicating that the Wi-Fi access point device supports the capability; determining a capability of the client device based on the ADDBA request frame; creating an ADDBA response including an ADDBA response header, the ADDBA response header including an ADDBA response reserved field having data stored therein indicating that the client device supports the capability; as well as The ADDBA response is transmitted to the access point device.

2. The client device according to claim 1, wherein: The processor is further configured to execute instructions stored on the memory to additionally cause the client device to: creating a response including a header and a payload, the header including a reserved field containing a bit reporting that the payload of the response includes a value associated with the capability; and The response is transmitted to the access point device.

3. The client device according to claim 2, wherein: The processor is further configured to execute instructions stored on the memory to additionally cause the client device to: receiving a data frame from the Wi-Fi access point device in response to the transmission of the ADDBA response, wherein the value is additionally associated with at least one of receipt of the ADDBA request frame and receipt of the data frame, wherein the created response comprises a Block Ack frame having a Block Ack header as the header and having a Block Ack payload as the payload, and Wherein a value associated with the capability resides in a Block Ack (BA) information field of the Block Ack payload.

4. The client device of claim 3, wherein The capability is a receive channel power reporting capability, and The processor is further configured to execute instructions stored on the memory to cause the client device to: obtaining a received channel power indicator as the value, the received channel power indicator indicating a radio frequency power received by the client device on a channel, and The received channel power indicator is added as the value to a BA information field of the Block Ack payload.

5. The client device of claim 3, wherein The capability is a receive signal-to-noise ratio reporting capability, and The processor is further configured to execute instructions stored on the memory to cause the client device to: obtaining a received signal-to-noise ratio indicator as the value, the received signal-to-noise ratio indicator indicating noise received by the client device on a channel, and The received signal-to-noise ratio indicator is added as the value to a BA information field of the Block Ack payload.

6. A method of using a client device with an access point device, the method comprising: obtaining, via a processor configured to execute instructions stored on a memory, a value associated with a capability of the client device; receiving, via the processor, an ADDBA request frame from an access point device that is a Wi-Fi access point device to establish a BlockAck session, the ADDBA request frame having a reserved field within an ADDBA capability field, the reserved field storing data indicating that the Wi-Fi access point device supports the capability; determining, via the processor, capabilities of the client device based on an ADDBA request frame; creating, via the processor, an ADDBA response including an ADDBA response header, the ADDBA response header including an ADDBA response reserved field having data stored therein indicating that the client device supports the capability; as well as The ADDBA response is transmitted, via the processor, to the access point device.

7. The method according to claim 6, further comprising: creating, via the processor, a response including a header and a payload, the header including a reserved field containing a bit that reports that the payload of the response includes a value associated with the capability; and The response is transmitted, via the processor, to the access point device.

8. The method according to claim 7, further comprising: receiving, via the processor, a data frame from the Wi-Fi access point device in response to transmission of the ADDBA response, wherein the value is additionally associated with at least one of receipt of the ADDBA request frame and receipt of the data frame, wherein the created response comprises a Block Ack frame having a Block Ack header as the header and having a Block Ack payload as the payload, and Wherein a value associated with the capability resides in a BA information field of the Block Ack payload.

9. The method according to claim 8, wherein the capability is a receive channel power reporting capability, and The method further comprises: obtaining, via the processor, a received channel power indicator as the value, the received channel power indicator indicating a radio frequency power received by the client device on a channel, and The received channel power indicator is added as the value in a BA information field of the Block Ack payload via the processor.

10. The method according to claim 8, further comprising: wherein the capability is receive signal-to-noise ratio reporting capability, and The method further comprises: obtaining, via the processor, a received signal-to-noise ratio indicator as the value, the received signal-to-noise ratio indicator indicating noise received by the client device on a channel, and The received signal-to-noise ratio indicator is added as the value to a BA information field of the Block Ack payload via the processor.

11. A non-transitory computer-readable medium having computer-readable instructions stored thereon, the computer-readable instructions being readable by a client device for use with an access point device, wherein: The computer-readable instructions can instruct the client device to perform a method comprising: obtaining, via a processor configured to execute instructions stored on a memory, a value associated with a capability of the client device; receiving, via the processor, an ADDBA request frame from an access point device that is a Wi-Fi access point device to establish a BlockAck session, the ADDBA request frame having a reserved field within an ADDBA capability field, the reserved field storing data indicating that the Wi-Fi access point device supports the capability; determining, via the processor, capabilities of the client device based on an ADDBA request frame; creating, via the processor, an ADDBA response including an ADDBA response header, the ADDBA response header including an ADDBA response reserved field having data stored therein indicating that the client device supports the capability; as well as The ADDBA response is transmitted, via the processor, to the access point device.

12. The non-transitory computer readable medium of claim 11, wherein: The computer-readable instructions can instruct the client device to perform a method further comprising: creating, via the processor, a response including a header and a payload, the header including a reserved field containing a bit that reports that the payload of the response includes a value associated with the capability; and The response is transmitted, via the processor, to the access point device.

13. The non-transitory computer readable medium of claim 12, wherein: The computer-readable instructions can instruct the client device to perform a method further comprising: receiving, via the processor, a data frame from the Wi-Fi access point device in response to transmission of the ADDBA response, wherein the value is additionally associated with at least one of receipt of the ADDBA request frame and receipt of the data frame, wherein the created response comprises a Block Ack frame having a Block Ack header as the header and having a Block Ack payload as the payload, and Wherein a value associated with the capability resides in a BA information field of the Block Ack payload.

14. The non-transitory computer readable medium of claim 13, wherein: The computer-readable instructions are capable of instructing the client device to execute the method, wherein the capability is a receive channel power reporting capability, and The method further comprises: obtaining, via the processor, a received channel power indicator as the value, the received channel power indicator indicating a radio frequency power received by the client device on a channel, and The received channel power indicator is added as the value in a BA information field of the Block Ack payload via the processor.

15. The non-transitory computer readable medium of claim 13, wherein: The computer-readable instructions are capable of instructing the client device to execute the method, wherein the capability is receive signal-to-noise ratio reporting capability, and The method further comprises: obtaining, via the processor, a received signal-to-noise ratio indicator as the value, the received signal-to-noise ratio indicator indicating noise received by the client device on a channel, and The received signal-to-noise ratio indicator is added as the value to a BA information field of the Block Ack payload via the processor.

16. An access point device for use with a client device, the access point device comprising: Memory; as well as a processor configured to execute instructions stored on the memory to cause the access point device to: creating a request including an extension element as an ADDBA request frame to establish a Block Ack session, the extension element including a reserved field including bits identifying capabilities supported by the access point device, the reserved field being within an ADDBA capabilities field; and receiving a Block Ack frame having a Block Ack header and a Block Ack payload from the client device, Wherein, a value associated with the capabilities of the client device resides in a BA information field of the Block Ack payload.

17. The access point device according to claim 16, wherein: The processor is further configured to execute instructions stored on the memory to additionally cause the access point device to: The request is transmitted to the client device.

18. The access point device according to claim 17, wherein The capability is a receive channel power reporting capability, and The processor is further configured to execute instructions stored on the memory to enable the access point device to obtain a received channel power indicator as the value from a BA information field of the Block Ack payload, the received channel power indicator indicating a radio frequency power received by the client device on a channel.

19. The access point device of claim 17, wherein The capability is a receive signal-to-noise ratio reporting capability, and The processor is further configured to execute instructions stored on the memory to cause the access point device to obtain a received signal-to-noise ratio indicator as the value from a BA information field of the Block Ack payload, the received signal-to-noise ratio indicator indicating noise received by the client device on a channel.

20. A method of using an access point device with a client device, the method comprising: creating, via a processor configured to execute instructions stored on a memory, a request including an extension element as an ADDBA request frame to establish a Block Ack session, the extension element including a reserved field including bits identifying capabilities supported by the access point device, the reserved field within an ADDBA capabilities field; and receiving a Block Ack frame having a Block Ack header and a Block Ack payload from the client device, Wherein, a value associated with the capabilities of the client device resides in a BA information field of the Block Ack payload.

21. The method according to claim 20, further comprising: The request is transmitted, via the processor, to the client device.

22. The method according to claim 21, wherein the capability is a receive channel power reporting capability, and The method further comprises: A received channel power indicator is obtained, via the processor, from a BA information field of the Block Ack payload as the value, the received channel power indicator indicating a radio frequency power received by the client device on a channel.

23. The method according to claim 21, further comprising: wherein the capability is receive signal-to-noise ratio reporting capability, and The method further comprises: A received signal-to-noise ratio indicator is obtained, via the processor, from a BA information field of the Block Ack payload as the value, the received signal-to-noise ratio indicator indicating noise received by the client device on a channel.

24. A non-transitory computer-readable medium having computer-readable instructions stored thereon, the computer-readable instructions being readable by an access point device for use with a client device, wherein: The computer-readable instructions can instruct the access point device to perform a method comprising: creating, via a processor configured to execute instructions stored on a memory, a request including an extension element as an ADDBA request frame to establish a Block Ack session, the extension element including a reserved field including bits identifying capabilities supported by the access point device, the reserved field within an ADDBA capabilities field; and receiving a Block Ack frame having a Block Ack header and a Block Ack payload from the client device, Wherein, a value associated with the capabilities of the client device resides in a BA information field of the Block Ack payload.

25. The non-transitory computer readable medium of claim 24, wherein: The computer-readable instructions can instruct the access point device to perform a method further comprising: The request is transmitted, via the processor, to the client device.

26. The non-transitory computer readable medium of claim 25, wherein: The computer-readable instructions can instruct the access point device to perform the method, wherein the capability is a receive channel power reporting capability, and The method further comprises: A received channel power indicator is obtained, via the processor, from a BA information field of the Block Ack payload as the value, the received channel power indicator indicating a radio frequency power received by the client device on a channel.

27. The non-transitory computer readable medium of claim 25, wherein: The computer-readable instructions can instruct the access point device to perform the method, wherein the capability is receive signal-to-noise ratio reporting capability, and The method further comprises: A received signal-to-noise ratio indicator is obtained, via the processor, from a BA information field of the Block Ack payload as the value, the received signal-to-noise ratio indicator indicating noise received by the client device on a channel.

Citation Information

Patent Citations

  • Flow control for wireless devices

    CN110506403A