US20110047129A1 - Backup and recovery of systems including boot configuration data in an extension firmware interface partition - Google Patents

Backup and recovery of systems including boot configuration data in an extension firmware interface partition Download PDF

Info

Publication number
US20110047129A1
US20110047129A1 US12/542,953 US54295309A US2011047129A1 US 20110047129 A1 US20110047129 A1 US 20110047129A1 US 54295309 A US54295309 A US 54295309A US 2011047129 A1 US2011047129 A1 US 2011047129A1
Authority
US
United States
Prior art keywords
hard disk
efi
computer
disk partition
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US12/542,953
Other versions
US8788801B2 (en
Inventor
Jinqiang Wang
Xuan Li
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CA Inc
Original Assignee
Computer Associates Think Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Computer Associates Think Inc filed Critical Computer Associates Think Inc
Priority to US12/542,953 priority Critical patent/US8788801B2/en
Assigned to COMPUTER ASSOCIATES THINK, INC. reassignment COMPUTER ASSOCIATES THINK, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LI, XUAN, WANG, JINQIANG
Publication of US20110047129A1 publication Critical patent/US20110047129A1/en
Assigned to CA, INC. reassignment CA, INC. MERGER (SEE DOCUMENT FOR DETAILS). Assignors: COMPUTER ASSOCIATES THINK, INC.
Application granted granted Critical
Publication of US8788801B2 publication Critical patent/US8788801B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques

Definitions

  • Various embodiments include at least one of systems, methods, and software for backup and recovery of systems including boot configuration data in an extension firmware interface partition.
  • Generating a backup includes copying Boot Configuration Data (BCD) from a registry of an operating system executing on a computer into a file and storing the file.
  • BCD Boot Configuration Data
  • These and other embodiments may include a system restore process that consumes this file.
  • Such a process may operate to identify an Extension Firmware Interface (EFI) hard disk partition on a hard disk of a system to be restored, temporarily assign a drive letter to the identified EFI hard disk partition, and copy files common amongst all installations an operating system to be restored on the system along with BCD data from the BCD file to the EFI hard disk partition according to the assigned drive letter.
  • the system may then be rebooted.
  • EFI Extension Firmware Interface
  • FIG. 1 is a block diagram of a computing device according to an example embodiment.
  • FIG. 2 is a block diagram of a hard disk including an Extensible Firmware Interface (EFI) partition storing Boot Configuration Data (BCD) according to an example embodiment.
  • EFI Extensible Firmware Interface
  • BCD Boot Configuration Data
  • FIG. 3 is a block flow diagram of a method according to an example embodiment.
  • FIG. 4 is a block flow diagram of a method according to an example embodiment.
  • FIG. 5 is a block flow diagram of a method according to an example embodiment.
  • FIG. 6 is a block flow diagram of a method according to an example embodiment.
  • the Microsoft® Windows® Server® 2008 operating system that executes on the Intel® Itanium® Architecture 64-Bit (IA64) platforms includes an Extension Firmware Interface (EFI) partition on a hard drive that is hidden from the normal operating system environment and cannot be accessed once the operating system is started. Because it is hidden, backup software is typically unable to detect its presence and backup its contents. To back up this partition, backup software performs special operations to connect to this partition and copy the data. During recovery, special operations are also required to restore the data back. The whole procedure of creating a backup image and restoring that image in a bare-metal recovery process is quite complex.
  • EFI Extension Firmware Interface
  • the EFI partition includes data defining a software interface between the Microsoft® Windows® Server® 2008 operating system and platform firmware.
  • the EFI includes data tables that contain platform information and boot and runtime services that are available to the Microsoft® Windows® Server® 2008 operating system loader and the operating system.
  • most of the contents of the EFI partition are consistent across Microsoft® Windows® Server® 2008 operating system installations. These consistent contents can be obtained in the Microsoft® Windows® Server® 2008 operating system recovery environment, such as by copying the content from a Microsoft® Windows® Server® 2008 operating system installation optical disk, hard disk, or other medium from which the Microsoft® Windows® Server 2008 operating system may be installed or recovered.
  • Boot Configuration Data file which is held in the EFI partition includes data that can differ between Microsoft® Windows® Server® 2008 operating system installations.
  • BCD Boot Configuration Data file
  • the BCD includes at least one file that provides a store that is used to describe boot applications and boot application settings. While the Microsoft® Windows® Server® 2008 operating system is running, a command-line tool BCDEdit is used to export the content of the BCD into a file. However, in some embodiments, the file may be created via calls to an Application Programming Interface to obtain the BCD. This file is usually less than 100 kilobytes and does not impose overhead in terms of time, storage space, or complexity for backup and recovery. The BCD file, once created, can be used later to restore the state of the system. However, if the BCD file exported though the BCDEdit tool is copied to a newly formatted EFI partition on a target recovery system, the target recovery system cannot boot. Thus, the following describes methods and mechanisms that may be implemented to successfully backup and restore Microsoft® Windows® Server 2008 operating system machines in bare-metal disaster recovery scenarios.
  • a bare-metal disaster recovery is a process for recovery and restoration where backed up data is available in a form to allow restoration of a computer system without any requirements as to previously installed software or operating systems.
  • the backed up data typically includes operating system, application, and data components to rebuild or restore a computer to a state at a time when the backed up data was copied.
  • bare-metal refers to computer system hardware as the “metal” and “bare” meaning that there is no software or data on the computer or that the data and software on the computer is of no concern in the recovery process.
  • FIG. 1 is a block diagram of a computing device according to an example embodiment.
  • multiple such computer systems are utilized in a distributed network to implement multiple components in a transaction-based environment.
  • the computing device of FIG. 1 may be implemented as a server computer, a client computer, or a computer that performs one or more functions of both client and server computers.
  • One example-computing device in the form of a computer 710 may include at least one processing unit 702 , memory 704 , removable storage 712 , and non-removable storage 714 .
  • Memory 704 may include volatile memory 706 and non-volatile memory 708 .
  • Computer 710 may include—or have access to a computing environment that includes—a variety of computer-readable storage mediums, such as volatile memory 706 and non-volatile memory 708 , removable storage 712 , and non-removable storage 714 .
  • Computer storage includes random access memory (RAM), read only memory (ROM), erasable programmable read-only memory (EPROM) & electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD ROM), Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium capable of storing computer-readable instructions.
  • the computer storage may also include a hard disk, also referred to as a hard drive, that may be partitioned.
  • the partitions may include an EFI partition that stores the BCD.
  • Computer 710 may include or have access to a computing environment that includes input 716 , output 718 , and a communication connection 720 .
  • the computer may operate in a networked environment using a communication connection to connect to one or more remote computers, such as database servers and application servers.
  • the remote computer may include a personal computer (PC), server, router, network PC, a peer device or other common network node, or the like.
  • the communication connection may include a connection via a network interface device to one or more of a Local Area Network (LAN), a Wide Area Network (WAN), the Internet, and other networks.
  • LAN Local Area Network
  • WAN Wide Area Network
  • the Internet and other networks.
  • Computer-readable instructions stored on a computer-readable storage medium are executable by the at least one processing unit 702 of the computer 710 .
  • a hard drive, CD-ROM, and RAM are some examples of articles including a computer-readable storage medium.
  • a computer program 725 may be stored on one or more computer-readable storage mediums.
  • the computer program may include instructions executable by the at least one processing unit 702 to perform one or more of the methods and provide the functionality as described herein.
  • the computer program 725 may also include an operating system, such as a Microsoft® Windows® operating system.
  • the Microsoft® Windows® operating system can be the Microsoft® Windows® Server® 2008 operating system, the Microsoft® Windows® Vista® operating system, or other operating system that includes a similar architecture.
  • FIG. 2 is a block diagram of a hard disk 200 including an EFI partition 204 storing BCD 206 according to an example embodiment.
  • the BCD 206 is caused by various operating systems to be stored as one or more file in the EFI partition 204 of the hard disk 200 .
  • the BCD 206 is read and used to assist in booting the computer along with other data that may be stored in another partition 202 of the hard disk that stores other operating system and application components and data.
  • Data stored in the EFI partition 204 such as the BCD 206 , is typically not accessible from the EFI partition 204 .
  • the EFI partition 204 is typically about 100 megabytes in size. However, the size of the EFI partition 204 may vary. In some instances, it may be possible for the EFI partition 204 to be a separate hard disk depending on the specific requirements and allowable configuration settings of the particular operating system of the computer within which the hard disk 200 is installed.
  • FIG. 3 is a block flow diagram of a method 300 according to an example embodiment.
  • the method 300 is an example of a method to backup BCD of a system, such as a system under control of the Microsoft® Windows® Server® 2008 operating system.
  • the method 300 includes beginning the backup 302 of the system by opening a system registry and checking for a registry hive with ah key of “HKEY_LOCAL_MACHINE ⁇ BCD0000000X” where X is a number zero (0) through nine (9).
  • the checking may further include checking whether there is a sub-key “Description” having one parameter “KeyName” equal to “BCD0000000X” with X being the same number zero (0) to nine (9) as above.
  • the checking may also include checking whether there are parameters “System” and “TreatAsSystem” in the sub-key “Description.” This additional checking may be performed in instances when there are multiple sets of BCD. This checking is performed to ensure the currently implemented BCD is identified in the Registry.
  • the method 300 includes copying and saving 306 the registry hive to a file and copying the file to a storage medium.
  • This file including the BCD may be stored to a hard disk, an optical medium such as a DVD or CD, or other medium.
  • the file including the BCD is stored on a medium with other disaster recovery data copied from the computer that the method 300 is executing against.
  • the other disaster recovery data may include files and data of applications installed on the computer and as generated by a user or is otherwise stored on the computer. The backup of the method 300 then ends.
  • FIG. 4 is a block flow diagram of a method 400 according to an example embodiment.
  • the method 400 is an example embodiment of performing a bare-metal restoration of a system backed up according to the method 300 of FIG. 3 .
  • the method begins the restoring 402 by getting 404 a disk number and partition number of the EFI partition according to a unique Globally Unique Identifier (GUID) of the EFI partition.
  • GUID Globally Unique Identifier
  • the EFI partition may not yet exist.
  • operating system recovery or pre-installation processes may first be executed to establish the EFI partition.
  • the Microsoft® Windows® Server 2008 or Microsoft Windows Vista operating system recovery or pre-installation processes may be called to execute on the computer being recovered and those processes will create or reestablish the EFI partition.
  • the method 400 continues by using a disk utility, such as DISKPART, to set 406 a drive letter for the EFI partition to make the EFI partition accessible by processes other than pre-boot and boot processes.
  • a disk utility such as DISKPART
  • Data and files in the EFI that are common amongst all installations of the operating system being restored on the computer are copied 408 to the EFI drive.
  • This data and these files may be copied from an operating system setup disk, a backup image of the computer being restored, from within a recovery or preinstallation environment of the operating system, or other location where the data and files may be stored.
  • One other location may be a network location accessible over a network via a network interface device of the computer being restored.
  • the BCD file or at least the BCD data from the BCD file, is copied 410 to the EFI drive, such as may be created according to the method 300 of FIG. 3 .
  • Further data may also be copied to the computer being restored, such as application files, data, configuration data, user data, and other data that may have been stored on the computer at a time when a backup image was generated.
  • the method 400 then ends 412 and the computer may be rebooted to complete the recovery process.
  • the drive letter is set 406 for the EFI partition in a manner whereby the drive letter is temporary and disappears when the computer is rebooted.
  • the method 400 further includes unassigning the drive letter of the EFI partition.
  • FIG. 5 is a block flow diagram of a method 500 according to an example embodiment.
  • the method 500 is another example of a method that may be performed to generate a backup of BCD held in an EFI partition that is not accessible on computer once the operating system is running.
  • the method 500 includes copying 502 BCD from a registry hive of a Microsoft® Windows® operating system executing on a computer into a file and storing 504 the file on a storage medium from which a read operation can be performed during a recovery operation of the computer.
  • Some embodiments may further include copying other data, such as application files and application data, from data storage devices of the computer and storing the other data on a storage medium from which a read operation can be performed during a recovery operation of the computer.
  • the storage medium storing the file including the BCD and the storage medium storing the other data are the same storage medium. In other embodiments, the storage mediums are distinct.
  • FIG. 6 is a block flow diagram of a method 600 according to an example embodiment.
  • the method 600 is a method to be performed by a target computer to be restored based in part on a file including BCD data, such as a file as generated by the method 300 of FIG. 3 or method 500 of FIG. 5 .
  • the method 600 includes identifying 602 an EFI hard disk partition of the target computer and temporarily assigning 604 a drive letter to the identified EFI hard disk partition.
  • the method 600 then copies data to the EFI hard disk partition according to the assigned drive letter, such as by copying 606 files common amongst installations of an operating system to be restored on the target computer and copying 608 BCD from a file.
  • the file the BCD is copied from is a file that is generated form a source computer to be restored on the target computer, such as a file generated according to the method 300 of FIG. 3 or the method 500 of FIG. 5 .
  • the method 600 further includes rebooting 610 the target computer.
  • the system includes at least one processor, at least one memory device, at least one hard disk, a video output device, and at least one input device interconnected via at least one integrated circuit board.
  • the system also includes a system restore application stored on a computer-readable medium readable by a data reading device of the system, the application including instructions executable by the at least one processor.
  • the instructions that are executable by the processor may include instructions to perform one or more of the methods described above to backup portions of computers, such as for bare-metal recovery, including BCD held in an EFI.
  • operations or processing involve physical manipulation of physical quantities.
  • quantities may take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared or otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to such signals as bits, data, values, elements, symbols, characters, terms, numbers, numerals or the like. It should be understood, however, that all of these and similar terms are to be associated with appropriate physical quantities and are merely convenient labels.
  • the functions or algorithms described herein are implemented in hardware, software, or a combination of software and hardware in one embodiment.
  • the software comprises computer executable instructions stored on computer-readable media such as memory or other type of storage devices.
  • described functions, methods, and elements thereof may correspond to modules, which may be software, hardware, firmware, or any combination thereof. Multiple functions are performed in one or more modules as desired, and the embodiments described are merely examples.
  • the methods 300 , 400 , 500 , and 600 of FIG. 3 , FIG, 4 , FIG. 5 , and FIG. 6 respectively, may include one or more modules that operate in conjunction with one another to implement one or more of these methods in a system.
  • the software which may be in the form of a software module, is executed on a digital signal processor, application specific integrated circuit (ASIC), microprocessor, or other type of processor operating on a system, such as a personal computer, server, a router, or other device capable of processing data including network interconnection devices.
  • ASIC application specific integrated circuit
  • microprocessor or other type of processor operating on a system, such as a personal computer, server, a router, or other device capable of processing data including network interconnection devices.
  • Some embodiments implement the functions in two or more specific interconnected hardware modules or devices with related control and data signals communicated between and through the modules, or as portions of an application-specific integrated circuit.
  • the exemplary process flow is applicable to software, firmware, and hardware implementations.

