Transmission coordination for collocated radios

Methods, systems, and devices are described for wireless communication at a wireless device having collocated radios employing different radio access technologies (RATs). For example, a second radio of the wireless device may receive a first scheduling message. The first scheduling message may include information relating to timing, priority, transmission power, and radio capabilities. Using this scheduling message, a determination of whether a first radio employing a first RAT and the second radio employing a second RAT can transmit in parallel may be made. A first transmission on the first radio may be coordinated with a second transmission on the second radio based on the determination of whether the first radio and the second radio can transmit in parallel. A number of data units may be aggregated into an aggregate frame to be transmitted by the second radio. The number of data units may be based on the scheduling message.

BACKGROUND

The following relates generally to wireless communication, and more specifically to techniques for coordinating wireless transmissions by collocated radios in a wireless device.

Wireless communications systems are widely deployed to provide various types of communication content such as voice, video, packet data, messaging, broadcast, and so on. These systems may be multiple-access systems capable of supporting communication with multiple users by sharing the available system resources (e.g., time, frequency, and power).

A wireless communications network may include a number of network devices, e.g., an access point (AP), that can support communication for a number of wireless devices. A wireless device may communicate with a network device bi-directionally. For example, in a wireless local area network (WLAN), a station (STA) may communicate with an associated AP via downlink and uplink. The downlink (or forward link) refers to the communication link from the AP to the station, and the uplink (or reverse link) refers to the communication link from the station to the AP.

In many cases, a wireless device may have multiple coexisting radios for different radio access technologies (RATs). For example, a wireless device may use one radio to send and receive WLAN communications and another radio to send and receive Bluetooth (BT) communications. The close proximity of the radios to each other may result in unwanted interference, especially when both of the radios are operating at the same time. This interference may be exacerbated if the radios operate in overlapping radio frequency spectrum bands. Nevertheless, there may be occasions during which one radio may have data to transmit at a time when another radio is scheduled to receive a transmission. In such cases, it may be useful to have an efficient and effective scheme for resolving and avoiding conflicts between the different radios.

SUMMARY

The described features generally relate to techniques for coordinating wireless transmissions by coexisting radios in a wireless device. For example, a second radio employing a second RAT may receive a first scheduling message from a first radio employing a first radio access technology (RAT). Based on the scheduling message, a determination may be made whether the first radio and the second radio can transmit in parallel (i.e., concurrently), and a first transmission on the first radio may be coordinated with a second transmission on the second radio based at least in part on the determination. The determination of whether the transmissions can occur in parallel may be based at least in part on a respective priority assigned to each of the transmissions.

If it is determined that the first and second transmissions can occur in parallel, the coordination of the transmissions may include dynamically adjusting transmission power levels at the first and/or second radios to reduce cross-interference during the parallel transmission. The amount by which each radio reduces transmission power may be based at least in part on the respective priority assigned to each transmission or another factor. In other examples, if it is determined that the first and second transmissions cannot occur in parallel, coordinating the communication may include adapting a frame size or a timing of the first or second transmission to prevent the interference associated with a parallel transmission.

In some examples, a method for wireless communication with a device including a first radio employing a first radio access technology (RAT) collocated with a second radio employing a second RAT includes receiving a first scheduling message at the second radio, determining a transmission window for the second radio based at least in part on the first scheduling message, adding data units to an aggregated frame, wherein a number of the data units is based at least in part on a size of the transmission window, and transmitting the aggregated frame during the transmission window.

In some examples, a method for wireless communication with a device including a first radio employing a first radio access technology (RAT) collocated with a second radio employing a second RAT includes receiving a first scheduling message at the second radio, determining whether the first radio and the second radio can transmit in parallel based at least in part on the first scheduling message, and coordinating a first transmission on the first radio with a second transmission on the second radio based at least in part on the determination.

In some examples, an apparatus for wireless communication including a first radio employing a first radio access technology (RAT) collocated with a second radio employing a second RAT includes means for receiving a first scheduling message at the second radio, means for determining whether the first radio and the second radio can transmit in parallel based at least in part on the first scheduling message, and means for coordinating a first transmission on the first radio with a second transmission on the second radio based at least in part on the determination.

In some examples, an apparatus for wireless communication includes a first radio employing a first radio access technology (RAT), a second radio employing a second RAT to receive a first scheduling message, wherein the second radio is collocated with the first radio, and a communication manager to: determine whether the first radio and the second radio can transmit in parallel based at least in part on the first scheduling message, and coordinate a first transmission on the first radio with a second transmission on the second radio based at least in part on the determination.

In some examples, a non-transitory computer readable medium stores computer-executable code for wireless communication in a device including a first radio employing a first radio access technology (RAT) collocated with a second radio employing a second RAT. The code may be executable by a processor to receive a first scheduling message at the second radio, determine whether the first radio and the second radio can transmit in parallel based at least in part on the first scheduling message, and coordinate a first transmission on the first radio with a second transmission on the second radio based at least in part on the determination.

In some cases, the data units include a unit from the group consisting of: a media access control (MAC) protocol data unit (MPDU), a MAC service data unit (MSDU), a filler data unit, and combinations thereof. The aggregated frame may include a frame from the group consisting of: an aggregated MPDU (A-MPDU), and aggregated MSDU (A-MSDU), and combinations thereof. In some cases, adding the data units to the aggregated frame is further based on a parameter from the group consisting of: a size of the data units, a modulation rate, and combinations thereof.

Various examples of the methods, devices, and/or non-transitory computer readable medium may includes the features of, means for, modules for, and/or processor-executable code for transmitting to the first radio a second scheduling message, the second scheduling message including a parameter from the group consisting of: a transmission power of the second transmission, a priority of the second transmission, and combinations thereof. Coordinating the first transmission on the first radio with the second transmission on the second radio may include delaying the first transmission from the first radio based at least in part on the second scheduling message. In some cases, coordinating the first transmission on the first radio with the second transmission on the second radio may include adapting a transmission power in response to determining that the first radio and the second radio can transmit in parallel, wherein the power is one of the group consisting of: a transmission power of the first radio, a transmission power of the second radio, and combinations thereof. In some cases, adapting the transmission power includes reducing the transmission power to meet a power constraint for parallel transmission. Coordinating the first transmission on the first radio with the second transmission on the second radio may include adapting a frame size of the second transmission in response to determining that the first radio and the second radio cannot transmit in parallel.

