Reducing switching between networks to conserve power and reduce costs

Methods, systems, and devices are described for reducing switches (e.g., ping-pongs) of a wireless communications device between two or more wireless networks. For example, a method includes determining a context of data use of a first wireless network to which a wireless communications device is connected. The method includes determining a time delay associated with performing a switch from the first wireless network to a second wireless network when at least one performance indicator of the first wireless network is below a threshold performance level needed to support the context of data use. The method further includes performing the switch from the first wireless network to the second wireless network in response to the time delay expiring while the at least one performance indicator remains below the threshold performance level.

BACKGROUND

The following relates generally to wireless communication, and more specifically to switching between two wireless networks. 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, bandwidth, and power). Examples of such multiple-access systems include code-division multiple access (CDMA) systems, time-division multiple access (TDMA) systems, frequency-division multiple access (FDMA) systems, and orthogonal frequency-division multiple access (OFDMA) systems used commonly for communication in Cellular networks, Wi-Fi networks, and the like.

Generally, a wireless multiple-access communications system may include a number of devices (or nodes or stations). A device, such as a wireless communications device, typically favors staying connected to an established wireless network connection (e.g., a Wi-Fi network) until the signal strength weakens or under-performs. When the signal strength of the wireless network connection weakens beyond a threshold, the wireless communications device may switch to another available connection (e.g., a Long Term Evolution (LTE) network) that has signal strength above a threshold. In some cases, the device may connect to the second wireless connection for a period of time before the device reconnects to the first wireless connection. This period of time may be short such that the switch is either not detected by a user and/or does not affect the user experience provided by the device. This type of short handover is referred to as a ping-pong herein. Thus, in some cases, a device may perform unnecessary ping-pongs, which may result in greater battery drain and more mobile data use.

SUMMARY

The described features generally relate to one or more improved systems, methods, and/or apparatuses for switching between different wireless networks based on at least one parameter of data use of one of the networks. For example, a wireless communications device may be connected to a first wireless network, such as a Wi-Fi network. A user of the wireless communications device may or may not be using the Wi-Fi network to exchange data at any given time. In a situation where the wireless communications device begins to receive only a weak or under-performing signal from the Wi-Fi network, the wireless communications device may consider switching to a second network, such as an LTE network, if one is available. As described herein, the wireless communications device may or may not actually switch to the LTE network based on at least one factor, including, among other examples, an amount and/or frequency of data use of the Wi-Fi network, a context of data use of the Wi-Fi network, and a location of the wireless communications device with respect to the Wi-Fi network.

In a first set of illustrative examples, a method for wireless communication is described. In one configuration, the method includes determining a context of data use of a first wireless network to which a wireless communications device is connected. The method may also include determining a time delay associated with performing a switch from the first wireless network to a second wireless network when at least one performance indicator of the first wireless network is below a threshold performance level needed to support the context of data use. The method may also include performing the switch from the first wireless network to the second wireless network in response to the time delay expiring while the at least one performance indicator remains below the threshold performance level.

In another example, the method also includes determining an amount of data use, a frequency of data use, or a combination thereof and maintaining a connection of the wireless communications device to the first wireless network based, at least in part on, the determined amount or frequency of data use. In some examples of the method, the amount of data use is determined to be intermittent, the frequency of data use is determined to be intermittent, or a combination thereof.

In some examples of the method, determining the time delay further includes one of setting the time delay to zero responsive to the context of data use is a real-time data use, setting the time delay to a first time period that is less than a buffer size time period responsive to the context of data use being a streaming content data use, setting the time delay to a second time period responsive to the context of the data use being an intermittent data use, and setting the time delay to a third time period longer than the second time period responsive to the context of the data use being no data use for a fourth time period.

In another example, the method also includes determining a geographical location of the wireless communications device and adjusting the time delay responsive to the wireless communications device being located within proximity of the first wireless network. In further examples, the method may include maintaining the connection to the first wireless network responsive to the wireless communications device being located within proximity of the first wireless network. The method may also include determining a previous pattern of travel of the wireless communications device within a predetermined distance of the first wireless network and adjusting the time delay based at least in part on the previous pattern of travel. In some examples of the method, adjusting the time delay further includes adjusting the time delay to a first time period if the previous pattern of travel of the wireless communications device indicates the wireless communications device will return or remain within proximity of the first wireless network during the first time period.

The at least one performance indicator may be a signal strength of the first wireless network, a signal quality of the first wireless network, a profile of the first wireless network, or a combination thereof. In some examples, the method may further include determining the at least one performance indicator is above the threshold performance level for the first wireless network. The method may also include performing a switch back to the first wireless network responsive to the at least one performance indicator being above the threshold performance level and based at least in part on a context of data use of the second wireless network.

In some examples of the method, the first wireless network and the second wireless network use different protocols. Further, the first wireless network and the second wireless network may use different channels or frequencies for a same protocol. In another example, the method further includes determining a value corresponding to the first wireless network based at least in part on the context of data use of the first wireless network by the wireless communications device, wherein determining the time delay is further based on the value.

In a second set of illustrative examples, an apparatus for wireless communication is described. In one configuration, the apparatus may include means for determining a context of data use of a first wireless network to which a wireless communications device is connected. The apparatus may also include means for determining a time delay associated with performing a switch from the first wireless network to a second wireless network when at least one performance indicator of the first wireless network is below a threshold performance level needed to support the context of data use. Further, the apparatus may include means for performing a switch from the first wireless network to the second wireless network in response to the time delay expiring while the at least one performance indicator remains below the threshold performance level.

