MULTI-INTERFACE POWER-AWARE NETWORKING
First Claim
Patent Images
1. A device comprising:
- one or more processors;
a plurality of network interfaces configured to create and maintain a plurality of different types of network connections;
memory storing a policy store of the device that maintains application profiles for a plurality of applications stored on the device; and
a network connection management module stored on the memory and executable by the one or more processors, the network connection management configured to;
receive, from one of the plurality of applications, a request to communicate data over a network;
access an application profile associated with the one of the plurality of applications, the application profile describing network performance requirements for the one of the plurality of applications;
for each network interface of the plurality of network interfaces, obtain a connectivity profile associated with the network interface, the connectivity profile including one or more types of network connections, an expected power consumption associated with an individual type of network connection, an expected network performance associated with an individual type of network connection, and information of a current location of the device;
determine, based at least in part on the connectivity profiles obtained and the network performance requirements for the one of the plurality of applications, an order of connectivity options, wherein an individual connectivity option comprises a network interface and a type of network connection;
select a connectivity option from the order of connectivity options; and
use the network interface and the type of network connection of the selected connectivity option to communicate the data.
2 Assignments
0 Petitions
Accused Products
Abstract
The techniques described herein monitor, store, and evaluate network information associated with an application to determine a connectivity option to use to communicate data. A connectivity option includes a network interface and a type of network connection. The determination is made based on power consumption information associated with available connectivity options. Consequently, a device on which the application is installed can better manage its power consumption associated with network communications.
39 Citations
20 Claims
-
1. A device comprising:
-
one or more processors; a plurality of network interfaces configured to create and maintain a plurality of different types of network connections; memory storing a policy store of the device that maintains application profiles for a plurality of applications stored on the device; and a network connection management module stored on the memory and executable by the one or more processors, the network connection management configured to; receive, from one of the plurality of applications, a request to communicate data over a network; access an application profile associated with the one of the plurality of applications, the application profile describing network performance requirements for the one of the plurality of applications; for each network interface of the plurality of network interfaces, obtain a connectivity profile associated with the network interface, the connectivity profile including one or more types of network connections, an expected power consumption associated with an individual type of network connection, an expected network performance associated with an individual type of network connection, and information of a current location of the device; determine, based at least in part on the connectivity profiles obtained and the network performance requirements for the one of the plurality of applications, an order of connectivity options, wherein an individual connectivity option comprises a network interface and a type of network connection; select a connectivity option from the order of connectivity options; and use the network interface and the type of network connection of the selected connectivity option to communicate the data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A device comprising:
-
one or more processors; a plurality of network interfaces configured to create and maintain a plurality of different types of network connections; memory storing a policy store of the device that maintains application profiles for a plurality of applications stored on the device; and a network connection management module stored on the memory and executable by the one or more processors, the network connection management configured to; maintain a first network connection to communicate data for an application executing on the device, the first network connection being associated with a first connectivity option, wherein an individual connectivity option comprises a network interface and a type of network connection; determine an occurrence of an event that causes an evaluation of network connectivity; access an application profile associated with the application, the application profile describing network performance requirements for the application based on a current execution state of the application; obtain a first connectivity profile associated with the first connectivity option, the first connectivity profile describing expected performance and expected power consumption of the first network connection based on a current location of the device; obtain a second connectivity profile associated with a second connectivity option, the second connectivity profile describing expected performance and expected power consumption of a second network connection based on the current location of the device; determine that the network performance requirements for the application are satisfied by the expected performance of the second network connection; and based on the determination that the network performance requirements are satisfied by the expected performance of the second network connection, switch from using the first network connection to communicate data for the application to using the second network connection to communicate data for the application. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method comprising:
-
receiving, from one of a plurality of applications stored on a device, a request to communicate data over a network; accessing an application profile associated with the one of the plurality of applications, the application profile describing network performance requirements for the one of the plurality of applications; for each of a plurality of network interfaces of the device, obtaining a connectivity profile associated with the network interface, the connectivity profile including one or more types of network connections, an expected power consumption associated with an individual type of network connection, an expected network performance associated with an individual type of network connection, and information of a current location of the device; determining, based at least in part on the connectivity profiles obtained and the network performance requirements for the one of the plurality of applications, an order of connectivity options, wherein an individual connectivity option comprises a network interface and a type of network connection; selecting a connectivity option from the order of connectivity options; and using the network interface and the type of network connection of the selected connectivity option to communicate the data. - View Dependent Claims (18, 19, 20)
-
Specification