In some cases, coordinating the first transmission on the first radio with the second transmission on the second radio includes delaying the second transmission from the second radio based at least in part on the received first scheduling message. The determination may be based at least in part on a relative priority of the first transmission with respect to the second transmission. In some cases, the determination is based at least in part on a transmission power, wherein the transmission power is one of the group consisting of: the first radio, the second radio, and combinations thereof. The first scheduling message may include a parameter from the group consisting of: timing information for the first transmission, a priority of the first transmission, a transmission power of the first transmission, and combinations thereof.

In some cases, coordinating the first transmission on the first radio with the second transmission on the second radio includes refraining from transmitting the second transmission from the second radio in response to receiving the first scheduling message at the second radio prior to an expiration of a counter at the second radio. The first radio may include a Bluetooth radio and the second radio may include a wireless local area network (WLAN) radio.

DETAILED DESCRIPTION

The described features generally relate to one or more improved systems, methods, and/or apparatuses for wireless communication. As described above, a wireless device may have multiple coexisting radios for different radio access technologies (RATs). For example, a wireless device may use one radio to send and receive WLAN communications and another radio to send and receive Bluetooth (BT) communications. The close proximity of the radios to each other may result in unwanted interference, especially when both of the radios are operating at the same time. In some cases, a transmission from a first radio may be prevented or compromised based on a transmission of a second radio. In order to effectively communicate using multiple radios a scheduling message may be used by, or communicated between, radios.

The scheduling message may include timing information, transmission priorities, transmission powers, and/or radio capabilities. A second radio may use the scheduling message to determine if it is possible to communicate in parallel with a first radio. In response to this determination, the second radio may adjust one or more transmission parameters, such as a transmission power or frame size of the second radio. Additionally or alternatively, the second radio may delay or otherwise adapt the timing of a transmission, based on the scheduling message. In some examples, a second scheduling message in response to the first scheduling message may be received by the first radio, and the first radio may adapt one or more transmission parameters based at least in part on the second scheduling message.

In some examples, the first scheduling message may be used to determine a transmission and/or reception window, which may include a transmission start time, transmission end time, reception start time, reception end time, gap start time, and/or gap end time. In some cases, the second radio may transmit data units such as media access control (MAC) protocol data units (MPDUs) and/or MAC service data units (MSDUs). A number of data units may be aggregated into an aggregate frame, such as an aggregated MPDU (A-MPDU) or an aggregated MSDU (A-MSDU). The number of data units to aggregate into an aggregate frame may be determined based on the first scheduling message, such as based on the transmission and/or reception window. For example, an A-MPDU may include up to as many MPDUs as can be transmitted during a transmission window.

FIG. 1illustrates a wireless local area network (WLAN)100(also known as a wireless fidelity (Wi-Fi) network) configured in accordance with various examples. The WLAN100includes an access point (AP)105and multiple associated stations115. In this example, there are shown seven (7) stations or STAs115, which are identified as station STA_1, STA_2, STA_3, STA_4, STA_5, STA_6, and STA_7. The WLAN100, however, may have more or fewer stations115than those shown inFIG. 1since the number shown is simply for illustrative purposes. The AP105and the associated stations115may represent a basic service set (BSS) or an extended service set (ESS). The various stations115in the network are able to communicate with one another through the AP105. Also shown is a coverage area120of the AP105, which may represent a basic service area (BSA) of the WLAN100. Although not shown inFIG. 1, an extended network base station associated with the WLAN100is typically connected to a wired or wireless distribution system (DS) that may allow multiple APs105to be connected in an ESS.

The AP105may be configured to communicate bi-directionally with each of the stations115using WLAN communication links130. The WLAN communication links130may include downlink transmissions (e.g., beacon frames) that are sent from the AP105to a station115as well as uplink transmissions (e.g., acknowledgement (ACK) frames) that are sent from a station115to the AP105. Typically, the AP105is configured to broadcast its downlink transmissions to the stations115that are within the coverage area120.

In some cases, a station115, such as STA_5, may further communicate over non-WLAN communication links125with non-WLAN devices110outside of the WLAN100using a second radio, such as a Bluetooth, cellular, or other non-WLAN radio. As used herein, the term “non-WLAN device” does not necessarily mean a device that is incapable of communicating over WLAN; rather a “non-WLAN device” is simply a device with which the station115communicates wirelessly using a radio access technology other than a WLAN protocol. In some cases, the non-WLAN device110is another station115. The non-WLAN communication links125may use neighboring or overlapping radio frequency spectrum bands for communication as the WLAN communication links130. In some cases, the non-WLAN communication links125may interfere with the WLAN communication links130. Further, the non-WLAN communication links125and the WLAN communication links130may use similar resources, such as hardware (e.g., power amplifier) or scheduled system resources, and communication using both the non-WLAN communication links125and the WLAN communication links130may compromise overall system performance.

STA_5115may manage its communications across multiple radios, such as a radio for WLAN communications links130and a radio for non-WLAN communication links125. For example, the radios may communicate with each other using scheduling messages to determine whether parallel transmissions are scheduled, and if so, whether parallel transmissions are possible. Based on these determinations, transmissions by the radios may be coordinated to avoid interfering with or overpowering one another such as by adapting a transmission power of a communication, delaying transmission of a communication, and/or adapting a frame size of a communication.

FIG. 2illustrates an example of a wireless communication system200for wireless communication in accordance with various examples. The wireless communication system200includes a station115-a, an AP105-a, and a non-WLAN device110-a. The station115-amay be an example of the stations115ofFIG. 1. The AP105-amay be an example of the AP105ofFIG. 1. The non-WLAN device110-amay be an example of one or more of the non-WLAN devices110ofFIG. 1.

The station115-amay include a first radio205and a second radio210. The first radio205and the second radio210may communicate using similar or different technologies and/or frequencies. The first radio205may employ a first radio access technology (RAT) and the second radio210may employ a second RAT. In some cases, the first radio205is a Bluetooth, cellular, or other non-WLAN radio and the second radio210may be a WLAN radio. For example, the first radio205may communicate with the non-WLAN device110-ausing non-WLAN communication links125, while the second radio210may communicate with the AP105-ausing WLAN communication links130. The first radio205and second radio210may be in communication with one another.

