# Patent

## Title
Channel steering for implementing coexistence of multiple homogeneous radios

## Abstract

Techniques are disclosed for controlling, in a network device, multiple radio circuits operating in a same or similar frequency band and in close physical proximity. In some embodiments, the radio circuits operate on the same network protocol. The network device can include a coexistence controller coupled to the network circuits. According to some embodiments, the network circuits are each assigned a priority, and the coexistence controller can control operations between the network circuits by selectively adjusting one or more transmission operating parameters of a respective network circuit based on a plurality of operating criteria, which include each network circuit's priority. Among other benefits, the embodiments disclosed herein can increase wireless network bandwidth and reduce mobile device power consumption by providing coordination among the radio circuits so that the transmitting and receiving operations are performed in a way that they do not interfere with their respective antennas.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS AND EFFECTIVE FILING DATE ENTITLEMENT
This application is entitled to the benefit of and the right of priority to U.S. Provisional Patent Application No. 61/835,488, entitled “WLAN SENSOR GATEWAY WITH COEXISTENCE SOLUTION”, filed Jun. 14, 2013; to U.S. Provisional Patent Application No. 61/836,571, entitled “COEXISTENCE AND TRAFFIC MANAGEMENT FOR USING MULTIPLE WLAN RADIOS IN A SYSTEM”, filed Jun. 18, 2013; and to U.S. Provisional Patent Application No. 61/870,762, entitled “COEXISTENCE AND TRAFFIC MANAGEMENT WITH ALIGNMENT OF PACKETS AND CHANNEL STEERING”, filed Aug. 27, 2013; all of which are hereby incorporated by reference in their entireties. This application is therefore entitled to an effective filing date of Aug. 27, 2013.
This application is related to co-pending U.S. patent application Ser. No. 14/089,651, entitled “WIRELESS SENSOR BASE STATION WITH COEXISTENCE OF MULTIPLE HOMOGENEOUS RADIOS”, filed Nov. 25, 2013; U.S. patent application Ser. No. 14/089,671, entitled “METHOD AND APPARATUS FOR IMPLEMENTING COEXISTENCE OF MULTIPLE HOMOGENEOUS RADIOS AND TRAFFIC MANAGEMENT THEREIN”, filed Nov. 25, 2013; and U.S. patent application Ser. No. 14/089,674 entitled “ALIGNMENT OF PACKETS FOR IMPLEMENTING COEXISTENCE OF MULTIPLE HOMOGENEOUS RADIOS” , filed Nov. 25, 2013; all of which are hereby incorporated by reference in their entireties.


TECHNICAL FIELD
The present disclosure relates generally to electronic communications, and more specifically, to controlling multiple radio circuits in wireless computer network systems.
BACKGROUND
With the emerging technologies of wireless networks, embedded systems, and the Internet, there is an ever increasing demand for larger network bandwidth and higher network speed from all kinds of electronic devices employed in various settings, from computing and managing data to online shopping and social networking. This is particularly relevant with electronic and digital content having become extensively used in shared, networked environments as compared to traditional stand-alone personal computers and mobile devices. As a result, data traffic, and especially wireless data traffic, has experience an enormous growth.
In the meantime, more and more wireless technologies used in these electronic devices occupy the same or similar radio frequency bands (e.g., 2.4 GHz, 3.6 GHz, 5 GHz, or 60 GHz), which can create interference with one another, adversely affecting the network transmission as well as reception of the wireless network circuits onboard the electronic devices. Also, many of these electronic devices are mobile or portable devices which rely on limited power resources to operate, and typically transmitting or receiving data traffic in a noisy environment can have a negative impact on power consumption.
Accordingly, it is desirable to provide methods and apparatuses that increase wireless network bandwidth, reduce wireless network interference, and reduce mobile device power consumption.



BRIEF DESCRIPTION OF THE DRAWINGS
The present embodiments are illustrated by way of example and are not intended to be limited by the figures of the accompanying drawings. In the drawings:
FIG. 1 is a representative computer network environment within which some embodiments may be implemented;
FIG. 2A is an abstract functional block diagram illustrating a wireless base station equipped with a coexistence controller in accordance with some embodiments;
FIG. 2B is a table illustrating example situations where the coexistence controller can provide improvements;
FIG. 2C is a table illustrating the upper, center, and lower frequencies of different Wireless LAN (WLAN) channels in a typical 2.4 GHz frequency band;
FIG. 2D is a table illustrating example frequencies of different Wireless LAN (WLAN) channels available (e.g., in the United States) in a typical 5 GHz frequency band;
FIG. 3 is a functional block diagram illustrating certain implementation details of a specific example of the coexistence controller of FIG. 2A in accordance with some embodiments;
FIG. 4A and FIG. 4B are abstract diagrams using layered model for illustrating example hierarchical relationships between the coexistence controller and other components in the base station of FIG. 2A;
FIG. 5A is a timing diagram illustrating an example of synchronized operations of multiple radio circuits as coordinated by the coexistence controller in accordance with some embodiments;
FIGS. 5B-5D further illustrate additional details of the synchronized operations of FIG. 5A in accordance with some embodiments;
FIG. 6 is a timing diagram illustrating an example of unsynchronized operations of multiple radio circuits as coordinated by the coexistence controller in accordance with some embodiments;
FIG. 7A is a functional diagram illustrating an additional mode in which the present embodiments can operate, in accordance with some embodiments;
FIGS. 7B-7D are functional diagrams illustrating some specific example scenarios in which the WLAN access point and WLAN station of FIG. 7A may be operated;
FIG. 8 is a diagram illustrating a probe request procedure on a preferred channel which can be implemented by the coexistence controller in accordance with some embodiments;
FIG. 9 is a diagram illustrating a probe request procedure on a non-preferred channel which can be implemented by the coexistence controller in accordance with some embodiments;
FIG. 10 is an abstract functional block diagram illustrating a wireless base station equipped with a coexistence controller implemented in an environment with a plurality of wireless sensors in accordance with some embodiments;
FIG. 11 is a timing diagram for handling downlink traffic from the base station to the wireless sensors of FIG. 10 in accordance with some embodiments;
FIG. 12 is a timing diagram for handling uplink traffic from the wireless sensors to the base station of FIG. 10 in accordance with some embodiments;
FIG. 13 is an abstract diagram illustrating an asymmetrical buffering structure or mechanism which can be adopted or controlled by the coexistence controller in accordance with some embodiments;
FIG. 14 is a flowchart illustrating a method for controlling and coordinating multiple radio circuits which can be implemented by the coexistence controller in accordance with some embodiments; and
FIG. 15 is a flowchart illustrating a method for reducing interference among multiple radio circuits which can be implemented by the coexistence controller in accordance with some embodiments.



