Avoiding conflicts between device-initiated handovers and network-initiated handovers

In some embodiments, a user equipment device (UE) implements techniques for avoiding conflicts between UE-initiated and network-initiated handovers. In one embodiment, one or more first radios are configured to perform cellular communication using different first and second cellular radio access technologies (RATs) and a second radio is configured to perform wireless communication using a short-range RAT. In one embodiment, the mobile device is configured to, while communicating using the first cellular RAT, in response to determining that an inter-RAT handover to the short-range RAT is likely to be initiated or has been initiated by the at least one processor, delay sending a measurement report to the cellular base station. This delay may avoid conflict between handovers initiated by the network in response to the measurement report (e.g., from the first cellular RAT to the second cellular RAT) and the inter-RAT handover.

FIELD

The present application relates to wireless communication, and more particularly, to techniques relating to handovers between different radio access technologies.

DESCRIPTION OF THE RELATED ART

Wireless communication systems are rapidly growing in usage. Further, wireless communication technology has evolved from voice-only communications to also include the transmission of data, such as Internet and multimedia content.

Expanding traffic on mobile networks has increased the need for mobile data offloading, wherein a mobile device may access carrier-provided services originally targeted for cellular networks over an alternative wireless network, such as Wi-Fi, one type of wireless local area network (WLAN). One form of mobile data offloading uses the I-WLAN (Interworking Wireless LAN) or SMOG (S2b Mobility based on GTP) architecture to supply carrier-provided services to the mobile device over Wi-Fi. These carrier-provided services may include VVM (Visual VoiceMail), MMS (Multimedia Messaging Service), SMS (Short Messaging Service) and IMS (IP Multimedia Subsystem).

Thus, a user equipment device (UE), which may also be referred to as a mobile device, may communicate using different radio access technologies (e.g., different cellular RATs and/or WLANs) at different times. In various situations, the UE and/or the network may initiate handover between different wireless technologies based on various criteria. For example, consider a situation in which a UE is being used for a voice over LTE (VoLTE) phone call outside a residence and the user steps inside. At this point, the signal strength of the LTE connection may drop (e.g., because of the roof and walls of the residence) and the signal strength of a Wi-Fi connection may increase (e.g., because the user is closer to a Wi-Fi access point). In response, the UE may initiate a handover from VoLTE to Wi-Fi while the network may initiate a handover from VoLTE to another cellular RAT (e.g., a circuit-switched cellular RAT). A race condition may occur between the handovers and the call may be dropped. Similar race conditions may occur in various other scenarios for various RATs. Therefore, techniques for avoiding data loss or dropped calls on handover are desired.

SUMMARY

Embodiments are presented herein of, inter alia, a user equipment device (UE) and techniques which enable a UE to avoid conflicts between UE-initiated handovers and network-initiated handovers.

One embodiment relates to a mobile device comprising at least one antenna, one or more first radios, a second radio, and at least one processor coupled to the radios. In this embodiment, the one or more first radios are configured to perform cellular communication using different first and second cellular radio access technologies (RATs). In this embodiment, the second radio is configured to perform wireless communication using a short-range RAT. In this embodiment, the one or more processors and the radios are configured to perform voice and/or data communications, as well as various methods described herein.

In this embodiment, the mobile device is configured to, while communicating using the first cellular RAT, in response to determining that an inter-RAT handover to the short-range RAT is likely to be initiated or has been initiated by the at least one processor, delay sending a measurement report to the cellular base station. In this embodiment, the measurement report is usable by the cellular base station to initiate a handover from the first cellular RAT to the second cellular RAT. This delay may avoid conflict between handovers initiated by the network and the inter-RAT handover initiated by the mobile device.

Another embodiment relates to a mobile device comprising at least one antenna, one or more first radios and a second radio, and at least one processor coupled to the radios. In this embodiment, the one or more first radios are configured to perform cellular communication using different first and second cellular radio access technologies (RATs). In this embodiment, the second radio is configured to perform wireless communication using a short-range RAT. In this embodiment, the one or more processors and the radios are configured to perform voice and/or data communications, as well as various methods described herein.

In this embodiment, the mobile device is configured to, while communicating using the first cellular RAT, in response to determining that a handover to the second cellular RAT is likely to be initiated or has been initiated by a network that includes the cellular base station, delay triggering a handover to the short-range RAT. This delay may avoid conflict between the handover to the second cellular RAT and handovers initiated by the UE.

Yet another embodiment relates to a non-transitory computer-readable medium having instructions stored thereon that that are executable by a computing device to perform various operations. In this embodiment, the operations include communicating via a cellular base station using a first cellular radio access technology (RAT), determining that an inter-RAT handover from the first cellular RAT to a short-range RAT is likely to be initiated or has been initiated, and delaying sending a measurement report to the base station. In this embodiment, the measurement report is usable by the cellular base station to initiate a handover from the first cellular RAT to a second cellular RAT. The delaying may avoid conflict between handovers initiated by the network and the inter-RAT handover.