The first radio205and second radio210may use neighboring or overlapping radio frequency bands to send and receive wireless transmissions. In some cases, the non-WLAN communication links125of the first radio205and the WLAN communication links130of the second radio210may interfere with one another. If the communications experience interference it may prevent some of all of the communicated information from reaching the target AP105-aand/or non-WLAN device110-a. In some examples, concurrent reception and transmission by the first radio205and the second radio210may suppress a signal. If the first radio205is transmitting a signal using a non-WLAN communication link125while the second radio210is attempting to receive a signal using a WLAN communication link130, the transmitting non-WLAN communication link125may drown out the receiving WLAN communication link130making WLAN reception difficult or improbable.

The station115-amay determine whether the first radio205and second radio210can perform parallel communications (e.g., concurrent transmission and/or reception). The first radio205and the second radio210may exchange a message which may be used to help determine whether parallel communications are likely to cause performance degradation. The message may include information relating to the non-WLAN communication links125and/or the WLAN communication links130such as a frequency, timing, or power of a transmission, and/or capabilities of the first radio205and/or second radio210(e.g., parallel transmission/reception capabilities and/or constraints). For example, the first radio205and/or second radio210may indicate that parallel communications for some operations (e.g., transmissions, receptions, frequency bands, types of communications, etc.) are likely to cause a reduction in performance. The determination may be made semi-statically or dynamically (e.g., as upcoming transmissions and/or receptions are scheduled).

In some cases, the station115-amay identify communications from the first radio205and second radio210that are scheduled to occur in parallel and determine whether the parallel communications are likely to cause inter-radio interference. For example, if the communications occur on distinctly different frequencies, it may be unlikely that inter-radio interference will occur. The difference between transmission frequencies of the first radio205and the second radio210may be compared to a frequency difference threshold when determining whether parallel transmissions are likely to cause interference. The frequency difference threshold may be a predetermined or variable threshold (e.g., included in the message, determined based on channel conditions, set by the wireless communication system200, etc.). Additionally or alternatively, whether parallel communications are likely to cause inter-radio interference may depend on timing of transmission and/or reception by the radios. In some cases, the station115-amay determine that parallel communications are unlikely to cause interference if the timing of the first radio205and the second radio210is appropriate, such as both radios transmitting or receiving at the same time or at different times. In some cases, whether parallel communications are likely to cause performance degradation may be based on power constraints of the station115-a. For example, if the combined power of transmissions from the first radio205and the second radio210exceeds a power threshold, parallel transmission may degrade the signal quality of one or more of the parallel transmissions.

Where the station115-aidentifies scheduled parallel communications that, based on the parallel communication capabilities and constraints of the radios, are unlikely to cause performance degradation, the station115-acan perform the parallel communications as scheduled. Where parallel communications that are likely to cause performance degradation are identified (e.g., based on a frequency, timing, or power of a communication, etc.), the station115-amay coordinate communications between the first radio205and the second radio210to avoid the scheduled parallel communication or to improve the performance of the parallel communication. In some examples, communication parameters (e.g., timing, frame size, etc.) for one or more communications by the second radio210may be altered such that they do not overlap in time with communication operations (e.g., transmissions and/or receptions) by the other radio. For example, if a combined power of transmissions from the first radio205and the second radio210exceeds a power threshold, the transmission by the second radio210may be delayed such that it does not overlap in time with the transmission by the first radio205.

Alternatively, the station115-amay alter one or more operations of the scheduled parallel communications by the first radio205or the second radio210such that performance of the parallel communication is improved. The station115-amay adjust timing of a transmission or a frame size to improve the performance for parallel communication. In some instances, transmission periods for one or more of the radios may be followed by periods of reception of information (e.g., responses, acknowledgements, etc.). Where, for example, a reception period for the second radio210begins during an on-going transmission period of the first radio205, interference may degrade performance for the reception by the second radio210. The station115-amay delay the transmission period by the second radio210or adjust a frame size of the transmission, so that the transmission period aligns with (e.g., ends concurrently with, etc.) the transmission period for the first radio205. Thus, while the transmissions by the first radio205and the second radio210may still be performed concurrently, the transmission period of the second radio210may be altered such that the following reception period for the second radio210is not concurrent with the transmission period of the first radio205. Adapting communications for reception periods following transmission periods is merely one example and other communications by the first radio205and second radio210may be identified that result in parallel communication operations that violate one or more parallel operation constraints of the first radio205and/or second radio210. Additionally or alternatively, the station115-amay reduce the power of a transmission to allow for parallel transmission or reception by the other radio. By coordinating the communications where parallel communications may cause performance degradation, the station may make efficient and reliable use of the spectrum available.

FIG. 3Aillustrates a call-flow diagram300, which illustrates, according to some examples, communication within a system configured for wireless communication.FIG. 3Ashows communication between a first radio205-aand a second radio210-a. The first radio205-amay be an example of the first radio205ofFIG. 2. The second radio210-amay be an example of the second radio210ofFIG. 2.

The second radio210-amay receive a first scheduling message305from the first radio205-a. The first scheduling message305may include information relating to an upcoming transmission from the first radio205-a. For example, the first scheduling message may include timing information, a priority, and/or a transmission power of the upcoming transmission from the first radio205-a. The first scheduling message305may include information relating to radio capabilities, such as whether parallel transmission and/or reception can occur. In some cases, if the first scheduling message305is received at the second radio210-abefore a backup counter expires, the second radio210-amay refrain from transmitting the upcoming transmission from the second radio210-a.

The first radio205-a, the second radio210-a, a station115, an AP105, and/or some other network component may determine a transmission window310, such as based on the first scheduling message305. Determining a transmission window310may include determining a number of boundaries, such as a transmit start time, a transmit end time, a receive start time, a receive end time, a gap start time, and a gap end time. The determined boundaries may be related to the first radio205-aand/or the second radio210-a. In some cases, determining a transmission window310may be based on the first scheduling message305, such as based on at least one of timing information, a priority, a transmission power, and/or radio capabilities, such as whether parallel transmission and/or reception can occur.

