RESOURCE MANAGEMENT BASED ON DEVICE-SPECIFIC OR USER-SPECIFIC RESOURCE USAGE PROFILES
First Claim
1. A method implemented by a computing device for managing a resource thereof, comprising:
- determining a first amount of the resource that is used by a first instance of an application while being executed by the computing device, the determining including determining an amount of the resource that is used by a foreground process associated with the first instance of the application and one or more background tasks associated with the first instance of the application;
calculating a first predicted resource usage amount for the application based at least on the first amount;
storing the first predicted resource usage amount in a data store;
determining a second amount of the resource to be allocated to a second instance of the application to be executed by the computing device based at least on the first predicted resource usage amount stored in the data store.
3 Assignments
0 Petitions
Accused Products
Abstract
Resources used by a foreground process associated with an application as well as one or more background tasks associated with the application that are running as separate processes on the computing device are tracked. Historical data relating to resource usage by the application is utilized to predict a resource usage amount for the application which is then stored. A subsequent launch of the application can be conditioned upon whether the predicted resource usage amount is available. If the predicted resource usage amount is available, it can be allocated to the application and the application can be launched. If the application then exceeds the predicted resource usage amount, other processes executing concurrently therewith may be terminated to free up the resource. Regardless of how the application performs, new resource usage data is obtained for the application, which is then used to adjust the predicted resource usage amount.
53 Citations
20 Claims
-
1. A method implemented by a computing device for managing a resource thereof, comprising:
-
determining a first amount of the resource that is used by a first instance of an application while being executed by the computing device, the determining including determining an amount of the resource that is used by a foreground process associated with the first instance of the application and one or more background tasks associated with the first instance of the application; calculating a first predicted resource usage amount for the application based at least on the first amount; storing the first predicted resource usage amount in a data store; determining a second amount of the resource to be allocated to a second instance of the application to be executed by the computing device based at least on the first predicted resource usage amount stored in the data store. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer program product comprising a computer-readable memory having computer program logic recorded thereon that when executed by at least one processor of a computing device causes the at least one processor to perform operations, the operations comprising:
-
receiving a request to launch an application; obtaining a predicted resource usage amount for the application, the predicted resource usage amount being based on a monitored usage of a resource of the computing device by a foreground process associated with the application and one or more background tasks associated with the application during one or more prior executions of the application; determining whether a sufficient amount of a resource is available by comparing the predicted resource usage amount to an amount of the resource that is currently available; and allowing the application to launch in response to at least determining that a sufficient amount of the resource is available. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A system implemented on a computing device, comprising:
-
at least one processor; and memory that is accessible by the at least one processor, the memory storing components for execution by the at least one processor, the components including; a resource manager operable to monitor a pattern of usage of at least one resource of the computing device by one or more of an application and a user, to store information associated with the pattern of usage, and to use the stored information to predictively allocate at least a portion of the resource to at least one process prior to execution thereof by the at least one processor. - View Dependent Claims (18, 19, 20)
-
Specification