In a third set of illustrative examples, a device for wireless communication is described. In one configuration, the device may include a data use detector to determine a context of data use of a first wireless network to which a wireless communications device is connected. The device may further include a time delay module to determine a time delay associated with performing a switch from the first wireless network to a second wireless network when at least one performance indicator of the first wireless network is below a threshold performance level needed to support the context of data use. Some examples of the device further include a switch manager to perform a switch from the first wireless network to the second wireless network in response to the time delay expiring while the at least one performance indicator remains below the threshold performance level.

In a fourth set of illustrative examples, a non-transitory computer-readable storage medium storing computer-executable code for wireless communication is described. In one configuration, the non-transitory computer-readable medium storing may include instructions executable by a processor to determine a context of data use of a first wireless network to which a wireless communications device is connected. The executable instructions may further cause the processor to determine a time delay associated with performing a switch when at least one performance indicator of the first wireless network is below a threshold performance level needed to support the context of data use. The executable instructions may also cause the processor to perform a switch to a second wireless network in response to the time delay expiring while the at least one performance indicator remains below the threshold performance level.

DETAILED DESCRIPTION

A wireless communications device may attempt to stay connected to an established network connection (e.g., Wi-Fi) for data use until the signal strength of the network weakens or the signal under-performs. When the signal becomes weak or under-performs, the device may switch to another available connection (e.g., LTE) that has a better performance indicator (such as signal strength or quality). However, in conventional systems, as soon as the signal strength of the original network becomes stronger, the device may switch back to the original network. In some situations, the device may remain connected to the second network for only a few seconds before going back to the original network. For example, the device may be connected to Wi-Fi, switch to LTE, and then switch back to Wi-Fi. The switching of a device from an original network to another and then back to the original network within a short time period is referred to herein as a “ping-pong.” A “short time” may be defined as a period of time during which this switch in networks is either not noticed by an end-user and/or does not affect the user experience of the device. User experience may not be affected if, for example, the use of the device is not interrupted or changed due to the switch. Ping-pongs may require greater power to perform than remaining on the original network, which may increase drain of a battery of a mobile device. Further, ping-pongs can result in increased data use than remaining on the original network, which may increase the cost of using the device.

Examples described herein determine when to perform switches based on at least one of a number of criteria. A switch, or handoff, refers to the process by which an ongoing data session of one channel of a network is transferred to another channel of the same network or to another network. For example, a wireless communications device may implement an algorithm to determine when to switch from a Wi-Fi connection to another available wireless connection with better signal strength (e.g., LTE) when the Wi-Fi signal strength is low. The algorithm may reduce the number of switches over conventional systems that automatically perform switches based on signal strength. These concepts can also be applied to switches between two Wi-Fi networks having different frequency ranges. The device may perform a switch when the described conditions are met, reducing the occurrence of switches, thereby potentially saving power and/or reducing data costs.

FIG. 1shows a block diagram of a wireless communications system100, in accordance with various aspects of the present disclosure. For illustrative purposes, the wireless communications system100is described herein as including a LTE/LTE-A network. However, the wireless communications system100may include any type of network or more than one type of network, including wireless local area network (WLAN). The wireless communications system100includes base stations105, wireless communications devices115(e.g., UEs or other mobile devices), and a core network130. The core network130may provide user authentication, access authorization, tracking, Internet Protocol (IP) connectivity, and other access, routing, or mobility functions. The base stations105interface with the core network130through backhaul links132(e.g., S1, etc.) and may perform radio configuration and scheduling for communication with the UEs115, or may operate under the control of a base station controller. In various examples, the base stations105may communicate, either directly or indirectly (e.g., through core network130), with each other over backhaul links134(e.g., X1, etc.), which may be wired or wireless communication links.

The base stations105may wirelessly communicate with the UEs115via at least one base station antenna. Each of the base station105may provide communication coverage for a respective geographic coverage area110. In some examples, base stations105may be referred to as a base transceiver station, a radio base station, an access point, a radio transceiver, a NodeB, eNodeB (eNB), Home NodeB, a Home eNodeB, or some other suitable terminology. In other examples, the base stations105may be access points, for example, and provide WLAN coverage. The geographic coverage area110for a base station105may be divided into sectors making up only a portion of the coverage area. The wireless communications system100may include base stations105of different types (e.g., macro and/or small cell base stations). There may be overlapping geographic coverage areas110for different technologies.

In some examples, the wireless communications system100is an LTE/LTE-A network. In LTE/LTE-A networks, the term evolved Node B (eNB) may be generally used to describe the base stations105, while the term UE may be generally used to describe the UEs115. The wireless communications system100may be a Heterogeneous LTE/LTE-A network in which different types of eNBs provide coverage for various geographical regions. For example, each eNB or base station105may provide communication coverage for a macro cell, a small cell, and/or other types of cell. The term “cell” is a 3GPP term that can be used to describe a base station, a carrier or component carrier associated with a base station, or a coverage area (e.g., sector, etc.) of a carrier or base station, depending on context.

The communication links125shown in wireless communications system100may include uplink (UL) transmissions from a UE115to a base station105, and/or downlink (DL) transmissions, from a base station105to a UE115. The downlink transmissions may also be called forward link transmissions while the uplink transmissions may also be called reverse link transmissions. Each communication link125may include at least one carrier, where each carrier may be a signal made up of multiple sub-carriers (e.g., waveform signals of different frequencies) modulated according to the various radio technologies described above. Each modulated signal may be sent on a different sub-carrier and may carry control information (e.g., reference signals, control channels, etc.), overhead information, user data, etc. The communication links125may transmit bidirectional communications using frequency division duplexing (FDD) (e.g., using paired spectrum resources) or time division duplexing (TDD) operations (e.g., using unpaired spectrum resources). Frame structures for FDD (e.g., frame structure type 1) and TDD (e.g., frame structure type 2) may be defined.

In some embodiments of the wireless communications system100, base stations105and/or UEs115may include multiple antennas for employing antenna diversity schemes to improve communication quality and reliability between base stations105and UEs115. Additionally or alternatively, base stations105and/or UEs115may employ multiple-input, multiple-output (MIMO) techniques that may take advantage of multi-path environments to transmit multiple spatial layers carrying the same or different coded data.

Wireless communications system100may support operation on multiple cells or carriers, a feature which may be referred to as carrier aggregation (CA) or multi-carrier operation. A carrier may also be referred to as a component carrier (CC), a layer, a channel, etc. The terms “carrier,” “component carrier,” “cell,” and “channel” may be used interchangeably herein. A UE115may be configured with multiple downlink CCs and at least one uplink CC for carrier aggregation. Carrier aggregation may be used with both FDD and TDD component carriers.

Occasionally a UE115may experience decreased signal strength of a network to which the UE115is connected. For example, the UE115may be connected to a base station105and determine there is a reduced performance quality (such as signal strength or signal quality) of the connection. The signal strength or quality may be poor for the UE115due to at least one of many factors, including distance from the base station105, interference, being located within a building or other structure that is obstructing signals, and geographical features causing dead zones. When the signal becomes weak or under-performs, the UE115may determine whether to perform a switch to another available channel or network.

For example, if the UE115is at an edge of a geographic coverage area110of a base station105, it may experience a weak or under-performing signal. If the UE115also happens to be within another geographic coverage area110of another base station105and the UE115receives a greater signal strength from that base station105, the UE115may be able to handoff communications to that base station105. In order to determine whether the UE115should perform a switch when the signal strength is weak or under-performs, the UE115may determine if the UE115has any current data use of the network. If not, the UE115may refrain from performing a switch in order to, for example, conserve power or reduce costs. If the UE115is using data on the network, the UE115may determine a context of the data use. The UE115may also determine a time delay based on the context of data use. When the time delay expires and the signal strength remains weak or under-performing, the UE115may perform a switch to another base station105or other network connection.

FIG. 2shows an isometric view diagram of an example wireless communications system, in accordance with various aspects of the present disclosure. The wireless communications system200includes a first wireless communications device115-a(e.g., UE115-a) covered by a first access point105-aand a base station105-b. In this example, the first access point105-aand the base station105-bare illustrated as Wi-Fi access points and will be referred to herein as access points. In other examples, at least one of the stations105-a,105-b, and105-care access points or base stations. In the example shown, the wireless communications system200further includes a second wireless communications device115-b(e.g., UE115-b) that is covered by the first access point105-a, the second access point105-c, and a base station105-b. The base stations105may communicate with the UEs115under the control of a base station controller, which may be part of a core network (such as core network130ofFIG. 1) or the base stations105in various embodiments. Base stations105may communicate control information and/or user data with the core network through at least one backhaul link (such as backhaul links132ofFIG. 1). The backhaul links may be wired and/or wireless communication links. In some embodiments, the base stations105may communicate, either directly or indirectly, with each other over backhaul links, which may be wired or wireless communication links. In some examples, the wireless communications devices115-aand115-bmay be examples of aspects of at least one of the UEs115described with reference toFIG. 1. In some examples, the base stations105-a,105-b, and105-cmay be examples of aspects of at least one of the base stations105described with reference toFIG. 1.

The first access point105-ahas a first geographic coverage area110-a, the base station105-bhas a second geographic coverage area110-b, and the second access point105-chas a third geographic coverage area110-c. As shown inFIG. 2, the first UE115-ais within two coverage areas: the first geographic coverage area110-acorresponding to the first access point105-aand the second geographic coverage area110-bcorresponding to the base station105-b. It may be possible for the first UE115-ato connect to either of the first access point105-aand the base station105-b. The first UE115-amay handoff from the first access point105-ato the base station105-b, or vice-versa, if the first UE115-adetermines an appropriate switch condition exists. For example, the first UE115-amay be connected to the first access point105-aand determine that the signal strength or other parameter of the connection to the first access point105-ais inadequate. The first UE115-amay decide to perform a switch to the base station105-bor stay connected to the first access point105-abased on at least one factor. The factors may include, for example, a frequency of data use, how long it has been since data has been used, a context of data use, a value based on the context of data use, an available buffer, a time delay, a location of the first UE115-awith respect to the base station, a known travel pattern, and combinations thereof.

Further shown inFIG. 2is the second UE115-bis close to but not within the third geographic coverage area110-ccorresponding to the second access point105-cand within the first geographic coverage area110-acorresponding to the first access point105-aand the second geographic coverage area110-bcorresponding to the base station105-b. The second UE115-bmay be a distance205away from the third geographic coverage area110-cof the second access point105-c. The second UE115-bmay be within a geographical boundary defined for the second access point105-c. However, the second UE115-bmay be (e.g., with a very weak or poorly performing signal), or previously was, connected to the second access point105-c. It may be possible for the second UE115-bto connect to either the first access point105-aor the base station105-b. The second UE115-bmay handoff from the second access point105-cto the base station105-b, if the second UE115-bdetermines an appropriate switch condition exists for the second access point105-c. Even though the second UE115-bmay not be receiving a strong signal or any signal at all from the second access point105-c, the second UE115-bmay not perform a switch to one of the other base stations105if there is currently no data being used, a context of data use indicates a switch is not needed, some data in a buffer is still available, a delay time period has not yet expired, or combinations thereof. For example, the second device UE115-bmay not switch to another network if previously determined patterns indicate that the second device UE115-bmay return to geographic coverage area110-cbefore data will be used or a buffer runs out. In some examples, the second UE115-bmay base a decision of whether to switch to another network on the distance205compared to a proximity threshold or the distance205being within a pattern of travel of the second UE115-b.

