Computer data is vital to today's organizations and a significant part of protection against disasters is focused on data protection. As solid-state memory has advanced to the point where cost of memory has become a relatively insignificant factor, organizations can afford to operate with systems that store and process terabytes of data.
Conventional data protection systems include tape backup drives, for storing organizational production site data on a periodic basis. Another conventional data protection system uses data replication, by creating a copy of production site data of an organization on a secondary backup storage system, and updating the backup with changes. The backup storage system may be situated in the same physical location as the production storage system, or in a physically remote location. Data replication systems generally operate either at the application level, at the file system level, or at the data block level.
In one embodiment, a method includes measuring a first parameter associated with copying a storage entity to a first backup site, measuring a second parameter associated with copying the storage entity to a second backup site and determining a replication mode to copy the storage entity to the first backup site and a replication mode to copy the storage entity to the second backup site in response to a replication policy and the first and second parameters measured.
In another embodiment, an apparatus includes electronic hardware circuitry configured to measure a first parameter associated with copying a storage entity to a first backup site, measure a second parameter associated with copying the storage entity to a second backup site and determine a replication mode to copy the storage entity to the first backup site and a replication mode to copy the storage entity to the second backup site in response to a replication policy and the first and second parameters measured.
In a further embodiment, an article includes a non-transitory computer-readable medium that stores computer-executable instructions. In an embodiment, the instructions cause a machine to measure a first parameter associated with copying a storage entity to a first backup site, measure a second parameter associated with copying the storage entity to a second backup site and determine a replication mode to copy the storage entity to the first backup site and a replication mode to copy the storage entity to the second backup site in response to a replication policy and the first and second parameters measured.
In certain embodiments, the current disclosure may enable techniques to apply a global replication policy to multi-copy replication. In one particular example, a system may determine a replication mode to a link to replicate data in response to a replication policy and parameters measured; and, after a time interval, the system may change the replication mode for the link in response to the replication policy and additional parameter measurements.
Referring to
In one particular example, the system 100 may include features and processes that are similar to approaches described in U.S. Pat. No. 8,478,955, issued Jul. 2, 2013, entitled “VIRTUALIZED CONSISTENCY GROUP USING MORE THAN ONE DATA PROTECTION APPLIANCE;” U.S. Pat. No. 8,433,869, issued Apr. 30, 2013, entitled “VIRTUALIZED CONSISTENCY GROUP USING AN ENHANCED SPLITTER;” and U.S. Pat. No. 8,832,399, issued Sep. 9, 2014, entitled “VIRTUALIZED CONSISTENCY GROUP USING AN ENHANCED SPLITTER,” each of which are assigned to the same assignee as the present patent application. All applications in this paragraph are incorporated herein by reference in their entirety.
The site 104 may be connected to the site 102 by a link 170 and the site 106 may be connected to the site 102 by a link 180. In one particular example, the links 170, 180 may be wide area network (WAN) links. The site 102 may include consistency groups (CGs) 122, 124, 126 and a replicator 140. The CG 122 may include logical units 116a, 116b; the CG 124 includes logical units 118a-118c; and CG 126 may include logical units 120a-120d.
The replicator 140 may include a replication policy 150 used to determine a replication mode for each link to transfer data from a primary site to a backup site and may dynamically change a replication mode for a link based on parameters measured. In one particular example, a replication mode may be one of an asynchronous mode, a synchronous mode or a snapshot based replication mode.
In one particular example, replication modes may include features and processes that are similar to approaches described in U.S. Pat. No. 7,774,565, issued Aug. 10, 2010, entitled “METHODS AND APPARATUS FOR POINT IN TIME DATA ACCESS AND RECOVERY;” U.S. Pat. No. 8,335,771, issued Dec. 18, 2012, entitled “STORAGE ARRAY SNAPSHOTS FOR LOGGED ACCESS REPLICATION IN A CONTINUOUS DATA PROTECTION SYSTEM;” and U.S. Pat. No. 8,898,515, issued Nov. 25, 2014, entitled “SYNCHRONOUS REPLICATION USING MULTIPLE DATA PROTECTION APPLIANCES ACROSS MULTIPLE STORAGE ARRAYS,” each of which are assigned to the same assignee as the present patent application. All applications in this paragraph are incorporated herein by reference in their entirety.
In one particular illustrative example, the replication policy 150 requires that the two backup copies of the CG 124 being generated: one copy of CG 124 is stored on the site 104 and one backup copy is stored on the site 106. The replication policy 150 also requires that one backup is provided synchronously and the other backup is provided asynchronously. At one point-in-time, the latency on the link 170 is measured to be smaller than the latency measured on the link 180. In this example, the replicator 140 determines that a copy of the CG 124 provided to the site 104 over the link 170 is synchronous replication and the copy of the CG 124 provided to the site 106 over the link 180 is asynchronous replication. After a time interval, the latency of the link 170 is measured to be greater than the latency measured on the link 180. The replicator 140 responds by replicating the copy of the CG 124 to the site 104 over the link 170 asynchronously and replicating the copy of the CG 124 to the site 106 over the link 180 synchronously.
In another particular illustrative example, the replication policy 150 requires that each of the CGS 122, 124, 126 provide one synchronous copy to a site and one asynchronous copy to a site and requires that the CGs 122, 124, 126 replicate to site 104 and site 106. In this particular example, the bandwidth of the links 170, 180 are limited and changing over time. The replicator 140 may choose to replicate CG 122 and CG 124 synchronously to site 104 and asynchronously to site 106; and to replicate CG 126 synchronously to site 106 and asynchronously to site 104. After a time interval, the bandwidth of the link 170 may become too small for synchronous replication of CG 122 and CG 124 (e.g., since there is no compression in synchronous replication), the replicator 140 may choose to switch the replication of CG 122 and make replication synchronous to site 106 and asynchronous to site 104.
In one particular example, the replicator 140 may assign synchronous replication to links with lower relative latency. In another particular example, the replicator 140 may assign snapshot-based replication to links the bandwidth is small or expensive. In another particular example, the replicator 140 may assign snapshot-based replication to links for which the capacity of the storage at the copy is expensive.
In other particular examples, the replicator 140 may choose a replication mode based on inter-consistency group considerations. For example, the replicator 140 may select links with higher bandwidth for CGs to use a continuous replication mode and use snapshot-based replication mode for limited bandwidth links since snapshot-based replication consumes less bandwidth compared to continuous replication.
Referring to
Process 200 may receive a replication policy (202). In one example, a replication policy 150 may be entered manually. In another example, the replication may be entered using an automated system. In one particular example, the replication policy 150 may include a number of copies required and which sites (e.g., sites 104, 106) to store the copies. In another example, the replication policy 150 may include a number of links that should be synchronous, asynchronous or snapshot-based and a time interval to use each mode.
Process 200 may measure parameters (204). In one examples, the parameters may include at least one of latency in the links (e.g., links 170, 180), the bandwidth of the links (e.g., links 170, 180) and a cost of storage on each site (site 104, 106).
Process 200 may assign replication modes to links (206). For example, in response to the replication policy 150 and the parameters measured in processing block 204, the replicator 140 selects a replication mode for each link.
Process 200 may measure parameters after a period of time (208) and determines if the replication modes for the links should be changed (210). For example, the replicator 140 may determine if the replication modes are still applicable based on the additional measured parameters and the replication policy 150.
If the replication modes should be changed, process 200 may change the replication modes (216). For example, the replicator 140 may change the replication modes for one or more links.
Referring to
The processes described herein (e.g., process 200) are not limited to use with the hardware and software of
The system may be implemented, at least in part, via a computer program product, (e.g., in a non-transitory machine-readable storage medium such as, for example, a non-transitory computer-readable medium), for execution by, or to control the operation of, data processing apparatus (e.g., a programmable processor, a computer, or multiple computers)). Each such program may be implemented in a high level procedural or object-oriented programming language to communicate with a computer system. However, the programs may be implemented in assembly or machine language. The language may be a compiled or an interpreted language and it may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program may be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network. A computer program may be stored on a non-transitory machine-readable medium that is readable by a general or special purpose programmable computer for configuring and operating the computer when the non-transitory machine-readable medium is read by the computer to perform the processes described herein. For example, the processes described herein may also be implemented as a non-transitory machine-readable storage medium, configured with a computer program, where upon execution, instructions in the computer program cause the computer to operate in accordance with the processes. A non-transitory machine-readable medium may include but is not limited to a hard drive, compact disc, flash memory, non-volatile memory, volatile memory, magnetic diskette and so forth but does not include a transitory signal per se.
The processes described herein are not limited to the specific examples described. For example, the process 200 is not limited to the specific processing order of
The processing blocks (for example, in the process 200) associated with implementing the system may be performed by one or more programmable processors executing one or more computer programs to perform the functions of the system. All or part of the system may be implemented as, special purpose logic circuitry (e.g., an FPGA (field-programmable gate array) and/or an ASIC (application-specific integrated circuit)). All or part of the system may be implemented using electronic hardware circuitry that include electronic devices such as, for example, at least one of a processor, a memory, a programmable logic device or a logic gate.
Elements of different embodiments described herein may be combined to form other embodiments not specifically set forth above. Other embodiments not specifically described herein are also within the scope of the following claims.
Number | Name | Date | Kind |
---|---|---|---|
7203741 | Marco et al. | Apr 2007 | B2 |
7719443 | Natanzon | May 2010 | B1 |
7783798 | Misra | Aug 2010 | B1 |
7840536 | Ahal et al. | Nov 2010 | B1 |
7840662 | Natanzon | Nov 2010 | B1 |
7844856 | Ahal et al. | Nov 2010 | B1 |
7860836 | Natanzon et al. | Dec 2010 | B1 |
7882286 | Natanzon et al. | Feb 2011 | B1 |
7934262 | Natanzon et al. | Apr 2011 | B1 |
7958372 | Natanzon | Jun 2011 | B1 |
8037162 | Marco et al. | Oct 2011 | B2 |
8041940 | Natanzon et al. | Oct 2011 | B1 |
8060713 | Natanzon | Nov 2011 | B1 |
8060714 | Natanzon | Nov 2011 | B1 |
8103937 | Natanzon et al. | Jan 2012 | B1 |
8108634 | Natanzon et al. | Jan 2012 | B1 |
8214612 | Natanzon | Jul 2012 | B1 |
8250149 | Marco et al. | Aug 2012 | B2 |
8271441 | Natanzon et al. | Sep 2012 | B1 |
8271447 | Natanzon et al. | Sep 2012 | B1 |
8332687 | Natanzon et al. | Dec 2012 | B1 |
8335761 | Natanzon | Dec 2012 | B1 |
8335771 | Natanzon et al. | Dec 2012 | B1 |
8341115 | Natanzon | Dec 2012 | B1 |
8370648 | Natanzon | Feb 2013 | B1 |
8380885 | Natanzon | Feb 2013 | B1 |
8392680 | Natanzon et al. | Mar 2013 | B1 |
8429362 | Natanzon et al. | Apr 2013 | B1 |
8433869 | Natanzon et al. | Apr 2013 | B1 |
8438135 | Natanzon et al. | May 2013 | B1 |
8464101 | Natanzon et al. | Jun 2013 | B1 |
8478955 | Natanzon et al. | Jul 2013 | B1 |
8495304 | Natanzon et al. | Jul 2013 | B1 |
8510279 | Natanzon et al. | Aug 2013 | B1 |
8521691 | Natanzon | Aug 2013 | B1 |
8521694 | Natanzon | Aug 2013 | B1 |
8543609 | Natanzon | Sep 2013 | B1 |
8583885 | Natanzon | Nov 2013 | B1 |
8600945 | Natanzon et al. | Dec 2013 | B1 |
8601085 | Ives et al. | Dec 2013 | B1 |
8627012 | Derbeko et al. | Jan 2014 | B1 |
8683592 | Dotan et al. | Mar 2014 | B1 |
8694700 | Natanzon et al. | Apr 2014 | B1 |
8706700 | Natanzon et al. | Apr 2014 | B1 |
8712962 | Natanzon et al. | Apr 2014 | B1 |
8719497 | Don et al. | May 2014 | B1 |
8725691 | Natanzon | May 2014 | B1 |
8725692 | Natanzon et al. | May 2014 | B1 |
8726066 | Natanzon | May 2014 | B1 |
8738813 | Natanzon et al. | May 2014 | B1 |
8745004 | Natanzon et al. | Jun 2014 | B1 |
8751828 | Raizen et al. | Jun 2014 | B1 |
8769336 | Natanzon et al. | Jul 2014 | B1 |
8805786 | Natanzon | Aug 2014 | B1 |
8806161 | Natanzon | Aug 2014 | B1 |
8825848 | Dotan et al. | Sep 2014 | B1 |
8832399 | Natanzon et al. | Sep 2014 | B1 |
8850143 | Natanzon | Sep 2014 | B1 |
8850144 | Natanzon et al. | Sep 2014 | B1 |
8862546 | Natanzon et al. | Oct 2014 | B1 |
8892835 | Natanzon et al. | Nov 2014 | B1 |
8898112 | Natanzon et al. | Nov 2014 | B1 |
8898409 | Natanzon et al. | Nov 2014 | B1 |
8898515 | Natanzon | Nov 2014 | B1 |
8898519 | Natanzon et al. | Nov 2014 | B1 |
8914595 | Natanzon | Dec 2014 | B1 |
8924668 | Natanzon | Dec 2014 | B1 |
8930500 | Marco et al. | Jan 2015 | B2 |
8930947 | Derbeko et al. | Jan 2015 | B1 |
8935498 | Natanzon | Jan 2015 | B1 |
8949180 | Natanzon et al. | Feb 2015 | B1 |
8954673 | Natanzon et al. | Feb 2015 | B1 |
8954796 | Cohen et al. | Feb 2015 | B1 |
8959054 | Natanzon | Feb 2015 | B1 |
8977593 | Natanzon et al. | Mar 2015 | B1 |
8977826 | Meiri et al. | Mar 2015 | B1 |
8996460 | Frank et al. | Mar 2015 | B1 |
8996461 | Natanzon et al. | Mar 2015 | B1 |
8996827 | Natanzon | Mar 2015 | B1 |
9003138 | Natanzon et al. | Apr 2015 | B1 |
9026696 | Natanzon et al. | May 2015 | B1 |
9031913 | Natanzon | May 2015 | B1 |
9032160 | Natanzon et al. | May 2015 | B1 |
9037818 | Natanzon et al. | May 2015 | B1 |
9063994 | Natanzon et al. | Jun 2015 | B1 |
9069479 | Natanzon | Jun 2015 | B1 |
9069709 | Natanzon et al. | Jun 2015 | B1 |
9081754 | Natanzon et al. | Jul 2015 | B1 |
9081842 | Natanzon et al. | Jul 2015 | B1 |
9087008 | Natanzon | Jul 2015 | B1 |
9087112 | Natanzon et al. | Jul 2015 | B1 |
9104529 | Derbeko et al. | Aug 2015 | B1 |
9110914 | Frank et al. | Aug 2015 | B1 |
9116811 | Derbeko et al. | Aug 2015 | B1 |
9128628 | Natanzon et al. | Sep 2015 | B1 |
9128855 | Natanzon et al. | Sep 2015 | B1 |
9134914 | Derbeko et al. | Sep 2015 | B1 |
9135119 | Natanzon et al. | Sep 2015 | B1 |
9135120 | Natanzon | Sep 2015 | B1 |
9146878 | Cohen et al. | Sep 2015 | B1 |
9152339 | Cohen et al. | Oct 2015 | B1 |
9152578 | Saad et al. | Oct 2015 | B1 |
9152814 | Natanzon | Oct 2015 | B1 |
9158578 | Derbeko et al. | Oct 2015 | B1 |
9158630 | Natanzon | Oct 2015 | B1 |
9160526 | Raizen et al. | Oct 2015 | B1 |
9177670 | Derbeko et al. | Nov 2015 | B1 |
9189339 | Cohen et al. | Nov 2015 | B1 |
9189341 | Natanzon et al. | Nov 2015 | B1 |
9201736 | Moore et al. | Dec 2015 | B1 |
9223659 | Natanzon et al. | Dec 2015 | B1 |
9225529 | Natanzon et al. | Dec 2015 | B1 |
9235481 | Natanzon et al. | Jan 2016 | B1 |
9235524 | Derbeko et al. | Jan 2016 | B1 |
9235632 | Natanzon | Jan 2016 | B1 |
9244997 | Natanzon et al. | Jan 2016 | B1 |
9256605 | Natanzon | Feb 2016 | B1 |
9274718 | Natanzon et al. | Mar 2016 | B1 |
9275063 | Natanzon | Mar 2016 | B1 |
9286052 | Solan et al. | Mar 2016 | B1 |
9305009 | Bono et al. | Apr 2016 | B1 |
9323750 | Natanzon et al. | Apr 2016 | B2 |
9330155 | Bono et al. | May 2016 | B1 |
9336094 | Wolfson et al. | May 2016 | B1 |
9336230 | Natanzon | May 2016 | B1 |
9367260 | Natanzon | Jun 2016 | B1 |
9378096 | Erel et al. | Jun 2016 | B1 |
9378219 | Bono et al. | Jun 2016 | B1 |
9378261 | Bono et al. | Jun 2016 | B1 |
9383937 | Frank et al. | Jul 2016 | B1 |
9389800 | Natanzon et al. | Jul 2016 | B1 |
9405481 | Cohen et al. | Aug 2016 | B1 |
9405684 | Derbeko et al. | Aug 2016 | B1 |
9405765 | Natanzon | Aug 2016 | B1 |
9411535 | Shemer et al. | Aug 2016 | B1 |
9459804 | Natanzon et al. | Oct 2016 | B1 |
9460028 | Raizen et al. | Oct 2016 | B1 |
9471579 | Natanzon | Oct 2016 | B1 |
9477407 | Marshak et al. | Oct 2016 | B1 |
9501542 | Natanzon | Nov 2016 | B1 |
9507732 | Natanzon et al. | Nov 2016 | B1 |
9507845 | Natanzon et al. | Nov 2016 | B1 |
9514138 | Natanzon et al. | Dec 2016 | B1 |
9524218 | Veprinsky et al. | Dec 2016 | B1 |
9529885 | Natanzon et al. | Dec 2016 | B1 |
9535800 | Natanzon et al. | Jan 2017 | B1 |
9535801 | Natanzon et al. | Jan 2017 | B1 |
9547459 | Benhanokh et al. | Jan 2017 | B1 |
9547591 | Natanzon et al. | Jan 2017 | B1 |
9552405 | Moore et al. | Jan 2017 | B1 |
9557921 | Cohen et al. | Jan 2017 | B1 |
9557925 | Natanzon | Jan 2017 | B1 |
9563517 | Natanzon et al. | Feb 2017 | B1 |
9563684 | Natanzon et al. | Feb 2017 | B1 |
9575851 | Natanzon et al. | Feb 2017 | B1 |
9575857 | Natanzon | Feb 2017 | B1 |
9575894 | Natanzon et al. | Feb 2017 | B1 |
9582382 | Natanzon et al. | Feb 2017 | B1 |
9588703 | Natanzon et al. | Mar 2017 | B1 |
9588847 | Natanzon et al. | Mar 2017 | B1 |
9594822 | Natanzon et al. | Mar 2017 | B1 |
9600377 | Cohen et al. | Mar 2017 | B1 |
9619255 | Natanzon | Apr 2017 | B1 |
9619256 | Natanzon et al. | Apr 2017 | B1 |
9619264 | Natanzon et al. | Apr 2017 | B1 |
9619543 | Natanzon et al. | Apr 2017 | B1 |
9632881 | Natanzon | Apr 2017 | B1 |
9639295 | Natanzon et al. | May 2017 | B1 |
9639383 | Natanzon | May 2017 | B1 |
9639592 | Natanzon et al. | May 2017 | B1 |
9652333 | Bournival et al. | May 2017 | B1 |
9658929 | Natanzon et al. | May 2017 | B1 |
9659074 | Natanzon et al. | May 2017 | B1 |
9665305 | Natanzon et al. | May 2017 | B1 |
9668704 | Fuimaono et al. | Jun 2017 | B2 |
9672117 | Natanzon et al. | Jun 2017 | B1 |
9678680 | Natanzon et al. | Jun 2017 | B1 |
9678728 | Shemer et al. | Jun 2017 | B1 |
9684576 | Natanzon et al. | Jun 2017 | B1 |
9690504 | Natanzon et al. | Jun 2017 | B1 |
9696939 | Frank et al. | Jul 2017 | B1 |
9710177 | Natanzon | Jul 2017 | B1 |
9720618 | Panidis et al. | Aug 2017 | B1 |
9722788 | Natanzon et al. | Aug 2017 | B1 |
9727429 | Moore et al. | Aug 2017 | B1 |
9733969 | Derbeko et al. | Aug 2017 | B2 |
9737111 | Lustik | Aug 2017 | B2 |
9740572 | Natanzon et al. | Aug 2017 | B1 |
9740573 | Natanzon | Aug 2017 | B1 |
9740880 | Natanzon et al. | Aug 2017 | B1 |
9749300 | Cale et al. | Aug 2017 | B1 |
9772789 | Natanzon et al. | Sep 2017 | B1 |
9798472 | Natanzon et al. | Oct 2017 | B1 |
9798490 | Natanzon | Oct 2017 | B1 |
9804934 | Natanzon et al. | Oct 2017 | B1 |
9811431 | Natanzon et al. | Nov 2017 | B1 |
9817606 | Byrne | Nov 2017 | B1 |
9823865 | Natanzon et al. | Nov 2017 | B1 |
9823973 | Natanzon | Nov 2017 | B1 |
9832261 | Don et al. | Nov 2017 | B2 |
9846698 | Panidis et al. | Dec 2017 | B1 |
9875042 | Natanzon et al. | Jan 2018 | B1 |
9875162 | Panidis et al. | Jan 2018 | B1 |
9880777 | Bono et al. | Jan 2018 | B1 |
9881014 | Bono et al. | Jan 2018 | B1 |
9910620 | Veprinsky et al. | Mar 2018 | B1 |
9910621 | Golan et al. | Mar 2018 | B1 |
9910735 | Natanzon | Mar 2018 | B1 |
9910739 | Natanzon et al. | Mar 2018 | B1 |
9917854 | Natanzon et al. | Mar 2018 | B2 |
9921955 | Derbeko et al. | Mar 2018 | B1 |
9933957 | Cohen et al. | Apr 2018 | B1 |
9934302 | Cohen et al. | Apr 2018 | B1 |
9940205 | Natanzon | Apr 2018 | B2 |
9940460 | Derbeko et al. | Apr 2018 | B1 |
9946649 | Natanzon et al. | Apr 2018 | B1 |
9959061 | Natanzon et al. | May 2018 | B1 |
9965306 | Natanzon et al. | May 2018 | B1 |
9990256 | Natanzon | Jun 2018 | B1 |
9996539 | Natanzon | Jun 2018 | B1 |
10007626 | Saad et al. | Jun 2018 | B1 |
10019194 | Baruch et al. | Jul 2018 | B1 |
10025931 | Natanzon et al. | Jul 2018 | B1 |
10031675 | Veprinsky et al. | Jul 2018 | B1 |
10031690 | Panidis et al. | Jul 2018 | B1 |
10031692 | Elron et al. | Jul 2018 | B2 |
10031703 | Natanzon et al. | Jul 2018 | B1 |
10037251 | Bono et al. | Jul 2018 | B1 |
10042579 | Natanzon | Aug 2018 | B1 |
10042751 | Veprinsky et al. | Aug 2018 | B1 |
10055146 | Natanzon et al. | Aug 2018 | B1 |
10055148 | Natanzon et al. | Aug 2018 | B1 |
10061666 | Natanzon et al. | Aug 2018 | B1 |
10067694 | Natanzon et al. | Sep 2018 | B1 |
10067837 | Natanzon et al. | Sep 2018 | B1 |
20140032957 | Beeston | Jan 2014 | A1 |
20140324774 | Chen | Oct 2014 | A1 |
20160036909 | Joshi | Feb 2016 | A1 |
20160292250 | Chen | Oct 2016 | A1 |