The present description may be better understood from the following detailed description read in light of the accompanying drawings, wherein:
Like reference numerals are used to designate like parts in the accompanying drawings.
The detailed description provided below in connection with the appended drawings is intended as a description of the present examples and is not intended to represent the only forms in which the present example may be constructed or utilized. The description sets forth the functions of the example and the sequence of steps for constructing and operating the example. However, the same or equivalent functions and sequences may be accomplished by different examples.
The examples below describe a process and a system for a server to provide a restore OS via a network boot to enable the restoration of a backup to a client computer. Although the present examples are described and illustrated herein as being implemented in client PCs and a server with a hard drive system, the system described is provided as an example and not a limitation. As those skilled in the art may appreciate, the present examples are suitable for application in a variety of different types of variety of different types of computing processor in computer restoration systems.
The present example provides a way for a server to provide a restore OS via a network boot to enable the restoration of a backup to a client computer. This allows an operating system, applications, and user data to be restored when the client computer is booted from a network. Before describing the present example a conventional network will first be described.
A person skilled in the art would recognize that the local area network 100 may connect to any number of other local area networks, and that such connections could be made a number of ways including, but not limited to, the internet, an intranet, satellite connections, or wireless connections, or any combination of the possible connections. The local area network 100 may also stand alone, and not be connected to any other local area networks or wide area networks. Those skilled in the art would also realize that a number of other components may be present such as routers, switches and the like may also be present to facilitate networking.
Server computer 110 is conventionally constructed and includes a mass storage device 108 having a plurality of conventional operating system installation files disposed on it. Such a mass storage system can include individual hard drives or networked hard drives such as RAID drives or the like.
Client computers 102, 104, and 106 are conventionally constructed and may be initialized by conventional methods. For example the client computers may be conventional PCs, computers, processors, microcontrollers or the like. Next an example of a network capable of for restoring backup images to computers via a network boot will be described.
Server computer 210 includes a mass storage device 202 having a plurality of backup images disposed on it. A person skilled in the art may recognize that there could be multiple restore images for any one client, and that there may be clients for which there is no corresponding backup image. Server computer 210 also has restore OS 204 disposed on mass storage device 202. Restore OS 204 is an operating system that may be booted via the network from a plurality of client computers.
Having a server containing backup images for client computers may allow a client computer to use a boot from network option, and then restore a backup image rather than doing a clean install of an operating system. This would allow the restoration of user files, application files and settings, and any other types of information that had been on the client computer at the time the backup was taken in addition to installing the operating system.
A network server computer 110 typically has a plurality of conventional operating system installation files, 302 and 304. First client computer 102 has a mass storage system 312, which contains an operating system, application, and data files. Because of a problem with the mass storage device, a user on computer 102 may desire to re-initialize the computer by obtaining the standard operating system 1 installation files 302 from Server 110 by performing a first initialize operation or transform 320. An initialization operation may be the clean installation of an operating system, replacing what is currently on computer 102. This may be initiated via a network boot, allowing a setup process to be run on computer 102 to begin a fresh operating system installation. This may cause the operating system, application, and data files on computer 102 to be replaced with the standard operating system 1 installation files 302, resulting in application and data file loss.
Similarly, a user at the second client computer 104 may re-initialize the local mass storage device 314 with the same operating system image 302, resulting in the loss of application and data files on 314. Server 110 may contain more than one set of standard operating system installation files; for example standard operating system 1 installation files 302 may contain a client operating system, standard operating system 2 installation files 304 may contain a server operating system.
Thus a user at Nth client computer 316 may use initialize operation 324 to replace the operating system, application, and data files on mass storage device 318 with standard operating system installation files 304, which may result in the loss of application and data files formerly on mass storage device 316. A person skilled in the art may recognize that first server computer 110 may have any number of standard operating system installation files disposed on a mass storage device 108, and that the mass storage device may include, an internal hard drive, an external hard drive, CD or DVD drives, USB devices, or other external or internal computer readable media.
This type of operating system initialization can allow loss of application data, loss of user settings, and a loss of other information that may have been added or changed after the operating system was first installed on the client computer. The example described below may provide a more extensive backup system.
A server computer 210 has a restore OS and application 400, as well as three sets of backup files, 402, 404, and 406 disposed on a mass storage device 202. Restore OS and application 400 could consist of an operating system that is bootable over a network and an application that would allow the restoration of backup files. First client computer 208 has a mass storage system 410, which contains an operating system, application, and data files. Because of a problem with the mass storage device, a user on computer 208 may desire to restore the computer by obtaining the first client backup image 402 from server 210 by performing first restore operation 320. Initializing first client computer 208 via a network boot to load restore OS and application 400 may allow the user to invoke the restore application to restore a backup 402. This may cause the operating system, application, and data files on computer 308 to be replaced with the first client backup image 402 stored on server 210, resulting in application and data file recovery including changes made up to the time the backup image was created.
Similarly, a user at the second client computer 212 may re-initialize the local mass storage device 414 with the second client backup image 404, restoring all data and applications to the state they had been at the time the backup image was created.
A person skilled in the art may recognize that first server computer 210 may include a plurality of backup images; including multiple images for some client computers, while there may be no images for some other client computers. These backup images may be disposed on mass storage device 202. The mass storage device may include an internal hard drive, an external hard drive, CD or DVD drives, USB devices, or other external or internal computer readable media or the like. The backup and disposition of backup files may be accomplished by a process for restoring backup images. A person skilled in the art may also recognize that multiple mass storage devices may be used to hold backup images, and that some backup images may be spread across multiple mass storage devices.
Once the backup image to restore is selected, a process to restore the image sector-by-sector may be performed 506. The process 506 includes obtaining a sector from the server 510, and writing the sector to a local disk 512. Next the process checks if all sectors have been copied 508. If not 522, the client computer may obtain the next sector data from the server 510, and write that data to the local disk 512. The process may then loop back to check if all sectors are completed. Once all sectors are determined to be completed 520 the process may end 514, and the restore is typically complete. The process described above may be initiated by an automatic process, by a process using a user interface, or an equivalent method.
For example the computing environment 802 can be implemented with numerous other general purpose or special purpose computing system configurations. Examples of well known computing systems, may include, but are not limited to, personal computers, hand-held or laptop devices, microprocessor-based systems, multiprocessor systems, set top boxes, gaming consoles, consumer electronics, cellular telephones, PDAs, and the like.
The computer 802 includes a general-purpose computing system in the form of a computing device 208, display 822, I/O device 803, and peripheral drive 804. The components of computing device 208 can include one or more processors (including CPUs, GPUs, microprocessors and the like) 807, a system memory 809, and a system bus 808 that couples the various system components. Processor 807 processes various computer executable instructions, including those to control the operation of computing device 208 and to communicate with other electronic and computing devices (not shown). The system bus 808 represents any number of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures.
The system memory 809 includes computer-readable media in the form of volatile memory, such as random access memory (RAM), and/or non-volatile memory, such as read only memory (ROM). A basic input/output system (BIOS) is stored in ROM. RAM typically contains data and/or program modules that are immediately accessible to and/or presently operated on by one or more of the processors 807.
Computing device 802 may include other removable/non removable, volatile/non-volatile computer storage media. By way of example, a hard disk drive 810 reads from and writes to a non-removable, non-volatile magnetic media (not shown). Such a hard disk 810 may include a magnetic disk drive which reads from and writes to a removable, non volatile magnetic disk (e.g., a “floppy disk”) 805, or an optical disk drive that reads from and/or writes to a removable, non-volatile optical disk such as a CD ROM or the like. In this example, the hard disk drive 810, and disk drive 804 are each connected to the system bus 808 by one or more data media interfaces 812. The disk drives and associated computer readable media provide non volatile storage of computer readable instructions, data structures, program modules, and other data for computing device 702.
Mass storage devices (or peripheral drive) 804 may be coupled to the computing device or incorporated into the computing device by coupling to the bus 808. Such peripheral drive 804 may include a magnetic disk drive which reads from and writes to a removable, non volatile magnetic disk (e.g., a “floppy disk”) 805, or an optical disk drive that reads from and/or writes to a removable, non-volatile optical disk such as a CD ROM or the like 806. This mass storage device may be representative of those storing the image or those being backed up. In the example described above the plurality of backups and process for restoring backups (202 of
Any number of program modules or processes can be stored on the hard disk 810, or peripheral drive 804, including by way of example, backup files, an operating system, one or more application programs, other program modules, and program data. Each of such operating system, application programs, other program modules and program data (or some combination thereof) may include an embodiment of the systems and methods described herein.
A display device 822 can be connected to the system bus 808 via an interface, such as a video adapter 820. A user can interface with computing device 208 via any number of different input devices 803 such as a keyboard, pointing device, joystick, game pad, serial port, and/or the like. These and other input devices are connected to the processors 807 via input/output interfaces 812 that are coupled to the system bus 808, but may be connected by other interface and bus structures, such as a parallel port, game port, and/or a universal serial bus (USB).
Computing device 802 can operate in a networked environment using connections to one or more remote computers through one or more local area networks (LANs), wide area networks (WANs) and the like. The computing device 208 is connected to a network 200 via a network adapter 813 or alternatively by a modem, DSL, ISDN interface or the like.