A wireless communications device, such as a UE115, may determine an improved time to perform a switch based on a number of factors, including a use and context of a data exchange. By intelligently selecting when to perform a switch and when to maintain the previous connection, the wireless communications device may save battery power and incur less data use fees.

FIG. 3shows a message flow diagram300of an example process of performing a switch, in accordance with various aspects of the present disclosure. The message flow diagram300illustrates example communications between a wireless communications device115-c(e.g., a UE115-c), a first station105-d, and a second station105-e. In some examples, the wireless communications device115-cmay be an example of aspects of at least one of the UEs115described with reference toFIGS. 1 and/or 2. In some examples, the first station105-dand/or the second station105-emay be examples of aspects of at least one of the base stations105described with reference toFIGS. 1 and/or 2.

In this example, the UE115-cmay establish a communication session with the first station105-d. The UE115-cmay initially connect to the first station105-das opposed to the second station105-efor a variety of reasons, such as, for example, the UE115-cis closer to the first station105-dthan to the second station105-e; the UE115-cmay have a configuration setting to prefer connecting to a particular type of network (e.g., Wi-Fi) whenever that type of network is available; the UE115-creceives a signal that has at least one performance indicator (e.g., signal strength, etc.) preferable over the second station105-d; and the first station105-cmay be of a private or home network (e.g., a Wi-Fi network) and the second station105-dmay be of a cell network (e.g., LTE).

In order to establish a communication session with the first station105-d, the UE115-cmay transmit an initial communications message305to establish a network connection with the first station105-d. The first station105-dmay respond in kind with at least one resource to establish a communication session. Data may, or may not, be exchanged between the UE115-cand the first station105-dat any given time during the communication session.

At some point during the communication session, the UE115-cmay determine that a switch condition exists at block310. A switch condition may exist when a signal strength and/or performance of the communication session becomes weaker and/or less than a threshold value. In some examples, a switch condition may be detected when at least one performance indicator of the communication session is below a threshold performance level needed to support a context of data use of the communication session.

Before performing a switch to the second station105-e, the UE115-cmay determine a context of data use at block315. The UE115-cmay determine that there is no data being exchanged when the switch condition occurs. If there is no data being exchanged with the first station105-d, there may be no reason for the UE115-cto perform a switch at that time. Further, if no data has been exchanged for a predetermined time period since before or while the switch condition occurred, the UE115-cmay also decide not to perform a switch. However, if there is data use between the UE115-cand the first station105-d, the UE115-cmay determine the context of the data use. In some examples, the context of the data use may be what type of data is being exchanged. For example, the context of the data use may be real-time content (e.g., a voice over Internet protocol (VoIP) call), streaming content (e.g., a streaming video that has a buffer of content on the UE115-c), intermittent data needs (e.g., an email client intermittently sending and receiving email), or no data exchanged.

Based at least in part on the context of the data, the UE115-cmay determine a time delay for performing a switch. The UE115-cmay assign the time delay based on the context of the data use, and begin to count down the time delay responsive to detecting the switch condition. The UE115-cmay perform a switch to the second station105-eonce the time delay expires and the switch condition still exists. In order to establish the switch, the UE115-cmay send a message325to the second station105-ein order establish a communication session. The second station105-emay respond in kind with at least one resource to establish a communication session with the UE115-c.

The UE115-cmay send a message330to the first station105-din order to disconnect from the network of the first station105-d. In some examples, the UE115-cdoes not send the message330. In other examples, the UE115-cdisconnects from the first station105-dbefore establishing the communication session with the second station105-e.

FIG. 4shows a block diagram400of an example of an apparatus405for use in wireless communication, in accordance with various aspects of the present disclosure. In some examples, the apparatus405may be configured as a UE or other wireless communications device and be an example of aspects of one or more of the UEs115described with reference to any ofFIGS. 1-3. The apparatus405may also be a processor. The apparatus405may include a receiver410, a switch manager415, and/or a transmitter420. Each of these components may be in communication with each other.

In some examples, the receiver410may include at least one radio frequency (RF) receiver, such as at least one RF receiver operable to receive transmissions over a radio frequency spectrum. In some examples, the radio frequency spectrum may be used for LTE/LTE-A and WLAN communications, as described, for example, with reference to any ofFIGS. 1-3. The receiver410may be used to receive various types of data and/or control signals (i.e., transmissions) over one or more communication links of a wireless communications system, such as one or more communication links125of the wireless communications system100and/or200described with reference toFIGS. 1 and/or 2, respectively. Examples of the types of data and/or control signals received by the receiver410include the granting of resources via either PDSCH and PUSCH. The receiver410may receive a messages and resources to establish a communication session, such as messages305and325ofFIG. 4. The receiver410may also receive data from a station, such as a station105as described, for example, with reference to any ofFIGS. 1-3, during a communication session with the station. For example, the receiver410may receive streaming or real-time content.

In some examples, the transmitter420may include at least one RF transmitter, such as at least one RF transmitter operable to transmit discovery messages. The transmitter420may be used to transmit various types of data and/or control signals (i.e., transmissions) over one or more communication links of a wireless communications system, such as one or more communication links125of the wireless communications system100and/or200described with reference toFIGS. 1 and/or 2, respectively. The transmitter420may also transmit data to a station, such as a station105as described, for example, with reference to any ofFIGS. 1-3, during a communication session with the station. For example, the transmitter420may transmit streaming or real-time content.