Abstract

Various embodiments includes at least one of systems, methods, and software for backup and recovery of systems including boot configuration data in an extension firmware interface partition. Generating a backup, in some embodiments, includes copying Boot Configuration Data (BCD) from a registry of an operating system executing on a computer into a file and storing the file. These and other embodiments may include a system restore process that consumes this file. Such a process may operate to identify an Extension Firmware Interface (EFI) hard disk partition on a hard disk of a system to be restored, temporarily assign a drive letter to the identified EFI hard disk partition, and copy files common amongst all installations an operating system to be restored on the system along with BCD data from the BCD file to the EFI hard disk partition according to the assigned drive letter. The system may then be rebooted.

Description

    BACKGROUND INFORMATION
  • Backing up Microsoft® Windows® Server® 2008 systems presents complex issues. Portions of the Microsoft® Windows® Server® 2008 operating system are held in hard disk partitions that are not accessible while the operating system is running. Thus, conventional backup techniques are insufficient to create system images from which a bare-metal recovery may be performed.
  • SUMMARY
  • Various embodiments include at least one of systems, methods, and software for backup and recovery of systems including boot configuration data in an extension firmware interface partition. Generating a backup, in some embodiments, includes copying Boot Configuration Data (BCD) from a registry of an operating system executing on a computer into a file and storing the file. These and other embodiments may include a system restore process that consumes this file. Such a process may operate to identify an Extension Firmware Interface (EFI) hard disk partition on a hard disk of a system to be restored, temporarily assign a drive letter to the identified EFI hard disk partition, and copy files common amongst all installations an operating system to be restored on the system along with BCD data from the BCD file to the EFI hard disk partition according to the assigned drive letter. The system may then be rebooted.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of a computing device according to an example embodiment.
  • FIG. 2 is a block diagram of a hard disk including an Extensible Firmware Interface (EFI) partition storing Boot Configuration Data (BCD) according to an example embodiment.
  • FIG. 3 is a block flow diagram of a method according to an example embodiment.
  • FIG. 4 is a block flow diagram of a method according to an example embodiment.
  • FIG. 5 is a block flow diagram of a method according to an example embodiment.
  • FIG. 6 is a block flow diagram of a method according to an example embodiment.
  • DETAILED DESCRIPTION
  • The Microsoft® Windows® Server® 2008 operating system that executes on the Intel® Itanium® Architecture 64-Bit (IA64) platforms includes an Extension Firmware Interface (EFI) partition on a hard drive that is hidden from the normal operating system environment and cannot be accessed once the operating system is started. Because it is hidden, backup software is typically unable to detect its presence and backup its contents. To back up this partition, backup software performs special operations to connect to this partition and copy the data. During recovery, special operations are also required to restore the data back. The whole procedure of creating a backup image and restoring that image in a bare-metal recovery process is quite complex.
  • At the same time, data stored in the EFI partition is critical during boot of the Microsoft® Windows® Server® 2008 operating system. Without protecting the partition, bare-metal disaster recovery for an IA64 Microsoft® Windows® Server® 2008 operating system cannot be achieved.
  • The EFI partition includes data defining a software interface between the Microsoft® Windows® Server® 2008 operating system and platform firmware. The EFI includes data tables that contain platform information and boot and runtime services that are available to the Microsoft® Windows® Server® 2008 operating system loader and the operating system. In a bare-metal recovery process, most of the contents of the EFI partition are consistent across Microsoft® Windows® Server® 2008 operating system installations. These consistent contents can be obtained in the Microsoft® Windows® Server® 2008 operating system recovery environment, such as by copying the content from a Microsoft® Windows® Server® 2008 operating system installation optical disk, hard disk, or other medium from which the Microsoft® Windows® Server 2008 operating system may be installed or recovered. However, a file or files referred to as Boot Configuration Data file (BCD), which is held in the EFI partition includes data that can differ between Microsoft® Windows® Server® 2008 operating system installations. Thus, to perform a complete bare-metal disaster recovery of a Microsoft® Windows® Server® 2008 operating system on an IA64 platform, data of the BCD is obtained from the particular system to be backed up.
  • The BCD includes at least one file that provides a store that is used to describe boot applications and boot application settings. While the Microsoft® Windows® Server® 2008 operating system is running, a command-line tool BCDEdit is used to export the content of the BCD into a file. However, in some embodiments, the file may be created via calls to an Application Programming Interface to obtain the BCD. This file is usually less than 100 kilobytes and does not impose overhead in terms of time, storage space, or complexity for backup and recovery. The BCD file, once created, can be used later to restore the state of the system. However, if the BCD file exported though the BCDEdit tool is copied to a newly formatted EFI partition on a target recovery system, the target recovery system cannot boot. Thus, the following describes methods and mechanisms that may be implemented to successfully backup and restore Microsoft® Windows® Server 2008 operating system machines in bare-metal disaster recovery scenarios.
  • A bare-metal disaster recovery is a process for recovery and restoration where backed up data is available in a form to allow restoration of a computer system without any requirements as to previously installed software or operating systems. The backed up data typically includes operating system, application, and data components to rebuild or restore a computer to a state at a time when the backed up data was copied. Thus, the term “bare-metal” as commonly used refers to computer system hardware as the “metal” and “bare” meaning that there is no software or data on the computer or that the data and software on the computer is of no concern in the recovery process.
  • FIG. 1 is a block diagram of a computing device according to an example embodiment. In one embodiment, multiple such computer systems are utilized in a distributed network to implement multiple components in a transaction-based environment. Thus, the computing device of FIG. 1 may be implemented as a server computer, a client computer, or a computer that performs one or more functions of both client and server computers.
  • An object-oriented architecture may be used to implement such functions and communicate between the multiple systems and components. One example-computing device in the form of a computer 710, may include at least one processing unit 702, memory 704, removable storage 712, and non-removable storage 714. Memory 704 may include volatile memory 706 and non-volatile memory 708. Computer 710 may include—or have access to a computing environment that includes—a variety of computer-readable storage mediums, such as volatile memory 706 and non-volatile memory 708, removable storage 712, and non-removable storage 714. Computer storage includes random access memory (RAM), read only memory (ROM), erasable programmable read-only memory (EPROM) & electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD ROM), Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium capable of storing computer-readable instructions. The computer storage may also include a hard disk, also referred to as a hard drive, that may be partitioned. The partitions may include an EFI partition that stores the BCD. Computer 710 may include or have access to a computing environment that includes input 716, output 718, and a communication connection 720. The computer may operate in a networked environment using a communication connection to connect to one or more remote computers, such as database servers and application servers. The remote computer may include a personal computer (PC), server, router, network PC, a peer device or other common network node, or the like. The communication connection may include a connection via a network interface device to one or more of a Local Area Network (LAN), a Wide Area Network (WAN), the Internet, and other networks.
  • Computer-readable instructions stored on a computer-readable storage medium are executable by the at least one processing unit 702 of the computer 710. A hard drive, CD-ROM, and RAM are some examples of articles including a computer-readable storage medium. For example, a computer program 725 may be stored on one or more computer-readable storage mediums. The computer program may include instructions executable by the at least one processing unit 702 to perform one or more of the methods and provide the functionality as described herein. The computer program 725 may also include an operating system, such as a Microsoft® Windows® operating system. The Microsoft® Windows® operating system can be the Microsoft® Windows® Server® 2008 operating system, the Microsoft® Windows® Vista® operating system, or other operating system that includes a similar architecture.
  • FIG. 2 is a block diagram of a hard disk 200 including an EFI partition 204 storing BCD 206 according to an example embodiment. The BCD 206 is caused by various operating systems to be stored as one or more file in the EFI partition 204 of the hard disk 200. At boot time of the computer within which the hard disk 200 is installed, the BCD 206 is read and used to assist in booting the computer along with other data that may be stored in another partition 202 of the hard disk that stores other operating system and application components and data. Data stored in the EFI partition 204, such as the BCD 206, is typically not accessible from the EFI partition 204. The EFI partition 204 is typically about 100 megabytes in size. However, the size of the EFI partition 204 may vary. In some instances, it may be possible for the EFI partition 204 to be a separate hard disk depending on the specific requirements and allowable configuration settings of the particular operating system of the computer within which the hard disk 200 is installed.
  • FIG. 3 is a block flow diagram of a method 300 according to an example embodiment. The method 300 is an example of a method to backup BCD of a system, such as a system under control of the Microsoft® Windows® Server® 2008 operating system. The method 300 includes beginning the backup 302 of the system by opening a system registry and checking for a registry hive with ah key of “HKEY_LOCAL_MACHINE\BCD0000000X” where X is a number zero (0) through nine (9). The checking may further include checking whether there is a sub-key “Description” having one parameter “KeyName” equal to “BCD0000000X” with X being the same number zero (0) to nine (9) as above. The checking may also include checking whether there are parameters “System” and “TreatAsSystem” in the sub-key “Description.” This additional checking may be performed in instances when there are multiple sets of BCD. This checking is performed to ensure the currently implemented BCD is identified in the Registry.
  • Once the proper BCD is identified and opened in the registry, the method 300 includes copying and saving 306 the registry hive to a file and copying the file to a storage medium. This file including the BCD may be stored to a hard disk, an optical medium such as a DVD or CD, or other medium. In some instances, the file including the BCD is stored on a medium with other disaster recovery data copied from the computer that the method 300 is executing against. The other disaster recovery data may include files and data of applications installed on the computer and as generated by a user or is otherwise stored on the computer. The backup of the method 300 then ends.
  • FIG. 4 is a block flow diagram of a method 400 according to an example embodiment. The method 400 is an example embodiment of performing a bare-metal restoration of a system backed up according to the method 300 of FIG. 3. The method begins the restoring 402 by getting 404 a disk number and partition number of the EFI partition according to a unique Globally Unique Identifier (GUID) of the EFI partition. In some instances, the EFI partition may not yet exist. In such instances, operating system recovery or pre-installation processes may first be executed to establish the EFI partition. For example, the Microsoft® Windows® Server 2008 or Microsoft Windows Vista operating system recovery or pre-installation processes may be called to execute on the computer being recovered and those processes will create or reestablish the EFI partition.
  • The method 400 continues by using a disk utility, such as DISKPART, to set 406 a drive letter for the EFI partition to make the EFI partition accessible by processes other than pre-boot and boot processes. Data and files in the EFI that are common amongst all installations of the operating system being restored on the computer are copied 408 to the EFI drive. This data and these files may be copied from an operating system setup disk, a backup image of the computer being restored, from within a recovery or preinstallation environment of the operating system, or other location where the data and files may be stored. One other location may be a network location accessible over a network via a network interface device of the computer being restored. Further, the BCD file, or at least the BCD data from the BCD file, is copied 410 to the EFI drive, such as may be created according to the method 300 of FIG. 3. Further data may also be copied to the computer being restored, such as application files, data, configuration data, user data, and other data that may have been stored on the computer at a time when a backup image was generated. The method 400 then ends 412 and the computer may be rebooted to complete the recovery process. In some embodiments, the drive letter is set 406 for the EFI partition in a manner whereby the drive letter is temporary and disappears when the computer is rebooted. However, in other embodiments, the method 400 further includes unassigning the drive letter of the EFI partition.
  • FIG. 5 is a block flow diagram of a method 500 according to an example embodiment. The method 500 is another example of a method that may be performed to generate a backup of BCD held in an EFI partition that is not accessible on computer once the operating system is running. The method 500 includes copying 502 BCD from a registry hive of a Microsoft® Windows® operating system executing on a computer into a file and storing 504 the file on a storage medium from which a read operation can be performed during a recovery operation of the computer. Some embodiments may further include copying other data, such as application files and application data, from data storage devices of the computer and storing the other data on a storage medium from which a read operation can be performed during a recovery operation of the computer. In some such embodiments, the storage medium storing the file including the BCD and the storage medium storing the other data are the same storage medium. In other embodiments, the storage mediums are distinct.
  • FIG. 6 is a block flow diagram of a method 600 according to an example embodiment. The method 600 is a method to be performed by a target computer to be restored based in part on a file including BCD data, such as a file as generated by the method 300 of FIG. 3 or method 500 of FIG. 5. The method 600 includes identifying 602 an EFI hard disk partition of the target computer and temporarily assigning 604 a drive letter to the identified EFI hard disk partition. The method 600 then copies data to the EFI hard disk partition according to the assigned drive letter, such as by copying 606 files common amongst installations of an operating system to be restored on the target computer and copying 608 BCD from a file. The file the BCD is copied from is a file that is generated form a source computer to be restored on the target computer, such as a file generated according to the method 300 of FIG. 3 or the method 500 of FIG. 5. The method 600 further includes rebooting 610 the target computer.
  • Another embodiment is in the form of a system. The system includes at least one processor, at least one memory device, at least one hard disk, a video output device, and at least one input device interconnected via at least one integrated circuit board. The system also includes a system restore application stored on a computer-readable medium readable by a data reading device of the system, the application including instructions executable by the at least one processor. The instructions that are executable by the processor may include instructions to perform one or more of the methods described above to backup portions of computers, such as for bare-metal recovery, including BCD held in an EFI.
  • Numerous specific details are set forth herein to provide a thorough understanding of claimed subject matter. However, it will be understood by those skilled in the art that claimed subject matter may be practiced without these specific details. In other instances, methods, apparatuses, or systems that would be known by one of ordinary skill have not been described in detail so as not to obscure claimed subject matter. Some portions of the description are presented in terms of algorithms or symbolic representations of operations on data bits or binary digital signals stored within a computing system memory, such as a computer memory. These algorithmic descriptions or representations are examples of techniques used by those of ordinary skill in the data processing arts to convey the substance of their work to others skilled in the art. An algorithm is here, and generally, considered a self-consistent sequence of operations or similar processing leading to a desired result. In this context, operations or processing involve physical manipulation of physical quantities. Typically, although not necessarily, such quantities may take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared or otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to such signals as bits, data, values, elements, symbols, characters, terms, numbers, numerals or the like. It should be understood, however, that all of these and similar terms are to be associated with appropriate physical quantities and are merely convenient labels. Unless specifically stated otherwise, it is appreciated that throughout this description, discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining” or the like refer to actions or processes of a computing platform, such as a computer or a similar electronic computing device, that manipulates or transforms data represented as physical electronic or magnetic quantities within memories, registers, or other information storage devices, transmission devices, or display devices of the computing platform.
  • Thus, the functions or algorithms described herein are implemented in hardware, software, or a combination of software and hardware in one embodiment. The software comprises computer executable instructions stored on computer-readable media such as memory or other type of storage devices. Further, described functions, methods, and elements thereof may correspond to modules, which may be software, hardware, firmware, or any combination thereof. Multiple functions are performed in one or more modules as desired, and the embodiments described are merely examples. For example, the methods 300, 400, 500, and 600 of FIG. 3, FIG, 4, FIG. 5, and FIG. 6, respectively, may include one or more modules that operate in conjunction with one another to implement one or more of these methods in a system.
  • The software, which may be in the form of a software module, is executed on a digital signal processor, application specific integrated circuit (ASIC), microprocessor, or other type of processor operating on a system, such as a personal computer, server, a router, or other device capable of processing data including network interconnection devices. Some embodiments implement the functions in two or more specific interconnected hardware modules or devices with related control and data signals communicated between and through the modules, or as portions of an application-specific integrated circuit. Thus, the exemplary process flow is applicable to software, firmware, and hardware implementations.
  • In the foregoing Detailed Description, various features are grouped together in a single embodiment to streamline the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments of the inventive subject matter require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment.

