IP Library Granted Patent US 9,229,770
Granted Patent B2
US 9,229,770 · App. 13/235,129 · Granted Jan 5, 2016

Invoking timed iterator for executing tasks within timeout constraint without spawning new thread

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,229,770
App. No.
13/235,129
Granted
Jan 5, 2016
Kind
B2
Abstract

A computer implemented method for processing tasks is disclosed. The method includes invoking a timed iterator, during an event loop pass, without spawning a new thread, wherein the invoking includes passing a task list and a timeout constraint to the timed iterator. The method further includes executing one or more tasks in the task list for a period of time as specified in the timeout constraint, and relinquishing program control to a caller after the period of time.

Claims (41)

1. A computer implemented method for processing tasks, comprising:

invoking a timed iterator by a caller in an execution thread, during a pass through an event loop, without spawning a new thread, the invoking including:

passing a task list and a timeout constraint to the timed iterator, the task list being an enumerable object including one or more child objects; and

passing timeout code to the timed iterator;

executing, by the timed iterator in the execution thread, the one or more child objects in the task list for a period of time as specified in the timeout constraint, the executing comprising invoking a method of at least one of the child objects;

executing the timeout code after the period of time and prior to relinquishing program control to the caller, wherein the timeout code includes at least one of a script, programming instructions or a callback address of a method call for the timed iterator to schedule remaining child objects in the task list to be performed in a next pass through the event loop; and

relinquishing program control to the caller in the execution thread after the period of time.

2. The computer implemented method of claim 1 , wherein the invoking further includes passing a wait constraint to the timed iterator.

3. The computer implemented method of claim 2 , wherein the timed iterator is configured to wait for a time specified in the wait constraint before a next pass through the event loop.

4. The computer implemented method of claim 1 , wherein the timed iterator is configured to execute the timeout code prior to the relinquishing.

5. The computer implemented method of claim 1 , wherein the timed iterator is configured to maintain a log file comprising information for monitoring results of prior executions of the timed iterator.

6. The computer implemented method of claim 1 , wherein the method is performed by a mobile device.

7. The computer implemented method of claim 1 , wherein the method is performed by a mobile radio communication device.

8. A mobile computing device, comprising:

a processor;

an operating system executable by the processor; and

a user interface controller executable in a thread of the operating system, the user interface controller including an event handler and a timed iterator, the user interface controller configured to perform operations comprising:

invoking the timed iterator by the event handler in the execution thread during a pass through an event loop, without spawning a new thread, the invoking including:

passing a task list and a timeout constraint to the timed iterator, the task list being an enumerable object including one or more child objects; and

passing timeout code to the timed iterator;

executing, by the timed iterator in the execution thread, the one or more child objects in the task list for a period of time as specified in the timeout constraint, the executing comprising invoking a method of at least one of the child objects;

executing the timeout code after the period of time and prior to relinquishing program control to the caller, wherein the timeout code includes at least one of a script, programming instructions or a callback address of a method call for the timed iterator to schedule remaining child objects in the task list to be performed in a next pass through the event loop; and

relinquishing program control by the timed iterator to the event handler after the period of time.

9. The mobile computing device of claim 8 , wherein the invoking further includes passing a wait constraint to the timed iterator.

10. The mobile computing device of claim 9 , wherein the timed iterator is configured to wait for a time specified in the wait constraint before a next pass through the event loop.

11. The mobile computing device of claim 8 , wherein the timed iterator is configured to execute the timeout code prior to the relinquishing.

12. The mobile computing device of claim 8 , wherein the timed iterator is configured to maintain a log file comprising information for monitoring results of prior executions of the timed iterator.

13. The mobile computing device of claim 8 further comprising a battery configured to power the processor.

14. The mobile computing device of claim 8 further comprising a battery configured to power the processor and an antenna to permit radio communication.

15. A non-transitory computer-readable storage medium containing a program which, when executed, performs operations comprising:

invoking a timed iterator by a caller in an execution thread, during a pass through an event loop, without spawning a new thread, the invoking including:

passing a task list and a timeout constraint to the timed iterator, the task list being an enumerable object including one or more child objects; and

passing timeout code to the timed iterator;

executing, by the timed iterator in the execution thread, the one or more child objects in the task list for a period of time as specified in the timeout constraint, the executing comprising invoking a method of at least one of the child objects;

executing the timeout code after the period of time and prior to relinquishing program control to the caller, wherein the timeout code includes at least one of a script, programming instructions or a callback address of a method call for the timed iterator to schedule remaining child objects in the task list to be performed in a next pass through the event loop; and

relinquishing program control to the caller in the execution thread after the period of time.

16. The computer-readable storage medium of claim 15 , wherein the invoking further includes passing a wait constraint to the timed iterator.

17. The computer-readable storage medium of claim 16 , wherein the timed iterator is configured to wait for a time specified in the wait constraint before a next pass through the event loop.

18. The computer-readable storage medium of claim 15 , wherein, the timed iterator is configured to execute the timeout code prior to the relinquishing.

19. The computer-readable storage medium of claim 15 , configured to be used with a mobile, battery powered device.

20. The computer-readable storage medium of claim 15 , configured to be used with a mobile, battery powered radio communication device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2020
From: SKYPE
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 054586/0001 →
CHANGE OF NAME Recorded Jul 31, 2012
From: SKYPE LIMITED
To: SKYPE
Reel/Frame 028691/0596 →