State governing the performance of optional booting operations
First Claim
1. A method in a computer system for booting a computer system, the method comprising the steps of:
- in conjunction with the beginning of the booting process;
reading from persistent storage a first flag and a second flag, the first flag having either a first state indicating that a previous iteration of the booting process terminated prematurely or a second state indicating that the previous iteration of the booting process did not terminate prematurely, the second flag having either a first state indicating that the performance of diagnostic operations has been expressly requested or a second state indicating that the performance of diagnostic operations has not been expressly requested;
generating a third flag having either a first state indicating that diagnostic operations should be performed during the booting process or a second state indicating that diagnostic operations should not be performed during the booting process based upon the states of the first and second flags as read from persistent storage, the third flag having the first state if either the first flag or the second flag both have the first state, the third flag having the second state if both the first flag and the second flag have the second state;
after the generating step;
updating in persistent storage the first flag to the first state;
updating in persistent storage the second flag to the second state;
for each of one or more diagnostic operations,performing the diagnostic operation if and only if the third flag has the first state; and
in conjunction with the end of the booting process;
updating in persistent storage the first flag to the second state.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed to a facility for performing selected operations as part of a booting process of a computer system only during iterations of the booting process that immediately follow failed iterations of the booting process. At the beginning of the booting process, the facility copies a persistent instance of a flag indicating whether the iteration of the booting process at the current iteration of the booting process immediately follows fail to a temporary instance of the flag. The facility then assigns the persistent instance of the flag to the set condition so that, if the current iteration of the booting process fails before completing, the flag will reflect that the current iteration of the booting process failed. When each selected operation is encountered during the current iteration of the booting process, the facility performs that selected operation only if the temporary instance of the flag is set. If and when the current iteration of the booting process concludes successfully, the facility clears the persistent instance of the flag to reflect that the current iteration of the booting process completed successfully. In a further preferred embodiment, programs, such as the BIOS or the operating system, may set a second flag to explicitly request the performance of the selected operations during the next iteration of the booting process.
74 Citations
16 Claims
-
1. A method in a computer system for booting a computer system, the method comprising the steps of:
-
in conjunction with the beginning of the booting process; reading from persistent storage a first flag and a second flag, the first flag having either a first state indicating that a previous iteration of the booting process terminated prematurely or a second state indicating that the previous iteration of the booting process did not terminate prematurely, the second flag having either a first state indicating that the performance of diagnostic operations has been expressly requested or a second state indicating that the performance of diagnostic operations has not been expressly requested; generating a third flag having either a first state indicating that diagnostic operations should be performed during the booting process or a second state indicating that diagnostic operations should not be performed during the booting process based upon the states of the first and second flags as read from persistent storage, the third flag having the first state if either the first flag or the second flag both have the first state, the third flag having the second state if both the first flag and the second flag have the second state; after the generating step; updating in persistent storage the first flag to the first state; updating in persistent storage the second flag to the second state; for each of one or more diagnostic operations, performing the diagnostic operation if and only if the third flag has the first state; and in conjunction with the end of the booting process; updating in persistent storage the first flag to the second state. - View Dependent Claims (2, 3)
-
-
4. A computer-readable medium whose contents cause a computer system to boot by performing the steps of:
in conjunction with the beginning of the booting process; reading from persistent storage a first indication of whether a previous iteration of the booting process terminated prematurely and a second indication of whether the performance of diagnostic operations has been expressly requested; generating a third indication of whether diagnostic operations should be performed during the booting process based upon the conditions indicated by the first and second indications as read from persistent storage, the third indication indicating that diagnostic operations should be performed if the first indication indicates that the previous iteration of the booting process terminated prematurely or if the second indication indicates that the performance of diagnostic operations has been expressly requested, the third indication indicating that diagnostic operations should not be performed if the first indication indicates that the previous iteration of the booting process did not terminate prematurely and if the second indication indicates that the performance of diagnostic operations has not been expressly requested; after the generating step; updating the first indication to indicate that the previous iteration of the booting process terminated prematurely; updating the second indication to indicate that the performance of diagnostic operations has not been expressly requested; for each of one or more diagnostic operations, performing the diagnostic operation if and only if the third indication indicates that diagnostic operations should be performed; and in conjunction with the end of the booting process; updating the first indication to indicate that the previous iteration of the booting process did not terminate prematurely. - View Dependent Claims (5, 6)
-
7. A method in a computer system for performing selected operations as part of a booting process of the computer system only during iterations of the booting process that immediately follow failed iterations of the booting process, the method comprising the steps of:
-
copying a persistent instance of a flag indicating whether the iteration of the booting process that the current iteration of the booting process immediately follows failed to a temporary instance of the flag; after the copying step, setting the persistent instance of the flag; for each selected operation encountered during the booting process, performing the selected operation only if the temporary instance of the flag is set; at the conclusion of the current iteration of the booting process, clearing the persistent instance of the flag; determining that the previous iteration of the booting process failed based upon a determination that the temporary instance of the flag is set; and in response to the determining step, transmitting a failure report to a product support service.
-
-
8. A method in a computer system for performing selected optional operations during a current iteration of a booting process of the computer system only where such performance was requested since the completion of the previous iteration of the booting process, the method comprising the steps of:
-
initially clearing a flag indicating whether performance of the selected optional operations was requested since the completion of the previous iteration of the booting process; if a request to perform selected optional operations is received between the completion of the previous iteration of the booting process and the beginning of the current iteration of the booting process setting the flag; and for each selected operation encountered during the booting process, performing the selected operation only if the flag is set, wherein a BIOS and an operating system are installed on the computer system, and wherein the setting step is initiated under the control of either the BIOS or the operating system, and wherein selected optional operations are performed by both the BIOS and the operating system when the flag is set, and wherein the performance of selected optional operations are skipped by both the BIOS and the operating system when the flag is not set.
-
-
9. A computer-readable medium whose contents cause a computer system to performing selected optional operations during a current iteration of a booting process of the computer system only where such performance was requested since the completion of the previous iteration of the booting process by:
-
initially clearing a flag indicating whether performance of the selected optional operations was requested since the completion of the previous iteration of the booting process; if a request to perform selected optional operations is received between the completion of the previous iteration of the booting process and the beginning of the current iteration of the booting process, setting the flag; for each selected operation encountered during the booting process, performing the selected operation only if the flag is set, wherein a BIOS and an operating system are installed on the computer system, and wherein the setting step is initiated under the control of either the BIOS or the operating system, and wherein selected optional operations are performed by both the BIOS and the operating system when the flag is set, and wherein the performance of selected optional operations are skipped by both the BIOS and the operating system when the flag is not set.
-
-
10. A computer memory containing a diagnostic state data structure for maintaining a state reflecting the necessity of performing selected diagnostic operations in a computer system, the computer system having a booting process, iterations of which may either be complete successfully or fail to complete successfully, the data structure comprising:
-
a first indicator indicating whether the last attempted iteration of the booting process failed to complete successfully; and a second indicator indicating whether the performance of the selected diagnostic operations has been explicitly requested, such that, if either the first indicator indicates that the last attempted iteration of the booting process failed to complete successfully or the second indicator indicates that the performance of the selected diagnostic operations has been explicitly requested, the selected diagnostic operations may be performed, and such that, if the first indicator indicates that the last attempted iteration of the booting process completed successfully and the second indicator indicates that the performance of the selected diagnostic operations has not been explicitly requested, performance of the selected diagnostic operations may be omitted.
-
-
11. A method in a computer system for booting a computer system, the method comprising the steps of:
-
in conjunction with the beginning of the booting process; reading from persistent storage a first flag and a second flag, the first flag having either a first state indicating that a previous iteration of the booting process terminated prematurely or a second state indicating that the previous iteration of the booting process did not terminate prematurely, the second flag having either a first state indicating that the performance of diagnostic operations has been expressly requested or a second state indicating that the performance of diagnostic operations has not been expressly requested; copying the first flag to a third flag; copying the second flag to a fourth flag; after the copying steps; updating in persistent storage the first flag to the first state; updating in persistent storage the second flag to the second state; for each of one or more of a first type of diagnostic operations, performing the diagnostic operation if and only if the third flag has the first state; for each of one or more of a second type of diagnostic operations, performing the diagnostic operation if and only if the fourth flag has the first state; and in conjunction with the end of the booting process; updating in persistent storage the first flag to the second state.
-
-
12. A computer-readable medium whose contents cause a computer system to boot by performing the steps of:
-
in conjunction with the beginning of the booting process; reading from persistent storage a first indication of whether a previous iteration of the booting process terminated prematurely and a second indication of whether the performance of diagnostic operations has been expressly requested; copying the first indication to a third indication; copying the second indication to a fourth indication; after the generating step; updating the first indication to indicate that the previous iteration of the booting process terminated prematurely; updating the second indication to indicate that the performance of diagnostic operations has not been expressly requested; for each of one or more diagnostic operations of a first type, performing the diagnostic operation if and only if the third indication indicates that a previous iteration of the booting process terminated prematurely; and for each of one or more diagnostic operations of a second type, performing the diagnostic operation if and only if the fourth indication indicates that the performance of diagnostic operations has been expressly requested; and in conjunction with the end of the booting process; updating the first indication to indicate that the previous iteration of the booting process did not terminate prematurely.
-
-
13. A computer-readable medium whose contents cause a computer system to perform selected operations as part of a booting process of the computer system only during iterations of the booting process that immediately follow failed iterations of the booting process by:
-
copying a persistent instance of a flag indicating whether the iteration of the booting process that the current iteration of the booting process immediately follows failed to a temporary instance of the flag; after the copying step, setting the persistent instance of the flag; for each selected operation encountered during the booting process, performing the selected operation only if the temporary instance of the flag is set; at the conclusion of the current iteration of the booting process, clearing the persistent instance of the flag; determining that the previous iteration of the booting process failed based upon a determination that the temporary instance of the flag is set; and in response to the determining step, transmitting a failure report to a product support service.
-
-
14. A generated data signal conveying a diagnostic state data structure for maintaining a state reflecting the necessity of performing selected diagnostic operations in a computer system, the computer system having a booting process, iterations of which may either be complete successfully or fail to complete successfully, the data structure comprising:
-
a first indicator indicating whether the last attempted iteration of the booting process failed to complete successfully; and a second indicator indicating whether the performance of the selected diagnostic operations has been explicitly requested, such that, if either the first indicator indicates that the last attempted iteration of the booting process failed to complete successfully or the second indicator indicates that the performance of the selected diagnostic operations has been explicitly requested, the selected diagnostic operations may be performed, and such that, if the first indicator indicates that the last attempted iteration of the booting process completed successfully and the second indicator indicates that the performance of the selected diagnostic operations has not been explicitly requested, performance of the selected diagnostic operations may be omitted.
-
-
15. A method in a computer system for performing selected optional operations during a current iteration of a booting process of the computer system only where such performance was requested since the completion of the previous iteration of the booting process, the method comprising the steps of:
-
initially clearing a flag indicating whether performance of the selected optional operations was requested since the completion of the previous iteration of the booting process; if a request to perform selected optional operations is received between the completion of the previous iteration of the booting process and the beginning of the current iteration of the booting process, setting the flag; and for each selected operation encountered during the booting process, performing the selected operation only if the flag is set; wherein the setting step is initiated in a manner selected from the group consisting of under the control of an application program installed on the computer system, under the control of a utility program installed on the computer system, as part of original configuration of the computer system at a time before the first iteration of the booting process occurs, in conjunction with the installation of a new hardware device, in conjunction with the installation of additional software, after a predetermined number of successfully completed iterations of the booting process, and after a predetermined period of time has elapsed.
-
-
16. A computer-readable medium whose contents cause a computer system to performing selected optional operations during a current iteration of a booting process of the computer system only where such performance was requested since the completion of the previous iteration of the booting process by:
-
initially clearing a flag indicating whether performance of the selected optional operations was requested since the completion of the previous iteration of the booting process; if a request to perform selected optional operations is received between the completion of the previous iteration of the booting process and the beginning of the current iteration of the booting process, setting the flag; and for each selected operation encountered during the booting process, performing the selected operation only if the flag is set; wherein the setting step is initiated in a manner selected from the group consisting of under the control of an application program installed on the computer system, under the control of a utility program installed on the computer system, as part of original configuration of the computer system at a time before the first iteration of the booting process occurs, in conjunction with the installation of a new hardware device, in conjunction with the installation of additional software, after a predetermined number of successfully completed iterations of the booting process, and after a predetermined period of time has elapsed.
-
Specification