The switch manager415may use the data received at receiver410to perform analysis and/or take measurements to determine any change in performance indicators of a communication session, such as signal strength or quality and/or signal throughput quality (e.g., bandwidth, lag, jitter, etc.). Based on the analysis and/or measurements, the switch manager415may determine that a switch condition exists. A switch condition may exist, for example, when the signal from the station105becomes weaker than a threshold level and/or when the signal from the station105performs under a threshold level, such as when the apparatus405is in a dead zone, enters an elevator, or is at an edge of a coverage area of the station, such as geographic coverage areas110described with reference toFIGS. 1 and/or 2.

The switch manager415may determine if and when to perform a switch based at least in part on a context of data use. If the apparatus405is not exchanging data with a station or only has intermittent data needs, the switch manager415may not perform a switch. If the apparatus405, however, does have data use of the network while the switch condition exists, the apparatus405may perform a switch once a determined time delay has expired for the particular context of data use.

FIG. 5shows a block diagram of another example of an apparatus405-afor use in wireless communication, in accordance with various aspects of the present disclosure. The apparatus405-amay be an example of aspects of the apparatus405(ofFIG. 4). In some examples, the apparatus405-amay include a receiver410-aand a transmitter420-athat may be examples of the receiver410and the transmitter420, respectively, described with reference toFIG. 4. In additional examples, the apparatus405-amay include a switch manager415-a, which may be an example of aspects of the switch manager415described with reference toFIG. 4. In some examples, the apparatus405-amay be configured as a UE or other wireless communications device and be an example of aspects of one or more of the UEs115described with reference to any ofFIGS. 1-3. The apparatus405-amay also be a processor. Each of the components of the apparatus405-amay be in communication with each other.

In some examples, the switch manager415-amay include a signal quality module505, a data use detector510, and/or a time delay module515. WhileFIG. 5illustrates specific examples of the functions performed by each of the modules505,510, and515, the functions performed by each of the modules505,510, and515may in some cases be combined, divided, or implemented using one or more other modules.

In some examples, the signal quality module505may be used to receive (e.g., via the receiver410-a) one or more signals detected at the apparatus405-a. The signal quality module505may take measurements of the received signals to determine a performance of the network. The signal quality module505may determine when at least one performance indicator of the wireless network to which the apparatus405-ais connected falls below a threshold performance level.

The data use detector510may determine an amount, frequency, and/or context of data use of the network connection. The apparatus405-amay determine what type of data content is being used, whether there are intermittent data needs, or whether no application is using data, for example.

Based on the amount, frequency, and/or context of data use, the time delay module515may determine a time delay to wait before the switch manager415-aperforms a switch to another network connection. For example, if the context of data use is a real-time content, such as VoIP, the time delay module515may set the time delay to zero in order to maintain the real-time data transfer. When the switch manager415-adetermines the network the apparatus405-ais connected to has, for example, a weak and/or under-performing signal, and the data use is a real-time content, the switch manager415-amay immediately perform a switch to a connection with a strong signal in order to maintain the real-time content. This immediate switch may provide a user of the apparatus405-awith an uninterrupted user experience. In another example, if the data use is only an intermittent data need, such as an email application that occasionally sends/receives email, a blog application that intermittently receives new articles, a social network application that intermittently sends/receives new posts, or the like, the time delay module515may set a predetermined time delay. For example, the predetermined time delay may be some number of minutes.

In some examples, a user action on the apparatus405-a, such as hitting a refresh or send option, may override the time delay. In such a case, the time delay module515may set the time delay to zero. The time delay module515may also update the predetermined time delay if the context of data use changes. For example, if there was previously only intermittent data use when the switch condition occurred, and then the apparatus405-aestablished a VoIP call during the predetermined time delay for the intermittent data use, the time delay module515may update the time delay to reflect the change in data use. In this example, the time delay module515may set the time delay to zero. When the time delay is set to zero, the switch manager415-aperforms a switch to another available network that meets the performance threshold.

FIG. 6shows a block diagram600of another example of a wireless communications device115-dfor use in wireless communication, in accordance with various aspects of the present disclosure. In this example, the wireless communications device can be a UE. The UE115-dmay have various configurations and may be or be part of a personal computer (e.g., a laptop computer, a netbook computer, a tablet computer, etc.), a cellular telephone, a PDA, a digital video recorder (DVR), an internet appliance, a gaming console, an e-reader, or the like. The UE115-dmay, in some examples, have an internal power supply, such as a small battery, to facilitate mobile operation. In some examples, the UE115-dmay be an example of aspects of one or more of the UEs115described with reference to any ofFIGS. 1-3and/or aspects of one or more of the apparatuses405described with reference toFIGS. 4 and/or 5. The UE115-dmay implement at least some of the UE and/or apparatus features and functions described with reference to any ofFIGS. 1-5.

The UE115-dmay include a processor610, a memory615, at least one transceiver (represented by transceiver(s)630), at least one antenna (represented by antenna(s)640), and/or a switch manager415-b. Each of these components may be in communication with each other, directly or indirectly, over one or more buses635.

The memory615may include random access memory (RAM) and/or read-only memory (ROM). The memory615may store computer-readable, computer-executable code625containing instructions that are configured to, when executed, cause the processor610to perform various functions described herein related to wireless communication and/or PCI collision detection. Alternatively, the code625may not be directly executable by the processor610but be configured to cause the UE115-d(e.g., when compiled and executed) to perform one or more of the functions described herein.

The processor610may include an intelligent hardware device, e.g., a CPU, a microcontroller, an ASIC, or the like. The processor610may process information received through the transceiver(s)630and/or information to be sent to the transceiver(s)630for transmission through the UE antenna(s)640. The processor610may handle, alone or in connection with the switch manager415-b, various aspects of communicating over (or managing communications over) a radio frequency spectrum.

