Patent Description:
When User Equipment (UE) has access to more than one network, user preferences, software settings, network congestion, and other factors may be used to identify which network will provide communication services with the device. As the UE moves in the environment, the mobile device (or the AP) may determine that a connection between a device and a first AP should transition to a connection with a different AP and the UE. The determination of whether to transition to a new AP is based on the current connection characteristics, such as, for example, the mobile device identifying that a second AP has a stronger or less lossy signal than a first AP.

<CIT> provides a system, method and apparatus for facilitating handoffs from a first communication network to a second communication network, the first communication network and second communication network being heterogeneous with respect to each other. The system, method and apparatus may further include a contextual information server, which stores contextual elements corresponding to a user device and the operating environment of the user device, and a handoff decision function module that evaluates at least one of the contextual elements to determine whether to handoff user device communications from the first communication network to the second communication network. The method and apparatus may further include obtaining at least one contextual element corresponding to a user device and the operating environment of the user device, evaluating the at least one contextual element with a handoff decision function module to establish a handoff decision, establishing a handoff decision, and notifying the user device of the handoff decision. The method for facilitating handoffs from a first communication network to a second communication network may further include receiving a received signal strength indication, receiving a link quality determination, receiving a characteristic of the user device, and determining the location of the user device.

One embodiment according to the disclosure of claim <NUM> is a method that includes: receiving, at a first Access Point (AP) of a first Radio Access Technology (RAT) type part of a first wireless network, a location of a User Equipment (UE) that is currently connected to the first network; receiving, at the first AP from the UE, the network coverage characteristics for the UE that identify: a first signal strength metric of the first network for the UE; an identity of a second AP part of a second wireless network, to which the UE is not connected, wherein the second AP is a second RAT type different than the first RAT type; and a second signal strength metric of the second network for the UE; determining a first qualitative level of service of the first network for the UE based on the location, the first signal strength metric, and the first RAT type; determining a second qualitative level of service of the second network for the UE based on the location, the second signal strength metric, and the second RAT type; and in response to a difference between the first qualitative level of service and the second qualitative level of service satisfying a threshold, transmitting a handoff recommendation to the UE to disconnect from the first network and connect to the second network, wherein the first qualitative level of service indicates a lower quality of service than the second qualitative level of service despite the first signal strength metric indicating a higher quality of service than the second signal strength metric based on differences between the first RAT type and the second RAT type.

One embodiment according to the disclosure of claim <NUM> is a system that includes: a processor; and a memory including instructions that when executed by the processor perform an operation comprising: identifying a first Qualitative Level of Service (QLoS) of a first network that the system is connected to for data transmission; identifying a second QLoS of a second network that the system is not connected to for data transmission; and in response to determining that a difference between the first QLoS and the second QLoS satisfies a handoff threshold, requesting a first access point in the first network to initiate handoff of the system to a second access point in the second network, wherein handoff disconnected the system from the first network for data transmission and connects the system to the second network for data transmission, wherein the first qualitative level of service indicates a lower quality of service than the second qualitative level of service despite the first signal strength metric indicating a higher quality of service than the second signal strength metric based on differences between the first RAT type and the second RAT type.

In a wirelessly networked environment, various devices of User Equipment (UE) are connected via various standards to Access Points (APs) according to various Radio Access Technology (RAT) types. These APs provide connectivity to the UE, but due to the various standards and technologies used by those APs, different conditions may exist under which one connection can be considered "better" than the other. For example, consider a UE connected to a first network with a Received Signal Strength Indication of -<NUM> dBm (decibels per milliWatt) with the potential to connect to a second network with an RSSI of -<NUM> dBm. Although the first network has a weaker signal than the second network in the present example, the UE may experience faster or less lossy connection on the first network compared to the second network due to the first network including more robust error correction, the number of devices competing for available bandwidth, a higher data throughput rate, a larger coverage area, etc. Accordingly, the present disclosure provides for greater control by the UE and/or the AP over than handoff criteria between networks to increase/maximize the network connectivity of the UE.