The first radio205-a, the second radio210-a, a station115, an AP105, and/or some other network component may aggregate a frame315. An aggregated frame may include a number of data units. In some cases, data units may include media access control (MAC) protocol data units (MPDUs), MAC service data units (MSDUs), and/or filler data units (i.e., data units which do not contain data but which add to the length of the aggregated frame, such as to align reception with a reception window). Aggregated MPDUs may be referred to as A-MPDUs and aggregated MSDUs may be referred to as A-MSDUs. In some cases, a number of data units is determined which is based on the determined transmission window310, or a determined reception window. In some examples, a number of data units is further based on a size of the data units and/or a modulation rate. For example, an A-MPDU may include up to as many MPDUs as can be transmitted during a transmission window. In some examples, an A-MSDU may include up to as many MSDUs as can be transmitted while still receiving a response (e.g., block acknowledgment (B-ACK), etc.) during a response window. In some cases, data units may be transmitted on their own. By aggregating data units together, overhead (e.g., headers, MAC frame fields, interframe spacing, acknowledgment of transmitted frames, etc.) may be reduced while increasing throughput by transmitting a number of data units based on the timing of the first radio205-a.

The second radio210-amay transmit the aggregate frame320. The aggregate frame may be transmitted320during a determined transmission window. In some examples, the aggregate frame is transmitted to an AP105or another station115.

FIG. 3Billustrates a call-flow diagram300-a, which illustrates, according to some examples, communication within a system configured for wireless communication.FIG. 3Bshows communication between a first radio205-band a second radio210-b. The first radio205-bmay be an example of the first radio205ofFIG. 2. The second radio210-bmay be an example of the second radio210ofFIG. 2.

The second radio210-bmay receive a first scheduling message305-afrom the first radio205-b. The first scheduling message305-amay include information relating to an upcoming transmission from the first radio205-b. For example, the first scheduling message may include timing information, a priority, and/or a transmission power of the upcoming transmission from the first radio205-b. The first scheduling message305-amay include information relating to radio capabilities, such as whether parallel transmission and/or reception can occur. In some cases, if the first scheduling message305-ais received at the second radio210-bbefore a backup counter expires, the second radio210-bmay refrain from transmitting the upcoming transmission from the second radio210-b.

The first radio205-b, the second radio210-b, a station115, an AP105, and/or some other network component may determine whether the first radio205-band the second radio210-bcan transmit in parallel325, such as based on the first scheduling message305-a. In some cases, determining whether parallel transmission can occur is based on a relative priority of the upcoming transmission from the first radio205-bwith respect to an upcoming transmission from the second radio210-b. For example, if an upcoming transmission from the first radio205-bis low priority compared to the upcoming transmission from the second radio210-b, transmission may occur in parallel. In some cases, the transmissions of the first radio205-bare generally prioritized over the transmissions of the second radio210-b.

Determining whether parallel transmission can occur may be based on a transmission power, such as a transmission power of the first radio, a transmission power of the second radio, and/or some combination of the two. For example, parallel transmission may occur if one or both upcoming transmissions are of sufficiently low power. In some cases, radio capabilities and/or settings are taken into account when determining whether parallel transmissions may occur. For example, some radios have concurrent transmission and/or reception capabilities while others do not. If radios such as the first radio205-band the second radio210-bhave concurrent transmission capabilities, timing parameters (e.g., timing of the upcoming transmission from the second radio210-b) may be adjusted to allow parallel transmission. For example, timing parameters for transmission from/reception to the second radio210-bmay be adjusted to align with transmission/reception periods of the first radio205-b.

The first radio205-b, the second radio210-b, a station115, an AP105, and/or some other network component may coordinate communication of the upcoming transmission from the first radio205-band the upcoming transmission from the second radio210-b, such as based on the determination of whether they can transmit in parallel. In some examples, coordinating communication of the upcoming transmissions330includes adapting transmission power of the first radio205-band/or the second radio210-b, such as a combined transmission power, based on the determination that the first radio205-band the second radio210-bcan transmit in parallel. For example, a transmission power may be reduced, such as at the first radio205-band/or second radio210-bto meet power constraints for parallel transmission. It should be noted that the upcoming transmission from the first radio205-band the upcoming transmission from the second radio210-bmay not start and/or end at the same time, even if they can transmit in parallel. In some cases, the transmission power is determined at the start or before the first of the upcoming transmissions. Once an upcoming transmission has started transmitting, transmission power may not be able to be adjusted further until the next transmission.

In some examples, coordinating communication of the upcoming transmissions330includes adapting a frame size of the upcoming transmission from the second radio210-b, such as based on the determination that the first radio and the second radio cannot transmit in parallel. For example, a frame size for the second radio210-bmay be determined based on the timing of the upcoming transmission from the first radio205-b, such as allowing transmission from the second radio210-bto complete before transmission from the first radio205-bbegins. The second radio210-bmay aggregate multiple Media Access Control (MAC) Protocol Data Units (MPDUs) and/or MAC Service Data Units (MSDUs) into a frame or subframe in order to reduce overhead and increase data throughput. Once aggregated, the group of MPDUs/MSDUs may be referred to as aggregated-MPDUs (A-MPDUs)/aggregated-MSDUs (A-MSDUs). The second radio210-bmay determine how many MPDUs and/or MSDUs to aggregate into a frame or subframe based on the determined frame size. The second radio210-bmay also adjust timing to allow for reception of signals (such as block acknowledgment (B-ACK) signals) when the first radio205-bis not receiving signals.

Similarly, if it has been determined that the first radio205-band the second radio210-bcan transmit and/or receive in parallel, frame sizes for the second radio may be adjusted accordingly. For example, a frame size for the second radio210-bmay be determined so that the second radio210-bis transmitting/receiving when the first radio205-bis transmitting/receiving.

In some examples, the second radio210-bmay determine whether to delay transmission335of the upcoming transmission from the second radio210-b. For example, determining whether to delay transmission may be based on the first scheduling message305-a. If the first radio205-band second radio210-bcan transmit in parallel, an upcoming transmission from the second radio210-bmay be delayed until an upcoming transmission from the first radio205-btransmits. In some cases, if the first radio205-band the second radio210-bcannot transmit in parallel (e.g., a combined transmission power exceeds a power threshold), an upcoming transmission from the second radio210-bmay be delayed until the first radio205-bis no longer transmitting (e.g., receiving). Further, a time to delay transmission may be determined.

In some cases, a second scheduling message340may be transmitted from the second radio210-b, such as to the first radio205-b. The second scheduling message340may include a transmission power and/or a priority of the upcoming transmission from the second radio210-band/or a parallel transmission/reception capabilities of the second radio210-b. In some examples, the second scheduling message340is in response to the first scheduling message305-a. The second scheduling message340may be independent of the first scheduling message305-a.

