Uplink airtime fairness through basic service set steering

Methods, systems, and devices for wireless communication are described. Methods, systems, and devices provide for determining or identifying a client device that is monopolizing a channel associated with a first basic service set (BSS). Once identified, a second BSS is dynamically created and configured with parameters that are throttled with respect to the first BSS. The client device is steered to the second BSS and is prevented from reassociating with the first BSS until a change in device status.

BACKGROUND

The following relates generally to wireless communication, and more specifically to improving uplink airtime fairness through basic service set steering.

Wireless communications systems are widely deployed to provide various types of communication content such as voice, video, packet data, messaging, broadcast, and so on. These systems may be multiple-access systems capable of supporting communication with multiple users by sharing the available system resources (e.g., time, frequency, and power). A wireless network, for example a WLAN, such as a Wi-Fi (i.e., IEEE 802.11) network may include an access point (AP) that may communicate with one or more stations (STAs) or mobile devices. The AP may be coupled to a network, such as the Internet, and may enable a STA to communicate via the network (or communicate with other devices coupled to the AP). A wireless device may communicate with a network device bi-directionally. For example, in a WLAN, a STA may communicate with an associated AP via downlink (DL) and uplink (UL). The DL (or forward link) may refer to the communication link from the AP to the STA, and the UL (or reverse link) may refer to the communication link from the STA to the AP.

Airtime Fairness (ATF) is a wireless communications system technique that may be used to improve system performance by managing the amount of airtime allocated for various STAs in a wireless communications system and may be employed by an AP used to limit DL transmissions. In wireless communications systems employing ATF, equal airtime may be allocated to each STA connected to an AP to limit the amount of airtime consumed by lower data rate STAs in order to provide additional airtime to higher data rate STAs.

While ATF efficiently manages airtime for DL transmissions, wireless communications systems employing ATF may not suitably handle situations in which a STA monopolizes or overloads a channel with data transmissions. In some cases, this may result in less overall airtime for high priority traffic (e.g., video streaming) and the quality of service (QoS) for the high priority traffic may degrade. This may also result in less airtime for high data rate (or higher priority) devices of the wireless communications system that are transmitting (or attempting to transmit) data packets, ultimately degrading the performance of the high data rate (or higher priority) devices.

SUMMARY

The described techniques relate to improved methods, systems, devices, or apparatuses that support improving uplink airtime fairness through basic service set (BSS) steering. Generally, the described techniques may be used to determine whether a first client device of a first BSS served by an access point (AP) is monopolizing (or overloading) uplink resources of the first BSS. For example, if a second client device of the first BSS is transmitting (or attempting to transmit) uplink packets, but is experiencing a low quality of service (QoS) due to the monopolization of uplink resources by the first client device, the first client device may be identified as greedy.

Once identified, the AP may dynamically create a second BSS (e.g., a virtual AP (VAP)) having a BSS identifier (BSSID) different from the BSSID of the first BSS. The second BSS may be configured with different parameters than the first BSS that throttle (i.e., limit) uplink traffic from devices connected to the second BSS. The first client device may then be steered to the second BSS (e.g., using BSS Transition Management) such that uplink traffic from the first client device is throttled by the second BSS. As a result, the previously overloaded uplink resources of the first BSS (overloaded by the first client device) may be freed up allowing for better performance (e.g., higher QoS) for high priority traffic or at high data rate devices.

A method of wireless communication is described. The method may include determining that a first client device is monopolizing a channel of a first BSS associated with a first BSSID and steering the first client device to a second BSS that is throttled with respect to the first BSS based at least in part on the determination, the second BSS associated with a second BSSID different from the first BSSID.

An apparatus for wireless communication is described. The apparatus may include means for determining that a first client device is monopolizing a channel of a first BSS associated with a first BSSID and means for steering the first client device to a second BSS that is throttled with respect to the first BSS based at least in part on the determination, the second BSS associated with a second BSSID different from the first BSSID.

Another apparatus for wireless communication is described. The apparatus may include a processor, memory in electronic communication with the processor, and instructions stored in the memory. The instructions may be operable to cause the processor to determine that a first client device is monopolizing a channel of a first BSS associated with a first BSSID and steer the first client device to a second BSS that is throttled with respect to the first BSS based at least in part on the determination, the second BSS associated with a second BSSID different from the first BSSID.

A non-transitory computer readable medium for wireless communication is described. The non-transitory computer-readable medium may include instructions operable to cause a processor to determine that a first client device is monopolizing a channel of a first BSS associated with a first BSSID and steer the first client device to a second BSS that is throttled with respect to the first BSS based at least in part on the determination, the second BSS associated with a second BSSID different from the first BSSID.

In some examples of the method, apparatus, and non-transitory computer-readable medium described above, determining that the first client device may be monopolizing the channel of the first BSS comprises: determining a performance degradation of a second client device connected to the first BSS.

In some examples of the method, apparatus, and non-transitory computer-readable medium described above, determining the performance degradation of the second client device connected to the first BSS comprises: determining an airtime usage of the channel by the first client device.

Some examples of the method, apparatus, and non-transitory computer-readable medium described above may further include processes, features, means, or instructions for increasing an enhanced distributed channel access (EDCA) deferral length for the first client device.

Some examples of the method, apparatus, and non-transitory computer-readable medium described above may further include processes, features, means, or instructions for reducing a transmission opportunity (TXOP) limit for the first client device.

Some examples of the method, apparatus, and non-transitory computer-readable medium described above may further include processes, features, means, or instructions for selectively withholding a transmission of a clear to send (CTS) message to the first client device.

Some examples of the method, apparatus, and non-transitory computer-readable medium described above may further include processes, features, means, or instructions for receiving a request to send (RTS) message from the first client device, the RTS message comprising a requested duration value. Some examples of the method, apparatus, and non-transitory computer-readable medium described above may further include processes, features, means, or instructions for selecting a duration field value that may be less than the requested duration value, the selecting based at least in part on the determination. Some examples of the method, apparatus, and non-transitory computer-readable medium described above may further include processes, features, means, or instructions for transmitting a CTS message to the first client device, the CTS message comprising the selected duration field value.

Some examples of the method, apparatus, and non-transitory computer-readable medium described above may further include processes, features, means, or instructions for dropping an uplink packet from the first client device above a media access control (MAC) layer.

Some examples of the method, apparatus, and non-transitory computer-readable medium described above may further include processes, features, means, or instructions for modifying an uplink Aggregate MAC Protocol Data Unit (A-MPDU) policy for the first client device.

Some examples of the method, apparatus, and non-transitory computer-readable medium described above may further include processes, features, means, or instructions for preventing the first client device from reassociating with the first BSS after steering the first client device to the second BSS.

In some examples of the method, apparatus, and non-transitory computer-readable medium described above, determining that the first client device may be monopolizing the channel of the first BSS comprises: determining that the first client device may be overloading an uplink channel associated with the first BSS.

In some examples of the method, apparatus, and non-transitory computer-readable medium described above, steering the first client device comprises: transmitting a dissociation message, a deauthentication message, or a BSS transition management frame to the first client device.

Some examples of the method, apparatus, and non-transitory computer-readable medium described above may further include processes, features, means, or instructions for creating the second BSS based at least in part on the determination that the first client device may be monopolizing the channel of the first BSS.

Some examples of the method, apparatus, and non-transitory computer-readable medium described above may further include processes, features, means, or instructions for terminating the second BSS based at least in part on a change in status of the first client device.

In some examples of the method, apparatus, and non-transitory computer-readable medium described above, the change in status comprises at least one of a change in association between the first client device and the first BSS or the second BSS, or a change in the determination that the first client device may be monopolizing the channel of the first BSS, or a change in association between a second client device and the first BSS, or a combination thereof.

Some examples of the method, apparatus, and non-transitory computer-readable medium described above may further include processes, features, means, or instructions for steering the first client device to the first BSS based at least in part on a termination of the second BSS, or a change in the determination that the first client device may be monopolizing the channel of the first BSS, or a change in association between a second client device and the first BSS, or a combination thereof.

In some examples of the method, apparatus, and non-transitory computer-readable medium described above, a service set identifier (SSID) and security credentials of the first BSS and the second BSS may be the same.

DETAILED DESCRIPTION

Wireless communications systems may employ various techniques for allocating resources (e.g., frequency, time, power, etc.) to various devices in the system. In some cases, an access point (AP) may transmit packets of the same size to each of a high data rate station (STA) and a low data rate STA (e.g., STAs communicating using a low modulation and coding scheme (MCS), STAs located at the edges of AP coverage areas, STAs with weak signal strength, or STAs devices with limited data rate capabilities, etc.). In such cases, the low data rate STA will take longer to successfully receive a packet compared to a high data rate STA because the low data rate STA is limited by how much data can be received in one second. As a result, if data packets of the same size are to be transmitted to each of a high data rate STA and a low data rate STA over the same medium, the low data rate STA will occupy the medium for a longer duration than the high data rate STA, and the quality of service (QoS) experienced by the high data rate device also connected to the AP may degrade.

