Tracking and managing failure-susceptible operations in a computer system
First Claim
1. A method in a computer system for monitoring and managing the invocation of failure-susceptible operations during the booting process of an operating system, the method using a stack of entries each identifying an operation in progress, the stack'"'"'s topmost element being maintained persistently, the method comprising the steps of, until the completion of the booting process:
- at the beginning of the booting process, if the stack is not empty;
determining that the execution of the operating system terminated prematurely as the result of the failure of the operation identified by the topmost stack entry, and indicating that the operation identified by the topmost stack entry is prohibited;
before performing a failure-susceptible operation;
if the operation is indicated to be prohibited, prohibiting the performance of the operation, and if the operation is not indicated to be prohibited, adding to the top of the stack an entry identifying the operation;
after completing a failure-susceptible operation, removing from the stack the entry identifying the operation; and
restarting the booting process after the operating system terminates prematurely during the booting process.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed to tracking and managing failure-susceptible operations in a computer system. In a preferred embodiment, the performance of failure-susceptible operations is monitored, such that, when execution of the operating system is interrupted then restarted, it can be determined which failure-susceptible operation was in progress at the point at which execution of the operating system was interrupted. In one embodiment, this monitoring is performed using a stack data structure. When a failure-susceptible operation is invoked, an entry is pushed on the stack identifying the invoked failure-susceptible operation. On the other hand, when a failure-susceptible operation is completed, the entry identifying the completed failure-susceptible operation is popped off the stack. The failure-susceptible operation that was in progress at the point at which execution was last interrupted is then determined to be the failure-susceptible operation identified by the top entry on the stack when execution resumes. In a further preferred embodiment, subsequent attempted invocation of the operation determined to be in progress when execution was interrupted is inhibited.
-
Citations
32 Claims
-
1. A method in a computer system for monitoring and managing the invocation of failure-susceptible operations during the booting process of an operating system, the method using a stack of entries each identifying an operation in progress, the stack'"'"'s topmost element being maintained persistently, the method comprising the steps of, until the completion of the booting process:
-
at the beginning of the booting process, if the stack is not empty;
determining that the execution of the operating system terminated prematurely as the result of the failure of the operation identified by the topmost stack entry, and indicating that the operation identified by the topmost stack entry is prohibited;
before performing a failure-susceptible operation;
if the operation is indicated to be prohibited, prohibiting the performance of the operation, and if the operation is not indicated to be prohibited, adding to the top of the stack an entry identifying the operation;
after completing a failure-susceptible operation, removing from the stack the entry identifying the operation; and
restarting the booting process after the operating system terminates prematurely during the booting process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
before performing a failure-susceptible operation;
if the operation is indicated to be prohibited, prohibiting the performance of the operation, and if the operation is not indicated to be prohibited, adding to the top of the stack an entry identifying the operation; and
after completing a failure-susceptible operation, removing from the stack the entry identifying the operation.
-
-
9. A method in a computer system for providing an operating system service for tracking the completion of failure-susceptible operations, the method comprising the steps of, under control of an operating system:
-
during the execution of the operating system, monitoring the performance of failure-susceptible operations; and
when the operating system is restarted, based upon the results of the monitoring step, determining which failure-susceptible operation was in progress at the point at which execution of the operating system was last interrupted. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
when a failure-susceptible operation is invoked, pushing on the stack an entry identifying the invoked failure-susceptible operation; and
when a failure-susceptible operation is completed, popping off of the stack the entry identifying the invoked failure-susceptible operation, and wherein the determining step determines that the failure-susceptible operation identified by the top entry on the stack when the operating system is restarted was in progress at the point at which execution of the operating system was last interrupted.
-
-
12. The method of claim 9 wherein each operation is identified using a unique identifier to facilitate the differentiation of operations during the monitoring step.
-
13. The method of claim 12 wherein the identifiers used to identify each operation are universally unique identifiers each containing a time identifier and a computer system identifier.
-
14. The method of claim 12 wherein individual invocations of operations are identified using instance data to facilitate the differentiation of different invocations of the same operation during the monitoring step.
-
15. The method of claim 12, further comprising the step of, in response to the determining step invoking code relating to the determined operation on the basis of the unique identifier for the determined operation.
-
16. The method of claim 15 wherein the invoking step invokes code for describing the determined operation.
-
17. The method of claim 15 wherein the invoking step invokes code for remediating the failure of the determined operation.
-
18. A computer system for providing an operating system service for tracking the completion and managing the invocation of failure-susceptible operations, comprising:
-
an operation completion monitor for monitoring the performance of failure-susceptible operations during the execution of the operating system;
an operation identification subsystem for determining, when the operating system is restarted, based upon the output of the operation completion monitor, which failure-susceptible operation was in progress at the point at which execution of the operating system was last interrupted; and
an operation inhibitor for inhibiting a subsequent attempted invocation of the operation determined by the operation identification subsystem to be in progress at a point at which execution of the operating system was interrupted.
-
-
19. A computer-readable medium whose contents cause a computer system to provide an operating system service for tracking the completion and managing the invocation of failure-susceptible operations by performing the steps of:
-
during the execution of the operating system, monitoring the performance of failure-susceptible operations;
when the operating system is restarted, based upon the results of the monitoring step, determining which failure-susceptible operation was in progress at the point at which execution of the operating system was last interrupted; and
inhibiting a subsequent attempted invocation of the operation determined to be in progress at the point at which execution of the operating system was interrupted. - View Dependent Claims (20, 21, 22, 23)
when a failure-susceptible operation is invoked, pushing on the stack an entry identifying the invoked failure-susceptible operation; and
when a failure-susceptible operation is completed, popping off of the stack the entry identifying the invoked failure-susceptible operation, and wherein the determining step determines that the failure-susceptible operation identified by the top entry on the stack when the operating system is restarted was in progress at the point at which execution of the operating system was last interrupted.
-
-
21. The computer-readable medium of claim 19 wherein the contents of the computer-readable medium cause the computer system to further perform the step of identifying each operation using a unique identifier to facilitate the differentiation of operations during the monitoring step.
-
22. The computer-readable medium of claim 21 wherein the contents of the computer-readable medium cause the computer system to further perform the step of identifying individual invocations of operations using instance data to facilitate the differentiation of different invocations of the same operation during the monitoring step.
-
23. The computer-readable medium of claim 21 wherein the contents of the computer-readable medium cause the computer system to further perform the step of, in response to the determining step invoking code relating to the determined operation on the basis of the unique identifier for the determined operation.
-
24. A method in a computer system for identifying operations that fail during the process of booting the computer system, the method comprising the steps of, until the completion of the booting process:
-
(a) at the beginning of the booting process, if a failure-susceptible operation is persistently identified as being in progress, identifying the failure-susceptible operation persistently identified as being in progress as failed since the last time that the operating system booting process successfully completed;
(b) while a failure-susceptible operation is being performed as part of the booting process, persistently identifying the operation as being in progress; and
(c) when the booting process is interrupted by the failure of an operation, repeating the booting process. - View Dependent Claims (25, 26, 27, 28)
(d) when the booting process is completed, automatically identifying the operations identified as failed since the last time that the operating system booting process successfully completed as failed to prohibit the future invocation of the operations identified as failed since the last time that the operating system booting process successfully completed.
-
-
26. The method of claim 24, further comprising the step of:
(d) when the booting process is completed, displaying a textual description of each of the operations determined to have failed since the last time that the operating system booting process successfully completed.
-
27. The method of claim 26, further comprising the steps of:
-
(e) displaying a prompt to either prohibit the future invocation of the operations identified as failed since the last time that the operating system booting process successfully completed or permit the future invocation of the operations identified as failed since the last time that the operating system booting process successfully completed;
(f) receiving user input to prohibit the future invocation of the operations identified as failed since the last time that the operating system booting process successfully completed; and
(g) in response to step (f), identifying the operations identified as failed since the last time that the operating system booting process successfully completed as failed to prohibit the future invocation of the operations identified as failed since the last time that the operating system booting process successfully completed.
-
-
28. The method of claim 27, further comprising the steps of:
-
(h) receiving user input to bypass steps (d)-(g); and
(i) in response to step (h), automatically identifying the operations identified as failed since the last time that the operating system booting process successfully completed as failed to prohibit the future invocation of the operations identified as failed since the last time that the operating system booting process successfully completed without performing steps (d)-(g).
-
-
29. A computer memory containing a data structure for representing failure-susceptible operations attempted but not yet completed during the execution of a program, the data structure comprising a last-in-first-out stack of entries, each entry uniquely identifying a failure-susceptible operation that has been attempted but has not yet been completed,
such that an entry identifying a newly-attempted failure-susceptible operation may be added to the stack of entries, and such that an entry identifying a newly-completed failure-susceptible operation may be removed from the stack of entries, and such that, if the stack is not empty of entries when the execution of the program concludes, the failure-susceptible operation identified by the entry on the top of the stack may be determined to have not completed successfully.
Specification