Claims (20)

What is claimed is:
1. A method comprising:
copying Boot Configuration Data (BCD) from a registry hive of a Microsoft® Windows® operating system executing on a computer into a file;
storing the file on a storage medium from which a read operation can be performed during a recovery operation of the computer.
2. The method of claim 1, wherein the registry hive from which the BCD is copied includes a registry hive with a key of “HKEY_LOCAL_MACHINE\BCD0000000X” where X is one of the numbers zero (0) to nine (9).
3. The method of claim 1, wherein the storage medium is an optical disk.
4. The method of claim 1, further comprising:
copying other data from data storage devices of the computer; and
storing the other data on a storage medium from which a read operation can be performed during a recovery operation of the computer.
5. The method claim 4, wherein the storage medium storing the file including the BCD and the storage medium storing the other data are the same storage medium.
6. The method of claim 4, wherein the other data includes files of one or more applications installed on the computer.
7. The method of claim 1, further comprising:
performing a restore of the computer as a function of the file including the BCD, performance of the restore including:
obtaining a disk number and partition number of an Extension Firmware Interface (EFI) hard disk partition of the computer;
assigning a drive letter to the EFI hard disk partition;
copying files common amongst installations of the operating system to the EFI hard disk partition according to the assigned drive letter;
copying the BCD from the file including the BCD data to the EFI hard disk partition according to the assigned drive letter;
unassigning the drive letter from the EFI hard disk partition; and
rebooting the computer.
8. A method comprising:
obtaining a disk number and hard disk partition number of an Extension Firmware Interface (EFI) hard disk partition of a target computer to be restored;
assigning a drive letter to the EFI hard disk partition;
copying files common amongst installations of an operating system to be restored on the target computer, the files copied to the EFI hard disk partition according to the assigned drive letter;
copying Boot Configuration Data (BCD) from a file to the EFI hard disk partition according to the assigned drive letter;
unassigning the drive letter from the EFI hard disk partition; and
rebooting the target computer.
9. The method of claim 8, wherein obtaining the disk and hard disk partition number of the EFI partition includes retrieving a Globally Unique Identifier (GUID) of the EFI hard disk partition.
10. The method of claim 8, further comprising:
prior to the unassigning of the drive letter from the EFI hard disk partition and the rebooting of the target computer, copying other data from a storage medium storing data backed up from a source computer from which the BCD was copied; and
storing the copied data to a hard disk partition other than the EFI hard disk partition.
11. The method of claim 10, wherein the other data includes:
files of one or more applications installed on the source computer to be restored on the target computer.
12. The method of claim 8, wherein the file holding the BCD copied to the EFI hard disk partition is created on a source computer according to a process comprising:
copying Boot Configuration Data (BCD) from a registry hive of a Microsoft® Windows® operating system executing on the source computer, the BCD copied into a file;
storing the file on a storage medium from which a read operation can be performed during a recovery operation of the target computer.
13. The method of claim 12, wherein the registry hive from which the BCD is copied includes a registry hive with a key of “HKEY_LOCAL_MACHINE\BCD0000000X” where X is a number between zero (0) and nine (9).
14. The method of claim 12, wherein the storage medium is a data storage device accessible over a network via network interface devices of both the source and the target computers.
15. A computer-readable storage medium, with instructions stored thereon, which when executed by a processor of a target computer to be restored, cause the target computer to:
identify an Extension Firmware Interface (EFI) hard disk partition of the target computer;
temporarily assign a drive letter to the identified EFI hard disk partition;
copy files common amongst installations of an operating system to be restored on the target computer, the files copied to the EFI hard disk partition according to the assigned drive letter;
copy Boot Configuration Data (BCD) from a file to the EFI hard disk partition according to the assigned drive letter; and
reboot the target computer.
16. The computer-readable storage medium of claim 15, with further instructions executable by the processor of the target computer to:
prior to rebooting of the target computer, copy other data from a storage medium storing data backed up from a source computer from which the BCD was copied; and
store the copied data to a hard disk partition of the target computer other than the EFI hard disk partition.
17. A system comprising:
at least one processor, at least one memory device, at least one hard disk, a video output device, and at least one input device interconnected via at least one integrated circuit board; and
a system restore application stored on a computer-readable medium readable by a data reading device of the system, the application including instructions executable by the at least one processor to:
identify an Extension Firmware Interface (EFI) hard disk partition on one of the at least one hard disk of the system;
temporarily assign a drive letter to the identified EFI hard disk partition;
copy files common amongst installations of an operating system to be restored on the system, the files copied to the EFI hard disk partition according to the assigned drive letter;
copy Boot Configuration Data (BCD) from a file to the EFI hard disk partition according to the assigned drive letter; and
reboot the system.
18. The system of claim 17, wherein the operating system is a Microsoft® Windows® operating system.
19. The system of claim 18, wherein identifying the EFI hard disk partition includes obtaining a disk number and hard disk partition number of EFI hard disk partition via a Microsoft® Windows® operating system BCDEdit application programming interface call to retrieve a Globally Unique Identifier (GUID) of the EFI hard disk partition.
20. The system of claim 17, wherein the system restore application is further executable by the at least one processor to:
prior to rebooting of the target computer, copy other data from a storage medium storing data backed up from a source computer from which the BCD was copied; and
store the copied data to a hard disk partition of the target computer other than the EFI hard disk partition.
US12/542,953 2009-08-18 2009-08-18 Backup and recovery of systems by restoring a backup boot configuration data (BCD) with installation files from an operating system install disk Expired - Fee Related US8788801B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/542,953 US8788801B2 (en) 2009-08-18 2009-08-18 Backup and recovery of systems by restoring a backup boot configuration data (BCD) with installation files from an operating system install disk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/542,953 US8788801B2 (en) 2009-08-18 2009-08-18 Backup and recovery of systems by restoring a backup boot configuration data (BCD) with installation files from an operating system install disk