Airtime Fairness (ATF) may be employed by an AP to manage the amount of airtime allocated for various STAs in the system by providing equal airtime to each STA connected to the AP. ATF may be used to limit the amount of airtime allocated for lower data rate STAs and provide additional airtime to higher data rate STAs in order to improve system performance. Although lower data rate STAs are allocated less airtime, the QoS remains relatively unchanged (i.e., an end user may not experience any noticeable difference in performance), while high data rate STAs may experience better QoS (i.e., an end user may experience higher performance).

While ATF may be used to efficiently manage airtime for downlink transmissions (from an AP to a STA), in some cases, a low data rate STA may monopolize (or overload) a channel with uplink transmissions. For example, a low data rate device may occupy a medium with uplink transmissions for a relatively long duration in order to transmit large and/or multiple uplink packets. This may result in less overall airtime for high priority uplink traffic (e.g., video streaming) or high data rate devices and the QoS for the high priority uplink traffic or the high data rate devices may degrade.

To improve overall system performance, a wireless communications system may be monitored in order to determine or identify a STA monopolizing or overloading a channel of a BSS served by an AP. Once a greedy STA is identified, the AP may dynamically create a second BSS (e.g., a virtual AP (VAP)) with parameters that throttle (or limit) uplink traffic from devices connected to the second BSS. After creating the second BSS, the AP may steer the greedy STA to associate with the second BSS.

Aspects of the disclosure are initially described in the context of a wireless communication system. Aspects of the disclosure are further illustrated by and described with reference to apparatus diagrams, system diagrams, and flowcharts that relate to title of the application.

FIG. 1illustrates a wireless local area network (WLAN)100(also known as a Wi-Fi network) configured in accordance with various aspects of the present disclosure. The WLAN100may include an AP105and multiple associated STAs115, which may represent devices such as mobile stations, personal digital assistant (PDAs), other handheld devices, netbooks, notebook computers, tablet computers, laptops, display devices (e.g., TVs, computer monitors, etc.), printers, etc. The AP105and the associated stations115may represent a BSS or an extended service set (ESS). The various STAs115in the network are able to communicate with one another through the AP105. Also shown is a coverage area110of the AP105, which may represent a basic service area (BSA) of the WLAN100. An extended network station (not shown) associated with the WLAN100may be connected to a wired or wireless distribution system that may allow multiple APs105to be connected in an ESS.

Although not shown inFIG. 1, a STA115may be located in the intersection of more than one coverage area110and may associate with more than one AP105. A single AP105and an associated set of STAs115may be referred to as a BSS. An ESS is a set of connected BSSs. A distribution system (not shown) may be used to connect APs105in an ESS. In some cases, the coverage area110of an AP105may be divided into sectors (also not shown). The WLAN100may include APs105of different types (e.g., metropolitan area, home network, etc.), with varying and overlapping coverage areas110. Two STAs115may also communicate directly via a direct wireless link120regardless of whether both STAs115are in the same coverage area110. Examples of direct wireless links120may include Wi-Fi Direct connections, Wi-Fi Tunneled Direct Link Setup (TDLS) links, and other group connections. STAs115and APs105may communicate according to the WLAN radio and baseband protocol for physical and MAC layers from IEEE 802.11 and versions including, but not limited to, 802.11b, 802.11g, 802.11a, 802.11n, 802.11ac, 802.11ad, 802.11ah, etc. In other implementations, peer-to-peer connections or ad hoc networks may be implemented within WLAN100.

In some cases, a STA115(or an AP105) may be detectable by a central AP105, but not by other STAs115in the coverage area110of the central AP105. For example, one STA115may be at one end of the coverage area110of the central AP105while another STA115may be at the other end. Thus, both STAs115may communicate with the AP105, but may not receive the transmissions of the other. This may result in colliding transmissions for the two STAs115in a contention based environment (e.g., carrier sense multiple access with collision avoidance (CSMA/CA)) because the STAs115may not refrain from transmitting on top of each other. A STA115whose transmissions are not identifiable, but that is within the same coverage area110may be known as a hidden node. CSMA/CA may be supplemented by the exchange of a request to send (RTS) packet transmitted by a sending STA115(or AP105) and a clear to send (CTS) packet transmitted by the receiving STA115(or AP105). This may alert other devices within range of the sender and receiver not to transmit for the duration of the primary transmission. Thus, RTS/CTS may help mitigate a hidden node problem.