The transceiver(s)630may include a modem configured to modulate packets and provide the modulated packets to the antenna(s)640for transmission, and to demodulate packets received from the antenna(s)640. The transceiver(s)630may, in some examples, be implemented as one or more transmitters and one or more separate receivers. The transceiver(s)630may support wireless communication using one or more radio access technologies. The transceiver(s)630may be configured to communicate bi-directionally, via the antenna(s)640, with one or more of the base stations105described with reference to any ofFIGS. 1-3. While the UE115-dmay include a single antenna, there may be examples in which the UE115-dmay include multiple antennas640.

The switch manager415-bmay be configured to perform and/or manage some or all of the features and/or functions described with reference to any ofFIGS. 1-5related to performing switches based at least in part on a frequency, amount, and/or context of data use. The switch manager415-b, or portions of it, may include a processor, and/or some or all of the functions of the switch manager415-bmay be performed by the processor610and/or in connection with the processor610. In some examples, the switch manager415-bmay be an example of the switch manager415described with reference toFIGS. 4 and/or 5.

The switch manager415-bmay include a sliding scale manager645. The sliding scale manager645may set a sliding scale for a switch to be performed based on the current applications that are in use at the UE115-d. The sliding scale manager645may determine a value based on the frequency, amount, and/or context of data use. This value may be set on a sliding scale that the switch manager415-bmay use to determine when to perform a switch (e.g., switch to LTE when the Wi-Fi signal is under-performing and the time delay is expired). The sliding scale manager645may determine the value using an algorithm based on the current applications in use at the UE115-d. The scale value may decide the time delay for a switch to another available network.

For example, if the data used is real-time content (e.g., VoIP/VT), the sliding scale manager645may set the value of the scale to zero. The sliding scale manager645may also set the value of the sliding scale to a maximum value when no applications of the UE115are using data. The sliding scale manager645may fine-tune the value based on current network conditions. The context of the wireless communications device or a station (such as a base station or router) may also affect the value on the sliding scale. For example, the sliding scale value may be adjusted based on a Wi-Fi capability of the UE115(a/b/g/n/ac), the current authenticated Wi-Fi (e.g., home, work, etc.), the frequency and protocol of the wireless connection (e.g. LTE on 700 MHz, CDMA on 1900 MHz, Wi-Fi B on 2 GHz, Wi-Fi 33 N on 5 GHz, etc.), and a reliability of the Wi-Fi network over time. Thus, the UE115may use these additional factors to determine when to perform a switch.

In another example where the data use is streaming content (e.g., audio-only, video-only, video and audio, etc.), the sliding scale manager645may set the value of the scale to a time duration that is less than a buffer size. That is, when a buffer, for example, the buffer655, is used for streaming content, the switch manager415-bmay delay a switch while there is still sufficient content in the buffer655. In one example, the UE115may increase a buffer size of storing future data when connected to Wi-Fi to try to prevent a ping-pong. In one example, the switch manager415-bchecks a buffer size. If the buffer is going to be exhausted soon and the switch condition still exists, the switch manager415-bmay perform a switch. For example, if the buffer has 40 seconds of content when the switch manager415-bchecks the buffer, the switch manager415-bmay wait until the buffer is nearly exhausted, e.g., has 10 seconds left, to perform a switch. That is, the switch manager415-btriggers a switch to the second wireless connection with time enough left in the buffer to establish the second network connection without loss of service. In some examples, the switch manager415-buses a learning algorithm to improve the accuracy of a buffer size to be used and how much of the buffer to exhaust before performing a switch to another network.

The UE115-dmay also include a location detector650that determines a location of the UE115-d. The location detector650may be, for example, a global navigation satellite system (GNSS) receiver, cellular receiver, Wi-Fi receiver, Bluetooth device, or the like. In other examples, the location detector650may be a location service that may use data from various receivers and sensors (e.g., accelerometers, gyrometers, magnetometer, etc.). The location detector650may provide the switch manager415-bwith information related to a current location of the UE115-d. The switch manager415-bmay use the location of the UE115-din determining if and when to perform a switch with respect to the quality of the network in the area that UE115-dlocated.

FIG. 7is a flowchart of a method700for wireless communication, in accordance with various aspects of the present disclosure. For clarity, the method700may apply to aspects of one or more of the UEs115described with reference to any ofFIGS. 1-3, and/or6, and/or aspects of one or more of the apparatuses405as described with reference toFIGS. 4 and/or 5. In some examples, a UE or apparatus may execute one or more sets of codes to control the functional elements of the UE or apparatus to perform the functions described below.

At block705, the method700may include determining a context of data use of a first wireless network to which a wireless communications device is connected. The operation(s) at block705may be performed using the switch manager415described with reference to any ofFIGS. 4-6. In some examples, determining a context of data use may further include determining at least one of an amount and frequency of data use. The method700may determine the data use to be intermittent, that no application is using data, that there is streaming content being used, or that there is real-time content being used, for example.

At block710, the method700may include determining a time delay associated with performing a switch from the first wireless network to a second wireless network when at least one performance indicator of the first wireless network is below a threshold performance level needed to support the context of data use. The operation(s) at block710may be performed using the switch manager415described with reference to any ofFIGS. 4-6. In some examples, setting the time delay includes setting the time delay to zero responsive to the context of the data use being a real-time data use. In another example, the time delay is set to a first time period that is less than a buffer size time period responsive to the context of the data use being a streaming content data use. In yet another example, the time delay is set to a second time period responsive to the context of the data use being an intermittent data use. In a further example, the time delay is set to a third time period longer than the second time period responsive to the context of the data use being no data use for a fourth time period.

