Application prioritization
First Claim
1. A method for application prioritization, comprising:
- determining that an application is to be placed within a de-prioritized operating mode;
initiating a launch of the application within the de-prioritized operating mode;
in response to initiating the launch of the application within the de-prioritized operating mode, placing a first set of one or more restrictions on the application, wherein the first set of one or more restrictions causes an operation of the application to be restricted according to a determined level;
monitoring a progress of the launch;
responsive to determining that the progress of the launch is below a launch progress threshold, reducing the first set of one or more restrictions such that the reduction of the first set of one or more restrictions causes the operation of the application to be less restricted than the determined level, according to a comparatively lower determined level, wherein determining the progress of the launch is below a launch progress threshold includes determining that the application has not fully launched within a predetermined period of time; and
responsive to the launch of the application, executing the application within the de-prioritized operating mode while the reduced first set of one or more restrictions act to restrict the operation of the application according to the comparatively lower determined level that is less restrictive than the determined level.
2 Assignments
0 Petitions
Accused Products
Abstract
Among other things, one or more techniques and/or systems are provided for application prioritization. For example, an operating system of a computing device may contemporaneously host one or more applications, which may compete for computing resources, such as CPU cycles, I/O operations, memory access, and/or network bandwidth. Accordingly, an application (e.g., a background task or service) may be placed within a de-prioritized operating mode during launch and/or during execution, which may result in the application receiving a relatively lower priority when competing with applications placed within a standard operating mode for access to computing resources. In this way, an application placed within a standard operating mode (e.g., a foreground application currently interacted with by a user) may have priority to computing resources over the de-prioritized application, such that the application within the standard operating mode may provide enhanced performance based upon having priority to computing resources.
88 Citations
20 Claims
-
1. A method for application prioritization, comprising:
-
determining that an application is to be placed within a de-prioritized operating mode; initiating a launch of the application within the de-prioritized operating mode; in response to initiating the launch of the application within the de-prioritized operating mode, placing a first set of one or more restrictions on the application, wherein the first set of one or more restrictions causes an operation of the application to be restricted according to a determined level; monitoring a progress of the launch; responsive to determining that the progress of the launch is below a launch progress threshold, reducing the first set of one or more restrictions such that the reduction of the first set of one or more restrictions causes the operation of the application to be less restricted than the determined level, according to a comparatively lower determined level, wherein determining the progress of the launch is below a launch progress threshold includes determining that the application has not fully launched within a predetermined period of time; and responsive to the launch of the application, executing the application within the de-prioritized operating mode while the reduced first set of one or more restrictions act to restrict the operation of the application according to the comparatively lower determined level that is less restrictive than the determined level. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer system, comprising:
-
one or more processors; and one or more computer-readable hardware storage devices having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computer system to prioritize an application by causing the computer system to; determine that an application is to be placed within a de-prioritized operating mode; initiate a launch of the application within the de-prioritized operating mode; in response to initiating the launch of the application within the de-prioritized operating mode, place a first set of one or more restrictions on the application, wherein the first set of one or more restrictions causes an operation of the application to be restricted according to a determined level; monitor a progress of the launch; responsive to determining that the progress of the launch is below a launch progress threshold, reduce the first set of one or more restrictions such that the reduction of the first set of one or more restrictions causes the operation of the application to be less restricted than the determined level, according to a comparatively lower determined level, wherein determining the progress of the launch is below a launch progress threshold includes determining that the application has not fully launched within a predetermined period of time; and responsive to the launch of the application, execute the application within the de-prioritized operating mode while the reduced first set of one or more restrictions act to restrict the operation of the application according to the comparatively lower determined level that is less restrictive than the determined level. - View Dependent Claims (17, 18, 19)
-
-
20. A computer system, comprising:
-
one or more processors; and one or more computer-readable hardware storage devices having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computer system to prioritize an application by causing the computer system to perform at least the following; determine that an application is to be placed within a de-prioritized operating mode; initiate a launch of the application within the de-prioritized operating mode; monitor a progress of the launch; responsive to a determination that the progress of the launch is below a launch progress threshold, reduce a first set of one or more restrictions placed upon the application by the de-prioritized operating mode, wherein the determination that the progress of the launch is below the launch progress threshold includes a determination that the application has not fully launched within a predetermined period of time; responsive to the launch of the application, execute the application within the de-prioritized operating mode; responsive to the application being placed into a foreground state, transition the application from the de-prioritized operating mode to a standard operating mode; responsive to the application being transitioned from the foreground state to a background state, transition the application from the standard operating mode back to the de-prioritized mode; and determine that a device, hosting the application, is configured to at least perform one of the following;
enter a low power state or free up memory if the application is cancelled.
-
Specification