IP Library › Granted Patent US 9,063,775
Granted Patent B2
US 9,063,775 · App. 13/224,154 · Granted Jun 23, 2015

Event aggregation for background work execution

Inventors: James A. Schwartz, Jr. (Seattle, WA); Arun U. Kishan (Kirkland, WA); Richard K. Neves (Kirkland, WA); David B. Probert (Woodinville, WA); Hari Pulapaka (Redmond, WA); Alain F. Gefflaut (Kirkland, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F9/4812
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 9,063,775
App. No.
13/224,154
Granted
Jun 23, 2015
Kind
B2
Abstract

Systems, methods, and apparatus for separately managing foreground work and background work. In some embodiments, an operating system may identify at least one foreground component and at least one background component of a same application or different applications, and may manage the execution of the components differently. For example, the operating system may receive a request that at least one background component of an application be executed in response to at least one event. In response to detecting an occurrence of the at least one event, the operating system may determine whether at least one first condition set by the application is satisfied and whether at least one second condition set by the operating system is satisfied, and may execute the at least one background component when it is determined that the at least one first and second conditions are satisfied following the occurrence of the at least one event.

Claims (43)

1. A computer implemented method, comprising:

detecting an occurrence of a trigger associated with a brokered event;

responsive to the detecting, determining whether a condition is satisfied;

responsive to determining the condition is satisfied, signaling the brokered event; and

responsive to the signaling, executing a background component of an application.

2. The method of claim 1 , comprising:

identifying the background component.

3. The method of claim 1 , the condition associated with the brokered event.

4. The method of claim 1 , the signaling performed by an operating system broker component.

5. The method of claim 1 , comprising:

receiving the brokered event.

6. The method of claim 1 , the trigger comprising at least one of:

an event relating to a network activity; or

an event relating to a user activity.

7. The method of claim 1 , the trigger comprising at least one of:

a scheduled event; or

an event relating to a peripheral device.

8. A computer readable storage medium comprising instructions that when executed by a computer, perform operations comprising:

requesting that a brokered event be signaled responsive to an occurrence of a trigger; and

responsive to the signaling, performing background work for an application if a condition is satisfied.

9. The computer readable storage medium of claim 8 , the operations comprising:

using a first piece of code to perform the background work; and

using a second piece of code to implement a foreground component of the application.

10. The computer readable storage medium of claim 9 , the background work not corresponding to the foreground component.

11. The computer readable storage medium of claim 8 , the operations comprising:

specifying the condition.

12. The computer readable storage medium of claim 8 , the operations comprising specifying, to an operating system, the condition.

13. The computer readable storage medium of claim 12 , the application different than the operating system.

14. The computer readable storage medium of claim 8 , the trigger comprising at least one of:

an event relating to a network activity; or

an event relating to a user activity.

15. The computer readable storage medium of claim 8 , the trigger comprising at least one of:

a scheduled event; or

an event relating to a peripheral device.

16. A computer implemented method comprising:

receiving, at an operating system, a request that a background component of an application be executed responsive to an occurrence of an event;

responsive to detecting the occurrence of the event, determining whether a first condition set by the application is satisfied and whether a second condition set by the operating system is satisfied; and

responsive to determining the first condition and the second condition are satisfied, executing the background component.

17. The method of claim 16 , the executing performed responsive to a brokered event signaled by an operating system broker component.

18. The method of claim 16 , the event comprising a brokered event signaled by an operating system broker component.

19. The method of claim 18 , a request that the brokered event be signaled in response to a trigger specifying a third condition to be satisfied prior to signaling the brokered event.

20. The method of claim 16 , comprising:

maintaining state information for use in evaluating the second condition.

Assignments (2)
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 Oct 6, 2011
From: SCHWARTZ, JAMES A., JR.; KISHAN, ARUN U.; NEVES, RICHARD K.; PROBERT, DAVID B.; PULAPAKA, HARI; GEFFLAUT, ALAIN F.
To: MICROSOFT CORPORATION
Reel/Frame 027028/0370 →
Continuity (1)
Related Publication 20130061251A1 · Mar 7, 2013