PATENT DOCUMENT

Publication Number: US-9775086-B2
Application Number: US-201414320013-A
Country: US
Kind Code: B2

Title: Device and method for optimized handovers

Abstract:
A device and method performs a handover. The method includes establishing a connection to a cellular network. The method includes determining whether a WiFi network is available for connection. The method includes determining performance data of the WiFi network based upon network metrics. The method includes determining a quality of service (QoS) parameter associated with a currently executed application, the QoS parameter being indicative of whether a handover from the cellular network to the WiFi network is permitted. The method includes performing the handover from the cellular network to the WiFi network when the performance data of the WiFi network satisfies a set of predetermined criteria for the network metrics and the QoS parameter indicates the handover is permitted.

Claims:
What is claimed is: 
     
       1. A method, comprising:
 establishing, by a station, a connection to a cellular network; 
 determining, by a processor of the station, whether a WiFi network is available for connection; 
 determining, by the processor, performance data of the WiFi network based upon network metrics; 
 generating hysteresis data indicative of at least one prior handover to the WiFi network by the station, wherein the hysteresis data is a moving window average, the average being based upon a past history of a manner in which transfers or handovers to the WiFi network happened in terms of a user profile; 
 determining, by the processor, a quality of service (QoS) parameter associated with a currently executed application, the QoS parameter being indicative of whether a handover from the cellular network to the WiFi network is permitted; and 
 performing, by the station, a handover from the cellular network to the WiFi network when the performance data of the WiFi network satisfies a set of predetermined criteria for the network metrics and the QoS parameter and hysteresis data indicate the handover is permitted. 
 
     
     
       2. The method of  claim 1 , wherein the network metrics include a signal level determination and a throughput. 
     
     
       3. The method of  claim 2 , wherein the signal level determination includes at least one of a received signal strength indicator (RSSI), a reference signal received power (RSRP), a reference signal received quotient (RSRQ), and a signal to interference plus noise ratio (SINR). 
     
     
       4. The method of  claim 2 , wherein the throughput includes at least one of a channel quality indicator (CQI), a number of resource blocks allocated in a downlink (DL), a DL block error ratio (BLER), an estimated measure of a scheduling rate, a measure of latency, and a measure of jitter. 
     
     
       5. The method of  claim 1 , further comprising:
 determining performance data of the cellular network based upon the network metrics, 
 wherein a set of predetermined criteria for the network metrics is a comparison between the performance data of the WiFi network with the performance data of the cellular network. 
 
     
     
       6. The method of  claim 1 , further comprising:
 determining performance data of the cellular network based upon the network metrics after establishing the connection to the WiFi network; and 
 performing a further handover from the WiFi network to the cellular network when the performance data of the cellular network satisfies the set of predetermined criteria for the network metrics. 
 
     
     
       7. The method of  claim 1 , wherein:
 the determining of the WiFi network being available includes a plurality of WiFi networks; 
 the determining of the performance data of the WiFi network includes determining performance data for each of the WiFi networks, such that the method further comprises: 
 determining one of the WiFi networks to be a most optimal WiFi network for the handover to be performed. 
 
     
     
       8. The method of  claim 1 , wherein the connection to the cellular network is maintained when one of the performance data of the WiFi network fails the set of predetermined criteria for the network metrics and the QoS parameter indicates the handover is prevented. 
     
     
       9. The method of  claim 1 , further comprising:
 receiving subscription policy data for the station indicating a maximum allotted data usage on the cellular network; and 
 performing the handover from the cellular network to the WiFi network when the subscription policy data indicates a substantial exhaustion of the maximum allotted data usage. 
 
     
     
       10. A device, comprising:
 a transceiver configured to communicate wireless data with a first network of a first network type and a second network of a second network type; 
 a memory arrangement storing hysteresis data indicative of at least one prior handover to the second network; and 
 a processor; 
 wherein the processor and transceiver are configured to perform a handover from the first network to the second network that provides a more optimal experience by:
 establishing a connection to the first network; 
 determining whether the second network is available for connection; 
 determining performance data of the second network based upon network metrics; 
 determining a quality of service (QoS) parameter associated with a currently executed application, the QoS parameter being indicative of whether the handover from the first network to the second network is permitted; and 
 performing the handover from the first network to the second network when the performance data of the second network satisfies a set of predetermined criteria for the network metrics and the QoS parameter and hysteresis data indicate the handover is permitted. 
 
 
     
     
       11. The device of  claim 10 , wherein the first network type is one of a cellular network and a WiFi network and the second network type is the other of the cellular network and the WiFi network. 
     
     
       12. The device of  claim 10 , wherein the network metrics include a signal level determination and a throughput. 
     
     
       13. The device of  claim 12 , wherein the signal level determination includes at least one of a received signal strength indicator (RSSI), a reference signal received power (RSRP), a reference signal received quotient (RSRQ), and a signal to interference plus noise ratio (SINR). 
     
     
       14. The device of  claim 12 , wherein the throughput includes at least one of a channel quality indicator (CQI), a number of resource blocks allocated in a downlink (DL), a DL block error ratio (BLER), an estimated measure of a scheduling rate, a measure of latency, and a measure of jitter. 
     
     
       15. The device of  claim 10 , wherein the processor and transceiver are configured to perform the handover by:
 determining performance data of the first network based upon the network metrics, 
 wherein a set of predetermined criteria for the network metrics is a comparison between the performance data of the first network with the performance data of the second network. 
 
     
     
       16. The device of  claim 10 , wherein the processor and transceiver are configured to perform a further handover by:
 determining performance data of the first network based upon the network metrics after establishing the connection to the second network; and 
 performing the further handover from the second network to the first network when the performance data of the first network satisfies the set of predetermined criteria for the network metrics. 
 
     
     
       17. The device of  claim 10 , wherein the connection to the first network is maintained when one of the performance data of the second network fails the set of predetermined criteria for the network metrics and the QoS parameter indicates the handover is prevented. 
     
     
       18. A non-transitory computer readable storage medium with an executable program stored thereon, wherein the program instructs a microprocessor to perform operations comprising:
 establishing a connection to a first network of a first network type; 
 determining whether a second network of a second network type is available for connection; 
 determining performance data of the second network based upon network metrics; 
 generating hysteresis data indicative of at least one prior handover to the WiFi network by the station, wherein the hysteresis data is based upon a past history of a manner in which transfers or handovers to the WiFi network happened; 
 determining a quality of service (QoS) parameter associated with a currently executed application, the QoS parameter being indicative of whether a handover from the first network to the second network is permitted; and 
 performing the handover from the first network to the second network when the performance data of the second network satisfies a set of predetermined criteria for the network metrics and the QoS parameter and hysteresis data indicate the handover is permitted. 
 
     
     
       19. The method of  claim 10 ,
 wherein the hysteresis data is a moving window average, the average being based upon a past history of a manner in which transfers or handovers to the WiFi network happened in terms of a user profile. 
 
     
     
       20. The method of  claim 1 , further comprising:
 determining, by the processor, a data usage indicated by a subscriber policy; 
 
       wherein when the data usage indicated by the subscriber policy is exhausted, performing the handover from the cellular network to the WiFi network when the performance data of the WiFi network fails to satisfy the set of predetermined criteria.

