Initiating background updates based on user activity

US10223156B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10223156-B2
Application numberUS-201414253781-A
CountryUS
Kind codeB2
Filing dateApr 15, 2014
Priority dateJun 9, 2013
Publication dateMar 5, 2019
Grant dateMar 5, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 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. 2. The method of claim 1 , further comprising: determining a probability for each of a plurality of applications on the mobile device that the respective application will be invoked by a user during the particular time period; and automatically launching, by the mobile device, a particular application of the selected applications as a background process in anticipation of a user invocation of the particular application when a probability for the particular application indicates that the particular application is likely to be invoked by the user. 3. The method of claim 2 , further comprising: receiving a request; and in response to the request, determining whether to launch the particular application based on an energy budget and thermal conditions of the mobile device, the energy budget allocating a portion of a battery capacity of the mobile device for processing application launches during the particular time period. 4. The method of claim 1 , wherein the first time period is one day in length, and wherein each of the plurality of second time periods has a length of fifteen minutes. 5. The method of claim 2 , wherein determining the probability includes performing time series modeling on the invocation data collected by the mobile device. 6. The method of claim 2 , wherein determining the probability includes analyzing recent, daily and weekly user invocation history to calculate a probability that the user will invoke an application at about the current time. 7. The method of claim 1 , wherein the second current time comprises a time window that is larger than a time window of the first current time. 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. 9. The method of claim 8 , wherein determining whether to perform the background data transfer request further comprises: determining a current operating temperature using one or more temperature sensors of the mobile device; and determining whether the current operating temperature is above a predetermined threshold. 10. The method of claim 8 , wherein the second process is terminated or suspended after the background data request is received by the first process. 11. The method of claim 8 , further comprising: after storing the background data transfer request, determining that the background data transfer request can be performed based on budgeting constraints or environmental conditions of the mobile device; and performing the background data transfer indicated by the background data transfer request in response to a determination that budgeting constraints and environmental conditions of the mobile device allow the background data transfer. 12. The method of claim 11 , further comprising relaunching the second process when the background data transfer is completed. 13. The method of claim 11 , further comprising: while performing the background data transfer, suspending the background data transfer when a poor network connection is detected. 14. The method of claim 11 , further comprising: while performing the background data transfer, suspending the background data transfer when one or more budgets are exceeded. 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

Assignees

Inventors

Classifications

  • Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level · CPC title

  • G06F9/4825Primary

    Interrupt from clock, e.g. time of day · CPC title

  • monitoring of user actions (tracking the activity of the user H04L67/535) · CPC title

  • Monitoring involving counting · CPC title

  • Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations (thermal management in cooling arrangements of a computing system G06F1/206) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10223156B2 cover?
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 d…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/4825. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 05 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).