Intelligent connection management for multiple interfaces
First Claim
1. One or more hardware-based computer-readable memory devices storing instructions which, when executed by one or more processors disposed in a computing device, cause the computing device to:
- measure Quality of Service (QoS) of network bandwidth provided by a connection between the computing device and a current communication network;
monitor network bandwidth utilization in real time by each of one or more applications executing on the computing device, the monitoring being performed for the one or more applications or per application feature for a respective application;
compare the measured QoS of the current communication network with QoS requirements for an application or an application feature;
switch from the connection to the current communication network to a connection to an alternative communication network based on the comparison; and
observe application or application feature behaviors as QoS of networks vary, in which QoS requirements are estimated using at least the observations.
1 Assignment
0 Petitions
Accused Products
Abstract
A computing device supports multiple different network interfaces providing respective connections to, for example WiFi, short-range and near field communication (NFC), and mobile data (e.g., cellular) networks, over which bandwidth-consuming applications may operate. An operating system (OS) instantiated on the computing device supports a connection manager configured to dynamically and concurrently optimize utilization of the available network connections across the executing applications to provide seamless user experiences on the device while meeting various user objectives. These objectives may include, for example, maximizing device battery life, minimizing costs associated with use of mobile data plans and other metered network connections, minimizing glitches, data buffering, and disruptions (e.g., when streaming multimedia, downloading files, and engaging in real-time communications like voice and video calls), and transparency of operation as the diverse network connections are utilized.
18 Citations
19 Claims
-
1. One or more hardware-based computer-readable memory devices storing instructions which, when executed by one or more processors disposed in a computing device, cause the computing device to:
-
measure Quality of Service (QoS) of network bandwidth provided by a connection between the computing device and a current communication network; monitor network bandwidth utilization in real time by each of one or more applications executing on the computing device, the monitoring being performed for the one or more applications or per application feature for a respective application; compare the measured QoS of the current communication network with QoS requirements for an application or an application feature; switch from the connection to the current communication network to a connection to an alternative communication network based on the comparison; and observe application or application feature behaviors as QoS of networks vary, in which QoS requirements are estimated using at least the observations. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for optimizing utilization of a plurality of network connections available on a computing device having a user interface configured for interacting with a user, comprising:
-
determining a current state of each available network connection; identifying Quality of Service (QoS) requirements for one or more bandwidth-consuming applications executing on the computing device; mapping the identified QoS requirements for each application to the available network connections based on the current state; observing that a bandwidth-consuming application is accessing network bandwidth; selecting a network connection to provide the network bandwidth using the mapped QoS requirements; monitoring real-time network bandwidth utilization by the bandwidth-consuming application with the selected network connection; and responsive to the bandwidth-consuming application'"'"'s QoS requirements not being satisfied with the selected network connection according to the monitored real-time network bandwidth utilization, switching to a new available network connection. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A computing device, comprising:
-
one or more processors; a user interface configured to support interactions between the computing device and a user of the computing device; one or more sensors configured for sensing an environment surrounding the computing device; a plurality of network interfaces supporting respective network connections to different communication networks providing network bandwidth; and one or more hardware-based memory devices storing executable code associated with one or more network bandwidth-consuming applications and further storing computer-readable instructions which, when executed by the one or more processors, cause the computing device to enable applications executing on the computing device to register Quality of Service (QoS) criteria for application features that use network bandwidth; maintain context-awareness of contextual data through direct sensing by the one or more sensors, the contextual data describing interactions between the user, applications, and the surrounding environment; measure performance of available network connections to identify network connections that meet QoS criteria of registered applications; determine that a registered application is requesting network bandwidth, and utilize the contextual data to select a network connection from among the identified network connections to satisfy the network bandwidth request. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification