The present invention is directed to a bios level and application level recovery of an information handling system. A method for recovering from a failure of an information handling system may include monitoring an information handling system, the information handling system utilizing at least one item of software. Failure of at least one item of software utilized by the information handling system is detected and an application level component of a recovery utility to correct the detected failure is initiated. The initiated application level component of the recovery utility is at least one of unsuccessful in correcting the detected failure and unavailable, a bios level component of the recovery utility begins a recovery process.
|
21. A system for recovering from a failure of an information handling system, comprising:
means for monitoring an operational information handling system, the information handling system utilizing at least one item of software;
means for monitoring at least one item of software;
means for detecting failure of the at least one item of software utilized by the information handling system, said means for detecting comprising a bios level monitoring means;
means for initiating an application level means for software recovery to correct the detected failure;
means for detecting whether the application level means for software recovery utility failed to correct the detected failure; and
means for initiating a bios level means for software recovery if the initiated application level software recovery means is at least one of unsuccessful in correcting the detected failure and unavailable.
1. A method for recovering from a failure of an information handling system, comprising:
monitoring an operational information handling system, the information handling system utilizing at least one item of software;
monitoring the at least one item of software;
detecting failure of the at least one item of software utilized by the information handling system, wherein the failure of the at least one item of software is detected utilizing a bios level monitoring component of a recovery utility;
initiating an application level component of the recovery utility to correct the detected failure; and
detecting whether the application level component of the recovery utility failed to correct the detected failure;
wherein if the initiated application level component of the recovery utility is at least one of unsuccessful in correcting the detected failure and unavailable, initiating a bios level recovery component of the recovery utility to begin a recovery process.
11. A system for recovering from a failure of an information handling system, comprising:
a memory suitable for storing a program of instructions; and
a processor communicatively coupled to the memory, wherein the program of instructions configures the processor to
monitor the information handling system, the information handling system being operational and utilizing at least one item of software;
monitor the at least one item of software;
detect failure of the at least one item of software utilized by the information handling system, wherein the failure of the at least one item of software is detected utilizing a bios level monitoring component of a recovery utility;
initiate an application level component of the recovery utility to correct the detected failure; and
detect whether the application level component of the recovery utility failed to correct the detected failure;
wherein if the initiated application level component of the recovery utility is at least one of unsuccessful in correcting the detected failure and unavailable, initiating a bios level recovery component of the recovery utility to begin a recovery process.
2. The method as described in
3. The method as described in
4. The method as described in
5. The method as described in
6. The method as described in
7. The method as described in
8. The method as described in
9. The method as described in
10. The method as described in
12. The system as described in
13. The system as described in
14. The system as described in
15. The system as described in
16. The system as described in
17. The system as described in
18. The system as described in
19. The system as described in
20. The system as described in
22. The system as described in
23. The system as described in
|
The present invention generally relates to the field of information handling systems, and particularly to a system and method for application level, such as operating systems and programs, and BIOS level disaster recovery in an information handling system.
Software failure of an information handling system is one of the most troublesome and problematic hindrances to full consumer satisfaction of the information handling system. Operating system (OS) failures, application crashes and executable errors may interrupt workflow in both home and business settings, causing a great expense in time and money for the consumer.
For example, in the case of a program failure, a user may be required to manually reinstall the application, which may involve locating removable media on which the program is stored, engage in an involved installation process, as well as configuring the program as previously set-up by the consumer, not to mention the actual loss of the data that was being manipulated by the consumer at the time of failure.
In the instance of an operating system failure, recovery may be even more challenging. Loss of an operating system may not only result in problems with the operating system itself, but also with application utilizing the operating system. Thus, an operating system failure may proliferate into other applications, thereby causing an even greater challenge to correct. Further, corrective actions taken to reinstall an operating system may result in loss of system settings, as well as require reinstallation of other programs on the information handling system that may become corrupted.
Therefore, there is a need for improved systems and methods for recovery of software of an information handling system.
Accordingly, the present invention is directed to a BIOS level and application level recovery of an information handling system. By utilizing the present invention, successive methods of software recovery may be implemented in a manner targeted to restore operation of the system efficiently. Thus, if a failure is detected, which may include receiving a report of a software failure, a less drastic approach may be attempted, such as “patching” the software, before a more drastic approach is implemented, such as a “scorched earth” recovery.
In a first aspect of the present invention, a method for recovering from a failure of an information handling system includes monitoring an information handling system, the information handling system utilizing at least one item of software. Failure of at least one item of software utilized by the information handling system is detected and an application level component of a recovery utility to correct the detected failure is initiated. If the initiated application level component of the recovery utility is at least one of unsuccessful in correcting the detected failure and unavailable, a BIOS level component of the recovery utility begins a recovery process.
In a second aspect of the present invention, a system for recovering from a failure of an information handling system includes a memory suitable for storing a program of instructions and a processor communicatively coupled to the memory. The program of instructions configures the processor to monitor the information handling system, the information handling system utilizing at least one item of software and detect failure of at least one item of software utilized by the information handling system. An application level component of a recovery utility is initiated to correct the detected failure. In which, the initiated application level component of the recovery utility is at least one of unsuccessful in correcting the detected failure and unavailable, a BIOS level component of the recovery utility begins a recovery process.
It is to be understood that both the forgoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention as claimed. The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate an embodiment of the invention and together with the general description, serve to explain the principles of the invention.
The numerous advantages of the present invention may be better understood by those skilled in the art by reference to the accompanying figures in which:
Reference will now be made in detail to the presently preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings.
Referring generally now to
One such method of restoring the entire contents of a file system is referred to as “scorched earth,” and may involve a process that loads from outside the file system and may run without OS support. For example, a BIOS function may be provided that detects that a system has encountered a failure and cannot be restarted, invokes a contained dialup or network connection to a back office, and retrieves and rewrites an image of the file system, such as how the system was shipped, an image taken as a back-up, and like images as contemplated by a person of ordinary skill in the art.
Another type of correction action includes an application that may detect function failure (such as due to file corruption), such down the process, reinstall the application and/or restore the application data, and restart the application. Typically, this method requires a functioning operating system on the system, and is typically not able to replace the operating system.
Referring now to
An application level 106 of the information handling system 102 may include an operating system, programs designed to assist in performance of a specific task, such as a word processor, browser, email, and the like, and other applications as contemplated by a person of ordinary skill in the art. Thus, the application level 106 may be considered to operate at a “higher” operating level in the system 102 than the BIOS level 104.
The present invention provides a recovery utility 108 that may encompass both the application level 106 and BIOS level 104 of software of an information handling system 102. Therefore, if a failure is detected, the present invention may provide both the ability to attempt to fix an application as well as an ability to employ more drastic methods of file recovery, such as a “scorched earth” recovery.
For example, as shown in
The BIOS level component 208 may be stored in such a manner as to be accessible in the case of operating system failure and other memory device failure, such as stored in a flash memory 214, host protected area 216 of a hard disk drive, and the like. Additionally, network connection information 218, such as the information needed to implement a network connection, may be stored in such a manner as to be accessible in the event of operating system failure to enable the information handling system to obtain desired files. For example, dialup connection information may be stored to enable the information handling system to access a network connection even in the event of operating system failure to enable the operating system to be restored, such as from a stored disk image and the like.
Referring now to
An application level component of a recovery utility is initiated 306 to respond to the detected failure. For instance, an application level component may attempt to diagnose and repair the detected failure. Additionally, a BIOS level component of the recovery utility may be invoked 308 to repair the software. The selection of when to invoke each component may be chosen by successive levels of intrusiveness in order to save as much data as possible and correction the problem as desired.
For instance, referring now to
If the application level component is accessible 408, the application level component attempts corrective action 412, such as by replacing files, repairing file hierarchies, and like methods as contemplated by a person of ordinary skill in the art. If the application level component is successful 414 in recovering from the software failure, the BIOS level component may continue to monitor the information handling system 402. However, if the application level component is not successful 414, a BIOS level recovery may then be initiated 410.
Thus, if a failure occurs, a recovery utility of the present invention may first attempt to invoke the application level component and have this component attempt to diagnose and repair the failure. If the application level component cannot repair the failure, it may report this failure to the BIOS level component, which may then invoke a more drastic and intrusive action of replacing the entire contents of the file system, and the like as contemplated by a person of ordinary skill in the art. In this way, quicker, more efficient and less intrusive methods of attempting a correction may be attempted first, and if not successful, more intrusive methods attempted in a desired order.
Referring now to
Therefore, a BIOS level recovery is initiated which includes replacing file content 512. There are a variety of file replacement methods contemplated by the present invention without departing from the spirit and scope thereof. For example, file contents may be retrieved over a network connection 514. The network connection may be automatically initiated from network connection data stored by an information handling system 516, such as described in relation to
Replacing file content 512 may also include retrieval from removable media, and a system of the present invention may prompt a user for insertion of a removable media 520. For example, a user may supply media having the desired software 522 to be installed on the information handling system; a BIOS component of the present invention may prompt a user for media from a stored listing of application previously installed on the information handling system 524, and the like without departing from the spirit and scope of the present invention. Thus, a file content rewrite may be provided in a variety of ways, the optimal choice of which may depend on such factors as available storage, network connectivity, and the like by a person fo ordinary skill in the art. Additionally, successive corrective actions may be determined dynamically, such as based on available system resources, such as memory, network connection, and the like.
Referring now to
Therefore, BIOS level recovery 610 is initiated by the BIOS level component, including the launch of a file system rewrite 612. A file system rewrite may be implemented in a manner similar to replacing file content as described previously. For example, file contents may be retrieved over a network connection 614 for rewriting. The network connection may be automatically initiated from network connection data as stored by an information handling system 616, a user may be prompted to supply network connection data 618, and the like.
Additionally, file content for a file system rewrite may be retrieved from removable media, and therefore, a system of the present invention may prompt a user for insertion of a removable media 620. For example, a user may supply media having the desired software 622 to be installed on the information handling system; a BIOS component of the present invention may prompt a user for media from a stored listing of application previously installed on the information handling system 624, and the like without departing from the spirit and scope of the present invention.
Further, restoration of an electronic data storage device may be initiated by the BIOS level component 626 from data stored in a secure location on the information handling system. For example, restorative data and utilities may be stored on a host protected area (HPA) and accessed by a BIOS level component of the present invention to restore operation of the electronic data storage device in the event of a catastrophic failure. Further discussion of the use of a HPA may be found in U.S. patent application Ser. No. 09/648,838, filed Aug. 25, 2000, which is herein incorporated by reference in its entirety.
Although the invention has been described with a certain degree of particularity, it should be recognized that elements thereof may be altered by persons skilled in the art without departing from the spirit and scope of the invention. One of the embodiments of the invention can be implemented as sets of instructions resident in the memory of one or more information handling systems, which may include memory for storing a program of instructions and a processor for performing the program of instruction, wherein the program of instructions configures the processor and information handling system. Until required by the information handling system, the set of instructions may be stored in another readable memory device, for example in a hard disk drive or in a removable medium such as an optical disc for utilization in a CD-ROM drive and/or digital video disc (DVD) drive, a compact disc such as a compact disc-rewriteable (CD-RW), compact disc-recordable and erasable; a floppy disk for utilization in a floppy disk drive; a floppy/optical disc for utilization in a floppy/optical drive; a memory card such as a memory stick, personal computer memory card for utilization in a personal computer card slot, and the like. Further, the set of instructions can be stored in the memory of an information handling system and transmitted over a local area network or a wide area network, such as the Internet, when desired by the user.
Additionally, the instructions may be transmitted over a network in the form of an applet that is interpreted or compiled after transmission to the computer system rather than prior to transmission. One skilled in the art would appreciate that the physical storage of the sets of instructions or applets physically changes the medium upon which it is stored electrically, magnetically, chemically, physically, optically or holographically so that the medium carries computer readable information.
In exemplary embodiments, the methods disclosed may be implemented as sets of instructions or software readable by a device. Further, it is understood that the specific order or hierarchy of steps in the methods disclosed are examples of exemplary approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the method can be rearranged while remaining within the scope of the present invention. The accompanying method claims present elements of the various steps in a sample order, and are not meant to be limited to the specific order or hierarchy presented.
It is believed that the system and method of the present invention and many of its attendant advantages will be understood by the forgoing description. It is also believed that it will be apparent that various changes may be made in the form, construction and arrangement of the components thereof without departing from the scope and spirit of the invention or without sacrificing all of its material advantages. The form herein before described being merely an explanatory embodiment thereof. It is the intention of the following claims to encompass and include such changes.
Patent | Priority | Assignee | Title |
7546487, | Sep 15 2005 | Intel Corporation | OS and firmware coordinated error handling using transparent firmware intercept and firmware services |
8140906, | Dec 29 2008 | Veritas Technologies LLC | Techniques for recovering data from cold images |
Patent | Priority | Assignee | Title |
4377000, | May 05 1980 | WESTINGHOUSE PROCESS CONTROL, INC , A DELAWARE CORPORATION | Automatic fault detection and recovery system which provides stability and continuity of operation in an industrial multiprocessor control |
5704031, | Mar 30 1995 | Fujitsu Limited | Method of performing self-diagnosing hardware, software and firmware at a client node in a client/server system |
5884073, | Oct 28 1996 | Intel Corporation | System and method for providing technical support of an electronic system through a web bios |
5907672, | Oct 04 1995 | Veritas Technologies LLC | System for backing up computer disk volumes with error remapping of flawed memory addresses |
5930824, | Feb 04 1997 | International Business Machines Corporation | System and method for demand-base data recovery |
5938775, | May 23 1997 | AT&T Corp | Distributed recovery with κ-optimistic logging |
5949970, | Jan 07 1997 | Unisys Corporation | Dual XPCS for disaster recovery |
6006331, | Jul 29 1997 | Microsoft Technology Licensing, LLC | Recovery of online sessions for dynamic directory services |
6044444, | May 28 1996 | EMC Corporation | Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected |
6128555, | May 29 1997 | Northrop Grumman Corporation | In situ method and system for autonomous fault detection, isolation and recovery |
6182086, | Mar 02 1998 | Microsoft Technology Licensing, LLC | Client-server computer system with application recovery of server applications and client applications |
6205565, | Sep 17 1996 | Stratus Technologies Bermuda LTD | Fault resilient/fault tolerant computing |
6208918, | Oct 08 1997 | Toyota Jidosha Kabushiki Kaisha | Data recovery system and data recovery program recorded medium |
6230285, | Sep 08 1998 | CA, INC | Boot failure recovery |
6259442, | Jun 03 1996 | Rovi Technologies Corporation | Downloading software from a server to a client |
6298443, | Apr 24 1998 | Dell USA, L.P. | Method and system for supplying a custom software image to a computer system |
6393559, | Apr 30 1999 | Dell USA, L.P. | Method and computer for self-healing BIOS initialization code |
6487464, | Feb 25 2000 | Intel Corporation | Power-on software for robust boot |
6560726, | Aug 19 1999 | Dell USA, L.P. | Method and system for automated technical support for computers |
6754855, | Dec 01 1999 | Microsoft Technology Licensing, LLC | Automated recovery of computer appliances |
6829732, | Jan 22 2001 | HEWLETT-PACKARD DEVELOPMENT COMPANY L P | Network-based software recovery for computing devices |
20040025003, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Feb 15 2002 | SULLIVAN, GARY E | Gateway, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012843 | /0693 | |
Apr 23 2002 | Gateway Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Sep 22 2010 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Sep 25 2014 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Sep 27 2018 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Apr 10 2010 | 4 years fee payment window open |
Oct 10 2010 | 6 months grace period start (w surcharge) |
Apr 10 2011 | patent expiry (for year 4) |
Apr 10 2013 | 2 years to revive unintentionally abandoned end. (for year 4) |
Apr 10 2014 | 8 years fee payment window open |
Oct 10 2014 | 6 months grace period start (w surcharge) |
Apr 10 2015 | patent expiry (for year 8) |
Apr 10 2017 | 2 years to revive unintentionally abandoned end. (for year 8) |
Apr 10 2018 | 12 years fee payment window open |
Oct 10 2018 | 6 months grace period start (w surcharge) |
Apr 10 2019 | patent expiry (for year 12) |
Apr 10 2021 | 2 years to revive unintentionally abandoned end. (for year 12) |