Publications (2)

Publication Number Publication Date
US20110047129A1 true US20110047129A1 (en) 2011-02-24
US8788801B2 US8788801B2 (en) 2014-07-22

Family

ID=43606131

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/542,953 Expired - Fee Related US8788801B2 (en) 2009-08-18 2009-08-18 Backup and recovery of systems by restoring a backup boot configuration data (BCD) with installation files from an operating system install disk

Country Status (1)

Country Link
US (1) US8788801B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013097095A1 (en) * 2011-12-27 2013-07-04 华为技术有限公司 Method for backing up startup information about storage device
US20160210163A1 (en) * 2015-01-15 2016-07-21 AVAST Software s.r.o. Rebooting to a uefi application from a uefi supported system
US20170140146A1 (en) * 2015-11-13 2017-05-18 Microsoft Technology Licensing, Llc Unlock and recovery for encrypted devices
US20170329594A1 (en) * 2015-01-16 2017-11-16 Hewlett-Packard Development Company, L.P. Communicating a data image for installing an operating system
CN108733501A (en) * 2017-04-14 2018-11-02 优估(上海)信息科技有限公司 A kind of drive bearing calibration, device, equipment and computer readable storage medium
US10394760B1 (en) * 2015-04-16 2019-08-27 Western Digital Technologies, Inc. Browsable data backup
CN111258817A (en) * 2020-01-17 2020-06-09 深圳宝龙达信创科技股份有限公司 Recovery method of basic input and output system, terminal equipment and storage medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11829478B2 (en) 2019-01-08 2023-11-28 Oracle International Corporation Full server recovery architecture for cloud bare metal instances

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030126242A1 (en) * 2001-12-28 2003-07-03 Chang Albert H. Network boot system and method using remotely-stored, client-specific boot images created from shared, base snapshot image
US6681323B1 (en) * 1999-11-29 2004-01-20 Toshiba America Information Systems, Inc. Method and system for automatically installing an initial software configuration including an operating system module from a library containing at least two operating system modules based on retrieved computer identification data
US20040225874A1 (en) * 2003-05-09 2004-11-11 Jeremy Burr Method for reduced BIOS boot time
US6820214B1 (en) * 1999-07-26 2004-11-16 Microsoft Corporation Automated system recovery via backup and restoration of system state
USRE40092E1 (en) * 1998-05-11 2008-02-19 Protimus Technologies Llc Method for quickly booting a computer system
US7434042B2 (en) * 2003-04-24 2008-10-07 Fujitsu Limited Apparatus, method and recording medium for starting up data processing system
US7694123B2 (en) * 2006-03-28 2010-04-06 Hewlett-Packard Development Company, L.P. Storing files for operating system restoration
US7966484B1 (en) * 2009-01-14 2011-06-21 Cms Products, Inc. Automatic alternating bootable storage devices between different kinds of boot files

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE40092E1 (en) * 1998-05-11 2008-02-19 Protimus Technologies Llc Method for quickly booting a computer system
US6820214B1 (en) * 1999-07-26 2004-11-16 Microsoft Corporation Automated system recovery via backup and restoration of system state
US6681323B1 (en) * 1999-11-29 2004-01-20 Toshiba America Information Systems, Inc. Method and system for automatically installing an initial software configuration including an operating system module from a library containing at least two operating system modules based on retrieved computer identification data
US20030126242A1 (en) * 2001-12-28 2003-07-03 Chang Albert H. Network boot system and method using remotely-stored, client-specific boot images created from shared, base snapshot image
US7434042B2 (en) * 2003-04-24 2008-10-07 Fujitsu Limited Apparatus, method and recording medium for starting up data processing system
US20040225874A1 (en) * 2003-05-09 2004-11-11 Jeremy Burr Method for reduced BIOS boot time
US7694123B2 (en) * 2006-03-28 2010-04-06 Hewlett-Packard Development Company, L.P. Storing files for operating system restoration
US7966484B1 (en) * 2009-01-14 2011-06-21 Cms Products, Inc. Automatic alternating bootable storage devices between different kinds of boot files

