System and method for scheduling tasks for execution
First Claim
Patent Images
1. A method for scheduling tasks for execution, comprising:
- ordering by a computer processor tasks that are scheduled to execute at a scheduled time in a queue;
providing by a computer processor a timer thread for monitoring status of tasks in said queue and for selectively dispatching tasks;
providing by a computer processor a guard thread for monitoring status of tasks in said queue and for selectively creating timer threads;
operating by a computer processor said guard thread responsive to a next task in said queue becoming ready for execution at a scheduled time while a first timer thread is still processing a prior task to create a new timer thread for dispatching said next task at the scheduled time and marking said first timer thread for closure;
operating by a computer processor said guard thread for selectively setting and resetting a boolean value in timer threads, with said boolean value being set in a timer thread and said boolean value being reset to mark a prior timer thread for closure; and
responsive to said prior task completing, closing by a computer processor said first timer thread,wherein the method being performed by a data processing system having at least one computer processor.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for scheduling tasks for execution includes a queue of tasks ordered by scheduled time for execution. A timer thread monitors status of tasks in the queue and selectively dispatches tasks. A guard thread monitors status of tasks in the queue and selectively creates timer threads. The guard thread is responsive to a next task in the queue becoming ready for execution while a first timer thread is still processing a prior task to create a new timer thread to dispatch the next task and mark the first timer thread for closure. Thereafter, the first timer thread closes responsive to the prior task completing.
-
Citations
15 Claims
-
1. A method for scheduling tasks for execution, comprising:
-
ordering by a computer processor tasks that are scheduled to execute at a scheduled time in a queue; providing by a computer processor a timer thread for monitoring status of tasks in said queue and for selectively dispatching tasks; providing by a computer processor a guard thread for monitoring status of tasks in said queue and for selectively creating timer threads; operating by a computer processor said guard thread responsive to a next task in said queue becoming ready for execution at a scheduled time while a first timer thread is still processing a prior task to create a new timer thread for dispatching said next task at the scheduled time and marking said first timer thread for closure; operating by a computer processor said guard thread for selectively setting and resetting a boolean value in timer threads, with said boolean value being set in a timer thread and said boolean value being reset to mark a prior timer thread for closure; and responsive to said prior task completing, closing by a computer processor said first timer thread, wherein the method being performed by a data processing system having at least one computer processor. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system for scheduling tasks for execution, comprising:
a computer processor coupled to a memory wherein the computer processor is programmed to perform; a queue of tasks ordered by scheduled time for execution; a timer thread for monitoring status of tasks in said queue and for selectively dispatching tasks according to the scheduled time for execution; a guard thread for monitoring status of tasks in said queue and for selectively creating timer threads; said guard thread responsive to a next task in said queue becoming ready for execution at a scheduled time while a first timer thread is still processing a prior task for creating a new timer thread to dispatch said next task at the scheduled time and for marking said first timer thread for closure; said guard thread selectively setting and resetting a boolean value in timer threads, with said boolean value being set in a timer thread and said boolean value being reset to mark a prior timer thread for closure; and said first timer thread closing responsive to said prior task completing. - View Dependent Claims (7, 8, 9, 10)
-
11. A computer program product for scheduling tasks for execution, said computer program product comprising:
-
a computer readable storage medium; first program instructions to order tasks in a queue that are scheduled to execute at a scheduled time; second program instructions to provide a timer thread for monitoring status of tasks in said queue and to selectively dispatch tasks; third program instructions to provide a guard thread for monitoring status of tasks in said queue and to selectively open timer threads; fourth program instructions to operate said guard thread responsive to a next task in said queue becoming ready for execution at a scheduled time while a first timer thread is still processing a prior task to create a new timer thread for dispatching said next task at the schedule time and to mark said first timer thread for closure; fifth program instructions to operate said guard task for selectively setting and resetting a boolean value in timer threads, with said boolean value being set in a timer thread and said boolean value being reset to mark a prior timer thread for closure; sixth program instructions responsive to said prior task completing, to close said first timer thread; and
whereinsaid first, second, third, fourth, fifth and sixth program instructions are recorded on said computer readable storage medium. - View Dependent Claims (12, 13, 14, 15)
-
Specification