database updates are transmitted from a primary site to a remote site. The technique includes: destaging modified data to a first volume at the primary site for a current database update, performing a first point in time virtual copy of the modified data on the first volume to a second volume at the primary site, synchronizing the second volume with a third volume, at the remote site, by transmitting the modified data of the second volume to the third volume, and performing a second point in time virtual copy of the modified data on the third volume to a fourth volume, at the remote site. database updates at the primary site are thus decoupled from the transmission of the database updates to the remote site, so the first volume remains accessible to a host at the primary site, and the fourth volume remains accessible to a host at the remote site.
|
53. A method for backing up data from a primary site to a remote site, comprising:
(a) destaging modified data from cache memory to a first volume at the primary site for a current database update;
(b) performing a first point in time virtual copy of the modified data of the first volume to a second volume at the primary site by setting a first bitmap wherein no physical data is copied from the first volume to the second volume;
(c) synchronizing the second volume with a third volume at the remote site by transmitting the modified data from either the first volume or the second volume depending on bit setting in the first bitmap, to the third volume; and
(d) after completion of the synchronizing, performing a second point in time virtual copy of the modified data of the third volume to a fourth volume at the remote site;
wherein, during the synchronizing, the first volume is accessible to a host at the primary site, and the fourth volume is accessible to a host at the remote site.
19. A system for asynchronously transmitting one or more incremental database updates from a primary site to a remote site, the primary site and the remote site interconnected by at least one communication link, the system comprising:
a processor memory;
means for destaging from cache memory modified data to a first volume at the primary site for a current database update and updating one or more bits in a first bitmap at the primary site that indicate one or more tracks on the first volume that are to be overwritten with the modified data, said updating one or more bits being a first point in time virtual copy of the modified data of the first volume to a second volume, wherein the first point in time virtual copy updates the first bitmap and no physical data is copied from the first volume to the second volume;
first means for transferring the first bitmap to a second bitmap at the primary site for indicating the modified data that is to be transmitted to a third volume, which is at the remote site, for the current database update;
means for synchronizing the second volume with the third volume for the current database update by transmitting the modified data from either the first volume or the second volume depending on bit setting in the first bitmap, to the third volume as indicated by the one or more bits in the second bitmap; and
second means for performing a point in time virtual copy of the modified data of the third volume to a fourth volume, which is at the remote site.
1. A method for asynchronously transmitting one or more incremental database updates from a primary site to a remote site, the primary site and the remote site interconnected by at least one communication link, the method comprising:
(a) destaging from cache memory modified data to a first volume at the primary site for a current database update and updating one or more bits in a first bitmap at the primary site that indicate one or more tracks on the first volume that are to be overwritten with the modified data, said updating one or more bits being a first point in time virtual copy of the modified data of the first volume to a second volume, wherein the first point in time virtual copy updates the first bitmap and no physical data is copied from the first volume to the second volume;
(b) transferring the first bitmap to a second bitmap at the primary site for indicating the modified data that is to be transmitted to a third volume, which is at the remote site, for the current database update, the transferring including at least inverting bits of the first bitmap to the second bitmap;
(c) synchronizing the second volume with the third volume for the current database update by transmitting the modified data from either the first volume or the second volume depending on bit setting in the first bitmap, to the third volume as indicated by the one or more bits in the second bitmap; and
(d) performing a second point in time virtual copy of the modified data of the third volume to a fourth volume, which is at the remote site.
36. A program storage device, tangibly embodying a program of instructions executable by a machine to perform a method for asynchronously transmitting one or more incremental database updates from a primary site to a remote site, the primary site and the remote site interconnected by at least one communication link, the method comprising:
(a) destaging from cache memory modified data to a first volume at the primary site for a current database update and updating one or more bits in a first bitmap at the primary site that indicate one or more tracks on the first volume that are to be overwritten with the modified data, said updating one or more bits being a first point in time virtual copy of the modified data of the first volume to a second volume, wherein the first point in time virtual copy updates the first bitmap and no physical data is copied from the first volume to the second volume;
(b) transferring the first bitmap to a second bitmap at the primary site for indicating the modified data that is to be transmitted to a third volume, which is at the remote site, for the current database update;
(c) synchronizing the second volume with the third volume for the current database update by transmitting the modified data from either the first volume or the second volume depending on bit setting in the first bitmap, to the third volume as indicated by the one or more bits in the second bitmap; and
(d) performing a second point in time virtual copy of the modified data of the third volume to a fourth volume, which is at the remote site.
2. The method of
3. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
determining whether a synchronization for a previous database update is complete after the destaging is performed for the current database update; and
waiting for the synchronization of the previous database update to complete before the performing the first point in time virtual copy for the current database update.
9. The method of
initializing the first bitmap for a next database update after the performing the first point in time virtual copy for the current database update; and
waiting for the next database update after the synchronizing for the current database update.
10. The method of
11. The method of
providing a controller at the remote site for managing access to the third volume and the fourth volume.
12. The method of
13. The method of
the step of synchronizing includes synchronizing the second volume with the third volume for the current database update by determining from the first bit map whether the modified data of the second volume to be transmitted is located in the first volume or the second volume and transmitting the modified data of the second volume to the third volume as indicated by the one or more bits in the second bitmap.
14. The method of
initializing the first bitmap to indicate that all data on the first volume is to be copied to the second volume, and all data that is copied to the second volume is to be copied to the third volume.
15. The method of
16. The method of
17. The method of
inspecting the one or more bits of the first bitmap at the primary site to determine whether the second volume includes data of the one or more tracks on the first volume that are to be overwritten with the modified data; and
performing a point in time virtual copy, from the first volume to the second volume, of the data of the one or more tracks on the first volume that are to be overwritten with the modified data if the first bitmap indicates that the second volume does not include the data of the one or more tracks on the first volume that are to be overwritten with the modified data.
18. The method of
20. The system of
21. The system of
22. The system of
23. The system of
24. The system of
25. The system of
26. The system of
27. The system of
28. The system of
29. The system of
30. The system of
means for managing access to the third volume and the fourth volume.
31. The system of
means for initializing the first bitmap to indicate that all data of the first volume is to be copied to the second volume, and all data that is copied to the second volume is to be copied to the third volume.
32. The system of
33. The system of
34. The system of
means for inspecting the one or more bits of the first bitmap at the primary site to determine whether the second volume includes data of the one or more tracks on the first volume that are to be overwritten with the modified data; and
means for performing a point in time virtual copy, from the first volume to the second volume, of the data of the one or more tracks on the first volume that are to be overwritten with the modified data if the first bitmap indicates that the second volume does not include the data of the one or more tracks on the first volume that are to be overwritten with the modified data.
35. The system of
37. The program storage device of
38. The program storage device of
39. The program storage device of
40. The program storage device of
41. The program storage device of
42. The program storage device of
43. The program storage device of
determining whether a synchronization for a previous database update is complete after the destaging is performed for the current database update; and
waiting for the synchronization of the previous database update to complete before the performing the first point in time virtual copy for the current database update.
44. The program storage device of
initializing the first bitmap for a next database update after the performing the first point in time virtual copy for the current database update; and
waiting for the next database update after the synchronizing for the current database update.
45. The program storage device of
46. The program storage device of
providing a controller at the remote site for managing access to the third volume and the fourth volume.
47. The program storage device of
initializing the first bitmap to indicate that all data of the first volume is to be copied to the second volume, and all data that is copied to the second volume is to be copied to the third volume.
48. The program storage device of
49. The program storage device of
50. The program storage device of
inspecting the one or more bits of the first bitmap at the primary site to determine whether the second volume includes data of the one or more tracks on the first volume that are to be overwritten with the modified data; and
performing a point in time virtual copy, from the first volume to the second volume, of the data of the one or more tracks on the first volume that are to be overwritten with the modified data if the first bitmap indicates that the second volume does not include the data of the one or more tracks on the first volume that are to be overwritten with the modified data.
51. The program storage device of
52. The program storage device of
54. The method of
|
1. Technical Field of the Invention
The present invention generally relates to remote database synchronization. More particularly, the present invention is directed to a system and method for providing asynchronous incremental database update from a primary site to a remote recovery site, which completely decouples database updates at the primary site from the transmission of the database updates to the remote recovery site, thereby facilitating efficient data backup of business-critical data and disaster recovery thereof.
2. Description of the Prior Art
In the contemporary business environment, which is so heavily dependent upon relatively uninterrupted access to various kinds of information (i.e., business-critical data), disaster recovery is often of critical importance. Explosive growth in e-commerce and data warehousing has resulted in an exponential growth of data storage, which has ripened the need for disaster recovery. Disaster recovery schemes guard the business-critical data in an event that an entire system or even a primary site storing the business-critical data is destroyed, such as for example, by earthquakes, fires, explosions, hurricanes, and the like. System outages affecting availability of data may be financially devastating to businesses in a variety of business types. For example, brokerage firms and other financial institutions may lose millions of dollars per hour when the systems are down or destroyed. Ensuring uninterrupted access to the information and guaranteeing that business data are securely and remotely updated to avoid data loss in the event of an above-described disaster are critical for safeguarding the business-critical data and business operations.
Efficient disaster recovery requires that updates to business-critical data at a primary site be synchronized at a location that is remote to the primary site (i.e., remote recovery site) in order to ensure safety of and uninterrupted access to the business-critical data. However, if business-critical data at the remote recovery site is not kept current with the business-critical data at the primary site, any updates since a last periodic backup may be lost, thus significantly impacting business operations. Thus, a key feature of the efficient disaster recovery is the frequency of resynchronization of the business-critical data from the primary site to the remote recovery site.
Generally, resynchronization of data (i.e., database updates) at a remote site principally involves two techniques: synchronous and asynchronous. Variants of the two techniques are also possible. In the synchronous technique, application host writes by an application host are forwarded to the remote site as part of the input/output (i.e., “I/O”) command processing. Typically, the application host writes await remote confirmation before signaling I/O completion to the application host. There is a write latency associated with the synchronous technique because the application host awaits completion confirmation, which is further exacerbated by a physical separation of the primary site from the remote recovery site. Thus, the synchronous technique is invariably limited to relatively short distances because of the detrimental effect of a round-trip propagation delay on the I/O response completion signaling. Furthermore, until the I/O response completion signaling is received at the primary site, the application host is unable to access the data at the primary site. To the contrary of the synchronous technique, the asynchronous technique delivers application host writes over high-speed communication links to the remote recovery site while allowing the application host at the primary site to access the data. That is, the asynchronous technique signals I/O completion to the application host at the primary site before updating the remote recovery site. The asynchronous technique is often utilized when the distance between primary and the remote recovery sites (as well as possibly a relative low-bandwidth telecommunication link) would introduce prohibitive latencies if performed synchronously. However, it is clearly evident that a long-distance communication link may become a bottleneck that forces local I/O writes to be queued for transmission to the remote site. The queuing of I/O writes at the primary site negatively affects efficient disaster recovery since the queued I/O writes may be destroyed in an above-described disaster before they are transmitted to the remote recovery site.
The frequency for the resynchronization of the business-critical data from the primary site to the remote recovery site takes into account a space and a time dimension. The space dimension ultimately accounts for the amount of data, while the time dimension accounts for the time period when resynchronization occurs. A resynchronization that involves copying all of the data represents a full database backup, while an incremental database backup copies only a portion of the data that has changed since the last full or incremental database backup. Whether full or incremental, either backup method represents a time-consistent view of the data at the primary site. While individual host application I/O writes may be synchronously or asynchronously transmitted to the remote recovery site as they are made at the primary site, this fact presents a cost inefficiency in that the communication link between the primary site and the remote recovery site must be maintained (i.e., reserved or leased) to transfer the application host writes on a continuous basis.
A particularly useful resynchronization system is a Peer to Peer Remote Copy (i.e., “PPRC”) system offered by International Business Machines, Corporation (i.e., “IBM”), the assignee of the subject patent application. The PPRC provides synchronous copying of database updates from a primary Direct Access Storage Device (i.e., DASD) controller at a primary site to a remote DASD controller at the remote recovery site. That is, the PPRC system includes a primary controller and an associated primary DASD at the primary site and a remote controller and an associated DASD at the remote recovery site. Generally, each of the controllers includes a non-volatile storage (i.e., “NVS”) for maintaining data in the event of power or system failure. During resynchronization, the data is first written (or buffered) to the NVS of the primary controller at the primary site, the data is then transferred to the NVS in the remote controller at the remote recovery site. At later points in time, the data at the primary and remote NVS is destaged to the attached DASD storage devices (i.e., disk), i.e., the data is written from the NVS to the associated DASD storage device. It should be noted that a single DASD storage device may include more than one volume or a single volume may span more than one DASD storage devices. It should further be noted that with the PPRC system, the remote recovery site's DASD volume(s) are synchronously updated with data updates to the primary DASD volume(s).
One persistent problem with the PPRC system is that the volumes, which are synchronized between the primary and remote DASD storage devices, are unavailable for use while the PPRC data updates are serviced. The PPRC system does not consider the transfer of data to the remote recovery site complete until all the data updated at the DASD of the primary site has been updated at the DASD of the remote recovery site. Thus, data updates to the DASD of the primary site invariably delay response times to user requests to the volumes involved in the data updates because synchronous updates must be made to the DASD of the remote recovery site before the volumes involved in the updates are available to service the user requests. Response time delays may occur with respect to user requests to the DASD of the primary and remote recovery sites. Therefore, the user requests to volumes of either the primary or remote recovery site's DASD are subject to the data updates between the primary and the remote recovery sites and must therefore wait until the completion of the data updates before the requests can access the updated data.
Therefore there is a need in the art for providing a system and method that efficiently performs asynchronous incremental database updates from a primary site to a remote recovery site, thereby completely decoupling data updates at the primary site from the transmission of the data updates to the remote recovery site.
It is therefore an object of the present invention to provide a system and method for performing data updates at a remote site asynchronously from data updates at a primary site, thereby completely decoupling the data updates at the primary site from the transmission of the data updates to the remote recovery site.
According an embodiment of the present invention, there is provided a method for asynchronously transmitting one or more incremental database updates from a primary site to a remote site, the primary site and the remote site interconnected by at least one communication link. The method includes: (a) destaging modified data to a first volume at the primary site for a current database update and updating one or more bits in a first bitmap at the primary site that indicate one or more tracks on the first volume that are to be overwritten with the modified data; (b) performing a first point in time copy of the modified data of the first volume to a second volume at the primary site by transferring the first bitmap to a second bitmap at the primary site for indicating the modified data that is to be transmitted to a third, volume at the remote site for the current database update; (c) synchronizing the second volume with the third volume for the current database update by transmitting the modified data of the second volume to the third volume as indicated by the one or more bits in the second bitmap; and (d) performing a second point in time copy of the modified data of the third volume to a fourth volume at the remote site. A corresponding system and program storage device are also provided.
The objects, features and advantages of the present invention will become apparent to one skilled in the art, in view of the following detailed description taken in combination with the attached drawings, in which:
The present invention is directed to a method and system for providing remote asynchronous incremental data update. More particularly, the present invention is directed to providing an efficient mechanism for updating a remote copy of a database with asynchronous incremental updates to a local database, in which the data updates at the primary site are completely decoupled from the transmission of the data updates to the remote recovery site.
Now referring to
Further with reference to
Yet further with reference to
Following the initial copy of the data from Volume A 106 to Volume D 124, updates to the data on Volume A 106 are recorded in the FlashCopy bitmap 110 on Volume B 108, by setting a corresponding bit to a ‘zero’. That is, a ‘zero’ in FlashCopy bitmap 110 indicates that Volume B includes the data to be updated, whereas a ‘one’ represents that Volume B does not include the data to be updated and that this data is instead included on Volume A 106. It should be noted that the data on Volume A 106 is copied to Volume B 108 upon demand, i.e., when the particular data on Volume A is to be overwritten (i.e., updated) with updated data upon destaging. The FlashCopy on Volume B represents all of the changes to volume A with relationship to Volume B, where the data may either be located on Volume A or Volume B as particularly represented by the FlashCopy bitmap 110. Subsequently to the initialization described above or a previous data update, at a time interval (e.g., 30 minutes, 1 hour, or the like) since the initialization or the previous update, destaging of all modified data for volume A is initiated. In general, destaging is a process of asynchronously writing modified data from a nonvolatile cache to a disk in the background while read/write requests from a host system are serviced in the foreground. It should be noted that destaging may be based upon occupancy of the nonvolatile cache, such as when the cache is full, or may be user-initiated.
Still further with reference to
Further with reference to
Yet further with reference to
Further with reference to
Yet further with reference to
While the invention has been particularly shown and described to a preferred embodiment thereof, it will be understood by those skilled in the art that the foregoing and other changes in forma and details may be made therein without departing from the spirit and scope of the invention.
Patent | Priority | Assignee | Title |
10007602, | May 06 2014 | International Business Machines Corporation | Flash copy relationship management |
10108352, | Mar 03 2015 | International Business Machines Corporation | Incremental replication of a source data set |
10168925, | Aug 18 2016 | International Business Machines Corporation | Generating point-in-time copy commands for extents of data |
10235099, | Aug 18 2016 | International Business Machines Corporation | Managing point-in-time copies for extents of data |
10705765, | Aug 18 2016 | International Business Machines Corporation | Managing point-in-time copies for extents of data |
8095755, | Oct 18 2006 | International Business Machines Corporation | System, method and computer program product for generating a consistent point in time copy of data |
8347051, | Dec 29 2008 | Fujitsu Limited | Storage apparatus, backup apparatus, and backup method |
9262448, | Aug 12 2013 | International Business Machines Corporation | Data backup across physical and virtualized storage volumes |
9483366, | Oct 17 2012 | International Business Machines Corporation | Bitmap selection for remote copying of updates |
9563626, | Dec 08 2011 | Amazon Technologies, Inc | Offline management of data center resource information |
9904600, | Aug 28 2014 | International Business Machines Corporation | Generating initial copy in replication initialization |
Patent | Priority | Assignee | Title |
5504861, | Feb 22 1994 | International Business Machines Corporation | Remote data duplexing |
5692155, | Apr 19 1995 | IBM Corporation | Method and apparatus for suspending multiple duplex pairs during back up processing to insure storage devices remain synchronized in a sequence consistent order |
6131148, | Jan 26 1998 | International Business Machines Corporation | Snapshot copy of a secondary volume of a PPRC pair |
6189079, | May 22 1998 | International Business Machines Corporation | Data copy between peer-to-peer controllers |
6237008, | Jul 20 1998 | International Business Machines Corporation | System and method for enabling pair-pair remote copy storage volumes to mirror data in another storage volume |
6253295, | Jul 20 1998 | International Business Machines Corporation | System and method for enabling pair-pair remote copy storage volumes to mirror data in another pair of storage volumes |
6446176, | Mar 09 2000 | Oracle America, Inc | Method and system for transferring data between primary storage and secondary storage using a bridge volume and an internal snapshot copy of the data being transferred |
6643671, | Mar 14 2001 | Oracle America, Inc | System and method for synchronizing a data copy using an accumulation remote copy trio consistency group |
6728736, | Mar 14 2001 | Oracle America, Inc | System and method for synchronizing a data copy using an accumulation remote copy trio |
20020053009, | |||
20020178335, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Feb 05 2002 | MICKA, WILLIAM FRANK | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012626 | /0869 | |
Feb 20 2002 | International Business Machines Corporation | (assignment on the face of the patent) | / | |||
Dec 30 2013 | International Business Machines Corporation | TWITTER, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032075 | /0404 | |
Oct 27 2022 | TWITTER, INC | MORGAN STANLEY SENIOR FUNDING, INC | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 061804 | /0001 |
Date | Maintenance Fee Events |
Jun 15 2010 | ASPN: Payor Number Assigned. |
Feb 07 2014 | REM: Maintenance Fee Reminder Mailed. |
Feb 27 2014 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Feb 27 2014 | M1554: Surcharge for Late Payment, Large Entity. |
Feb 12 2018 | REM: Maintenance Fee Reminder Mailed. |
Mar 29 2018 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Mar 29 2018 | M1555: 7.5 yr surcharge - late pmt w/in 6 mo, Large Entity. |
Dec 29 2021 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Jun 29 2013 | 4 years fee payment window open |
Dec 29 2013 | 6 months grace period start (w surcharge) |
Jun 29 2014 | patent expiry (for year 4) |
Jun 29 2016 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 29 2017 | 8 years fee payment window open |
Dec 29 2017 | 6 months grace period start (w surcharge) |
Jun 29 2018 | patent expiry (for year 8) |
Jun 29 2020 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 29 2021 | 12 years fee payment window open |
Dec 29 2021 | 6 months grace period start (w surcharge) |
Jun 29 2022 | patent expiry (for year 12) |
Jun 29 2024 | 2 years to revive unintentionally abandoned end. (for year 12) |