Methods and systems for regulating resource usage
First Claim
Patent Images
1. A method comprising:
- receiving, by an application executed by an operating system, a plurality of operating parameters having values describing a plurality of different types of resources of a client device;
determining a value representing an estimate of current load on the client device based at least in part on a combination of the plurality of operating parameter values describing the plurality of different types of resources of the client device;
assigning the value representing the estimate of current load on the client device to a usage variable; and
correlating by the application a level of throttling of the application with the usage variable, the correlating comprising;
examining a representation of a mapping of estimates of load on the client device to levels of throttling, wherein each tuple in the mapping maps a particular estimate of load on the client device to a particular level of throttling;
identifying a tuple of the mapping for which the particular value of the estimate of load on the client device matches the estimate of current load on the client device; and
the application modifying its own execution to throttle its usage to the level of throttling specified by the identified tuple.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for regulating resource usage of an application are disclosed. A method of regulating usage of an application is disclosed that comprises receiving an operating parameter of a client device, assigning a value to a usage variable associated with the operating parameter of the client device, and correlating by an application a resource usage level of the application with the usage variable.
-
Citations
41 Claims
-
1. A method comprising:
-
receiving, by an application executed by an operating system, a plurality of operating parameters having values describing a plurality of different types of resources of a client device; determining a value representing an estimate of current load on the client device based at least in part on a combination of the plurality of operating parameter values describing the plurality of different types of resources of the client device; assigning the value representing the estimate of current load on the client device to a usage variable; and correlating by the application a level of throttling of the application with the usage variable, the correlating comprising; examining a representation of a mapping of estimates of load on the client device to levels of throttling, wherein each tuple in the mapping maps a particular estimate of load on the client device to a particular level of throttling; identifying a tuple of the mapping for which the particular value of the estimate of load on the client device matches the estimate of current load on the client device; and the application modifying its own execution to throttle its usage to the level of throttling specified by the identified tuple. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A non-transitory computer readable storage medium comprising instructions, that, when executed, cause an application to perform steps comprising:
-
receiving, by an application executed by an operating system, a plurality of operating parameters having values describing a plurality of different types of resources of a client device; determining a value representing an estimate of current load on the client device based at least in part on a combination of the plurality of operating parameter values describing the plurality of different types of resources of the client device; assigning the value representing the estimate of current load on the client device to a usage variable; and correlating by the application a level of throttling of the application with the usage variable, the correlating comprising; examining a representation of a mapping of estimates of load on the client device to levels of throttling, wherein each tuple in the mapping maps a particular value estimate of load on the client device to a particular level of throttling; identifying a tuple of the mapping for which the particular value of the estimate of load on the client device matches the estimate of current load on the client device; and the application modifying its own execution to throttle its usage to the level of throttling specified by the identified tuple. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A method comprising:
-
receiving, by an application executed by an operating system, a plurality of operating parameters having values describing a plurality of different types of resources of a client device; determining a value representing an estimate of current load on the client device based at least in part on a combination of the plurality of operating parameter values; examining a representation of a mapping comprising tuples, each tuple specifying a mapping from an estimate of load on the client device to a level of throttling, wherein the estimate of load specified in a tuple is based on a usage of a particular combination of resources of the client device; identifying a tuple, in the representation of the mapping, for which the particular value of the estimate of load on the client device specified in the tuple matches the value representing the estimate of current load on the client device; and modifying, by the application, execution of the application to throttle its usage to the level of throttling specified by the identified tuple.
-
Specification