A computer program listing appendix is submitted herewith on one compact disc and one duplicate compact disc. The total number of compact discs including duplicates is two. The files on the compact discs are software object code for carrying out the preferred embodiment of the invention.
Their names, dates of creation, directory locations, and sizes in bytes of the compact disc are:
42541.hex of Feb. 28, 2002 located in the root folder and of length 124,437,726 bytes.
The files are referred to herein as Appendix 1. The material on the compact discs is incorporated by reference herein.
The present invention relates to systems and methods for backup and recovery of information used with geographically dispersed information processing environments.
The following U.S. Patents are believed to represent the current state of the art:
U.S. Pat. Nos. 6,148,383; 5,734,818; 5,577,222 and 5,446,871.
The present invention seeks to provide improved systems and methods for backup and recovery of data for geographically dispersed information processing environments and storage area networks.
There is thus provided in accordance with a preferred embodiment of the present invention a data backup and recovery system for use with at least one server interconnected with at least one storage device, the data backup and recovery system including at least one data recovery device, at least one data recovery storage device associated with and controlled by the at least one data recovery device and at least one data communication monitor for providing to the at least one data recovery device at least control information bearing an order stamp regarding data communications between corresponding ones of the at least one server and the at least one storage device, the at least one data recovery device being responsive to at least the control information bearing an order stamp for storing data on the at least one data recovery storage device in a manner which enables reconstruction of a representation of the data communications at a given earlier time but does not require that the data be sent to the at least one data recovery device in a given order or stored on the at least one data recovery storage device in a given order.
There is also provided in accordance with a preferred embodiment of the present invention a data backup and recovery system for use with at least one server interconnected with at least one storage device, the data backup and recovery system including at least one data recovery device, at least one data recovery storage device associated with and controlled by the at least one data recovery device and data communication monitors for providing to the at least one data recovery device at least control information bearing an order stamp regarding data communications between corresponding ones of the at least one server and the at least one storage device, the at least one data recovery device being operative to receive the at least control information and to store data on the at least one data recovery storage device in parallel and not requiring that the data be received by the at least one data recovery device in a given order.
There is further provided in accordance with a preferred embodiment of the present invention a method for data backup and recovery for use with at least one server interconnected with at least one storage device, including providing at least one data recovery device, providing at least one data recovery storage device associated with and controlled by the at least one data recovery device and providing at least one data communication monitor operative to perform monitoring the data communication between the at least one server and the at least one storage device, creating at least control information bearing an order stamp regarding the data communications between corresponding ones of the at least one server and the at least one storage device and sending the monitored data communications and the control information to the at least one data recovery device, the at least one data recovery device responding to the at least control information in a manner which enables reconstruction of a representation of the data communications at a given earlier time but not requiring that the sending the monitored data communications and the control information to the at least one data recovery device be in a given order or stored on the at least one data recovery storage device in a given order.
There is yet further provided in accordance with a preferred embodiment of the present invention a method for data backup and recovery for use with at least one server interconnected with at least one storage device, including providing at least one data recovery device, providing at least one data recovery storage device associated with and controlled by the at least one data recovery device, providing at least one data communication monitor operative to perform monitoring the data communication between the at least one server and the at least one storage device, creating at least control information bearing an order stamp regarding the data communications between corresponding ones of the at least one server and the at least one storage device and sending the monitored data communications and the control information to the at least one data recovery device, receiving the at least control information by the at least one data recovery device, and storing the data on the at least one data recovery storage device in parallel and without requiring that the data be received by the at least one data recovery device in a given order.
Preferably, the data communication monitors are located other than only at the at least one storage device.
In accordance with a preferred embodiment of the present invention, the data communication monitors also provide at least part of the data communications to the at least one data recovery device.
Preferably, the at least one data recovery device is operative to receive the at least control information and to store data on the at least one data recovery storage device in parallel.
In accordance with a preferred embodiment of the present invention the data communications comprise data updates.
In accordance with another preferred embodiment of the present invention, the reconstruction of a representation of the data communications at a given earlier time guarantees that if the order stamp of a first update is smaller than the order stamp of a second update, the second update is not stored on the at least one data recovery storage device unless the first update is stored on the at least one data recovery storage device.
Preferably, the data communication monitors are associated with individual ones of the at least one server. Alternatively, the data communication monitors are associated with network elements of a storage area network.
In accordance with a preferred embodiment of the present invention, at least one of the control information and the data communications is communicated from the data communication monitors to the data recovery device via a network. Preferably, the network is a private network. Alternatively, the network is a public network. Alternatively, at least one of the control information and the data communications is communicated from the data communication monitors to the data recovery device via a storage area network.
In accordance with another preferred embodiment of the present invention, the data communication monitors provide at least part of the data communications to the at least one data recovery storage device other than via the at least one data recovery device.
In accordance with yet another preferred embodiment of the present invention, the data backup and recovery system also includes at least one LOG storage device wherein the at least one LOG storage device includes at least control information bearing a time mark regarding data communications between corresponding ones of the first plurality of servers and the plurality of storage devices via the storage area network. Preferably, the data communication monitors also store at least part of the data communications to the at least one LOG storage device. Additionally, the data communications stored to the at least one LOG storage device include data updates sent by the first plurality of servers to the second plurality of storage devices.
In accordance with still another preferred embodiment of the present invention, the data backup and recovery system has at least one storage device LOG such that if either the control information or the data communications, or both, are prematurely erased from the at least one data recovery device due to a failure or other event, the at least one data recovery device restores either the control information or the data communications, or both, from the at least one storage device LOG. Additionally, the at least one data recovery device resumes its activities with the restored data from the at least one storage device LOG.
Preferably, the at least one data recovery device retrieves the at least part of the data communications from the at least one storage device LOG for the purpose of storing the data to at least one data recovery storage device associated therewith in the time ordered manner.
In accordance with yet another preferred embodiment of the present invention, the at least part of the data communications is communicated from the data communication monitors to the at least one storage device LOG via a network. Preferably, the network is a private network. Alternatively, the network is a public network. In accordance with another preferred embodiment, the at least part of the data communications is communicated from the data communication monitors to the at least one storage device LOG via the storage area network.
In accordance with yet another preferred embodiment, the at least one data recovery device retrieves both the control information and the at least part of the data communications from at least one storage device LOG for the purpose of storing the data to at least one data recovery storage device associated therewith in the time ordered manner.
In accordance with yet another preferred embodiment of the present invention, both the control information and the at least part of the data communications are communicated from the data communication monitors to the at least one storage device LOG via a network. Preferably, the network is a private network. Alternatively, the network is a public network. In another preferred embodiment, both the control information and the at least part of the data communications are communicated from the data communication monitors to the at least one storage device LOG via the storage area network.
Preferably, the reconstruction includes sending the data communications from the at least one data recovery storage device to the at least one storage device. Additionally, the reconstruction includes employing the at least one data backup and recovery system as at least one of the at least one server and the at least one storage device.
In accordance with another preferred embodiment, the at least one server and the at least one storage device are interconnected via a local area network (LAN). Alternatively, the at least one server and the at least one storage device are interconnected via a storage area network (SAN).
In accordance with still another preferred embodiment, the at least one storage device is a network attached storage (NAS) device.
In accordance with another preferred embodiment, the at least one data communication monitor monitors data communications between the at least one server and the at least one storage device over the LAN. Alternatively, the at least one data communication monitor monitors data communications between the at least one server and the at least one storage device over the SAN.
Preferably, the at least one server includes the at least one data communication monitor. Alternatively, the at least one storage device includes the at least one data communication monitor.
In accordance with another preferred embodiment, the SAN includes the at least one data communication monitor.
The present invention will be understood and appreciated more fully from the following detailed description, taken in conjunction with the drawings in which:
Appendix 1 is a computer listing which forms a preferred software embodiment of the present invention.
Reference is now made to
It is appreciated that the information processing site 12 and the information backup and recovery site 14 may be situated at a single geographic location or a multiplicity of geographically dispersed locations. It is also appreciated that any suitable data communication technology or combination of data communication technologies may be used to interconnect the information processing site 12 with the information backup and recovery site 14 of the information processing environment 10. For example, interconnection 16 may comprise wire line communication facilities as well as wireless communication facilities, including radio communication and satellite communication.
As further seen in
The information backup and recovery site 14 preferably comprises at least one information backup and recovery server 30, at least one information storage device 32 and at least one communication gateway 34. The information backup and recovery server 30, the information storage device 32 and the communication gateway 34 are preferably interconnected by interconnection 36, such as a LAN. As described hereinbelow with reference to
In accordance with a preferred embodiment of the present invention, the information processing site 12, in particular the monitoring server 24, sends backup information 40, preferably in accordance with embodiments described hereinbelow with reference to
Recovery of backup information 40, that has been received at the information backup and recovery site 14 from the information processing site 12, is provided for, preferably in accordance with embodiments described hereinbelow with reference to
Alternatively, in the event of failure of information processing site 12, the backup and recovery site 14 is used as an information processing site instead of the failed information processing site 12. In an alternative embodiment of the present invention, when part of the information processing site 12 remains functional, portions of the backup and recovery site 14 are configured to work together with the functional portions of information processing site 12. For example, in the event of failure of the storage device 22, the remaining portions of information processing site 12 would be connected via the interconnection 16 to the backup and recovery site 14 that would function as the information storage device 22.
Reference is now made to
The information processing devices 20 typically communicate input-and-output (I/O) requests 60, over the LAN 50, to the application servers 54, which, in turn, communicate the corresponding storage I/O requests 62 to the information storage devices 22 via the SAN 56. It is appreciated that the application servers 54 may convert each I/O request 60 into a plurality of storage I/O requests 62. The monitoring server 24 monitors the storage I/O requests 62 over the SAN 56, as indicated by stream of data 63, and sends the corresponding backup information records 64, via the LAN 50, the communication gateway 26 and the interconnection 16, to the information backup and recovery site 14.
Reference is now made to
Reference is now made to
Reference is now made to
Reference is now made to
Reference is now made to
Reference is now made to
It is appreciated that in any of the embodiments of
Reference is now made to
In accordance with the preferred embodiment of the present invention illustrated in
Each of the information processing jobs 106 has a stream of data 120 which flows to the data switching facility 104. The streams of data 120 of the data processing jobs 110, 112, 114, 116 and 118 are respectively specifically designated by reference numerals 122, 124, 126, 128 and 130. Each stream of data 120 comprises a sequence of data records 132, which are converted by data switching facility 104 into data records 134. The data records 132 are typically identical to the I/O requests 60 and the data records 134 are typically identical to the storage I/O requests 62 of
It is appreciated that the intra-sequence order of the data records 132 within a stream of data 120 is at least partially a material feature of the processing job 106. It is also appreciated that the inter-sequence order of data records 132 between some of the streams of data 120 may be at least partially a material feature of the corresponding information processing jobs 106. Consequently, it is appreciated that the intra-sequence and the inter-sequence order of data records 134 may be at least partially a material feature of the information processing jobs 106. For example, if the data records 134 are not written to the information storage devices 22 in the appropriate order, the integrity of the information may be adversely affected. It is further appreciated that the transmission time delay between records 132, within a stream of data 120 or between streams of data 120, may be variable or even practically random. The overall order in which the data records 132 are received by the data switching facility 104 is designated by the letter T followed by a numeral that represent the inter-sequence order of the data records 132. Namely, a data record designated by T7 always follows a data record T6 and precedes a data record T8. For example, data record A3T7 follows the data record B4T6 and precedes the data record D2T8.
As seen in
As seen in
It is appreciated that in order to ensure the integrity of the information in the information storage devices 22, the data records 134 must be written to the information storage devices 22 in the order they are received by the interconnection 28. It is especially important that the writing of a data record 134 must be finished before the writing of a related and later data record 134 is started. This requirement is equally valid for I/O operations in the information processing site 12 and for I/O operations in the information backup and recovery site 14. Preferably, the inter-sequence order values are implemented as time values, where such time value typically represents the time in which the respective data record 132 is received at the interconnection 28. In a preferred embodiment of the present invention, the monitoring server 24 creates a backup information record 64 and sends it to the information backup and recovery site 14 as soon as the corresponding data record 132 is received by interconnection 28 and detected by the monitoring server 24.
Referring now to
Reference is now made to
As seen in
It is appreciated that the order in which the backup information records 64 are received at the information backup and recovery site 14 may be different from the order in which backup information records 64 are sent by the monitoring server 24 of the information processing site 12, as seen in
The backup information records 64 are marked by the monitoring server 24 with corresponding order stamps 162. The order stamps 162 designate the order in which the corresponding backup information records 64 are received by the interconnection 28. In the embodiment of
In another preferred embodiment of the present invention, the order stamp 162 comprises a time mark that designates the order of arrival of the I/O requests 60 or the storage I/O requests 62 at the interconnection 28 and their detection by the monitoring server 24.
Reference is now made to
In the embodiment shown in
In the embodiment of
As seen in
In a preferred embodiment of the present invention, the backup and recovery servers 30 store the backup information records 64 that are received out of sequence in the temporary memory 186, until the sequence is completed. Typically, the information backup and recovery site 14 verifies that a sequence is completed by checking the order stamps 162 of the backup information records 64 in the temporary memory. Preferably, the order stamps 162 are a sequence of integer numbers and the information backup and recovery site 14 verifies that a complete sequence of one or more order stamps 162 exists in the temporary memory. When a complete sequence of order stamps 162, corresponding to backup information records 64, following the earliest available order stamp 162 is found in temporary memory, the information backup and recovery site 14 writes this sequence of backup information records 64 to the data storage devices 32. Preferably, the backup information records 64 are written to the data storage devices 32 in their respective order according to their order stamps 162.
For example, as shown in
As also seen in
In a preferred embodiment of the present invention the backup and recovery servers 30 check the storage addresses where the backup information records 64 are to be written to. The backup information records 64 that are not being sent to the same data storage devices 32 are written in parallel, not necessarily according to the order of their order stamps 162.
In a preferred embodiment of the present invention, the backup and recovery servers 30 check the storage addresses where the backup information records 64 are to be written to. If more than one backup information record 64 is to be written to the same place in the data storage devices 32, the backup and recovery server 30 writes only the last backup information record 64 to be written to that same place. It is appreciated that this procedure enables the backup and recovery server 30 to quickly purge the temporary memory 186 to the data storage devices 32.
It is appreciated that each sequence completion serves as a point of synchronization between the information processing site 12 and the information backup and recovery site 14, or as a point of consistency of the backup information received at the information backup and recovery site 14.
It is appreciated that in case of a failure of the backup and recovery site 14 during the process of writing backup information records 64 to the information storage devices 32 an internal recovery process can employ the information stored in the temporary memory 186, especially when implemented in non-volatile memory or as a log file in the disk storage system, to recover backup information up and until the latest backup information record 64 in the temporary memory 186 for which the sequence of order stamps 162 is complete.
It is appreciated that the information recovery process, which follows a failure of the information processing site 12, can recover the information up to the latest backup information record 64, which may still reside in the temporary memory 186, provided that information consistency is preserved, for example, up and until the latest backup information record 64 for which the sequence of order stamps is complete.
In an alternative embodiment of the information backup and recovery site 14 of the present invention, designated as “log-based backup”, the order by which the backup information records 64 are stored in the information storage devices 32 is immaterial, and, for example, can be the order of their arrival at the information switching facility 170. In this embodiment, the backup information records 64 and the corresponding order stamps 162 are stored in the data storage devices. Alternatively, the order stamps 162 are stored separately from the backup information records 64, for example, in a separate file or even in a separate information storage device 32, and are associated with their respective backup information records 64, for example, with a pointer embedded in each order stamp 162 pointing to the respective backup information record 64. In this embodiment, the backup information records 64 stored in the information storage devices 32 of the information backup and recovery site 14 are used in the recovery process. The recovered data-structure can be rebuilt in the information processing site 12 or in the information backup and recovery site 14.
It is appreciated that in the case of a failure of the information processing site 12, all the storage I/O requests 62 that have not yet been sent to the backup and recovery site 14 are lost.
In the preferred embodiment of the present invention, shown and described with reference to
Additionally, in the preferred embodiment of the present invention described above, there is no requirement to define the points of synchronization in advance. Advance definition of the points of synchronization typically results in relatively low frequency of points of synchronization. Thus, in the case of a failure of the information processing site 12, I/O requests 62 that are received at the information backup and recovery site 14 since the last synchronization point are deemed lost, even if these I/O requests 62 are already written to the information storage devices 32. Also, synchronization at the information processing site 12 causes delays in the sending of the backup information records 64 and therefore increases the possibility of congestion, and decreases the efficiency, of the interconnection 16.
Thus, the present invention provides for less potential data loss in the event of a failure of the information processing site 12, as well as increased efficiency of the interconnection 16.
Reference is now made to
Reference is now made to
Reference is now made to
Reference is now made to
As seen in
As seen in
Optionally, as shown and described in
The procedure then proceeds to steps 218 and 220 in which all the backup information records 64 in the temporary memory 186, with a time mark earlier or equal to the “next consistency point”, are written to the information storage devices 32 and then erased from the temporary memory 186.
Reference is now made to Appendix 1, which is a computer listing which forms a preferred software embodiment of the present invention.
A preferred method for installing and running the software listing of the CD-ROM Appendix 1 is as follows:
1. SANSafe Management Server Installation:
1.1. Provide an Intel compatible computer with a minimum of 512 MB RAM, 350 Mhz CPU, 30 Gigabyte Hard disk, and a network interface card. Install a Microsoft Windows 2000 operating system and Microsoft Internet Explorer. Ensure that the Virtual memory page size is configured to allow growth to 4 gigabytes.
1.2. Provide connectivity via a Local Area Network and/or a Wide Area Network.
1.3. Unhex the computer listing 42541.HEX of Appendix 1 using HEX IT V1.8 or greater by John Augustine, 3129 Earl St., Laureldale, Pa. 19605 creating file 42541.ZIP.
1.4. Decompress the file 42541.ZIP using WINZIP version 6.2 or greater, extracting all files into their respective directories utilizing the WINZIP version 6.2 option “Use folder names”.
1.5. Open the Windows explorer.
1.6. Double click on the Management Server directory labeled “MGMT Server SetUp”.
1.7. Double click on the setup icon.
1.8. Follow the default prompts provided therein.
2. SANSafe Management Client Installation
2.1. Provide an Intel compatible computer with a minimum of 128 MB RAM, 350 Mhz CPU, and a network interface card. Install a Microsoft Windows 2000 operating system and Microsoft Internet Explorer.
2.2. Provide connectivity via a Local Area Network and/or a Wide Area Network.
2.3. Unhex the computer listing 42541.HEX of Appendix 1 using HEX IT V1.8 or greater by John Augustine, 3129 Earl St., Laureldale, Pa. 19605 creating file 42541.ZIP.
2.4. Decompress the file 42541.ZIP using WINZIP version 6.2 or greater, extracting all files into their respective directories utilizing the WINZIP version 6.2 option “Use folder names”.
2.5. Open the Windows explorer.
2.6. Double click on the Management Client directory labeled “MGMT Client SetUp”.
2.7. Double click on the setup icon.
2.8. Follow the default prompts provided therein.
3. Replication Appliance Installation
3.1. Provide an Intel compatible computer with a minimum of 512 MB RAM, 350 Mhz CPU, 30 Gigabyte Hard disk, and a network interface card. Install a Microsoft Windows 2000 operating system and Microsoft Internet Explorer. Ensure that the Virtual memory page size is configured to allow growth to 4 gigabytes.
3.2. Provide connectivity via a Local Area Network and/or a Wide Area Network.
3.3. Unhex the computer listing 42541.HEX of Appendix 1 using HEX IT V1.8 or greater by John Augustine, 3129 Earl St., Laureldale, Pa. 19605 creating file 42541.ZIP.
3.4. Decompress the file 42541.ZIP using WINZIP version 6.2 or greater, extracting all files into their respective directories utilizing the WINZIP version 6.2 option “Use folder names”.
3.5. Open the Windows explorer.
3.6. Double click on the Replication Appliance directory labeled “Replication Appliance SetUp”.
3.7. Double click on the setup icon.
3.8. Follow the default prompts provided therein.
4. Installing the Replication Agent
4.1. Provide an Intel compatible computer with a minimum of 512 MB RAM, 350 Mhz CPU, 30 Gigabyte Hard disk, and a network interface card. Install a Microsoft Windows 2000 operating system and Microsoft Internet Explorer. Ensure that the Virtual memory page size is configured to allow growth to 4 gigabytes.
4.2. Provide connectivity via a Local Area Network and/or a Wide Area Network.
4.3. Unhex the computer listing 42541.HEX of Appendix 1 using HEX IT V1.8 or greater by John Augustine, 3129 Earl St., Laureldale, Pa. 19605 creating file 42541.ZIP.
4.4. Decompress the file 42541.ZIP using WINZIP version 6.2 or greater, extracting all files into their respective directories utilizing the WINZIP version 6.2 option “Use folder names”.
4.5. Open the Windows explorer.
4.6. Double click on the Replication Agent directory labeled “Replication Agent SetUp”.
4.7. Double click on the setup icon.
4.8. Follow the default prompts provided therein.
5. Running the SANSafe Management Server
5.1. On the computer terminal referenced in step 1.1:
5.1.1. Ensure connectivity via a Local Area Network to the Replication appliance referenced in step 3.
5.1.2. Click on “Start”
5.1.3. Select “Programs”
5.1.4. Click on “SANSafe Management Server”
6. Running the SANSafe Management Client
6.1. On the computer terminal referenced in step 2.1:
6.1.1. Ensure connectivity via a Local Area Network and/or a Wide Area Network to the Management Server machine referenced in step 1 above.
6.1.2. Open the Microsoft Internet Explorer Browser.
6.1.3. Open MGMT/SANSafe/SanPro.html.
7. Running the Replication Appliance
7.1. On the computer terminal referenced in step 3.1:
7.1.1. Ensure connectivity via a Local Area Network and/or a Wide Area Network to the Replication Agent referenced in step 4 above.
7.1.2. Click on “Start”
7.1.3. Select “Programs”
7.1.4. Click on “SANSafe Replication Appliance”
8. Running the Replication Agent
8.1. On the computer terminal referenced in step 4.1:
8.1.1. Ensure connectivity via a Local Area Network and/or a Wide Area Network to the Replication Appliance machine referenced in step 3 above.
8.1.2. Right click on the “my computer” icon
8.1.3. Select “Manage”
8.1.4. Double Click on “Services and Applications”
8.1.5. Double click on “Services”
8.1.6. Right click on “SANSafe Replication Agent”
8.1.7. Select “Start”
It is appreciated that the particular embodiment implemented by the appendix is intended only to provide an extremely detailed disclosure of the present invention and is not intended to be limiting.
It will be appreciated by persons skilled in the art that the present invention is not limited by what has been particularly shown and described herein above. Rather the scope of the present invention includes both combinations and subcombinations of the various features described hereinabove as well as variations and modifications which would occur to persons skilled in the art upon reading the specifications and which are not in the prior art.
Applicant hereby claims priority of U.S. Provisional Patent Application Ser. No. 60/272,782, filed Mar. 5, 2001, entitled “A SYSTEM AND A METHOD FOR ASYNCHRONOUS REPLICATION FOR STORAGE AREA NETWORKS”.
Number | Date | Country | |
---|---|---|---|
60272782 | Mar 2001 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10090488 | Mar 2002 | US |
Child | 11487634 | Jul 2006 | US |