<FIG> illustrates an example networking environment <NUM>, according to embodiments of the present disclosure. In the networking environment <NUM>, four APs 110a-d (generally, AP <NUM>) provide four corresponding wireless networks 120a-d (generally, network <NUM>). Several mobile devices, referred to herein as UE 130a-c (generally, UE <NUM>), are shown moving through the network environment <NUM>, and may transition from one network <NUM> to another network <NUM> as the UE <NUM> move within or out of range of a given network <NUM>.

The APs <NUM> may include various networking devices configured to provide wireless networks <NUM> according to various networking standards or RATs (e.g., IEEE <NUM> or "WiFi" networks, BLUETOOTH® networks, "cellular" (including various generations and subtypes thereof, such as Long Term Evolution (LTE) and Fifth Generation New Radio (<NUM> NR)) networks, Citizens Broadband Radio Service (CBRS) networks, proprietary networks). Example hardware as may be included in an AP <NUM> is discussed in greater detail in regard to <FIG>. The networks <NUM> are illustrated according to a range in the environment <NUM> in which an uplink or downlink RSSI, Signal to Noise Ratio (SNR), or other network/signal metric satisfies a predefined threshold. The APs <NUM> offer the various UE <NUM> within the range of the associated network <NUM> network connectivity for various services including voice communication (e.g., telephony services), text communication (e.g., paging functionality, short message service (SMS), multimedia message service (MMS)), and data transmission (e.g., wireless internet access).

Various networks <NUM> are illustrated in <FIG> as neighboring one another. As used herein, networks <NUM> are considered to neighbor one another when at least a portion of the range of one network <NUM> borders or overlaps the range of the other network <NUM>. For example, the fourth network 120d is illustrated as a neighbor of the first through third networks 120a-c, and the second network 120b neighbors the first network 120a and the third network 120c, but the first network 120a does not neighbor the third network 120c. The range of a given network <NUM> may vary from the range of other networks <NUM> in the environment <NUM> based on various characteristics of the associated AP <NUM>, including an antenna configuration, a number of antennas, a broadcast power, obstructions in the environment, the proximity to other APs <NUM> or signal sources, a number of UE <NUM> connected thereto, etc..

Each of the networks <NUM> may be provided by different entities, and are not necessarily in communication with one another. For example, the fourth AP 110d may be a cellular tower operated by a cellular telecommunications company, and the first through third APs 110a-c may be offered by different businesses in a retail space, different persons in an apartment complex, or by a municipality offering wireless access throughout a district, as well as other deployment scenarios. Accordingly, a given UE <NUM> may be within range of a given network <NUM>, but may have full, reduced, or no access to that given network <NUM>. Additionally, a UE <NUM> may be connected to two networks for different purposes, such as, for example, the first UE 130a can be connected to the second network 120b to receive data (e.g., internet access) while simultaneously being connected to the fourth network 120d for telecommunications services (e.g., via telephone or text messaging services).

The UE <NUM> may include any computing device that is configured to wirelessly connect to one or more networks <NUM> in the environment <NUM>. Example UEs <NUM> include, but are not limited to: smart phones, feature phones, tablet computers, laptop computers, desktop computers, Internet of Things (IoT) devices, and the like. Example hardware as may be included in a UE <NUM> is discussed in greater detail in regard to <FIG>.

<FIG> illustrates a first handoff scenario 200a (generally handoff scenario <NUM>), according to embodiments of the present disclosure. <FIG> illustrates a second handoff scenario 200b, according to embodiments of the present disclosure.

In the examples given in relation to the illustrated handoff scenarios 200a-b, the UE <NUM> is described as initially being connected to the first AP 110a for wireless data transmission over the first network 120a. The second AP 110b and the second network 120b are provided as a potential handoff target for data transmissions for the UE <NUM>. In the handoff scenarios 200a-b, a UE <NUM> is in the range of a first network 120a provided by a first AP 110a and in the range of a second network 120b provided by a second AP 110b of a different RAT type. In one example, the first network 120a is a cellular communications network (e.g., a <NUM> or <NUM> network) and the second network is a WiFi network (e.g., using one of the <NUM> family of standards). In another example, the first network 120a is a WiFi network and the second network 120b is a cellular communications network. The UE <NUM> is connected to the first network 120a, and may potentially connect to the second network 120b (and disconnect from the first network 120a) to handover service from the first AP 110a to the second AP 110b.

