IP Library Granted Patent US 8,886,976
Granted Patent B2
US 8,886,976 · App. 13/212,791 · Granted Nov 11, 2014

Management of background tasks

Inventors: Rachel Jiang (Redmond, WA); Rhon Manlapaz (Bellevue, WA); Megan Donahue (Seattle, WA); Dawn Wilson (Bellevue, WA); Darin Miller (Sammamish, WA); Michael Saffitz (Seattle, WA); Kenneth Lynn Crocker (Sammamish, WA); Kevin Shields (Bellevue, WA)
Assignee: Microsoft Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,886,976
App. No.
13/212,791
Granted
Nov 11, 2014
Kind
B2
Abstract

Background tasks are managed through background task settings that allow or prevent the execution of agents associated with mobile device applications in the background of a mobile computing device. Background task management can extend the battery life of a mobile device and can be done by a user, the mobile device or a combination thereof. Agents scheduled for execution by a mobile device are executed according to the background task settings associated with the application. Background task settings can be controlled via background task control panels. Background task settings can be set on a system-wide, application or background task basis. Disabled background tasks can be enabled when the application is next launched. A user can be invited to navigate to the background task control panels when various events occur such as the battery life dropping below a threshold or the current power consumption exceeding a threshold.

Claims (40)

1. A method of managing the execution of background tasks on a mobile computing device, the method comprising:

executing an application in a foreground of the mobile computing device, the executing comprising scheduling one or more tasks of the application for execution by the mobile computing device;

moving the application from the foreground of the mobile computing device to a background of the mobile computing device; and

while the application continues to operate in the background of the mobile computing device, allowing or preventing execution of the scheduled one or more tasks of the application according to one or more background task settings associated with the application.

2. The method of claim 1 , the method further comprising:

receiving, via a background task control panel presented at a display of the mobile computing device, an indication to allow or prevent execution of the scheduled one or more tasks of the application in the background of the mobile computing device; and

setting the one or more background task settings according to the received indication.

3. The method of claim 2 , wherein the one or more background task settings indicate that the scheduled one or more tasks of the application are to be prevented from executing in the background of the mobile computing device.

4. The method of claim 2 , wherein the one or more background task settings indicate that the scheduled one or more tasks of the application are to be allowed to execute in the background of the mobile computing device.

5. The method of claim 2 , wherein the application is one of one or more applications, the background task control panel comprising a list of the one or more applications, the list comprising a background task status indicator for at least one of the one or more applications.

6. The method of claim 2 , wherein the background task control panel is presented in response to determining that a number of tasks scheduled for execution by the mobile computing device exceeds a scheduled threshold.

7. The method of claim 2 , wherein the background task control panel is presented in response to determining that the scheduled one or more tasks of the application would cause a number of tasks scheduled for execution by the mobile computing device to exceed a maximum scheduled agent threshold.

8. The method of claim 2 , wherein the background task control panel is presented in response to determining that a battery life of the mobile computing device has dropped below a battery life threshold or a power consumption rate of the mobile computing device exceeds a power consumption rate threshold.

9. The method of claim 1 , wherein the allowing or preventing execution of the scheduled one or more tasks of the application in the background of the mobile computing device comprises suspending the scheduled one or more tasks of the application.

10. The method of claim 1 , wherein the allowing or preventing execution of the scheduled one or more tasks of the application in the background of the mobile computing device comprises unscheduling the scheduled one or more tasks of the application.

11. The method of claim 1 , further comprising:

determining that a length of time over which the application has not been executed in the foreground of the mobile computing device exceeds an inactivity period threshold; and

upon determining that the inactivity period threshold has been exceeded, setting the one or more background task settings associated with the application to prevent the scheduled one or more tasks of the application from executing in the background of the mobile computing device.

12. The method of claim 1 , further comprising the mobile computing device automatically setting the one or more background task settings associated with the application in response to an event.

13. The method of claim 12 , wherein the event comprises detecting a battery life of the mobile computing device crossing a battery life threshold.

14. The method of claim 12 , wherein the event comprises detecting a power consumption rate of the mobile computing device crossing a power consumption rate threshold.

15. The method of claim 12 , wherein the event comprises detecting the mobile computing device connecting to or disconnecting from an external power supply.

16. The method of claim 1 , wherein the moving the application from the foreground of the mobile computing device to the background of the mobile computing device occurs in response to launching a second application.

17. One or more mobile computing device-readable media storing mobile computing device-executable instructions for causing a mobile computing device to perform operations, the operations comprising:

executing an application in a foreground of the mobile computing device, the executing comprising scheduling one or more tasks of the application for execution by the mobile computing device;

moving the application from the foreground of the mobile computing device to a background of the mobile computing device; and

while the application continues to operate in the background of the mobile computing device, preventing execution of the scheduled one or more tasks of the application according to a background task setting associated with the application.

18. The one or more mobile computing device-readable media of claim 17 , the operations further comprising:

receiving, via a background task control panel presented at a display of the mobile computing device, an indication to allow or prevent execution of the scheduled one or more tasks of the application in the background of the mobile computing device; and

setting the background task setting according to the received indication.

19. The one or more mobile computing device-readable media of claim 17 , the operations further comprising the mobile computing device automatically setting the background task setting associated with the application in response to detecting a battery life of the mobile computing device crossing a battery life threshold, detecting a power consumption rate of the mobile computing device crossing a power consumption rate threshold or detecting disconnection of the mobile computing device from an external power supply.

20. At least one mobile computing device programmed to carry out operations, the operations comprising:

receiving user input at the mobile computing device indicating that one or more tasks of an application are to be allowed to execute in a background of the mobile computing device;

setting one or more background task settings associated with the application according to the received user input;

executing the application in a foreground of the mobile computing device, the executing comprising scheduling the one or more tasks of the application for execution by the mobile computing device, the scheduling comprising adding the one or more tasks of the application to a scheduler;

moving the application from the foreground of the mobile computing device to the background of the mobile computing device;

determining that a length of time over which the application has not been executed in the foreground of the mobile computing device exceeds an inactivity period threshold; and

upon determining that the inactivity period threshold has been exceeded:

setting the one or more background task settings associated with the application to prevent the scheduled one or more tasks of the application from executing in the background of the mobile computing device; and

while the application continues to operate in the background of the mobile computing device, removing the scheduled one or more tasks of the application from the scheduler in accordance with the one or more background task settings associated with the application.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 29, 2012
From: MANLAPAZ, RHON
To: MICROSOFT CORPORATION
Reel/Frame 027783/0945 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2011
From: JIANG, RACHEL; MANLAPAZ, RHON; DONAHUE, MEGAN; WILSON, DAWN; SHIELDS, KEVIN; CROCKER, KENNETH LYNN; SAFFITZ, MICHAEL; MILLER, DARIN
To: MICROSOFT CORPORATION
Reel/Frame 026774/0134 →
Continuity (2)
Provisional Application 61474225 · Apr 11, 2011
Related Publication 20120260118A1 · Oct 11, 2012