Description:
INCORPORATION BY REFERENCE/PRIORITY CLAIM 
     This application claims priority to U.S. Provisional Application Ser. No. 61/840,917 entitled “Device and Method for Optimized Handovers,” filed on Jun. 28, 2013, which is incorporated herein, in its entirety, by reference. 
    
    
     BACKGROUND 
     A station may be configured to establish a connection with a wireless network. The wireless network may include a cellular network and a WiFi network. Currently, no standard exists for a handover from a cellular network to a WiFi network, particularly for a handover from a WiFi network to a cellular network to offload data as no determinations are made or used as to whether a handover should be performed to switch a connection from the cellular network to a connection with the WiFi network (or vice versa). A conventional manner entails automatically performing a handover whenever a WiFi network is available. However, there may be times when a cellular network outperforms a WiFi network (e.g., advances in cellular technology, high traffic on the WiFi network, etc.). Therefore, a connection to the cellular network may be more optimal than a connection to a WiFi network. As the conventional station will always select the WiFi network over the cellular network, a suboptimal experience may exist when the WiFi network is incapable of providing the necessary capabilities over the cellular network. Furthermore, even after being connected to the WiFi network, conditions may change such that the cellular network will now provide a more optimal experience. Thus, there is a need to determine when a handover between cellular networks and WiFi networks should be performed. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  shows an exemplary device for an optimized handover between a cellular network and a WiFi network. 
         FIG. 2  shows an exemplary system for an optimized handover between a cellular network and a WiFi network. 
         FIG. 3  shows an exemplary method for an optimized handover between a cellular network and a WiFi network. 
     
    
    
     DETAILED DESCRIPTION 
     The exemplary embodiments relate to a device and method for performing a handover. The method comprises establishing, by a station, a connection to a cellular network; determining, by a processor of the station, whether a WiFi network is available for connection; determining, by the processor, performance data of the WiFi network based upon network metrics; determining, by the processor, a quality of service (QoS) parameter associated with a currently executed application, the QoS parameter being indicative of whether a handover from the cellular network to the WiFi network is permitted; and performing, by the station, a handover from the cellular network to the WiFi network when the performance data of the WiFi network satisfies a set of predetermined criteria for the network metrics and the QoS parameter indicates the handover is permitted. 
     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 are related to a device and method for a handover from a first wireless network type to a second wireless network type when a set of criteria has been satisfied to offload data. Specifically, the first wireless network type may be a cellular network while the second wireless network type may be a WiFi network or vice versa. When the second type of wireless network becomes available, the device and method may be configured to assess whether a handover should be performed based upon the criteria which may entail predetermined factors. The device, the wireless network types, the criteria, the predetermined factors, and a related method for data offloading will be explained in further detail below. 
     It should be noted that the description below relates to when a station is connected to a cellular network such that a wireless functionality may be performed such as a data transfer. The description below also relates to when the station is configured to perform a handover to a WiFi network (when available) such that the wireless functionality may be performed or continued. The cellular network may be, for example, a 3G network, a 4G network, a LTE network (depending on the naming institute), etc. The WiFi network may be, for example, a private network, a WiFi network, a HotSpot network, etc. The WiFi network may be based on, for example, IEEE 802.11a/b/g/n/ac technology, and/or any other appropriate IEEE 802.11 technology. 
     It should be also noted that the terms “joining,” “connecting,” and “associating” are used interchangeably in the description below. Specifically, these terms relate to when the station joins a wireless network. Those skilled in the art will understand that when the station joins a wireless network, an association process is performed in order for the station to connect to the wireless network. Those skilled in the art will also understand that any manner of association process may be used and the exemplary methods encompass any form of association or procedure in which the station is to connect to the wireless network. 
     When a user utilizes a station that is capable of connecting to various different types of wireless networks, the connection to the wireless network that provides an optimal experience should be made. For example, the station may connect to a cellular network. If a connection to a WiFi network that provides a more optimal experience is available, the station should connect to the WiFi network. The WiFi network may be configured to provide a faster rate at which data may be exchanged, a more reliable connection to the wireless network, etc. However, depending on a variety of factors that should be considered prior to this handover, the station must be configured to determine whether the WiFi network indeed provides this more optimal experience. For example, a disposition of the station may be such that there is a significant amount of interference that the cellular network remains to provide the more optimal experience despite the WiFi network ordinarily providing better connection parameters. Therefore, instead of a conventional automatic data offloading to the WiFi network from the cellular network, the station should remain on the cellular network such that the user is provided the most optimal experience given the current situation. In addition, during the course of being connected to the WiFi network, if conditions were to indicate that the cellular network provides a more optimal experience, the station should again determine whether a handover from the WiFi network to the cellular network should be performed. In this manner, a data offloading may be provided to the wireless network from which the station is handed over. 
     It should be noted that the WiFi network normally providing a more optimal experience is only exemplary. That is, the WiFi network does not always provide the best data exchange rate, connection reliability, etc. Those skilled in the art will understand that the cellular network may provide the better connection parameters. For example, a current situation may indicate that the cellular network is more optimal than the WiFi network. In another example, the cellular network may be enhanced such that a more optimal experience is provided normally over the WiFi network. Accordingly, the device and method may relate to determining whether the station is to perform a handover from a connection to a WiFi network to a connection to a cellular network. As will be described in further detail below, the device and method determine whether the station is to perform the handover from a first wireless network to a second wireless network so long as a more optimal experience is provided. 
       FIG. 1  shows an exemplary station  100  for an optimized handover between a cellular network and a WiFi network. The station  100  may represent any electronic device that is configured to connect to a wireless network and provide association functionalities such as relating to a data exchange. For example, the station  100  may be a portable device such as a cellular phone, a smartphone, a tablet, a laptop, etc. In another example, the station  100  may be a stationary device such as a desktop terminal. The station  100  may include a processor  105 , a memory arrangement  110 , a transceiver  115 , an antenna  120 , and other components  125 . For example, the other components  125  may include a portable power supply (e.g., battery) if the station  100  is portable, a data acquisition device, ports to electrically connect the station  100  to other electronic devices, a display device, an input/output device, etc. 
     The processor  105  may be configured to execute a plurality of applications of the station  100 . For example, the applications may include a web browser when connected to a communication network via the transceiver  115 . In another example, the processor  105  may execute an offloading manager  106  which is an application that determines whether a handover is to be performed when a WiFi network is available. The memory  110  may be a hardware component configured to store data related to operations performed by the station  100 . Specifically, the memory  110  may store network parameter data (e.g., metrics) related to operations of a wireless network that is currently connected or subsequently to be connected. The memory  110  may also store hysteresis data related to a connection to a wireless network and previous connections that may further indicate whether the handover is to be performed. 
     The transceiver  115  may be a hardware component configured to transmit and/or receive data. The transceiver  115  may therefore enable communication with other electronic devices directly or indirectly through a network. Specifically, the transceiver  115  may be configured to transmit requests for network related data. The transceiver  115  may operate on a variety of different frequencies or channels (e.g., set of consecutive frequencies) that are related to a cellular network and a WiFi network via the antenna  120 . For example, the antenna  120  may enable the transceiver  115  to operate in a low-band frequency operating range between 800-900 MHz for the cellular network while enabling the transceiver  115  to operate in a high-band frequency operating range between 1800-2100 MHz for the WiFi network. 
     The offloading manager  106  executed by the processor  105  may be configured to receive various network metrics and network related data including hysteresis data that is used as a basis to determine whether an available WiFi network is to be used for a handover from a cellular network. The offloading manager  106  may include a predetermined set of criteria such that the network metrics/related data provides the determination of whether or not to perform the handover. As will be described in further detail below, the criteria may include availability of the WiFi network, determining if a connection may be made to the WiFi network, determining whether the WiFi network provides a more optimal experience, determining if the hysteresis data indicates the WiFi network provides a more optimal experience, and determining any related quality of service (QoS) parameters for the handover. 
       FIG. 2  shows an exemplary system  200  for an optimized handover between a cellular network  205  and a WiFi network  210 . The system  200  relates to the cellular network  205  having an operating area in which the WiFi network  210  has an operating area disposed therein. As illustrated, the WiFi network  210  may be wholly disposed within the operating area of the cellular network  205 . Thus, when the station  100  is within the operating area of the WIFi network  210 , the station  100  may associate with the cellular network  205  or the WiFi network  210 . However, when outside the operating area of the WiFi network (such as the station  150 ), the station  150  may only be able to associate with the cellular network  205 . That is, a WiFi network  210  is unavailable for connection. However, if the station  150  were to move into the operating area of the WiFi network  210  (when the station  150  is portable or physically moved), the station  150  may also be able to associate with the WiFi network  210  along with the cellular network  205 . The determination of whether to data offload to the WiFi network  210  relates to the station  100  which is disposed within the operating area of the WiFi network  210  and also within the operating area of the cellular network  205 . However, as will be described in further detail below, an initial criterion of the set of criteria is to determine whether a WiFi network connection is available. 
     It should be noted that the configuration of the system  200  is only exemplary, specifically regarding the cellular network  205  and the WiFi network  210 . In a first example, the cellular network  205  has an operating area that is relatively large while the WiFi network  210  has an operating area that is relatively small in comparison. However, a configuration may be possible in which the WiFi network  210  has a larger operating area. In a second example, the WiFi network  210  has an operating area that is wholly disposed within the operating area of the cellular network. However, the WiFi network  210  may have a portion of its operating area that overlaps with the operating area of the cellular network  205 . When the station  100  is disposed within this overlapping area, the determination of whether to data offload may be performed. In a third example, the shapes of the operating areas of the cellular network  205  and the WiFi network  210  may be any shape, contiguous, separated, etc. In a fourth example, the use of only one cellular network and one WiFi network  210  is for illustrative purposes only. The cellular network  205  may be a wide area network in which the operating area may cover a significantly large area. A further cellular network may have an overlapping portion with the cellular network  205 . There may also be at least one further WiFi network disposed within or having an overlapping portion with the cellular network  205 . The multiple WiFi networks may also overlap within the cellular network  205 . 
     The exemplary methods provide a manner of optimizing a handover from a first network connection to a second network connection such that a data offloading may be performed to provide an optimal experience for a user. The station  100  may be disposed in a location such that a connection to the cellular network  205  and the WiFi network  210  is possible. The station  150  may also be moved to a location such that the connection to the cellular network  205  and the WiFi network  210  is possible. When the cellular network  205  and the WiFi network  210  are both available for a connection by the station  100 , the offloading manager  106  may determine whether a handover is to be performed based upon a set of criteria such that a most optimal experience may be provided to the user of the station  100 . That is, the offloading manager  106  determines whether a handover is to even be performed or when the handover is to be performed from the cellular network  205  to the WiFi network  210 . 
       FIG. 3  shows an exemplary method  300  for an optimized handover between a cellular network and a WiFi network. The method  300  illustrates a process in which the station  100  connects to a first network type such as the cellular network  205  and determines whether a handover is to be performed to a second network type such as the WiFi network  210 . Specifically, the offloading manager  106  receives a plurality of network related data and station related data to determine whether the handover should be performed such that an optimal experience may be provided to the user of the station  100 . Accordingly, even when a conventionally known WiFi network that normally provides a more optimal performance is available, the station  100  determines whether the handover is to occur since a given set of circumstances of a situation may indicate that the WiFi network provides a sub-optimal performance. For example, physical layer (PHY) metrics may indicate when a handover is to occur which indicate a current set of circumstances that the station  100  is experiencing. The method  300  will be described with regard to the station  100  of  FIG. 1  and the system  200  of  FIG. 2 . 
     The method  300  may assume that the station  100  is currently associated with the cellular network  205 . Depending upon a variety of factors such as service contract details, the station  100  may establish a connection to the cellular network  205  whenever the station  100  is within the operating area of the cellular network  205 . Therefore, it may also be assumed that the station  100  is within the operating area of the cellular network  205  for the method  300 . The station  100  may join the cellular network  205  using any known association process such as utilizing the identity of the station  100  that indicates credentials or other subscription type data that indicates a user of the station is a customer of the cellular network  205 . 
     In step  305 , the offloading manager  106  determines whether WiFi networks are available. The offloading manager  106  may include a set of instructions such that an initial step includes generating a probe request that is transmitted via the transceiver  115  using known frequencies or channels via the antenna  120  for WiFi networks (e.g., 1800-2100 MHz). Thus, as illustrated in  FIG. 2 , the station  100  is within the operating area of the WiFi network  210 . A network component such as a server for the WiFi network  210  may generated a probe response to the probe request that is received by the station  100  and the offloading manager  106 . Accordingly, the offloading manager  106  may determine that the WiFi network  210  is available for connection. However, for the station  150  in its current disposition within the system  200 , the offloading manager  106  will not receive the probe response as it is located outside the operating area of the WiFi network  210 . 
     It should be noted that the memory  110  may store network related data that indicates whether the station  100  is within an operating area of a known WiFi network. For example, the processor  105  may execute a location application that determines the location of the station  100 . When the station  100  has previously joined a WiFi network, the offloading manager  106  may utilize the location of the station  100  to determine whether a known WiFi network is associated therewith. Accordingly, the offloading manager  106  may specify the probe request within a known channel corresponding to the known WiFi network. The offloading manager  106  may still transmit a respective probe request at all channels for WiFi networks or with a wildcard service set identifier (SSID) on all known channels to detect any available WiFi networks. 
     In step  310 , a determination is made whether the WiFi network  210  is available. It should be noted that for illustrative purposes, only the WiFi network  210  is considered for the method  300 . However, as will be described in further detail below, the method  300  may consider all available WiFi networks that are determined in step  305 . If no WiFi network is determined to be available, the method  300  continues to step  315 . In step  315 , the offloading manager  106  determines that the connection to the cellular network  205  is to be maintained. 
     If step  310  determines that the WiFi network  210  is available, the method  300  continues to step  320 . In step  320 , the offloading manager  106  determines if a connection is possible. Whether the station  100  may join the WiFi network  210  includes a variety of different considerations. For example, despite receiving the probe response from the network component of the WiFi network  210 , the network component may further include a data packet that indicates that no further connections may be made to the WiFi network  210  due to volume. Accordingly, the offloading manager  106  may receive an indication that the connection is not possible to the WiFi network  210 . In another example, despite receiving the probe response, the station  100  may transmit a subsequent request as to whether a connection to the WiFi network  210  is possible. Due to various reasons that those skilled in the art will understand, the network component may not provide a response to this subsequent request (e.g., within a predetermined amount of time). The offloading manager  106  may retry the request (e.g., a predetermined number of times). If no response is received, the offloading manager  106  may determine that the connection to the WiFi network  210  is not possible. 
     It should be noted that the memory  110  may store further network related data that indicates whether the station  100  is capable of connecting to the WiFi network  210 . For example, if the WiFi network  210  is known (e.g., known SSID) and the memory  110  stores corresponding authentication data (e.g., a password), the station  100  may be allowed to join the WiFi network  210 . However, if the WiFi network  210  is unknown and no corresponding authentication data is stored or provided, the station  100  may be incapable of joining the WiFi network  210 . In another example, the station  100  may have hardware or software components that prevent the station  100  from joining the WiFi network  210 . If the station  100  includes hardware/software that is of a previous generation or is in a different configuration, the station  100  may be incapable of joining the WiFi network  210  using the protocols used therein. The network component of the WiFi network  210  may transmit a data packet to the station  100  that indicates the hardware/software requirements in order for the connection to be established. 
     In step  325 , a determination is made whether the station  100  is capable of establishing a connection to the WiFi network  210 . If the station  100  is incapable of connecting to the WiFi network  210 , the method  300  continues to step  315  where the offloading manager  106  determines that the connection to the cellular network  205  is to be maintained. 
     If step  325  determines that the station  100  is capable of joining the WiFi network  210 , the method  300  continues to step  330 . In step  330 , the offloading manager  106  determines a performance of the WiFi network  210 . Specifically, the offloading manager  106  determines whether the WiFi network  210  provides a more optimal experience for the user than the current connection to the cellular network  205 . As discussed above, the offloading manager  106  may utilize a set of criteria to determine whether the handover is to be performed such that the data offloading from the cellular network  205  to the WiFi network  210  is to occur. 
     In a first criterion for performance, the offloading manager  106  may consider physical layer metrics. That is, the offloading manager  106  considers the networking hardware transmission technologies of the WiFi network  210  based upon, for example, the seven layer Open Systems Interconnection (OSI) model of computer networking. Accordingly, the first criterion may relate to a signal level determination including a measurement of a received signal strength indicator (RSSI), a reference signal received power (RSRP), a reference signal received quotient (RSRQ), a signal to interference plus noise ratio (SINR), etc. These may be determined, for example, from the probe response received from the network component of the WiFi network  210 . They may also be determined utilizing further messages or probe requests. 
     In a second criterion for performance, the offloading manager  106  may consider media access control (MAC) metrics. That is, the offloading manager  106  considers the data communication protocol of the WiFi network  210  based upon, again for example, the seven layer OSI model of computer networking. Accordingly, the second criterion may relate to throughput including a channel quality indicator (CQI), a number of resource blocks allocated in a downlink (DL), a DL block error ratio (BLER) (estimated from a DL cyclic redundancy check CRC), an estimated measure of a scheduling rate, a measure of latency, a measure of jitter, etc. These may also be determined, for example, from the probe response received from the network component of the WiFi network  210 , further messages, further probe requests, etc. 
     In step  335 , a determination is made whether the WiFi network  210  is more optimal than the cellular network  205  based upon the performance criteria described above. For example, each part of the criteria may have an associated predetermined threshold value. If select ones of the criteria (e.g., RSSI, RSRP, RSRQ, etc.) are above the threshold value, the offloading manager  106  may determine that the WiFi network  210  is more optimal. If select ones of the criteria (e.g., latency, jitter, etc.) are below the respective threshold value, the offloading manager  106  may again determine that the WiFi network  210  is more optimal. In another example, the offloading manager  106  may determine corresponding measurements for the cellular network  205 . Those skilled in the art will understand that substantially similar manners may be used to determine the same measurements in the cellular network  205 . Thus, the offloading manager  106  may compare the corresponding values of the criteria to determine whether which wireless network provides the more optimal user experience (e.g., a majority of the criteria is better for one wireless network over the other). If the offloading manager  106  determines that the cellular network is more optimal, the method  300  continues to step  315  where the offloading manager  106  determines that the connection to the cellular network  205  is to be maintained. 
     If step  335  determines that the WiFi network  210  is more optimal than the cellular network, the method  300  continues to step  340 . In step  340 , the offloading manager  106  determines hysteresis data for the station  100 . Specifically, the offloading manager  106  references handover data stored in the memory  110  regarding parameters related to prior handovers. Accordingly, the offloading manager  106  is able to utilize network data as well as station data in determining whether the handover is to be performed. 
     The hysteresis data may be a moving window average that is a measure for determining a relative timing of how the device is to perform the handover to the WiFi network  210 . The average may be based upon a past history of a manner in which transfers or handovers to the WiFi network  210  happened in terms of a user profile such as how long the user stays in a particular radio access technology (RAT) (e.g., cellular, WiFi, etc.) and applications being executed by the processor  105  using the respective RAT. The average may also be used as a performance metric to determine whether the device is in a transitioning state in the WiFi network  210 . Accordingly, the hysteresis data may indicate whether the handover is to be performed in view of the past history of the user of the station  100 . Again, the hysteresis data may be stored in the memory  110  in which the relevant data regarding the above identified aspects are generated at the time (or at a later time) it occurred. 
     In step  345 , a determination is made whether the offloading manager  106  is to perform the handover based upon the hysteresis data. If the determination indicates from the hysteresis data that the handover to the WiFi network  210  is not to be performed, the method  300  continues to step  315  where the offloading manager  106  determines that the connection to the cellular network  205  is to be maintained. However, if a determination is made that the handover to the WiFi network  210  is to be performed, the method  300  continues to step  350 . 
     In step  350 , the offloading manager  106  determines whether any QoS considerations exist. Specifically, the QoS considerations may relate to applications that are being executed by the processor  105  at the time the handover is to occur. Those skilled in the art will understand that select applications have a related QoS to ensure that the performance of the application is not affected from performing the handover. For example, a voice application (e.g., VoIP, VoLTE, etc.) requires no breaks in the connection to the other electronic device. Accordingly, the offloading manager  106  determines the applications that are being executed such that any corresponding QoS consideration is to be included in the determination of whether the handover is to be performed. 
     In step  355 , a determination is made whether any QoS consideration exists for the handover to be performed. Thus, for example, if the processor  105  is currently executing a voice application, the offloading manager  106  determines that a QoS consideration exists such that the offloading manager  106  further determines that there should be no break in the service (i.e., no handover should be performed). Accordingly, the method  300  continues to step  315  where the offloading manager  106  determines that the connection to the cellular network  205  is to be maintained. However, the offloading manager  106  may determine that there is no QoS consideration. For example, the processor  105  may be in an idle state with regard to other applications such that no further applications are currently being executed. Thus, the method  300  continues to step  360 . In step  360 , as all criteria have been satisfied for the handover to be performed, the station  100  disconnects from the cellular network  205  such that a connection to the WiFi network  210  is established. As discussed above, the station  100  may associate with the WiFi network  210  using any known manner of association. For example, a password may be forwarded to the network component of the WiFi network  210  indicating authentication for the association. 
     After step  360 , the method  300  returns to step  330  in which the performance of the WiFi network  210  is again determined. In this manner, the method  300  allows for a dynamic process in which the station  100  may join the most optimal wireless network given a set of conditions that the station  100  and the wireless networks are experiencing. For example, during the course of the connection with the WiFi network  210 , further stations may join the WiFi network  210  and utilize a majority portion of the available bandwidth such that the performance of the WiFi network  210  relative to the station  100  becomes sub-optimal. The offloading manager  106  may perform steps  330 - 335  to determine whether the WiFi network  210  is still optimal to the cellular network  205 . It should be noted that the offloading manager  106  may determine the performance metrics for the cellular network  205  as well to serve as a basis for the determination. If the offloading manager  106  concludes that the cellular network  205  has become more optimal to the WiFi network  210  that the station  100  is currently connected, the method  300  allows for the offloading manager  106  to handover the connection from the WiFi network  210  to the cellular network  205  to provide the most optimal experience to the user. Accordingly, as the station  100  is handed over, several effects take place such as data being offloaded from the WiFi network  210  and the station  100  being provided a more optimal connection for data exchange. 
     It should be noted that the exemplary method  300  described above may include further steps. In a first example, as described above, there may be multiple WiFi networks that the station  100  may join. When multiple WiFi networks exist having overlapping operating areas in which the station  100  is located, the station  100  may select the most optimal WiFi network to perform the handover from the cellular network  205 . Accordingly, step  305  of the method  300  may include a further step of generating a list of the available WiFi networks beyond the WiFi network  210 . The subsequent steps may then be performed for each of the WiFi networks that are determined to be available. The offloading manager  106  may then determine the most optimal WiFi network among the available ones for the handover to be performed. 
     In a second example, the offloading manager  106  may provide a prompt for various reasons. The offloading manager  106  may enable an automatic process for the method  300  such that the user is not required to provide any input as to whether the handover is to occur. However, the offloading manager  106  may also be configured to allow the user to provide manual inputs during the performance of a handover. For example, after step  355 , the offloading manager  106  may indicate that the connection to the WiFi network  210  is more optimal than the current connection to the cellular network  205 . The offloading manager  106  may provide a prompt whether the user wishes to perform the handover. In another example, the offloading manager  106  may provide a prompt for authentication data such as a password when a connection to the WiFi network  210  is established. In yet another example, the offloading manager  106  may have access to a subscription policy for the user of the station  100  such as credentials or other subscription type data. The offloading manager  106  may then determine whether the handover should be performed based upon this further criterion. If the subscription policy includes a data usage limit and the user has already exhausted or nearly exhausted this allotment, the offloading manager  106  may prompt the user indicating this aspect. The user may then manually indicate whether a connection to the cellular network  205  should still be used in view of this condition. In a specific example, if the station  100  is currently streaming a large data file (e.g., a movie), the offloading manager  106  may prompt the user that a handover should be performed to the WiFi network  210  as it may be more ideal, the data usage indicated by the subscription policy is exhausted, etc. Even if the WiFi network  210  has been determined to provide a sub-optimal experience, the offloading manager  106  may still prompt the user for a handover to the WiFi network  210  such that the user does not exceed the data usage limit. 
     In a third example, the method  300  may include generating a timer, particularly after determining the applications being executed. For example, the processor  105  may be executing a data transfer application. During the data transfer application, a time sensitive application such as a voice application may be executed. The data transfer application may be suspended for the length of the timer. Once the timer has lapsed, the offloading manager  106  may determine whether the time sensitive application has concluded. If still ongoing, the time sensitive application may be continued for another length of the timer when a subsequent check is performed. Once the check is performed and the time sensitive application has concluded, the offloading manager  106  may determine the available WiFi networks prior to continuing the data transfer application. Accordingly, the offloading manager  106  may suspend the data transfer application until the determination of whether a handover is to be performed is made. If the handover from the cellular network to the WiFi network is performed, the data transfer application may continue. If a connection to the cellular network is maintained, the data transfer application may still continue. 
     The exemplary embodiments provide a device and method for an optimized handover to a wireless network that provides a most optimal experience for a user of a station given a current set of conditions. The station may include a processor executing an offloading manager that determines the most optimal wireless network. Specifically, when connected to a cellular network, the offloading manager may determine whether a connection to a WiFi network is more optimal. When connected to a WiFi network, the offloading manager may determine whether a connection to the cellular network is more optimal. The offloading manager may utilize a variety of factors to determine whether the handover is to be performed. The factors may include the availability of the other network, the possibility of a connection to the other network, a performance comparison between the currently connected network and the other network, a hysteresis determination for the station, and QoS considerations, particularly for applications being executed by the processor at the time of the handover. The handover to the other network allows for the station to have the most optimal connection under the set of conditions as well as offload data of the network that the station was previously connected prior to the handover. It should be noted that the handover process does not require to be seamless. For example, there may be no requirement for an Internet Protocol (IP) to be retained. 
     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 Mac platform and MAC OS, etc. In a further example, the offloading manager  106  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. 
     It will be apparent to those skilled in the art that various modifications may be made in the present invention, without departing from the spirit or the scope of the invention. Thus, it is intended that the present invention cover modifications and variations of this invention provided they come within the scope of the appended claims and their equivalent.

Metadata:
Filing Date: 20140630
Publication Date: 20170926
Grant Date: 20170926
Priority Date: 20130628
Inventors: VANGALA SARMA
TABET TARIK
BALAKRISHNAN SWAMINATHAN
VALLATH SREEVALSAN
Assignee: APPLE INC
CPC Classifications: [{"code": "H04W36/22", "inventive": true, "first": true, "tree": "[]"}, {"code": "H04W36/14", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04W84/12", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04W36/1446", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04W36/22", "inventive": true, "first": true, "tree": "[]"}, {"code": "H04W36/22", "inventive": true, "first": true, "tree": "[]"}, {"code": "H04W84/12", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04W36/1446", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04W84/12", "inventive": false, "first": false, "tree": "[]"}]
Family ID: 52115540