In some examples, WLAN100may be monitored to determine whether a STA115is monopolizing a channel of the WLAN100. If it is determined that an STA115is monopolizing a channel of the WLAN, the AP105of the WLAN100may dynamically create a second BSS (e.g., a VAP) which may be configured to limit uplink traffic from any STAs connected to the second BSS. The STA115that is monopolizing the channel of the WLAN100may then be steered to the second BSS to prevent performance degradation at other STAs115in the WLAN100.

FIG. 2illustrates an example of a wireless communication system200for improving uplink airtime fairness through BSS steering. In some cases, the wireless communication system200may represent aspects of techniques performed by a STA115or AP105as described with reference toFIG. 1. As shown inFIG. 2, the wireless communication system200includes a first BSS spanning coverage area110-a. The first BSS is associated with AP105-aand includes STA115-aand STA115-b. InFIG. 2, STA115-acommunicates with AP105-ausing channel205and STA115-bcommunicates with AP105-busing channel210.

In some examples, the wireless communication system200is monitored in order to identify a client device (e.g., STA115-aor STA115-b) that is monopolizing or overloading a channel of the BSS. For example, AP105-amay monitor channels205and210to determine whether STA115-aor STA115-bis overloading the first BSS with uplink transmissions. In another example, a network entity (e.g., a serving gateway or another node of the core network, not shown), monitors the first BSS including the AP105-aas well as STAs115-aand115-bto determine if the first BSS is overloaded and cannot be offloaded to another BSS (e.g., a different BSS associated with a different AP in the wireless communication system200). The identified client device may be referred to as a greedy client device or a greedy STA.

A greedy STA may be identified based on a number of factors. For example, a greedy STA may be identified based on an MCS associated with the greedy STA or whether the received signal strength indicator (RSSI) associated with the greedy STA crosses a threshold. In other examples, a greedy STA may be identified based on the number of bytes of uplink traffic transmitted or to be transmitted by the greedy STA or the amount of time a greedy STA occupies a channel (e.g., if the greedy STA exceeds a threshold amount of time or if the greedy STA occupies a medium for N times longer than its fair share), among others. Other indicators such as channel quality information (CQI) feedback or interference parameters associated with a greedy STA may be used in the identification of a greedy STA.

In some examples, channel205and channel210may be the same channel, may be different channels, or may be overlapping channels. As shown in the example ofFIG. 2, STA115-bis consuming a relatively large amount of airtime over channel210. For example, STA115-bmay be transmitting a large packet or may be transmitting multiple packets over channel210. In another example, STA115-bmay be transmitting for a long duration (e.g., the STA115-bmay be transmitting a data packet using a low MCS which results in a long transmission time). Also as shown, STA115-ais communicating bi-directionally with AP105-ausing channel205. The large airtime transmission over channel210may cause a performance degradation at STA115-aas the AP105-amay be overloaded with transmissions from STA115-b. This may result in a loss of packets transmitted from STA115-ato AP105-aor may result in slower transmission or reception times between STA115-aand AP105-aover channel205. In this example, it may be determined that STA115-bis monopolizing channel210or overloading the first BSS associated with AP105-aleading to a low QoS experienced by STA115-a.

Once a STA115-bis identified as greedy, AP105-amay create a second BSS (e.g., a VAP) having a BSSID different from the BSSID of the first BSS. The second BSS may have identical security credentials and the same SSID as the first BSS, but may be configured with parameters that are throttled with respect to the first BSS. After creating the second BSS, the greedy STA115-bmay be steered to associate with the second BSS and uplink transmissions from the greedy STA115-bare throttled (due to the configuration of the second BSS) which prevents the greedy STA115-bfrom degrading the QoS at STA115-ain the wireless communication system200.

FIG. 3illustrates an example of a wireless communication device300for improving uplink airtime fairness through BSS steering. In some cases, the wireless communication device300may represent aspects of techniques performed by an AP105(or other network entity) as described with reference toFIGS. 1 and 2.

InFIG. 3, wireless communication device300is capable of managing multiple BSSs305. For example, wireless communication device300may be capable of managing a group of persistent BSSs310which includes BSS305-aand305-c. The persistent BSSs310may be associated with different frequency bands (e.g., BSS305-amay support 2.4 gigahertz (GHz) communication and BSS305-cmay support 5 GHz communication) or may be associated with different security credentials (e.g., BSS305-amay be an open network, while BSS305-cmay be a private network).