In some examples, the first radio205-bmay determine whether to delay transmission345of the upcoming transmission from the first radio205-b. For example, determining whether to delay transmission may be based on the second scheduling message340. If the first radio205-band second radio210-bcan transmit in parallel, an upcoming transmission from the first radio205-bmay be delayed until an upcoming transmission from the second radio210-btransmits. In some cases, if the first radio205-band the second radio210-bcannot transmit in parallel, an upcoming transmission from the first radio205-bmay be delayed until the second radio210-bis no longer transmitting, or is receiving. Further, a time to delay transmission may be determined.

FIG. 3Cshows a timing diagram300-bwhich illustrates, according to some examples, communication within a system configured for wireless communication.FIG. 3Cshows communication between two radios, such as a first radio205and a second radio210ofFIG. 2, 3A, or3B, either directly or indirectly (e.g., through an arbiter such as a communication manager, as described in more detail below).

A radio, such as the second radio210, may issue a request350to another radio or to a communication manager. In some cases, the request350may include information relating to a current or upcoming transmission from, or reception to, the second radio210(e.g., a transmission power, a priority, a frequency used, a start time, an end time, a length, etc.) and/or information relating to the second radio210(e.g., concurrent transmission/reception capabilities, potential frequencies used, potential powers, a radio priority, default frame length, etc.).

A response355to the request350may be received at the second radio210from the first radio205and/or the communication manager. The response355may include information relating to a current or upcoming transmission from, or reception to, the first radio205(e.g., a transmission power, a priority, a frequency used, a beginning and/or end time of the transmission, a length of the transmission, etc.) and/or information relating to the first radio205(e.g., concurrent transmission/reception capabilities, potential frequencies used, potential powers, a radio priority, default frame length, etc.). In some cases, the response355includes information relating to a current or upcoming transmission from, or reception to, the first radio205relative to a current or upcoming transmission from, or reception to, the second radio210(e.g., a difference in power, a timing difference, a priority difference, etc.). In some examples, the response355includes information relating to the first radio205relative to the second radio210(e.g., a priority difference, concurrent transmission/reception capabilities etc.).

The response355may include, or may be used to determine, a boundary such as boundary1360and/or boundary2365. In some cases, a boundary may be some or all of a timing boundary, a power boundary, a frequency boundary, and a priority boundary.

In some examples, the first radio205and the second radio210may not be capable of parallel transmission, such as indicated by, or determined using, the request350and/or the response355. Boundary1360may represent the start time of an interfering transmission by or to the first radio205, or the end time of a first radio205idle gap. In some cases, boundary1360is a transmit boundary, meaning that transmissions from the second radio210(and the acknowledgments to the second radio) are not permitted beyond boundary1360. Thus, the second radio210may finish transmitting before the first radio205begins transmitting or receiving at boundary1360so as to avoid the transmission from the second radio210overpowering or interfering with the reception at the first radio205. Alternatively, boundary1360may represent a receive boundary, meaning that it may no longer be possible for the second radio210to receive transmissions after boundary1360, as transmissions to the second radio210between boundary1360and boundary2365may be lost due to interference from transmissions by the first radio205and/or interfere with reception by the first radio205.

In some cases, transmissions from the second radio210may end before boundary1360to avoid interference with transmissions by the first radio210. A frame length may be determined by the second radio210and/or communication manager using boundary1360. For example, a number of MPDUs and/or MSDUs375may be aggregated into an A-MPDU/A-MSDU370. The number of MPDUs/MSDUs375to aggregate may be determined based on boundary1360, such as by not aggregating more MPDUs/MSDUs375than would end before boundary1360(as illustrated using A-MPDU/A-MSDU370). In some cases, transmissions from the second radio210may begin before boundary1360(e.g., around the same time that the request350is transmitted or the response355is received). The number of MPDUs/MSDUs375to aggregate may be determined based on the start time of the transmission by the second radio210and boundary1360. For example, the second radio may not aggregate more MPDUs/MSDUs375than may be possible to transmit (and receive acknowledgment of) prior to boundary1360(i.e., including one more MPDU/MSDU375to A-MPDU/A-MSDU370).

Boundary2365may represent the end time of a transmission by the first radio205, or when a first radio205idle gap will begin. In some examples, boundary2365is a receive boundary, indicating when the second radio210may begin receiving transmissions without interference from the first radio205. Alternatively, boundary2365may be a transmit boundary, indicating when the second radio210is permitted to resume transmitting. In some examples, the second radio210may enter a sleep state between boundary1360and boundary2365, then power up to receive or transmit again after boundary2365.

As discussed above, the determination of whether the first radio205and the second radio210can operate in parallel may be based at least in part on a priority assigned to each radio205,210. The relative priorities of the first radio205and the second radio210may be dynamically determined for different transmitting and receiving activities based on a number of relevant factors, including type of content, signal strength, transmission power, channel conditions, and other considerations. In certain examples, each radio205,210may determine the priority of its current or upcoming transmission or receiving activities. Alternatively, an arbiter such as a communication manager may assign priorities to different transmission and receiving activities by each radio205,210. In still other examples, a single one of the radios205,210may determine the priority of the transmission and receiving activities by each radio205,210. Additionally or alternatively, the priority assigned to each radio205,210may be statically configured.

In some examples, the first radio205and the second radio210may both have upcoming transmissions. If the upcoming transmission from the second radio210is higher priority than the upcoming transmission from the first radio205, the second radio210may size the A-MPDU/A-MSDU370accordingly and/or may not adjust the transmission power of the upcoming transmission. If the priority of the upcoming transmission from the second radio210is lower than, or equal to, the priority of the upcoming transmission from the first radio205, the size of the A-MPDU/A-MSDU370may be determined so as to align with, or avoid, the transmission from the first radio205based on whether parallel transmissions may occur. If parallel transmissions may occur, the power of the upcoming transmission from the second radio210and/or the power of the upcoming transmission from the first radio205may be adjusted, such as reduced to meet power constraints. In some cases, whether parallel transmission may occur is based on a transmission power and/or a transmission frequency. If parallel transmission can not occur the transmission with the higher priority may be transmitted instead of the lower priority transmission.