At block715, the method700may include performing the switch from the first wireless network to the second wireless network in response to the time delay expiring while the at least one performance indicator remains below the threshold performance level. The operation(s) at block715may be performed using the switch manager415described with reference to any ofFIGS. 4-6. In some examples, the first wireless network and the second wireless network use different protocols. In other examples, the first wireless network and the second wireless network use different channels of a same protocol. In some examples, the method700includes maintaining the connection to the first wireless network based at least in part on the determined amount or frequency of data use.

In some examples, the method700may also include determining a value corresponding to the first wireless network based at least in part on the context of data use of the first wireless network by the wireless communications device. The switch manager415described with reference to any ofFIGS. 4-6, particularly the sliding scale manager645described with reference toFIG. 6, may determine the value. In some examples, the sliding scale manager645creates a sliding scale for switching to another network device based at least in part on the context of data use, such as what current applications are being used on the UE115.

In other examples, the method700may include determining a geographical location of the wireless communications device. The method700may include adjusting the time delay responsive to the wireless communications device being located within proximity of the first wireless network. For example, if the wireless communications device is within a threshold distance of the first wireless network, the time delay may be lengthened. The duration the time delay may be lengthened may be based on how far the wireless communications device is from a coverage area of the first wireless network.

Further, the method700may include determining a previous pattern of travel of the wireless communications device within a predetermined distance of the first wireless network. For example, the UE115may determine that a user tends to carry the UE115out of the user's home into a corner of the backyard that extends beyond a home Wi-Fi coverage area but returns quickly to the Wi-Fi coverage area. Once the UE115has detected a previous pattern of travel, if the UE115determines, based on a location of the UE115, that it is likely going to return to the Wi-Fi coverage area soon, the UE115may not perform a switch. In some examples, the method700further includes adjusting the time delay based at least in part on the previous pattern of travel. Thus, if the previous pattern indicates that the UE115typically returns to the Wi-Fi coverage area within 5 minutes, the method700may include adjusting the time delay by 5 minutes. That is, the method700may include adjusting the time delay to a first time period if the previous pattern of travel of the wireless communications device indicates the wireless communications device will return or remain within proximity within the first time period.

The method700may also include determining a switch condition exists. The switch condition may be determined based on the at least one performance indicator. In some examples, the at least one performance indicator is at least one of a signal strength of the first wireless network, or a signal quality of the first wireless network (e.g., bandwidth, jitter, lag, etc.), or a profile of the first wireless network (as defined below), or a combination thereof. The at least one quality indicator may be at least one of a signal strength of the first wireless network, a signal quality of the first wireless network, and a profile of the first wireless network.

In some examples, the UE115may ping-pong back to the first wireless network. In such an example, the method700may include determining the at least one performance indicator is above the threshold performance level for the first wireless network. For example, the UE115may have returned to a location with a better signal strength. For example, the UE115moved from a building with Wi-Fi to outside where the Wi-Fi did not extend, so the UE115performed a switch to LTE based on the methods described herein. In this example, the UE115may have returned to the building with Wi-Fi and performs a switch back to the Wi-Fi. The method700may include performing a switch back to the first wireless network responsive to the at least one performance indicator being above the threshold performance level and based at least in part on a context of data use of the second wireless network.

In yet another example, the method700may include building a profile of a Wi-Fi capability of the UE115(for example, a/b/g/n/ac/ad etc.). The method700may also include building a profile for current authenticated Wi-Fi networks (e.g., work, home, coffee shop, airport, etc.). The UE115may use the profiles to determine when to perform switches.

FIG. 8is a flowchart of a method800for performing a switch according to a context and use of a wireless network, in accordance with various aspects of the present disclosure. For clarity, the method800may apply to aspects of one or more of the UEs115described with reference to any ofFIGS. 1-3, and/or6, and/or aspects of one or more of the apparatuses405as described with reference toFIGS. 4 and/or 5. In some examples, a UE or apparatus may execute one or more sets of codes to control the functional elements of the UE or apparatus to perform the functions described below.

At block805, the method800includes establishing a network connection with a first wireless network. For illustrative purposes only, the first wireless network will be discussed as a Wi-Fi network. The network connection may establish a communication session between a UE115and a base station105as described with reference to any ofFIGS. 1-3. At some point during the communication session, the UE115detects a switch condition at block810. The switch condition may be based on a performance indicator of the wireless network being below a threshold level.

Responsive to detecting the switch condition, the UE115may determine if there has been any data use on the first wireless network for a predetermined time period at block815. For example, the predetermined time period may be any amount of minutes. For example, the predetermined time period is up to ten minutes. If there has not been any data use in the last predetermined time period, the method800proceeds along path820to block825. For example, the method800may proceed to block825and not perform a switch if there has been little or intermittent data use during the last predetermined time period. At block825, the method800includes not performing a switch. That is, the UE115will not perform a switch when there has been no data activity for some amount of time. If the method800does not perform a switch, the method may continue to monitor for switch conditions at block810.

If there has been data use in the previous time period, the method800proceeds along path830to block835. At block835, the method800includes determining a context of the data use. The context of the data use may be, for example, streaming content, real-time content, or intermittent data use. Once the context of the data use is determined, at block840, the method800may include determining a time delay before the switch is performed based on the context of data use.

At block845, the method800may include setting a value of a sliding scale based at least in part on the context of the data use and the time delay. For example, the UE115may set a value on a sliding scale and switch from one wireless connection to another based on the value. The value may be set based on one or more factors, such as a current use of the device, the current signal strength, geographic location, use and movement patterns of the user, available connections, etc. The UE115may switch connections and take different actions based on the value, or switch when the value is below a threshold value.