In some examples, the wireless communication device300may also be capable of managing a group of dynamically created BSSs315which includes BSS305-band BSS305-d. Each of the dynamic BSSs305-band305-dmay correspond to a BSS within the group of persistent BSSs310. For example, dynamic BSS305-bmay correspond with persistent BSS305-aand dynamic BSS305-dmay correspond with persistent BSS305-c. The dynamically created BSSs315may be created based on the identification of a greedy STA (e.g., greedy STA115-binFIG. 2). In some examples, the dynamically created BSS may share the same SSID and security credentials as its corresponding persistent BSS and may also be associated with the channel that was overloaded by a greedy STA.

The dynamically created BSSs315may include throttling parameters that are different from the parameters associated with the persistent BSSs310. For example, BSS305-bmay be configured with larger Enhanced Distributed Channel Access (EDCA) deferrals or shorter Transmission Opportunities (TXOPs) compared to BSS305-a. Further, BSS305-bmay also be configured to selectively withhold a clear to send (CTS) message for the STA, drop an uplink packet received from a STA, or modify an uplink Aggregate MAC Protocol Data Unit (A-MPDU) policy for the STA. Similarly, BSS305-dmay be configured with larger EDCA deferrals or shorter TXOPs compared to BSS305-c. Further, BSS305-dmay also be configured to selectively withhold a CTS message for the STA, drop an uplink packet received from a STA, or modify an uplink A-MPDU policy for the STA.

In some examples, a STA that is associated with one of the persistent BSSs305-aand305-cmay be identified as greedy. Once identified, the wireless communication device300may dynamically create a BSS corresponding with the persistent BSS being overloaded by the greedy STA, as indicated by arrow320.

To steer the greedy STA, the wireless communication device300may utilize BSS Transition Management (BTM) or an enhanced base station algorithm and suggest an alternative BSS for the greedy STA. For example, if it is determined that a STA associated with BSS305-awas monopolizing a channel of BSS305-a, the wireless communication device300may suggest that the STA connect to the dynamic BSS305-bcorresponding to the BSS305-a. The greedy STA may then associate with the BSS305-bbased on the suggestion. In other examples, the wireless communication device300may transmit a disassociation or de-authentication message to the greedy STA in order to terminate a connection between the greedy STA and BSS305-a. In doing so, the greedy STA may then associate with dynamic BSS305-b. In some examples, the wireless communication device300may steer the greedy STA to the dynamic BSS305-bby choosing not respond to probe requests, association requests, or authentication requests. This may cause the greedy STA to cease its attempt to connect to BSS305-aand instead connect to BSS305-b.

Once connected to BSS305-b, uplink transmissions from the greedy STA are throttled (due to the configuration of the BSS305-b). This may prevent the greedy STA from degrading the QoS at other STAs connected to wireless communication device300. For example, due to the configuration of the BSS305-b, the greedy STA may need to wait longer to send uplink packets (larger EDCA deferrals). The greedy STA may also have to contend for access more often due to shorter TXOPs. In some cases, the BSS305-bmay selectively drop or limit the number of CTS messages generated or may drop uplink packets received from the greedy STA above a media access control (MAC) associated with the wireless communication device300(i.e., the BSS305-bmay receive an uplink packet from the greedy STA at the MAC layer, but not deliver the uplink packet to an upper layer). By steering the greedy STA to the dynamic BSS305-b, this may prevent greedy STA from transmitting too often or too quickly.

In some examples, if the greedy STA no longer is identified as greedy, the BSS305-bmay be terminated, as indicated by arrow325. For example, if the greedy STA disconnects from the wireless communication device300(e.g., due to loss of power), the dynamic BSS305-bmay be terminated. In other examples, if the greedy STA is no longer monopolizing uplink resources or if other STAs connected to the wireless communication device300disconnect from the wireless communication device300, the BSS305-bmay be terminated and the STA may be steered to connect with BSS305-a.

FIG. 4illustrates an example of a process flow400for improving uplink airtime fairness through BSS steering. In some cases, process flow400may represent aspects of techniques performed by a STA115or AP105as described with reference toFIG. 1.

At point405, STA115-cmay monopolize a channel of a first BSS associated with AP105-b. In some examples, monopolizing may involve transmitting a large packet or multiple packets over an uplink channel of the first BSS. In other examples, the STA115-cmay be a low data rate device having a low MCS or located near an edge of a coverage area of the AP105-b.

At block410, the AP105-bmay determine that the STA115-cis monopolizing a channel of the first BSS. In some examples, the AP105-bmay determine that the STA115-cis monopolizing a channel of the first BSS by determining a performance degradation of another device connected to the AP105-bat block415. In other examples, the AP105-bmay determine that the airtime usage of the STA115-cat block420. For example, the AP105-bmay determine that the STA115-cis utilizing more than a fair share of airtime compared to other devices connected to the AP105-b. In some cases, determining airtime usage of the STA115-cmay include determining whether an airtime associated with the STA115-chas surpassed a threshold or is N times greater than a fair share of airtime.

After it is determined that the STA115-cis monopolizing the first BSS, the AP105-bcreates a second BSS at block425. The second BSS may share the same SSID as the first BSS but may have a different BSSID compared to the first BSS. The second BSS may also be throttled with respect to the first BSS by being configured with larger EDCA deferrals or shorter TXOPs compared to the first BSS. Further, the second BSS may also be created to selectively withhold CTS messages, drop uplink packets, or have a modified A-MPDU policy. In some cases, the AP105-bmay select a duration field value for a CTS message for the first client device based on the determination at block410, the selected duration field value may be less than a requested duration value of an RTS message from the first client device.

At block430, the AP105-bor other network entity may steer the STA115-cto the second BSS created at block425. Steering may include utilizing BTM or not responding to communications from the STA115-c. Steering may also include preventing the STA115-cfrom reassociating with the first BSS.

At throttled communication435, the AP105-band STA115-cmay communicate using the second BSS. The communication may be throttled due to the configuration of the second BSS. This may allow for better performance or QoS at other devices connected to the AP105-b.

In some examples, the STA115-cmay change status at block440. For example, the STA115-cmay disassociate with the AP105-centirely. In other examples, a change in status may include a change in the determination that the STA115-cis monopolizing the first BSS, or a device connected to the AP105-bmay no longer be associated with a low QoS.

Based on the change in status, the AP105-bmay then terminate the second BSS at block445. In some examples, terminating the second BSS may include steering the STA115-cto the first BSS.

FIG. 5shows a block diagram500of a device505that supports improving uplink airtime fairness through BSS steering in accordance with various aspects of the present disclosure. Device505may be an example of aspects of an AP105as described with reference toFIGS. 1 and 2. Device505may include receiver510, AP BSS steering manager515, and transmitter520. Device505may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses).

Receiver510may receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to improving uplink airtime fairness through BSS steering, etc.). Information may be passed on to other components of the device. The receiver510may be an example of aspects of the transceiver840described with reference toFIG. 8.

AP BSS steering manager515may be an example of aspects of the AP BSS steering manager815described with reference toFIG. 8. AP BSS steering manager515may determine that a first client device is monopolizing a channel of a first BSS associated with a first BSSID and steer the first client device to a second BSS that is throttled with respect to the first BSS based on the determination, the second BSS associated with a second BSSID different from the first BSSID.

Transmitter520may transmit signals generated by other components of the device. In some examples, the transmitter520may be collocated with a receiver510in a transceiver module. For example, the transmitter520may be an example of aspects of the transceiver840described with reference toFIG. 8. The transmitter520may include a single antenna, or it may include a set of antennas.

FIG. 6shows a block diagram600of a device605that supports improving uplink airtime fairness through BSS steering in accordance with various aspects of the present disclosure. Device605may be an example of aspects of a device505or an AP105as described with reference toFIGS. 1, 2 and 5. Device605may include receiver610, AP BSS steering manager615, and transmitter620. Device605may also include a processor. Each of these components may be in communication with one another (e.g., via one or more buses).

Receiver610may receive information such as packets, user data, or control information associated with various information channels (e.g., control channels, data channels, and information related to improving uplink airtime fairness through BSS steering, etc.). Information may be passed on to other components of the device. The receiver610may be an example of aspects of the transceiver840described with reference toFIG. 8.

AP BSS steering manager615may be an example of aspects of the AP BSS steering manager815described with reference toFIG. 8. AP BSS steering manager615may also include BSS monitor625and steering component630.

BSS monitor625may determine that a first client device is monopolizing a channel of a first BSS associated with a first BSSID. In some cases, the change in status includes at least one of a change in association between the first client device and the first BSS or the second BSS, or a change in the determination that the first client device is monopolizing the channel of the first BSS, or a change in association between a second client device and the first BSS, or a combination thereof.

Steering component630may steer the first client device to a second BSS that is throttled with respect to the first BSS based on the determination, the second BSS associated with a second BSSID different from the first BSSID, increase an EDCA deferral length for the first client device, reduce a TXOP limit for the first client device, selectively withhold a transmission of a CTS message to the first client device, receive an RTS message that includes a requested duration value, select a duration field value that is less than the requested duration value for a CTS message based on the determination, transmit a CTS message that includes the selected duration field value, modify an uplink A-MPDU policy for the first client device, prevent the first client device from reassociating with the first BSS after steering the first client device to the second BSS, drop an uplink packet from the first client device above a MAC layer, and steer the first client device to the first BSS based on a termination of the second BSS, or a change in the determination that the first client device is monopolizing the channel of the first BSS, or a change in association between a second client device and the first BSS, or a combination thereof.

