METHOD AND APPARATUS FOR SPATIAL REUSE FOR A COMMUNICATION SYSTEM
20230284269 · 2023-09-07
Inventors
- Abhishek Sehgal (Plano, TX, US)
- Ahmed Atef Ibrahim Ibrahim (Plano, TX, US)
- Hao Chen (Allen, TX)
- Boon Loong Ng (Plano, TX)
Cpc classification
H04W74/0808
ELECTRICITY
International classification
Abstract
Methods and apparatuses for enabling reuse, by a node in a basic service set (BSS), of a channel medium that is in use by devices of an overlapping BSS (OBSS) in a wireless local area network. A method of wireless communication performed by a first node includes the steps of obtaining, based on transmissions from other nodes in at least one of a BSS or an OBSS, network context information for a network environment around the first node, updating an OBSS packet detection (PD) threshold for spatial reuse (SR) based on the network context information, and performing, for a transmission to one of the other nodes in the BSS, an SR clear channel assessment (CCA) using the updated OBSS PD threshold for detection of packets transmitted by the nodes in the OBSS.
Claims
1. A method of wireless communication performed by a first node, the method comprising: obtaining, based on transmissions from other nodes in at least one of a basic service set (BSS) or an overlapping BSS (OBSS), network context information for a network environment around the first node; updating an OBSS packet detection (PD) threshold for spatial reuse (SR) based on the network context information; and performing, for a transmission to one of the other nodes in the BSS, an SR clear channel assessment (CCA) using the updated OBSS PD threshold for detection of packets transmitted by the nodes in the OBSS.
2. The method of claim 1, wherein the network context information is related to at least one of signal strength of the transmissions from the nodes of the OBSS, physical topology of the network environment around the first node, and a number of nodes in the OBSS from which transmissions are overheard.
3. The method of claim 1, wherein the OBSS PD threshold is updated to maximize channel access for the first node when performing the SR CCA.
4. The method of claim 1, further comprising: monitoring one or more trigger criteria; and determining, based on the monitored trigger criteria satisfying a trigger condition, to update the OBSS PD threshold.
5. The method of claim 4, further comprising: determining that the monitored trigger criteria no longer satisfy the trigger condition; and periodically updating the OBSS PD threshold based on the network context information until the determination that the monitored trigger criteria no longer satisfy the trigger condition.
6. The method of claim 4, wherein the trigger criteria are related to characteristics of traffic generated by the first node.
7. The method of claim 4, wherein the trigger criteria are related to characteristics of channel utilization by the first node or the other nodes in the BSS or OBSS.
8. The method of claim 4, wherein the network context information is obtained after the determination to update the OBSS PD threshold.
9. The method of claim 4, wherein the network context information is obtained periodically regardless of whether the trigger condition is determined to be satisfied.
10. The method of claim 1, further comprising: updating a respective individual OBSS PD threshold for each of more than one OBSS for which packets are overheard by the first node; and performing the SR CCA using the respective individual OBSS PD threshold for detection of packets transmitted by the nodes in the respective OBSS.
11. The method of claim 1, wherein the first node is an access point (AP) in the BSS.
12. The method of claim 1, wherein the first node is a station (STA) in the BSS.
13. A station (STA) comprising: a transceiver configured to obtain, based on transmissions from other nodes in at least one of a basic service set (BSS) or an overlapping BSS (OBSS), network context information for a network environment around the STA; and a processor operably coupled to the transceiver, the processor configured to update an OBSS packet detection (PD) threshold for spatial reuse (SR) based on the network context information, wherein the transceiver is further configured to perform, for a transmission to one of the other nodes in the BSS, an SR clear channel assessment (CCA) using the updated OBSS PD threshold for detection of packets transmitted by the nodes in the OBSS.
14. The STA of claim 13, wherein the network context information is related to at least one of signal strength of the transmissions from the nodes of the OBSS, physical topology of the network environment around the STA, and a number of nodes in the OBSS from which transmissions are overheard.
15. The STA of claim 13, wherein the OBSS PD threshold is updated to maximize channel access for the STA when performing the SR CCA.
16. The STA of claim 13, wherein the processor is further configured to: monitor one or more trigger criteria; and determine, based on the monitored trigger criteria satisfying a trigger condition, to update the OBSS PD threshold.
17. The STA of claim 16, wherein the processor is further configured to: determine that the monitored trigger criteria no longer satisfy the trigger condition; and periodically update the OBSS PD threshold based on the network context information until the determination that the monitored trigger criteria no longer satisfy the trigger condition.
18. The STA of claim 16, wherein the trigger criteria are related to characteristics of traffic generated by the STA.
19. The STA of claim 16, wherein the trigger criteria are related to characteristics of channel utilization by the STA or the other nodes in the BSS or OBSS.
20. The STA of claim 16, wherein: the network context information is obtained after the determination to update the OBSS PD threshold, or the network context information is obtained periodically regardless of whether the trigger condition is determined to be satisfied.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0019] For a more complete understanding of the present disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which like reference numerals represent like parts:
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
DETAILED DESCRIPTION
[0033]
[0034] Embodiments of the present disclosure recognize that the IEEE 802.11ax standard provides a new mode of operation, OBSS PD SR, which allows a STA (or AP) to transmit over inter-BSS PPDUs by reducing its transmission power to avoid adding interference to the inter-BSS PPDUs. This is done so that efficient re-utilization of spectrum is achieved while limiting inter-BSS interference. The standard does not dictate how this threshold is chosen and leaves this up to implementation.
[0035] Embodiments of the present disclosure further recognize that there are challenges when selecting the OBSS PD threshold for any given STA. For example, setting the OBSS PD threshold too low when close to the AP can lead to a lower throughput due to inefficient spectrum utilization. At the same time, setting the OBSS PD threshold too high when far from the AP can lead to lower throughput due to low modulation and coding scheme (MCS), high retransmission rate, or high packet failure, due to reduced signal-and-interference to noise ratio (SINR) from lowering the transmission power.
[0036] Accordingly, embodiments of the present disclosure provide methods and apparatuses for context-based PD threshold adaptation that considers the network environment around a device and the device's link and traffic status to allow the device to update its PD threshold for OBSS PD SR. Embodiments of the present disclosure also provide methods and apparatuses for enabling (or triggering) and disabling PD threshold adaptation.
[0037] For simplicity, embodiments of the present disclosure discuss OBSS PD SR as performed by a STA (i.e., a non-AP STA), however it is understood that an AP (i.e., an AP STA) can also perform OBSS PD SR. It is also understood that non-AP STAs and AP STAs are both IEEE 802.11 node devices (or nodes), which may also be referred to as WI-FI node devices (or nodes). Accordingly, discussion herein below of actions performed by a STA may be performed by any appropriate IEEE 802.11 node.
[0038]
[0039] The wireless network 100 includes access points (APs) 101 and 103. The APs 101 and 103 communicate with at least one network 130, such as the Internet, a proprietary Internet Protocol (IP) network, or other data network. The AP 101 provides wireless access to the network 130 for a plurality of stations (STAs) 111-114 within a coverage area 120 of the AP 101. The APs 101-103 may communicate with each other and with the STAs 111-114 using WI-FI or other WLAN communication techniques. The STAs 111-114 may communicate with each other using peer-to-peer protocols, such as Tunneled Direct Link Setup (TDLS).
[0040] Depending on the network type, other well-known terms may be used instead of “access point” or “AP,” such as “router” or “gateway.” For the sake of convenience, the term “AP” is used in this disclosure to refer to network infrastructure components that provide wireless access to remote terminals. In WLAN, given that the AP also contends for the wireless channel, the AP may also be referred to as a STA. Also, depending on the network type, other well-known terms may be used instead of “station” or “STA,” such as “mobile station,” “subscriber station,” “remote terminal,” “user equipment,” “wireless terminal,” or “user device.” For the sake of convenience, the terms “station” and “STA” are used in this disclosure to refer to remote wireless equipment that wirelessly accesses an AP or contends for a wireless channel in a WLAN, whether the STA is a mobile device (such as a mobile telephone or smartphone) or is normally considered a stationary device (such as a desktop computer, AP, media player, stationary sensor, television, etc.).
[0041] Dotted lines show the approximate extents of the coverage areas 120 and 125, which are shown as approximately circular for the purposes of illustration and explanation only. It should be clearly understood that the coverage areas associated with APs, such as the coverage areas 120 and 125, may have other shapes, including irregular shapes, depending upon the configuration of the APs and variations in the radio environment associated with natural and man-made obstructions.
[0042] As described in more detail below, one or more of the APs may include circuitry and/or programming for facilitating reuse of a channel medium that is in use by devices of a neighboring BSS (e.g., an OBSS) in a WLAN. Although
[0043]
[0044] The AP 101 includes multiple antennas 204a-204n and multiple transceivers 209a-209n. The AP 101 also includes a controller/processor 224, a memory 229, and a backhaul or network interface 234. The transceivers 209a-209n receive, from the antennas 204a-204n, incoming radio frequency (RF) signals, such as signals transmitted by STAs 111-114 in the network 100. The transceivers 209a-209n down-convert the incoming RF signals to generate IF or baseband signals. The IF or baseband signals are processed by receive (RX) processing circuitry in the transceivers 209a-209n and/or controller/processor 224, which generates processed baseband signals by filtering, decoding, and/or digitizing the baseband or IF signals. The controller/processor 224 may further process the baseband signals.
[0045] Transmit (TX) processing circuitry in the transceivers 209a-209n and/or controller/processor 224 receives analog or digital data (such as voice data, web data, e-mail, or interactive video game data) from the controller/processor 224. The TX processing circuitry encodes, multiplexes, and/or digitizes the outgoing baseband data to generate processed baseband or IF signals. The transceivers 209a-209n up-converts the baseband or IF signals to RF signals that are transmitted via the antennas 204a-204n.
[0046] The controller/processor 224 can include one or more processors or other processing devices that control the overall operation of the AP 101. For example, the controller/processor 224 could control the reception of forward channel signals and the transmission of reverse channel signals by the transceivers 209a-209n in accordance with well-known principles. The controller/processor 224 could support additional functions as well, such as more advanced wireless communication functions. For instance, the controller/processor 224 could support beam forming or directional routing operations in which outgoing signals from multiple antennas 204a-204n are weighted differently to effectively steer the outgoing signals in a desired direction. The controller/processor 224 could also support OFDMA operations in which outgoing signals are assigned to different subsets of subcarriers for different recipients (e.g., different STAs 111-114). Any of a wide variety of other functions could be supported in the AP 101 by the controller/processor 224 including facilitating reuse of a channel medium that is in use by devices of a neighboring BSS (e.g., an OBSS). In some embodiments, the controller/processor 224 includes at least one microprocessor or microcontroller. The controller/processor 224 is also capable of executing programs and other processes resident in the memory 229, such as an OS. The controller/processor 224 can move data into or out of the memory 229 as required by an executing process.
[0047] The controller/processor 224 is also coupled to the backhaul or network interface 234. The backhaul or network interface 234 allows the AP 101 to communicate with other devices or systems over a backhaul connection or over a network. The interface 234 could support communications over any suitable wired or wireless connection(s). For example, the interface 234 could allow the AP 101 to communicate over a wired or wireless local area network or over a wired or wireless connection to a larger network (such as the Internet). The interface 234 includes any suitable structure supporting communications over a wired or wireless connection, such as an Ethernet or RF transceiver. The memory 229 is coupled to the controller/processor 224. Part of the memory 229 could include a RAM, and another part of the memory 229 could include a Flash memory or other ROM.
[0048] As described in more detail below, the AP 101 may include circuitry and/or programming for facilitating reuse of a channel medium that is in use by devices of a neighboring BSS (e.g., an OBSS). Although
[0049]
[0050] The STA 111 includes antenna(s) 205, transceiver(s) 210, a microphone 220, a speaker 230, a processor 240, an input/output (I/O) interface (IF) 245, an input 250, a display 255, and a memory 260. The memory 260 includes an operating system (OS) 261 and one or more applications 262.
[0051] The transceiver(s) 210 receives, from the antenna(s) 205, an incoming RF signal (e.g., transmitted by an AP 101 of the network 100). The transceiver(s) 210 down-converts the incoming RF signal to generate an intermediate frequency (IF) or baseband signal. The IF or baseband signal is processed by RX processing circuitry in the transceiver(s) 210 and/or processor 240, which generates a processed baseband signal by filtering, decoding, and/or digitizing the baseband or IF signal. The RX processing circuitry sends the processed baseband signal to the speaker 330 (such as for voice data) or is processed by the processor 340 (such as for web browsing data).
[0052] TX processing circuitry in the transceiver(s) 210 and/or processor 240 receives analog or digital voice data from the microphone 220 or other outgoing baseband data (such as web data, e-mail, or interactive video game data) from the processor 240. The TX processing circuitry encodes, multiplexes, and/or digitizes the outgoing baseband data to generate a processed baseband or IF signal. The transceiver(s) 210 up-converts the baseband or IF signal to an RF signal that is transmitted via the antenna(s) 205.
[0053] The processor 240 can include one or more processors and execute the basic OS program 261 stored in the memory 260 in order to control the overall operation of the STA 111. In one such operation, the processor 240 controls the reception of forward channel signals and the transmission of reverse channel signals by the transceiver(s) 210 in accordance with well-known principles. The processor 240 can also include processing circuitry configured to facilitate reuse of a channel medium that is in use by devices of a neighboring BSS (e.g., an OBSS). In some embodiments, the processor 240 includes at least one microprocessor or microcontroller.
[0054] The processor 240 is also capable of executing other processes and programs resident in the memory 260, such as operations for facilitating reuse of a channel medium that is in use by devices of a neighboring BSS (e.g., an OBSS). The processor 240 can move data into or out of the memory 260 as required by an executing process. In some embodiments, the processor 240 is configured to execute a plurality of applications 262, such as applications for facilitating reuse of a channel medium that is in use by devices of a neighboring BSS (e.g., an OBSS). The processor 240 can operate the plurality of applications 262 based on the OS program 261 or in response to a signal received from an AP. The processor 240 is also coupled to the I/O interface 245, which provides STA 111 with the ability to connect to other devices such as laptop computers and handheld computers. The I/O interface 245 is the communication path between these accessories and the processor 240.
[0055] The processor 240 is also coupled to the input 250, which includes for example, a touchscreen, keypad, etc., and the display 255. The operator of the STA 111 can use the input 250 to enter data into the STA 111. The display 255 may be a liquid crystal display, light emitting diode display, or other display capable of rendering text and/or at least limited graphics, such as from web sites. The memory 260 is coupled to the processor 240. Part of the memory 260 could include a random-access memory (RAM), and another part of the memory 260 could include a Flash memory or other read-only memory (ROM).
[0056] Although
[0057] As discussed above, if a STA performing CCA overhears a transmission from an OBSS (i.e., an inter-BSS transmission) that exceeds the PD threshold and ignores that inter-BSS transmission based on OBSS PD based SR, the STA must reduce its transmit power based on the OBSS PD threshold that was used.
[0058]
[0059] where OBSS_PD.sub.max≥OBSS_PD.sub.level>OBSS_PD.sub.min, OBSS_PD.sub.max=−62 dBm, and OBSS_PD.sub.min=−82 dBm for a PPDU_BW of 20 MHz.
[0060]
[0061] With reference to
[0062] The SR Control field contains the following parameters: PSR Disallowed indicates whether parametrized spatial reuse (PSR or SRP) transmissions are allowed by non-AP STAs associated with the AP that transmitted this element. Non-SRG OBSS PD SR Disallowed indicates whether non-spatial reuse group (non-SRG) OBSS PD based SR transmissions are allowed by non-AP STAs associated with the AP that transmitted this element. Non-SRG Offset Present indicates whether the Non-SRG OBSS_PD Max Offset subfield is present in the element. SRG Information Present indicates whether the SRG OBSS_PD Min Offset, SRG OBSS_PD Max Offset, SRG BSS Color Bitmap, and SRG Partial BSSID Bitmap subfields are present in the element. HE-SIG-A Spatial Reuse Value 15 Disallow indicates whether non-AP STAs associated with the AP that transmitted this element may set the TXVECTOR parameter SPATIAL REUSE to PSR AND NON-SRG-OBSS PD PROHIBITED. SRG OBSS_PD Max Offset is an integer used to generate the maximum SRG OBSS_PD threshold. SRG OBSS_PD Min Offset is an integer used to generate the minimum SRG OBSS_PD threshold.
[0063] SR support is indicated by a STA in the High-Efficiency (HE) Signal A (HE-SIG-A) field of each PPDU for both UL and DL PPDUs. A PPDU can also prohibit nodes in other BSSs from transmitting over it by setting the PSR AND NON-SRG-OBSS PD PROHIBITED bit if allowed by its associated AP.
[0064] Determining when to enable or disable OBSS PD SR, and the threshold that is used for channel access for SR, can be tuned as there is a range for this type of CCA threshold—the OBSS PD threshold can be set between minimum and maximum values (e.g., as indicated in the SRPS element above).
[0065]
[0066] A solution for optimizing the selected OBSS PD threshold is to consider a STA's link and traffic status along with other environment status (for example, the strength of the OBSS transmission, the distance from any interfering STA/AP and the STA of interest, and the number of overheard OBSSs). Considering all of these factors, a STA can optimize the selection of its OBSS PD threshold within the range allowed by the AP.
[0067] Accordingly, embodiments of the present disclosure describe a context based OBSS PD adaptation operating mode, in which the STA performing OBSS PD adaptation will choose an OBSS PD threshold based on the information about the environment it is operating in (i.e., the network context of the STA). An advantage provided by this method is that this information can be acquired even while the STA is not performing any data communication.
[0068] Furthermore, embodiments of the present disclosure describe mechanisms for triggering (enabling or disabling) OBSS PD adaptation. These trigger mechanisms initiate the OBSS PD adaptation when required and remain inactive when the OBSS PD operation provides no gain.
[0069]
[0070] In one embodiment, the STA can create an OBSS-specific OBSS PD threshold (i.e., each OBSS has its own associated OBSS PD threshold value). One method to achieve this is through the “SRG/non-SRG OBSS PD enable” API command discussed in TABLE 2 below. In another embodiment, a unified OBSS PD threshold is created in consideration of the statistics of all OBSS PD thresholds. When selecting the OBSS PD threshold (whether an OBSS-specific threshold or a unified threshold), an optimization approach should be taken. One method to achieve this is through the “SRG/non-SRG OBSS PD enable based on OBSS” API command discussed in TABLE 2 below.
[0071] In one embodiment, the OBSS PD threshold is chosen to maximize the performance of the STA utilizing OBSS PD SR. In other words, the PD threshold is optimized to increase channel access for the STA regardless of other conditions. Other factors can be considered, such as traffic type or network service requirements that may affect the choice of OBSS PD threshold. Additionally, the average number of retransmissions may be considered as a factor to indicate how much SR support is needed. For example, a STA with a large number of expected retransmissions may need to utilize SR as much as possible (i.e., use an aggressive OBSS PD threshold) to be able to access the channel more often, while a STA with a low number of expected retransmissions may be able to set a lower OBSS PD threshold as it may not need as many channel access attempts.
[0072] In another embodiment, after selecting the optimal OBSS PD threshold for STA performance, further fairness tuning is done based on OBSS PPDUs. For example, if an OBSS PPDU has a low received signal strength indication (RSSI), this may indicate that the interfering OBSS device is far from the STA's BSS and hence a more aggressive OBSS PD threshold can be chosen (and vice versa). Another factor can be the frequency with which OBSS PPDUs include signaling prohibiting the use of SR over top of the OBSS PPDUs. For example, if the OBSS is frequently prohibiting SR transmissions parallel to its PPDUs, then a more aggressive OBSS PD threshold can be utilized to benefit from the small portion of time where SR is allowed (and vice versa).
[0073] In one embodiment, the average MCS of the STA performing SR and the average MCS of OBSS PPDUs is monitored to identify the tolerance to interference levels caused by parallel transmission in the BSS and OBSS due to SR. Deteriorating MCS levels may lead to more conservative OBSS PD threshold selection.
[0074] In another embodiment, a margin is applied to a BSS RSSI to choose the OBSS PD threshold. This margin can be a function of the BSS's and OBSSs' RSSI values. The margin may be applied on top of an initially selected OBSS PD threshold.
[0075]
[0076] In another embodiment, after selecting (or adjusting) an OBSS PD threshold, a network state estimate can be created from the point of view of the STA before and after using the selected PD threshold to enable further optimization of the OBSS PD threshold that is applied in the next update. Network state observations, or SR statistics, are collected by the STA to create the network state estimate. These include, but are not limited to, the number of transmission opportunities (TXOPs) created by the STA through SR (the higher the better), the number of PPDUs transmitted through SR (the higher the better), the number of PPDUs successfully transmitted through SR (the higher the better), UL throughput (the higher the better), and TX MCS distribution. As increasing the OBSS PD threshold reduces the TX power of the STA, the MCS distribution should remain relatively stable prior to adjusting the OBSS PD threshold and not deviate towards the lower MCS.
[0077]
[0078] As OBSS PD SR allows an increased chance of obtaining TXOPs in dense environments, a trigger condition can be used by a STA to decide whether or not to use SR. In one embodiment, the trigger condition may create a network estimate using a combination of the following metrics observed or collected by the STA.
[0079] CCABusyTimeMs and RadioOnTimeMs counters obtained between two predetermined time intervals: a ratio of CCABusyTimeMs to RadioOnTimeMs can be used to determine if the channel is too busy to provide PPDUs to transmit over, i.e., to determine how much of the time that the STA attempted to transmit was taken up by the channel being detected as occupied. The number of PPDUs detected from the OBSS due to which the STA entered a state of CCA Busy and the total number of detected PPDUs due to which the STA entered a state of CCA Busy: a ratio of the number of OBSS PPDUs to the total number of PPDUs due to which the STA entered a state of CCA Busy can be used to estimate how many PPDUs are available to be transmitted over. The RSSI range of the OBSS PPDUs due to which the STA entered a state of CCA Busy: this can be used to determine an initial value of an OBSS PD threshold upon enabling SR. Traffic direction from the STA established on the device: maximum benefit can be achieved from SR when the traffic on the STA is uplink dominated or symmetric.
[0080] Based on a combination of 1 or more of the above criteria, the STA can trigger OBSS PD SR operation mode and set an OBSS PD threshold for one or more OBSS s.
[0081] In an alternative embodiment, given a latency- or QoS-sensitive service output from the Network Service Detection (NSD), or when an important Access Category is being used, a PPDU from the STA could be protected from interference by setting the SPATIAL_REUSE field in the HE-SIG-A to PSR_AND_NON_SRG_OBSS_PD_PROHIBITED. This would prevent OBSS PPDUs from performing SR over the STA's PPDU.
[0082]
[0083]
[0084] The STA is serving traffic for a latency-sensitive application, e.g., a Video Call or Mobile Gaming. This information can either be provided by the application, inferred from observing the foreground or most active application on the STA, inferred from certain peripherals being active on the device used by the application, or through the means of a network service detector classifying traffic on the STA. This information can be gathered from the operating system of the STA based on observing the application ID, foreground application trigger, active application triggers, and application process statistics. OBSS PD adaptation is enabled if a latency-sensitive application is performing data communication.
[0085] The throughput generated by an application is greater than the throughput currently served by the STA, which can lead to saturation. Such saturation can be eased by creating more TXOPs (e.g., by using a more aggressive OBSS PD threshold).
[0086] The traffic identifier on the MAC Header of traffic generated by an application is marked with a User Priority higher than 3, i.e., the traffic is labelled as belonging to the Voice or Video access category as specified by the 802.11e amendment.
[0087] The IETF differentiated services class in the IP header of traffic generated by an application is labeled Expedited Forwarding, Assured Forwarding, or Voice Admit, or the Class Selector of the traffic is labeled above CS3.
[0088] The channel utilization of the BSS AP and OBSS AP are above a certain threshold. The channel utilization can be extracted from the BSS Load element of the beacon of the OBSS or BSS AP. As an exemplary value, OBSS PD adaptation operation can be initiated when the channel utilization is above 33% for the AP (at which point the channel may be considered congested).
[0089] The ratio of the time the receiver was in the CCA_BUSY state (i.e., sensing the channel as busy) to the time the radio was on is above a certain threshold. As an exemplary value, the OBSS PD adaptation operation can be initiated when the ratio of time the receiver was in CCA_BUSY to the radio being on is above 0.33 (i.e., the receiver detected the channel as occupied 33% of the time that the radio was on).
[0090]
[0091] Upon receiving the trigger to initiate OBSS PD adaptation, the STA can either begin measuring the network context related information or use existing context related information that is measured periodically to quickly start the adaptation. The network context can be defined as one or more of the following measurements/observations:
[0092] The RSSI of the AP to which the STA is associated. This is periodically recorded from the beacon that the AP broadcasts. The higher the BSS AP RSSI, the higher the OBSS PD threshold can be set. For example, the value of the OBSS PD threshold can be set in the following way: if the sensed RSSI from the AP is X dB, then the OBSS PD threshold can be set as X-S-Δ dB, where S is the worst-case scenario SINR and Δ is the power difference between the AP and STA.
[0093] The RSSIs of surrounding OBSS APs. This is periodically passively scanned from any beacons received by the STA from OBSS APs, or it can be actively solicited by sending out a probe request. The higher the OBSS RSSIs, the higher the OBSS PD threshold needs to be set to transmit over OBSS PPDUs. For example, the value of the OBSS PD threshold can be set in the following way: if all of the OBSS RSSI transmissions are above Y dB, and Y ∈(−82, −62], then setting an OBSS PD threshold below Y dB will provide no gain. Therefore, the OBSS PD threshold value should be set above Y dB.
[0094] The weighted or unweighted average (or mean) of OBSS RSSI transmissions. For any preamble that is decoded by the STA of any transmission in the OBSS channel, the RSSI is categorized based on belonging to that respective OBSS. In an unweighted average, the average is calculated over all OBSS RSSIs that are encountered. In a weighted average, the average is calculated per OBSS, then a global average is calculated by providing individual weights to each respective OBSS subject to the number of PPDUs it has transmitted. This can simply be the number of PPDUs transmitted from a particular OBSS divided by all OBSS PPDUs. This can allow setting the OBSS PD threshold based on the number of OBSS PPDUs that can be transmitted over rather than the overall OBSS RSSI. To calculate the average OBSS RSSI, the STA can set a time window for averaging to a fixed time interval or N Target Beacon Transmission Times (TBTTs). As an example, the average can be calculated every 500 ms in one embodiment, and in 5 TBTTs in another. The OBSS PD threshold can be set to the calculated average value.
[0095] The Channel Utilization of the BSS AP. This field can be found in the BSS Beacon in the BSS Load element. If the Channel Utilization of the BSS AP is low, then the OBSS PD threshold can be lowered or the OBSS PD SR operation can be disabled. If there are not many transmissions in the medium to transmit over, then enabling OBSS PD provides minimal gain so it can be disabled. As an example, if the channel utilization is below 25%, then OBSS PD SR can be disabled.
[0096] The Channel Utilization of the OBSS APs. This field can be found in the OBSS Beacon in the BSS Load element. If the Channel Utilization of the OBSS APs is low, then the OBSS PD threshold can be lowered or the OBSS PD SR operation can be disabled. Similar to the above metric, if the channel utilization by all OBSS APs is low, then the gain provided by OBSS PD is minimal. If the OBSS APs also sense that the channel is under occupied, then OBSS PD SR can be disabled. As an example, if the OBSS AP channel utilization is below 25%, then OBSS PD SR can be disabled.
[0097] The OBSS PD threshold applied at the BSS AP and other BSS STAs. The BSS can broadcast a suggested OBSS PD threshold to all of the associated STAs and also provide feedback in terms of what is currently utilized by the AP. This can be used as an initial OBSS PD threshold value to be adjusted based on separate context information. This value is obtained from the Spatial Reuse Parameter Set element in the OBSS PD Margin field and is subtracted from the Beacon RSSI to set the OBSS PD value.
[0098] The distance to the BSS AP. This can be found by using WI-FI fine time measurements round-trip time (RTT), WI-FI CSI-based localization, or other wireless localization technologies employed by the AP (e.g., BLUETOOTH, ultra-wideband, etc.). The farther away the BSS AP is from the STA, the lower the OBSS PD threshold will need to be set. As the STA moves further away from the AP, the received power of transmissions from the STA to the AP will also decrease and this can decrease the SINR, causing low transmit speeds and packet failures. The STA can then create a mapping from distance to power using the path loss model. The path loss value can then be used as a reference to set the OBSS PD threshold to maintain required SINR similar to the way that the RSSI of the BSS AP can be used.
[0099] The distance to the OBSS AP. This can be requested from the OBSS AP in a similar manner as it can be requested from the BSS AP. The farther away the OBSS AP is from the STA, the lower the OBSS PD threshold can be set. Similar to the above, using a path loss model, the received signal from the OBSS APs participating in RTT can be mapped using the obtained distance. Then the path loss value can be used as a reference to calculate the OBSS PD threshold similar to the way that the RSSIs of OBSS APs can be used.
[0100] The number of PPDUs with the PSR_AND_NON_SRG_OBSS_PD_PROHIBITED bit set. This can be taken as an absolute value or as a relative value in comparison to the total number of PPDUs observed (i.e., a ratio of the two numbers). If the absolute value or ratio is high, the chances of successfully performing SR may decrease and the operation can be disabled.
[0101] In one embodiment, the OBSS PD threshold is set as:
[0102] where OBSS.sub.RSSI can represent any one of, or a combination of: the average of the OBSS RSSI received from all OBSS APs, the unweighted average of all OBSS transmissions overheard by the STA, the weighted average of all OBSS transmissions overheard by the STA, the OBSS RSSI of the AP that has a high channel utilization (or the highest channel utilization), the OBSS RSSI of the AP closest to the STA, and the OBSS RSSI of the APs that have the least number of PPDUs with the PSR_AND_NON_SRG_OBSS_PD_PROHIBITED bit set. The STA can create an interrupt based on any changes to these measurements and if any one of them changes, the context-based PD threshold adaptation can repeat again and adapt the OBSS PD threshold.
[0103] A list of parameters that are used to tune the OBSS PD threshold and parameters that are controlled to adjust SR functionality (e.g., via the SRPS element) is provided in TABLE 1. This table contains two types of parameters: Input parameters that are used to adjust OBSS PD threshold, and output parameters that are controlled by the algorithm and set the functionality of SR operation at the STA/AP.
TABLE-US-00001 TABLE 1 Type Functionality Parameters Input SR statistics collected for Number of spatial reuse tx ppdu Parameters each of the OBSSs that Number of spatial reuse tx opportunities are observed at the STA Number of non srg tx opportunities side (or AP side if AP is Number of non srg ppdu tried using spatial reuse) Number of non srg ppdu success Number of srg tx opportunities Number of srg ppdu tried Number of srg ppdu success Environment sensing MAC id of m-th OBSS STA or AP parameters that allows Max, average, and median RSSI of m-th OBSS enabling/disabling SR STA or AP along with adjusting SR Average MCS of m-th OBSS STA or AP Thresholds STA or AP indicator of m-th OBSS STA or AP Number of PPDUs from m-th OBSS STA or AP OBSS SRP_AND_NON- SRG_OBSS_PD_PROHIBITED count from m-th OBSS STA or AP Estimating robustness for Expected Transmission count MPDU transmission Estimating PHY link CCA_BusyTime caused by each OBSS quality RadioOnTime for each of OBSSs Enforced parameters by SRG OBSS PD Min Offset associated AP for STA's SRG OBSS PD Max Offset SR operation with adding Non-SRG OBSS PD Max Offset restrictions including a HE-SIG-A SR Value 15 Disallow range for OBSS PD Non-SRG OBSS PD SR Disallowed Threshold Output STA's decision to SRP_AND_NON-SRG_OBSS_PD_PROHIBITED Parameters enable/disable SR along OBSS PD Thresholds for SRG and non-SRG with thresholds and extra (OBSS specific) protection SRG/non-SRG OBSS PD Enable/Disable
[0104] A set of Application Programming Interface (API) commands is provided in TABLE 2.
TABLE-US-00002 TABLE 2 Operation Command format SRG/non-SRG This command will be delivered when the host wants to setup the OBSSPD enable OBSS-PD threshold for spatial reuse in dBm format The range will lie between −82 to −62 in increments of 1 OBSSPD_ENABLE <options> @param Enable: 1 or Disable: 0 If enabled, followed by a value between −82 to −62 dBm @return status 0: Success Negative value: Failure Positive value: Success and Others Usage examples: Enable OBSS-PD threshold for spatial reuse with value of −75 dBm DRIVER OBSSPD_ENABLE 1 −75 SRG/non-SRG This command will be delivered when the host wants to setup the OBSSPD enable OBSS-PD threshold for spatial reuse in dBm format based on OBSS The range will lie between −82 to −62 in increments of 1 Note: it is up to OBSSPD_ENABLE <options> vendors how to @param distinguish OBSS Enable: 1 or Disable: 0 either by color or If enabled, provide a OBSS for which the OBSSPD threshold will some other be set mechanism. followed by a value between −82 to −62 dBm This can also be done for multiple OBSS in the same way @return status 0: Success Negative value: Failure Positive value: Success and Others Usage examples: Enable OBSS-PD threshold for spatial reuse with value of −75 dBm for OBSS1 and −80 dBm for OBSS2 DRIVER OBSSPD_ENABLE 1 XX:XX:XX:XX:XX:01 −75 XX:XX:XX:XX:XX:02 −80 SRP_AND_NON- This command will be delivered when the host wants to operate in SRG_OBSS_PD_PROHIBITED SRP_AND_NON-SRG_OBSS_PD_PROHIBITED mode. This enable will prevent other hosts from performing SR over self PPDUs SRP_ AND_NON-SRG_OBSS_PD_PROHIBITED <enable|disable> @param Enable: 1 or Disable: 0 @return status 0: success Negative value: Failure Positive value: Success and others Usage examples: Enable SRP_ AND_NON-SRG_OBSS_PD_PROHIBITED for current host DRIVER SRP_ AND_NON-SRG_OBSS_PD_PROHIBITED 1 Spatial Reuse This command will be delivered when the host wants to get the Statistics Query statistics of traffic exchange related to Spatial Reuse GET_SR_STATISTICS @param None @return statistics Following information should be returned as text form separated by single space Number of spatial reuse tx ppdu Number of spatial reuse tx opportunities Number of non srg tx opportunities Number of non srg ppdu tried Number of non srg ppdu success Number of srg tx opportunities Number of srg ppdu tried Number of srg ppdu success These are counters updated from the start of the device Return value examples: DRIVER GET_SR_STATISTICS 50 10 8 32 30 2 21 20 (This means 50 SR PPDUs, 10 Tx Opportunities, 8 Non SRG Tx Opportunities, 32 Non SRG PPDUs tried, 30 Non SRG PPDUs success, 2 SRG TX Opportunities, 21 SRG tried PPDUs, 20 SRG Success PPDUs) Clear Spatial Reuse This command will be used to clear the Spatial Reuse STA or AP Statistics statistics Query data CLEAR_SR_STATISTICS @param None @return None Spatial Reuse This command will be delivered when the host wants to get the Statistics Query per statistics of traffic exchange related to Spatial Reuse per OBSS OBSS GET_SR_PER_OBSS_STATISTICS Note: it is up to @param None vendors how to @return statistics distinguish OBSS Following information should be returned as text form containing either by color or number of OBSS and MAC ID of each OBSS separated by single some other space for the following statistics for each OBSS mechanism. Number of spatial reuse tx ppdu Number of spatial reuse tx opportunities Number of non srg tx opportunities Number of non srg ppdu tried Number of non srg ppdu success Number of srg tx opportunities Number of srg ppdu tried Number of srg ppdu success These are counters updated from the start of the device or last clear Return value examples: DRIVER GET_SR_PER_OBSS_STATISTICS 2 XX:XX:XX:XX:XX:01 50 10 8 32 30 2 21 20 XX:XX:XX:XX:XX:02 40 8 6 22 20 2 21 20 Clear Spatial Reuse This command will be used to clear the OBSSPD statistics per Statistics Query per OBSS Query data OBSS CLEAR_SR_PER_OBSS_STATISTICS @param None @return None OBSS STA or AP This command will be delivered when the host needs to request the Statistics Query top N OBSS STA or AP according to RSSI and the number of Note: it is up to PPDUs experienced from them vendors how to GET_OBSS_STATISTICS N distinguish OBSS @param N: Number of top N OBSS AP or STA based on RSSI either by color or from the OBSS AP or STA some other @return statistics mechanism. Following information should be returned as a text form separated with a single space: M: number of received OBSS STAs or Aps For m in M MAC id of m-th OBSS STA or AP Max RSSI of m-th OBSS STA or AP Average RSSI of m-th OBSS STA or AP Median RSSI of m-th OBSS STA or AP Average MCS of m-th OBSS STA or AP STA or AP indicator of m-th OBSS STA or AP (0 for STA, 1 for AP) Number of PPDUs from m-th OBSS STA or AP OBSS SRP_AND_NON-SRG_OBSS_PD_PROHIBITED count from m-th OBSS STA or AP End DRIVER GET_OBSS_STATISTICS 5 5 XX:XX:XX:XX:XX:01 −55 −60 −60 5 0 6 300 200 XX:XX:XX:XX:XX:02 −62 −65 −65 6 1 10 400 300 XX:XX:XX:XX:XX:03 −66 −70 −70 3 1 14 200 100 XX:XX:XX:XX:XX:04 −72 −74 −74 2 0 7 700 600 XX:XX:XX:XX:XX:05 −74 −78 −78 3 1 6 300 200 Number of OBSS This command will be delivered when the host needs to establish a seen by Host count of the different OBSS STA/AP experienced by counting the color of PPDU or other methods to distinguish OBSS GET_OBSS_COUNT @param None @return Count of all the OBSS STA and AP Return value examples DRIVER GET_OBSS_COUNT 10 (This means that 10 different OBSS STA/AP) Clear OBSS seen by This command will be used to clear the OBSS seen by Host count host count Query data CLEAR_OBSS_COUNT_STATISTICS @param None @return None Get This command will be used to get the spatial reuse parameter set SR_Parameter_Set from associated AP @param None @return most recent spatial reuse parameter set element from associated AP Following information should be returned as a text form separated with a single space: SRG OBSS PD Min Offset: integer to generate the minimum SRG OBSS_PD threshold offset SRG OBSS PD Max Offset: integer to generate the maximum SRG OBSS_PD threshold offset Non-SRG OBSS PD Max Offset: integer to generate the maximum Non-SRG OBSS_PD threshold offset HE-SIG-A SR Value 15 Disallow: indicates whether non-AP STAs associated with the AP that transmitted this element may set the TXVECTOR parameter SPATIAL REUSE to PSR AND NON- SRG-OBSS-PD PROHIBITED. Non-SRG OBSS PD SR Disallowed: indicates whether non-SRG OBSS_PD SR transmissions are allowed or not at non-AP STAs associated with the AP that transmitted this element End Return value example: Get_SR_Parameter_Set 2 2 4 0 0 Other APIs RSSI of the associated BSS can already be obtained from the Link Layer Stats PHY Link Quality Metrics: Average Link TX Phy Rate Tx Success Rate per AC Tx MCS Distribution CCABusyTimeMs and RadioOnTimeMs
[0105]
[0106] Referring now to
[0107] Next, the first node monitors one or more trigger criteria (step 1210). In some embodiments, the trigger criteria are related to characteristics of traffic generated by the first node, characteristics of channel utilization by the first node or the other nodes in the BSS or OBSS, or both.
[0108] Next, the first node determines, based on the monitored trigger criteria satisfying a trigger condition, to update an OBSS PD threshold (step 1215). In some embodiments, step 1215 is performed before step 1205 such that the network context information is obtained after the determination to update the OBSS PD threshold. In some embodiments, the network context information is obtained periodically regardless of whether the trigger condition is determined to be satisfied.
[0109] Next, the first node updates the OBSS PD threshold for SR based on the network context information (step 1220). In some embodiments, the OBSS PD threshold is updated to maximize channel access for the first node when performing an SR CCA, as described below. In some embodiments, at step 1220 the first node updates a respective individual OBSS PD threshold for each of more than one OBSS for which packets are overheard by the first node.