In some examples, the first radio205has an upcoming reception and the second radio210has an upcoming transmission. If the upcoming transmission from the second radio210is higher priority than the upcoming reception at the first radio205, the second radio210may size the A-MPDU/A-MSDU370accordingly and/or may not adjust the transmission power of the upcoming transmission. If the priority of the upcoming transmission from the second radio210is lower than, or equal to, the priority of the upcoming reception at the first radio205, the size of the A-MPDU/A-MSDU370may be determined so as to avoid the reception at the first radio205and/or transmission power of the upcoming transmission from the second radio210may not be adjusted. In some cases, transmission is allowed if the transmission has a higher priority than the reception. The transmission may be allowed even if the priority is lower than the priority of the reception if the transmit power is below a threshold.

In some cases, dynamic aggregation, or determining a number of MPDUs/MSDUs375to combine into an A-MPDU/A-MSDU370, is not used and/or not possible. In some examples, the first radio205and the second radio210both have upcoming transmissions. If the upcoming transmission from the second radio210is higher priority than the upcoming transmission from the first radio205, the second radio210may transmit without adjusting the transmission power. If the priority of the upcoming transmission from the second radio210is lower than the priority of the upcoming transmission from the first radio205, the second radio210may transmit with an adjusted transmission power if the two transmissions will overlap and concurrent transmission may occur, may transmit without adjusting transmission power if the two transmissions will not overlap, and may abort or delay transmission otherwise. If the priority of the upcoming transmission from the second radio210is equal to the priority of the upcoming transmission from the first radio205, the second radio210may transmit with an adjusted transmission power if the two transmissions will overlap and concurrent transmission may occur, and may transmit without adjusting transmission power otherwise.

In some cases, dynamic aggregation, or determining a number of MPDUs/MSDUs375to combine into an A-MPDU/A-MSDU370, is not used and/or not possible. In some examples, the first radio205has an upcoming reception and the second radio210has an upcoming transmission. If the upcoming transmission from the second radio210is higher priority than the upcoming reception at the first radio205, the second radio210, may transmit without adjusting the transmission power. If the priority of the upcoming transmission from the second radio210is lower than, or equal to, the priority of the upcoming reception at the first radio205, the second radio210may transmit without adjusting the transmission power if the transmission and reception will not overlap, and may abort or delay transmission otherwise.

In some examples, the second radio210may be searching while the first radio205is attempting to receive, and the first radio205is allowed to receive. If the second radio210has an upcoming transmission and the first radio205has an upcoming reception, the first radio205may be allowed to receive and the second radio210may abort or delay its transmission if the priority of the reception at the first radio205is greater than the priority of the transmission from the second radio210. If the second radio210has an upcoming transmission and the first radio205has an upcoming reception, the first radio205may abort reception and the second radio210may transmit its transmission if the priority of the reception at the first radio205is less than or equal to the priority of the transmission from the second radio210. If the second radio210and the first radio205both have upcoming receptions the first radio205may be allowed to receive.

In some cases, if the first radio205is idle and the second radio205has an upcoming reception, the second radio205may be allowed to receive. If the first radio205has an upcoming transmission and the second radio210has an upcoming reception, the second radio may be allowed to receive and the transmission from first radio205may be aborted or delayed if the upcoming reception at the second radio210has higher priority than the upcoming transmission from the first radio205. Otherwise, if the upcoming transmission from the first radio205is greater than, or equal to, the priority of the upcoming reception at the second radio210, the transmission from the first radio205may be allowed while the reception at the second radio210may be aborted or delayed. If the first radio205and the second radio210both have upcoming receptions then the second radio210may be allowed to receive.

In some examples, when the first radio205is transmitting, only packet detection is disabled at the second radio210, rather than shutting down the physical (PHY) layer. This allows existing packets being processed to finish. Further, hardware such as analog digital converters (ADC) may be shut down at the second radio210during transmission from the first radio205to save power. In some cases, if a transmission from the second radio210is aborted, such as due to a reception at the first radio205, the second radio210may transition to listening for receptions and prepare to receive a B-ACK as it normally would.

FIG. 4Ashows a block diagram illustrating a device400configured for wireless communication in accordance with various examples. The device400may be a station115-b, which may be an example of a station115ofFIG. 1 or 2. The device400may be an example of an AP105ofFIG. 1 or 2. In some examples, the device400is a processor. The device400may include a first radio205-c, a communication manager415, and/or a second radio210-c. The first radio205-cmay be an example of a first radio205ofFIG. 2, 3A, or3B. The second radio210-cmay be an example of a second radio210ofFIG. 2, 3A, or3B. In some examples, the communication manager415may be configured to implement aspects discussed above with respect to the communication manager ofFIG. 3C. In some cases, the communication manager415is a part of the first radio205-cand/or the second radio210-c. In some examples, the communication manager415is a separate entity from the first radio205-cand/or the second radio210-c. The first radio205-c, communication manager415, and/or second radio210-cmay include an integrated processor; they may also include an oscillator and/or a timer. Aspects of the first radio205-c, the communication manager415, and/or the second radio210-cmay be implemented on separate chips or on a common chip.

The first radio205-cmay transmit signals to and/or receive signals from non-WLAN devices110and/or stations115. The first radio205-cmay perform operations, or parts of operations, of the system and call flow described above inFIG. 3A or 3B, including transmitting a first scheduling message305, determining a transmission window310, aggregating a frame315, determining whether transmissions may occur in parallel325, coordinating communications330, receiving a second scheduling message340, and/or determining whether to delay a transmission345.

The device may include a communication manager415. The communication manager415may manage communications between different RATs and/or different radios, such as the first radio205-cand the second radio210-c. The communication manager may perform operations, or parts of operations, of the system and call flow described above inFIG. 3A or 3B, including preparing and/or analyzing a scheduling message305or340, determining a transmission window310, aggregating a frame315, determining whether transmissions may occur in parallel325, coordinating communications330, and/or determining whether to delay a transmission335or345. The communication manager415may include a database. The database may store information relating to APs105, stations115, non-WLAN devices110, the first radio205-c, and/or the second radio210-c.

The second radio210-cmay transmit signals to and/or receive signals from APs105and/or stations115. The second radio210-cmay perform operations, or parts of operations, of the system and call flow described above inFIG. 3A or 3B, including receiving a first scheduling message305, determining a transmission window310, aggregating a frame315, transmitting an aggregate frame320, determining whether transmissions may occur in parallel325, coordinating communications330, determining whether to delay a transmission335, and/or transmitting a second scheduling message340.