As will be understood, a cellular communications network can offer multiple networking connectivity formats to a UE <NUM>. For example, a cellular communications network can offer telecommunications connectivity (e.g., for voice calls and text messages) as well as data transmission (e.g., for Internet access via Transmission Control Protocol/Internet Protocol (TCP/IP) or other protocols). Therefore, in one example, when handing off services for data transmission from a first AP 110a to a second AP 110b, the UE <NUM> may be initially connected to the first AP 110a for data communications and to the second AP 110b for telecommunications connectivity. In another example, when handing off services for data transmission from a first AP 110a to a second AP 110b, the UE <NUM> may be initially connected to the first AP 110a for data communications and for telecommunications connectivity and after handoff remains connected to the first AP 110a for telecommunications connectivity. Stated differently, the handoff for data transmissions can be made independently of what AP <NUM> the UE <NUM> is connected to for telecommunications services.

In the first handoff scenario 200a, the range of second network 120b partially overlaps the range of the first network 120a, resulting in an overlapped zone <NUM> between the two networks 120a-b as well as respective first and second exclusive zones 220a-b (generally, exclusive zone <NUM>) where each network <NUM> is not overlapped by the other network <NUM>.

In the second handoff scenario 200b, the range of the second network 120b completely overlaps the range of the first network 120a, resulting in an overlapped zone <NUM> between the two networks 120a-b that coincides with the range of the first network 120a (i.e., no exclusive zones <NUM>).

To affect a smooth handoff from the first network 120a to the second network 120b, the UE <NUM> should initiate handoff when in the overlapped zone <NUM>-attempting to handoff while in an exclusive zone <NUM> may result in dropped communications. A UE <NUM> can identify overlapped zones <NUM> based on being able to receive two or more network identifiers at the same location. In some instances, a UE <NUM> in an overlapped zone <NUM> may determine to initialize a handoff based on decreasing signal strength from the first network 120a in conjunction with increasing signal strength from the second network 120b.

The UE <NUM>, however, can also determine to not initialize a handoff when in an overlapped zone <NUM>. For example, if remaining connected to the first network 120a provides better service to the UE <NUM> than connecting to the second network 120b, the UE <NUM> should remain connected to the first network 120a. Consider a first location 230a and a second location 230b both located in the overlapped zone <NUM>, but with the first location 230a being located closer to the first AP 110a than the second AP 110b, and the second location 230b being located closer to the second AP 110b than the first AP 110a. In this example, if the UE <NUM> were located at the first location 230a, the UE <NUM> may receive a better signal from the first AP 110a than from the second AP 110b, and if the UE <NUM> were located at the second location 230b would receive a better signal from the second AP 110b than from the first AP 110a.

The APs <NUM> and UE <NUM>, therefore, can communicate with one another to identify when the UE <NUM> is located in the overlapped zone <NUM> at a position in the environment where handoff would be advantageous to the UE <NUM>. In some embodiments, the UE <NUM> receives network capacity information from the first AP 110a to help determine locally when to initiate a handoff to the second AP 110b. In some embodiments, the first AP 110a receives network signaling information from the UE <NUM> to determine when to recommend to the UE <NUM> to begin handoff.

The networking data transmitted from the UE <NUM> to the first AP 110a can include data including, but not limited to: a network type of the second AP 110b, a signal scale value, and a network identifier or other indicator of network identity.

The network type identifies the RAT of the second AP 110b, which can include identifiers for unknown network types, cellular networks, WiFi networks, etc. Types of cellular networks can include: <NUM> (second generation) networks such as GPRS, EDGE, and CDMA; <NUM> (third generation) networks such as UMTS, EVDO, HSDPA, HSUPA, and HSRPD; <NUM> (fourth generation) networks such as, and <NUM> (fifth generation) networks; among other network types used for cellular telecommunications, including voice and data. Types of WiFi networks can include various versions of IEEE <NUM> and related families of wireless local area networking. Other network RAT types are also envisioned to be identified by the network identifiers.