At block850, the method800may determine if the time delay has expired. If the time delay has not expired, the method800proceeds along path855to block825and refrains from performing a switch. In some examples, the method800may return to block850to determine again whether the time delay has expired. In some examples, the method800includes automatically performing a switch when the time delay expires. If the time delay has expired, the method800proceeds along path860to block865. At block865, the method800may include performing a switch to a second wireless network. In other examples, the method800first determines whether the switch condition still exists when the time delay expires before performing the switch.

In further examples, the method800may be repeated similarly for performing a switch from the second wireless network to the first wireless network. In some examples, a priority level may be assigned to the different available networks. The value on the sliding scale may be adjusted based on the priority level. For example, the UE115may switch to a preferred network (such as a home or business Wi-Fi network) more quickly than the UE115would switch to a less preferred network (such as an LTE network that incurs fees for data use).

FIG. 9is a flowchart of a method for a wireless communications device to perform a switch according to a context and use of a wireless network and a location of the wireless communications device, in accordance with various aspects of the present disclosure. For clarity, the method900may apply to aspects of one or more of the UEs115described with reference to any ofFIGS. 1-3, and/or6, and/or aspects of one or more of the apparatuses405as described with reference toFIGS. 4 and/or 5. In some examples, a UE or apparatus may execute one or more sets of codes to control the functional elements of the UE or apparatus to perform the functions described below. Some steps of the method900may be combined with the methods700and/or800.

At block905, the method900includes establishing a network connection with a first wireless network. For illustrative purposes only, the first wireless network will be discussed as a Wi-Fi network. The network connection may establish a communication session between a UE115and a base station105as described with reference to any ofFIGS. 1-3. At block910, the method900includes detecting a switch condition for a communication session of a first wireless network. The switch condition may be based on a performance indicator of the wireless network being below a threshold level. In some examples, the method900includes establishing a network connection with a first wireless network. For illustrative purposes only, the first wireless network will be discussed as a Wi-Fi network. The network connection may establish a communication session between a UE115and a base station105as described with reference to any ofFIGS. 1-3.

Responsive to detecting the switch condition, the wireless communications device may determine a geographical location of the wireless communications device at block915. The location of the wireless communications device may inform a value set on a sliding scale, such as described in reference toFIGS. 7 and 8. For example, the method900may include setting up a geographical boundary for each network (e.g., a geofence), such that the wireless communications device does not perform a switch when the wireless communications device is at specific locations within the geographical boundary. The geographical boundary may purposefully allow for a margin of error in drawing the boundaries such that small dead zones may be ignored (e.g., a far corner of a backyard for a home Wi-Fi network or an elevator shaft for a business Wi-Fi network) while larger dead zones (e.g., a sidewalk across the street for the home Wi-Fi network or a parking lot for the business Wi-Fi network) would be mostly recorded properly for exclusion from the coverage area. The wireless communications device may set up the geographical boundary based in part on collected latitude and longitude information. In some examples, the wireless communications device may determine a radius for the network and use the radius to create a circular geographic boundary. In some examples, the geographical boundary may be tagged with a reliability indicator for the network. In some examples, the method900includes record a reliability of the network over time. The method900may further include tagging the geographical boundary with the reliability of the network. The wireless communications device may use the reliability of the network to inform how long to wait before switching to another network.

At block920, the method900may further include determining whether the wireless communications device is located within proximity of the first wireless network. Proximity of the first wireless network may be, for example, within a coverage area of the first wireless network and/or within a geographical boundary of the first wireless network. If the wireless communications device is not located within proximity of the first wireless network, the method900proceeds along path925to block930. At block930, the wireless communications device performs a switch to a second wireless network.

However, if the wireless communications device is located within proximity of the first wireless network, the method900proceeds along path935to block940. In the example ofFIG. 9, the method900may include determining a previous pattern of travel of the wireless communications device within a predetermined distance of the first wireless network. At block945, the method900may include adjusting a time delay for performing a switch based at least in part on the location of the wireless communications device and the previous pattern of travel (e.g., if the wireless device regularly returns to the coverage area quickly versus if the wireless device regularly remains out of coverage for long periods of time).

At block950, the method900may include determining whether the time delay has expired. If so, and the switch condition is still present, the method900may proceed along path955to block930for performing the switch to the second wireless network. If not, the method900may proceed along path960to block910and maintain the connection to the first wireless network. The method900may continue to monitor the time delay and the switch condition in order to perform a switch when the time delay expires.

An example that may utilize the method900is as follows. A geographical boundary may be set up for a first wireless connection, such as for a Wi-Fi router in a building. If the user of the wireless communications device moves to another building and the wireless communications device is not using data, the wireless communications device may use the sliding scale to determine when to switch to LTE based at least in part on a maximum value of the sliding scale, that is, the wireless communications device determines not to switch to LTE. This may result in ping-pongs being avoided when the user walks from one building to another, similarly, or when the user rides an elevator within the building where Wi-Fi coverage is lacking. However, once the geographical boundary is breached (e.g., the user reaches an exit of a parking lot for the building), the wireless communications device may set the sliding scale to zero to allow for quick switching to LTE.

Since some users spend very large amounts of time at home, work, or school with Wi-Fi coverage for their wireless communications devices, the examples and method described herein may save power and/or cellular data use. Furthermore, the techniques may be used when the wireless communications device is placed into a power-saving mode.

As described herein, the methods700,800, and900may provide for wireless communication. It should be noted that each of the methods700,800, and900illustrate just one implementation and that the operations of the methods700,800, and/or900may be rearranged or otherwise modified such that other implementations are possible.