FIG. 4Bshows a block diagram of a device400-aconfigured for wireless communication in accordance with various examples. The device400-amay be an example of the device400ofFIG. 4A; and the device400-amay perform the same or similar functions as described above for device400. In some examples, the device400-ais a station115-c, which may include one or more aspects of the stations115or other mobile devices described above with reference to any or all ofFIGS. 1, 2, and 4A. In some examples, the device400-ais an example of an AP105described above with reference to any or all ofFIGS. 1, 2, and 4A. The device400-amay also be a processor. In some cases, the device400-aincludes a first radio205-d, which may be an example of first radios205described above with reference to any or all ofFIGS. 2, 3A, 3B, and 4A; and the first radio205-dmay perform the same or similar functions as described above for first radio205. In some cases, the device400-aincludes a second radio210-d, which may be an example of second radios210described above with reference to any or all ofFIGS. 2, 3A, 3B, and 4A; and the second radio210-dmay perform the same or similar functions as described above for second radio210.

In some examples, the device400-aincludes a communication manager415-a, which may be an example of the communication manager415ofFIG. 4A. The communication manager415-amay include a message scheduler420. The message scheduler420may perform operations, or parts of operations, of the system and call flow described above inFIG. 3A or 3B, such as preparing and/or analyzing scheduling messages305or340, and/or determining a transmission window310.

In some examples, the device400-aincludes a parallel transmission evaluator425. The parallel transmission evaluator425may perform operations, or parts of operations, of the system and call flow described above inFIG. 3B, such as determining whether transmissions may occur in parallel325.

In some examples, the device400-aincludes a communication coordinator430. The communication coordinator430may perform operations, or parts of operations, of the system and call flow described above inFIG. 3B, such as coordinating communications330.

In some examples, the device400-aincludes a transmission delayer435. The transmission delayer435may perform operations, or parts of operations, of the system and call flow described above inFIG. 3B, such as determining whether to delay a transmission335or345, delaying a transmission, and/or determining a time to delay a transmission.

In some examples, the device400-aincludes a data unit manager440. The data unit manager440may perform operations, or parts of operations, of the system and call flow described above inFIG. 3A, such as determining a transmission window310and/or aggregating a frame315.

According to some examples, the components of the devices400and/or400-aare, individually or collectively, implemented with an application-specific integrated circuit (ASIC) adapted to perform some or all of the applicable functions in hardware. In other examples, the functions of device400and/or400-aare performed by a processing unit (or core), on an one integrated circuit (IC). In other examples, other types of integrated circuits are used (e.g., Structured/Platform ASICs, field-programmable gate arrays (FPGAs), and other Semi-Custom ICs), which may be programmed in any manner known in the art. The functions of each unit may also be implemented, in whole or in part, with instructions embodied in a memory, formatted to be executed by a general or application-specific processor.

FIG. 5is a block diagram500of a station115-dconfigured for wireless communication, in accordance with various examples. The station115-dmay have any of various configurations, such as personal computers (e.g., laptop computers, netbook computers, tablet computers, etc.), cellular telephones, PDAs, smartphones, digital video recorders (DVRs), internet appliances, gaming consoles, e-readers, etc. The station115-dmay have an internal power supply (not shown), such as a small battery, to facilitate mobile operation. In some examples, the station115-dmay be an example of the stations115ofFIGS. 1, 2, 4A, and/or4B.

The station115-dmay generally include components for bi-directional voice and data communications including components for transmitting communications and components for receiving communications. The station115-dmay include a processor570, a memory580, transmitter/modulators510, receiver/demodulators515, and one or more antenna(s)535, which each may communicate, directly or indirectly, with each other (e.g., via a bus575).

The station115-dmay include multiple antennas535capable of concurrently transmitting and/or receiving multiple wireless transmissions via transmitter/modulators510and receiver/demodulators515. For example, the station115-dmay have X antennas535, M transmitter/modulators510, and R receiver/demodulators515. The transmitter/modulators510may be configured to transmit signals via one or more of the antennas535to APs105, non-WLAN devices110, and/or other stations115. The transmitter/modulators510may include a modem configured to modulate packets and provide the modulated packets to the antennas535for transmission. The receiver/demodulators515may be configured to receive, perform RF processing, and demodulate packets received from one or more of the antennas535. In some examples, the station115-dmay have one receiver/demodulator515for each antenna535(i.e., R=X), while in other examples R may be less than or greater than X. The transmitter/modulators510and receiver/demodulators515may be capable of concurrently communicating with multiple APs105, non-WLAN devices110, and/or stations115via multiple MIMO layers and/or component carriers. In some cases, at least one transmitter/modulator510, receiver/demodulator515, and/or antenna535is a part of a first radio, such as first radio205, employing a first RAT. In some cases, at least one transmitter/modulator510, receiver/demodulator515, and/or antenna535is a part of a second radio, such as second radio210, employing a second RAT.

According to the architecture ofFIG. 5, the station115-dmay also include communication manager415-b. By way of example, communication manager415-bmay be a component of the station115-din communication with some or all of the other components of the station115-dvia bus575. Alternatively, functionality of the communication manager415-bmay be implemented as a component of the transmitter/modulators510, the receiver/demodulators515, as a computer program product, and/or as a controller element of the processor570.

The memory580may include random access memory (RAM) and read-only memory (ROM). The memory580may store computer-readable, computer-executable software/firmware code585containing instructions that are configured to, when executed, cause the processor570to perform various functions described herein (e.g., determine whether transmissions may occur in parallel, coordinate communications, delay transmissions, prepare/analyze scheduling messages, etc.). Alternatively, the software/firmware code585may not be directly executable by the processor570but be configured to cause a computer (e.g., when compiled and executed) to perform functions described herein.

The processor570may include an intelligent hardware device, e.g., a central processing unit (CPU), a microcontroller, an application-specific integrated circuit (ASIC), etc. The station115-dmay include a speech encoder (not shown) configured to receive audio via a microphone, convert the audio into packets (e.g., 20 ms in length, 30 ms in length, etc.) representative of the received audio, provide the audio packets to the transmitter/modulators510, and provide indications of whether a user is speaking.