The signal scale provides a qualitative measure of the signal quality of the second network 120b divided into several discrete categories. For example, the signal quality of the second network 120b may be classed as "unknown/no signal", "very poor", "poor", "acceptable", "good", "very good" or the like, rather than as a SNR, RSSI, uplink/downlink bandwidth, or other quantitative measure of signal quality. Because different RAT types can different levels of reliability or data throughput under the same SNR, RSSI, or other quantitative measure of network strength, the qualitative measures of signal quality can yield a better understanding of which network <NUM> can provide better communications coverage to the UE <NUM> based on several metrics. The various qualitative measures are harmonized across different RAT types so that the UE <NUM> or first AP 110a can determine what constitutes a "better" (or "worse") signal quality in the second network 120b relative to the first network 120a and when to recommend or request handoff to the second network 120b.

In one example, until the qualitative levels of two neighboring networks <NUM> are different, the UE <NUM> should remain connected to the first network 120a. For example, when both the first network 120a and the second network 120b are classified as "acceptable" or "poor" or "good", there is no signal-based reason to hand off from the first network 120a to the second network 120b. Accordingly, if the first network 120a is determined to have the same or a better qualitative level of service than a second network 120b, the UE <NUM> may determine to not handoff to the second network 120b.

As will be appreciated, user preferences may affect the signal-based reasoning so that a UE <NUM> can connect to a "worse" network <NUM> or wait to connect to a "better" network <NUM> until another condition is satisfied For example, a user can specify different gaps between qualitative levels at which to initiate a handoff between different network types so that a preferred network type is connected to more often or for longer (e.g., WiFi preferred over cellular networks) or to reduce the number of handoffs back and forth between networks <NUM> in an area with variable network coverage. Consider then a five-tiered qualitative schema ("unknown/no signal", "very poor", "poor", "acceptable", "good", "very good") on which a user prefers to use a personally owned WiFi AP <NUM> and WiFi network <NUM> with a weaker signal rather than a cellular network <NUM> offered by a telecommunications service provider with a stronger signal. In this scenario, the UE <NUM> would connect to or stay connected to the WiFi network <NUM> even when the cellular network <NUM> is known to provide a better signal and quality of service until the difference between the signal quality is significant (e.g., non-adjacent quality levels) or the WiFi signal is lost. In another example, a user can specify that a second handoff is not to occur (absent a manual override or complete loss of signal) for at least N seconds (to thereby reduce the overhead associated with handoffs) despite a difference in signal quality between two available networks <NUM>. In another example, a handoff between two networks <NUM> may be delayed based on a current or pending download, such as when a handoff would interrupt or disrupt a prioritized stream of data that handoff is delayed until the download is complete or a sufficiency buffer is accumulated to avoid disruption.

The network identifier provides an (at least partially) anonymized identification to track and compare several networks <NUM> against one another. As APs <NUM> may be associated with various globally unique identifiers (GUID), such as, for example, serial numbers, Global System for Mobile Communications cell identifiers (GSM Cell ID), etc. However, knowledge that a given UE <NUM> is/was connected to a specific AP <NUM> in the world may raise privacy concerns for a user if such information is tracked and made available to third parties. Therefore, the network identifier can represent a subset of the GUID of an AP <NUM> to uniquely identify and distinguish neighboring networks <NUM> to the first network 120a. For example, the network identifier can identify N out of M characters/bits of the GUID (e.g., the last six of the sixteen bits of a GSM cell ID) so that the first AP 110a can uniquely identify each of the other networks <NUM>, but a third party cannot specifically identify those networks <NUM>. The number and specific locations from which the subset of identifying characters are drawn from the GUID can vary in different embodiments (e.g., the last n bits, the first m bits, the evenly numbered bit, bits <NUM>-<NUM> and n-m, etc.) and may be selected based to avoid collisions between two or more neighboring networks <NUM> sharing a same anonymized identifier (e.g., more characters decreases the odds of a naming collision).

Because an operator of an AP <NUM> may have interests in retaining, removing, or receiving a UE <NUM> on an associated network <NUM> that conflict with the interests of the operator of a different AP <NUM> or with the user of the UE <NUM>, the present disclosure provides for the UE <NUM> to retain control over whether to initiate handoff, rather than a local exchange or AP-driven solution determining whether handoff should occur. The UE <NUM> and the AP <NUM> can directly exchange information, and the APs <NUM> can recommend whether to initiate handoff, but the decision remains under the control of the UE <NUM>.

