Fault tolerant task dispatching

Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C714S006130, C714S038110, C714S047300, C709S241000, C710S266000

Reexamination Certificate

active

06182238

ABSTRACT:

BACKGROUND
The invention relates generally to a fault tolerant task dispatcher.
Embedded controllers are a general class of micro controllers used to support original equipment manufacturer (OEM) specific hardware and software. Typically used in mobile computing platforms (e.g., notebook computers), micro controllers process signals to and from a variety of OEM devices such as keyboards, pointing devices, and thermal management systems. Modem micro controllers are single chip computers that include a central processing unit, read only memory, random access memory, communication ports, digital-to-analog and analog-to-digital converters, and a relatively large number of input-output ports. One function of a microcontroller is to off-load the computational resources (e.g., processor time) used to service an OEM device (e.g., a keyboard) from a computer system's host processor. One way a microcontroller provides this capability is through the execution of a series of device service routines known as a tasks. As shown in Table ZZ, a microcontroller continually executes a single thread wherein a watchdog timer (coupled to generate a microcontroller hardware reset operation when it expires) is repeatably reset while waiting for a device service routine to indicate it has completed. This approach may detect a hardware fault (e.g., microcontroller failing to execute any instructions), but would not detect if a device service routine (or the device itself) has failed.
TABLE ZZ
One Method of Processing Tasks
Task_Code_Label:
:
Reload Watchdog Timer
:
Check for Event from device-N
Loop at Task_Code_Label Until Event
Another way a microcontroller may off-load a host processor is shown in Table YY. In this approach, a multi-threaded environment allows a dispatcher thread and a task thread to execute separately from one another. The dispatcher thread schedules the execution of each device service routine in a round robin fashion, and is invoked every time a dispatch timer expires. When invoked, the dispatcher reloads a watchdog timer and then returns control to a specified task thread. The task thread loops waiting for its associated service routine to complete. As in the prior example, this approach would not detect if a device service routine (or the device itself) has failed.
TABLE YY
Another Method of Processing Tasks
Dispatcher:
:
Reload Watchdog Timer
:
Return to Task Execution
Task_Code_Label
:
Check for Event from device-N
Loop at Task_Code_Label Until Event
As evidenced by the preceding examples, a problem in many micro controllers is that if one task fails to terminate, the microcontroller becomes incapable of executing any further instructions (i.e., it is “hung”). This type of failure can force an end-user to power cycle the entire computer system (of which the microcontroller is but one component) in order to place it back into an operational state. Accordingly, there is a need for a dispatcher routine that is tolerant of one or more faults.
SUMMARY
In general, embodiments of the invention describe a microcontroller and method to dispatch tasks in a fault tolerant manner. One embodiment provides an interrupt service method that receives an interrupt, adjusts a plurality of timer values whose values are above a specified threshold (where each timer value is associated with one of a plurality of tasks), initializing a timer to generate the interrupt at a fixed time interval, and if a timer value associated with a task marked as executing is a specified value, then indicating that task as failed, else if a timer value associated with a task marked as executing is not the specified value, then resuming execution of the task marked as executing.
In another embodiment, a fault tolerant task dispatcher schedules a plurality of tasks for execution, monitors whether a task fails to complete execution, and initializes a task that is determined not to have completed execution within a specified time without interfering with the execution of another of said plurality of tasks.


REFERENCES:
patent: 4356546 (1982-10-01), Whiteside et al.
patent: 4628158 (1986-12-01), Rubin
patent: 4894828 (1990-01-01), Novy et al.
patent: 5091847 (1992-02-01), Hebermann
patent: 5581692 (1996-12-01), Nevitt
patent: 5892893 (1999-04-01), Hanf et al.
patent: 6009370 (1999-12-01), Minowa et al.
patent: 09091170A (1997-04-01), None

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Fault tolerant task dispatching does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Fault tolerant task dispatching, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Fault tolerant task dispatching will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2496351

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.