The station115-dmay be configured to implement aspects discussed above with respect to stations115ofFIGS. 1, 2, 4A, and/or4B, or first radios205and/or second radios210ofFIGS. 2, 3A, 3B, 4A, and/or4B, and may not be repeated here for the sake of brevity. Thus, communication manager415-bmay include the modules and functionality described above with reference to communication manager415ofFIG. 4Aand/or communication manager415-aofFIG. 4B. Additionally or alternatively, communication manager415-bmay perform the method600described with reference toFIG. 6, the method700described with reference toFIG. 7, and/or the method800described with reference toFIG. 8.

At block605, a second radio of the station may receive a first scheduling message from a first radio of the station. The two radios may employ different RATs. In certain examples, the functions of block605may be performed by the second radio210-cor communication manager415ofFIG. 4A, and/or the message scheduler420ofFIG. 4B. The first scheduling message may be transmitted to the second radio210-cover, for example, an application programming interference (API) or other connection between the radios210. The first scheduling message may include details about a planned first transmission over the first radio, such as timing information, transmission power, relative priority, and/or other information about the first transmission that may allow the second radio210-cto determine whether collisions with a second transmission by the second radio210-care possible, and in the event that a potential scheduling collision exists, how to reduce or mitigate cross-interference between the two radios.

At block610, the station115and/or AP105may determine whether the first radio and a second radio employing a second RAT can transmit in parallel based in part on the first scheduling message. For example, the determination of whether the first radio and the second radio can transmit in parallel may be based on the relative importance (i.e., priority) of a first transmission by the first radio in comparison with a second transmission by the second radio. For example, if the first transmission is considered to have a higher priority than the second transmission, the second radio may not be permitted to transmit the second transmission while the first radio is transmitting the first transmission. Thus, the second radio may have to delay or truncate the second transmission to avoid transmitting in parallel with the first transmission. The same principles may apply in reverse. On the other hand, if each of the transmissions is assigned a priority lower than a threshold, or if interference from a lower-priority transmission is unlikely to interfere with a higher-priority transmission (e.g., due to range considerations, etc.), parallel transmission by the two radios may be permissible. In certain examples, the functions of block610may be performed by the communication manager415ofFIG. 4A, and/or the parallel transmission evaluator425ofFIG. 4B. In some examples, determining whether the first radio and the second radio can transmit in parallel may include identifying a transmission window for the second radio. The transmission window may be derived directly from the first scheduling message and/or based on a receive window derived from the first scheduling message.

At block615, the station115and/or AP105may coordinate the first transmission on the first radio and a second transmission on the second radio based on the determination. In certain examples, the functions of block615may be performed by the communication manager415ofFIG. 4A, and/or the communication coordinator430ofFIG. 4B.

At block705, a second radio of the station may receive a first scheduling message. The station may include the second radio and a first radio, and the two radios may employ different RATs. In certain examples, the functions of block705may be performed by the second radio210-cor communication manager415ofFIG. 4A, and/or the message scheduler420ofFIG. 4B. The first scheduling message may be transmitted to the second radio210-cover, for example, an application programming interference (API) or other connection between the radios210. The first scheduling message may include details about a planned first transmission over the first radio, such as timing information, transmission power, relative priority, and/or other information about the first transmission that may allow the second radio210-cto determine whether collisions with a second transmission by the second radio210-care possible, and in the event that a potential scheduling collision exists, how to reduce or mitigate cross-interference between the two radios.

At block710, the station115and/or AP105may determine whether a first radio employing a first RAT and the second radio employing a second RAT can transmit in parallel based at least in part on the first scheduling message. For example, the determination of whether the first radio and the second radio can transmit in parallel may be based on the relative importance (i.e., priority) of a first transmission by the first radio in comparison with a second transmission by the second radio. For example, if the first transmission is considered to have a higher priority than the second transmission, the second radio may not be permitted to transmit the second transmission while the first radio is transmitting the first transmission. Thus, the second radio may have to delay or truncate the second transmission to avoid transmitting in parallel with the first transmission. The same principles may apply in reverse. On the other hand, if each of the transmissions is assigned a priority lower than a threshold, or if interference from a lower-priority transmission is unlikely to interfere with a higher-priority transmission (e.g., due to range considerations, etc.), parallel transmission by the two radios may be permissible. In certain examples, the functions of block710may be performed by the communication manager415ofFIG. 4A, and/or the parallel transmission evaluator425ofFIG. 4B.

At block715, the station115and/or AP105may coordinate a first transmission on the first radio with a second transmission on the second radio based at least in part on the determination. In certain examples, the functions of block715may be performed by the communication manager415ofFIG. 4A, and/or the communication coordinator430ofFIG. 4B.

At block805, the a second radio of the station115may receive a first scheduling message. In certain examples, the functions of block805may be performed by the second radio210-cor communication manager415ofFIG. 4A, and/or the message scheduler420ofFIG. 4B.

At block810, the station115and/or AP105may determine whether a first radio employing a first RAT and the second radio employing a second RAT can transmit in parallel based at least in part on the first scheduling message. In certain examples, the functions of block810may be performed by the communication manager415ofFIG. 4A, and/or the parallel transmission evaluator425ofFIG. 4B.

At block815, the station115and/or AP105may coordinate a first transmission on the first radio with a second transmission on the second radio based at least in part on the determination. In certain examples, the functions of block815may be performed by the communication manager415ofFIG. 4A, and/or the communication coordinator430ofFIG. 4B.

At block820, the station115and/or AP105may delay the second transmission from the second radio based at least in part on the received first scheduling message. In certain examples, the functions of block820may be performed by the communication manager415ofFIG. 4A, and/or the transmission delayer435ofFIG. 4B.

At block825, the station115may transmit to the first radio a second scheduling message in response to the first scheduling message, the second scheduling message including a parameter from the group consisting of: a transmission power of the second transmission, a priority of the second transmission, and combinations thereof. In certain examples, the functions of block825may be performed by the communication manager415ofFIG. 4A, and/or the message scheduler420ofFIG. 4B.

At block830, the station115and/or AP105may delay the first transmission from the first radio based at least in part on the second scheduling message. In certain examples, the functions of block830may be performed by the communication manager415ofFIG. 4A, and/or the transmission delayer435ofFIG. 4B.

It will be apparent to those skilled in the art that the methods600,700, and800are but example implementations of the tools and techniques described herein. The methods600,700, and800may be rearranged or otherwise modified such that other implementations are possible.