Transmitter620may transmit signals generated by other components of the device. In some examples, the transmitter620may be collocated with a receiver610in a transceiver module. For example, the transmitter620may be an example of aspects of the transceiver840described with reference toFIG. 8. The transmitter620may include a single antenna, or may include a set of antennas.

FIG. 7shows a block diagram700of an AP BSS steering manager715that supports improving uplink airtime fairness through BSS steering in accordance with various aspects of the present disclosure. The AP BSS steering manager715may be an example of aspects of an AP BSS steering manager515, an AP BSS steering manager615, or an AP BSS steering manager815described with reference toFIGS. 5, 6, and 8. The AP BSS steering manager715may include BSS monitor725and steering component730. Each of these modules may communicate, directly or indirectly, with one another (e.g., via one or more buses).

BSS monitor725may determine that a first client device is monopolizing a channel of a first BSS associated with a first BSSID. In some cases, the change in status includes at least one of a change in association between the first client device and the first BSS or the second BSS, or a change in the determination that the first client device is monopolizing the channel of the first BSS, or a change in association between a second client device and the first BSS, or a combination thereof.

Steering component730may steer the first client device to a second BSS that is throttled with respect to the first BSS based on the determination, the second BSS associated with a second BSSID different from the first BSSID, increase an EDCA deferral length for the first client device, reduce a TXOP limit for the first client device, selectively withhold a transmission of a CTS message to the first client device, receive an RTS message that includes a requested duration value, select a duration field value that is less than the requested duration value for a CTS message based on the determination, transmit a CTS message that includes the selected duration field value, modify an uplink A-MPDU policy for the first client device, prevent the first client device from reassociating with the first BSS after steering the first client device to the second BSS, drop an uplink packet from the first client device above a MAC layer, and steer the first client device to the first BSS based on a termination of the second BSS, or a change in the determination that the first client device is monopolizing the channel of the first BSS, or a change in association between a second client device and the first BSS, or a combination thereof.

Performance monitor735may monitor performance of one or more client devices in a wireless communications system. In some cases, determining that the first client device is monopolizing the channel of the first BSS includes: determining a performance degradation of a second client device connected to the first BSS.

Airtime determiner740may determine airtime usage for one or more client devices in a wireless communications system. In some cases, determining the performance degradation of the second client device connected to the first BSS includes: determining an airtime usage of the channel by the first client device.

Overload determiner745may determine whether one or more client devices in a wireless communications system are overloading the system. In some cases, determining that the first client device is monopolizing the channel of the first BSS includes: determining that the first client device is overloading an uplink channel associated with the first BSS that cannot be offloaded.

Message transmitter750may transmit messages to one or more client devices in a wireless communications system. In some cases, steering the first client device includes: transmitting a dissociation message, a deauthentication message, or a BSS transition management frame to the first client device.

BSS manager755may create the second BSS based on the determination that the first client device is monopolizing the channel of the first BSS and terminate the second BSS based on a change in status of the first client device. In some cases, the SSID and security credentials of the first BSS and the second BSS are the same.

FIG. 8shows a diagram of a system800including a device805that supports improving uplink airtime fairness through BSS steering in accordance with various aspects of the present disclosure. Device805may be an example of a device505, device605, or an AP105as described above, e.g., with reference toFIGS. 1, 2, 5 and 6.

Device805may include components for bi-directional voice and data communications including components for transmitting and receiving communications, including AP BSS steering manager815, processor825, memory830, software835, transceiver840, and antenna845.

Processor825may include an intelligent hardware device, (e.g., a central processing unit (CPU), a microcontroller, an application specific integrated circuit (ASIC), etc.)

Memory830may include random access memory (RAM) and read only memory (ROM). The memory830may store computer-readable, computer-executable software835including instructions that, when executed, cause the processor to perform various functions described herein. In some cases, the memory830can contain, among other things, a Basic Input-Output system (BIOS) which may control basic hardware and/or software operation such as the interaction with peripheral components or devices.

Software835may include code to implement aspects of the present disclosure, including code to support improving uplink airtime fairness through BSS steering. Software835can be stored in a non-transitory computer-readable medium such as system memory or other memory. In some cases, the software835may not be directly executable by the processor but may cause a computer (e.g., when compiled and executed) to perform functions described herein.

