Hardware implementation of an application-level watchdog timer
First Claim
1. A computer system, comprising at least one processor, a system memory coupled to said processor, at least one input/output device coupled to said processor, and a watchdog timer device, wherein the computer system executes:
- an operating system with at least two protection layers;
one or more key computer applications; and
an application watchdog driver that monitors user designated computer applications for periodic messages;
wherein if the watchdog driver receives a periodic message from all user-designated computer applications in a predetermined period of time, the watchdog driver delivers a command to clear the watchdog timer device.
2 Assignments
0 Petitions
Accused Products
Abstract
An application watchdog, comprising a dedicated watchdog counter in the hardware layer and a watchdog driver operating in the kernel mode layer of the computer operating system. The driver comprises a system thread configured to monitor a plurality of designated user applications operating in the user mode of the operating system and a message passing interface for receiving periodic signals from each of the user applications. The driver also uses an interface for transmitting timer reset commands to the dedicated watchdog counter. If the system thread receives a message from each of the designated user applications within an allotted period of time, the watchdog driver sends a timer reset command to the dedicated watchdog counter. Otherwise, the dedicated watchdog counter fails to receive the reset command and subsequently issues a system reset command. Early warning signals may be issued prior to system reset to alert system management.
85 Citations
31 Claims
-
1. A computer system, comprising at least one processor, a system memory coupled to said processor, at least one input/output device coupled to said processor, and a watchdog timer device, wherein the computer system executes:
-
an operating system with at least two protection layers;
one or more key computer applications; and
an application watchdog driver that monitors user designated computer applications for periodic messages;
wherein if the watchdog driver receives a periodic message from all user-designated computer applications in a predetermined period of time, the watchdog driver delivers a command to clear the watchdog timer device. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An application watchdog, comprising a dedicated watchdog counter in the hardware layer of a computer system, and a watchdog driver operating in the kernel mode of the computer operating system, the watchdog driver comprising:
-
a system thread configured to monitor a plurality of designated user applications operating in the user mode of the computer operating system;
a message passing interface for receiving periodic signals from each of the user applications; and
a communication interface for transmitting a timer reset command to the dedicated watchdog counter;
wherein if the system thread receives a message from each of the designated user applications within an allotted period of time, the watchdog driver sends a timer reset command to the dedicated watchdog counter and wherein if the system thread does not receive a message from each of the designated user applications within the allotted period of time, the watchdog driver does not send a timer reset command to the dedicated watchdog counter. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of detecting and restarting an unresponsive computer application, comprising:
-
executing the application in a first protective layer of a computer operating system;
executing an application watchdog driver in a second, more protected, protective layer of the computer operating system;
establishing a message passing interface between the application and the watchdog driver;
periodically transmitting signals from the application to the message passing interface;
executing a system thread in the watchdog driver that is configured to monitor the message passing interface for the periodic signals from said application or other designated applications; and
using a dedicated watchdog timer device to count from a programmable initial value to a final system reset value;
wherein if the system thread detects a periodic signal from the application before the watchdog timer counts to the final system reset value, the watchdog driver initiates a command to the watchdog timer to reset the watchdog timer to the initial value and wherein if the system thread fails to detect a periodic signal from the application before the watchdog timer counts to the final system reset value, the watchdog timer initiates a command to restart the computer system. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. A computer system, comprising:
-
an operating system with at least two protection layers;
one or more computer applications; and
at least two watchdog drivers;
wherein a first of the plurality of watchdog drivers is configured to monitor the operating system for periodic messages and a second of the plurality of watchdog drivers is configured to monitor the computer applications for periodic messages; and
wherein if the second watchdog driver receives a periodic message from the computer applications in a predetermined period of time, the second watchdog driver delivers a command to clear the second of the plurality of watchdog timer devices. - View Dependent Claims (24, 25, 26)
-
-
27. A computer server, comprising:
-
a central processing unit (“
CPU”
) configured to execute an operating system and key, designated user applications;
a system memory coupled to said CPU;
an input/output processor (“
IOP”
) configured to control server management architecture;
a system watchdog device configured to receive periodic messages from the operating system; and
an application watchdog device configured to receive periodic messages from the user applications;
wherein if either the system watchdog device or the application watchdog device does not receive a periodic message for a designated period of time, the watchdog device that does not receive the periodic messages initiates a command to the CPU to reset the server. - View Dependent Claims (28, 29, 30, 31)
-
Specification