Non-compliant network allocation vector (NAV) detection and mitigation
By detecting non-NAV-compliant and performing channel switching, the problem of rogue devices exclusively occupying wireless media access is solved, and effective protection and interference avoidance of wireless communication is achieved.
Patent Information
- Application Number
- CN202411692157.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-11-27
- Filing Date
- 2024-11-25
- Publication Date
- 2025-05-27
AI Technical Summary
In the existing wireless communication technology, a rogue device can exclusively access to the shared wireless medium by extending the reservation duration of the wireless medium, resulting in the communication of other wireless communication devices being destroyed.
By detecting non-compliant network allocation vectors (NAVs) in packets transmitted by neighboring devices, the wireless communication device may selectively switch its associated basic service set (BSS) from one wireless channel to another to avoid interference from rogue devices.
It effectively avoids wireless communication damage caused by rogue devices, protects communication within the BSS, and realizes minor modifications to existing wireless communication devices.
Smart Images

Figure CN120050731A_ABST
Abstract
Description
Technical Field
[0001] This implementation generally relates to wireless communication and, more particularly, to non-compliant network allocation vector (NAV) detection and mitigation. Background Art
[0002] A wireless local area network (WLAN) can be formed by one or more access points (APs) that provide a shared wireless communication medium for use by a number of client devices (also referred to as wireless stations (STAs)). The basic building block of a WLAN that complies with the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standard family is a basic service set (BSS) managed by an AP. Each BSS is identified by a BSS identifier (BSSID) advertised by the AP. The AP periodically broadcasts beacon frames so that any STA within the wireless range of the AP can establish or maintain a communication link with the WLAN. The process of establishing a communication link is generally referred to as "association" and involves the exchange of association frames between the AP and the STA. When the association process is completed, the STA is "associated" with the AP.
[0003] Access to the shared wireless medium is generally controlled by a distributed coordination function (DCF) such as carrier sense multiple access with collision avoidance (CSMA / CA). For CSMA / CA, there is generally no centralized master device that allocates the time and frequency resources of the shared wireless medium. Instead, any wireless communication device (such as an AP or an STA) that attempts to transmit data must wait for a random backoff (RBO) duration and compete for access to the wireless medium. More specifically, after the RBO duration expires, the wireless communication device must perform a clear channel assessment (CCA) and determine that the channel is idle before the wireless communication device can transmit data on the desired wireless channel.
[0004] Existing versions of the IEEE 802.11 standard require that a "duration" field be included in the media access control (MAC) header of each packet transmitted on the wireless medium. The duration field specifies the duration for which the transmitting device reserves the medium. For example, in some applications, the duration field can indicate the duration for which a packet occupies the wireless medium. A wireless communication device that detects a packet on the wireless medium sets a corresponding network allocation vector (NAV) of the wireless communication device according to the duration indicated in the duration field. The NAV is a virtual carrier sense mechanism that prevents a wireless communication device from attempting to access the wireless medium (such as according to CSMA / CA) during the duration indicated in the duration field of the detected packet. For example, a wireless communication device can assume that the wireless medium is busy when its NAV has a non-zero value.
[0005] Before the expiration of the duration indicated by the duration field of a previously transmitted packet, a transmitting device compliant with the IEEE 802.11 standard may not extend its access to the shared wireless medium (such as by transmitting an additional packet carrying extended duration information). However, some wireless communication devices that do not comply with the IEEE 802.11 standard (also referred to herein as "rogue" devices) may utilize such techniques to monopolize access to the shared wireless medium. Thus, there is a need for wireless communication devices that operate in accordance with the IEEE 802.11 standard to avoid rogue devices attempting to monopolize access to the shared wireless medium or disrupting communication between other wireless communication devices. SUMMARY OF THE INVENTION
[0006] This Summary of the Invention is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary of the Invention is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter.
[0007] One innovative aspect of the subject matter of this disclosure can be implemented as a method performed by a wireless communication device. The method includes: detecting a first packet transmitted by a neighboring device on a first wireless channel, where the first packet has a duration field indicating a duration for which the neighboring device reserves the first wireless channel; detecting a second packet transmitted by the neighboring device on the first wireless channel, where the second packet has a duration field indicating a duration that overlaps with and ends later than the duration indicated by the first packet; and selectively switching a basic service set (BSS) associated with the wireless communication device from the first wireless channel to a second wireless channel based at least in part on detecting the second packet.
[0008] Another innovative aspect of the subject matter of this disclosure can be implemented as a wireless communication device that includes a processing system and a memory. The memory stores instructions that, when executed by the processing system, cause the wireless communication device to: detect a first packet transmitted by a neighboring device on a first wireless channel, where the first packet has a duration field indicating a duration for which the neighboring device reserves the first wireless channel; detect a second packet transmitted by the neighboring device on the first wireless channel, where the second packet has a duration field indicating a duration that overlaps with and ends later than the duration indicated by the first packet; and selectively switch a BSS associated with the wireless communication device from the first wireless channel to a second wireless channel based at least in part on detecting the second packet. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] This implementation is illustrated by way of example and is not intended to be limited by the figures of the drawings.
[0010] Figure 1Shows an example wireless communication environment.
[0011] Figure 2 Shows a timing diagram depicting example wireless communication performed by a wireless communication device associated with the Figure 1 wireless communication environment.
[0012] Figure 3 Shows a timing diagram depicting example wireless communication performed by an access point (AP) and a rogue wireless station (STA) according to some implementations.
[0013] Figure 4A Shows a timing diagram depicting example wireless communication performed by a multi-radio device (MR) AP and a rogue STA according to some implementations.
[0014] Figure 4B Shows another timing diagram depicting example wireless communication performed by an MR AP and a rogue STA according to some implementations.
[0015] Figure 4C Shows another timing diagram depicting example wireless communication performed by an MR AP and a rogue STA according to some implementations.
[0016] Figure 5A Shows a timing diagram depicting an example channel switching operation that can be performed by an AP near a rogue STA according to some implementations.
[0017] Figure 5B Shows another timing diagram depicting an example channel switching operation that can be performed by an AP near a rogue STA according to some implementations.
[0018] Figure 6 Shows a block diagram of an example wireless communication device according to some implementations.
[0019] Figure 7 Shows an illustrative flowchart depicting an example channel switching operation based on non-compliant network allocation vector (NAV) detection according to some implementations. Detailed Description
[0020] In the following description, numerous specific details are set forth, such as examples of specific components, circuits, and processes, to provide a thorough understanding of the present disclosure. As used herein, the term "coupled" means directly connected to or connected through one or more intermediate components or circuits. The terms "electronic system" and "electronic device" may be used interchangeably to refer to any system capable of electronically processing information. Also, in the following description and for purposes of explanation, specific terms are set forth to provide a thorough understanding of aspects of the present disclosure. However, it will be apparent to those skilled in the art that these specific details may not be required to practice the example embodiments. In other instances, well-known circuits and devices are shown in block diagram form to avoid obscuring the present disclosure. Some subsequent portions of the detailed description are presented in terms of procedures, logic blocks, processing, and other symbolic representations of operations on data bits within a computer memory.
[0021] These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. In the present disclosure, a procedure, logic block, process, etc. is considered a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physical manipulation of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. However, it should be borne in mind that all of these terms and similar terms are to be associated with appropriate physical quantities and are merely convenient labels applied to these quantities.
[0022] Unless specifically stated otherwise, as will be apparent from the following discussion, it is realized that throughout this application, discussions using terms such as "access", "receive", "send", "use", "select", "determine", "normalize", "multiply", "average", "monitor", "compare", "apply", "update", "measure", "derive", etc. refer to the actions and processes of a computer system or similar electronic computing device: manipulating data represented as physical (electronic) quantities within the registers and memories of the computer system and transforming it into other data similarly represented as physical quantities within the computer system memory or registers or other such information storage, transmission, or display devices.
[0023] In the figures, a single block may be described as performing one or more functions; however, in actual practice, one or more of the functions performed by that block may be performed in a single component or across multiple components, and / or may be performed using hardware, using software, or using a combination of hardware and software. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described generally herein in terms of their functionality. Whether such functionality is implemented as hardware or as software depends upon the particular application and the design constraints imposed on the overall system. A person skilled in the art may implement the described functionality in different ways for each particular application, but such implementation decisions should not be construed as causing a departure from the scope of the present disclosure. Also, an example input device may include components other than those shown, including well-known components such as processors, memories, and the like.
[0024] Unless the techniques described herein are specifically described as being implemented in a specific manner, the techniques may be implemented in hardware, software, firmware, or any combination thereof. Any feature described as a module or component may also be implemented together in an integrated logic device or separately as discrete but interoperable logic devices. If implemented in software, the techniques may be at least partially implemented by a non-transitory processor-readable storage medium that includes instructions that, when executed, perform one or more of the methods described above. The non-transitory processor-readable data storage medium may form part of a computer program product that may include packaging material.
[0025] The non-transitory processor-readable storage medium may include random access memory (RAM), such as synchronous dynamic random access memory (SDRAM), read-only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), flash memory, other known storage media, and the like. Additionally or alternatively, the techniques may be at least partially implemented by a processor-readable communication medium that carries or transmits code in the form of instructions or data structures and that can be accessed, read, and / or executed by a computer or other processor.
[0026] The various illustrative logic blocks, modules, circuits, and instructions described in connection with the embodiments disclosed herein may be executed by one or more processors (or processing systems). As used herein, the term "processor" may refer to any general-purpose processor, special-purpose processor, conventional processor, controller, microcontroller, and / or state machine that is capable of executing a script or instructions stored in a memory.
[0027] Aspects of the present disclosure can be implemented by any device, system, or network capable of transmitting and receiving radio frequency (RF) signals according to one or more of the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards, IEEE 802.15 standards, such as the standard defined by the Bluetooth Special Interest Group (SIG), or the Long Term Evolution (LTE), 3G, 4G, or 5G (New Radio (NR)) standards released by the Third Generation Partnership Project (3GPP). Aspects of the present disclosure can be implemented by any device, system, or network capable of transmitting and receiving RF signals according to one or more of the following technologies or techniques: Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal FDMA (OFDMA), Single Carrier FDMA (SC-FDMA), Single User (SU) Multiple Input Multiple Output (MIMO), and Multi-User (MU) MIMO. Aspects of the present disclosure can also be implemented using other wireless communication protocols or RF signals suitable for use in one or more of the Wireless Personal Area Network (WPAN), Wireless Local Area Network (WLAN), Wireless Wide Area Network (WWAN), or Internet of Things (IoT) networks. As described above, a transmitting device that does not conform to the IEEE 802.11 standard (also referred to herein as a "rogue" device) may attempt to extend its access to the shared wireless medium before the duration indicated by the duration field of a previously transmitted packet expires (such as by transmitting additional packets carrying extended duration information). As a result, the rogue device can monopolize access to the shared wireless medium. Aspects of the present disclosure recognize that a wireless communication device can avoid interference from a rogue device by switching its communication to a new wireless channel (different from the channel on which the rogue device is transmitting). For example, the existing version of the IEEE 802.11 standard defines a Channel Switch Announcement (CSA) element that can be used by an Access Point (AP) to signal a change in the wireless channel of its Basic Service Set (BSS).
[0028]
[0029] Aspects generally relate to avoiding disruptions in wireless communications, and more particularly to techniques for changing the channel of a BSS when a rogue device attempts to monopolize access to a shared wireless medium. In some aspects, an AP may detect a non-compliant Network Allocation Vector (NAV) associated with a packet transmitted by a rogue device. As used herein, the term "non-compliant NAV" refers to any NAV that effectively extends the duration for which a rogue device has reserved access to the wireless channel. For example, a rogue device may cause the AP to set a non-compliant NAV by transmitting a packet that reserves the shared wireless medium for a duration that overlaps with another duration for which the rogue device has reserved the shared medium, but ends later than it. In some implementations, the AP may switch its BSS to a different wireless channel in response to detecting a threshold number (N) of non-compliant NAVs. For example, the AP may not respond to the Nth attempt by the rogue device to set its NAV to extend its reservation of the wireless medium. Instead, the AP may transmit a CSA message to its associated wireless stations (STAs), thereby signaling a switch in the wireless channel.
[0030] Certain implementations that can implement the subject matter described in this disclosure can achieve one or more of the following potential advantages. By detecting non-compliant NAVs, aspects of this disclosure can avoid disruptions to wireless communications caused by rogue devices. Unlike existing APs that comply with the IEEE 802.11 standard, the APs of this implementation know when a rogue device is likely to attempt to monopolize access to a shared wireless medium. Accordingly, such APs can take remedial measures to protect communications within their BSSs from being disrupted by rogue devices (such as by prohibiting the setting of NAVs once a threshold number of non-compliant NAVs have been detected and by switching the BSS to a new wireless channel). Additionally, aspects of this disclosure can be implemented using protocols supported by existing versions of the IEEE 802.11 standard. Thus, the techniques for detecting and responding to non-compliant NAVs can be implemented with only minor modifications to existing wireless communication devices.
[0031] Figure 1 An example wireless communication environment 100 is shown. The wireless communication environment 100 is shown as including two access points AP1 and AP2 and a number of wireless stations STA1 - STA4. Although two APs and four STAs are shown in the Figure 1 example, the environment 100 can include any number of APs and any number of STAs.
[0032] The wireless stations STA1-STA4 can include any suitable wireless communication device, including, among other examples, cellular phones, personal digital assistants (PDAs), tablet devices, or other personal computing devices. An STA may also be referred to as a user equipment (UE), subscriber station, mobile unit, subscriber unit, wireless unit, remote unit, mobile device, wireless device, wireless communication device, remote device, mobile subscriber station, access terminal, mobile terminal, wireless terminal, remote terminal, handset, user agent, mobile client, or some other suitable term. Each of the wireless stations STA1-STA4 may include one or more transceivers, one or more processing resources (such as a processor or ASIC), one or more memory resources, and a power source (such as a battery).
[0033] Each of the access points AP1 and AP2 can be any suitable device that allows one or more wireless communication devices to connect to a wireless communication network (such as a local area network (LAN), wide area network (WAN), metropolitan area network (MAN), or the Internet) using Wi-Fi, Bluetooth, or any other suitable wireless communication standard. In some aspects, each wireless communication network can be a WLAN, such as a Wi-Fi network. For example, each wireless communication network can implement at least one standard from the IEEE 802.11 wireless communication protocol standard family. In some implementations, at least one of the access points AP1 or AP2 can be any suitable wireless communication device (such as an STA) that acts as a software-enabled access point (SoftAP). Each of the access points AP1 and AP2 can include one or more transceivers, one or more processing resources (such as a processor or ASIC), one or more memory resources, and a power source.
[0034] Each of the access points AP1 and AP2 can correspond to or provide a respective basic service set (BSS). More specifically, AP1 can form a BSS (BSS1) with a respective coverage area 110 that includes STA1 and STA2, while AP2 can form a BSS (BSS2) with a respective coverage area 120 that includes STA3 and STA4. In Figure 1 the example shown, the coverage areas 110 and 120 of BSS1 and BSS2 are respectively shown as overlapping. Thus, BSS1 and BSS2 can be referred to as "overlapping" BSSs (OBSSs). In some implementations, BSS1 and BSS2 can operate on the same wireless channel, such that wireless communication devices belonging to different BSSs can share access to the same wireless medium. For example, wireless communication devices associated with BSS1 (such as AP1, STA1, or STA2) can detect or otherwise sense wireless communication between devices associated with BSS2 (such as AP2, STA3, or STA4).
[0035] In some aspects, access to a shared wireless medium can be controlled according to the IEEE 802.11 standard by a distributed coordination function (DCF), such as carrier sense multiple access with collision avoidance (CSMA / CA). For CSMA / CA, there is generally no centralized master device that allocates the time and frequency resources of the shared wireless medium. Instead, any wireless communication device (such as an AP or STA) attempting to transmit data must wait for a random backoff (RBO) duration and compete for access to the wireless medium. More specifically, after the RBO duration expires, the wireless communication device must perform a clear channel assessment (CCA) and determine that the channel is idle before the wireless communication device can transmit a communication packet or a physical layer convergence protocol (PLCP) protocol data unit (PPDU) on the desired wireless channel.
[0036] A PPDU is a communication packet compliant with the IEEE 802.11 standard. The PPDU format is a composite structure that includes a physical layer (PHY) preamble and a payload in the form of a PHY service data unit (PSDU). The information provided in the preamble can be used by the receiving device to decode the subsequent data in the PSDU. The PSDU can represent or "carry" one or more medium access control (MAC) protocol data unit (MPDU) frames. Each MPDU frame includes a MAC header, which is followed by the data portion (also referred to as the "payload" or "frame body") of the MPDU frame. Existing versions of the IEEE 802.11 standard require the inclusion of a "duration" field in the MAC header of each PPDU. The duration field indicates the duration for which the medium is reserved by the transmitting device. For example, in some applications, the duration field can indicate the amount of time required to transmit a PPDU over the wireless medium.
[0037] A wireless communication device that detects a PPDU on the shared wireless medium sets its corresponding network allocation vector (NAV) according to the duration indicated in the duration field. The NAV is a virtual carrier sense mechanism that prevents a wireless communication device from attempting to access the wireless medium (such as according to CSMA / CA) during the duration indicated in the duration field of the PPDU. For example, a wireless communication device can assume that the wireless medium is busy when its NAV has a non-zero value. A transmitting device compliant with the IEEE 802.11 standard may not extend its access to the shared wireless medium (such as by transmitting an additional packet carrying extended duration information) before the duration indicated by the duration field of a previously transmitted packet expires. However, some wireless communication devices may not comply with the IEEE 802.11 standard. Such non-compliant wireless communication devices may be referred to herein as "rogue" devices.
[0038] In Figure 1In the example, STA3 is depicted as a rogue STA located within the overlapping region between coverage areas 110 and 120. As a result, PPDUs transmitted by STA3 (such as to AP2) can be detected by wireless communication devices associated with BSS1 (such as AP1, STA1, or STA2). In some instances, STA3 may attempt to monopolize or otherwise extend its access to the shared wireless medium beyond what is permissible according to existing versions of the IEEE 802.11 standard. For example, STA3 may transmit a first packet having a duration field indicating a first duration, and before the expiration of the first duration, transmit a second packet having a duration field indicating a second duration, where the second duration overlaps with the first duration but ends at a later time. By repeating this process, STA3 is able to continuously re-capture the wireless medium before other wireless communication devices can even sense the medium as being idle.
[0039] Figure 2 Illustrates a timing diagram 200 depicting example wireless communications performed by wireless communication devices (including AP1, STA1, STA2, and STA3) associated with a wireless communication environment 100 Figure 1 For example, referring to Figure 1 , AP1 forms a BSS (such as BSS1) including STA1 and STA2, while STA3 is a rogue STA belonging to an OBSS (such as BSS2) that overlaps with the BSS associated with AP1. In Figure 2 the example, AP1, STA1, STA2, and STA3 are shown operating on the same wireless channel (CH_A). Due to the proximity of the wireless communication devices, wireless transmissions made by STA3 can be detected by AP1, STA1, and STA2.
[0040] At time t 0 , STA3 transmits a first PPDU (PPDU1) that reserves the wireless medium 201 for a duration from time t 0 to t 2 . For example, the duration field in the MAC header of PPDU1 may indicate the reserved duration 201. Other wireless communication devices listening on the wireless channel CH_A (such as AP1, STA1, and STA2) can detect the transmission of PPDU1 and set the NAV of the wireless communication devices according to the reserved duration 201. As a result of setting the respective NAVs of the wireless communication devices, AP1, STA1, and STA2 may (virtually) sense that the wireless channel CH_A is busy between time t 0 and t 2 and prohibit access to the wireless medium.
[0041] As Figure 2As shown in, the reservation duration 201 is greater than the duration required to transmit PPDU1. In some implementations, PPDU1 can be a request-to-send (RTS) frame that requests a clear-to-send (CTS) response from a receiving device (such as Figure 1 AP2). In response to receiving the CTS frame, STA3 can continue to transmit data to the receiving device. In such an implementation, the reservation duration 201 can additionally include the transmission of the CTS frame by the receiving device, the transmission of data by STA3, and an acknowledgment (ACK) message transmitted by the receiving device in response to receiving the data transmission.
[0042] At time t 1 , STA3 transmits a second PPDU (PPDU2) that reserves the wireless medium for a duration 202 from time t 1 to t 4 . For example, the duration field in the MAC header of PPDU2 can indicate the reservation duration 202. Other wireless communication devices listening on wireless channel CH_A (such as AP1, STA1, and STA2) can detect the transmission of PPDU2 and reset the network allocation vector (NAV) of the wireless communication device according to the reservation duration 202. As a result of resetting the respective NAV of the wireless communication device, AP1, STA1, and STA2 can (virtually) sense that wireless channel CH_A is busy between time t 1 and t 3 and continue to prohibit access to the wireless medium.
[0043] In some implementations, PPDU2 can be an RTS frame (similar to PPDU1). As Figure 2 shown, the reservation duration 202 overlaps with the reservation duration 201 but also ends at a later time (such as compared to time t 2 , at time t 4 ). As a result, PPDU2 effectively extends the duration for which STA3 has access to the shared wireless medium. More specifically, the combined transmission of PPDU1 and PPDU2 can prevent AP1, STA1, and STA2 from competing for access to wireless channel CH_A during the entire overlapping duration 201 and 202 (from time t 0 to t 4 ).
[0044] At time t 3 , STA3 transmits for a duration from time t 3 to t 6Reserve a third PPDU (PPDU3) of the wireless medium within the duration 203. For example, the duration field in the MAC header of PPDU3 can indicate the reservation duration 203. Other wireless communication devices listening on the wireless channel CH_A (such as AP1, STA1, and STA2) can detect the transmission of PPDU3 and reset the NAV of the wireless communication device according to the reservation duration 203. As a result of resetting the corresponding NAV of the wireless communication device, AP1, STA1, and STA2 can (virtually) sense that the wireless channel CH_A is busy between time t 3 and t 6 and continue to prohibit access to the wireless medium.
[0045] In some implementations, PPDU3 can be an RTS frame (similar to PPDU1 or PPDU2). As Figure 2 shown, the reservation duration 203 overlaps with the reservation duration 202 but also ends at a later time (such as compared to time t 4 , at time t 6 ). As a result, PPDU3 further extends the duration during which STA3 has access to the shared wireless medium. More specifically, the combined transmission of PPDU1, PPDU2, and PPDU3 can prevent AP1, STA1, and STA2 from competing for access to the wireless channel CH_A during the entire overlapping duration 201 - 203 (starting from time t 0 and t 6 ).
[0046] At time t 4 , STA3 transmits a fourth PPDU (PPDU4) that reserves the wireless medium within the duration 204. The duration 204 overlaps with the reservation duration 203 but also ends at a later time (not shown for simplicity). Other wireless communication devices listening on the wireless channel CH_A (such as AP1, STA1, and STA2) can detect the transmission of PPDU4 and reset the NAV of the wireless communication device according to the reservation duration 204. As a result of resetting the corresponding NAV of the wireless communication device, AP1, STA1, and STA2 can (virtually) sense that the wireless channel CH_A is busy at least within the duration indicated by PPDU4 and continue to prohibit access to the wireless medium.
[0047] Thus, by repeatedly transmitting PPDUs that extend the duration of the reserved wireless medium (before the expiration of the previously reserved duration), STA3 can monopolize access to the shared wireless medium or prevent other nearby wireless communication devices (such as AP1, STA1, and STA2) from communicating on the wireless channel CH_A. If the AP cannot broadcast beacon frames to its associated STAs or an STA cannot receive such beacon frames, the BSS can become inoperative for an extended period (such as a threshold number of beacon intervals).
[0048] Aspects of the present disclosure recognize that a wireless communication device (such as AP1, STA1, or STA2) can avoid interference from a rogue device (such as STA3) by switching its communication to a new wireless channel different from the channel on which the rogue device is transmitting. For example, existing versions of the IEEE 802.11 standard define a Channel Switch Announcement (CSA) element that can be used by an AP to signal a change in the wireless channel of its BSS. However, existing wireless communication devices do not analyze wireless communication in an OBSS to detect rogue devices that may be monopolizing the shared wireless medium.
[0049] In some aspects, an AP (such as AP1) can determine that a rogue STA (such as STA3) is attempting to monopolize access to the shared wireless medium in response to setting one or more non-compliant NAVs. As used herein, the term "non-compliant NAV" refers to any NAV that extends the duration of the access to a wireless channel reserved by a wireless communication device (before the expiration of the duration previously reserved by the same device). Referring Figure 2 , each NAV set (or reset) based on PPDU2, PPDU3, or PPDU4 is an example of a non-compliant NAV. In some implementations, the AP can switch the channel of its BSS to a new wireless channel after detecting a threshold number of non-compliant NAVs.
[0050] Figure 3 FIG. 300 is a timing diagram illustrating an example wireless communication between an AP and a rogue STA according to some implementations. In some implementations, the AP and the rogue STA can be examples of access point AP1 and wireless station STA3, respectively. For example, referring Figure 1 , the AP can form a BSS that includes one or more STAs (not shown for simplicity), and the rogue STA can be associated with an OBSS operating on the same wireless channel (CH_A) as the BSS. Due to the proximity of the wireless communication devices, wireless transmissions made by the rogue STA can be detected by the AP. Figure 1
[0051] In some aspects, the AP can analyze wireless communications on the current wireless channel CH_A to determine whether another wireless communication device is attempting to monopolize access to the wireless medium. For example, in response to detecting a PPDU that will cause the AP to set (or reset) its NAV for a given duration, the AP can determine whether the transmitting device has reserved the wireless medium within a duration that has not yet expired. In other words, the AP can determine whether the transmitting device is attempting to use the PPDU to extend its access to the wireless medium. If the new NAV duration will effectively allow the transmitting device to extend its access to the wireless medium, the AP can classify the new NAV as a non-compliant NAV. In some implementations, the AP can increment a non-compliant NAV (NCN) counter in response to detecting a non-compliant NAV, and switch the AP's BSS to a new wireless channel after the counter reaches a threshold count value (T C )
[0052] In Figure 3 the example of, the rogue STA transmits a first PPDU (PPDU1) that reserves the wireless medium within a duration 301 from time t 0 to t 0 to t 2 . The AP detects PPDU1 on the wireless channel CH_A and determines whether the duration 301 overlaps with another duration previously reserved by the rogue STA. For example, the AP can determine the duration 301 based on the duration field in the MAC header of PPDU1 and can identify the rogue device as the transmitting device based on the source address (SA) field in the MAC header of PPDU1. Assume that the reserved duration 301 does not overlap with another duration previously reserved by the rogue STA. Thus, in response to detecting PPDU1, the AP sets its NAV according to the reserved duration 301, but does not increment its NCN counter (or can reset the NCN counter).
[0053] At time t 1 , the rogue STA transmits a second PPDU (PPDU2) that reserves the wireless medium within a duration 302 from time t 1 to t 4 . The AP detects PPDU2 on the current wireless channel CH_A and determines whether the duration 302 overlaps with another duration previously reserved by the rogue STA. For example, the AP can determine the duration 302 based on the duration field in the MAC header of PPDU2 and can identify the rogue STA as the transmitting device based on the SA field in the MAC header of PPDU2. As Figure 3 shown, the duration 302 overlaps with the duration 301 that has already been reserved by the rogue STA, but ends at a later time. Thus, the AP increments its NCN counter in response to detecting PPDU2. In Figure 3In the example of, the threshold count value T C is equal to 1. Since the NCN counter has not exceeded the threshold count value T C , the AP can reset its NAV according to the reserved duration 302.
[0054] At time t 3 , the rogue STA transmits a third PPDU (PPDU3) that reserves the wireless medium for a duration 303 from time t 3 to t 6 . The AP detects PPDU3 on the current wireless channel CH_A and determines whether the duration 303 overlaps with another duration previously reserved by the rogue STA. For example, the AP can determine the duration 303 based on the duration field in the MAC header of PPDU3 and can identify the rogue STA as the transmitting device based on the SA field in the MAC header of PPDU3. As Figure 3 shown, the duration 303 overlaps with the duration 302 already reserved by the rogue STA but ends at a later time. Thus, the AP increments its NCN counter in response to detecting PPDU3, which causes the NCN counter to exceed the threshold count value T C . As a result, the AP does not reset its NAV in response to detecting PPDU3. Instead, at time t 5 (after its NAV expires), the AP transmits a CSA message to its associated STAs to switch the BSS to a new wireless channel (CH_B).
[0055] For example, the CSA message can be a management frame (such as a beacon or probe response frame) or an action frame with a CSA element, and the CSA element indicates the new wireless channel of the BSS and the time at which the switch is scheduled to occur. In some aspects, the new wireless channel CH_B can be a predetermined channel known to the AP before it is determined that the NCN counter exceeds the threshold count value T C . For example, the AP can select the new wireless channel CH_B from a list of predetermined wireless channels. In some other aspects, as a result of a channel scanning operation, the AP can select the new wireless channel CH_B. For example, some APs have multiple wireless radio devices (or "cores") that can be used to listen for communications on multiple wireless channels respectively. Thus, a multi-radio device (MR) AP can continue to listen for wireless communications on the current wireless channel CH_A (to maintain its BSS), while scanning other wireless channels for a suitable channel to switch to.
[0056] Figure 4A FIG. 400 shows a timing diagram depicting an example wireless communication by an MR AP and a rogue STA according to some implementations. In some implementations, the MR AP and the rogue STA can be respectively Figure 3Examples of the MR AP and the rogue STA. Thus, the MR AP can form a BSS that includes one or more STAs (not shown for simplicity), and the rogue STA can be associated with an OBSS operating on the same wireless channel (CH_A) as the BSS. In some aspects, the MR AP can monitor wireless communications on the current wireless channel CH_A to determine whether another wireless communication device is attempting to monopolize access to the shared wireless medium (such as described with reference to Figure 3 ).
[0057] In some implementations, the MR AP can include a first wireless radio device (R1) and a second wireless radio device (R2). The first wireless radio device R1 is the primary radio device for maintaining or facilitating wireless communications in the BSS. Thus, the first wireless radio device R1 is configured to communicate (or operate) on the same wireless channel (CH_A) as the OBSS. In some implementations, the MR AP can use the second wireless radio device R2 to perform a channel scan operation 405 while using the first wireless radio device R1 to listen for wireless communications on the current wireless channel CH_A. For example, if the current wireless channel CH_A becomes unsuitable for wireless communications, the MR AP can scan for a new wireless channel on which to operate its BSS. In Figure 4A 's example, even if the MR AP does not detect any PPDUs on the current wireless channel CH_A, the MR AP can periodically perform a channel scan operation 405 on several wireless channels.
[0058] In Figure 4A 's example, at time t 0 , the rogue STA transmits a first PPDU (PPDU1) that reserves the wireless medium for a duration 401 from time t 0 to t 2 . The MR AP detects PPDU1 via its first wireless radio device R1 and determines whether the duration 401 overlaps with another duration previously reserved by the rogue STA (such as described with reference to Figure 3 ). In some implementations, the MR AP can update (or reset) the NCN counter based on whether the duration 401 overlaps with a previously reserved duration. At this time, the NCN counter of the MR AP has not exceeded the threshold count value (T C ). Accordingly, the MR AP sets (or resets) its NAV according to the reserved duration 401 in response to detecting PPDU1.
[0059] At time t 1 , the rogue STA transmits a PPDU that reserves the wireless medium for a duration from time t 1 to t 4Reserve a second PPDU (PPDU2) of the wireless medium within the duration 402. The MR AP detects PPDU2 via its first wireless radio device R1 and determines whether the duration 402 overlaps with another duration previously reserved by a rogue STA. As Figure 4A shown, the duration 402 overlaps with the duration 401 already reserved by the rogue STA, but ends at a later time. Thus, the MR AP can increment its NCN counter in response to detecting PPDU2. At this time, the NCN counter of the MR AP has not exceeded the threshold count value T C . Accordingly, the AP sets (or resets) its NAV according to the reserved duration 402 in response to detecting PPDU2.
[0060] At time t 3 , the rogue STA transmits a third PPDU (PPDU3) that reserves the wireless medium within the duration 403 from time t 3 to t 6 . The MR AP detects PPDU3 via its first wireless radio device R1 and determines whether the duration 403 overlaps with another duration previously reserved by the rogue STA. As Figure 4A shown, the duration 403 overlaps with the duration 402 already reserved by the rogue STA, but ends at a later time. Thus, the MR AP can increment its NCN counter in response to detecting PPDU3, which causes the NCN counter to exceed the threshold count value T C . As a result, the MR AP may not reset its NAV in response to detecting PPDU3. Instead, at time t 5 (after its NAV expires), the MR AP transmits a CSA message to its associated STAs to switch the BSS to a new wireless channel (CH_B).
[0061] In Figure 4A the example, as a result of the channel scanning operation 405, the MR AP can select a new wireless channel CH_B. For example, the MR AP can determine that among the various wireless channels scanned, the new wireless channel CH_B has the least signal interference (or any other characteristic that may be desirable for its BSS). Since the channel scanning operation 405 is performed before determining that the NCN counter exceeds the threshold count value T C , the MR AP is able to quickly switch its BSS to the new wireless channel CH_B after its NAV expires. However, performing the channel scanning operation 405 periodically in the background can lead to inefficient utilization of the resources of the MR AP because it does not consider the possibility that the MR AP may need to switch its BSS to a different channel.
[0062] Figure 4BAnother timing diagram 410 is shown depicting an example wireless communication by an MR AP and a rogue STA according to some implementations. In some implementations, the MR AP and the rogue STA can be examples of the AP and the rogue STA of Figure 3 respectively. Thus, the MR AP can form a BSS including one or more STAs (not shown for simplicity), and the rogue STA can be associated with an OBSS operating on the same wireless channel (CH_A) as the BSS. In some aspects, the MR AP can monitor wireless communication on the current wireless channel CH_A to determine whether another wireless communication device is attempting to monopolize access to the shared wireless medium (such as described with reference to Figure 3 ).
[0063] In some implementations, the MR AP can include a first wireless radio device (R1) and a second wireless radio device (R2). The first wireless radio device R1 is the primary radio device for maintaining or facilitating wireless communication in the BSS. Thus, the first wireless radio device R1 is configured to communicate (or operate) on the same wireless channel (CH_A) as the OBSS. In some implementations, the MR AP can use the second wireless radio device R2 to perform a channel scan operation 415 while using the first wireless radio device R1 to listen for wireless communication on the current wireless channel CH_A. For example, if the current wireless channel CH_A becomes unsuitable for wireless communication, the MR AP can scan for a new wireless channel on which to operate its BSS. In Figure 4B example, the MR AP can perform a channel scan operation 415 on several wireless channels after detecting a threshold number (T S ) of non-compliant NAVs.
[0064] In Figure 4B example, at time t 0 , the rogue STA transmits a first PPDU (PPDU1) that reserves the wireless medium for a duration 411 from time t 0 to t 2 . The MR AP detects PPDU1 via its first wireless radio device R1 and determines whether the duration 411 overlaps with another duration previously reserved by the rogue STA (such as described with reference to Figure 3 ). In some implementations, the MR AP can update (or reset) an NCN counter based on whether the duration 411 overlaps with a previously reserved duration. At this time, the NCN counter of the MR AP has not exceeded a threshold count value (T C ). Accordingly, the MR AP sets (or resets) its NAV according to the reserved duration 411 in response to detecting PPDU1.
[0065] At time t1 , the rogue STA transmits a second PPDU (PPDU2) that reserves the wireless medium during a duration 412 from time t 1 to t 4 . The MR AP detects PPDU2 via its first wireless radio device R1 and determines whether the duration 412 overlaps with another duration previously reserved by the rogue STA. As shown in Figure 4B , the duration 412 overlaps with the duration 411 that has been reserved by the rogue STA, but ends at a later time. Thus, the MR AP can increment its NCN counter in response to detecting PPDU2, which causes the NCN counter to exceed the scan threshold T S , but not exceed the threshold count value T C . As a result, the AP sets (or resets) its NAV according to the reserved duration 412 in response to detecting PPDU2 and initiates a channel scanning operation 415 via its second wireless radio device R2
[0066] At time t 3 , the rogue STA transmits a third PPDU (PPDU3) that reserves the wireless medium during a duration 413 from time t 3 to t 6 . The MR AP detects PPDU3 via its first wireless radio device R1 and determines whether the duration 413 overlaps with another duration previously reserved by the rogue STA. As shown in Figure 4B , the duration 413 overlaps with the duration 412 that has been reserved by the rogue STA, but ends at a later time. Thus, the MR AP can increment its NCN counter in response to detecting PPDU3, which causes the NCN counter to exceed the threshold count value T C . As a result, the MR AP may not reset its NAV in response to detecting PPDU3. Instead, at time t 5 (after its NAV expires), the MR AP transmits a CSA message to its associated STAs to switch the BSS to a new wireless channel (CH_B).
[0067] In the example of Figure 4B , as a result of the channel scanning operation 415, the MR AP may select a new wireless channel CH_B. For example, the MR AP may determine that among the various wireless channels scanned, the new wireless channel CH_B has the least signal interference (or any other characteristic that may be desirable for its BSS). Since the channel scanning operation 415 is performed before determining that the NCN counter exceeds the threshold count value T C , the MR AP is able to quickly switch its BSS to the new wireless channel CH_B after its NAV expires. Additionally, the channel scanning operation 415 results in Figure 4AThe utilization of resources of the MR AP is more efficient compared to the channel scanning operation 405 because the channel scanning operation 415 is performed after a detected threshold number of non-compliant NAVs (which increases the likelihood that the MR AP may need to switch its BSS to a different channel).
[0068] Figure 4C Another timing diagram 420 is shown depicting an example wireless communication performed by an MR AP and a rogue STA according to some implementations. In some implementations, the MR AP and the rogue STA can be, respectively, Figure 3 examples of the AP and the rogue STA. Thus, the MR AP can form a BSS including one or more STAs (not shown for simplicity), and the rogue STA can be associated with an OBSS operating on the same wireless channel (CH_A) as the BSS. In some aspects, the MR AP can monitor wireless communications on the wireless channel CH_A to determine whether another wireless communication device is attempting to monopolize access to the shared wireless medium (such as described with reference to Figure 3 ).
[0069] In some implementations, the MR AP can include a first wireless radio device (R1) and a second wireless radio device (R2). The first wireless radio device R1 is the primary radio device for maintaining or facilitating wireless communications in the BSS. Thus, the first wireless radio device R1 is configured to communicate (or operate) on the same wireless channel (CH_A) as the OBSS. In some implementations, the MR AP can use the second wireless radio device R2 to perform the channel scanning operation 425 while using the first wireless radio device R1 to listen for wireless communications on the current wireless channel CH_A. For example, if the current wireless channel CH_A becomes unsuitable for wireless communication, the MR AP can scan for a new wireless channel on which to operate its BSS. In Figure 4C the example, the MR AP can perform the channel scanning operation 425 on several wireless channels after the NCN counter exceeds a threshold count value (T C ).
[0070] In Figure 4C the example, at time t 0 , the rogue STA transmits a first PPDU (PPDU1) that reserves the wireless medium for a duration 421 from time t 0 to t 2 . The MR AP detects PPDU1 via its first wireless radio device R1 and determines whether the duration 421 overlaps with another duration previously reserved by the rogue STA (such as described with reference to Figure 3and described). In some implementations, the MR AP may update (or reset) its NCN counter based on whether the duration 421 overlaps with a previously reserved duration. At this time, the NCN counter of the MR AP has not exceeded the threshold count value T C . Accordingly, in response to detecting the PPDU1, the MR AP sets (or resets) its NAV according to the reserved duration 421.
[0071] At time t 1 , the rogue STA transmits a second PPDU (PPDU2) that reserves the wireless medium within a duration 422 from time t 1 to t 4 . The MR AP detects the PPDU2 via its first wireless radio device R1 and determines whether the duration 422 overlaps with another duration previously reserved by the rogue STA. As Figure 4C shown, the duration 422 overlaps with the duration 421 that has already been reserved by the rogue STA, but ends at a later time. Thus, the MR AP may increment its NCN counter in response to detecting the PPDU2. At this time, the NCN counter of the MR AP has not exceeded the threshold count value T C . Accordingly, the AP sets (or resets) its NAV according to the reserved duration 422 in response to detecting the PPDU2.
[0072] At time t 3 , the rogue STA transmits a third PPDU (PPDU3) that reserves the wireless medium within a duration 423 from time t 3 to t 6 . The MR AP detects the PPDU3 via its first wireless radio device R1 and determines whether the duration 423 overlaps with another duration previously reserved by the rogue STA. As Figure 4C shown, the duration 423 overlaps with the duration 422 that has already been reserved by the rogue STA, but ends at a later time. Thus, the MR AP may increment its NCN counter in response to detecting the PPDU3, which causes the NCN counter to exceed the threshold count value T C . As a result, the MR AP initiates a channel scanning operation 425 via its second wireless radio device R2 and does not reset its NAV in response to detecting the PPDU3. Instead, at time t 5 (after its NAV expires), the MR AP transmits a CSA message to its associated STAs to switch the BSS to a new wireless channel (CH_B).
[0073] In Figure 4CIn the example of, as a result of the channel scan operation 425, the MR AP may select a new radio channel CH_B. For example, the MR AP may determine that among the various radio channels scanned, the new radio channel CH_B has the least signal interference (or any other characteristic that may be desirable for its BSS). Since the channel scan operation 425 is performed after the NCN counter exceeds the threshold count value T C is executed, the channel scan operation 425 may result in more efficient utilization of the resources of the MR AP as compared to any of the channel scan operations in the channel scan operations 405 or 415 respectively associated with Figure 4A and Figure 4B .
[0074] However, the channel scan operation 425 may also introduce a delay when switching the BSS to a new radio channel. To reduce such a delay in channel switching, the MR AP may scan only a limited number of radio channels during the channel scan operation 425. In some implementations, the MR AP may perform another channel scan operation (also referred to as a "delayed channel scan") via its second radio device R2 after switching the operation of its first radio device R1 to the new radio channel CH_B. For example, the MR AP may scan a greater number of radio channels during the delayed channel scan than during the channel scan operation 425. Thus, as a result of the delayed channel scan, the MR AP may select a more optimal radio channel for its BSS.
[0075] As described with reference to Figure 2 , the CSA message may be a management frame or an action frame having a CSA element that indicates the new radio channel of the BSS and the time at which the handover is scheduled to occur. When switching radio channels, the AP must ensure that the CSA message is received by each of its associated STAs. Some STAs may enter a low-power mode in which the STA does not actively listen to the shared radio channel after setting its NAV for a relatively long duration. However, each STA must periodically receive beacon frames to maintain its association with the BSS. The AP is configured to broadcast beacons at a periodically scheduled beacon interval (also referred to as the Target Beacon Transmission Time (TBTT)). Although some STAs may skip one or more beacon intervals, aspects of the present disclosure recognize that each STA is required to be awakened during the Delivery Traffic Indication Message (DTIM) period. Thus, in some aspects, the AP may transmit the CSA message during the scheduled DTIM period.
[0076] Figure 5A FIG. 500 shows a timing diagram depicting an example channel switching operation that can be performed by an AP in the vicinity of a rogue STA according to some implementations. In some implementations, the AP and the rogue STA may be respectively Figure 3Examples of an AP and a rogue STA. Thus, the AP can form a BSS including one or more STAs (not shown for simplicity), and the rogue STA can be associated with an OBSS operating on the same wireless channel (CH_A) as the BSS. In some aspects, the AP can monitor wireless communications on the wireless channel CH_A to determine whether another wireless communication device is attempting to monopolize access to the shared wireless medium (such as described with reference to Figure 3 ).
[0077] At time t 0 , the rogue STA transmits a PPDU that reserves the wireless medium for a duration 502 from time t 0 to t 6 . In Figure 5A 's example, the AP has set its NAV to expire at time t 1 based on one or more PPDUs previously transmitted by the rogue STA (not shown for simplicity). Thus, the AP detects the PPDU on the current wireless channel CH_A and determines that the duration 502 overlaps with another duration reserved previously by the rogue STA (such as described with reference to Figure 3 ). In some implementations, the AP can increment an NCN counter in response to detecting the PPDU, which causes the NCN counter to exceed a threshold count value (T C ). As a result, the AP does not reset its NAV in response to detecting the PPDU at time t 0 .
[0078] At time t 2 , the AP broadcasts a beacon frame (BCN) on the current wireless channel CH_A to maintain communication with its associated STAs. In Figure 5A 's example, time t 2 is consistent with the TBTT indicating the start of the DTIM period 504. Accordingly, each STA associated with the BSS is expected to be awakened to receive the beacon broadcast at time t 2 . In some implementations, the DTIM period 504 can be the first DTIM period (associated with the BSS) immediately following the expiration of the NAV. In some aspects, the AP can transmit one or more CSA messages to its associated STAs during the DTIM period 504. For example, each CSA message can be an action frame with a CSA element that indicates a new wireless channel (CH_B) for the BSS and the number (N) of TBTTs after which the channel switch is scheduled to occur.
[0079] In some aspects, the new wireless channel CH_B can be a predetermined channel known to the AP before determining that the NCN counter exceeds the threshold count value T C (such as described with reference toFigure 3 (as described). In some other aspects, as a result of a channel scanning operation (such as that described with reference to Figure 4A - 4C (as described), the AP may select a new radio channel CH_B. In some implementations, the AP may periodically perform a scanning operation in the background (such as that described with reference to Figure 4A (as described). In some other implementations, the AP may initiate a scanning operation after counting a threshold number (T Figure 4B ) of non-compliant NAVs (such as that described with reference to S ). Further, in some implementations, the AP may initiate a scanning operation after determining that the NCN counter exceeds a threshold count value T C (such as that described with reference to Figure 4C (as described).
[0080] In Figure 5A the example of 3 , each CSA message is immediately multicast (GC) to multiple STAs. For example, the AP may transmit a CSA message addressed to a specific group of STAs (such as a multicast address) or all STAs associated with the BSS (such as a broadcast address) at time t Figure 5A As shown in 3 , time t 4 may coincide with the Point Coordination Function (PCF) Inter-Frame Space (PIFS) duration after a beacon broadcast (or after sensing an idle medium) at the start of DTIM period 504. In some implementations, the AP may transmit a "burst" of multiple CSA messages to increase the likelihood that each of the associated STAs receives at least one CSA message. For example, the AP may transmit a second CSA message at time t 5 and then transmit a third CSA message at time t
[0081] In some implementations, CSA messages may be separated by a Short Inter-Frame Space (SIFS) duration. In some other implementations, CSA messages may be separated by any other suitable duration. Example suitable durations include, among other examples, Reduced Inter-Frame Space (RIFS), Distributed Coordination Function (DCF) Inter-Frame Space (DIFS), Arbitrary Inter-Frame Space (AIFS), Extended Inter-Frame Space (EIFS), or PIFS duration. Although the CSA burst is shown as including three CSA messages, in a practical implementation, the AP may transmit fewer or more CSA messages than the Figure 5A number of CSA messages shown in
[0082] At time t7 The AP broadcasts another beacon frame on CH_A. For example, at time t 7 can coincide with the next TBTT immediately following the TBTT at time t 2 After N consecutive beacon intervals, the BSS switches to the new radio channel CH_B. In the example of FIG. 5, time t 8 coincides with the Nth TBTT after the DTIM period. Thus, at time t 8 the AP broadcasts a beacon frame on the new radio channel CH_B. Thereafter, the AP and its associated STAs can resume communication on the new radio channel CH_B and avoid interference from a rogue STA (which continues to operate on the radio channel CH_A).
[0083] Figure 5B FIG. 510 shows another timing diagram depicting an example channel switching operation that can be performed by an AP in the vicinity of a rogue STA according to some implementations. In some implementations, the AP and the rogue STA can be, respectively Figure 3 examples of the AP and the rogue STA. Thus, the AP can form a BSS including one or more STAs (not shown for simplicity), and the rogue STA can be associated with an OBSS operating on the same radio channel (CH_A) as the BSS. In some aspects, the AP can monitor wireless communications on the radio channel CH_A to determine whether another wireless communication device is attempting to monopolize access to the shared wireless medium (such as described with reference to Figure 3 ).
[0084] At time t 0 the rogue STA transmits a PPDU that reserves the wireless medium for a duration 512 from time t 0 to t 7 . In the example of Figure 5B the AP has set its NAV to expire at time t 1 based on one or more PPDUs previously transmitted by the rogue STA (not shown for simplicity). Thus, the AP detects the PPDU on the current radio channel CH_A and determines that the duration 512 overlaps with another duration reserved previously by the rogue STA (such as described with reference to Figure 3 ). In some implementations, the AP can increment an NCN counter in response to detecting the PPDU, which causes the NCN counter to exceed a threshold count value (T C ). As a result, the AP does not reset its NAV in response to detecting the PPDU at time t 0 .
[0085] At time t 2, the AP broadcasts a beacon frame (BCN) on the current wireless channel CH_A to maintain communication with its associated STAs. In Figure 5B the example of 2 , time t 2 is consistent with the TBTT indicating the start of the DTIM period 514. Accordingly, each STA among the STAs associated with the BSS is expected to be awakened to receive the beacon broadcast at time t
[0086] . In some implementations, the DTIM period 514 can be the first DTIM period (associated with the BSS) immediately following the NAV expiration. In some aspects, the AP can transmit one or more CSA messages to its associated STAs during the DTIM period 514. For example, each CSA message can be an action frame with a CSA element indicating the new wireless channel (CH_B) of the BSS and the number (N) of TBTTs after which the channel switch is scheduled to occur. C In some aspects, the new wireless channel CH_B can be a predetermined channel known to the AP before determining that the NCN counter exceeds the threshold count value T Figure 3 as described, for example, with reference to Figure 4A - 4C . In some other aspects, as a result of a channel scanning operation (such as described with reference to Figure 4A ), the AP can select the new wireless channel CH_B. In some implementations, the AP can periodically perform a scanning operation in the background (such as described with reference to S ). In some other implementations, the AP can initiate a scanning operation (such as described with reference to Figure 4B ) after counting a threshold number (T C ) of non-compliant NAVs. Further, in some implementations, the AP can initiate a scanning operation (such as described with reference to Figure 4C ) after determining that the NCN counter exceeds the threshold count value T
[0087] In Figure 5B the example, each CSA message is unicast (UC) to the corresponding STA associated with the AP. For example, the AP can transmit a first CSA message addressed to the first STA (STA1) at time t 3 , and can transmit a second CSA message addressed to the second STA (STA2) at time t 5 . As shown in Figure 5B , time t 3It may be consistent with the PIFS duration after the beacon broadcast (or after sensing an idle medium) at the start of the DTIM period 514. Since each CSA message is a unicast frame, it is expected that each receiving device will transmit an ACK message back to the AP after the SIFS duration following the receipt of the CSA message. In some implementations, the AP may wait, such as at time t, before transmitting the second CSA message to STA2 4 to receive an ACK message from STA1. If the AP does not receive an ACK message within the SIFS duration after the first CSA message, the AP may retransmit the first CSA message to STA1. The AP may repeat the same process until it receives an ACK message from STA2 (such as time t 6 ).
[0088] In some implementations, the AP may transmit each subsequent CSA message after the SIFS duration following the receipt of an ACK message for the previous CSA message. In some other implementations, the CSA message may be transmitted after any other suitable duration. Example suitable durations include, among other examples, the RIFS, DIFS, AIFS, EIFS, or PIFS durations. Although the BSS is shown as including two wireless stations STA1 and STA2, in an actual implementation, the BSS may include fewer or more STAs than Figure 5B shown. By transmitting unicast CSA messages to individual STAs, the AP can ensure that each of its associated STAs receives the CSA message indicating the channel switch. However, depending on the number of STAs associated with its BSS, compared with Figure 5A the multicast CSA message, the AP may need to transmit more unicast CSA messages.
[0089] Figure 6 FIG. shows a block diagram of an example wireless communication device 600 according to some implementations. The wireless communication device 600 can be a chip, a system-on-chip (SoC), a chipset, a package, or a device including at least one processor and at least one modem. In some implementations, the wireless communication device 600 can be Figures 1 - 5B an example of any AP among the APs of the AP or the MR AP of
[0090] The wireless communication device 600 includes a network interface 610, a processing system 620, and a memory 630. The network interface 610 is configured to communicate with one or more other wireless communication devices. For example, the network interface 610 may include a receive (RX) interface 612 and a transmit (TX) interface 614. The RX interface 612 is configured to receive an RX signal from one or more other wireless communication devices via a wireless channel, and the TX interface 614 is configured to transmit a TX signal to one or more other wireless communication devices via a wireless channel.
[0091] The memory 630 may include a non-transitory computer-readable medium (including one or more non-volatile memory elements, such as EPROM, EEPROM, flash memory, or a hard disk drive, among other examples), which may store at least the following software (SW) modules: · A packet detection SW module 632 for detecting a first packet transmitted by a neighboring device on a first wireless channel, where the first packet has a duration field indicating the duration for which the first wireless channel is reserved by the neighboring device, and where the packet detection SW module 632 further includes: ○ A non-compliant NAV detection sub-module 634 for detecting a second packet transmitted by a neighboring device on the first wireless channel, where the second packet has a duration field indicating a duration that overlaps with the duration indicated by the first packet and ends later than the duration indicated by the first packet; and · A channel switching SW module 636 for selectively switching the BSS associated with the wireless communication device 600 from the first wireless channel to a second wireless channel based at least in part on the detection of the second packet. Each software module includes instructions that, when executed by the processing system 620, cause the wireless communication device 600 to perform a corresponding function.
[0092] The processing system 620 may include any suitable one or more processors capable of executing scripts or instructions of one or more software programs stored in the wireless communication device 600 (such as in the memory 630). For example, the processing system 620 may execute the packet detection SW module 632 to detect a first packet transmitted by a neighboring device on a first wireless channel, where the first packet has a duration field indicating the duration for which the first wireless channel is reserved by the neighboring device. When executing the packet detection SW module 632, the processing system 620 may further execute the non-compliant NAV detection sub-module 634 to detect a second packet transmitted by the neighboring device on the first wireless channel, where the second packet has a duration field indicating a duration that overlaps with the duration indicated by the first packet and ends later than the duration indicated by the first packet. The processing system 620 may also execute the channel switching SW module 636 to selectively switch the BSS associated with the wireless communication device 600 from the first wireless channel to a second wireless channel based at least in part on the detection of the second packet.
[0093] Figure 7 FIG. shows an illustrative flow chart depicting an example channel switching operation 700 based on non-compliant NAV detection according to some implementations. In some implementations, the example operation 700 may be performed by a wireless communication device (such as Figures 1 - 5B any AP or Figure 6 the wireless communication device 600 of
[0094] The wireless communication device detects a first packet transmitted by a neighboring device on a first wireless channel, where the first packet has a duration field indicating the duration for which the first wireless channel is reserved by the neighboring device (710). The wireless communication device further detects a second packet transmitted by the neighboring device on the first wireless channel, where the second packet has a duration field indicating a duration that overlaps with the duration indicated by the first packet and ends later than the duration indicated by the first packet (720). The wireless communication device selectively switches the BSS associated with the wireless communication device from the first wireless channel to a second wireless channel based at least in part on the detection of the second packet (730).
[0095] In some aspects, the wireless communication device may increment a counter in response to detecting the second packet and determine whether the counter exceeds a threshold. In some implementations, the wireless communication device may further detect a third packet transmitted by the neighboring device on the first wireless channel, where the third packet has a duration field indicating a duration that overlaps with the duration indicated by the second packet and ends later than the duration indicated by the second packet; and increment the counter in response to detecting the third packet.
[0096] In some aspects, the selective handover of the BSS includes switching the BSS to a second radio channel in response to determining that a counter has exceeded a threshold. In some implementations, the second radio channel may be a predetermined radio channel that is known to the wireless communication device prior to determining that the counter has exceeded the threshold.
[0097] In some other implementations, the wireless communication device may select the second radio channel from a plurality of radio channels based on a channel scan operation performed via a first radio device while listening on the first radio channel via a second radio device. In some implementations, the channel scan operation may be performed prior to determining that the counter has exceeded the threshold. In some other implementations, the channel scan operation may be performed in response to determining that the counter has exceeded the threshold.
[0098] In some aspects, the handover of the BSS may include transmitting one or more CSA messages on the first radio channel, each of the one or more CSA messages indicating a time for the BSS to hand over from the first radio channel to the second radio channel. In some implementations, the one or more CSA messages are transmitted during a DTIM period associated with the BSS. In some implementations, each of the one or more CSA messages may be broadcast or multicast to a plurality of STAs. In some implementations, the one or more CSA messages may be separated by a SIFS duration.
[0099] In some other implementations, each of the one or more CSA messages may be unicast to a respective STA. In such an implementation, the wireless communication device may further: listen for an ACK in response to the transmission of a first CSA message among the one or more CSA messages; and if the ACK is not received within the SIFS duration after the transmission of the first CSA message, retransmit the first CSA message before transmitting a second CSA message among the one or more CSA messages.
[0100] Those skilled in the art will recognize that information and signals can be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referred to throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, optical fields or optical particles, or any combination thereof.
[0101] In addition, those skilled in the art will recognize that various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the aspects disclosed herein can be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
[0102] The methods, sequences, or algorithms described in connection with the aspects disclosed herein can be embodied directly in hardware, in software modules executed by a processor, or in combinations of both. The software modules can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium can be integral to the processor.
[0103] In the foregoing specification, embodiments have been described with reference to specific examples. However, it will be apparent that various modifications and changes can be made thereto without departing from the broader scope of the disclosure as set forth in the appended claims. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Claims
1. A method for wireless communication performed by a wireless communication device, comprising: detecting a first packet transmitted by a neighboring device on a first wireless channel, the first packet having a duration field indicating a duration for which the first wireless channel is reserved by the neighboring device; detecting, on the first wireless channel, a second packet transmitted by the neighboring device, the second packet having a duration field indicating a duration that overlaps with and ends later than the duration indicated by the first packet; as well as A basic service set (BSS) associated with the wireless communication device is selectively switched from the first wireless channel to a second wireless channel based at least in part on detecting the second packet.
2. The method according to claim 1, further comprising: incrementing a counter in response to detecting the second packet; as well as A determination is made as to whether the counter exceeds a threshold.
3. The method according to claim 2, further comprising: detecting, on the first wireless channel, a third packet transmitted by the neighboring device, the third packet having a duration field indicating a duration that overlaps with the duration indicated by the second packet and ends later than the duration indicated by the second packet; as well as The counter is incremented in response to detecting the third packet.
4. The method according to claim 2, wherein: The selective switching of the BSS comprises: The BSS is switched to the second wireless channel in response to determining that the counter exceeds the threshold.
5. The method according to claim 4, wherein: The second wireless channel is a predetermined wireless channel known to the wireless communication device prior to determining that the counter exceeds the threshold.
6. The method according to claim 4, further comprising: The second wireless channel is selected from a plurality of wireless channels based on a channel scanning operation performed via the first wireless radio device while simultaneously listening to the first wireless channel via the second wireless radio device.
7. The method according to claim 6, wherein: The channel scanning operation is performed before determining that the counter exceeds the threshold.
8. The method according to claim 6, wherein: The channel scanning operation is performed in response to determining that the counter exceeds the threshold.
9. The method according to claim 4, wherein: The switching of the BSS includes: One or more channel switch announcement (CSA) messages are transmitted on the first wireless channel, the one or more channel switch announcement (CSA) messages each indicating a time when the BSS switches from the first wireless channel to the second wireless channel.
10. The method according to claim 9, wherein: The one or more CSA messages are transmitted during a Delivery Traffic Indication Message (DTIM) period associated with the BSS.
11. The method according to claim 9, wherein: Each of the one or more CSA messages is broadcast or multicast to multiple wireless stations (STAs).
12. The method according to claim 11, wherein: The one or more CSA messages are separated by a short interframe space (SIFS) duration.
13. The method according to claim 9, wherein: Each of the one or more CSA messages is unicast to the corresponding STA.
14. The method according to claim 13, further comprising: listening for an acknowledgement (ACK) in response to transmission of a first CSA message of the one or more CSA messages; as well as If an ACK is not received within a SIFS duration after the transmission of the first CSA message, the first CSA message is retransmitted before the second CSA message of the one or more CSA messages is transmitted.
15. A wireless communication device, comprising: Processing systems; as well as a memory storing instructions that, when executed by the processing system, cause the wireless communication device to: detecting a first packet transmitted by a neighboring device on a first wireless channel, the first packet having a duration field indicating a duration for which the first wireless channel is reserved by the neighboring device; detecting, on the first wireless channel, a second packet transmitted by the neighboring device, the second packet having a duration field indicating a duration that overlaps with and ends later than the duration indicated by the first packet; as well as A basic service set (BSS) associated with the wireless communication device is selectively switched from the first wireless channel to a second wireless channel based at least in part on detecting the second packet.
16. The wireless communication device according to claim 15, wherein: Execution of the instructions further causes the wireless communication device to: incrementing a counter in response to detecting the second packet; determining whether the counter exceeds a threshold; and The BSS is switched to the second wireless channel in response to determining that the counter exceeds the threshold.
17. The wireless communication device according to claim 16, wherein: The second wireless channel is a predetermined wireless channel known to the wireless communication device prior to determining that the counter exceeds the threshold.
18. The wireless communication device according to claim 16, wherein: Execution of the instructions further causes the wireless communication device to: The second wireless channel is selected from a plurality of wireless channels based on a channel scanning operation performed via the first wireless radio device while simultaneously listening to the first wireless channel via the second wireless radio device.
19. The wireless communication device according to claim 16, wherein: The switching of the BSS includes: One or more channel switch announcement (CSA) messages are transmitted on the first wireless channel, the one or more channel switch announcement (CSA) messages each indicating a time when the BSS switches from the first wireless channel to the second wireless channel.
20. The wireless communication device according to claim 19, wherein: The one or more CSA messages are transmitted during a Delivery Traffic Indication Message (DTIM) period associated with the BSS.