In some cases, the wireless device may include a single antenna845. However, in some cases the device805may have more than one antenna845, which may be capable of concurrently transmitting or receiving multiple wireless transmissions or may be capable of communication with STAs115-dand115-e.

FIG. 9shows a flowchart illustrating a method900for improving uplink airtime fairness through BSS steering in accordance with various aspects of the present disclosure. The operations of method900may be implemented by an AP105or its components as described herein. For example, the operations of method900may be performed by an AP BSS steering manager as described with reference toFIGS. 5 through 7. In some examples, an AP105may execute a set of codes to control the functional elements of the device to perform the functions described below. Additionally or alternatively, the AP105may perform aspects the functions described below using special-purpose hardware.

At block905, the AP105may determine that a first client device is monopolizing a channel of a first BSS associated with a first BSSID. The operations of block905may be performed according to the methods described with reference toFIGS. 2 through 4. In certain examples, aspects of the operations of block905may be performed by a BSS monitor as described with reference toFIGS. 5 through 7.

At block910, the AP105may steer the first client device to a second BSS that is throttled with respect to the first BSS based on the determination, the second BSS associated with a second BSSID different from the first BSSID. The operations of block910may be performed according to the methods described with reference toFIGS. 2 through 4. In certain examples, aspects of the operations of block910may be performed by a steering component as described with reference toFIGS. 5 through 7.

Optionally, at block915, the AP105may increase an EDCA deferral length for the first client device. The operations of block915may be performed according to the methods described with reference toFIGS. 2 through 4. In certain examples, aspects of the operations of block915may be performed by the BSS manager as described with reference toFIGS. 5 through 7.

Optionally, at block920, the AP105may reduce a TXOP limit for the first client device. The operations of block920may be performed according to the methods described with reference toFIGS. 2 through 4. In certain examples, aspects of the operations of block920may be performed by the steering component as described with reference toFIGS. 5 through 7.

Optionally, at block925, the AP105may selectively withhold transmission of a CTS message to the first client device. The operations of block925may be performed according to the methods described with reference toFIGS. 2 through 4. In certain examples, aspects of the operations of block925may be performed by the steering component as described with reference toFIGS. 5 through 7.

Optionally, at block930, the AP105may select a duration field value for a CTS message to be transmitted to the first client device. In some cases, the duration field value may be less than a requested duration value of an RTS message from the first client device. The operations of block930may be performed according to the methods described with reference toFIGS. 2 through 4. In certain examples, aspects of the operations of block930may be performed by the steering component as described with reference toFIGS. 5 through 7.

Optionally, at block935, the AP105may modify an uplink A-MPDU policy for the first client device. The operations of block935may be performed according to the methods described with reference toFIGS. 2 through 4. In certain examples, aspects of the operations of block935may be performed by the steering component as described with reference toFIGS. 5 through 7.

Optionally, at block940, the AP105may terminate the second BSS based on a change in status of the first client device. The operations of block940may be performed according to the methods described with reference toFIGS. 2 through 4. In certain examples, aspects of the operations of block940may be performed by a BSS manager as described with reference toFIGS. 5 through 7.

Techniques described herein may be used for various wireless communications systems such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal frequency division multiple access (OFDMA), single carrier frequency division multiple access (SC-FDMA), and other systems. The terms “system” and “network” are often used interchangeably. A code division multiple access (CDMA) system may implement a radio technology such as CDMA2000, Universal Terrestrial Radio Access (UTRA), etc. CDMA2000 covers IS-2000, IS-95, and IS-856 standards. IS-2000 Releases may be commonly referred to as CDMA2000 1×, 1×, etc. IS-856 (TIA-856) is commonly referred to as CDMA2000 1×EV-DO, High Rate Packet Data (HRPD), etc. UTRA includes Wideband CDMA (WCDMA) and other variants of CDMA. A time division multiple access (TDMA) system may implement a radio technology such as Global System for Mobile Communications (GSM). An orthogonal frequency division multiple access (OFDMA) system may implement a radio technology such as Ultra Mobile Broadband (UMB), Evolved UTRA (E-UTRA), IEEE 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), IEEE 802.20, Flash-OFDM, etc.

The wireless communications system or systems described herein may support synchronous or asynchronous operation. For synchronous operation, the APs may have similar frame timing, and transmissions from different APs may be approximately aligned in time. For asynchronous operation, the APs may have different frame timing, and transmissions from different APs may not be aligned in time. The techniques described herein may be used for either synchronous or asynchronous operations.