Operating system supporting cost aware applications
First Claim
1. A method performed on a computing device, the method comprising:
- obtaining a charging policy comprising a plurality of charging models, each of the plurality of charging models corresponding to at least one of a plurality of data networks;
determining whether an amount of data being considered for transfer via a selected network of the plurality of data networks exceeds a threshold corresponding to the selected network;
in response to a determination that the amount of data exceeds the threshold, selecting an alternative network from the plurality of data networks based on the charging policy;
wherein selecting the alternative network comprises;
determining a lowest cost to transfer the amount of data according to the plurality of charging models; and
selecting a data network that corresponds to the lowest cost as the alternative network; and
transferring at least a portion of the amount of data via the alternative network,wherein transferring at least the portion of the amount of data comprises transferring, via the selected alternative network, the amount of data.
2 Assignments
0 Petitions
Accused Products
Abstract
A mobile computing device that supports cost-aware application components for operation over a metered network. A current basis for computing usage charges over one or more networks may be made available to the cost-aware application components through an application programming interface supported by an operating system service. That service may receive a policy for charging for data usage over a network and may also obtain information defining data usage for the mobile computing device. Based on this information, the service may determine a current basis for charging for data usage. With this information, the application component can determine a manner for executing network operations that involve data transmission over the network, such as deferring the operation or selecting an alternative network.
200 Citations
20 Claims
-
1. A method performed on a computing device, the method comprising:
-
obtaining a charging policy comprising a plurality of charging models, each of the plurality of charging models corresponding to at least one of a plurality of data networks; determining whether an amount of data being considered for transfer via a selected network of the plurality of data networks exceeds a threshold corresponding to the selected network; in response to a determination that the amount of data exceeds the threshold, selecting an alternative network from the plurality of data networks based on the charging policy;
wherein selecting the alternative network comprises;determining a lowest cost to transfer the amount of data according to the plurality of charging models; and selecting a data network that corresponds to the lowest cost as the alternative network; and transferring at least a portion of the amount of data via the alternative network, wherein transferring at least the portion of the amount of data comprises transferring, via the selected alternative network, the amount of data. - View Dependent Claims (2, 3, 4)
-
-
5. A method performed on a computing device, the method comprising:
-
obtaining a charging policy comprising a plurality of charging models, each of the plurality of charging models corresponding to at least one of a plurality of data networks; determining whether an amount of data being considered for transfer via a selected network of the plurality of data networks exceeds a threshold corresponding to the selected network; in response to a determination that the amount of data exceeds the threshold, selecting an alternative network from the plurality of data networks based on the charging policy; and transferring at least a portion of the amount of data via the alternative network, wherein each of the plurality of charging models indicates a first cost for the amount of data not exceeding the threshold and a second cost for the amount of data exceeding the threshold. - View Dependent Claims (6, 7)
-
-
8. At least one computer storage device comprising computer-executable instructions that, when executed by at least one computing device, cause the at least one computing device to perform actions comprising:
-
obtaining a charging policy comprising a plurality of charging models, each of the plurality of charging models corresponding to at least one of a plurality of data networks; determining if an amount of data intended for transfer via a selected network of the plurality of data networks exceeds a threshold for the selected network; in response to a determination that the amount of data exceeds the threshold, selecting an alternative network from the plurality of data networks based on the charging policy, wherein selecting the alternative network comprises; determining a lowest cost to transfer the amount of data according to the plurality of charging models; and selecting a data network that corresponds to the lowest cost; and
transferring at least a portion of the amount of data via the alternative network,wherein transferring at least the portion of the amount of data comprises transferring, via the alternative network, the amount of data. - View Dependent Claims (9, 10, 11)
-
-
12. At least one computer storage device comprising computer-executable instructions that, when executed by at least one computing device, cause the at least one computing device to perform actions comprising:
-
obtaining a charging policy comprising a plurality of charging models, each of the plurality of charging models corresponding to at least one of a plurality of data networks; determining if an amount of data intended for transfer via a selected network of the plurality of data networks exceeds a threshold for the selected network; in response to a determination that the amount of data exceeds the threshold, selecting an alternative network from the plurality of data networks based on the charging policy; and transferring at least a portion of the amount of data via the alternative network, wherein each of the plurality of charging models comprises a first cost for the amount of data not exceeding the threshold and a second cost for the amount of data exceeding the threshold.
-
-
13. A system comprising a computing device and at least one software module that are together configured for performing actions comprising:
-
obtaining a charging policy comprising a plurality of charging models, each of the plurality of charging models corresponding to at least one of a plurality of data networks; determining that an amount of data intended for transfer via a selected network of the plurality of data networks exceeds a threshold associated with the selected network; in response to the determination that the amount of data exceeds the threshold, selecting an alternative network from the plurality of data networks based on the charging policy;
wherein selecting the alternative network comprises;determining a lowest cost to transfer the amount of data according to the plurality of charging models; and selecting a data network that corresponds to the lowest cost; and transferring data via the alternative network, wherein transferring the data comprises transferring, via the alternative network, the amount of data. - View Dependent Claims (14, 15, 16)
-
-
17. A system comprising a computing device and at least one software module that are together configured for performing actions comprising:
-
obtaining a charging policy comprising a plurality of charging models, each of the plurality of charging models corresponding to at least one of a plurality of data networks; determining that an amount of data intended for transfer via a selected network of the plurality of data networks exceeds a threshold associated with the selected network; in response to the determination that the amount of data exceeds the threshold, selecting an alternative network from the plurality of data networks based on the charging policy; and transferring data via the alternative network, wherein each of the plurality of charging models comprises a first cost for the amount of data not exceeding the threshold and a second cost for the amount of data exceeding the threshold. - View Dependent Claims (18, 19, 20)
-
Specification