Non-Patent Citations (11)

* Cited by examiner, † Cited by third party
Title
appassure.com,"protecting and recovering an EFI system"; 14 pages, Dated *
appassure.com,"protecting and recovering an EFI system"; 14 pages, Dated January 18, 2012 *
Digitalsupporttech.com," Mirroring boot partition in Windows Server 2008 ", 8 pages, Dated 05/06/2008 *
http://www.ehow.com/how_12090268_back-up-bcd-store.html, " How to back up the BCD store "; 3 pages, Dated Jan 15, 2008 *
insanelymac.com,"EFI Post Install Script -fully automatized"; 15 pages, Dated 12/08/2008 *
Multibooters.co.uk," Dual/Multi Booting with Vista "; 1 page, Dated 02/18/2007 *
Smallvoid.com," Restore boot manager when it is missing or compressed "; 24 pages, Dated 10/30/2007 *
support.microsoft.com, "How to establish and boot to GPT mirrors on 64-bit Windows"; 10 pages, Dated 03/31/2008 *
support.microsoft.com,"the Setupldr.efi file cannot read the automated system recovery disk or the Winnt.sif file from a USB floppy drive in Windows Server 2003"; 5 pages, Dated 07/24/2007 *
Techarena.in, " How to move BCD Boot manager files in Vista to another partition "; 6 pages, Dated 08/25/2008 *
Vistaheads.com," HKEY_LOCAL_MACHINE_BCD00000000 ", 3 pages, Dated 09/12/2007 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013097095A1 (en) * 2011-12-27 2013-07-04 华为技术有限公司 Method for backing up startup information about storage device
US20160210163A1 (en) * 2015-01-15 2016-07-21 AVAST Software s.r.o. Rebooting to a uefi application from a uefi supported system
US9792130B2 (en) * 2015-01-15 2017-10-17 AVAST Software s.r.o. Rebooting to a UEFI application from a UEFI supported system
US20170329594A1 (en) * 2015-01-16 2017-11-16 Hewlett-Packard Development Company, L.P. Communicating a data image for installing an operating system
US11354107B2 (en) * 2015-01-16 2022-06-07 Hewlett-Packard Development Company, L.P. Communicating a data image for installing an operating system
US10394760B1 (en) * 2015-04-16 2019-08-27 Western Digital Technologies, Inc. Browsable data backup
US20170140146A1 (en) * 2015-11-13 2017-05-18 Microsoft Technology Licensing, Llc Unlock and recovery for encrypted devices
US10078748B2 (en) * 2015-11-13 2018-09-18 Microsoft Technology Licensing, Llc Unlock and recovery for encrypted devices
US20180357412A1 (en) * 2015-11-13 2018-12-13 Microsoft Technology Licensing, Llc Unlock and recovery for encrypted devices
US10713350B2 (en) * 2015-11-13 2020-07-14 Microsoft Technology Licensing, Llc Unlock and recovery for encrypted devices
CN108733501A (en) * 2017-04-14 2018-11-02 优估(上海)信息科技有限公司 A kind of drive bearing calibration, device, equipment and computer readable storage medium
CN111258817A (en) * 2020-01-17 2020-06-09 深圳宝龙达信创科技股份有限公司 Recovery method of basic input and output system, terminal equipment and storage medium

