Initiating background updates based on user activity
First Claim
1. A method comprising:
- collecting, by a mobile device, event data corresponding to events occurring on the mobile device, the event data including application invocation data associated with user initiated application invocations on the mobile device;
determining a first current time is within a first time period;
in response to determining the first current time is within the first time period, generating, by the mobile device, an application invocation forecast for the first time period based on the application invocation data, wherein generating the application invocation forecast includes generating for each of a plurality of second time periods within the first time period a respective ranking score, the ranking score representing how many applications are predicted to be invoked by a user of the mobile device in the corresponding second time period;
selecting, by the mobile device, a number of the plurality of second time periods based on the ranking scores for each of the plurality of second time periods, where the selected time periods include less than all of the plurality of second time periods;
determining, by the mobile device, that a second current time is within a particular time period of the selected time periods;
in response to determining that the second current time is within the particular time period of the selected time periods, determining, by the mobile device, an application score for each of a plurality of applications based on the application invocation data, the application score representing a likelihood that a respective application will be invoked by the user within the particular time period;
selecting, by the mobile device, a number of the plurality of applications based on the application score, where the selected applications include less than all of the plurality of applications; and
automatically launching, by the mobile device, at least one of the selected applications as a background process on the mobile device within the particular time period.
1 Assignment
0 Petitions
Accused Products
Abstract
In some implementations, a mobile device can be configured to monitor environmental, system and user events. The occurrence of one or more events can trigger adjustments to system settings. In some implementations, the mobile device can be configured to keep frequently invoked applications up to date based on a forecast of predicted invocations by the user. In some implementations, the mobile device can receive push notifications associated with applications that indicate that new content is available for the applications to download. The mobile device can launch the applications associated with the push notifications in the background and download the new content. In some implementations, before running an application or accessing a network interface, the mobile device can be configured to check energy and data budgets and environmental conditions of the mobile device to preserve a high quality user experience.
-
Citations
20 Claims
-
1. A method comprising:
-
collecting, by a mobile device, event data corresponding to events occurring on the mobile device, the event data including application invocation data associated with user initiated application invocations on the mobile device; determining a first current time is within a first time period; in response to determining the first current time is within the first time period, generating, by the mobile device, an application invocation forecast for the first time period based on the application invocation data, wherein generating the application invocation forecast includes generating for each of a plurality of second time periods within the first time period a respective ranking score, the ranking score representing how many applications are predicted to be invoked by a user of the mobile device in the corresponding second time period; selecting, by the mobile device, a number of the plurality of second time periods based on the ranking scores for each of the plurality of second time periods, where the selected time periods include less than all of the plurality of second time periods; determining, by the mobile device, that a second current time is within a particular time period of the selected time periods; in response to determining that the second current time is within the particular time period of the selected time periods, determining, by the mobile device, an application score for each of a plurality of applications based on the application invocation data, the application score representing a likelihood that a respective application will be invoked by the user within the particular time period; selecting, by the mobile device, a number of the plurality of applications based on the application score, where the selected applications include less than all of the plurality of applications; and automatically launching, by the mobile device, at least one of the selected applications as a background process on the mobile device within the particular time period. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
receiving, at a first process on a mobile device, a background data transfer request from a second process on the mobile device; determining whether to perform the background data transfer request based on budgeting constraints of the mobile device, wherein the budgeting constraints include an energy budget that allocates a portion of the battery capacity of the mobile device for processing background data transfer requests and thermal conditions of the mobile device; performing a background data transfer indicated by the background data transfer request in response to a determination that the budgeting constraints of the mobile device allow the background data transfer; and storing the background data transfer request in response to a determination that the background data transfer should not be performed based on the budgeting constraints of the mobile device. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
one or more processors; and a computer-readable medium including one or more sequences of instructions which, when executed by the one or more processors, causes; collecting, by a mobile device, event data corresponding to events occurring on the mobile device, the event data including application invocation data associated with user initiated application invocations on the mobile device; determining a first current time is within a first time period; in response to determining the current time is within the first time period, generating, by the mobile device, an application invocation forecast for the first time period based on the application invocation data, wherein generating the application invocation forecast includes generating for each of a plurality of second time periods within the first time period a respective ranking score, the ranking score representing how many applications are predicted to be invoked by a user of the mobile device in the corresponding second time period; selecting, by the mobile device, a number of the plurality of second time periods based on the ranking scores for each of the plurality of second time periods, where the selected time periods include less than all of the plurality of second time periods; determining, by the mobile device, that a second current time is within a particular time period of the selected time periods; in response to determining that the second current time is within the particular time period of the selected time periods, determining, by the mobile device, an application score for each of a plurality of applications based on the application invocation data, the application score representing a likelihood that a respective application will be invoked by the user within the particular time period; selecting, by the mobile device, a number of the plurality of applications based on the application score, where the selected applications include less than all of the plurality of applications; and automatically launching, by the mobile device, at least one of the selected applications as a background process on the mobile device within the particular time period. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification