Software sanity monitor
AssigneeNCR Corporation
InventorsRalph E. Frazier, Denis M. Blanford, William M. Belknap, Theodore Heske, III
Life of this patent
Estimating the term…
Abstract
Disclosed is a Software Sanity Monitor for automatically detecting and remedying software lock-up conditions without user intervention. Users often refer to these conditions as “hangs” or “forever loops”. Although the Software Sanity Monitor uses the operating software's information, it is designed to execute independent of the operating system software; thereby, eliminating reliance on a “sane” operating system. If a “hang” condition is detected, the Software Sanity Monitor will automatically restart the system after logging the failure and, optionally, notify the user or host system.
Claims19
A computer-implemented method of preventing a computer system lock-up, comprising:
- starting a first timer;
- monitoring a second timer and determining when the second timer periodic time interval elapses;
- sampling operating software scheduling information of the computer system to verify lower priority programs have continued to run;
- if the lower priority programs have continued to run, restarting the first timer such that the first timer does not interrupt the computer system;
- restarting the second timer;
- if the lower priority programs have not continued to run, allowing the first timer to expire and interrupt the computer system;
- and
- taking control of the computer system by a monitoring program.
An article including a computer readable medium having stored thereon a plurality of sequences of instructions, said plurality of sequences of instructions including sequences of instructions which, when executed by a processor, cause said processor to perform the steps of:
- starting a first timer;
- monitoring a second timer and determining when the second timer periodic time interval elapses;
- sampling operating software scheduling information of the computer system to verify lower priority programs have continued to run;
- if the lower priority programs have continued to run, restarting the first timer such that the first timer does not interrupt the computer system;
- restarting the second timer;
- if the lower priority programs have not continued to run, allowing the first timer to expire and interrupt the computer system;
- and
- taking control of the computer system by a monitoring program.
A computer system, comprising:
- a processor;
- and
- a memory coupled to said processor, the memory having stored therein sequences of instructions, which, when executed by said processor, causes said processor to perform the steps of:
- starting a first timer;
- monitoring a second timer and determining when the second timer periodic time interval elapses;
- sampling operating software scheduling information of the computer system to verify lower priority programs have continued to run;
- if the lower priority programs have continued to run, restarting the first timer such that the first timer does not interrupt the computer system;
- restarting the second timer;
- if the lower priority programs have not continued to run, allowing the first timer to expire and interrupt the computer system;
- and
- taking control of the computer system by a monitoring program.
Dependencies are inferred from the claim text.