Improved real time call performance during dynamic interface switching
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- APPLE INC
- Filing Date
- 2024-08-22
- Publication Date
- 2026-05-20
AI Technical Summary
User equipment (UE) experiences data stalls and poor call performance due to inefficient data switching between macro and private cellular networks, especially during dynamic interface switching.
The UE employs processing circuitry to determine signal quality and switch between macro and private cellular networks based on predetermined thresholds, deferring data switching during active calls to maintain connectivity and avoid data stalls.
This approach improves real-time call performance by minimizing data stalls and maintaining seamless connectivity during transitions between different network types, enhancing the overall user experience.
Smart Images

Figure 00000053_0000 
Figure 00000054_0000 
Figure 00000055_0000
Abstract
Description
Improved Real Time Call Performance During Dynamic InterfaceSwitchingInventors: Raj S Chaugule, Ajoy K Singh, Aneshya Gupta, Lakshmi N Kavuri, Li Li, Najeeb M Abdulrahiman, Neeru Singh, Rahul Chaithanya Gundapuneni, Rohan Wadageri, Sridhar Metta and Vikrant R SarleBACKGROUND
[0001] Modern user equipment (UEs) may encounter an increasing variety of networking arrangements as they move through a geographic area. UEs may have multiple subscriber identity modules (SIMs) associated with various types of networks, such as macro networks deployed by mobile network operators (MNOs) , private networks such as citizens broadband radio service (CBRS) networks deployed by MNOs or other private entities, etc. Additionally, voice over Wi-Fi (VoWiFI) introduces further complexity for UE data switching. A UE that fails to seamlessly perform data switching operations between these various network types will experience data stalls, which results in a poor user experience and call drops. Improvements to data switching (i.e., handovers) are needed in the field.SUMMARY
[0002] Some exemplary embodiments are related to an apparatus of a user equipment (UE) , the apparatus having processing circuitry configured to determine the UE has an active call via a macro cellular network, wherein the UE comprises a macro cellular network subscriber identity module (SIM) associated with the macro cellular network, determine the UE has entered a geofence area associated with a private cellular network, determine a first signal quality of macro cellular network based on first signal measurements of the macro cellular network andwhen the first signal quality of the macro cellular network satisfies a predetermined threshold, omit the enabling a private cellular network S IM associated with the private cellular network or when the signal quality of the macro cellular network does not satis fy a predetermined threshold, enable a private cellular network S IM associated with the private cellular network .
[0003] Other exemplary embodiments are related to an apparatus of a user equipment (UE ) , the apparatus having processing circuitry configured to determine the UE has an active call via a private cellular network, wherein the UE has a private cellular network subscriber identity module ( S IM) associated with the private cellular network and a macro cellular network S IM associated with a macro cellular network, wherein the macro cellular network S IM is enabled and nonserving, determine the UE has exited a geofence area associated with the private cellular network, perform a signal measurement of a macro cellular network and the private cellular network; and perform a cellular data hand-out from the private cellular network to the macro cellular network based on the signal measurement , wherein the private cellular network S IM remains enabled after the cellular data hand-out .
[0004] Still further exemplary embodiments are related to an apparatus of a user equipment (UE ) , the UE being served cellular data by a private cellular network, the apparatus having processing circuitry configured to determine an upcoming calendar event associated with a voice call , predict the UE will leave a coverage area of the private cellular network prior to a conclusion of the voice call , determine a signal quality of amacro cellular network is satis fies a predefined threshold based on a signal measurements of the macro cellular network and switch the UE from being served cellular data by the private cellular network to the UE being served cellular data by the macro cellular network based on the prediction the UE will leave the coverage area of the private cellular network and the signal measurements of the macro cellular network .
[0005] Additional exemplary embodiments are related to an apparatus of a user equipment (UE ) , the apparatus having processing circuitry configured to determine, when the UE is connected to a first cellular network, the UE is preparing to participate in a voice call , determine an expense associated with the UE performing the voice call on a second cellular network, determine a first signal quality associated with the first cellular network, determine a second signal quality associated with a second cellular network and select one of the first cellular network or the second cellular network to perform the voice call based on the first signal quality, the second signal quality and the expense , wherein, when the second cellular network is selected, the UE switches to the second cellular network prior to connecting the voice call .Brief Description of the Drawings
[0006] Fig . 1 shows an exemplary network arrangement according to various exemplary embodiments .
[0007] Fig . 2 shows an exemplary UE according to various exemplary embodiments .
[0008] Fig. 3 shows an exemplary base station according to various exemplary embodiments.
[0009] Fig. 4 shows a first user mobility scenario according to various exemplary embodiments.
[0010] Fig. 5 shows a second geofence diagram according to various exemplary embodiments.
[0011] Fig. 6 shows a first method for deferred data switching when entering a geofence according to various exemplary embodiments.
[0012] Fig. 7 shows a second method for deferred data switching when exiting a geofence according to various exemplary embodiments .
[0013] Fig. 8 shows a third method for deferred data switching for signal strength-based hand-in / hand-out according to various exemplary embodiments.
[0014] Fig. 9 shows a method that may be performed when a UE ends an active call and deferred switching was used according to various exemplary embodiments.
[0015] Fig. 10 shows method for a preemptive hand-out according to various exemplary embodiments.
[0016] Fig. 11 shows a method for recovery operations from an incorrect predictive hand-out according to various exemplary embodiments .
[0017] Fig . 12 shows a call flow for preemptive hand-out according to various exemplary embodiments.
[0018] Fig. 13 shows a call flow for a just in time hand-out according to various exemplary embodiments.Detailed Description
[0019] The exemplary embodiments may be further understood with reference to the following description and the related appended drawings, wherein like elements are provided with the same reference numerals. The exemplary embodiments relate to improved UE behavior for various mobility scenarios.
[0020] The exemplary embodiments are described with regard to a user equipment (UE) . However, reference to a UE is merely provided for illustrative purposes. The exemplary embodiments may be utilized with any electronic component that may establish a connection to a network and is configured with the hardware, software, and / or firmware to exchange information and data with the network. Therefore, the UE as described herein is used to represent any electronic component.
[0021] The exemplary embodiments are also described with reference to a macro network that is a 5G New Radio (NR) network. However, it should be understood that the exemplary embodiments may also be implemented in other types of macro networks, including but not limited to LTE networks, future evolutions of the cellular protocol (5G advanced, 6G, etc.) , or any other type of network.
[0022] The exemplary embodiments are also described with reference to a private network or an enterprise network that is a citizens broadband radio service (CBRS) network. However, it should be understood that the exemplary embodiments may also be implemented in other types of private or enterprise networks, e.g., Mobile Virtual Network Operator (MVNO) networks, cellular networks geographically bound by one or more macro networks.
[0023] Throughout this description, the terminology "handout" and "hand-in" will be used. In the following description, the term "hand-out" refers to a scenario where a UE switches from a private or enterprise network (e.g. , a CBRS network) to a macro network. Similarly, the term "hand-in" refers to a scenario where a UE switches from a macro network to a private or enterprise network.
[0024] Throughout this disclosure, it will be described that a UE may be on an active call. The active call should be understood to be a voice call or a data call.
[0025] When a UE switches from one type of network (e.g., a macro network to a private network or vice versa) , data stalls may occur for a variety of reasons. These reasons include, but are not limited to, enabling an enterprise subscriber identity module (SIM) when entering a geofence, a permanent dual SIM dual standby (DSDS) switch to an enterprise SIM, a hand-out to a macro SIM, a hand-in to an enterprise SIM, a permanent DSDS switch to a macro SIM when exiting a geofence, etc. Further description of these scenarios will be provided below.
[0026] Typical DSDS UEs have separate protocol stacks associated with each SIM on a UE . For example, a UE may have a SIM associated with a macro network and a SIM associated with an enterprise network. Typical DSDS implementations use a shared radio frequency (RE) chain that is shared between the two protocol stacks. Additionally, a radio time division scheduler handles time division operations between the two protocol stacks. This implementation is prone to data stalls as the scheduler transitions the UE from one protocol stack to the other. Further description of data stall causality will be provided below with respect to Fig. 4 and Fig. 5.
[0027] The exemplary embodiments describe operations and logic for enhancements to UE behavior for various mobility scenarios including entering and leaving geographic areas associated with an enterprise network. The exemplary embodiments provide manners for the UE to determine when to switch from a macro cellular network to an enterprise cellular network and vice versa.
[0028] Fig. 1 shows an exemplary network arrangement 100 according to various exemplary embodiments. The exemplary network arrangement 100 includes a UE 110. Those skilled in the art will understand that the UE 110 may be any type of electronic component that is configured to communicate via a network, e.g., mobile phones, tablet computers, desktop computers, smartphones, phablets, embedded devices, wearables, Internet of Things (loT) devices (including connected vehicles) , etc. It should also be understood that an actual network arrangement may include any number of UEs being used by anynumber of users. Thus, the example of one UE 110 is merely provided for illustrative purposes.
[0029] The UE 110 may be configured to communicate with one or more networks. In the example of the network configuration 100, the network with which the UE 110 may wirelessly communicate is a 5G NR radio access network (RAN) 120. However, it should be understood that the UE 110 may also communicate with other types of networks (e.g. , 5G cloud RAN, a next generation RAN (NG-RAN) , a legacy cellular network, etc. ) and the UE 110 may also communicate with networks over a wired connection. With regard to the exemplary embodiments, the UE 110 may establish a connection with the 5G NR RAN 120. Therefore, the UE 110 may have a 5G NR chipset to communicate with the NR RAN 120.
[0030] The 5G NR RAN 120 may be portions of a cellular network that may be deployed by a network carrier (e.g., Verizon, AT&T, T-Mobile, etc. ) . The RAN 120 may include cells or base stations that are configured to send and receive traffic from UEs that are equipped with the appropriate cellular chip set. In this example, the 5G NR RAN 120 includes the gNB 120A. However, reference to a gNB is merely provided for illustrative purposes, any appropriate base station or cell may be deployed (e.g., Node Bs, eNodeBs, HeNBs, eNBs, gNBs, gNodeBs, Macrocells, microcells, small cells, femtocells, etc. ) .
[0031] Those skilled in the art will understand that any association procedure may be performed for the UE 110 to connect to the 5G NR RAN 120. For example, as discussed above, the 5G NR RAN 120 may be associated with a particular network carrierwhere the UE 110 and / or the user thereof has a contract and credential information (e.g. , stored on a SIM card) . Upon detecting the presence of the 5G NR RAN 120, the UE 110 may transmit the corresponding credential information to associate with the 5G NR RAN 120. More specifically, the UE 110 may associate with a specific cell (e.g. , gNB 120A) .
[0032] The network arrangement 100 also includes a cellular core network 130, the Internet 140, an IP Multimedia Subsystem (IMS) 150, and a network services backbone 160. The cellular core network 130 manages the traffic that flows between the cellular network and the Internet 140. The IMS 150 may be generally described as an architecture for delivering multimedia services to the UE 110 using the IP protocol. The IMS 150 may communicate with the cellular core network 130 and the Internet 140 to provide the multimedia services to the UE 110. The network services backbone 160 is in communication either directly or indirectly with the Internet 140 and the cellular core network 130. The network services backbone 160 may be generally described as a set of components (e.g., servers, network storage arrangements, etc. ) that implement a suite of services that may be used to extend the functionalities of the UE 110 in communication with the various networks.
[0033] Fig. 2 shows an exemplary UE 110 according to various exemplary embodiments. The UE 110 will be described with regard to the network arrangement 100 of Fig. 1. The UE 110 may represent any electronic device and may include a processor 205, a memory arrangement 210, a display device 215, an input / output (I / O) device 220, a transceiver 225, and other components 230. The other components 230 may include, for example, an audioinput device, an audio output device, a battery that provides a limited power supply, a data acquisition device, ports to electrically connect the UE 110 to other electronic devices, sensors to detect conditions of the UE 110, etc.
[0034] The processor 205 may be configured to execute a plurality of engines for the UE 110. For example, the engines may include a handover engine 235 for performing operations related to determining networking conditions, predicting handouts and hand-ins, and performing handover operations based on the determination.
[0035] The above referenced engine being an application (e.g., a program) executed by the processor 205 is only exemplary. The functionality associated with the engines may also be represented as a separate incorporated component of the UE 110 or may be a modular component coupled to the UE 110, e.g., an integrated circuit with or without firmware. For example, the integrated circuit may include input circuitry to receive signals and processing circuitry to process the signals and other information. The engines may also be embodied as one application or separate applications. In addition, in some UEs, the functionality described for the processor 205 is split among two or more processors such as a baseband processor and an applications processor. The exemplary embodiments may be implemented in any of these or other configurations of a UE .
[0036] The memory arrangement 210 may be a hardware component configured to store data related to operations performed by the UE 110. The display device 215 may be a hardware component configured to show data to a user while the I / O device 220 maybe a hardware component that enables the user to enter inputs. The display device 215 and the I / O device 220 may be separate components or integrated together such as a touchscreen.
[0037] The transceiver 225 may be a hardware component configured to establish a connection with the 5G-NR RAN 120. Accordingly, the transceiver 225 may operate on a variety of different frequencies or channels (e.g., set of consecutive frequencies) . The transceiver 225 includes circuitry configured to transmit and / or receive signals (e.g., control signals, data signals) . Such signals may be encoded with information implementing any one of the methods described herein. The processor 205 may be operably coupled to the transceiver 225 and configured to receive from and / or transmit signals to the transceiver 225. The processor 205 may be configured to encode and / or decode signals (e.g., signaling from a base station of a network) for implementing any one of the methods described herein .
[0038] Fig. 3 shows an exemplary base station 300 according to various exemplary embodiments. The base station 300 may represent the gNB 120A or any other access node through which the UE 110 may establish a connection and manage network operations .
[0039] The base station 300 may include a processor 305, a memory arrangement 310, an input / output (I / O) device 315, a transceiver 320, and other components 325. The other components 325 may include, for example, an audio input device, an audio output device, a battery, a data acquisition device, ports toelectrically connect the base station 300 to other electronic devices and / or power sources, etc.
[0040] The processor 305 may be configured to execute a plurality of engines for the base station 300. For example, the engines may include a handover engine 330 for performing operations related to receiving SIM registration messages from the UE 110.
[0041] The memory 310 may be a hardware component configured to store data related to operations performed by the base station 300. The I / O device 315 may be a hardware component or ports that enable a user to interact with the base station 300.
[0042] The transceiver 320 may be a hardware component configured to exchange data with the UE 110 and any other UE in the network arrangement 100. The transceiver 320 may operate on a variety of different frequencies or channels (e.g. , set of consecutive frequencies) . Therefore, the transceiver 320 may include one or more components (e.g. , radios) to enable the data exchange with the various networks and UEs. The transceiver 320 includes circuitry configured to transmit and / or receive signals (e.g., control signals, data signals) . Such signals may be encoded with information implementing any one of the methods described herein. The processor 305 may be operably coupled to the transceiver 320 and configured to receive from and / or transmit signals to the transceiver 320. The processor 305 may be configured to encode and / or decode signals (e.g. , signaling from a UE) for implementing any one of the methods described herein .
[0043] Fig. 4 shows a first user mobility scenario 400 according to various exemplary embodiments. The user mobility scenario 400 shows a simplified scenario of a UE (e.g., the UE 110) entering or exiting a geofenced area associated with an enterprise network 406. The macro network 410 may be understood to cover (at a minimum) the immediate area outside the geofence 404. The macro network may also cover areas inside the geofence 404. In this example, the UE 110 may include a macro SIM associated with a macro network 410 (e.g., deployed by an MNO) and an enterprise SIM associated with the enterprise network 406.
[0044] In 402, the UE 110 moves from a first location to a second location. In a first scenario, the UE 110 moves from the first location outside the geofence 404 to the second location inside the geofence 404. In a second scenario, the UE 110 moves from the first location inside the geofence 404 to the second location outside the geofence 404. The geofence 404 bounds the edges of an enterprise deployment 406. There is no requirement that the geofence 404 coincide with the exact boundary of the enterprise network 406 signal. For example, the geofence 404 may be smaller or larger than the total area in which the UE 110 may communicate with the enterprise network 406.
[0045] In the first scenario, upon entering the area within the geofence 404, the UE 110 may switch its data traffic to the enterprise network 406 from the macro network 410. This may also be referred to as a hand-in.
[0046] In the second scenario, upon leaving the area within the geofence 404, the UE 110 may switch its data traffic to themacro network 406 from the enterprise network 406. This may also be referred to as a hand-out.
[0047] Fig. 5 shows a first user mobility scenario 500 according to various exemplary embodiments. Similar to Fig. 4, the UE 110 features both a macro SIM and an enterprise SIM. The UE 110 may be understood to be initially served by a macro network 512. In some scenarios, a geofence 502 may be larger than a coverage area of an enterprise network 506. This may be an issue because the UE 110 may attempt a hand-in when entering the area of the geofence 502, but signal conditions for the enterprise network 506 may be inferior to the already-serving macro network 512. This may result in data stalls and a poor user experience. An enterprise edge coverage area 504 may be understood to be the area in which it is advantageous to switch the UE 110 from the macro network 512 to the enterprise network506.
[0048] In the scenario shown in the geofence diagram 500, the UE 110 may enter the geofence 502, but not immediately perform a hand-in to the enterprise network 506. Instead, the UE 110 may continue to perform signal measurements of the enterprise network 506 and may only perform a hand-in 510 based on a signal quality reaching a predetermined threshold. A similar scenario may occur in reverse, as the UE 110 moves out of the coverage area of the enterprise network 506 but within the geofence 502. As the enterprise network 506 signal degrades with increasing radius from the center of the enterprise deployment, the UE 110 may switch to the macro network 512 via a hand-out based on signal measurements of the macro network 512 meeting a predetermined threshold.
[0049] In the scenarios described above , there may be various reasons for the UE 110 to experience data stalls . The following provides some examples of reasons why data stalls may occur .This is not an exhaustive list of reasons for data stalls but is only some exemplary reasons for data stalls , i . e . , the exemplary embodiments may solve issues related to data stalls that occur for di f ferent reasons .
[0050] When entering a geofence , the UE 110 may experience data stalls because enabling an enterprise SIM may cause reduction of radio resources for the still-serving macro S IM, which may result in packet loss . Enabling the enterprise S IM may result in additional scanning and signaling by the UE 110 , which requires additional radio resources . Additionally, data stalls may occur because the IP address of the UE 110 changes during a data switch, and real time applications need time to adapt to the new IP address .
[0051] When exiting a geofence, the UE 110 may experience data stalls because disabling an enterprise S IM may cause a capability update to a macro S IM . This may result in baseband protocol signaling which may stall data packets . Additionally, data stalls may occur because the IP address of the UE 110 changes during a data switch, and real time applications need time to adapt to the new IP address .
[0052] When the UE 110 is within a geofence but before switching to the enterprise network, data stalls may occur because of IP address changes at the UE 110 , and incoming stalepackets on the previous network (e.g., the macro network) may stall signaling on the enterprise network.
[0053] In other examples, when the UE 110 switches from a dual SIM mode to a single SIM mode, the UE 110 may initiate a Tracking Area Update (TAU) that may use resources and cause a data stall.
[0054] In summary, data stalls may occur when the UE changes from single SIM mode to dual SIM mode, when an enterprise network geofences are larger than the coverage area of a given cell, when an application adapts to a new IP address, when stale downlink packets arrive on from the previously-serving network, etc .
[0055] The exemplary embodiments address the issues related to data stalls by providing various manners of switching between macro networks and private networks (e.g., hand-ins or handouts) and / or switching between various macro networks when a UE is equipped with more than one SIM.
[0056] In a first aspect of the exemplary embodiments, operations and logic for deferred data switching are disclosed herein. Deferred data switching aims to sustain a real time call on a current network as long as possible, which may result in improved call retention and improved user experience by avoiding unnecessary data stalls associated with the switching of cellular data from a first network to a second network (e.g., macro network to enterprise network or vice versa) .
[0057] Fig. 6 shows a first method 600 for deferred data switching when entering a geofence according to variousexemplary embodiments. As described above, typically, when the UE 110 enters a geofence associated with an enterprise network and the UE 110 is equipped with a SIM for the enterprise network, the UE will perform a hand-in and switch to the enterprise network. However, as will be described in greater detail below, the exemplary embodiments provide manners of deferring the switch to the enterprise network to avoid a bad user experience because of data stalls associated with the switch. The method of Fig. 6 will be described with reference to the UE 110 in the scenario of Fig. 5. However, it should be understood that the UE 110 may also be in the scenario of Fig. 4 or any other scenario associated with entering a geofence area.
[0058] As shown in 601, the example of Fig. 6 may consider the scenario where the UE 110 is currently connected to a macro network and is conducting an active call via the macro network. In 604, the UE 110 may enter an enterprise geofence, e.g., the UE 110 enters the geofence 502 as shown in Fig. 5. When the UE 110 enters the geofence, the UE 110 may determine if the call is still active. For example, the UE 110 may determine the call is still active based on the identification of certain application programming interfaces (APIs) being used by applications, application categories, traffic patterns consistent with a call, etc. In this example, it may be considered that the call remains active when the UE 110 enters the geofence.
[0059] In 606, the UE 110 determines the macro network signal quality. This determination may use any number of techniques, such as signal strength, link quality, cell load, etc. to evaluate the quality of the macro network connection. If the macro network connection is determined to be good (e.g., themacro network signal quality satisfies one or more predetermined thresholds related to signal quality) , the UE 110 remains on the macro network to continue the active call. This may be understood to be "deferring" the switch to the enterprise network (e.g., the UE 110 does not connect to the enterprise network in 608) . This may be advantageous to avoid data stalls that may occur during a data switch from the macro network to the enterprise network that may affect the user experience of the active call.
[0060] While the example of Fig. 6 shows the UE 110 determining the macro network signal quality a single time in 606, the UE 110 will continuously check the signal quality of the macro network while the UE 110 is within the geofence, is connected to the macro network and is participating in the active call. While not shown in Fig. 6, when the active call ends, the UE 110 may switch to the enterprise network, e.g., perform a hand-in. At this time, the UE 110 may discontinue determining the signal quality of the macro network.
[0061] Returning to 606, it may be considered that, while the call is still active, the UE 110 determines that the macro network signal quality is bad (e.g., the macro network signal quality does not satisfy one or more predetermined thresholds related to signal quality) . When this occurs, in 610, the UE 110 may enable the enterprise SIM. In 612, the UE 110 registers the enterprise SIM with the enterprise network.
[0062] In 614, the UE 110 determines whether a cellular data switch from the macro network to the enterprise network is recommended based on a comparison of measurements of the macronetwork signal quality and the enterprise network signal quality. This comparison may evaluate numerous factors, such as signal strength, link quality, and cell load. This evaluation need not be based on the same metrics and thresholds used for the determination in 606. Furthermore, while this is described as a comparison, the determination 614 may be made based on the signal quality of the macro network or the signal quality of the enterprise network without comparison to the signal quality of the other network.
[0063] If the determination 614 does not recommend a hand-in to the enterprise network, the UE 110 remains on the macro network. Again, this evaluation may be ongoing when the UE 110 is within the geofence and remains connected to the macro network. If the determination 614 recommends a hand-in to the enterprise network, the method proceeds to 616 and the UE 110 switches cellular data to the enterprise SIM.
[0064] In Fig. 6 and throughout this disclosure, various means of calculating and evaluating connection quality are possible. One of skill in the art will recognize that predetermined quality thresholds may be defined by an original equipment manufacturer (OEM) , MNO, and / or other operators. In other words, quality thresholds and associated evaluation criteria need not be any specific value. These may be left to operator implementation.
[0065] Fig. 7 shows a second method 700 for deferred data switching when exiting a geofence according to various exemplary embodiments. As described above, typically, when the UE 110 exits a geofence associated with an enterprise network, the UE110 will perform a hand-out and switch to a macro network. As will be described in greater detail below, the exemplary embodiments provide manners of deferring disabling the SIM of the enterprise to avoid a bad user experience because of data stalls associated with the UE 110 switching from dual SIM mode to a single SIM mode. The method of Fig. 7 will be described with reference to the UE 110 in the second scenario of Fig. 4, e.g., the UE 110 exiting the geofence 404. However, it should be understood that the UE 110 may also be in the scenario of Fig. 5 or any other scenario associated with leaving a geofence area.
[0066] As shown in 701, the example of Fig. 7 may consider the scenario where the UE 110 is currently connected to an enterprise network and is conducting an active call via the enterprise network. In 704, the UE 110 leaves an enterprise geofence, e.g., the UE 110 leaves the geofence 404 as shown in Fig. 4. When the UE 110 leaves the geofence, the UE 110 may determine if the call is still active. Examples of manners of the UE 110 determining whether the call is still active were described above. In this example, it may be considered that the call remains active when the UE 110 leaves the geofence.
[0067] In some scenarios, the enterprise network may still offer a viable connection to the UE 110, even at a geofence border. Thus, in 706, the UE 110 determines whether a cellular data switch (e.g., handout) from the enterprise network to the macro network is recommended. Similar to the determination 614 described with reference to Fig. 6, this determination 706 may include a comparison of measurements of the macro network signal quality and the enterprise network signal quality. This comparison may evaluate numerous factors, such as signalstrength, link quality, and cell load . Again, while this is described as a comparison, the determination 706 may be made based on the signal quality of the macro network or the signal quality of the enterprise network without comparison to the signal quality of the other network .
[0068] Based on the comparison in 706 , if the UE 110 determines that hand-out is not recommended, the UE 110 stays on the enterprise network and continues the active call . I f the UE 110 determines that hand-out is recommended, the method proceeds to 708 and the UE 110 switches cellular data to the macro S IM .
[0069] In 710 , the UE 110 does not disable the enterprise S IM, despite the cellular data being switched to the macro network, e . g . , the UE 110 remains in dual SIM mode . As described above, i f the enterprise SIM was disabled, the UE 110 may switch from dual S IM to single S IM mode causing the UE 110 initiate a TAU . The resources used for the TAU may cause a data stall for the active call that was switched to the macro network . By not disabling the enterprise SIM when the switch to the macro network has occurred, the UE 110 may avoid initiating the TAU while the call remains active , thereby preventing the data stall associated with the TAU . When the call is no longer active , the UE 110 may then switch to the single SIM mode .
[0070] Fig . 8 shows a third method 800 for deferred data switching for signal strength-based hand-in / hand-out according to various exemplary embodiments . Enterprise networks may not always be perfectly uni form. It is possible that various coverage holes exist within a given enterprise geofence . When the UE 110 enters such a coverage hole, signal quality mayrapidly drop, resulting in a data stall. In some cases, the macro network may still cover these enterprise network coverage holes. However, as the UE 110 moves within the coverage area of the enterprise network and encounters such coverage holes, the UE 110 may continuously switch between the macro network and the enterprise network or vice versa. These continuous switches may result in causing data stalls for the various reasons described above. The method 800 provides a manner to avoid continuous switches in this scenario.
[0071] In 801, the UE 110 is on an active call. If the UE 110 is using the enterprise network for data, the method proceeds to 802. If the UE 110 is on the macro network for data, the method proceeds to 804. In both 802 and 804, the method then proceeds to 806 and evaluates the active (e.g., data serving) network quality .
[0072] If the UE 110 had cellular data using the enterprise SIM, and the evaluation 806 indicates that hand-out is recommended (e.g., the signal quality of the enterprise network does not satisfy one or more thresholds) , the UE 110 proceeds to 808. This may occur, for example, because the UE 110 has encountered a coverage hole in the enterprise network.
[0073] In 808, the UE 110 switches to cellular data using the macro SIM. In some embodiments, the UE 110 may not disable the enterprise SIM following this operation, e.g., similar to the operation 710 described above with reference to Fig. 7.
[0074] If the UE 110 had cellular data using the macro SIM and the evaluation 806 indicates that hand-in is recommended, the method proceeds to 810.
[0075] In 810, the UE 110 determines the macro network signal quality. If the determined quality is bad (e.g., the macro network signal quality does not satisfy one or more predetermined thresholds related to signal quality) , the UE 110 proceeds to 812 and switches cellular data to the enterprise SIM. If the determined quality is good (e.g., the macro network signal quality satisfies one or more predetermined thresholds related to signal quality) , the UE 110 proceeds to 814 and maintains the call / data on the macro network.
[0076] Thus, in this example, the UE 110 may continue to use the macro network within the coverage area of the enterprise network when a call remains active.
[0077] Fig. 9 shows a method 900 that may be performed when a UE ends an active call and deferred data switching was used according to various exemplary embodiments. As described above with reference to the methods 600-800, the deferred data switching was implemented while the UE 110 had an active call. The method 900 of Fig. 9 provides operations for the UE to perform when the call is no longer active.
[0078] In 901, the UE 110 determines that the call (e.g., any of the active calls described above with reference to the methods 600-800) is no longer active. In 902, the UE 110 determines whether the UE 110 is inside or outside an enterprise geofence. As described in the above examples, the type ofdeferred data switching may depend on whether the UE 110 is inside or outside an enterprise geofence.
[0079] If it is determined the UE 110 is outside the enterprise geofence, the method proceeds to 904 and disables the enterprise SIM. This operation assumes that disabling the enterprise SIM was previously suppressed during a deferred data switching operation (e.g., operation 710 of Fig. 7) . This disabling of the enterprise SIM may save battery power of the UE 110. In 906, the UE 110 switches cellular data to the macro SIM. As described above, there may be scenarios where the enterprise SIM is enabled but the UE 110 had previously switched the cellular data to the macro SIM. If this is the case, the UE 110 may skip the operation 906 because it has already been performed during the deferred data switching.
[0080] If it is determined the UE 110 is inside the enterprise geofence, the method proceeds to 908 where the UE 110 determines whether the enterprise SIM is enabled. If the enterprise SIM is not enabled, the UE 110, in 910, enables the enterprise SIM. As described in some examples above, the enabling the enterprise SIM may have been deferred, even though the UE 110 was within a geofence of the enterprise network, to avoid data stalls when the call was active. In 912, the UE 110 registers the enterprise SIM with the network.
[0081] If it is determined in 908 that the enterprise SIM is enabled or after 912, the method proceeds to 914 where the UE 110 determines whether a cellular data switch (e.g., hand-in) from the macro network to the enterprise network is recommended, e.g., based on the signal quality of the macro network. If hand-in is not recommended based on the determination 914, the UE 110 remains on the macro network. If hand-in is recommended based on the determination 914, the method proceeds to 916 and the UE 110 switches cellular data to the enterprise SIM.
[0082] In a second aspect of the exemplary embodiments, operations and logic for preemptive data switching are disclosed herein. A preemptive data switch to an overlaid macro cell (e.g., a hand-out) may be performed based on a prediction that a call (e.g., a Voice over Internet Protocol (VoIP) call) may experience an interface switch with associated data stalls / call drops .
[0083] Fig. 10 shows method 1000 for a preemptive hand-out according to various exemplary embodiments. Throughout the method 1000, if any determinations 1004, 1006, 1008, 1010, 1012, and 1014 are in the negative (i.e., no) , the method 1000 returns back to 1002. These "no" determinations will not be further described .
[0084] In 1002, cellular data on the UE 110 is currently using the enterprise SIM on an enterprise network.
[0085] In 1004, the UE 110 determines whether there is a calendar event for a voice call (e.g., VoIP call) scheduled. If there is a calendar event for a voice call scheduled, the UE 110 proceeds to 1006. In 1006, the UE 110 predicts whether there may be routine travel during the scheduled voice call. For example, the call may be scheduled from 4:30-5:30 pm. The UE 110 may understand that the user typically travels at 5:00 pm. In such ascenario, the UE 110 may predict that the user will travel during the voice call.
[0086] If there is predicted routine travel during the voice call, the method proceeds to 1008 where the UE 110 determines whether the current location of the UE 110 matches a predicted travel origin. For example, the current location of the UE 110 may be a work location of the user.
[0087] If the UE 110 determines that the current location matches a predicted travel origin, the method proceeds to 1010 where the UE 110 determines whether the current location is a significant location. A significant location may be any location that the UE 110 frequently is located at (for example, home or work) . Significant locations may also be selected by a user.
[0088] If the UE 110 determines that the current location is significant, the method proceeds to 1012 where the UE 110 determines whether the macro network interface is expensive (e.g., no / low signaling cost to switching) .
[0089] If the UE 110 determines that the macro network interface is inexpensive, the method proceeds to 1014 where the UE 110 determines whether the macro network has a good signal quality. This determination may be based on measurements of the macro network by the UE 110.
[0090] If the UE 110 determines the macro network has a good signal quality, the method proceeds to 1016 where the UE 110 performs a preemptive hand-out to the macro network from the enterprise network.
[0091] It is possible that the predictive handout shown in the method 1000 may be incorrect (e.g., the UE 110 determines a "yes" when the answer to the determination is "no") . In such a scenario, various recovery operations are possible. For example, a predetermined time interval may be used at any point (before, during, and after) the operations shown in the method 1000. In some embodiments, after the expiration of a predetermined timer, the UE 110 may check if a calendar invite has been deleted or cancelled, if a user has not started a predicted commute, or if a predicted call is terminated, the UE 110 may determine that preemptive hand-out is not necessary and remain on the enterprise network.
[0092] Fig. 11 shows a method 1100 for recovery operations from an incorrect predictive hand-out according to various exemplary embodiments. In 1102, the UE 110 has preemptively performed a hand-out from an enterprise network to a macro network (e.g., following the method 1000) .
[0093] Following 1102, the UE 110 performs operations 1104, 1106, and 1108. These operations 1102, 1106, and 1108 may occur in any order and may also occur simultaneously. In 1104, the UE 110 determines whether a voice call calendar event was cancelled or rescheduled. In 1106, the UE 110 determines whether routine travel did not start (for example, based on accelerometer / gyroscope data, geolocation data, vehicular connections, etc.) . In 1108, the UE 110 determines whether the voice call which resulted in preemptive hand-out has terminated.
[0094] If the answer to all of the determinations 1104, 1106, and 1108 is no, the method ends because the UE 110 determines that the prediction of a preemptive hand-out is likely correct. On the other hand, if the answer to any of 1104, 1106, and 1108 is yes, the UE 110 determines that the prediction of the preemptive hand-out may not be correct. In this case, the method proceeds to 1110.
[0095] In 1110, the UE 110 starts a hysteresis timer. The length of the timer may vary based on operator and original equipment manufacturer (OEM) implementation. In 1111, the hysteresis timer expires.
[0096] In 1112, the UE 110 reevaluates the interface selection. This may be understood as the UE 110 understanding that the timer has expired, and that further recovery operations may be performed. In some variants, the UE 110 may proceed directly from the operation 1111 to the operation 1114.
[0097] In 1114, it is determined whether the UE 110 is inside an enterprise network geofence. If the UE 110 is inside an enterprise network geofence, the method proceeds to 1116, where the UE 110 determines whether the enterprise network signal is strong based on signal measurements.
[0098] If the enterprise network signal is strong, the method proceeds to 1118 where the UE 110 performs a hand-in to the enterprise network, thereby correcting for an incorrect preemptive hand-out. If the enterprise network signal is not strong, the UE 110 may remain on the macro network.
[0099] Fig. 12 shows a call flow 1200 for preemptive hand-out according to various exemplary embodiments. The call flow 1200 may be understood to further describe the operations associated with a preemptive hand-out, as described with respect to the method 1000.
[0100] The call flow 1200 includes a calendar application 1202. The calendar application 1202 may be an application or service on the UE 110 that the user or a third party entity may access or modify. The calendar application 1202 may have a plurality of entries for the user that may include times, dates, and locations.
[0101] The call flow 1200 includes a core routine 1204. The core routine 1204 may be understood to be stored information related to movement patterns of the UE 110. For example, the core routine 1204 may know that a user typically enters a vehicle at a certain time of day for a certain length of time and typically arrives at a certain location (for example, a commute to a place of employment) .
[0102] The call flow 1206 includes a motion input 1206. The motion input 1206 may be derived from a variety of sensors of the UE 110, such as a gyroscope, accelerometer, geolocation sensor (such as GPS and GLONASS) , altimeter, barometer, etc. In some variants the motion input 1206 may also be derived from biometric data such as heartrate, skin temperature, and blood oxygen levels. The motion input 1206 may be used as an input for generating the core routine 1204.
[0103] The call flow 1200 also includes maps 1206, which may be understood to include both a current location of the UE 110 and scheduled locations in the calendar application 1202.
[0104] The call flow 1200 includes a call start / handout predictor 1210 (henceforth "predictor") . The predictor 1210 may be understood to be an engine executed by the UE 110 (e.g., a routine or function of the handover engine 235) . The predictor 1210 evaluates the calendar 1202, the core routine 1204, the motion input 1206, and the maps 1208 to determine whether a preemptive hand-out should occur.
[0105] The call flow 1200 includes a macro network signal estimator 1212 (henceforth "estimator") . The estimator 1212 may be understood to be a routine or function executed by the handover engine 235, based on signal measurements by the UE 110.
[0106] The call flow 1200 includes an interface expense 1214, which may be understood to be information from the macro network interface indicating whether there will be a signaling cost to the user if the hand-out occurs.
[0107] The call flow 1200 includes an interface 1216, which may be understood to be the SIM functionality of the UE 110, including the serving data network. In the call flow 1200, the interface 1216 would be the macro network.
[0108] In 1218, the predictor 1210 sends a calendar event request to the calendar 1202.
[0109] In 1220, the calendar 1202 sends a calendar event respond to the predictor 1210. The response 1220 may include times and dates associated with scheduled events.
[0110] In 1222, the predictor 1210 sends a routine information request to the core routine 1204.
[0111] In 1224, the core routine 1204 sends a routine information response to the predictor 1210, including core routine information.
[0112] In 1226, the motion input 1206 sends a motion state information update to the predictor 1210, including relevant motion data for handover prediction.
[0113] In 1228, the predictor 1210 sends a current location request to the maps function 1208.
[0114] In 1230, the maps function 1208 sends a current location response to the predictor 1210, including the current UE geographic location.
[0115] In 1232, the predictor 1210 sends an interface expense request to the interface expense function 1214.
[0116] In 1234, the interface expense function 1214 sends an interface expense response the predictor 1210, including information on whether the macro network would be above a predetermined expense threshold.
[0117] In 1236, the predictor 1210 sends a signal information request the macro network signal estimator function 1212.
[0118] In 1238, the Macro network signal estimator function 1212 sends a signal information response to the predictor 1210, including signal measurements of the macro network.
[0119] In 1240, the predictor 1210 sends an update interface to MNO request to the interface 1216.
[0120] In 1242, the interface 1216 sends an update interface to MNO response to the predictor 1210.
[0121] In a third aspect of the exemplary embodiments, operations and logic for just in time forced hand-out are disclosed. In some situations, predictive hand-outs may be inaccurate. It may be desirable in some scenarios to use a timer to force a hand-out when a call is detected. Outgoing call detection is straightforward and may occur via monitoring a VoIP application starting a call. The outgoing call may be buffered and an interface switch may occur before originating the call. Incoming call detection for forced hand-out may use buffering of the incoming session initiation protocol (SIP) invitation.
[0122] Fig. 13 shows a call flow 1300 for a just in time hand-out according to various exemplary embodiments.
[0123] The call flow 1300 features a call state 1302, which is a function of the UE 110 which is aware of incoming and outgoing calls.
[0124] The call 1300 features a handout controller 1304, which is a function of the UE 110 which determines and controls hand-outs and hand-ins.
[0125] The call 1300 features an MNO Signal Quality estimator 1306, which is substantially similar to the Macro Network Signal Estimator 1212.
[0126] The call 1300 features am interface expense function 1308, which is substantially similar to the interface expense function 1214.
[0127] The call 1300 features an interface selector 1310, which is a function of the UE 110 that controls which interface the UE 110 is currently using (e.g., macro or enterprise networks ) .
[0128] In 1312, the call state function 1302 sends an incoming / outgoing call indication to the handout controller 1304
[0129] In 1314, the UE 110 waits during a setup delay time 1314. The setup delay time may be a predetermined length of time left to operator implementation. In some variants, the setup delay time may vary based on date, UE location, UE battery, and network conditions. In other variants, the setup delay time is static .
[0130] In 1316, the handout controller 1304 sends an interface expense request to the MNO signal quality estimator 1316.
[0131] In 1318, the MNO signal quality estimator 1306 sends an interface expense response to the handout control 1304, indicating whether the macro network is expensive or inexpensive .
[0132] In 1320, the handout controller 1304 sends a signal information request to the signal quality estimator 1306. The signal information request includes queries for one or more of RSRP, RSRQ, and link quality metric (LQM) .
[0133] In 1322, the signal quality estimator 1306 sends a signal information response to the handout controller 1304, including one or more of RSRP, RSRQ, and LQM.
[0134] In 1324, the handout controller 1304 sends an update interface to MNO request to the interface selector 1310.
[0135] In 1326, the interface selector 1310 sends an update interface to MNO response to the handout controller 1304, indicating that the current interface is now the macro network.
[0136] Addit ional factors and measurements may be used to determine when to perform data switching when a UE is operating with two macro network SIMs. The UE 110 may compare Reference Signals Received Power (RSRP) and Reference Signal Received Quality (RSRQ) of both macro networks (e.g., the signal strength) . The UE 110 may compare uplink / downlink block error rate (BLER) and network grants of the two macro networks (e.g., the link quality) . The UE 110 may also compare reported network congestion of both macro networks (e.g., cell load) . Various methodologies may be used to compare signal strength, linkquality, and cell load when determining how and when to perform data switching between macro networks .Examples
[0137] In a first example , a method performed by a user equipment (UE ) , comprising determining the UE has an active call via a macro cellular network, wherein the UE comprises a macro cellular network subscriber identity module ( S IM) associated with the macro cellular network, determining the UE has entered a geofence area associated with a private cellular network, determining a first signal quality of macro cellular network based on first signal measurements of the macro cellular network and when the first signal quality of the macro cellular network satisfies a predetermined threshold, omitting the enabling a private cellular network SIM associated with the private cellular network or when the signal quality of the macro cellular network does not satis fy a predetermined threshold, enabling a private cellular network S IM associated with the private cellular network .
[0138] In a second example , the method of the first example , further comprising determining the active call has ended, enabling the private cellular network SIM based on the active call ending, performing a registration procedure for the private cellular network S IM with the private cellular network, determining a second signal quality of the macro cellular network and performing a cellular data hand-in from the macro cellular network to the private cellular network based on the second signal measurements .
[0139] In a third example, the method of the first example, wherein, when the signal quality of the macro cellular network does not satisfy the predetermined threshold, the method further comprising performing a registration procedure for the private cellular network SIM with the private cellular network, determining a second signal quality of the macro cellular network based on second signal measurements and performing a cellular data hand-in from the macro cellular network to the private cellular network based on the second signal measurements .
[0140] In a fourth example, the method of the first example, wherein the determination that the UE has an active call is based on (i) an application programing interface (API) associated with an application hosting the active call, (ii) an application category associated with the application hosting the active call, or (ill) a traffic pattern generated by the application hosting the active call.
[0141] In a fifth example, the method of the first example, wherein the first signal quality comprises a signal strength, a link quality, or a cell load.
[0142] In a sixth example, a processor configured to perform any of the methods of the first through fifth examples.
[0143] In a seventh example, a user equipment (UE) comprising a transceiver configured to communicate with a macro cellular network and a private cellular network and a processor communicatively coupled to the transceiver and configured to perform any of the methods of the first through fifth examples.
[0144] In an eighth example, a method performed by a user equipment (UE) , the method comprising determining the UE has an active call via a private cellular network, wherein the UE has a private cellular network subscriber identity module (SIM) associated with the private cellular network and a macro cellular network SIM associated with a macro cellular network, wherein the macro cellular network SIM is enabled and nonserving, determining the UE has exited a geofence area associated with the private cellular network, performing a signal measurement of a macro cellular network and the private cellular network and performing a cellular data hand-out from the private cellular network to the macro cellular network based on the signal measurement, wherein the private cellular network SIM remains enabled after the cellular data hand-out.
[0145] In a ninth example, the method of the eighth example, wherein the determination that the UE has an active call is based on (i) an application programing interface (API) associated with an application hosting the active call, (ii) an application category associated with the application hosting the active call, or (iii) a traffic pattern generated by the application hosting the active call.
[0146] In a tenth example, the method of the eighth example, further comprising determining the active call has ended and disabling the private cellular network SIM based on the active call ending.
[0147] In an eleventh example, a processor configured to perform any of the methods of the eighth through tenth examples.
[0148] In a twel fth example , a user equipment (UE ) comprising a transceiver configured to communicate with a macro cellular network and a private cellular network and a processor communicatively coupled to the transceiver and configured to perform any of the methods of the eighth through tenth examples .
[0149] In a thirteenth example, a method performed by a user equipment (UE ) , the UE being served cellular data by a private cellular network, the method comprising determining an upcoming calendar event associated with a voice call , predicting the UE will leave a coverage area of the private cellular network prior to a conclusion of the voice call , determining a signal quality of a macro cellular network is satis fies a predefined threshold based on a signal measurements of the macro cellular network and switching the UE from being served cellular data by the private cellular network to the UE being served cellular data by the macro cellular network based on the prediction the UE will leave the coverage area of the private cellular network and the signal measurements of the macro cellular network .
[0150] In a fourteenth example, the method of the thirteenth example , wherein predicting the UE will leave the coverage area of the private cellular network is based on determining predicted travel associated with the upcoming calendar event .
[0151] In a fi fteenth example, the method of the fourteenth example , wherein predicting the UE will leave the coverage area of the private cellular network is based on determining a current UE location matches an origin of the predicted travel and determining the current UE location matches a predefined significant location .
[0152] In a sixteenth example, the method of the fourteenth example , wherein predicting the UE will leave the coverage area of the private cellular network is based on determining predicted travel based on learning mobility patterns of the UE .
[0153] In a seventeenth example , the method of the thirteenth example , wherein the switch is further based on an expense of the macro cellular network being below a predefined expense threshold .
[0154] In an eighteenth example , the method of the thirteenth example , further comprising determining that at least one of ( i ) the call associated with the upcoming calendar event has been cancelled, ( ii ) a predicted travel during the upcoming calendar event did not occur ; or ( iii ) the call associated with the upcoming calendar event has terminated, determining that the UE is inside a geofence associated with the private cellular network, performing a signal measurement of the private cellular network and switching the UE from being served cellular data by the macro cellular network to the UE being served cellular data by the private cellular network .
[0155] In a nineteenth example, the method of the eighteenth example , further comprising starting a timer having a predetermined length of time , wherein the signal measurement of the private cellular network and evaluation of a switch to the private network is not performed until the timer has expired .
[0156] In a twentieth example, the method of the thirteenth example , wherein the call comprises a voice over internet protocol (VoIP ) call .
[0157] In an twenty first example , a processor configured to perform any of the methods of the thirteenth through twentieth examples .
[0158] In a twenty second example , a user equipment (UE ) comprising a transceiver configured to communicate with a macro cellular network and a private cellular network and a processor communicatively coupled to the transceiver and configured to perform any of the methods of the thirteenth through twentieth examples .
[0159] In a twenty third example , a method performed by a user equipment (UE ) , the method comprising determining, when the UE is connected to a first cellular network, the UE is preparing to participate in a voice call , determining an expense associated with the UE performing the voice call on a second cellular network, determining a first signal quality associated with the first cellular network, determining a second signal quality associated with a second cellular network and selecting one of the first cellular network or the second cellular network to perform the voice call based on the first signal quality, the second signal quality and the expense , wherein, when the second cellular network is selected, switching to the second cellular network prior to connecting the voice call .
[0160] In a twenty fourth example , the method of the twenty third example , wherein the first cellular network is a privatecellular network and the second cellular network is a macro cellular network.
[0161] In a twenty fifth example, the method of the twenty third example, wherein the first signal quality comprises a Reference Signal Received Power (RSRP) , a Reference Signal Received Quality (RSRQ) , an uplink block error rate (BLER) , a downlink BLER or network grants of the first cellular network.
[0162] In a twenty sixth example, the method of the twenty third example, wherein the second cellular network is selected when, at least, the expense is below a predefined expense threshold .
[0163] In an twenty seventh example, a processor configured to perform any of the methods of the twenty third through twenty sixth examples.
[0164] In a twenty eighth example, a user equipment (UE) comprising a transceiver configured to communicate with a first cellular network and a second cellular network and a processor communicatively coupled to the transceiver and configured to perform any of the methods of the twenty third through twenty sixth examples.
[0165] Those skilled in the art will understand that the above-described exemplary embodiments may be implemented in any suitable software or hardware configuration or combination thereof. An exemplary hardware platform for implementing the exemplary embodiments may include, for example, an Intel x86 based platform with compatible operating system, a Windows OS aMac platform and MAC OS , a mobile device having an operating system such as iOS , Android, etc . The exemplary embodiments of the above described method may be embodied as a program containing lines of code stored on a non-transitory computer readable storage medium that , when compiled, may be executed on a processor or microprocessor .
[0166] Although this application described various embodiments each having different features in various combinations , those skilled in the art will understand that any of the features of one embodiment may be combined with the features of the other embodiments in any manner not speci fically disclaimed or which is not functionally or logically inconsistent with the operation of the device or the stated functions of the disclosed embodiments .
[0167] As described above , one aspect of the present technology is the gathering and use of data available from specific and legitimate sources to improve the delivery to users of invitational content or any other content that may be of interest to them. The present disclosure contemplates that in some instances , this gathered data may include personal information data that uniquely identi fies or can be used to identi fy a specific person . Such personal information data can include demographic data, location-based data, online identi fiers , telephone numbers , email addresses , home addresses , data or records relating to a user' s health or level of fitness ( e . g . , vital signs measurements , medication information, exercise information) , date of birth, or any other personal information .
[0168] The present disclosure recogni zes that the use of such personal information data, in the present technology, can be used to the benefit of users . For example , the personal information data can be used to deliver targeted content that may be of greater interest to the user in accordance with their preferences . Accordingly, use of such personal information data enables users to have greater control of the delivered content . Further, other uses for personal information data that benefit the user are also contemplated by the present disclosure . For instance , health and fitness data may be used, in accordance with the user' s preferences to provide insights into their general wellness , or may be used as positive feedback to individuals using technology to pursue wellness goals .
[0169] The present disclosure contemplates that those entities responsible for the collection, analysis , disclosure, transfer, storage , or other use of such personal information data will comply with well-established privacy policies and / or privacy practices . In particular, such entities would be expected to implement and consistently apply privacy practices that are generally recognized as meeting or exceeding industry or governmental reguirements for maintaining the privacy of users . Such information regarding the use of personal data should be prominent and easily accessible by users , and should be updated as the collection and / or use of data changes . Personal information from users should be collected for legitimate uses only . Further, such collection / sharing should occur only after receiving the consent of the users or other legitimate basis specified in applicable law . Additionally, such entities should consider taking any needed steps for safeguarding and securing access to such personal informationdata and ensuring that others with access to the personal information data adhere to their privacy policies and procedures . Further, such entities can subj ect themselves to evaluation by third parties to certi fy their adherence to widely accepted privacy policies and practices . In addition, policies and practices should be adapted for the particular types of personal information data being collected and / or accessed and adapted to applicable laws and standards , including j urisdiction-speci fic considerations that may serve to impose a higher standard . For instance , in the US , collection of or access to certain health data may be governed by federal and / or state laws , such as the Health Insurance Portability and Accountability Act (HIPAA) ; whereas health data in other countries may be subj ect to other regulations and policies and should be handled accordingly .
[0170] Despite the foregoing, the present disclosure also contemplates embodiments in which users selectively block the use of , or access to , personal information data . That is , the present disclosure contemplates that hardware and / or software elements can be provided to prevent or block access to such personal information data . For example, such as in the case of advertisement delivery services , the present technology can be configured to allow users to select to "opt in" or "opt out" of participation in the collection of personal information data during registration for services or anytime thereafter . In another example, users can select not to provide mood-associated data for targeted content delivery services . In yet another example , users can select to limit the length of time mood- associated data is maintained or entirely block the development of a baseline mood profile . In addition to providing "opt in"and "opt out" options, the present disclosure contemplates providing notifications relating to the access or use of personal information. For instance, a user may be notified upon downloading an app that their personal information data will be accessed and then reminded again just before personal information data is accessed by the app.
[0171] Mo reover, it is the intent of the present disclosure that personal information data should be managed and handled in a way to minimize risks of unintentional or unauthorized access or use. Risk can be minimized by limiting the collection of data and deleting data once it is no longer needed. In addition, and when applicable, including in certain health related applications, data de-identif ication can be used to protect a user's privacy. De-identif ication may be facilitated, when appropriate, by removing identifiers, controlling the amount or specificity of data stored (e.g., collecting location data at city level rather than at an address level) , controlling how data is stored (e.g., aggregating data across users) , and / or other methods such as differential privacy.
[0172] Therefore, although the present disclosure broadly covers use of personal information data to implement one or more various disclosed embodiments, the present disclosure also contemplates that the various embodiments can also be implemented without the need for accessing such personal information data. That is, the various embodiments of the present technology are not rendered inoperable due to the lack of all or a portion of such personal information data. For example, content can be selected and delivered to users based on aggregated non-personal information data or a bare minimumamount of personal information, such as the content being handled only on the user' s device or other non-personal information available to the content delivery services .
[0173] It will be apparent to those skilled in the art that various modi fications may be made in the present disclosure , without departing from the spirit or the scope of the disclosure . Thus , it is intended that the present disclosure cover modifications and variations of this disclosure provided they come within the scope of the appended claims and their equivalent .
Claims
What is claimed :1 . An apparatus of a user equipment (UE ) , the apparatus comprising processing circuitry configured to : determine the UE has an active call via a macro cellular network, wherein the UE comprises a macro cellular network subscriber identity module ( S IM) associated with the macro cellular network; determine the UE has entered a geofence area associated with a private cellular network; determine a first signal quality of macro cellular network based on first signal measurements of the macro cellular network; and when the first signal quality of the macro cellular network satisfies a predetermined threshold, omit the enabling a private cellular network S IM associated with the private cellular network; or when the signal quality of the macro cellular network does not satis fy a predetermined threshold, enable a private cellular network S IM associated with the private cellular network .2 . The apparatus of claim 1 , wherein the processing circuitry is further configured to : determine the active call has ended; enable the private cellular network S IM based on the active call ending; perform a registration procedure for the private cellular network S IM with the private cellular network; determine a second signal quality of the macro cellular network; andperform a cellular data hand-in from the macro cellular network to the private cellular network based on the second signal measurements .3 . The apparatus of claim 1 , wherein, when the signal quality of the macro cellular network does not satisfy the predetermined threshold, the processing circuitry is further configured to : perform a registration procedure for the private cellular network S IM with the private cellular network; determine a second signal quality of the macro cellular network based on second signal measurements ; and perform a cellular data hand-in from the macro cellular network to the private cellular network based on the second signal measurements .4 . The apparatus of claim 1 , wherein the determination that the UE has an active call is based on ( i ) an application programing interface (API ) associated with an application hosting the active call , ( ii ) an application category associated with the application hosting the active call , or ( iii ) a traffic pattern generated by the application hosting the active call .5 . The apparatus of claim 1 , wherein the first signal quality comprises a signal strength, a link quality, or a cell load .6 . An apparatus of a user equipment (UE ) , the apparatus comprising processing circuitry configured to : determine the UE has an active call via a private cellular network, wherein the UE has a private cellular network subscriber identity module ( S IM) associated with the private cellular network and a macro cellular network S IM associatedwith a macro cellular network, wherein the macro cellular network S IM is enabled and non-serving; determine the UE has exited a geofence area associated with the private cellular network; perform a signal measurement of a macro cellular network and the private cellular network; and perform a cellular data hand-out from the private cellular network to the macro cellular network based on the signal measurement , wherein the private cellular network S IM remains enabled after the cellular data hand-out .7 . The apparatus of claim 6 , wherein the determination that the UE has an active call is based on ( i ) an application programing interface (API ) associated with an application hosting the active call , ( ii ) an application category associated with the application hosting the active call , or ( iii ) a traffic pattern generated by the application hosting the active call .8 . The apparatus of claim 6 , wherein the processing circuitry is further configured to : determine the active call has ended; disable the private cellular network SIM based on the active call ending .9 . An apparatus of a user equipment (UE ) , the UE being served cellular data by a private cellular network, the apparatus comprising processing circuitry configured to : determine an upcoming calendar event associated with a voice call ; predict the UE will leave a coverage area of the private cellular network prior to a conclusion of the voice call ;determine a signal quality of a macro cellular network is satisfies a predefined threshold based on a signal measurements of the macro cellular network; and switch the UE from being served cellular data by the private cellular network to the UE being served cellular data by the macro cellular network based on the prediction the UE will leave the coverage area of the private cellular network and the signal measurements of the macro cellular network .10 . The apparatus of claim 9 , wherein the processing circuitry predicts the UE will leave the coverage area of the private cellular network based on the processing circuitry being configured to : determine predicted travel associated with the upcoming calendar event .11 . The apparatus of claim 10 , wherein the processing circuitry predicts the UE will leave the coverage area of the private cellular network based on the processing circuitry being configured to : determine a current UE location matches an origin of the predicted travel ; and determine the current UE location matches a predefined significant location .12 . The apparatus of claim 10 , wherein the processing circuitry predicts the UE will leave the coverage area of the private cellular network based on the processing circuitry being configured to : determine predicted travel based on learning mobility patterns of the UE .13 . The apparatus of claim 9 , wherein the switch is further based on an expense of the macro cellular network being below a predefined expense threshold .14 . The apparatus of claim 9 , wherein the processing circuitry is further configured to : determine that at least one of ( i ) the call associated with the upcoming calendar event has been cancelled, ( ii ) a predicted travel during the upcoming calendar event did not occur; or ( iii ) the call associated with the upcoming calendar event has terminated; determine that the UE is inside a geofence associated with the private cellular network; perform a signal measurement of the private cellular network; and switch the UE from being served cellular data by the macro cellular network to the UE being served cellular data by the private cellular network .15 . The apparatus of claim 14 , wherein the processing circuitry is further configured to : start a timer having a predetermined length of time, wherein the signal measurement of the private cellular network and evaluation of a switch to the private network is not performed until the timer has expired .16 . The apparatus of claim 9 , wherein the call comprises a voice over internet protocol (VoIP ) call .17 . An apparatus of a user equipment (UE ) , the apparatus comprising processing circuitry configured to : determine , when the UE is connected to a first cellular network, the UE is preparing to participate in a voice call ; determine an expense associated with the UE performing the voice call on a second cellular network; determine a first signal quality associated with the first cellular network; determine a second signal quality associated with a second cellular network; and select one of the first cellular network or the second cellular network to perform the voice call based on the first signal quality, the second signal quality and the expense , wherein, when the second cellular network is selected, the UE switches to the second cellular network prior to connecting the voice call .18 . The apparatus of claim 17 , wherein the first cellular network is a private cellular network and the second cellular network is a macro cellular network .19 . The apparatus of claim 17 , wherein the first signal quality comprises a Reference Signal Received Power (RSRP) , a Reference Signal Received Quality (RSRQ) , an uplink block error rate (BLER) , a downlink BLER or network grants of the first cellular network .20 . The apparatus of claim 17 , wherein the second cellular network is selected when, at least , the expense is below a predefined expense threshold .