SELECTIVE SPATIAL REUSE TO IMPROVE NETWORK PERFORMANCE
Selective spatial reuse in wireless networks ensures reliable transmission of critical packets by avoiding interference, thereby improving network capacity and throughput in dense environments.
Patent Information
- Application Number
- DE102021127761
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-05-12
- Filing Date
- 2021-10-26
- Publication Date
- 2025-12-31
- Estimated Expiration
- 2041-10-26
AI Technical Summary
In densely populated wireless communication environments, existing spatial reuse techniques often impair critical traffic such as voice and TCP acknowledgment packets due to interference from overlapping BSS transmissions, leading to reduced network reliability and throughput.
Implementing selective spatial reuse (SR) that recognizes and prohibits critical traffic packets from being transmitted over, while allowing SR for non-critical traffic, ensuring reliable delivery of critical packets and enhancing overall network capacity.
Enhances network reliability for critical traffic like voice and TCP ACK packets by preventing interference, while improving overall network capacity through strategic use of SR for less critical data.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
background
[0001] The widespread use of wireless electronic devices has led to an increasing number of challenges in accommodating the growing number of users on wireless communication channels. For example, high levels of interference caused by a large number of users threaten to impair the network performance that users expect. IEEE 802.11 networks have continuously evolved to address these challenges. These challenges have been addressed to some extent through the introduction of features such as Spatial Reuse (SR) and Basic Service Sets (BSS) color schemes. These schemes are designed to improve network throughput and spectrum efficiency in densely populated environments.
[0002] US 2019 / 0 110 297 A1 describes a multi-user uplink transmission in which a first wireless station analyzes a spatial reuse field in a first frame and generates a second frame containing a spatial reuse field generated based on the spatial reuse field of the first frame. The first and second frames are within the same transmission opportunity (TXOP), and the first frame is transmitted before the second frame during the TXOP. Brief description
[0003] A non-transitory, machine-readable storage medium according to claims 1 to 9 is disclosed. Brief description of the drawings
[0004] The present disclosure is described in detail in accordance with one or more different embodiments with reference to the following figures. The figures serve only for illustration and represent only typical or exemplary embodiments. Fig. This shows an example of the use of a wireless network that can be implemented for a business, educational institution, government agency, health facility, or other organization. Fig. shows an example of a spatial reuse scenario. Fig. is a block diagram of an exemplary computer component or device for selective spatial reuse according to an embodiment. The Fig. Show example formats for Physical Layer Protocol Data Units (PPDU). Fig.is a flowchart illustrating example scenarios and processes for selective spatial reuse according to one embodiment. Fig. is an example of a computer component that can be used to implement various features of the embodiments described in the present disclosure.
[0005] The figures are not exhaustive and do not limit the present revelation to the exact form that is disclosed. Detailed description
[0006] As previously mentioned, certain techniques are designed to improve network throughput and frequency efficiency in densely populated environments, including frequency or space reuse (SR). This SR feature allows two or more devices located in different, adjacent Basic Service Groups (BSSs) on the same frequency channel to transmit simultaneously, provided certain conditions are met. These conditions are defined by the use of different Clear Channel Assessment (CCA) levels for inter-BSS and intra-BSS frames on the same channel. Inter-BSS and intra-BSS frames are distinguished by a color parameter embedded in a packet by the respective BSS. Depending on the CCA thresholds for inter-BSS and intra-BSS frames, an access point (AP) or device can shift medium access to the other AP or device, depending on the BSS from which the packet originated.
[0007] The introduction of SR was intended to improve throughput at the system level by allowing traffic in one BSS to overlap temporally and frequency-wise with another BSS (also known as overlapping BSS or OBSS). According to the 802.11 specification, the goal of high-efficiency SR (HE SR) operation is to enable medium reuse between OBSSs in dense deployment scenarios through early detection of frames from OBSSs and interference management. One method to achieve this is OBSS Packet-Detect (OBSS_PD)-based SR. OBSS_PD-based SR is achieved by adjusting the thresholds for preamble detection and transmit power, for example. For example, the effective isotropy radiated power (EIRP) of APs and non-AP client devices or stations (STAs) throughout the BSS can be manipulated.For example, if STAs in BSS are allowed to use a less sensitive threshold for preamble detection of OBSS frames during a CCA check, STAs can send packets despite an OBSS frame having just been sent (as long as the SNR is sufficient, as described below).
[0008] OBSS_PD-based SR can be further subdivided into (a) operation with a non-spatial Reuse Group (SRG) OBSS_PD level and (b) operation with an SRG OBSS_PD level. For both modes of operation, a minimum (min_OBSS_PD_level) and maximum (max_OBSS_PD_level) packet detection level is defined for a BSS. A client device in the BSS can choose a packet detection level such that the min_OBSS_PD_level ≤ OBSS_PD ≤ max_OBSS_PD_level, and an SR opportunity can be detected if the RSSI of the received inter-BSS PPDU is ≤ OBSS_PD. In particular, an AP can define SRG OBSS PD Min Offset and SRG OBSS PD Max Offset values that are used by the associated STAs to derive an SRG OBSS PD level for determining the reception behavior for Inter-BSS PPDUs that have been identified as SRG PPDUs.An AP can define a non-SRG-OBSS-PD max offset value, which is used by its associated STAs to derive a non-SRG-OBSS-PD level for determining the receive behavior for inter-BSS PPDUs that have not been identified as SRG PPDUs.
[0009] Another variant of SR can be called parameterized SR (PSR), where one possible use is based on identifying a PSR opportunity to initiate SR for the duration of an ongoing transmission of a protocol data unit (PPDU) of the physical layer, when certain conditions to avoid interference (which should not affect the reception of an ongoing PPDU transmission at the receiver) are met.
[0010] Signal-to-noise ratio (SR) is based on the fact that with a high signal-to-noise ratio (SNR) between two units at a given EIRP, the receiver can withstand a certain amount of interference from nearby simultaneous transmissions and can receive and decode packets concurrently. This also includes not causing interference, which is achieved through dynamic changes in the EIRP. However, in very dense AP deployments, the achievable throughput gains can be significantly limited by interference caused by overlapping transmissions, resulting in a lower SINR (signal-to-interference plus noise ratio).
[0011] Embodiments of the present disclosure address this problem by indiscriminately avoiding the activation or application of SR for all traffic types. Instead, various embodiments are designed to ensure the reliability of the service for "critical" traffic. Because the transmission medium is shared when SR is used, one device actively transmits "over" another transmission or while another transmission is taking place on the transmission medium. Transmission over critical traffic can be detrimental to the services carrying that critical traffic. Therefore, various embodiments recognize the presence of critical packets and prohibit the use of SR (other transmissions that transmit over the critical packet transmission). However, transmission over other packets may be permitted when non-critical traffic is being transmitted over a medium.
[0012] Some examples of critical traffic include voice traffic and Transmission Control Protocol (TCP) acknowledgment traffic / packets, although the implementations are not limited to these types of traffic. Various implementations focus on voice traffic because it is latency-sensitive and has strict requirements / limitations regarding packet loss. Similarly, the successful transmission of TCP ACK packets helps ensure good TCP throughput. Therefore, voice traffic and TCP ACK packets are so critical that this traffic is recognized, and the systems do not use SR while critical traffic is being transmitted. Both are also short packets that can benefit from a shorter transmission time and less time overlap with overlapping SR transmission.
[0013] Various implementations ensure the reliability of critical traffic while simultaneously improving overall network capacity through the (selective) use of SR. Foregoing or prohibiting the use of SR for critical traffic can increase the chances of successful packet delivery in an SR-enabled network. However, SR can also be used when transmitting other, less critical traffic, further improving network capacity. In other words, an access point (AP) can use SR when transmitting other, less critical traffic over a medium / channel.
[0014] Before describing embodiments of the disclosed systems and methods in detail, it is also useful to describe an exemplary network installation with which these systems and methods could be implemented in various applications. Fig.This diagram shows an example of a network configuration 100 that can be implemented for an organization, such as a business, educational institution, government agency, healthcare facility, or other organization. This diagram illustrates an example of a configuration implemented in an organization with multiple users (or at least multiple client devices 110) and potentially multiple physical or geographic locations 102, 132, 142. The network configuration 100 can include a primary location 102 that communicates with a network 120. The network configuration 100 can also include one or more remote locations 132, 142 that connect to the network 120.
[0015] The primary location 102 can encompass a primary network, such as an office network, a home network, or another network installation. The primary network 102 can also be a private network, for example, one that may include security and access controls to restrict access to authorized users. These authorized users might include, for example, employees of a company at the primary location 102, residents of a house, customers of a company, and so on.
[0016] In the example shown, the primary site 102 contains a controller 104 that communicates with the network 120. The controller 104 can provide communication with the network 120 for the primary site 102, although it need not be the only point of communication with the network 120 for the primary site 102. A single controller 104 is shown, although the primary site may include multiple controllers and / or multiple communication points with the network 120. In some embodiments, the controller 104 communicates with the network 120 via a router (not shown). In other embodiments, the controller 104 provides router functionality to the devices at the primary site 102.
[0017] A Controller 104 can configure and manage network devices, for example, at the main site 102, and can also manage network devices at remote sites 132 and 134. The Controller 104 can configure and / or manage switches, routers, access points, and / or client devices connected to a network. The Controller 104 itself can be an access point or provide the functionality of one.
[0018] The controller 104 can communicate with one or more switches 108 and / or wireless access points (APs) 106a-c. The switches 108 and the wireless APs 106a-c provide network connections to various client devices 110a-j. Through a connection to a switch 108 or AP 106a-c, a client device 110a-j can access network resources, including other devices in the (primary site 102) network and in the network 120.
[0019] Examples of client devices include: desktop computers, laptops, servers, web servers, authentication servers, Authentication Authorisation Accounting (AAA) servers, Domain Name System (DNS) servers, Dynamic Host Configuration Protocol (DHCP) servers, Internet Protocol (IP) servers, Virtual Private Network (VPN) servers, network policy servers, mainframes, tablet computers, e-readers, netbook computers, televisions and similar displays (e.g., smart TVs), content receivers, set-top boxes, personal digital assistants (PDAs), mobile phones, smartphones, smart terminals, silent terminals, virtual terminals, video game consoles, virtual assistants, Internet of Things (IoT) devices, and the like.
[0020] Within primary site 102, a switch 108 is included as an example access point to the network established at primary site 102 for wired client devices 110i-j. The client devices 110i-j can connect to the switch 108 and access other devices within network configuration 100 via the switch 108. The client devices 110i-j can also access network 120 via the switch 108. The client devices 110i-j can communicate with the switch 108 via a wired connection 112. In the example shown, the switch 108 communicates with the controller 104 via a wired connection 112, although this connection could also be wireless.
[0021] The wireless access points (APs) 106a-c are another example of an access point to the network set up at the main site 102 for client devices 110a-h. Each AP 106a-c can be a combination of hardware, software, and / or firmware configured to provide wireless network connectivity for wireless client devices 110a-h. In the example shown, the APs 106a-c can be managed and configured by the controller 104. The APs 106a-c communicate with the controller 104 and the network via connections 112, which can be either wired or wireless interfaces.
[0022] Network configuration 100 can include one or more remote sites 132. A remote site 132 can be located at a different physical or geographic location than the primary site 102. In some cases, the remote site 132 may be located at the same geographic location or possibly in the same building as the primary site 102, but it does not have a direct connection to the primary site 102's network. Instead, the remote site 132 may use a connection through another network, such as network 120. A remote site 132, as defined in Fig.The location shown could be, for example, a satellite office, another floor, or a suite within a building. The remote location 132 can contain a gateway device 134 for communication with the network 120. A gateway device 134 can be a router, a digital-to-analog modem, a cable modem, a DSL modem, or another network device configured to communicate with the network 120. The remote location 132 can also contain a switch 138 and / or an access point 136, which communicates with the gateway device 134 either via wired or wireless connections. The switch 138 and the access point 136 provide network connectivity for various client devices 140a-d.
[0023] In various embodiments, the remote site 132 can communicate directly with the primary site 102, allowing client devices 140a-d at the remote site 132 to access the network resources at the primary site 102 as if they were located at the primary site 102. In such embodiments, the remote site 132 is managed by the controller 104 at the primary site 102, and the controller 104 provides the necessary connectivity, security, and accessibility to enable communication between the remote site 132 and the primary site 102. Once the remote site 132 is connected to the primary site 102, it can function as part of a private network provided by the primary site 102.
[0024] In various embodiments, the network configuration 100 can include one or more smaller remote sites 142, each comprising only a gateway device 144 for communication with the network 120 and a wireless access point 146 through which various client devices 150a-b access the network 120. Such a remote site 142 could, for example, be the home of a single employee or a temporary remote office. The remote site 142 can also communicate with the main site 102, allowing the client devices 150a-b at the remote site 142 to access network resources at the main site 102 as if they were located at the main site 102. The remote site 142 can be managed by the controller 104 at the main site 102 to enable this transparency.After connecting to the main site 102, the remote site 142 can function as part of a private network provided by the main site 102.
[0025] Network 120 can be a public or private network, such as the internet or another communications network, that enables connection between the various locations 102, 130 to 142, and provides access to the servers 160a-b. Network 120 can include third-party telecommunications lines, such as telephone lines, broadcast coaxial cables, fiber optic cables, satellite communications, cellular communications, and the like. Network 120 can contain any number of intermediate network devices, such as switches, routers, gateways, servers, and / or controllers, which are not directly part of Network Configuration 100 but facilitate communication between the various parts of Network Configuration 100 and between Network Configuration 100 and other units connected to the network. Network 120 can contain various content servers 160a-b.Content servers 160a-b can include various providers of downloadable multimedia and / or streaming content, including audio, video, graphics, and / or text content, or any combination thereof. Examples of content servers 160a-b include web servers, streaming radio and video providers, and cable and satellite television providers. Client devices 110a j, 140a-d, and 150a-b can request and access the multimedia content provided by content servers 160a-b.
[0026] Although 10 client devices 110a-j or stations (STAs) at the primary site 102 in the example of Fig.As depicted, a network can contain a smaller or larger number of STAs in different applications. In fact, some implementations can contain a significantly larger number of STAs. For example, various wireless networks can contain hundreds, thousands, or even tens of thousands of STAs communicating with their respective APs, possibly even simultaneously. As mentioned earlier, various IEEE 802.11 networks can implement BSS coloring to increase network capacity in such dense environments. This can enable improvements and frequency reuse among network devices.
[0027] Fig. shows an example of intra-BSS communication, which is related to example network 100 ( Fig. ) can cause inter-BSS / OBSS interference. In the example of Fig.Client device 110C (connected to AP 106B) can transmit data on a specific channel, for example, channel 36, while client device 110D (connected to AP 106C) is also operating on channel 36. Since client devices 110C and 110D are geographically close, they can hear (detect) each other's transmissions above the PD threshold. Because the respective PD thresholds of client devices 110C and 110D are triggered by the energy of the other, client devices 110C and 110D compete with each other. Accordingly, client devices 110C and 110D access channel 36 alternately, with each client device receiving approximately half of the available bandwidth (and throughput) of channel 36, but not necessarily interfering with each other.This means that the energy from client device 110C is not considered interference by AP 106C because it is too far away, while the energy from client device 110D is not strong enough to be heard by AP 106B, but client devices 110C / 110D are close enough to interfere with each other and are therefore prevented by the CCA function from transmitting simultaneously on channel 36. The above explanations are just an example, and inter-BSS / OBSS interference can occur, for example, between two APs or between an AP and a client device.
[0028] With SR, client devices 110C / 110D can coordinate with each other and are highly likely to transmit data simultaneously, since AP 106B cannot hear client device 110D, and AP 106C cannot hear client device 110C. Therefore, neither AP 106B / 106C is disrupted by the other's communication. Coordination is achieved by detecting (on a packet-by-packet basis) whether a packet belongs to one BSS / BSSID or another. This determination can be made using the BSS color coding. The "color" is an index number, e.g., from 1 to 63, which is assigned to individual APs along with their channel assignment, either manually, through automatic determination, or through external automatic determination and assignment. If APs are using the same channel and are in the same environment, they should have different BSS colors.If two FVS devices operating in the same environment and on the same channel have the same FVS color, a so-called color collision occurs, which can be detected by a client device. The client device can then notify the access point (AP) to which it is connected and request the AP to announce a change in the BSS color (via beaconing).
[0029] When BSS color coding is used, 110C / 110D clients can determine whether a frame / packet is inter- or intra-BSS by examining the BSS color field contained in the frame's PHY header. For all intra-BSS frames, the standard PD threshold (-82 dBm) is still used to minimize potential interference between devices in the same BSS. However, in the case of an inter-BSS frame, OBSS-PD allows the use of a more aggressive maximum PD threshold (higher than -82 and more advantageous) to generate more parallel transmissions, resulting in more opportunities for SR utilization. By being able to quickly determine the BSS color from the preamble, a client device receiving an inter-BSS packet can discard it without demodulating the entire packet.
[0030] OBSS-PD's spatial reuse allows adjustments to the PD threshold between a minimum of -82 dBm and a maximum of -62 dBm, thereby modifying the signal detection threshold window to take advantage of signal strength (SR) capabilities. The permissible adjustment range is determined by the transmit power used. Lower transmit power reduces the potential for interference and supports a more aggressive PD value. Lower transmit power may reduce the data rate, but higher transmit power reduces latency (for appropriate traffic, such as high-priority, low-latency traffic).
[0031] Fig.is an example of a computer component 300 that can be used to implement various features according to an embodiment of the disclosed technology. The computer component 300 can be, for example, a server computer, a controller, or another similar computer component capable of processing data. In the example implementation of Fig. The computer component 300 comprises a hardware processor 302 and a machine-readable storage medium 304. In some embodiments, the computer component 300 may be an embodiment of the processor of an AP or AP controller ( Fig. and Fig. ).
[0032] The hardware processor 302 can be one or more central processing units (CPUs), semiconductor-based microprocessors, and / or other hardware devices capable of retrieving and executing instructions stored in the machine-readable memory medium 304. The hardware processor 302 can retrieve, decode, and execute instructions, such as instructions 306-312, to control processes or operations for the selective application or use of SR. Alternatively or in addition to retrieving and executing instructions, the hardware processor 302 can include one or more electronic circuits comprising electronic components for performing the functionality of one or more instructions, such as a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or other electronic circuits.
[0033] A machine-readable storage medium, such as the machine-readable storage medium 304, can be any electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions. The machine-readable storage medium 304 can be, for example, random access memory (RAM), non-volatile random access memory (NVRAM), electrically erasable programmable solid-state memory (EEPROM), a storage device, an optical disk, and the like. In some embodiments, the machine-readable storage medium 304 can be a non-transient storage medium, the term "non-transient" excluding the transitive transmission signals. As described in detail below, the machine-readable storage medium 304 can be encoded with executable instructions, for example, instructions 306-312.
[0034] Both voice packets and TCP ACK packets are typically short. For example, a voice packet (described in more detail below) can be 248 bytes long (most codecs limit the voice payload to 160 bytes), and a TCP ACK packet is 88 bytes long. Therefore, various implementations can be based on determining the length of the data segments of incoming packets. Although it is possible to identify voice packets by examining the Quality of Service (QoS) control field in the Media Access Control (MAC) header of an 802.11 packet, analyzing the MAC header delays the initiation of Signal Reduction (SR). As mentioned earlier, SR relies on the "early" identification of an SR transmission opportunity, with a client device being able to quickly determine the BSS color from a PPDU preamble and also ascertain the length by parsing the preamble.Accordingly, various implementations identify the presence of a "short packet" by determining the length of the data segment within a PPDU. The length of a PPDU data segment can be calculated from the preamble fields.
[0035] The 802.11ax standard specifies four different formats of PPDUs / PPDU signal structures: HE Single User (SU) PPDUs; HE SU Extended Range (ER) PPDUs; HE Multi-User (MU) PPDUs; and HE Trigger-Based (TB) PPDUs. Fig. - Fig. each of these PPDU formats. Fig. shows the HE SU PPDU format, Fig. shows the HE MU PPDU format, Fig. shows the HE ER SU PPDU format and Fig.This shows the HE TB PPDU format. That is, the 802.11 standard is generally a packet-based protocol, and each PPDU can contain a preamble and data fields. The "LLTF" and "L-STF" fields (400, 402) refer to the old / low-throughput long training field and the short training field, respectively. The "L-SIG" and "RL-SIG" fields (404, 406) refer to old and repeated old / low-throughput signal fields. The "HE-SIG-A" and "HE-SIG-B" fields (408a, 408b) refer to the fields for the high-efficiency signal A and signal B, respectively. The "HE-STF" and "HE-LTF" fields (410, 412a...412n) refer to the high-efficiency short and long training fields, respectively. Data field 414 can refer to the payload of the packet, and PE field 416 refers to the packet extension field.
[0036] Since there are differences between PPDU formats / structures, the methods for calculating the length of a data segment within a PPDU can vary. Therefore, the hardware processor 302 may be used to calculate this. Fig.To return to the above, execute instruction 306 to identify the format of an incoming packet. The PPDU format for HE PPDUs can be identified based on the length field in the L-SIG field of a moving PPDU and the HE-SIG-A field. It is important to note that 802.11 APs and STAs typically remain in receive mode to detect a frame in the air. Therefore, the presence of a moving frame is determined after detecting and analyzing the L-STF portion of the PPDU / frame (the terms "frame," "packet," and "PPDU" can be used interchangeably here). This is followed by detecting and analyzing the L-LTF portion of the PPDU, followed by detecting and analyzing the L-SIG, which contains the information to calculate the length of the remainder of the PPDU / frame (including the data portion / payload). Finally, the HE-SIG-A field, which contains the BSS color information, is detected and parsed.After parsing the HESIG-A field (and the HE-SIG-B field in the case of an MU packet), a decision can be made whether or not to apply SR to the remainder of the current PPDU / frame. If the current PPDU / frame is a SU or MU, SR is applied to the current PPDU / frame. SR does not occur with trigger frames, but in the case of an HE TB PPDU / frame, SR can be applied (a decision to apply SR can be made upon receiving the HE TB PPDU after receiving a trigger frame).
[0037] After determining the PPDU format, hardware processor 302 can execute instruction 308 to calculate the length of the data payload of the incoming packet. As already indicated, the length of the data payload can be a function of the PPDU format. To determine the length of the data segment (414 in Fig.) “TXTIME” is to be considered the duration of the PPDU in microseconds (µs). As outlined in the 802.11ax specification (especially Draft 6.0), the length field contained in the L-SIG field can be defined as follows: Length−(TSTIME−SignalExtension−204)3−3−m
[0038] It should be understood that "m" can have the value 1 for HE MU PPDUs and HE ER SU PPDUs. Otherwise, the value of m is 2. If the value of SignalExtension is zero (in a 5 or 6 GHz context), TXTIME can be estimated as follows: TXTIME=(Length+m+3)43+20μs
[0039] It is important to understand that SignalExtension can refer to an extension of the duration of a data unit. In the 2.4 GHz context, the SignalExtension value is 6 µs, while the value is zero for the 5 or 6 GHz context. The equation above can be adapted for the 2.4 GHz context by setting the SignalExtension value to 6 µs.
[0040] Table 1 shows which PPDUs can be transmitted during an SR event, depending on the SR type, and simultaneously classifies the type of PPDU used for each transmission. It should be clear that different configurations apply to both downlink (DL) and uplink (UL) packets. Likewise, different configurations can be applied to PPDUs of type SU, MU, and TB. Table 1 SR-TYPE SU DL MU UL MU Non-SRG / SRG YES (HE=SU) YES (HE-MU) YES (HE-TB) PSR NO NO YES (HE-TB)
[0041] The transmission times for the following fields are specified in Table 2 below: Table 2 T_Data Data payload transmission time T_L_STF Transmission time for L-STF, fixed 8 µs T_L_LTF Transmission time for L-LTF, fixed 8 µs T_L_SIG Transmission time for L-SIG, fixed 4 µs T_RL_SIG Transmission time for RL-SIG, fixed 4 µs THE STF Transmission time for HE-STF, 4 or 8 µs. This is a feature of the PPDU format. T_HE_LTF Transmission time for HE-LTF. The number of HE-LTF symbols (N_HE_LTF) is a function of the NSS of the PPDU and the PPDU format, as defined in the 802.11ax specification. T_PE Transmission time for PE, 0, 4, 8, 12 or 16 µs
[0042] It is understood that embodiments of the present disclosure can be adapted to be compatible with various methods for calculating lengths, e.g., based on the future PPDU syntax.
[0043] Furthermore, "Data_mcs" can refer to the modulation and encoding scheme (MCS) used by an access point for data transmission. The value of the MCS parameter can be derived from the HE-SIG-A or HE-SIG-B fields (or both) of the HE SU / MU-PDDUs. For HE TB PPDUs, the preceding trigger frame can be captured to determine the MCS and the resource unit(s) (RU) allocated to the individual user. Additionally, "L_Data" can refer to the calculated length, in bytes, of the data portion of a received PPDU.
[0044] The transmission time for a data payload in the context of HE SU PPDUs and HE TB PPDUs can be represented as follows: T_Data=(TXTIME)−(T_L_STF)−(T_L_LTF)−(T_L_SIG)−(T_RL_SIG)−(T_HE_SIG_A)−(T_HE_STF)−(T_HE_LTF×N_HE_LTF)
[0045] The transmission time for a data payload in the context of HE MU PPDUs can be represented as follows: T_Data=(TXTIME)−(T_L_STF)−(T_L_LTF)−(T_L_SIG)−(T_RL_SIG)−(T_HE_STF)−(T_HE_LTF×N_HE_LTF)−(T_HE_SIG_A)−(T_HE_SIG_B)−(T_PE)
[0046] In other words, the length of the preamble of a PPDU can be subtracted from the total length of the PPDU to determine the length of the data section of the PPDU, where L_Data is a function of T_Data and Data_mcs, i.e., L_Data = f(T_Data, Data_mcs).
[0047] As mentioned earlier, critical traffic characterized by short data segments, such as voice traffic and TCP ACK messages, can be protected from being overwritten by another transmission on the same channel / medium. Accordingly, when determining the length of the data segment of a running PPDU, this determined length is compared to the length of a (voice or TCP ACK) Physical Layer Conformance Procedure Service Data Unit (PSDU). That is, the 302 hardware processor can execute instruction 310 to correlate the data payload length with a packet type. In this way, it can be determined whether the calculated data payload length corresponds to a short packet (voice or TCP ACK) that, during transmission, should be free of other OBSS transmissions on the same channel / medium, i.e., free of concurrent SR traffic / transmissions.
[0048] The 802.11 physical layer is divided into two sublayers: the PLCP layer and the PMD (Physical Medium Dependent) layer. The PLCP sublayer prepares a frame for transmission by taking a frame from the MAC sublayer and creating a PPDU. The PMD sublayer then modulates the data and transmits it as bits. When the MAC PDU (MPDU) is passed to the physical layer, it is called a PSDU. When the PLCP receives the PSDU, it prepares it for transmission by creating a PPDU (by adding a preamble and a PHY header to the PSDU).
[0049] To determine the length of a voice PSDU, the length / number of bytes for each PSDU field can be added. It's important to note that this assumes voice packets are not aggregated. While 802.11ax packets can support multi-traffic identifier (TID) aggregation, for example, in the form of multi-TID Aggregated MAC Protocol Data Units (AMPDUs), which allow frames from multiple TIDs across the same or different QoS access categories to be aggregated and sent together, support for this feature is not yet widespread. Therefore, the assumption that voice packets are generally not aggregated can be considered a valid / fair assumption. Because AMPDUs are longer packets, signal strength (SR) can be applied over an AMPDU.This means that Orthogonal Frequency Division Multiple Access (OFDMA) is typically used for voice packets instead of AMPDUs, with HE MU PPDUs used for downlink transmissions and HE TB PPDUs used for uplink transmissions.
[0050] It should be clear that the data payload of a voice PSDU depends on the codec used to encode the voice data and is limited to approximately 160 bytes for most codecs. However, any other / new payload size can also be considered. In addition to the voice data payload, the following can contribute to the PSDU length: MAC header (28 bytes); Counter Mode Cipher Block Chaining Message Authentication Code Protocol (CCMP) header (8 bytes); Forward Error Correction (FEC) (4 bytes); Link Layer header (8 bytes); IP header (20 bytes); User Datagram Protocol (UDP) header (8 bytes); Real-Time Transport Protocol (RTP) header (12 bytes). It should be understood that the length of the CCMP header can be a function of the encryption algorithm used when security is enabled. The result is that a voice PSDU is typically 248 bytes long.
[0051] To determine the length of a PSDU resulting from a TCP ACK message, the number of bytes comprising the following can be added: TCP header (20 bytes); IP header (20 bytes); MAC header (28 bytes); CCMP header (8 bytes); FEC (4 bytes); Link-Layer header (8 bytes). This results in a length of 88 bytes for a PSDU resulting from a TCP ACK. The restriction of SR protection to voice traffic or PPDUs also includes the protection of PPDUs that carry multiple aggregated TCP ACKs, such as two to three TCP ACKs. In the example above, where a voice PSDU is 248 bytes, two aggregated TCP ACK messages could be aggregated and still be considered a short packet for SR purposes. It should be noted that any other short packet whose PSDU length (individually or combined) is smaller than a language PSDU can be considered a short packet.
[0052] The length of a voice PSDU can be referred to as "L-Voice-PSDU", while the length of the PPDU data section resulting from the L_Voice_PSDU can be referred to as "L_Voice_apprx".
[0053]
[0051] The hardware processor 302 can execute instruction 312 to allow or prohibit the use of SR based on the determined packet type. That is, if L_Data ≤ L_Voice_apprx, SR is not used for channel access when transmitting the outgoing packet. An incoming packet / frame can be marked as short after processing the preamble, and the decision to transmit this packet versus using SR can be made based on the calculated length of the packet.
[0054] Fig.This is a flowchart illustrating the various processes / stages that occur while determining whether or not to allow the transmission of data at the same time as other traffic on the same channel, according to the SR (Sensitive Resolution) function. In Operation 500, after receiving an incoming PPDU (Portable Data Unit), the AP (Access Point) establishes an SR opportunity. As is understandable to experts and in accordance with the 802.11ax standard, APs can use BSS (Battery Signaling System) color-coding procedures to determine the BSS color of Wi-Fi frames / packets that the AP can hear. If the BSS color of the heard Wi-Fi packets / frames differs from its own, the AP can utilize SR. It should be noted that SR applies to both STAs (Storage Access Points) and APs. Accordingly, the processes shown in the flowchart can be applied to both. Fig. The processes shown (which illustrate the processes performed by an AP) can be adapted to any device capable of using / utilizing the SR function.
[0055] In operation 502, the AP can determine if the PPDU is a trigger frame. If so, in operation 504, the length of the data segment for each user in the subsequently expected HE TB PPDU is estimated as described above. That is, L_Data = f(T_Data, Data_mcs), where T_Data = (TXTIME) - (T_L_STF) - (T_L_LTF) - (T_L_SIG) - (T_RL_SIG) - (T_HE_SIG_A) - (T_HE_STF) - (T_HE_LTF × N_HE_LTF) - T_PE. This length information can be cached, buffered, or otherwise stored, and the AP can wait again for a subsequent PPDU. It should be clear that after an AP sends a trigger frame, the STAs typically respond within one SIFS (Short Interframe Space) interval after receiving the trigger frame(s).Accordingly, in some embodiments, a check can be performed to determine whether a SIFS follows the trigger frame, and additionally, whether a subsequently expected trigger-based TB PPDU follows the SIFS. The length of a data segment for each user can be determined in a subsequently expected TB PPDU based on the trigger frame if it is found that the TB PPDU follows the SIFS and the SIFS follows the trigger frame.
[0056] If the incoming PPDU is not a trigger frame, operation 506 can determine whether the incoming PPDU is a SU or MU type PPDU. If the PPDU is neither single-user nor multi-user traffic, the AP can check in operation 508 whether the PPDU frame is a HE TB PPDU and whether the corresponding trigger frame has already been captured. If so, in operation 510, the AP can use the previously calculated data segment length(s) per user and proceed with the process in operation 514 (as described below). It should be understood (regarding segment lengths per user) that an MU PPDU can be used to transmit a downlink MU-MIMO packet or a downlink OFDMA PPDU. A single PPDU can be used to transmit packets for multiple STAs / users.
[0057] If the incoming PPDU is indeed a PPDU of type SU or MU, the AP can calculate the length of the PPDU's data section for each user in Operation 512. As described above, the data section length of an HE SU PPDU is L_Data = f(T_Data, Data_mcs), where T_Data = (TXTIME) - (T_L_STF) - (T_L_LTF) - (T_L_SIG) - (T_RL_SIG) - (T_HE_SIG_A) - (T_HE_STF) - (T_HE_LTF × N_HE_LTF) - T_PE. The data section length of an HE MU PPDU is L_Data = f(T_Data, Data_mcs), where T_Data = (TXTIME) - (T_L_STF) - (T_L_LTF) - (T_L_SIG) - (T_RL_SIG) - (T_HE_STF) - (T_HE_LTF × N_HE_LTF) - (T_HE_SIG_A) - (T_HE_SIG_B) - T_PE.
[0058] The process continues to operation 514, where the AP can check if the data segment length is less than or equal to the approximate important (e.g., voice) packet length (L_Voice_opprx) for each user in the PPDU. As above, with reference to Fig.As described, if the data segment length is greater than the approximate speech packet length, the packet is not a short packet indicating speech, TCP ACK (or another short packet), and SR can be used for the incoming PPDU in operation 516. In operation 518, if the data segment length is less than or equal to the approximate important packet length, the packet is a short packet indicating speech, TCP ACK (or another short packet), and SR is not used for an incoming PPDU. Therefore, the transmission of subsequent packets may be delayed if transmissions on the AP's operational channel are using SR until SR is no longer in use.
[0059] It should be clear that the selective application of SR, as disclosed here, can increase the reliability of voice traffic and thus improve the quality of voice calls (by not transmitting on the same channel as voice traffic). Furthermore, the reliability of TCP ACK transmissions can lead to better TCP throughput and therefore to better / greater network capacity. SR is currently only defined / specified for 802.11ax-compliant devices. Older devices are therefore not affected.
[0060] Fig.Figure 1 shows a block diagram of an exemplary computer / processing system 600, in which various embodiments of the system described herein can be implemented. The computer system 600 comprises a bus 602 or other communication mechanism for transmitting information, and one or more hardware processors 604 connected to the bus 602 for processing information. The hardware processor(s) 604 can, for example, be one or more general-purpose microprocessors.
[0061] The Computer System 600 also includes main memory 606, such as random access memory (RAM), a cache, and / or other dynamic memory devices connected to bus 602 to store information and instructions to be executed by processor 604. Main memory 606 can also be used to store temporary variables or other intermediate information during the execution of instructions to be carried out by processor 604. Such instructions, stored in memory media accessible to processor 604, make the Computer System 600 a specialized machine, adapted to perform the operations specified in the instructions.
[0062] The Computer System 600 also includes a read-only memory (ROM) 608 or other static storage device connected to the bus 602 to store static information and instructions for the processor 604. A storage device 610, such as a magnetic disk, an optical disk, or a USB flash drive, etc., is provided and connected to the bus 602 to store information and instructions.
[0063] The computer system 600 can be connected via bus 602 to a display 612, such as a liquid crystal display (LCD) (or a touchscreen), to show information to a computer user. An input device 614, including alphanumeric and other keys, is coupled to bus 602 to transmit information and command selections to the processor 604. Another type of user input device is the cursor control 616, such as a mouse, trackball, or cursor direction keys, for transmitting directional information and command selections to the processor 604 and for controlling cursor movement on the display 612. In some embodiments, the same directional information and command selections as with cursor control can be implemented by receiving touch inputs on a touchscreen without a cursor.
[0064] The Computer System 600 can include a user interface module for implementing a graphical user interface, which can be stored on a mass storage device as executable software code that is executed by the computer device(s). This and other modules can include components such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables.
[0065] In general, the terms "component," "engine," "system," "database," "data store," and the like, as used here, can refer to logic embodied in hardware or firmware, or to a collection of software instructions that may have entry and exit points and are written in a programming language such as Java, C, or C++. A software component may be compiled and linked into an executable program, installed in a dynamic link library, or written in an interpreted programming language such as BASIC, Perl, or Python. It is understood that software components may be called by other components or by themselves, and / or may be invoked in response to detected events or interruptions. Software components configured to run on computer devices may be stored on a computer-readable medium, such as...Software code may be provided on a compact disc, digital video disc, flash drive, magnetic disk, or other tangible medium, or as a digital download (and may initially be stored in a compressed or installable format that requires installation, decompression, or decryption before execution). Such software code may be stored partially or entirely in the memory of the executing computer device so that it can be executed by the computer device. Software instructions may be embedded in firmware, such as an EPROM. Furthermore, the hardware components may consist of interconnected logic units such as gates and flip-flops, and / or programmable units such as programmable gate arrays or processors.
[0066] The computer system 600 can implement the techniques described herein using customer-specific hard-wired logic, one or more ASICs or FPGAs, firmware, and / or program logic, which, in combination with the computer system, causes or programs the computer system 600 to be a special-purpose machine. According to one embodiment, the techniques described herein are executed by the computer system 600 in response to the processor(s) 604 executing one or more sequences of instructions contained in the main memory 606. Such instructions may be read into the main memory 606 from another storage medium, such as the storage device 610. The execution of the instruction sequences contained in the main memory 606 causes the processor(s) 604 to perform the process steps described herein.In alternative embodiments, hard-wired circuits can be used instead of, or in combination with, software instructions.
[0067] The term "non-volatile media" and similar terms as used here refer to all media that store data and / or instructions that cause a machine to operate in a particular way. Such non-volatile media can include both non-volatile and volatile media. Examples of non-volatile media include optical or magnetic disks, such as Storage Device 610. Examples of volatile media include dynamic memory, such as Main Memory 606. Common forms of non-volatile media include floppy disks, flexible disks, hard disks, solid-state drives, magnetic tapes or other magnetic data storage media, CD-ROMs, other optical data storage media, physical media with hole patterns, RAM, PROM and EPROM, FLASH-EPROM, NVRAM, other memory chips or cartridges, and their networked versions.
[0068] Non-transitory media differ from transmission media but can be used in conjunction with them. Transmission media are involved in the transfer of information between non-transitory media. Examples of transmission media include coaxial cable, copper wire, and fiber optic cable, including the wires that make up the 602 bus. Transmission media can also take the form of sound or light waves, such as those generated in radio and infrared data communication.
[0069] The Computer System 600 also includes a communication interface 618, which is connected to the bus 602. The network interface 618 provides a two-way data communication connection to one or more network connections that are connected to one or more local area networks (LANs). For example, the communication interface 618 could be an ISDN (Integrated Services Digital Network) card, a cable modem, a satellite modem, or a modem to establish a data communication connection to a corresponding type of telephone line. Another example: the network interface 618 could be a LAN (Local Area Network) card to establish a data communication connection to a compatible LAN (or a WAN component for communication with a WAN). Wireless connections can also be implemented.In each of these implementations, the network interface 618 sends and receives electrical, electromagnetic, or optical signals that transmit digital data streams with various types of information.
[0070] A network connection typically enables data communication over one or more networks to other data devices. For example, a network connection might establish a connection over a local area network to a host computer or to data devices operated by an Internet service provider (ISP). The ISP, in turn, provides data communication services over the worldwide packet data communication network, commonly known today as the "Internet." Both the local area network and the Internet use electrical, electromagnetic, or optical signals to transmit digital data streams. The signals across the various networks, the signals on the network connection, and the communication interface 618, which transmit digital data to and from the computer system 600, are examples of transmission media.
[0071] The computer system 600 can send messages and receive data, including program code, via the network(s), the network connection, and the communication interface 618. In the internet example, a server could transmit requested code for an application program via the internet, the ISP, the local network, and the communication interface 618.
[0072] The received code can be executed by the processor 604 as soon as it is received, and / or stored in the memory device 610 or other non-volatile memory for later execution.
[0073] Each of the processes, methods, and algorithms described in the preceding sections can be embodied in code components and fully or partially automated, executed by one or more computer systems or processors using computer hardware. These computer systems or processors can also be operated in a cloud computing environment or as Software as a Service (SaaS). The processes and algorithms can be partially or fully implemented in application-specific circuits. The various features and procedures described above can be used independently or combined in various ways.Various combinations and subcombinations are said to fall within the scope of this disclosure, and certain procedural or process blocks may be omitted in some implementations. The methods and processes described herein are also not restricted to a particular order, and the associated blocks or states may be executed in other suitable orders, in parallel, or otherwise. Blocks or states may be added to or removed from the disclosed examples. The execution of certain operations or processes may be distributed across computer systems or computer processors, not just within a single machine, but distributed across a number of machines.
[0074] As used herein, a circuit can be implemented in any form of hardware, software, or a combination thereof. For example, one or more processors, controllers, ASICs, PLAs, PALs, CPLDs, FPGAs, logic components, software routines, or other mechanisms can be implemented to form a circuit. In implementation, the various circuits described herein can be implemented as discrete circuits, or the described functions and features can be partially or completely distributed across one or more circuits.Even if various features or functional elements are individually described or claimed as separate circuits, these features and functions may be shared by one or more common circuits, and such a description is not intended to require or imply that separate circuits are necessary to implement these features or functions. If a circuit is implemented wholly or partly in software, such software may be implemented to operate with a computer or processing system capable of performing the functionality described with respect to it, such as the Computer System 600.
[0075] As used herein, the term "or" can be understood in both an inclusive and an exclusive sense. Furthermore, the singular description of resources, processes, or structures is not to be understood as excluding the plural. Conditional expressions such as "may," "could," "might," or "can," unless expressly stated otherwise or understood differently in context, are generally to be understood as meaning that certain embodiments include certain features, elements, and / or steps, while other embodiments do not.
[0076] Unless explicitly stated otherwise, the terms and expressions used in this document, as well as their variations, are to be understood as non-restrictive and open-ended. For example, the term "including" is to be understood as "including, without limitation" or the like. The term "example" is used to provide illustrative examples of the subject under discussion, not to create an exhaustive or limiting list. The terms "a" or "an" are to be understood as "at least one," "one or more," or similar. The presence of expansive words and expressions such as "one or more," "at least," "but not limited to," or similar expressions in some cases is not to be understood as implying that the narrower case is intended or required when such expansive expressions are absent.
Claims
[1] Non-transitory, machine-readable storage medium (304; 606) encoded with instructions that can be executed by a hardware processor (302; 604) of a computer component (300) to cause the hardware processor (302; 604) to: to receive a Physical Layer Protocol Data Unit (PPDU), wherein the PPDU includes protocol-specific control information and user data from a Wireless Local Area Network (WLAN) device in a computer network; to identify a PPDU packet type; If the packet type corresponds to a short packet, restrict the transmission of an outgoing PPDU; if the packet type is not a short packet, to allow the outgoing PPDU to be transmitted simultaneously with another transmission on the same transmission medium, the instructions further instructing the hardware processor (302; 604) to: to determine the length of a data segment of the PPDU; and to compare the length of the data segment with the length of a PPDU data segment corresponding to a short packet, where the short packet includes a TCP acknowledgment (ACK) message. [2] Non-transitory, machine-readable storage medium (304; 606) according to claim 1, wherein the length of the data section of the PPDU comprises a length per user. [3] Non-transitory, machine-readable storage medium (304; 606) according to claim 1, wherein the PPDU or a subsequent PPDU has a format corresponding to one of the following formats: High Efficiency (HE) Single User (SU) PPDU format, HE Multi User (MU) PPDU format, HE Trigger-based (TB) PPDU format. [4] Non-transitory machine-readable storage medium (304; 606) according to claim 1, wherein the PPDU or a subsequent PPDU is part of an uplink MU transmission or a downlink MU transmission. [5] Non-transitory, machine-readable storage medium (304; 606) according to claim 1, wherein instructions further induce the hardware processor (302; 604) to determine whether the PPDU includes a trigger frame. [6] Non-transitory, machine-readable storage medium (304; 606) according to claim 5, wherein the instructions further cause the hardware processor (302; 604) to determine whether a short interframe space (SIFS) follows the trigger frame. [7] Non-transitory, machine-readable storage medium (304; 606) according to claim 6, wherein the instructions further cause the hardware processor (302; 604) to determine whether a subsequently expected trigger-based (TB) PPDU follows the short interframe space (SIFS). [8] Non-transitory, machine-readable storage medium (304; 606) according to claim 5, wherein the instructions further cause the hardware processor (302; 604) to estimate a length of a data segment for each user in a subsequently expected trigger-based (TB) PPDU based on the trigger frame, when it is determined that the TB PPDU follows the SIFS and the SIFS follows the trigger frame. [9] Non-transitory machine-readable storage medium (304; 606) according to claim 1, wherein the WLAN device comprises either an access point (106a-c) or a client device (110a-j, 140a-d, 150a-b).
Citation Information
Patent Citations
Apparatus and methods for efficient wireless channel usage
US20190110297A1