<FIG> is a flowchart of a method <NUM> that employs handoff assist when identifying whether to recommend handoff from a first network 120a to a second network 120b, according to embodiments of the present disclosure. Although the determination of whether to initiate a handoff can ultimate rest with the UE <NUM>, an AP <NUM> may have a broader view of the networking environment <NUM> than a particular UE <NUM> does. For example, several UEs <NUM> can report networking conditions at several locations in the environment to the AP <NUM> while a single UE <NUM> can only observe the networking conditions at the given location of that UE <NUM>. Therefore, an AP <NUM> can assist in the handoff determination by recommending, based on greater environmental knowledge, whether a particular UE <NUM> remains connected to the current AP <NUM> or initiates handoff to a new AP <NUM>, while still leaving the determination to request handoff under the control of the UE <NUM>.

At block <NUM> a first AP 110a receives network coverage characteristics from a UE <NUM> that is connected to the first network 120a (provided by the first AP 110a) for data transmission (e.g., TCP/IP connectivity over WiFi or a cellular data service). In various embodiments, the UE <NUM> may also be connected to the first AP 110a for telecommunication services (voice telephony, text messages, pager services, etc.). The network coverage characteristics reported back to the first AP 110a can include signal strength indicators (e.g., RSSI, SNR, dropped packet rate) observed by the UE <NUM>, a location of the UE <NUM> (e.g., GPS coordinates), communications standard or use case for data requested by the UE <NUM> (e.g., streaming video, webpages, email), channel used by the UE <NUM>, networking hardware and software capabilities of the UE <NUM>, etc..

At block <NUM> the first AP 110a receives network coverage characteristics from the UE <NUM> for a candidate handoff network, generally identified as a second network 120b provided by a second AP 110b, although the UE <NUM> can report several different networks <NUM> and associated APs <NUM> as candidate handoff networks. In various embodiments, the UE <NUM> may also be connected to the second AP 110b for telecommunication services, but is connected to the first AP 110a for data transmission services. The network coverage characteristics reported back to the first AP 110a can include signal strength indicators (e.g., RSSI, SNR, dropped packet rate) observed by the UE <NUM>, a location of the UE <NUM> (e.g., GPS coordinates), communications standard or use case for data requested by the UE <NUM> (e.g., streaming video, webpages, email), channel used by the UE <NUM>, networking hardware and software capabilities of the UE <NUM>, the RAT type of the second AP 110b, an (anonymized) identifier for the second network 120b, etc..

These network coverage characteristics received in block <NUM> and block <NUM> may be associated and combined with various network coverage characteristics known to the AP <NUM> for the particular UE <NUM> (e.g., time connected to the first network 120a) as well as characteristics reported by other UEs <NUM> in the environment (e.g., a heatmap of signal strength for the first network 120a, overlap zones <NUM> of neighboring networks <NUM>).

At block <NUM> the first AP 110a (optionally) determines the Qualitative Level of Service (QLoS) for the first network 120a and the second network 120b based on the reported network coverage characteristics and the RAT types of the first AP 110a and the second AP 110b. In some embodiments, network coverage characteristics received in block <NUM> and block <NUM> are pre-formatted by the UE <NUM> to a shared scale to identify a QLoS for each of the networks <NUM> rather than a raw signal strength indication, in which case block <NUM> may be omitted. Stated differently, the first QLoS and the second QLoS are calibrated to a shared scale across the different RAT types for the two networks <NUM>.

When determining the QLoS for each network <NUM>, the first AP 110a determines what level (e.g., "no service", "poor", "adequate", "good", "very good") the given RAT type provides to a UE <NUM> at for a given set of observed signal strength characteristics. In some embodiments, the signal strength characteristics are mapped to various levels of qualitative service based on a machine learning classification of what signal strength characteristics correspond to a given level of service. As different RAT types have different service levels at different signal strengths, the shared scale for evaluating different networks <NUM> allows for a common comparison across RAT types and that mitigates small/periodic fluctuations in signal strength resulting in needless handoffs of service. For example, a first network 120a and a second network 120b may be associated with different SNR levels, but the resulting service at the associated SNRs may be the same (e.g., both rate as "good"), or the more noise resilient RAT type can be associated with a lower SNR, but a "better" QLoS. Each of the levels may be associated with a descriptor as well as a sequential numerical rating (e.g., "very good" = <NUM>, "good" = <NUM>, "adequate" = <NUM>, etc.) for purposes of comparison between networks <NUM> and/or storage in memory.

