Multi-interface power-aware networking
First Claim
Patent Images
1. A device comprising:
- one or more processors;
a plurality of network interfaces; and
memory storing a policy store of the device that maintains application profiles for a plurality of applications stored on the device and instructions executable by the one or more processors to;
receive, from one of the plurality of applications, a request to communicate data over a network;
access a current execution state in an application profile associated with the one of the plurality of applications, the application profile associating the current execution state with network performance requirements that ensure an acceptable level of service 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, an order of connectivity options that satisfy the network performance requirements for the one of the plurality of applications, 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.
49 Citations
20 Claims
-
1. A device comprising:
-
one or more processors; a plurality of network interfaces; and memory storing a policy store of the device that maintains application profiles for a plurality of applications stored on the device and instructions executable by the one or more processors to; receive, from one of the plurality of applications, a request to communicate data over a network; access a current execution state in an application profile associated with the one of the plurality of applications, the application profile associating the current execution state with network performance requirements that ensure an acceptable level of service 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, an order of connectivity options that satisfy the network performance requirements for the one of the plurality of applications, 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; and memory storing a policy store of the device that maintains application profiles for a plurality of applications stored on the device and instructions executable by the one or more processors 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 a current execution state in an application profile associated with the application, the application profile associating the current execution state with network performance requirements that ensure an acceptable level of service for the application based on the current execution state; 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; determine that the expected power consumption of the second network connection is less than the expected power consumption of the first network connection; and based on the determination that the network performance requirements are satisfied by the expected performance of the second network connection and the determination that the expected power consumption of the second network connection is less than the expected power consumption of the first 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 a current execution state in an application profile associated with the one of the plurality of applications, the application profile associating the current execution state with network performance requirements that ensure an acceptable level of service 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, by one or more processors, 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