Fault tolerant task dispatching
First Claim
Patent Images
1. A microcontroller for controlling a plurality of devices through device service routines, comprising:
- a dispatcher to schedule the plurality of device service routines for execution;
a detector to detect when a device service routine fails to complete execution within a specified time period; and
a circuit to terminate the failed device service routine and to dispatch another of the plurality of the device service routines.
2 Assignments
0 Petitions
Accused Products
Abstract
A fault tolerant task dispatching technique schedules a plurality of tasks, monitors the progress of each task on a periodic basis, detects when a task has failed, and initializes a failed task in a manner that does not interfere with the execution of any non-failed task. Task granularity, afforded by the fault tolerant dispatch technique, allows each task (device service routine) to be designed substantially independently of any other task. This, in turn, can ease the design and implementation of individual tasks as well as their integration into a computer system.
-
Citations
27 Claims
-
1. A microcontroller for controlling a plurality of devices through device service routines, comprising:
-
a dispatcher to schedule the plurality of device service routines for execution;
a detector to detect when a device service routine fails to complete execution within a specified time period; and
a circuit to terminate the failed device service routine and to dispatch another of the plurality of the device service routines. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An interrupt service method comprising:
-
receiving an interrupt;
adjusting a timer value, the timer value associated with a device service routine;
initializing an interrupt timer to generate the interrupt at a fixed time interval;
marking the device service routine as failed if the adjusted timer value is a specified value; and
resuming execution of the device service routine if the adjusted timer value is not the specified value. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13)
-
-
14. A fault tolerant task dispatching method comprising:
-
identifying a current task from a plurality of tasks, each task associated with a timer value and information indicating whether the task is executing and whether the task is failed;
initializing the current task if it is indicated as failed;
identifying a next task; and
scheduling the next task if the timer value associated with the next task is a specified value. - View Dependent Claims (15, 16, 17, 18, 19, 20)
executing an initialization routine associated with the failed task;
setting a timer value associated with the failed task; and
indicating the failed task as idle.
-
-
18. The method of claim 17, wherein the timer value is greater than zero.
-
19. The method of claim 14, wherein scheduling comprises:
-
executing a task initialization routine associated with the next task;
setting a timer value associated with the next task;
indicating the next task as executing; and
executing a device service routine associated with the next task.
-
-
20. The method of claim 19, wherein the timer value is between approximately 1 millisecond and approximately 10 milliseconds.
-
21. A program storage device, readable by a computer system, having instructions stored thereon for causing the computer system to:
-
identify a current task from a plurality of tasks, each task associated with a timer value and information indicating whether the task is executing and whether the task is failed;
initialize the current task if it is indicated as failed;
identify a next task; and
schedule the next task if the timer value associated with the next task is a specified value. - View Dependent Claims (22, 23, 24, 25, 26, 27)
execute an initialization routine associated with the failed task;
set a timer value associated with the failed task; and
indicate the failed task as idle.
-
-
25. The program storage device of claim 24, wherein the timer value is greater than zero.
-
26. The program storage device of claim 21, wherein instructions to schedule include instructions to:
-
execute a task initialization routine associated with the next task;
set a timer value associated with the next task;
indicate the next task as executing; and
execute a device service routine associated with the next task.
-
-
27. The program storage device of claim 26, wherein the timer value is between approximately 1 millisecond and approximately 10 milliseconds.
Specification