At block <NUM> the first AP 110a determines whether a difference between the first QLoS and the second QLoS (i.e., ΔQLoS) satisfies a handoff threshold. In various embodiments, the handoff threshold is satisfied when the second network 120b is associated with a higher QLoS than the first QLoS associated with the first network 120a (e.g., QLoS<NUM> - QLoS<NUM> > <NUM>). In some embodiments, the handoff threshold is satisfied when the second QLoS is equal to or greater than the first QLoS (e.g., QLoS<NUM> - QLoS<NUM> ≥ <NUM>), such as when the second network 120b is a preferred network type for data transmission (e.g., WiFi versus cellular). In some embodiments, when the first network 120a is a preferred network type for data transmission, the handoff threshold is satisfied when the second QLoS is much greater than the first QLoS (e.g., QLoS<NUM> - QLoS<NUM> > <NUM> (i.e., >> <NUM>)). In some embodiment, the first AP 110a averages ΔQLoS over time to identify and filter out edge cases where the signal strength causes the QLoS of one network <NUM> to vacillate between one of two levels and thereby delay a handoff recommendation until the ΔQLoS settles into a steady state of satisfying or not satisfying the handoff threshold.

When the handoff threshold is satisfied in block <NUM>, method <NUM> proceeds to block <NUM>, where the first AP 110a transmits a handoff recommendation to the UE <NUM> to recommend handoff from the first network 120a to the second network 120b. In various embodiments, the UE <NUM> may ignore a handoff recommendation and remain connected to the first network 120a, request handoff in response to the handoff recommendation, or use the handoff recommendation in conjunction with an on-device determination process for whether to request handoff, such as is discussed in relation to <FIG>.

When the handoff threshold is not satisfied in block <NUM>, method <NUM> proceeds to block <NUM>, where the first AP 110a either transmits a remain recommendation to the UE <NUM> to recommend remaining connected to the first network 120a or does not transmit a handoff recommendation (which the UE <NUM> can interpret the lack thereof as a remain recommendation). In various embodiments, the UE <NUM> may ignore a remain recommendation and request handoff to the second network 120b, remain connected in response to the handoff recommendation, or use the remain recommendation in conjunction with an on-device determination process for whether to request handoff, such as is discussed in relation to <FIG>.

<FIG> is a flowchart of a method <NUM> that employs handoff assist when identifying whether to request handoff from a first network 120a to a second network 120b, according to embodiments of the present disclosure. In various embodiments, the UE <NUM> performs method <NUM> in conjunction with a first AP 110a (to which the UE <NUM> is currently connected for data transmission services) performing method <NUM> (described in relation to <FIG>), but the UE <NUM> can also perform method <NUM> without input from the first AP 110a or the first AP 110a performing method <NUM>.

At block <NUM> a UE <NUM> transmits network coverage characteristics to a first AP 110a that provides a first network 120a to which the UE <NUM> is currently connected for data transmission (e.g., TCP/IP connectivity over WiFi or a cellular data service). In various embodiments, the UE <NUM> may also be connected to the first AP 110a for telecommunication services (voice telephony, text messages, pager services, etc.). The network coverage characteristics reported back to the first AP 110a can include signal strength indicators (e.g., RSSI, SNR, dropped packet rate) observed by the UE <NUM>, a location of the UE <NUM> (e.g., GPS coordinates), communications standard or use case for data requested by the UE <NUM> (e.g., streaming video, webpages, email), channel used by the UE <NUM>, networking hardware and software capabilities of the UE <NUM>, etc..

The network characteristics can also include the signal strength indicators for neighboring networks <NUM> to the first network 120a that are visible to the UE <NUM> and can include signal strength indicators (e.g., RSSI, SNR, dropped packet rate) observed by the UE <NUM>, a location of the UE <NUM> (e.g., GPS coordinates), communications standard or use case for data requested by the UE <NUM> (e.g., streaming video, webpages, email), channel used by the UE <NUM>, networking hardware and software capabilities of the UE <NUM>, the RAT type of the second AP 110b, an (anonymized) identifier for the second network 120b, etc. In various embodiments, the UE <NUM> may also be connected to the second AP 110b for telecommunication services, but is connected to the first AP 110a for data transmission services.