Like reference numerals refer to corresponding parts throughout the figures and specification.
DETAILED DESCRIPTION
Techniques are disclosed for reducing interference, in a network device, among multiple radio circuits operating in a same or similar frequency band and in close physical proximity. In some embodiments, a network device includes a first and a second wireless network circuit. The network circuits operate in a same radio frequency band and are collocated. The second network circuit is assigned a higher or equal priority than the first network circuit. The device further includes a coexistence controller coupled to the network circuits via a communication bus and configured to selectively suppress transmitting operations of the first network circuit during receiving operations of the second network circuit.
Among other benefits, the embodiments disclosed herein can increase wireless network bandwidth and reduce mobile device power consumption by providing coordination among the radio circuits so that the transmitting and receiving operations are performed in a way that they do not interfere with their respective antennas.
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. Also, in the following description and for purposes of explanation, specific nomenclature is set forth to provide a thorough understanding of the present embodiments. However, it will be apparent to one skilled in the art that these specific details may not be required to practice the present embodiments. In other instances, well-known circuits and devices are shown in block diagram form to avoid obscuring the present disclosure.
The term “coupled” as used herein means connected directly to or connected through one or more intervening components or circuits. Any of the signals provided over various buses described herein may be time-multiplexed with other signals and provided over one or more common buses. Additionally, the interconnection between circuit elements or software blocks may be shown as buses or as single signal lines. Each of the buses may alternatively be a single signal line, and each of the single signal lines may alternatively be buses, and a single line or bus might represent any one or more of a myriad of physical or logical mechanisms for communication (e.g., a network) between components. The present embodiments are not to be construed as limited to specific examples described herein but rather to include within their scope all embodiments defined by the appended claims.
For purposes of discussion herein, “heterogeneous radios” means a plurality of radios or wireless network circuits of different network technologies; for example, IEEE 802.11 Wireless LAN (e.g., WiFi), Bluetooth, 2G, 3G, Long Term Evolution (LTE), and Global Navigation Satellite System (GNSS) are all different network technologies than one another. Conversely, “homogeneous radios” means a plurality of radios or wireless network circuits of the same network technologies; for example, a plurality of Wireless LAN (WLAN) circuits, although one may operate on channel 1 of 2.4 GHz frequency band and using IEEE 802.11n protocol while another may operate on channel 6 of 2.4 GHz frequency band and using IEEE 802.11g protocol, are of the same family of WLAN technology and therefore are homogeneous radios. Some examples of the commonly-seen radios on the 2.4 GHz frequency band may include IEEE 802.11b, IEEE 802.11g, or IEEE 802.11n.
System Overview
FIG. 1 is a representative computer network environment 100 within which some embodiments may be implemented. The environment 100 includes a base station 110, a network 120, and a plurality of client devices 130a-130n. 
The base station 110, which is illustrated as operating in “access point (AP)” mode, is coupled together with the network 120 so that the base station 110 can enable client devices 130 to exchange data to and from the network 120. For example, the base station 110 and the network 120 may be connected via a twisted pair cabling network, a coax cable network, a telephone network, or any suitable type of connection network. In some embodiments, the base station 110 and the network 120 may be connected wirelessly (e.g., which may include employing an IEEE 802.11 wireless network, or a data traffic network based on wireless telephony services such as 3G, 3.5G, 4G LTE and the like). The technologies supporting the communications between the base station 110 and the network 120 may include Ethernet (e.g., as described in IEEE 802.3 family of standards) and/or other suitable types of area network technologies. Examples of different wireless protocols in the IEEE 802.11 family of standards can include IEEE 802.11a, IEEE 802.11b, IEEE 802.11n, IEEE 802.11ac, IEEE 802.11af, IEEE 802.11ah, and IEEE 802.11ad.
Although not shown for simplicity, the base station 110 may include one or more processors, which may be general-purpose processors or may be application-specific integrated circuitry that provides arithmetic and control functions to implement the techniques disclosed herein on the base station 110. The processor(s) may include a cache memory (not shown for simplicity) as well as other memories (e.g., a main memory, and/or non-volatile memory such as a hard-disk drive or solid-state drive. In some examples, cache memory is implemented using SRAM, main memory is implemented using DRAM, and non-volatile memory is implemented using Flash memory or one or more magnetic disk drives. According to some embodiments, the memories may include one or more memory chips or modules, and the processor(s) on the base station 110 may execute a plurality of instructions or program codes that are stored in its memory.
The client devices 130 can connect to and communicate with the base station 110 wirelessly including, for example, using the IEEE 802.11 family of standards (e.g., Wireless LAN), and can include any suitable intervening wireless network devices including, for example, base stations, routers, gateways, hubs, or the like. Depending on the embodiments, the network technology connecting between the client devices 130 and the base station 110 can include other suitable wireless standards such as the well-known Bluetooth communication protocols or near field communication (NFC) protocols. In some embodiments, the network technology between the devices 130 and station 110 can include a customized version of WLAN, Bluetooth, or customized versions of other suitable wireless technologies. Client devices 130 can be any suitable computing or mobile devices including, for example, smartphones, tablet computers, laptops, personal digital assistants (PDAs), or the like. Client devices 110 typically include a display, and may include suitable input devices (not shown for simplicity) such as a keyboard, a mouse, or a touchpad. In some embodiments, the display may be a touch-sensitive screen that includes input functionalities. Additional examples of the devices 130 can include network-connected cameras (or “IP cameras”), home sensors, and other home appliances (e.g., a “smart refrigerator” that can connect to the Internet).
It is noted that one of ordinary skill in the art will understand that the components of FIG. 1 are just one implementation of the computer network environment within which present embodiments may be implemented, and the various alternative embodiments are within the scope of the present embodiments. For example, the environment 100 may further include intervening devices (e.g., switches, routers, hubs, etc.) among the base station 110, the network 120, and the client devices 130. In some examples, the network 120 comprises the Internet.
The Coexistence Mechanism
FIG. 2A is an abstract functional block diagram 200 illustrating a wireless base station 210 equipped with a coexistence controller 230 in accordance with some embodiments. Base station 210 is an example of the base station 110 of FIG. 1. As shown in FIG. 2A, the wireless base station 210 includes a plurality of wireless network circuits 220a-220c and a coexistence controller 230. In accordance with one or more embodiments, the coexistence controller 230 is coupled to each of the network circuits 220a-220c through a coexistence bus 240.
As previously mentioned, many wireless network technologies used in electronic devices occupy the same or similar frequency band. An example of this frequency band is the well-known industrial, scientific and medical (ISM) radio bands. Take one of the most commonly used of ISM bands, the 2.4 GHz band, for example, the technologies that use this frequency band for various kinds of purposes can include Wireless LAN and Bluetooth. Several other commonly seen wireless communication technologies also operate at similar frequency bands (e.g., ranging from 2.3 GHz to 2.7 GHz); they include LTE Band 40 (TDD-LTE), LTE UL Band 7 (FDD-LTE), LTE Band 38 (TDD-LTE), and LTE DL Band 7 (FDD-LTE), just to name a few.
For purposes of discussion herein, assume wireless network circuits 220a-220c are Wireless LAN circuits operating at a main frequency band of 2.4 GHz.
FIG. 2C is a table 204 illustrating the upper, center, and lower frequencies of different Wireless LAN channels in a typical 2.4 GHz frequency band. FIG. 2D is a table 206 illustrating example frequencies of different Wireless LAN (WLAN) channels available (e.g., in the United States) in a typical GHz frequency band. As illustrated in FIG. 2C, in the United States and Canada, there are 11 channels available for use in the 2.4 GHz Wireless LAN frequency band as defined by IEEE 802.11 family of standards. In particular, 3 non-overlapping channels (e.g., channels 1, 6, and 11) can be selected out of the 11 channels in the IEEE 802.11 standards (e.g., IEEE 802.11b) for Wireless LAN access points that are located near each other. It is typically recommended that a person ordinary skill in the art should use one of the above non-overlapping channels for each wireless network circuits that operate close by in order to minimize or reduce the adverse effects of interference.
However, the present embodiments recognize that typically a 50 dB isolation may be necessary to completely or effectively avoid in-device coexistence interference when the operating frequencies for different wireless network circuits are only separated by less than 20 MHz. This is especially the case with mobile handset applications where the devices are of small form factor; devices in such application generally only provide 10-30 dB isolation between different wireless network circuits. As such, in reality even with transceiving on non-overlapping channels and, in some instances, employing spectral masks (e.g., a transmit spectral mask for 20 MHz transmission in the 2.4 GHz band as defined by the IEEE), noise as well as other factors can still cause coexisting wireless network circuits to interfere with each other, and especially on small form factor devices such as a mobile phone or a wireless base station.
For one example, it is observed in the present disclosure that, at least in the LTE 2.4G ISM band, the lower portion of ISM band is very close to the LTE TDD Band 40. Therefore, in the case where a single mobile device with LTE, WLAN and Bluetooth coexistence, the LTE transmitter may cause interference to WLAN and/or BT receiver; and similarly, the BT/WLAN transmitter may cause interference to the LTE receiver. For another example, in devices where LTE telephony and Global Navigation Satellite System (GNSS) receiver circuits coexist, the uplink transmissions of LTE Band 13 (e.g., 777-787 MHz) and Band 14 (e.g., 788-798 MHz) can disrupt the working of GNSS receiver using L1 frequency (e.g., 1575.42 MHz). One reason causing this is that the second harmonic of Band 13 (e.g., 1554-1574 MHz) and second harmonic of Band 14 (e.g., 1576-1596 MHz) are close to L1 frequency.
Furthermore, the present embodiments recognize that there are several situations which can cause interference when two or more radio circuits concurrently operate in same or similar frequency band in close physical proximity. FIG. 2B is a table 202 illustrating example situations where the coexistence controller can provide improvements. As shown in table 202, when one radio is transmitting, the reception performance of the other radio(s) is desensitized. For purpose of discussion herein, radio circuits located in close physical proximity, or “collocated,” means that the radio circuits are located close to each other enough that a transmission operation on one circuit can adversely affect the reception operation on another circuit; for some typical examples, two radio circuits that are located on the same physical device (e.g., a base station), or on the same printed circuit board (PCB), are located in close physical proximity.
It is noted that FIG. 2B is a general representation of the interfering phenomenon which may be caused by concurrent operation of the collocated radios; in some embodiments, appropriate filtering can also be applied by a person having ordinary skill in the art so that sensitivity loss caused by different collocated radios transmitting (TX) and receiving (RX) at or near the same time is reduced. In particular, depending on the frequency band of the channels being used and the type of filtering, the actual severity of the sensitivity loss depicted in FIG. 2B may vary.
Accordingly, the present embodiments provide an effective mechanism to coordinate the scheduling of transmission and reception operations of the network circuits 220 in order to mitigate in-device interference caused by coexistence of wireless network circuits operating at the same or similar frequency band. In accordance with some embodiments, when two or more wireless radios may be used in the same band (e.g. 2.4 GHz band, or 5 GHz band) on the same device, the device can employ a coexistence mechanisms (hardware (HW) and/or software (SW)) so that the radios can operate in same band without desensitizing each other's receiving operations. The HW mechanism for coexistence can include digital hardware bus in some embodiments, and can include radio frequency (RF) circuits in other embodiments; in some other embodiments, and the HW mechanism can employ a combination of digital and RF mechanisms. Further, depending on the embodiment, digital HW mechanism may include a direct hardware line connecting accessing mechanism of two chipsets, or it may be hardware lines connecting the accessing mechanism of two hardware blocks inside a chipset. The RF mechanism may include RF filtering, RF switching, or other suitable RF filters.
More specifically, in one or more embodiments, each of the network circuits 220a-220c can be assigned a priority, and the coexistence controller 230 is coupled to the network circuits 220a-220c through the coexistence bus 240 to control operations between (or among) the network circuits 220a-220c. It is noted that, in some embodiments, it is possible for one or more of the network circuits 220a-220c to be assigned with the same priority.
The coexistence controller 230 can selectively adjust one or more transmission operating parameters of a respective network circuit (e.g., circuit 220a) based on a plurality of operating criteria including network circuit 220a's priority as compared to other circuits' priorities. The priority each network circuit (e.g., circuit 220a) can be predetermined (e.g., by the manufacturer of the base station 210) or can be dynamically assigned (e.g., by the coexistence controller 230) based on certain priority assigning criteria. The priority assigning criteria may include the amount of traffic, the type of traffic (e.g., data, voice, video, sensor applications, etc.), wireless channel conditions each circuit experiences, and/or other suitable factors.
The operating criteria can reflect a variety of considerations such as the number of client devices (e.g., devices 130, FIG. 1) each network circuit handles, the amount of data traffic each network circuit sees, the data rate each network circuit supports, the type of traffic each network circuit is assigned, the wireless channel condition or noise (e.g., as measured by RSSI or a known matrix rank) each network circuit experiences, and so forth. According to the present embodiments, the operating criteria are selected to cause the coexistence controller to control the operations in a way that reduces a probability that network circuits 220a-220c desensitize one another. In some embodiments, the operating criteria are selected in a way such that the coexistence controller 230 can perform, for example, load balancing and/or frequency planning using multiple wireless network circuits (e.g., circuits 220a-220c) on base station 210.
It is noted that, in the embodiments where the priorities of the wireless network circuits are dynamically assigned, the priority assigning criteria may be determined in the same way as or in a similar way to the determination of operating criteria by the coexistence controller 230.
The transmission operating parameters for a wireless network circuit is the configurations in which the network circuit uses to transmit data. For example, in some embodiments, the coexistence controller 230 can reduce the transmit power on one wireless network circuit (e.g., circuit 220a) when another wireless network circuit (e.g., circuit 220b) is receiving. As previously mentioned, the coexistence controller 230 selectively adjusts the transmission operating parameters of the circuit 220a, for example, because the circuit 220b has a higher priority. In another example, circuit 220a's operating parameters receive adjustment from the controller 230 because operating criteria as determined by the controller 230 indicates that the circuit 220b is connected to (e.g., and receiving from) a limited power device such as a mobile phone. The operating criteria may also reflect that the circuit 220b is currently handling high priority type of traffic (e.g., such as an image sent from a burglar camera sensor), and therefore the controller 230 adjusts (e.g., suppresses) the transmission operating parameter of the circuit 220a so that circuit 220a does not interfere with circuit 220b's reception.
In additional or alternative embodiments, other transmission operating parameters that can be adjusted by the coexistence controller 230 can include a data rate (e.g., 11 Mbit/s, or 54 Mbit/s) and/or a network protocol (e.g., IEEE 802.11a, IEEE 802.11n, IEEE 802.11b, IEEE 802.11ac, IEEE 802.11ah, etc.) at which the respective network circuit operates. In some examples, the transmission operating parameters can also include a channel (e.g., channel 1, channel 6, or channel 11 in WLAN 2.4 GHz frequency band) on which the respective network circuit operates. As additional examples, the channels available in WLAN 5 GHz frequency band can include channel 36, channel 100, or channel 161. In some embodiments, the transmission operating parameters can also include a frequency band (e.g., 2.4 GHz, 5 GHz, etc.) in which the respective network circuit operates. Other known configuration adjustments such as modulation or phase adjustments can also be included in the list of transmission operating parameters which the coexistence controller 230 can adjust. In some embodiments, proper RF filtering can be applied to reduce the effect of interference. In some of these embodiments, when RF filtering is applied, proper channel selection may be done by software part of the coexistence mechanism to better utilize the RF filtering.
The coexistence bus 240 may be used by the coexistence controller 230 to schedule or coordinate transmission and reception to avoid reception desensitization. The coexistence bus 240 can be implemented in forms of a serial bus, several dedicated buses, or other suitable forms such as a network. Specifically, depending on the embodiment, the coexistence mechanism may be software only, hardware only, or a combination of both. Examples of hardware-based coexistence mechanisms may include a hardware bus, a modified radio frequency (RF) frontend, and/or other suitable implementations. Examples of software-based coexistence mechanisms may be located at different layers of networking including, for example, the PHY layer, the MAC layer, and/or the IP layer.
In some specific implementations, the coexistence bus 240 together with the coexistence controller 230 can employ coexistence mechanisms similar to the IEEE 802.15.2 Wireless LAN (WLAN)-Bluetooth (which are heterogeneous radios (e.g., operating) coexistence mechanisms for implementing/coordinating coexistence of homogeneous radios (e.g., WLAN-WLAN) operating at the same or similar band; however, it is noted that the standard IEEE 802.15.2 coexistence mechanism is specific to WLAN-Bluetooth coexistence applications, and that suitable modifications (e.g., such as those described herein) may be necessary for homogeneous radios application. FIG. 3 is a functional block diagram illustrating certain implementation details of the specific embodiment of the coexistence controller of FIG. 2A employing a modified IEEE 802.15.2 coexistence mechanism in accordance with some embodiments.
Depending on the embodiments, either the collaborative or the non-collaborative mechanisms (as specified in IEEE 802.15.2 standards) or both may be adapted for use with the coexistence controller 230. As illustrated in FIG. 3, the collaborative coexistence mechanism of IEEE 802.15.2 is modified (e.g., which can be implemented by the coexistence controller 230, FIG. 2A) to perform packet traffic arbitration for coexistence of homogeneous radios (e.g., WLAN-WLAN) applications. It is noted that more details of the Packet Traffic Arbitration (PTA) mechanisms can be found in Clause 6 of the 802.15.2 Recommended Practices.
Of course, a person having ordinary skill in the art will know that other standard or non-standard coexistence mechanisms (e.g., which may be developed for heterogeneous radio coexistence such as WLAN, Bluetooth, and LTE) may also be modified and applied to homogeneous radio coexistence (e.g., WLAN to WLAN) in similar fashion as disclosed herein.
FIG. 4A and FIG. 4B are abstract diagrams using layered model 400 for illustrating example hierarchical relationships between the coexistence controller 230 and other components in the base station 210 of FIG. 2A. The model 400 generally follows the naming conventions of the well-known open systems interconnection (OSI) model, as standardized in ISO/IEC 7498-1 by the International Organization for Standardization (ISO). For purposes of discussion herein, the media access (MAC) layer sits between the network layer (layer 3 of OSI model) and physical (PHY) layer (layer 1) and is a sub-layer of the data link layer (layer 2) which provides addressing, channel access control, as well as other suitable functionalities. It is noted that model 400 is provided herein to enable further understanding of the present embodiments; and that other models (e.g., TCP/IP model) can be used and/or modified for implementing the present embodiments.
As illustrated in FIGS. 4A-4B, in accordance with one or more embodiments, the coexistence controller 230 (FIG. 2A) can function as an additional layer (labeled as MAC2) on top of the MAC layer of an existing wireless network circuit so that radio circuit that are readily designed and available on the current market can be adopted (e.g., into the base station 210, FIG. 2A) as modules in order to increase reusability and save redesign cost. Notably, FIG. 4A illustrates a model that employs a coexistence bus to coordinate the radios at MAC layer; in comparison, the model illustrated in FIG. 4B does not employ the coexistence bus, but it utilizes RF filters to aid the coexistence mechanism located on the MAC2 layer. In some embodiments, the MAC2 layer may include link aggregation mechanisms to aggregate the links at the lower layer (e.g., the two MAC-layer links as shown in FIG. 4B).
The coexistence bus 240 (FIG. 2A) can function as a coordination mechanism coupled to the MAC layer of the network circuits. The bus 240 can be employed by the coexistence controller 230 to communicate and control each of the network circuits 420. Accordingly, the network circuits can each include individual media access control (MAC) layer and physical (PHY) layer circuitry, such as MAC and PHY layers 420 illustrated in FIG. 4. In other words, in some embodiments of the base station 210, there can be separate and independent MAC engines for the network circuits 220a-220c (FIG. 2A) with coexistence bus 230 and a MAC2 layer above (e.g., where coexistence controller 240 resides) for management. In some embodiments, either the MAC or the MAC2 layer or the two together can perform aggregation, encryption, decryption, and/or other timing critical tasks. In some embodiments, the coexistence controller 230 can manage network data traffic from a select number of network circuits 220a-220c so as to aggregate a bandwidth of the selected number of network circuits (which is discussed in more details below). Examples of aggregation can include Aggregation of MAC protocol data units (AMPDU) and Aggregation of MAC service data units (AMSDU). Example of encryption can include the Advanced Encryption Standard (AES), Wired Equivalent Privacy (WEP), Temporal Key Integrity Protocol (TKIP), and the like.
With continued reference to FIG. 2A, in some embodiments, the operation controls (e.g., operating parameter adjustments) by the coexistence controller 230 are independently performed to each of the network circuits 220a-220c, so that the operating parameters of each circuit (e.g., circuit 220a) can be fine-tuned by the coexistence controller 230 individually and without necessarily affecting other network circuits coupled to the same coexistence bus 240.
In combination of the above, one or more embodiments of the coexistence controller 230 can implement techniques that reduce interference, such as reducing transmission power, changing the channel, or disabling transmission of selected network circuits based on workload, type of traffic, priority of the network circuits and their connected clients (e.g., by whether they are power consumption sensitive), type of the data traffic, channel noise observed by the radio antennas, or other suitable factors that are experienced by the network circuits 220a-220c. In some implementations, the operations between the network circuits 220a-220c are controlled by the coexistence controller 230 in a way such that the network circuits 220a-220c can transmit and receive data at or near the same time. For example, the wireless network circuit 220a can be transmitting on channel 6 of 2.4 GHz frequency band at an attenuated power level while the wireless network circuits 220b and 220c can be respectively receiving on channel 1 and 11 of 2.4 GHz frequency band. In some embodiments, and in particular those embodiments that equip radios operating in the 5 GHz frequency band, proper filtering can also be adapted by the coexistence mechanisms. Some embodiments of the coexistence mechanism can adapt RF filtering or other frontend techniques to aid the coexistence mechanisms in reducing interference and discretization from one radio to other.
The configuration of base station 210 shown in FIG. 2A and layered model 410 shown in FIG. 4 are merely examples. Base station 210 may include any suitable numbers of network circuits 220a-220c, more than one coexistence controller 230, and/or additional processing units coupled to the coexistence bus 240 to perform coordination/control operations. Furthermore, the coexistence controller 230 may be integrated into other suitable kinds of computing devices including, for example, accelerated processing units (APUs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), or other devices with microprocessors.
Alignment of Packets
FIG. 5A is a timing diagram 500 illustrating an example of synchronized operations of multiple radio circuits as coordinated by the coexistence controller in accordance with some embodiments, and FIG. 6 is a timing diagram 600 illustrating an example of unsynchronized operations of multiple radio circuits as coordinated by the coexistence controller in accordance with some embodiments. The coexistence mechanisms, which can be employed by the coexistence controller 230 (e.g., in concert with the coexistence bus 240) of FIG. 2A for implementing various homogeneous radio coexistence functionalities disclosed herein, are discussed in fuller detail below and with continued reference to FIG. 2A.
As previously mentioned, according to some embodiments, a combination of a coexistence bus (e.g., bus 240) connecting the lower MAC layers with a managing coexistence controller (e.g., controller 230) in MAC2 layer (and for some embodiments, in higher layers) may be deployed to implement the present disclosed embodiments. Depending on the implementation, one radio circuit (e.g., circuit 220a) or a group of radio circuits may be given the highest priority and act as master, or all radio circuits (e.g., circuit 220a-220c) can have similar priorities. Additionally or alternatively, priorities of the radios can be changed dynamically (e.g., depending on workload and other operating criteria) or can be changed over time (e.g., using time sharing mechanisms, round robin, or other suitable multi-access protocols). Depending on the embodiment, the coexistence mechanisms can involve only the MAC2 layer, only the upper MAC layer, or a suitable combination of both.
Although one benefit of the present embodiments is to avoid reception desensitization, other operating criteria (e.g., type of traffic, or fairness) may be taken into consideration by the coexistence controller 230 as well. In one example, the coexistence mechanism (e.g., as implemented by the coexistence controller 230 and the coexistence bus 240) can assure that all wireless network circuits receive at least a chance to transmit; other operating criteria can include fairness among all the radios for transmission, or the operating criteria can include a starvation policy. In some embodiments, quality of service (QoS) can be taken into account when the coexistence mechanism determines which radio circuits gets to transmit and when. In some embodiments, even when during the period when a radio circuit is suppressed or disabled by the coexistence mechanism, certain short transmission of acknowledge (ACK) packets can be allowed; this technique can be helpful in some cases where channel coding is used.
Also, it is noted that in some mechanisms the transmission suppression or suspension may not be required due to other suitable software and hardware techniques used.
As such, according to some embodiments, the coexistence mechanism can synchronize the transmitting and receiving operations to increase or maximize the total wireless network's throughput (TPUT) or bandwidth. Such synchronized operations are illustrated in diagram 500. In diagram 500, all transmitting operations and receiving operations are synchronized among all wireless network circuits 220a-220c so that the circuits 220a-220c only perform either transmission or reception at any given moment of time. This technique can avoid the desensitization caused by different homogeneous radios transmitting and receiving at the same time, such as illustrated in table 202 of FIG. 2B. It is noted that AMPDU, AMSDU, or a combination of both may be used in downlink data packets. For the example that is shown in diagram 500, the downlink (DL) data packets are illustrated as comprising DL AMPDU and Single MPDU. Optionally, Request to Send (RTS) and Clear to Send (CTS) handshake packets can be exchanged between the sender (e.g., client devices 130, FIG. 1) and the base station 210 before the data transmission/receiving operations. In addition or as an alternative to increasing throughput, the coexistence mechanism may be used to coordinate the radios to achieve better delay requirement or other quality of service (QoS) metrics for one or more of the radios.
More specifically, as shown in FIG. 5A, the coexistence mechanism can align the downlink packet transmissions (or receiving operations) of a number of selected wireless network (e.g., WLAN) circuits operating on different channels in the same frequency band for synchronized operations. In some embodiments, the packets received by different radio circuits need to have the same duration in the downlink, and in such embodiments, frame padding may be performed by the coexistence controller 230 to make data packets (e.g., received on the downlink) among the radio circuits 220a-220c become the same size.
FIGS. 5B-5D further illustrate additional details of the synchronized operations of FIG. 5A, including some examples of the padding techniques which can be utilized by the coexistence mechanism, in accordance with some embodiments.
Continuing with the example of FIG. 5A where the AMPDU is used in downlink (DL) data packets, diagram 502 of FIG. 5B depicts a typical structure of the AMPDU subframe. In accordance with one or more embodiments, each AMPDU subframe can include an MPDU delimiter, which can optionally be followed by an MPDU. Additionally, zero length delimiter can also be used. Although not shown in FIG. 5B for simplicity, the “length” field of the MPDU delimiter can include different number of bits based on the type of IEEE 802.11 packet or other suitable requirements as the network technology being used so requires.
In the example shown in diagram 504 of FIG. 5C, one or more zero length delimiters are added to make AMPDUs of different homogeneous radio circuits (e.g., IEEE 802.11n versus IEEE 802.11ac, as illustrated in FIG. 5C) the same size in order to align the packets. It is noted that, in diagram 504, the delimiters are added at the end of the frames; however, other suitable locations may be used. For example, in diagram 506 of FIG. 5D, the zero length delimiters are shown to be used in the middle of the packets.
Further, the coexistence mechanism can also transmit the uplink response packets simultaneously or nearly simultaneously (e.g., within an error margin as defined by the IEEE 802.11 specification), such as shown in the diagram 500 of FIG. 5A. Some embodiments of the coexistence mechanism can also employ different modulations and/or can include different number of bytes in a PHY or MAC payload in order to transmit and/or receive different packets on different channels.
As an additional or alternative embodiment to synchronized transmitting and receiving operations, the coexistence mechanism can employ unsynchronized operations as well. In unsynchronized operations, transmitting or receiving operations on different network circuits (and preferably each on different channels) can be prioritized by the coexistence controller 230 using the aforementioned operating criteria (e.g., based on the nature of the data traffic, fairness, starvation avoidance policies (which may be based on different hierarchies of payment plans, for example), and so forth) in manners discussed above. For example, as shown in diagram 600 of FIG. 6, radio circuit 2's transmission is delayed or deferred because radio circuit 1 is already receiving (e.g., because radio circuit 1 has higher priority). Notably in the example diagram 600, radio 1 can still transmit the ACK packets during radio 3's receiving operation. This may be because the coexistence controller 230 determines that the interference caused by the transmission of ACK packets may be tolerated (e.g., because the transmission is short, because the transmission can be performed successfully at an attenuated power level, or because other suitable reasons such as those discussed above), or simply because radio 1 has a higher priority than radio 3.
FIG. 7A is a functional diagram 700 illustrating an additional mode in which the coexistence controller 210 (FIG. 2A) can operate, in accordance with some embodiments. As illustrated in diagram 700, the coexistence controller 210 (e.g., as implemented in a base station such as station 110, FIG. 1) can coordinate with a client (e.g., client devices 130a-130n) with another plurality of wireless network circuits in a way such that a respective network circuit on the network device communicates with a corresponding network circuit on the client using a uniquely designated channel.
For example, if a Wireless LAN access point is equipped with 3 wireless network circuits, and if a client device is also equipped with 3 wireless network circuits, then the coexistence controller 230 can coordinate (e.g., using suitable standard or customized protocols) with the client device so that each radio circuit on the access point can communicate with a corresponding radio circuit on the client device on a channel different than the others such that interference can be reduced while increasing the bandwidth. In other words, a first wireless network circuit on the access point can use channel A exchange data with a first wireless network circuit on the client device, a second wireless network circuit on the access point can use channel B exchange data with a second wireless network circuit on the client device, and so forth.
It is noted that the client may also have to implement the coexistence mechanisms disclosed herein in order to perform this kind of channel coordination/bandwidth aggregation/interference reduction techniques with the base station.
Furthermore, in some examples where a client device with multiple radios and implementing the coexistence mechanisms disclosed herein is connected to the base station 210, the coexistence controller 230 can reorder the received frames from the various connected client devices and deliver them in sequence to the higher layer (e.g., the IP layer), in addition to functionalities already mentioned above. In some embodiments, the coexistence controller 230 can be coupled to a reorder buffer (not shown for simplicity) for performing the reordering tasks.
Also, since the embodiments of the coexistence controller 230 can control multiple Wireless LAN radio circuits separately, in some implementations, a select number of radio circuits may be operated to act as access points (APs) while another selected number of radio circuits may be operated to act as clients. This technique may be useful for range extension or other suitable purposes.
Optionally, the coexistence controller 230 can implement WiFi Direct, Peer-to-Peer, or any other IEEE 802.11 or WiFi optional features using one or more of the radio circuits equipped on the base station 210.
FIGS. 7B-7D are functional diagrams illustrating some specific example scenarios in which the WLAN access point and WLAN station of FIG. 7A may be operated. In FIGS. 7B-7D, the WLAN station connected to the WLAN AP may itself function as an AP for other wireless stations.
Channel Steering
In addition or as an alternative to the aforementioned functionalities, some embodiments of the coexistence controller 230 can dynamically determine (e.g., during the base station 210's normal operations and based on operating criteria) and distribute the connected client devices 130 onto different wireless network circuits 220a-220c and/or different channels. For purposes of discussion in this section, it is assumed that each of the radio circuits operates on a different channel in the same frequency band; however, different combinations of switching network circuits and/or channels can be implemented or executed by the coexistence mechanism disclosed herein.
More specifically, the coexistence mechanisms (e.g., as implemented by the coexistence controller 230 and the coexistence bus 240) can associate the client stations to the base station 210 onto different channels. Because the base station 230 includes a plurality of wireless network circuits each capable of operating on a different channel, in one or more implementation, the multi-channel base station 210 can employ the coexistence controller 230 to steer client devices onto different channels based on operating criteria (e.g., such as those mentioned above). In other words, the coexistence controller 230 can decide which client station is to be connected to which network circuit (and its associated channel) based on the operating criteria.
In addition or as an alternative to those aforementioned operating criteria, some examples of the operating criteria can include: load distribution and balancing among the channels, any throughput requirement, any QoS requirement (e.g., delay, jitter, packet error rate, throughput specification, etc.), any interference from other radios in each channel, any interference from other Wireless LAN or other radios (e.g., operated by other nearby base stations or clients with overlapping basic service set identifications (BSSID)), any interference from non-WLAN-related devices (e.g., microwave oven), and so forth.
In some embodiments, the coexistence controller 230 is situated on top of MAC layer (e.g., as the MAC2 layer such as illustrated in FIGS. 4A and 4B) for management of the radio circuits, which each may include their own MAC and PHY circuitry. It is noted that other layers in the network stack (e.g., other layers in the OSI model) can also be used for management of the multiple wireless network (e.g., WLAN) circuits.
According to one or more embodiments, the coexistence controller 230 can also enforce the selection by making sure the client device cannot associate itself on any other unauthorized channels. In some addition embodiments, the coexistence controller 230 can function in a way such that the communication interface to an upper layer (e.g., the network layer or IP layer in the OSI model) remains the same. It is noted that, after a client device is associated to the base station 210, the coexistence controller 230 may need to pass the data packets designated for a client device to the MAC layer of a corresponding radio circuit that services the channel with which the client device is associated or assigned.
Moreover, after a client device is connected to a network circuit and associated with a channel, the coexistence controller 230 can move the client device from one channel to another channel when such move becomes desirable. For example, if the data traffic workload aggregated from all client devices connected to one network circuit exceeds or about to exceed the service capacity of the network circuit, then the coexistence controller 230 can selectively move some of the connected clients to another wireless network circuit. For another example, if the interference on a channel (e.g., as observed by the network circuit operating on the channel) increases to level that exceeds a maximum threshold (e.g., so that current connected client devices may not be serviced properly), then the coexistence controller 230 can selectively move some of the connected clients to another wireless network circuit. For some embodiments, if the channel condition on another channel becomes better than the current channel (e.g., because removal of an interference source), then the coexistence controller 230 can selectively move some of the connected clients to another wireless network circuit. In some embodiments, typical channel switch announcement may be used to move the client devices from one channel to another channel. Specifically, in some embodiments, channel switch announcement or other methods in IEEE 802.11h may be used to move a station from one channel to another channel. It is noted that techniques similar to those described in IEEE 802.11h can be adapted by some embodiments of the present disclosure to resolve interference issues introduced by the use of IEEE 802.11a/n/ac in some locations, and in particular for military, weather radar systems or other suitable devices such as medical devices.
In addition, in some other embodiments, the AP may disassociate or de-authenticate selected clients on a channel without using a channel switch announcement. The reason for not using a channel switch announcement may be, for example, lack of support on the client side. In some other examples, the AP may decide not to use a channel switch announcement due to lack of time because the AP may need to move some clients away from a certain channel as soon as possible.
Also, some embodiments of the base station 210 can keep/migrate all the state information (e.g., network settings, hardware configuration information, etc.) for the client device when the client device is switched from one channel to another to minimize the switch time.
FIG. 8 is a diagram 800 illustrating a probe request procedure on a preferred channel which can be implemented by the coexistence controller 230 in accordance with some embodiments, and FIG. 9 is a diagram 900 illustrating a probe request procedure on a non-preferred channel which can be implemented by the coexistence controller 230 in accordance with some embodiments.
With continued reference to FIG. 2A, some specific examples for implementing the channel steering techniques are now discussed. In these examples where the wireless network circuits are IEEE 802.11 WLAN circuits, the following management frames are some examples among the frames that can be used by the coexistence controller 230 for the channel steering techniques: Probe Request, Probe Response, Authentication, De-authentication, Association Request, Association Response, Re-association Request, Re-association Response, and Disassociation. The following examples are described using IEEE 802.11 terminologies; however, it is noted that these examples are provided herein to provide a better understanding of the coexistence mechanisms, and that neither these IEEE 802.11 management frames nor IEEE 802.11 WLAN circuits are necessary in practicing the present embodiments.
As mentioned, the coexistence mechanism disclosed herein can steer a connecting client to a specific channel/network circuit at time of association, and can also steer a client to another specific channel/network circuit after the device is already connected.
Accordingly, in some embodiments, when a client device tries to connect with the base station 210, the coexistence mechanism may choose not to respond to a probe request, authentication request, or association request from the client device on a non-preferred channel. More specifically, assuming channel B is a preferred channel, and channel A is a non-preferred channel, when the client device sends a probe request to the base station 210 on a non-preferred channel A, the coexistence controller 230 can make a determination so as to ignore the probe request on the non-preferred channel A. On the contrary, when the client device sends a probe request on a preferred channel B, the coexistence controller 230 can respond to that probe request so that the client device can connect to the base station 230 on the preferred channel B. Additionally, the coexistence controller 230 can choose to cause the base station 210 not to broadcast the service set identification (SSID) on a channel that is already at its maximum capacity so as to avoid a client device from requesting association to a non-preferred channel. It is noted that similar mechanisms depicted in FIGS. 8-9 can be applied to Authentication Request, Association Request, or other forms of known pre-association or post-association requests.
Additionally or alternatively, it is recognized in the present disclosure that a client device may still attempt to associate with the wireless base station 210 on the non-preferred channel instead of switching to other channels even when the client device receives no response. As such, some embodiments of the wireless base station 210 may select a maximum number of requests to ignore; for example, the base station 210 can ignore the first M association requests on the non-preferred channel, but if the client device continues and try for the (M+1)th time on the same non-preferred channel for association, then the base station 210 can associate the client device on the non-preferred channel in order to avoid a complete denial of service to that client device. In this particular example, the coexistence controller 230 may choose to then move the client device from the associated non-preferred channel to a preferred one after the connection.
An example association procedure in which the client device associates with the base station 210 via a wireless signal (e.g., such as a Probe Request) on a preferred communication channel is depicted in diagram 800. During normal operations, the client device may initiate a Probe Request at time t0 on a preferred channel of the base station 210. Then, the Probe Request is received by the base station 210 at time t1.
After receiving Probe Request at time t1, the base station 210 determines whether the Probe Request is received on a preferred channel. In the illustrated example of diagram 800, because the Probe Request is received on the preferred communication channel of the base station 210 (e.g., as determined by the coexistence controller 230), the base station 210 transmits a responsive signal (e.g., a Probe Response) on the preferred communication channel at time t2. The Probe Response on the preferred channel is received by the client device at time t3. Thereafter, the Wireless LAN circuit located on the base station 210 become a candidate to the client device for association and available for data communication.
An example association procedure in which the client device associates with the base station 210 via a wireless signal (e.g., such as a Probe Request) on a non-preferred communication channel is depicted in diagram 900. During normal operations, the client device may transmit a Probe Request on a non-preferred communication channel of the base station 210 at time t0. The base station 210 receives the Probe Request on the non-preferred communication channel from the client device at t1.
Then, according to some embodiments, the base station 210 can choose to ignore the Probe Request, thereby triggering the client device to transmit another Probe Request on another communication channel which may be the base station 210's preferred channel. It is noted that, while many Wireless LAN clients available on the current market may try to sense probe requests on another channel when they do not hear probe requests on one channel, some embodiments of the client device disclosed herein may also implement the coexistence mechanisms so that the client device would switch the channel on which it sends the Probe Request based on prior information. In some embodiments, the base station 210 may also choose to use suitable communication methods to notify the client device of the base station 210's currently preferred channel(s).
In the example illustrated in diagram 900, the client device switches the channel twice and transmits a Probe Request on the preferred communication channel of the base station 210 at time t4. This Probe Request is received by the base station 210 at time t5. In response, at time t6, the base station 210 transmits a Probe Response on the preferred communication channel to the client device, and the Probe Response is received by the client device at time t7. Thereafter, the Wireless LAN circuit located on the base station 210 become a candidate to the client device for association and available for data communication.
Moreover, when a communication channel to which the client device is already connected becomes a non-preferred channel, the coexistence controller 230 can steer a client to another specific channel/network circuit. More specifically, in some examples, the base station 210 can send a De-authentication message at a proper time (e.g., when time critical traffic exists or is anticipated), and when the client device tries to re-authenticate, the base station 210 does not respond to the client device's Probe Requests to access the base station 210. In this way, the client device can be triggered to attempt to re-authenticate on another channel which may be the base station 210's preferred channel.
In additional or alternative embodiments, the coexistence controller can also move the client device from a non-preferred channel to a preferred channel using one or more suitable communication protocols (e.g., channel switching procedures as specified in the IEEE 802.11h and/or the IEEE 802.11v directed roaming protocol). Also, in some embodiments, the current connection between the client device and the base station 210 can be maintained (e.g., without termination), and the client device can be moved to the preferred channel when the next time it connects to the base station 210.
The following are some examples of how the coexistence controller 230 may group the client devices. In all examples, the base station 210 is equipped with three wireless network circuits, one operating on channel A, another one operating on channel B, and the third one operating on channel C. Also, all of the wireless network circuits are operating at the same frequency band in these examples.
In one example, channel C has the best condition, and channel B has the worst condition. As such, because channel B experiences a lot of noise, the coexistence controller 230 can choose to move all client devices that are without delay or performance requirements to channel B. Channel C is the best channel, and the coexistence controller 230 can move those traffic types with the most stringent performance requirement (e.g., VoIP or Video Conference applications) to channel C. Depending on the channel A's condition, channel A can maintain a few devices with stringent performance requirement as well.
In another example, the coexistence controller 230 can group the client devices based on their traffic types (e.g., such as VoIP, Video-on-Demand, or other applications which only request best effort).
In yet another example, if all channels have similar capacities and similar conditions, then the coexistence controller 230 can combine and mix client devices with different type of traffic onto each channel for load balancing.
In an additional example, the coexistence controller 230 can group the client devices based on their respective power requirements so that those client devices which are limited in power resource (e.g., running on batteries) can transmit at a different power level (e.g., at a lower data rate) than those devices which are unlimited in power resource (e.g., plugged into an electrical outlet).
In other examples, the coexistence controller 230 can group the client devices based on their similarity in capabilities. For example, devices with multi-user multiple-input and multiple-output (MU-MIMO) capabilities can be grouped together on a channel different than the other devices.
Home Wireless Sensor Application
FIG. 10 is an abstract functional block diagram 1000 illustrating a wireless base station 1010 equipped with a coexistence controller 1030 implemented in an environment with a plurality of wireless sensors 1070a-1070n in accordance with some embodiments. The base station 1010 includes wireless network circuits 1020a and 1020b, both coupled to a coexistence controller 1030 via a coexistence bus 1040. In some embodiments, the wireless circuits 1020a and 1020b may be different discrete components, or they may be integrated into one or more chipsets.
A residential gateway 1050 is coupled to the base station 1010 to provide data communication services (e.g., to the Internet) to the base station 1010 and its clients (e.g., sensors 1070). The gateway 1050 may be coupled to the base station 1010 via, for example, a wireless network circuit 1060 of the gateway 1050. For purposes of discussion herein, assume the network circuit 1060 is connected to the base station 1010 via the network circuit 1020a. Examples of the residential gateway 1050 may include a cable modem, a digital subscriber line (DSL) modem, a satellite modem, and the like. Although not shown for simplicity, the gateway 1050 can also be coupled to data traffic networks based on wireless telephony services (e.g., such as 3G, 3.5G, 4G LTE, and the like) in providing data services to the base station 1010.
The wireless sensor 1070a-1070n are sensors that are typically placed in a residential or an office environment. The sensors 1070a-1070n include wireless network capabilities for coupling to and communicating with the base station 1010. For purposes of discussion herein, assume the wireless sensors 1070a-1070n are connected to the base station 1010 via the network circuit 1020b. Some examples of the wireless sensor 1070a-1070n include door sensors, motion sensors, surveillance cameras, fire/smoke detectors, Carbon monoxide (CO) detectors, garage door openers, thermostats, cable television control boxes, gas meters, and so forth. Although not necessarily, one or more sensors of the sensors 1070a-1070n may typically have limited power resources (e.g., running only on batteries).
The base station 1010 is similar to the base station 210 of FIG. 2A, and in this specific settings, can be a base station designated for the wireless sensors including, for example, a home security console device such as provided by Comcast Corp., ADT Corp, or AT&T Corp. As illustrated in diagram 1000, the base station 1010 includes at least two wireless network circuits 1020a and 1020b, circuit 1020a being coupled to the gateway 1050 and circuit 1020b being coupled to the wireless sensors 1070a-1070n. In one or more embodiments, the base statin 1010 functions as a repeater which can pass data traffic (e.g., control commands) received from the gateway 1050 to the wireless sensors 1070a-1070n, and can pass data traffic (e.g., captured images, or alarm signals) received from the wireless sensors 1070a-1070n to the gateway 1050. Among other reasons, because the power limitation and other characteristics specific to the wireless sensors 1070a-1070n, it would be beneficial to separately connect the sensors 1070a-1070n to a separate wireless network circuit than that is used to connect the residential gateway 1050.
However, as previously mentioned, it is recognized that interference and desensitization can happen in settings where more than one wireless network circuits transmitting and receiving in the same frequency band and in close physical proximity. Specifically, when the base station 1010 is transmitting data to the wireless sensors 1070a-1070n using circuit 1020b, which can cause the reception of circuit 1020a to become desensitized, if the gateway 1050 attempts to communicate with the base station 1010 during the circuit 1020b's transmission, the base station 1010 can miss the data sent from the gateway 1050, and therefore the gateway 1050 may have to retransmit. Luckily, the gateway 1050 typically does not have power resource concerns.
Similar situation can take place when the base station 1010 is transmitting data to the gateway 1050 using circuit 1020a, which can cause the reception of circuit 1020b to become desensitized, and if the gateway 1050 attempts to communicate with the base station 1010 during the circuit 1020a's transmission, the base station 1010 can miss the data sent from the wireless sensors 1070a-1070n, and therefore the wireless sensors 1070a-1070n may have to retransmit. However, this may be undesirable because the wireless sensors 1070a-1070n may have power resource concerns, and retransmission can adversely impact the operating lifespan of the sensors 1070a-1070n. 
Existing solutions can include using sectional antennas and creating enough shielding among the radio circuits. However, because the wireless sensors can be deployed in any location around the physical environment, it is desirable to have omnidirectional antennas so that the wireless communication coverage of the base station can be maximized.
Accordingly, in some embodiments, the coexistence controller 1030 can cause the wireless circuits 1020a and 1020b to operate in ways that do not cause interference or desensitization to one another. More specifically, the coexistence controller 1030 can utilize the coexistence mechanisms mentioned above, for example, to give priority to those data communications from the various wireless sensors 1070a-1070n by selectively suppressing the transmitting operations of the wireless network circuit 1020a during the receiving operations of the wireless network circuit 1020b. For example, the coexistence controller 1030 can suppress the transmission communication by disabling, postponing, attenuating the power level used in, reducing transmission rate of, or applying any other operating parameter adjustment techniques discussed herein onto, the transmission operations. In this way, the coexistence controller 1010 is able to suppress the transmitting operations of the network circuit 1020a in a way that maintains integrity of receiving operations of the network circuits 1020b (e.g., so that the receiving is not disrupted or corrupted). It is noted that some embodiments of the wireless network circuits 1020a-1020b operate on different channels (e.g., channels 1 and 6).
In some additional embodiments, the coexistence controller 1030 is configured to allow the network circuit being suppressed, during the suppression, to respond to high priority communication after every predetermined time period. For example, the Wireless LAN circuit being suppressed may still be able to respond to management packets.
In some embodiments, the coexistence controller 1030 can also operate the wireless network circuit 1020b in a way that reduces power consumption of the wireless sensors 1070a-1070n. For example, while the operations of the wireless network circuit 1020a remains unaffected (e.g., which can be optimized for speed performance, or other considerations), the operations of the wireless network circuit 1020b can utilize various parameters and options that are available in the IEEE 802.11 standards to save power on the sensors 1070a-1070n. 
Specifically, there are two example power saving techniques existing in the IEEE 802.11 family of standards which can be adapted by the coexistence controller 1030 for reducing the power consumption on the wireless sensors 1070a-1070n. One example is known as the power saving poll (PS-Poll); the other example is known as the unscheduled automatic power save delivery (UAPSD).
In other embodiments, the coexistence controller 1030 can also utilize customized protocols or modified versions of standard protocols to communicate with the wireless sensors 1070a-1070n in order to assist the sensors 1070a-1070n in reducing power consumption. For example, the coexistence controller 1030 can cause wireless network circuit 1020b to operate on a modified version of wireless network protocol that has relaxed link upkeep standards, such as relaxing an ACK packet's response time from 1 milisecond to 2 seconds.
In addition examples, the wireless network circuit(s) (e.g., circuit 1020b) that connects to the wireless sensors 1070a-1070n can employ power saving mechanisms such as described in the IEEE 802.11ah standards in various frequency bands (e.g., 2.4 GHz, 5 GHz, or other bands). One or more embodiments can support client devices or sensors that can transmit traffic indication maps (TIM), and the coexistence controller 1030 can arrange traffic scheduling and give priority to a respective wireless circuit based on the received TIM information.
Further, for the client devices or wireless sensors that do not have TIM capacity, when the base station 1010 schedules or reserves a target wake time (TWT) for non-TIM-capable clients, the coexistence controller 1030 can also protect the scheduled TWT of the non-TIM-capable clients from being preempted by TIM-capable clients. In particular, for implementing this technique, the coexistence controller 1030 can indicate to TIM-capable clients a restricted access window (RAW) information, during which no TIM-capable clients can occupy the wireless network circuit. In some embodiments, the RAW information are included in an RPS element in the beacons sent from the base station 1030. In some embodiments, if the RPS element indicates that the RAW is allocated only to non-TIM-capable clients, then any TIM-capable client that checks the beacon should not access the wireless network circuit for the duration indicated by the “RAW Duration” field in the RAW information within the RPS element. In another example, if the scheduled TWTs for non-TIM-capable clients are periodic, then the base station 1030 may set up a periodic RAW operation, such as defined in Clause 9.19.4a.6 of the IEEE 802.11 standards.
In some embodiments, the coexistence controller 1030 can adopt known time division multiplexing (TDM) techniques in managing the wireless network circuits 1020a-1020b, and in some embodiments, certain time durations can be assigned to certain types of data traffic.
FIG. 11 is a timing diagram 1100 for handling downlink traffic from the base station 1010 to the wireless sensors 1070a-1070n of FIG. 10 in accordance with some embodiments. As shown in diagram 1100, once the base station 1010 knows that a wireless sensor (e.g., sensor 1070a) wakes up, the coexistence mechanism in the base station 1010 can give priority to the downlink traffic to the wireless sensor 1070a. The sleep schedule of the wireless sensor 1070a can be transmitting or broadcasted using one or more suitable methods including, for example, utilizing beacons to transmit the traffic indication map (TIM) as described in the IEEE 802.11 standards. As such, in some embodiments, the coexistence controller 1030 can determine a reservation schedule in selectively suppressing the transmitting operations based on status signals received from one or more wireless sensors.
FIG. 12 is a timing diagram 1200 for handling uplink traffic from the wireless sensors 1070a-1070n to the base station 1010 of FIG. 10 in accordance with some embodiments. Similar to diagram 1100, once the base station 1010 knows that a wireless sensor (e.g., sensor 1070a) starts to transmit data, the coexistence mechanism in the base station 1010 can give priority to the uplink traffic from the wireless sensor 1070a. 
FIG. 13 is an abstract diagram 1300 illustrating an asymmetrical buffering structure or mechanism which can be adopted or controlled by the coexistence controller in accordance with some embodiments. More specifically, among other reasons, because the suppression of the wireless network circuits, and because some wireless network circuits have higher priority than the others, one or more buffers can be included in the base station 1010 (FIG. 10) and coupled to the wireless network circuits 1020a-1020b for temporarily storing data. In some of these embodiments, the coexistence controller 1030 (FIG. 10) can be configured to allocate more resource in the buffers to the network circuit with higher priority (e.g., circuit 1020b). Such example is illustrated in diagram 1300. In some embodiments, the coexistence controller 1030 can also adjust a buffer rate of the buffers based on workload of the network circuits 1020a-1020b. 
In some embodiments, the coexistence controller 1030 can also coordinate among the wireless sensors 1070a-1070n so as to cause the wireless sensors 1070a-1070n not to interfere with one another's data transmission. In some embodiments, the wireless sensors 1070a-1070n may communicate to the coexistence controller 1030 regarding their respective battery or other power status, and the coexistence controller 1030 can prioritize communication among one or more wireless sensors 1070a-1070n based on their respective power supply status. For example, the coexistence controller 1030 can selectively send acknowledge (ACK) packets to those wireless sensors among sensors 1070a-1070n which are low on power so as to avoid them retransmit the data.
Methodology
FIG. 14 is a flowchart illustrating a method 1400 for controlling and coordinating multiple radio circuits which can be implemented by a coexistence controller (e.g., controller 230, FIG. 2) in accordance with some embodiments. The method 1400 is performed, for example, in a base station (e.g., station 210, FIG. 2).
In one or more embodiments, each of a plurality of network circuits (e.g., circuits 220a-220c) located on the station 210 can be assigned (1410) a priority. In some embodiments, the coexistence controller 230 is coupled to the network circuits 220a-220c through a coexistence bus (e.g., bus 240, FIG. 2) to control operations between (or among) the network circuits 220a-220c. More specifically, the priority each network circuit can be predetermined by the manufacturer of the base station 210, or the priority can be optionally and/or dynamically assigned (1410) by the coexistence controller 230 based on certain priority assigning criteria. The priority assigning criteria may include the amount of traffic, the type of traffic (e.g., data, voice, video, sensor applications, etc.), wireless channel conditions each circuit experiences, and/or other suitable factors. As explained above, the priority assigning criteria may be similar to operating criteria.
Then, the coexistence controller 230 can determine (1420) a plurality of operating criteria based on the priority assigned to each network circuit as well as other factors. The operating criteria can reflect a variety of considerations such as the number of client devices (e.g., devices 130, FIG. 1) each network circuit handles, the amount of data traffic each network circuit sees, the data rate each network circuit supports, the type of traffic each network circuit is assigned, the wireless channel condition or noise (e.g., as measured by RSSI or a known matrix rank) each network circuit experiences, and so forth. According to the present embodiments, the operating criteria are selected to cause the coexistence controller to control the operations in a way that reduces a probability that network circuits 220a-220c desensitize one another. In some embodiments, the operating criteria are selected in a way such that the coexistence controller 230 can perform, for example, load balancing and/or frequency planning using multiple wireless network circuits (e.g., circuits 220a-220c) on base station 210.
Next, the coexistence controller 230 can control (1430) operations between the network circuits by selectively adjust one or more transmission operating parameters of a respective network circuit (e.g., circuit 220a) based on a plurality of operating criteria including network circuit 220a's priority as compared to other circuits' priorities.
The transmission operating parameters for a wireless network circuit is the configurations in which the network circuit uses to transmit data. For example, in some embodiments, the coexistence controller 230 can reduce the transmit power on one wireless network circuit (e.g., circuit 220a) when another wireless network circuit (e.g., circuit 220b) is receiving. In additional or alternative embodiments, other transmission operating parameters that can be adjusted by the coexistence controller 230 can include a data rate (e.g., 11 Mbit/s, or 54 Mbit/s) and/or a network protocol (e.g., IEEE 802.11a, IEEE 802.11n, etc.) at which the respective network circuit operates. In some examples, the transmission operating parameters can also include a channel (e.g., channel 1, channel 6, or channel 11 in WLAN 2.4 GHz frequency band; or channel 36, channel 100, or channel 161 in WLAN 5 GHz frequency band) on which the respective network circuit operates. In some embodiments, the transmission operating parameters can also include a frequency band (e.g., 2.4 GHz, 5 GHz, etc.) in which the respective network circuit operates. Other known configuration adjustments such as modulation or phase adjustments can also be included in the list of transmission operating parameters which the coexistence controller 230 can adjust.
FIG. 15 is a flowchart illustrating a method 1500 for reducing interference among multiple radio circuits which can be implemented by a coexistence controller (e.g., controller 1030, FIG. 10) in accordance with some embodiments. The method 1500 is performed, for example, in a base station (e.g., station 1010, FIG. 10).
First, in some optional embodiments, the controller 1030 can support client devices or sensors that can transmit traffic indication maps (TIM), and the coexistence controller 1030 can arrange or determine (1510) traffic scheduling and give priority to a respective wireless circuit based on the received TIM information. For the client devices or wireless sensors that do not have TIM capacity, when the base station 1010 schedules or reserves a target wake time (TWT) for non-TIM-capable clients, the coexistence controller 1030 can also protect the scheduled TWT of the non-TIM-capable clients from being preempted by TIM-capable clients. In particular, for implementing this technique, the coexistence controller 1030 can indicate to TIM-capable clients a restricted access window (RAW) information, during which no TIM-capable clients can occupy the wireless network circuit.
In accordance with some embodiments, the coexistence controller 1030 can cause the wireless circuits (e.g., 1020a and 1020b) coupled to the station 1030 to operate in ways that do not cause interference or desensitization to one another. More specifically, the coexistence controller 1030 can utilize the coexistence mechanisms (e.g., as mentioned above) to give priority to those data communications from the various wireless sensors 1070a-1070n by selectively suppressing (1520) the transmitting operations of the wireless network circuit 1020a during the receiving operations of the wireless network circuit 1020b, when the network circuit 1020b is assigned (1524) a higher priority than the network circuit 1020a. The plurality of network circuits operate (1522) in a same radio frequency band and are collocated (1522).
For example, the coexistence controller 1030 can suppress the transmission communication by disabling, postponing, attenuating the power level used in, reducing transmission rate of, or applying any other operating parameter adjustment techniques discussed herein onto, the transmission operations. In this way, the coexistence controller 1010 is able to suppress (1520) the transmitting operations of the network circuit 1020a in a way that maintains integrity of receiving operations of the network circuits 1020b (e.g., so that the receiving is not disrupted or corrupted). It is noted that some embodiments of the wireless network circuits 1020a-1020b operate on different channels (e.g., channels 1 and 6).
CONCLUSION
In the foregoing specification, the present embodiments have been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader scope of the disclosure as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.
It should also be understood that all block diagrams in the figures are for illustration purpose only, and should not preclude the scope of this invention to include any logic equivalents or combinations thereof, including removing, substituting, or adding other logic gates that achieves the same or similar functions consistent with the features of the present invention.
Further, it should be noted that the various circuits disclosed herein may be described using computer aided design tools and expressed (or represented), as data and/or instructions embodied in various computer-readable media, in terms of their behavioral, register transfer, logic component, transistor, layout geometries, and/or other characteristics. Formats of files and other objects in which such circuit expressions may be implemented include, but are not limited to, formats supporting behavioral languages such as C, Verilog, and VHDL, formats supporting register level description languages like RTL, and formats supporting geometry description languages such as GDSII, GDSIII, GDSIV, CIF, MEBES and any other suitable formats and languages. Computer-readable media in which such formatted data and/or instructions may be embodied include, but are not limited to, non-volatile storage media in various forms (e.g., optical, magnetic or semiconductor storage media).

## Claims

1. A network device, comprising:
a plurality of wireless network circuits, each of the network circuits operating in a same radio frequency band; and
a coexistence controller coupled to the network circuits and configured to:
upon one or more client devices requesting for association, distribute the client devices to the network circuits based on a plurality of operating criteria,
wherein the network circuits are collocated on the network device.

2. The network device of claim 1, wherein the coexistence controller is further configured to:
move a respective client device connected to a first network circuit to a second network circuit based on the operating criteria.

3. The network device of claim 2, wherein the coexistence controller is further configured to:
coordinate with the respective client in performing the moving using a switch announcement.

4. The network device of claim 2, wherein the coexistence controller is further configured to perform the moving when a data traffic workload aggregated from all client devices connected to the first network circuit exceeds or about to exceed a service capacity of the first network circuit.

5. The network device of claim 2, wherein the coexistence controller is further configured to perform the moving when an interference on the first network circuit exceeds a threshold.

6. The network device of claim 2, wherein the coexistence controller is further configured to perform the moving when a channel condition on the second network circuit becomes better than the first network circuit.

7. The network device of claim 2, wherein the coexistence controller is further configured to migrate connection information for the respective client device when the respective client device is moved from the first network circuit to the second network circuit.

8. The network device of claim 1, wherein the coexistence controller is further configured to:
enforce a selection of the distributing by disallowing a respective client device from associating itself with a non-preferred network circuit.

9. The network device of claim 1, wherein the coexistence controller is further configured to:
temporarily stop broadcasting a service set identifier for the non-preferred network circuit.

10. The network device of claim 1, wherein the coexistence controller is further configured to:
ignore a probe request from a respective client device for associating with a non-preferred network circuit.

11. The network device of claim 1, wherein the coexistence controller is further configured to:
ignore a probe request from a respective client device for associating with a non-preferred network circuit before a predetermined period of time expires;
allow the respective client device to associate with the non-preferred network circuit after the period of time expires; and
move the respective client device connected to the non-preferred network circuit to a preferred network circuit.

12. The network device of claim 1, wherein the operating criteria include a priority that is assigned to each of the network circuits.

13. The network device of claim 1, wherein the operating criteria include how much noise is observed by one or more radios of each network circuit.

14. The network device of claim 1, wherein the operating criteria include based on what type of traffic each network circuit is assigned to process.

15. The network device of claim 1, wherein the operating criteria include workload that each network circuit has.

16. The network device of claim 1, wherein the operating criteria include performance requirement that the client devices request.

17. The network device of claim 1, wherein each of the network circuits operates on a different channel.

18. The network device of claim 1, wherein the network circuits each include individual media access control (MAC) layer and physical (PHY) layer circuitry.

19. The network device of claim 1, wherein the coexistence controller controls each of the network circuits independently.

20. The network device of claim 1, wherein the coexistence controller is further configured to:
coordinate with another plurality of wireless network circuits on a respective client device so that the network circuits on the network device each communicate with a corresponding network circuit on the client using a uniquely designated channel.

21. The network device of claim 1, wherein the network circuits include at least two network circuits operating on different channels in a 5 GHz frequency band.

22. The network device of claim 2, wherein the coexistence controller is further configured to:
coordinate with the respective client in performing the moving using a dis-association process.

23. The network device of claim 2, wherein the coexistence controller is further configured to:
coordinate with the respective client in performing the moving using a de-authentication process.