Operation of a standby server to preserve data stored by a network server
First Claim
1. A real time backup system comprising:
- at least one primary server for executing a data modification request, each primary server having a primary non-volatile storage medium where the data modification request is saved, wherein the at least one primary server runs a file server operating system;
user means for communicating the data modification request to at least one primary server;
at least one secondary server for executing the data modification request, each having a secondary non-volatile storage medium where the data modification request is saved;
first communication means for communicating the data modification request from the user means to the at least one primary server; and
second communication means for communicating the data modification request from the at least one primary server to the at least one secondary server, wherein the second communication means operates such that the secondary non-volatile storage medium appears to be directly connected with the at least one primary server and wherein the second communication means includes;
a mass storage emulator at the at least one primary server;
a communication link between the at least one primary server and the at least one secondary server; and
a mass storage access program at the at least one secondary server.
10 Assignments
0 Petitions
Accused Products
Abstract
A method for providing rapid recovery from a network file server failure through the use of a backup computer system. The backup computer system runs a special mass storage access program that communicates with a mass storage emulator program on the network file server, making the disks or other mass storage devices on the backup computer system appear like they were disks on the file server computer. By mirroring data by writing to both the mass storage of the file server and through the mass storage emulator and mass storage access program to the disks on the backup computer, a copy of the data on the file server computer is made. Optionally, selected portions of the data read through the mass storage emulator program can be altered before being returned as the result of the read operation on the file server. In the event of failure of the file server computer, the backup computer can replace the file server, using the copy of the file server'"'"'s data stored on its disks. A single backup computer can support a plurality of file server computers. Unlike other redundant file server configurations, this method does not require the backup computer system to be running the file server operating system.
98 Citations
42 Claims
-
1. A real time backup system comprising:
-
at least one primary server for executing a data modification request, each primary server having a primary non-volatile storage medium where the data modification request is saved, wherein the at least one primary server runs a file server operating system;
user means for communicating the data modification request to at least one primary server;
at least one secondary server for executing the data modification request, each having a secondary non-volatile storage medium where the data modification request is saved;
first communication means for communicating the data modification request from the user means to the at least one primary server; and
second communication means for communicating the data modification request from the at least one primary server to the at least one secondary server, wherein the second communication means operates such that the secondary non-volatile storage medium appears to be directly connected with the at least one primary server and wherein the second communication means includes;
a mass storage emulator at the at least one primary server;
a communication link between the at least one primary server and the at least one secondary server; and
a mass storage access program at the at least one secondary server. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. In a computing environment that includes a primary system associated with a primary non-volatile storage medium and a secondary system associated with a secondary non-volatile storage medium, wherein a file operating system is running on the primary system and wherein the secondary system is capable of running the file operating system, a method for backing up the primary non-volatile storage medium in real time, comprising the steps of:
-
receiving a data modification request at the primary system;
modifying the primary non-volatile storage medium in accordance with the data modification request;
communicating the data modification request from the primary system to the secondary system using a mass storage emulator; and
modifying the secondary non-volatile storage medium in accordance with the data modification request using a mass storage access program, wherein the mass storage access program and the mass storage emulator operate such that the secondary non-volatile storage medium appears to be directly connected to the primary system. - View Dependent Claims (8, 9, 10, 11)
-
-
12. In a computing environment that includes a first computer having a first mass storage device, the first computer being interconnected by a communication link to a second computer, the second computer having a second mass storage device, a method for maintaining at the second mass storage device a current copy of data stored on the first mass storage device comprising the steps of:
-
executing, on the first computer, a mass storage emulation program such that the first computer has access to the second mass storage device;
executing, on the second computer, a mass storage access program for accessing the second mass storage device, the mass storage access program being connected to the mass storage emulation program on the first computer by the communication link such that the second mass storage appears to be directly connected with the first computer, wherein the mass storage access program returns an alternative label for the second mass storage device to the primary computer when the second computer is running a file operating system;
identifying data of the first mass storage device, wherein a current copy of the data is to be stored at the second mass storage device;
synchronizing the second mass storage device with the data of the first mass storage device such that the second mass storage device contains an identical copy of the data stored at the first mass storage device;
communicating changes made to the data of the first mass storage device through the mass storage emulation program, over the communications link, to the mass storage access program; and
storing the communicated changes in the copy contained by the second mass storage device. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
transmitting, from the mass storage emulation program to the mass storage access program, a request to read selected data stored in the copy at the second mass storage device; and
transmitting, from the mass storage access program to the mass storage emulation program, the selected data that has been read from the copy at the second mass storage device in response to the request.
-
-
14. A method as recited in claim 12 wherein an operating system function of the first computer communicates changes made to the data of the first mass storage device to the emulation program.
-
15. A method as recited in claim 12 further comprising the step of executing, on the first computer, a special driver that communicates changes made to the data of the first mass storage device to the emulation program.
-
16. A method as recited in claim 12 wherein the first computer and the second computer each run a same operating system.
-
17. A method as recited in claim 12 wherein the first computer and the second computer are peers on a network.
-
18. A method as recited in claim 12 wherein the communication link is a dedicated link between the first computer and the second computer.
-
19. A method as recited in claim 12 wherein the communication link is a network connection between the first computer and the second computer.
-
20. A method as defined in claim 12, wherein the mass storage emulation program permits the first computer to access the second mass storage device as if the second mass storage device were another mass storage device at the first computer.
-
21. A method as recited in claim 12 wherein the method also includes maintaining at the first mass storage device a current copy of data stored on the second mass storage device, comprising the steps of:
-
executing, on the first computer, another mass storage access program for accessing the first mass storage device, the other mass storage access program communicating over the communication link with another mass storage emulation program on the second computer, resulting in the first computer executing both the mass storage emulation program and the other mass storage access program;
executing, on the second computer, the other mass storage emulation program such that the second computer has access to the first mass storage device, resulting in the second computer executing both the other mass storage emulation program and the mass storage access program;
identifying data of the second mass storage device, wherein a current copy of the data of the second mass storage device is to be stored at the first mass storage device;
synchronizing the first mass storage device with the data of the second mass storage device such that the first mass storage device contains an identical copy of the data stored at the second mass storage device;
communicating changes made to the data of the second mass storage device through the other mass storage emulation program, over the communications link, to the other mass storage access program; and
storing, to the copy contained by the first mass storage device, the communicated change of the data of the second mass storage device.
-
-
22. In a computing environment that includes at least one primary computer, each having a primary mass storage device, wherein each primary computer is interconnected through a communication link to a backup computer, the backup computer having a backup mass storage device, a method for maintaining at the backup mass storage device a current copy of data stored on each primary mass storage device comprising the steps of:
-
executing, on each primary computer, a mass storage emulation program such that each primary computer has access to the backup mass storage device such that the backup mass storage device appears to be directly connected to each primary computer;
executing, on the backup computer, a mass storage access program for accessing the backup mass storage device, the mass storage access program being connected to the mass storage emulation program on each primary computer by a communication link associated with the particular primary computer, wherein the backup computer provides an alternative label for the backup mass storage device to each primary server if the backup computer system is running a file operating system such that each primary computer sees a label that is the same as the mass storage device of the respective primary computer;
identifying data of each primary mass storage device, wherein a current copy of the data is to be stored at the backup mass storage device;
synchronizing the backup mass storage device with the data of each primary mass storage device such that the backup mass storage device contains an identical copy of the data stored at each primary mass storage device;
communicating changes made to the data of each primary mass storage device through the mass storage emulation program executing on the particular primary computer, over the associated communication link, to the mass storage access program; and
storing the communicated changes to the copy of the data of the particular primary mass storage device contained by the backup mass storage device. - View Dependent Claims (23, 24, 25, 26, 27)
-
-
28. In a computing environment that includes a first computer having a first mass storage device, the first computer being interconnected by a communication link to a second computer having a second mass storage device, a system for maintaining at the second mass storage device a current copy of data stored on the first mass storage device comprising:
-
mass storage emulation program means, at the first computer, for accessing the second mass storage device from the first computer;
mass storage access program means, at the second computer, for accessing the second mass storage device, wherein the mass storage emulation means operates with the mass storage access program means to make the second mass storage device appear to be directly connected with the first computer;
means for identifying data of the first mass storage device, wherein a current copy of the data is to be stored at the second mass storage device;
means for synchronizing the second mass storage device with the data of the first mass storage device such that the second mass storage device contains an identical copy of the data stored at the first mass storage device;
means for communicating changes made to the data of the first mass storage device from the mass storage emulation program means at the first computer to the mass storage access program means at the second computer; and
means for storing the communicated changes to the copy of the data of the first mass storage device contained by the second mass storage device. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36)
another mass storage access program means, at the first computer, for accessing the first mass storage device, such that the first computer includes both the mass storage emulation program means and the other mass storage access program means;
another mass storage emulation program means, at the second computer, for accessing the first mass storage device from the second computer, such that the second computer includes both the other mass storage emulation program means and the mass storage access program means;
means for identifying data of the second mass storage device, wherein a current copy of the data of the second mass storage device is to be stored at the first mass storage device;
means for synchronizing the first mass storage device with the data of the second mass storage device such that the first mass storage device contains an identical copy of the data stored at the second mass storage device;
means for communicating changes made to the data of the second mass storage device through the other mass storage emulation program means, over the communications link, to the other mass storage access program means; and
means for storing, to the copy contained by the first mass storage device, the communicated changes of the data of the second mass storage device.
-
-
37. In a computing environment that includes at least one primary computer, each having a primary mass storage device, wherein each primary computer is interconnected through a communication link to a backup computer, the backup computer having a backup mass storage device, a system for maintaining at the backup mass storage device a current copy of data stored on each primary mass storage device comprising:
-
mass storage emulation program means, at each primary computer, for accessing the backup mass storage device from the particular primary computer;
mass storage access program means, at the backup computer, for accessing the backup mass storage device, the mass storage access program means being connected to the mass storage emulation program means on each primary computer by a communication link associated with the particular primary computer, wherein the backup mass storage device appears to be directly connected to each primary computer, wherein the backup computer provides an alternative label for the backup mass storage device to each primary server if the backup computer is running a file operating system;
means for identifying data of each primary mass storage device, wherein a current copy of the data is to be stored at the backup mass storage device;
means for synchronizing the backup mass storage device with the data of each primary mass storage device such that the backup storage device contains an identical copy of the data stored at each primary mass storage device;
means for communicating changes made to the data of each primary mass storage device through the mass storage emulation program means executing on the particular primary computer, over the associated communication link, to the mass storage access program means executing on the backup program; and
means for storing the communicated changes to the copy of the data of the particular primary mass storage device contained by the backup mass storage device. - View Dependent Claims (38, 39, 40, 41, 42)
-
Specification