At block <NUM> the UE <NUM> identifies the QLoS for the various networks <NUM> visible to the UE <NUM> based on the reported network coverage characteristics and the RAT types of the APs <NUM> providing the associated networks <NUM>. When determining the QLoS for each network <NUM>, the UE <NUM> determines what level (e.g., "no service", "poor", "adequate", "good", "very good") the given RAT type provides to the UE <NUM> for a given set of observed signal strength characteristics. In some embodiments, the signal strength characteristics are mapped to various levels of qualitative service based on a machine learning classification of what signal strength characteristics correspond to a given level of service. As different RAT types have different service levels at different signal strengths, the shared scale for evaluating different networks <NUM> allows for a common comparison across RAT types and that mitigates small/periodic fluctuations in signal strength resulting in needless handoffs of service. For example, a first network 120a and a second network 120b may be associated with different SNR levels, but the resulting service at the associated SNRs may be the same (e.g., both rate as "good"), or the more noise resilient RAT type can be associated with a lower SNR, but a "better" QLoS. Each of the levels may be associated with a descriptor as well as a sequential numerical rating (e.g., "very good" = <NUM>, "good" = <NUM>, "adequate" = <NUM>, etc.) for purposes of comparison between networks <NUM> and/or storage in memory. Accordingly an AP <NUM> associated with a lower quality of service can have a higher signal strength than an AP <NUM> associated with a higher quality service based on the differences between RAT types differ, and the UE <NUM> can identify and distinguish when an improvement in the quality of service can be achieved by handing off to a new network <NUM>.

At block <NUM> the UE <NUM> optionally receives a recommendation from the first AP 110a to request a handoff from a first network 120a to a second network 120b. In various embodiments, the UE <NUM> can use the recommendation from the first AP 110a over a locally made determination whether to initiate handoff, can ignore the recommendation, or can use the recommendation in conjunction with the locally made determination. For example, when a recommendation is received, the UE <NUM> may use a more different threshold for handoff (e.g., handing off more often when the AP <NUM> also recommends handoff than when such a recommendation is not received).

At block <NUM> the UE <NUM> determines whether a difference between the first QLoS and the second QLoS (i.e., ΔQLoS) satisfies a handoff threshold. In various embodiments, the handoff threshold is satisfied when the second network 120b is associated with a higher QLoS than the first QLoS associated with the first network 120a (e.g., QLoS<NUM> - QLoS<NUM> > <NUM>). In some embodiments, the handoff threshold is satisfied when the second QLoS is equal to or greater than the first QLoS (e.g., QLoS<NUM> - QLoS<NUM> ≥ <NUM>), such as when the second network 120b is a preferred network type for data transmission (e.g., WiFi versus cellular). In some embodiments, when the first network 120a is a preferred network type for data transmission, the handoff threshold is satisfied when the second QLoS is much greater than the first QLoS (e.g., QLoS<NUM> - QLoS<NUM> > <NUM> (i.e., >> <NUM>)). In some embodiment, the UE <NUM> averages ΔQLoS over time to identify and filter out edge cases where the signal strength causes the QLoS of one network <NUM> to vacillate between one of two levels and thereby delay a handoff recommendation until the ΔQLoS settles into a steady state of satisfying or not satisfying the handoff threshold.

When the handoff threshold is satisfied in block <NUM>, method <NUM> proceeds to block <NUM>, where the UE <NUM> requests that the first AP 110a begin handoff procedures to the second AP 110b providing the second network 120b to connect to.