Also Published As

Publication number Publication date
US8788801B2 (en) 2014-07-22

Similar Documents

Publication Publication Date Title
US8788801B2 (en) Backup and recovery of systems by restoring a backup boot configuration data (BCD) with installation files from an operating system install disk
EP1915680B1 (en) Archiving data in a virtual application environment
US8347137B1 (en) System and method for bare metal restore of a computer over a network
US8209290B1 (en) Generic granular restore of application data from a volume image backup
US20040255106A1 (en) Recovery of operating system configuration data by firmware of computer system
US7805631B2 (en) Bare metal recovery from backup media to virtual machine
US7600127B2 (en) System and method for ISO image update and ISO image deconstruction into modular components
US9329943B2 (en) Methods and systems for instant restore of system volume
US8132187B2 (en) Driver installer usable in plural environments
US10146556B2 (en) System and method to perform an OS boot using service location protocol and launching OS using a dynamic update of network boot order without a reboot
US8539213B2 (en) Manageability extension mechanism for system firmware
US20040088694A1 (en) Systems and methods for updating software
US20140195791A1 (en) Methods and systems for instant restore of system volume
US11144328B2 (en) System method to update failover process by running basic input/output (BIOS) system boot code from non-volatile memory express device (NVME)
US20080115134A1 (en) Repair of system defects with reduced application downtime
JP2007250003A (en) Computer system for dynamically verifying compatibility of resource, method and recording medium
JP2010134941A (en) Method and system for creating operating system image on target medium, and recovery medium
US7480793B1 (en) Dynamically configuring the environment of a recovery OS from an installed OS
CN110162429B (en) System repair method, server and storage medium
GB2434667A (en) Maintaining System Management BIOS in a computer system
US20100037092A1 (en) System and method for backup, reboot, and recovery
US9846621B1 (en) Disaster recovery—multiple restore options and automatic management of restored computing devices
US20090070626A1 (en) Methods and systems for operating system bare-metal recovery
US6523103B2 (en) Disablement of a write filter stored on a write-protected partition
US11416614B2 (en) Statistical detection of firmware-level compromises

Legal Events

Date Code Title Description
AS Assignment

Owner name: COMPUTER ASSOCIATES THINK, INC., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WANG, JINQIANG;LI, XUAN;REEL/FRAME:023726/0352

Effective date: 20090814

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: CA, INC., NEW YORK

Free format text: MERGER;ASSIGNOR:COMPUTER ASSOCIATES THINK, INC.;REEL/FRAME:033064/0103

Effective date: 20120327

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20220722