As wireless technologies proliferate, mobile wireless devices incorporate a multiplicity of different wireless standards. For example, a cellular telephone can accommodate a cellular network (e.g., Universal Mobile Telecommunications System), a wireless local area network (“WLAN”), such as IEEE 802.11, and a wireless personal area network (“WPAN”) (e.g., a Bluetooth® network). Including WPAN access makes utilization of a wireless device more convenient by allowing use of wireless headsets and other short-range wireless appliances.
Some of the various wireless standards adopted for use in mobile devices use adjacent and/or overlapping portions of the wireless spectrum. For example, both Bluetooth networks and IEEE 802.11b/g/n networks occupy the 2.45 GHz band.
A system and method for optimizing medium utilization with coexisting wireless networks is described herein. In one embodiment, a wireless device includes a first wireless transceiver, a second wireless transceiver, and logic configured to determine which of the first and second wireless transceivers is enabled at a given time. The first wireless transceiver is configured for operation with a first wireless network. The second wireless transceiver is configured for operation with a second wireless network coexisting with the first wireless network. The logic is further configured to predict an arrival time of a transmission from a different device and to enable the second wireless transceiver based on the predicted arrival time.
In another embodiment, a method includes determining, by a first wireless device, a predicted arrival time of a transmission from a second wireless device. A first wireless transceiver in the first wireless device is enabled based on the predicted arrival time.
In a further embodiment, a system includes a master wireless device and a slave wireless device. The slave wireless device is configured to operate on a first wireless network and to operate on a second wireless network different from the first wireless network. The master wireless device is configured to emit transmissions determining when the slave device transmits on the second network. The slave device is further configured to predict an arrival time of a transmission by the master device, and to enable operation on the second network based on the predicted arrival time.
In a yet further embodiment, an apparatus includes a transmission analyzer and a transmission predictor. The transmission analyzer is configured to gather timing information associated with transmissions by a master device. The transmission predictor is configured to determine an estimated arrival time of a transmission by the master device based on the gathered timing information.
For a detailed description of exemplary embodiments of the invention, reference will now be made to the accompanying drawings in which:
Certain terms are used throughout the following description and claims to refer to particular system components. As one skilled in the art will appreciate, companies may refer to the same component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . .” Also, the term “couple” or “couples” is intended to mean either an indirect or direct electrical connection. Thus, if a first device couples to a second device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections.
The following discussion is directed to various embodiments of the invention. Although one or more of these embodiments may be preferred, the embodiments disclosed should not be interpreted, or otherwise used, as limiting the scope of the disclosure, including the claims. In addition, one skilled in the art will understand that the following description has broad application, and the discussion of any embodiment is meant only to be exemplary of that embodiment, and not intended to intimate that the scope of the disclosure, including the claims, is limited to that embodiment.
Next generation mobile devices implement a plurality of wireless technologies to access different networks such as WiMAX® networks, wireless local area networks (“WLAN”) networks (e.g., IEEE 802.11b/g/n networks), LTE® networks, wireless universal serial bus, or Bluetooth® (“BT”) networks, etc. Such devices are referred to herein as “combo” devices. While increased access to these technologies benefit users and operators alike, interference among different technologies, particularly onboard a single combo device, introduces difficulties during concurrent operation of these technologies. For example, WLAN (in 2.4-2.5 GHz) and WiMAX (in 2.3-2.4 GHz and 2.5-2.7 GHz) technologies operate at relatively close frequency bands with respect to each other—so close, that the out-of-band emission by either technology may saturate the receiver of the other technology resulting in potential blocking. Thus, the interference between different technologies operating in the same combo device creates coexistence problems.
Coexistence problems in a wireless device may be addressed by time multiplexing access to the medium by the various transceivers associated with the different networks. Unfortunately, time multiplexing can result in inefficient use of the medium, thereby reducing performance on at least one of the coexisting wireless networks.
Embodiments of the present disclosure provide improved performance in systems using coexisting wireless networks where one of the networks implements a master-slave protocol. In a wireless network implementing a master-slave protocol (e.g., a BT network), slave device transmission is triggered by reception of a polling frame transmitted by a master device. Embodiments disclosed herein are configured to learn the transmission timing pattern of poll frames emitted by a master device, and enable access to the wireless network including the master device immediately prior to (i.e., in sufficient time to configure the transceiver to properly receive the predicted frame) the predicted arrival time of the poll frame. Access to a different wireless network is enabled up to the predicted arrival time of the poll frame, thereby providing improved utilization of the different wireless network.
The wireless device 106 also includes a transceiver 108 configured for communication via a second wireless network using a protocol different from that of the first wireless network. The first and second transceivers may interfere with one another if operated concurrently on adjacent or overlapping bands. Consequently the wireless device 106 may time multiplex operation of the transceivers 108, 110 to mitigate such interference.
The wireless device 102 includes a transceiver 104 configured to communicate with the wireless device 106 via the second wireless network. The wireless device 102 is a master device on the second network, and can control the timing of transmissions 118 by the wireless device 106 (i.e., the slave device) on the second wireless network by transmitting polling frames 116. Reception of a polling frame by the wireless device 106 indicates that the transceiver 108 can be enabled to transmit via the second wireless network. In some embodiments of the system 100, the second wireless network is a BT network. In other embodiments of the system 100, the second wireless network is a network according to another standard utilizing a master-slave protocol.
To optimize medium access by the transceivers 108, 110, the wireless device 106 monitors polling frame transmissions 116 by the wireless device 102, analyzes the timing of the transmissions 116, and identifies a pattern of the transmissions 116. The wireless device 106 internally approximates the transmission 116 timing to predict the arrival time of a poll frame, and enables the transceiver 108 to access the medium a predetermined time interval prior to the predicted arrival time of the poll frame. The transceiver 110 is enabled to access the first wireless network up to the time that the transceiver 108 is enabled, thereby allocating medium time to the transceiver 110 that would be lost in a system not basing time multiplexing on poll frame prediction.
In
The intervals between poll frame 202 transmissions and the patterns of poll frame 202 transmission timing may vary for different master devices (e.g., master devices produced by different manufacturers). For various master devices 102, the time interval between poll frames 202 may increase linearly, exponentially, or according to a different pattern. The slave device 106 monitors the poll frame 202 transmissions, and identifies the pattern of poll frame 202 transmission timing used by the master device 102. Having identified the pattern of transmission timing of the master device 102, the slave device 106 can predict the arrival time of a poll frame 202, and enable the transceiver 108 just prior to the predicted arrival time.
In
The master transmission timing analyzer 304 measures the time between successive poll frames 202 transmitted by the master device 102, stores the measured times, and analyzes the measured times to identify a pattern of poll frame 202 transmission timing. For example, based on the measured poll frame intervals the analyzer 304 may identify a pattern wherein the time intervals between poll frames 202 double with each successive poll frame 202 until the slave device 106 transmits a packet, after which the delay preceding the next poll frame 202 is reduced to a smaller initial value. The analyzer 304 may be preprogrammed to recognize various known timing patterns, for example, arithmetic or geometric progressions, exponential functions, etc. Alternatively, the timing analyzer 304 may store the measured time interval associated with (preceding or following) each poll frame 202, allowing the master transmission timing pattern to be estimated by sequentially executing the stored delays. After the transmission timing analyzer 304 identifies the pattern of poll frame 202 transmission, information defining the pattern is transferred to the master transmission predictor 302.
The transceiver 108 may be enabled to receive poll frame 202 transmissions for analysis by the timing analyzer 304 during time periods when the transceiver 110 is not being used or when traffic on the first wireless network is light. In some embodiments of the wireless device 106, the transceiver 108 is disabled from transmitting in response to a received polling frame 202 to induce the master device 102 to time the poll frame 202 transmissions as it would if the transceiver 108 were disabled. Thus, the timing analyzer 304 may be presented with poll frame 202 transmission timing representative of the full range and pattern of transmission timing produced by the master device 102. The analyzer 304 may determine that a complete pattern of poll frame 202 transmission timing has been induced by, for example, identifying a repeated pattern of inter-transmission delays.
The transmission predictor 302 includes storage 308 for storing transmission pattern information collected by the timing analyzer 304, and in some embodiments, includes a pattern state machine 306 for approximating the timing of the master poll frame 202 transmissions. The state machine 306 may be configured to implement the successive poll frame 202 delays measured by the timing analyzer 304 and/or predicted by an identified timing pattern, and to transition to an initial state based on criteria identified by the timing analyzer 304 as setting poll frame 202 transmission timing to an initial state (e.g., a transmission by the transceiver 110 in response to a poll frame 202). By replicating the poll frame 202 transmission timing, the transmission predictor 302 can predict the arrival time of a poll frame 202, and based on the predicted arrival time can, when data is available for transmission in the wireless device 106, enable the transceiver 108 to receive the poll frame 202 shortly before (e.g., <1 ms before) the arrival of the poll frame 202.
For some embodiments of the wireless device 102, e.g., Bluetooth embodiments, the predicted arrival time may be accurate to within tens of microseconds. Bluetooth scheduling is based on 625 microsecond long slots. the timing of which is known to the wireless device 106. For a Bluetooth device, the intervals between poll frames 202 are transmitted at a multiple of the slot time. Consequently, for such embodiments, the transmission predictor 302 can enable the transceiver 108 to receive the poll frame 202 100 microseconds or less prior to the predicted arrival time.
Some embodiments of the transmission predictor 302 predict the completion time of the poll frame 202 rather than or in addition to the arrival time. Such embodiments can extend the time allocated to the first wireless network by enabling transceiver 110 through the predicted poll frame 202, and enabling the transceiver 108 (and disabling the transceiver 110) after the predicted completion of the poll frame 202.
Some embodiments of the transmission predictor 302 may include a neural network. The timing information acquired by the transmission timing analyzer 304 can be provided to the neural network, and neural network can output a predicted arrival time based on the timing information.
Some embodiments of the wireless device 102 can be identified by information provided from the device 102, for example a media access controller address or device ID. If the logic 310 has previously identified and stored a transmission timing pattern for the device 102 and the transmission pattern of the device 102 is fixed, then the logic 310 need not reanalyze the transmission timing, but can instead predict poll frame 202 arrival times based on the previously identified pattern. In some embodiments, timing patterns used by various embodiments of the device 102 are preprogrammed into the pattern storage 308.
Various components of the wireless device 106, including at least some portions of the transceivers 110, 108, the master transmission predictor 302, and the master transmission timing analyzer 304, can be implemented using a processor and software programming that causes the processor to perform the operations described herein. In particular, software programming can be used to cause a processor to detect reception of poll frames 202, to measure the time interval between poll frames 202, and to identify the pattern of poll frame 202 transmission timing used by the master device 102. Similarly, software programming can be used to cause a processor to predict the arrival time of an expected poll frame 202 based on the identified pattern, and to control the transceivers 110, 108 based on the prediction. Suitable processors include, for example, general-purpose processors, digital signal processors, and microcontrollers. Processor architectures generally include execution units (e.g., fixed point, floating point, integer, etc.), storage (e.g., registers, memory, etc.), instruction decoding, peripherals (e.g., interrupt controllers, timers, direct memory access controllers, etc.), input/output systems (e.g., serial ports, parallel ports, etc.) and various other components and sub-systems. Software programming executable by a processor can be stored in a computer readable storage medium. A computer readable storage medium comprises volatile storage such as random access memory, non-volatile storage (e.g., a hard drive, an optical storage device (e.g., CD or DVD), FLASH storage, or combinations thereof.
Some embodiments can implement the functionality described herein using dedicated circuitry. Some embodiments may use a combination of dedicated circuitry and software executed by a processor. Selection of a hardware or software/processor implementation of embodiments is a design choice based on a variety of factors, such as cost and the ability to incorporate changed or additional functionality in the future.
In block 402, the system 100 is operating. The master device 102 is transmitting poll frames 202 on the second wireless network. The slave device 106 may transmit on the second wireless network responsive to receiving a poll frame 202. The slave device 106 is monitoring the master device 102 poll frame 202 transmissions. The transceiver 108 of the slave device 106 is enabled to receive the transmissions, and may be disabled from transmitting to induce the master device 102 to produce a complete pattern of poll frame 202 transmission timing.
In block 404, the slave device 106 measures the time delays between received poll frame 202 transmissions and analyzes the measured delays to identify a pattern of poll frame 202 transmission timing used by the master device 102. Information defining the measured delays and the identified pattern may be used to approximate the transmission timing and predict the arrival time of a poll frame 202.
In block 406, the slave device 106 is internally replicating the poll frame 202 timing pattern of the master device 102. The slave device 106 can predict the arrival of a poll frame 202 transmission based the previously identified poll frame 202 transmission timing pattern. In some embodiments, the acquired delay and pattern information may be used to configure a state machine 306 in the slave device 106. The state machine 306 approximately reproduces the master device 102 poll frame 202 transmission timing pattern.
In block 408, the slave device 106 has data available for transmission on the second wireless network. Based on a predicted arrival time of a poll frame 202, the slave device 106 enables the transceiver 108 to receive the poll frame 202 transmission from the master device 102 immediately prior to the predicted arrival time of the poll frame 202. The transceiver 110 of the slave device 106 remains enabled until the transceiver 108 is enabled, thereby providing additional access to the first network and optimizing use of the medium.
In block 410, the slave device 106 receives the poll frame 202 transmitted by the master device 102, and responsive to the received poll frame 202 enables the transceiver 108 to transmit a data packet 208.
The above discussion is meant to be illustrative of the principles and various embodiments of the present invention. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.
The present application claims priority to U.S. Provisional Patent Application No. 61/251,000, filed on Oct. 13, 2009, entitled “Bit Polling Schedule Aware Resource Allocation in Coexisting Networks” which is hereby incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61251000 | Oct 2009 | US |