When the handoff threshold is not satisfied in block <NUM>, method <NUM> proceeds to block <NUM>, where the UE <NUM> requests to remain connected to the first AP 110a by either no transmitting a handoff request to the first AP 110a or otherwise indicating that a handoff is not currently desired (e.g., transmitting a remain request or an acknowledgement and dismissal of a handoff recommendation.

<FIG> illustrates hardware of a computing device <NUM>, as may be used in an AP <NUM> or a UE <NUM> described in the present disclosure. The computing device <NUM> includes a processor <NUM>, a memory <NUM>, and communication interfaces <NUM>. The processor <NUM> may be any processing element capable of performing the functions described herein. The processor <NUM> represents a single processor, multiple processors, a processor with multiple cores, and combinations thereof. The communication interfaces <NUM> facilitate communications between the computing device <NUM> and other devices. The communications interfaces <NUM> are representative of wireless communications antennas and various wired communication ports. The memory <NUM> may be either volatile or non-volatile memory and may include RAM, flash, cache, disk drives, and other computer readable memory storage devices. Although shown as a single entity, the memory <NUM> may be divided into different memory storage elements such as RAM and one or more hard disk drives.

As shown, the memory <NUM> includes various instructions that are executable by the processor <NUM> to provide an operating system <NUM> to manage various functions of the computing device <NUM> and one or more applications <NUM> to provide various functionalities to users of the computing device <NUM>, which include one or more of the functions and functionalities described in the present disclosure. Additionally, the memory <NUM> includes one or more neighbor lists <NUM> containing the identities and networking conditions associated with various networks <NUM> currently, previously, or potentially visible as neighbors with a currently-connected-to or provided network <NUM>. For example, a UE <NUM> may maintain a neighbor list <NUM> for a first network 120a to identify the networking conditions of a second network 120b and a third network 120c that the first network knows to be neighbors, but the UE <NUM> may not currently observe (e.g., reporting network characteristics of "unknown" or "no signal") to enable a first AP 110a to learn where overlapped zones <NUM> and exclusive zones <NUM> in the first network 120a are located. In another example, an AP <NUM> can use the received networking characteristics from several UE <NUM> received over time to develop a heatmap or other understanding of the associated network's signaling characteristics and the signaling characteristics of any neighboring networks <NUM> observed by those UE <NUM>.

In the current disclosure, reference is made to various embodiments. However, the scope of the present disclosure is not limited to specific described embodiments. Additionally, when elements of the embodiments are described in the form of "at least one of A and B," it will be understood that embodiments including element A exclusively, including element B exclusively, and including element A and B are each contemplated. Furthermore, although some embodiments disclosed herein may achieve advantages over other possible solutions or over the prior art, whether or not a particular advantage is achieved by a given embodiment is not limiting of the scope of the present disclosure. Thus, the aspects, features, embodiments and advantages disclosed herein are merely illustrative and are not considered elements or limitations of the appended claims except where explicitly recited in a claim(s). Likewise, reference to "the invention" shall not be construed as a generalization of any inventive subject matter disclosed herein and shall not be considered to be an element or limitation of the appended claims except where explicitly recited in a claim(s).

Claim 1:
A method to be executed in a wireless system (<NUM>), comprising:
receiving, at a first Access Point, AP, (110a) of a first Radio Access Technology, RAT, type part of a first wireless network, a location of a User Equipment, UE, (<NUM>) that is currently connected to the first network;
receiving, at the first AP (110a) from the UE (<NUM>), network coverage characteristics for the UE (<NUM>) that identify:
a first signal strength metric of the first network for the UE (<NUM>);
an identity of a second AP (110b) part of a second wireless network, to which the UE (<NUM>) is not connected, wherein the second AP (110b) is a second RAT type different than the first RAT type; and
a second signal strength metric of the second network for the UE (<NUM>);
determining by the first Access Point, AP, (110a) a first qualitative level of service of the first network for the UE (<NUM>) based on the location, the first signal strength metric, and the first RAT type;
determining by the first Access Point, AP, (110a) a second qualitative level of service of the second network for the UE (<NUM>) based on the location, the second signal strength metric, and the second RAT type; and
in response to a difference between the first qualitative level of service and the second qualitative level of service satisfying a threshold, transmitting by the first Access Point, AP, (110a) a handoff recommendation to the UE (<NUM>) to disconnect from the first network and connect to the second network, wherein the first qualitative level of service indicates a lower quality of service than the second qualitative level of service despite the first signal strength metric indicating a higher quality of service than the second signal strength metric based on differences between the first RAT type and the second RAT type.