DETAILED DESCRIPTION

This disclosure initially lists relevant acronyms and a glossary. It then describes, with reference toFIGS. 1A-6, exemplary embodiments of a mobile device configured to communicate via different radio access technologies (RATs). Exemplary handovers from cellular to Wi-Fi and between different cellular RATs are described with reference toFIGS. 7-9. Exemplary methods for avoiding conflicts between handovers are described with reference toFIGS. 10-12. Various techniques described herein may avoid race conditions between UE-initiated handovers and network-initiated handovers, in some embodiments.

ACRONYMS

The following acronyms are used in the present disclosure.

BS: Base Station

AP: Access Point

APN: Access Point Name

LTE: Long Term Evolution

VoLTE: Voice over LTE

VOIP: Voice Over IP

IMS: IP Multimedia Subsystem

MO: Mobile Originated

MT: Mobile Terminated

RAT: Radio Access Technology

WLAN: Wireless Local Area Network

SIP: Session Initiation Protocol

PDN: Packet Data Network

SGW: Serving Gateway

P-CSCF: Proxy Call Session Control Function

ePDG: evolved Packet Data Gateway

IFOM: IP Flow Mobility

SMOG: S2b Mobility based on GTP

GPRS: General Packet Radio Service

GLOSSARY

User Equipment (UE) (or “UE Device”)—any of various types of computer systems or devices which are mobile or portable and which performs wireless communications. Examples of UE devices include mobile telephones or smart phones (e.g., iPhone™, Android™-based phones), portable gaming devices (e.g., Nintendo DS™, PlayStation Portable™, Gameboy Advance™, iPhone™), laptops, PDAs, portable Internet devices, music players, data storage devices, other handheld devices, as well as wearable devices such as wrist-watches, headphones, pendants, earpieces, etc. In general, the term “UE” or “UE device” can be broadly defined to encompass any electronic, computing, and/or telecommunications device (or combination of devices) which is easily transported by a user and capable of wireless communication.

Mobile Device—any of various types of communication devices which are mobile and are capable of communicating on a cellular network and a non-cellular network, such as Wi-Fi. A UE is an example of a mobile device.

Base Station—The term “Base Station” has the full breadth of its ordinary meaning, and at least includes a wireless communication station installed at a fixed location and used to communicate as part of a wireless cellular telephone system or cellular radio system.

Access Point—The term “Access Point” has the full breadth of its ordinary meaning, and at least includes a wireless communication device which offers connectivity to a wireless local area network (WLAN), such as a Wi-Fi network.

Wi-Fi—The term “Wi-Fi” has the full breadth of its ordinary meaning, and at least includes a wireless local area network technology based on the IEEE (Institute of Electrical and Electronics Engineers) 802.11 standards, and future revisions or enhancements to those standards.

FIG. 1illustrates an exemplary (and simplified) wireless communication system. It is noted that the system ofFIG. 1is merely one example of a possible system, and disclosed embodiments may be implemented in any of various systems, as desired.

As shown, the example wireless communication system includes a cellular base station102which may communicate over a transmission medium with one or more example, a “user equipment device” (UE) or other types of devices as defined above.

The base station102may be a base transceiver station (BTS) or cell site, and may include hardware that enables wireless cellular communication with the UEs106A through106N. The base station102may also be equipped to communicate with a network100(e.g., a core network of a cellular service provider, a telecommunication network such as a public switched telephone network (PSTN), and/or the Internet, among various possibilities). Thus, the base station102may facilitate communication between the mobile devices and/or between the mobile devices and the network100.

The communication area (or coverage area) of the base station may be referred to as a “cell.” The base station102and the UEs106may be configured to communicate over the transmission medium using any of various cellular radio access technologies (RATs), also referred to as wireless cellular communication technologies, or telecommunication standards, such as GSM, UMTS (WCDMA, TD-SCDMA), LTE, LTE-Advanced (LTE-A), 3GPP2 CDMA2000 (e.g., 1×RTT, 1×EV-DO, HRPD, eHRPD), Wi-Fi, WiMAX etc. A typical wireless cellular communication system will include a plurality of cellular base stations which provide different coverage areas or cells, with handoffs between cells.

Additionally, the example wireless communication system may include one or more wireless access points (such as access point104) which may be communicatively coupled to the network100. Each wireless access point104may provide a wireless local area network (WLAN) for communication with mobile devices106. These wireless access points may comprise Wi-Fi access points. Wireless access point104may be configured to support cellular network offloading and/or otherwise provide wireless communication services as part of the wireless communication system illustrated inFIG. 1.

Cellular base station102and other similar base stations, as well as access points (such as access point104) operating according to a different wireless communication standard (e.g., Wi-Fi), may thus be provided as a network which may provide continuous or nearly continuous overlapping service to mobile devices106and similar devices over a wide geographic area via one or more wireless communication standards.

Thus, while base station102may act as a “serving cell” for a UE106as illustrated inFIG. 1, each mobile device106may also be capable of receiving signals from (and possibly within communication range of) one or more other cells (which might be provided by other base stations (not shown) and/or wireless local area network (WLAN) access points, which may be referred to as “neighboring cells” or “neighboring WLANs” (e.g., as appropriate), and/or more generally as “neighbors”.

FIG. 2illustrates mobile device106(e.g., one of the devices106A through106N) in communication with both a Wi-Fi access point104and a cellular base station102. The mobile device106may be a device with both cellular communication capability and non-cellular communication capability, e.g., Wi-Fi capability, such as a mobile phone, a hand-held device, a computer or a tablet, a wearable device, or virtually any type of wireless device.

In some embodiments, the mobile device106may be configured to communicate using any of multiple radio access technologies/wireless communication protocols. For example, the mobile device106may be configured to communicate using any of various cellular communication technologies, such as GSM, UMTS, CDMA2000, LTE, LTE-A, etc. The mobile device may also be configured to communicate using any of various non-cellular communication technologies such as WLAN/Wi-Fi, or GNSS. Other combinations of wireless communication technologies are also possible.

In some embodiments, the mobile device106may include separate transmit and/or receive chains (e.g., including separate RF and/or digital radio components) for each wireless communication protocol with which it is configured to communicate. As a further possibility, the mobile device106may include one or more radios which are shared between multiple wireless communication protocols, and one or more radios which are used exclusively by a single wireless communication protocol. For example, the mobile device106might include a shared radio for communicating using either of LTE or 1×RTT (or LTE or GSM), and separate radios for communicating using each of Wi-Fi and Bluetooth. Other configurations are also possible.

FIG. 3illustrates an example simplified block diagram of a mobile device106. As shown, the mobile device106may include a system on chip (SOC)400, which may include portions for various purposes. The SOC400may be coupled to various other circuits of the mobile device106. For example, the mobile device106may include various types of memory (e.g., including NAND flash410), a connector interface420(e.g., for coupling to a computer system, dock, charging station, etc.), the display460, cellular communication circuitry430such as for LTE, GSM, etc., and short range wireless communication circuitry429(e.g., Bluetooth™ and WLAN circuitry). The mobile device106may further comprise one or more smart cards310that comprise SIM (Subscriber Identity Module) functionality, such as one or more UICC(s) (Universal Integrated Circuit Card(s)) cards310. The cellular communication circuitry430may couple to one or more antennas, preferably two antennas435and436as shown. The short range wireless communication circuitry429may also couple to one or both of the antennas435and436(this connectivity is not shown for ease of illustration).

As shown, the SOC400may include processor(s)402which may execute program instructions for the mobile device106and display circuitry404which may perform graphics processing and provide display signals to the display460. The processor(s)402may also be coupled to memory management unit (MMU)440, which may be configured to receive addresses from the processor(s)402and translate those addresses to locations in memory (e.g., memory406, read only memory (ROM)450, NAND flash memory410) and/or to other circuits or devices, such as the display circuitry404, cellular communication circuitry430, short range wireless communication circuitry429, connector I/F420, and/or display460. The MMU440may be configured to perform memory protection and page table translation or set up. In some embodiments, the MMU440may be included as a portion of the processor(s)402.

In one embodiment, as noted above, the mobile device106comprises at least one smart card310, such as a UICC310, which executes one or more Subscriber Identity Module (SIM) applications and/or otherwise implement SIM functionality. The at least one smart card310may be only a single smart card310, or the mobile device106may comprise two or more smart cards310. Each smart card310may be embedded, e.g., may be soldered onto a circuit board in the mobile device106, or each smart card310may be implemented as a removable smart card, an electronic SIM (eSIM) or any combination thereof. Any of various other SIM configurations are also contemplated.

As noted above, the mobile device106may be configured to communicate wirelessly using multiple radio access technologies (RATs). The mobile device106may be configured to communicate according to a Wi-Fi RAT and/or one or more cellular RATs, e.g., such as communicating on both Wi-Fi and cellular at the same time. For example, the mobile device106may be communicating on a primary communication channel (such as Wi-Fi), and in response to detected degradation of the primary communication channel may establish a secondary communication channel (such as on cellular). The mobile device106may operate to dynamically establish and/or remove different primary and/or secondary communication channels as needed, e.g., to provide the best user experience while attempting to minimize cost.

As described herein, the mobile device106may include hardware and software components for implementing the features and methods described herein. The processor402of the mobile device106may be configured to implement part or all of the features described herein, e.g., by executing program instructions stored on a memory medium (e.g., a non-transitory computer-readable memory medium). Alternatively (or in addition), processor402may be configured as a programmable hardware element, such as an FPGA (Field Programmable Gate Array), or as an ASIC (Application Specific Integrated Circuit). Alternatively (or in addition) the processor402of the mobile device106, in conjunction with one or more of the other components400,404,406,410,420,430,435,440,450,460may be configured to implement part or all of the features described herein.

FIG. 4illustrates an example block diagram of an access point104. It is noted that the access point104ofFIG. 4is merely one example of a possible access point. As shown, the access point104may include processor(s)478which may execute program instructions for the base station102. The processor(s)478may also be coupled to memory management unit (MMU)476, which may be configured to receive addresses from the processor(s)478and translate those addresses to locations in memory (e.g., memory472and read only memory (ROM)474) or to other circuits or devices.

The access point104may include at least one network port480. The network port480may be configured to couple to a network, such as the Internet, and provide a plurality of devices, such as mobile devices106, access to the network as described above inFIGS. 1 and 2.

The network port480(or an additional network port) may also be configured to couple to a cellular network, e.g., a core network of a cellular service provider. The core network may provide mobility related services and/or other services to a plurality of devices, such as mobile devices106. In some cases, the network port480may couple to a telephone network via the core network, and/or the core network may provide a telephone network (e.g., among other mobile devices serviced by the cellular service provider).

The access point104may include at least one antenna486, and possibly multiple antennas. The at least one antenna486may be configured to operate as a wireless transceiver and may be further configured to communicate with mobile devices106via wireless communication circuitry482. The antenna486communicates with the wireless communication circuitry482via communication chain484. Communication chain484may be a receive chain, a transmit chain or both. The wireless communication circuitry482and the communication chain484may compose a radio. The radio may be configured to communicate via various wireless local area network standards, including, but not limited to Wi-Fi.

Cellular base station102may also be described according to the block diagram ofFIG. 4, except that communication may be performed using any of various cellular communication technologies.

FIG. 5—Example Wireless Communication System

FIG. 5illustrates an example wireless communication system according to one embodiment. As shown, the mobile device106may communicate with a cellular network via cellular base station (BS)102. The cellular base station102may communicate with a Serving Gateway (SGW)515. In some embodiments, the SGW515is responsible for handovers with neighboring base stations. In the illustrated embodiment, SGW515couples to a Packet Data Network (PDN) Gateway, or (PGW)520. As shown, evolved Packet Data Gateway (ePDG)530operates to interface between the cellular and Wi-Fi networks. PGW520assigns device IP addresses of the iWLAN tunnel interface and the cellular interface. Together ePDG530, SGW515and PGW520make up the evolved packet core (EPC).

As shown, mobile device106may also communicate with a Wi-Fi access point (AP)104, where the Wi-Fi access point presents a Wi-Fi network. The Wi-Fi access point104may couple through a network, such as the Internet, to the evolved Packet Data Gateway (ePDG)530. The ePDG530is utilized in the network function of 4G mobile core networks, known as the evolved packet core (EPC) mentioned above, as well as future mobile networks, such as 5G networks. As noted above, the ePDG530may act as an interface between the EPC and non-3GPP networks that may use secure access, such as Wi-Fi and femtocell access networks.

The PGW may function as an inter-RAT mobility anchor. The PGW520may couple to an IMS (IP Multimedia Subsystem) server. The IMS server may comprise a computer system with a processor and memory which performs various operations as described herein. The IMS server may implement an IMS Service Layer540. The IMS server may also implement a Proxy Call Session Control Function (P-CSCF). The P-CSCF may act as the entry point to the IMS domain and may serve as the outbound proxy server for the mobile device. The mobile device may attach to the P-CSCF prior to performing IMS registrations and initiating SIP sessions. The P-CSCF may be in the home domain of the IMS operator, or it may be in the visiting domain where the mobile device is currently roaming.

The IMS server may couple to other networks such as the public switched telephone network (PSTN) or other types of communication networks, e.g., for communicating with other communication devices, such as a standard POTS telephone (shown), another mobile device, etc.

FIG. 6illustrates example functionality that may be present in the mobile device106. As shown, the mobile device106may comprise a RAT block502that comprises a wireless radio manager504, a communication center (CommCenter) block506, and a Wi-Fi manager block508. The wireless radio manager504may be configured to receive various metrics from the communication center block506and/or the Wi-Fi manager block508and determine whether to use one or more of available cellular and Wi-Fi connections based on the statistics. In one embodiment, the communication block506may manage or control baseband logic510(e.g., related to cellular communication) and Wi-Fi manager block508may manage or control Wi-Fi radio512. Although not shown, the RAT block502may include a symptoms manager that may report current connection information (e.g., connection metrics or statistics) to the wireless radio manager504. Elements of the RAT block502may be implemented as software or firmware executable by a processor.

FIG. 7is a communication diagram that illustrates an exemplary (and simplified) cellular to Wi-Fi handover process700. As shown, this process may be trigged by UE106(iRAT manager504initiates the handover in the illustrated example). Initially, a call for UE106is active on a cellular network, via SGW515. For example, the call may be a VoLTE call utilizing IMS.

Subsequently, iRAT manager504triggers a cellular to Wi-Fi handover. As discussed above, iRAT manager504may trigger the handover based on various metrics or criteria. In some embodiments, RAT block502is configured to determine and track various metrics for cellular and/or Wi-Fi communications. For example, RAT block502(such as in baseband logic510) may maintain cellular information including: reference signal received power (RSRP), signal to noise ratio (SNR), MAC hybrid automatic repeat request (HARM) packet loss, Packet Data Convergence Protocol (PDCP) discard, and/or radio link control (RLC) packet loss, etc. RAT Block502(such as in RAT manager504) may use various sets of these metrics to determine the quality of a cellular connection. Similarly, RAT Block502(such as in Wi-Fi Manager508) may maintain Wi-Fi information including: received signal strength indicator (RSSI), SNR, transmit packet error rate (TX PER), and/or receive (RX) PER, etc. RAT Block502(such as in RAT manager504) may use various sets of these metrics to determine the quality of a Wi-Fi connection. Based on this information, iRAT manager504may be configured to initiate handovers from cellular to Wi-Fi and vice versa. For example, iRAT manager504may initiate a handover to Wi-Fi when it determines that a stable Wi-Fi connection has been established with good signal strength and that the cellular connection quality is low.

In this illustrated example, the UE attaches with AP104(this may occur before or after triggering of the handover). Subsequently, in the illustrated embodiment UE106sends an Internet Key Exchange (IKE) message IKEv2_SA_INIT to ePDG530and receives an IKEv2_SA_INIT_RESP response to secure exchange of IKEv2_AUTH message, which is subsequently exchanged. A session and bearer are created between ePDG530and PGW520for Wi-Fi communication, and the LTE radio bearer is deleted (as triggered by MIME725in the illustrated embodiment based on signals from PGW520and SGW515).

The handover illustrated inFIG. 7is shown for exemplary purposes and is not intended to limit the scope of inter-RAT handovers in various embodiments. Also,FIG. 7is a simplified diagram that shows details of particular messages in the core network, various additional messages may be included in such a handover. In various embodiments, a UE may trigger handovers in the other direction (e.g., from Wi-Fi to cellular), between other RATs, etc.

FIG. 8illustrates system elements800for an exemplary single radio-voice call continuity (SRVCC) handover (which is one example of a network-initiated handover from one cellular communications technology to another).FIG. 8is based on FIG. 4.2.2-1 in 3GPP TS 23.216 V12.2.0 (2014-12), which is incorporated by reference herein in its entirety.FIG. 9, discussed in further detail below, is a communications diagram for the handover.FIG. 9is based on FIG. 5.2.1-1 in 3GPP TS 23.216. In the illustrated embodiment, a packet-switched (PS) communication via evolved UMTS Terrestrial Radio Access (E-UTRAN)810is handed over to a circuit-switched (CS) communication via a target UMTS Terrestrial Radio Access (UTRAN)/GSM EDGE Radio Access Network (GERAN)840.

In the illustrated embodiment, an E-UTRAN bearer (illustrated using the bold solid line) over IMS is used for a call (e.g., a VoLTE call) using serving/packet data network (PDN) GW520and mobility management entity (MME)725. The dashed line with relatively shorter dashes illustrates session initiation protocol (SIP) signaling for IMS for this call. After the handover, a UTRAN/GERAN bearer (shown using the bold dashed line with relatively longer dashes) is used for the call via mobile switching center (MSC) server850. In the illustrated embodiment, MME725is coupled to MSC server850via the Sv interface, to serving GPRS support node (SGSN)830via the S3 interface, to home subscriber server (HSS)820via the S5a interface, to PGW520via the S11 interface, and to E-UTRAN810via the S1-MME interface. MSC server may be configured to perform various actions to facilitate switching to a CS protocol and may receive tunneled messages from UE106via MME725. In the illustrated embodiment serving GPRS support node (SGSN)830is communicatively coupled between target UTRAN/GERAN840and MME725. In the illustrated embodiment, PGW510is coupled to IMS service layer540via the SGi interface. The SRVCC handover process is described in further detail below with reference toFIG. 9.

FIG. 9is a communication diagram illustrating an exemplary SRVCC handover process900. In the illustrated embodiment, UE106sends one or more measurement reports910to E-UTRAN810. A measurement report may be event-triggered or periodic and may include various types of information from UE106.

Exemplary events that may trigger a measurement report are discussed in 3GPP 36.331 V12.4.1 (2014-12), which is incorporated by reference herein in its entirety at section 5.5.4. These events may be based on various different signal quality measurements and/or parameters (such as threshold parameters and/or hysteresis parameters, for example). Exemplary measurements include reference signal received power (RSRP), reference signal received quality (RSRQ), and received signal code power (RSCP). A base station may configure (e.g., using RRC messages) a specific measurement type that a UE is expected to report. Exemplary events based on intra-RAT measurements and parameters include: a serving cell measurement becomes better or worse than a threshold, a neighbor cell measurement becomes better or worse than a threshold, a primary cell measurement becomes worse than a threshold and a neighbor measurement becomes better than a second threshold, a neighbor cell measurement becomes some offset better than the serving cell measurement, etc.

Exemplary events based on inter-RAT measurements and parameters include: an inter-RAT neighbor measurement becomes better than a threshold, a primary cell measurement becomes worse than a threshold and an inter-RAT neighbor measurement becomes better than a threshold, etc. In some embodiments, baseband logic510may determine that a measurement report triggered based on inter-RAT measurements is likely to trigger an SRVCC handover.

E-UTRAN810may specify what information should be included in a measurement report, in some embodiments. Exemplary measurement report information includes: what cells the UE can detect, signal strength for various cells, current channel conditions, UE memory buffer, antenna information, number of supported simultaneous transmission streams, data acknowledgements, various information determined by RAT block502as described above, etc.

In response to data in the measurement reports, in the illustrated embodiment E-UTRAN810signals to MME725that a handover to a target UTRAN/GERAN network is required920. In response, in the illustrated embodiment, MME725initiates an SRVCC for voice component930and handles a packet-switched to packet-switched (PS-PS) handover for non-voice communications if needed940. In response, in the illustrated embodiment, MSC server850prepares the circuit-switched (CS) handover950and performs an IMS service continuity procedure960. Subsequently, in the illustrated embodiment, MSC server850sends PS handover response to MME725via transmission970. In response, in the illustrated embodiment, MME725coordinates SRVCC and PS handover response980. In response, in the illustrated embodiment, E-UTRAN810transmits handover command990to UE106and the handover is subsequently executed995.

Thus,FIGS. 8-9illustrate an exemplary SRVCC handover from a PS cellular RAT to a CS cellular RAT. The handover illustrated inFIGS. 8-9is shown for exemplary purposes and is not intended to limit the scope of inter-cellular-RAT handovers in various embodiments. In various embodiments, a network may trigger handovers in the other direction (e.g., from CS to PS), between other cellular RATs, etc.

FIGS. 10-11—Exemplary Techniques for Avoiding Handover Race Conditions

As discussed above, one or more potential race conditions may exist between UE-initiated RAT handovers and network-initiated RAT handovers. For example, if UE106initiates the cellular to Wi-Fi handover process ofFIG. 7when E-UTRAN810has already initiated the SRVCC handover ofFIGS. 8-9(or vice versa), various unexpected events may occur. Communications may be interrupted, e.g., a voice call may be dropped. The techniques discussed below with reference to the various exemplary embodiments illustrated inFIGS. 10-11may avoid these potential race conditions.

FIGS. 10-11illustrate exemplary methods performed by baseband logic510and iRAT manager504. In the illustrated embodiments, these are separate processing elements, but in other embodiments the disclosed functionality may be performed by a single processing element (in this case, various notification/receipt steps described herein may be replaced by determinations made by the single processing element).

FIGS. 10A-Care flow diagrams illustrating exemplary embodiments of methods performed by baseband logic510. The methods shown inFIGS. 10A-Cmay be used in conjunction with any of the computer systems, devices, elements, or components disclosed herein, among other devices. In various embodiments, some of the method elements shown may be performed concurrently, in a different order than shown, or may be omitted. Additional method elements may also be performed as desired.

Referring now toFIG. 10A, one embodiment of a method for sending notifications regarding a network-initiated handover is shown. At1002, baseband logic510notifies iRAT manager504that a network-initiated handover is likely. In the illustrated embodiment, baseband logic510is configured to send this notification based on determining that a measurement report has been sent to the network. In some embodiments, baseband logic510is configured to analyze the contents or type of the measurement report and notify iRAT manager504that a handover is likely only if the contents or type of the measurement report is likely to cause the network to trigger a handover.

At1004, baseband logic510notifies iRAT manager504that the handover has started. In the illustrated embodiment, this is based on a determination that the SRVCC handover command has been received.

At1006, baseband logic510notifies iRAT manager504that the network-initiated handover is complete. In the illustrated embodiment, this is based on a determination that the SRVCC handover command succeeded or failed.

In some embodiments, one or more of the “notify” steps ofFIG. 10Aare replaced with steps including determining the various disclosed information, e.g., when the techniques ofFIGS. 10-11are performed by a single processing element.

Referring now toFIG. 10B, one embodiment of a method for avoiding a race condition is shown. At1010, baseband logic receives an indication from iRAT manager504that a UE-initiated handover is likely or has been started. In embodiments in which iRAT manager504and baseband logic510are not separate processing elements, this step may be replaced with the single processing element determining that the iRAT handover is likely or started. In some embodiments, this determination/notification is based on cellular metrics and/or Wi-Fi metrics determined by iRAT manager504. For example, if a cellular connection is deteriorating and a Wi-Fi connection is strong, but one or more metrics have not met threshold levels for initiating a handover, iRAT manager504may determine that a handover is likely. Once one or more threshold levels of cellular and/or Wi-Fi metrics have been met, iRAT manager504may initiate a handover. In some embodiments, determining/notifying that a handover is likely may allow greater preference for UE-initiated handover relative to network-initiated handover.

At1012, baseband logic510delays sending a measurement report to the network. In some embodiments, baseband logic510is configured to analyze the contents or type of the measurement report and delay sending it only if the report may cause the network to initiate a handover. In some embodiments, the delay may avoid a conflict or race condition between the UE-initiated handover and the network-initiated handover. “Delaying” in this context refers to waiting to perform an action even when an event or condition normally sufficient to trigger the action has occurred. For example, if the measurement report were periodic, delaying means waiting to send the measurement report even when the relevant period has elapsed. As another example, if the measurement report is event triggered, delaying means waiting to send the measurement report even when the triggering event has occurred.

Referring now toFIG. 10C, one embodiment of a method for resuming sending measurement report(s) is shown. At1020, baseband logic510receives an indication that iRAT handover failed. In embodiments in which iRAT manager504and baseband logic510are not separate processing elements, this step may be replaced with the single processing element determining that the iRAT handover failed. The iRAT handover may fail for several reasons, in various embodiments. For example, there may be connectivity issues (e.g., the UE may not be able to establish IKEv2), the device may be unable to identify an IP address (e.g., of ePDG530due to DNS failure), and/or there may be capacity issues (e.g., ePDG530may reject the IKEv2 tunnel).

At1022, baseband logic510resumes and sends the delayed measurement report to the network. This may trigger a network-initiated handover, in some embodiments. At this point, however, there will not be a race condition with the UE-initiated handover, because the UE-initiated handover has failed. In some embodiments, if the UE-initiated handover is successful, the measurement report may not be sent at all.

FIGS. 11A-Care flow diagrams illustrating exemplary embodiments of methods performed by iRAT manager504. The methods shown inFIGS. 11A-Cmay be used in conjunction with any of the computer systems, devices, elements, or components disclosed herein, among other devices. In various embodiments, some of the method elements shown may be performed concurrently, in a different order than shown, or may be omitted. Additional method elements may also be performed as desired.

Referring now toFIG. 11A, one embodiment of a method for sending notifications regarding a UE-initiated handover is shown. At1102, iRAT manager504notifies baseband logic510that a handover is likely. As discussed above with reference to element1010ofFIG. 10B, this determination may be based on one of more cellular metrics and/or one or more Wi-Fi metrics. In some embodiments, one or more thresholds for the metrics may be defined to trigger a notification that UE-initiated handover is likely, even though the actual handover has not yet been triggered.

At1104, iRAT manager504notifies baseband logic510that a handover has started. As discussed above with reference to element1010ofFIG. 10B, this determination may be based on one of more cellular metrics, one or more Wi-Fi metrics, and/or one or more thresholds or rules for triggering handover initiation.

At1106, iRAT manager504notifies baseband logic510that a handover has succeeded or failed. If the handover succeeded, the communication may proceed via the target RAT of the handover (which may be, for example, Wi-Fi or another short-range RAT).

In embodiments in which iRAT manager504and baseband logic510are not separate processing elements, one or more of the elements ofFIG. 11Amay be replaced by determining steps performed by a single processing element.

Referring now toFIG. 11B, one embodiment of a method for avoiding a race condition is shown. At1110, iRAT manager504receives an indication from baseband logic510that a network-initiated handover is likely. In embodiments in which iRAT manager504and baseband logic510are not separate processing elements, this step may be replaced with the single processing element determining that the network-initiated handover is likely or started. In some embodiments, this determination/notification is based on sending a measurement report to the network that is likely to cause a handover.

At1112, iRAT manager504delays triggering a UE-initiated handover until the network-initiated handover has succeeded or failed. For example, even when one or more cellular and/or Wi-Fi metrics are such that iRAT manager504would normally trigger a handover, iRAT manager504waits to trigger the handover in some embodiments.

At1114, iRAT manager504starts a timer and delays triggering the UE-initiated handover at least until the timer expires. In this embodiment, iRAT manager504may resume triggering UE-initiated handovers in response to either the network-initiated handover failing or the timer expiring. The timer may allow UE-initiated handovers to proceed when no information regarding success or failure of the SRVCC handover is received, which may occur if the SRVCC handover is never actually initiated, or connection with the network is lost, for example.

Referring now toFIG. 11C, one embodiment of a method for proceeding with a UE-initiated handover is shown. At1120, iRAT manager504receives an indication that the network-initiated handover failed. In embodiments in which iRAT manager504and baseband logic510are not separate processing elements, this step may be replaced with the single processing element determining that the network-initiated handover failed.

At1022, iRAT manager attempts to recover a deteriorating call by triggering cellular to Wi-Fi handover.

A given UE may implement delays for only UE-initiated handovers or for only network-initiated handovers in some embodiments. This may give preference to the other type of handover, in these embodiments. In other embodiments, the UE may implement delays for both types of handovers, but may be configurable to give preference to one type or the other. For example, in some situations (e.g., based on Wi-Fi metrics), it may be preferable to handover to Wi-Fi rather than to another cellular network, or vice versa.

Various examples described herein utilize cellular-to-Wi-Fi handovers as one example of UE-initiated handovers and PS to CS cellular handovers as one example of network-initiated handovers. However, these examples are included for exemplary purposes and are not intended to limit the scope of the present disclosure. In other embodiments, other types of UE-initiated handovers may be used (e.g., cellular to a short-range RAT other than Wi-Fi, short-range RAT to cellular, etc.) and/or other types of network-initiated handovers may be used (e.g., PS-PS, CS-PS, etc.).

Exemplary Method

FIG. 12Ais a flow diagram illustrating an exemplary embodiment of a method for avoiding handover conflicts. The method shown inFIG. 12Amay be used in conjunction with any of the computer systems, devices, elements, or components disclosed herein, among other devices. In various embodiments, some of the method elements shown may be performed concurrently, in a different order than shown, or may be omitted. Additional method elements may also be performed as desired.

At1202, UE106communicates with a cellular base station using a first cellular RAT. In one embodiment, the first cellular RAT uses VoLTE utilizing IMS and the communication is a voice communication.

At1204, UE106determines that an inter-RAT handover from the first cellular RAT to a short-range RAT is likely to be initiated or has been initiated. In some embodiments, this determination is based on cellular and/or Wi-Fi metrics. In one embodiment, the short-range RAT is a Wi-Fi RAT.

At1206, UE106delays sending a measurement report to the base station. In the illustrated embodiment, the measurement report is usable by the base station to initiate a handover from the first cellular RAT to a second cellular RAT. For example, if the measurement report includes information indicating that call quality may be compromised using the first cellular RAT, the base station (in combination with other network elements, in some embodiments) may determine that a handover to the second cellular RAT should be initiated. The delaying of element1206may avoid a conflict between a handover initiated by UE106and a handover initiated by the network.

FIG. 12Bis a flow diagram illustrating an exemplary embodiment of a method for avoiding handover conflicts. The method shown inFIG. 12Bmay be used in conjunction with any of the computer systems, devices, elements, or components disclosed herein, among other devices. In various embodiments, some of the method elements shown may be performed concurrently, in a different order than shown, or may be omitted. Additional method elements may also be performed as desired.

At1212, UE106communicates with a cellular base station using a first cellular RAT. In one embodiment, the first cellular RAT uses VoLTE utilizing IMS and the communication is a voice communication.

At1214, UE106determines that a network-initiated handover from the first cellular RAT to a second cellular RAT is likely to be initiated. In some embodiments, this determination is made based on UE106sending a measurement report to the base station. In some embodiments, this determination is further based on the contents or type of the measurement report.

At1216, UE106delays initiating a handover from the first cellular RAT to the short-range RAT. In one embodiment, UE106is configured to initiate the handover in response to the end of a particular time interval subsequent to the determining of element1214(e.g., based on a timer). In some embodiments, the delay of element1216may avoid conflict between the network-initiated handover and a handover initiated by UE106.

Embodiments of the present disclosure may be realized in any of various forms. For example, various embodiments may be realized as a computer-implemented method, a computer-readable memory medium, or a computer system. Other embodiments may be realized using one or more custom-designed hardware devices such as ASICs. Other embodiments may be realized using one or more programmable hardware elements such as FPGAs. For example, some or all of the units included in the UE may be implemented as ASICs, FPGAs, or any other suitable hardware components or modules.