Snapshot replication operations based on incremental block change tracking
First Claim
1. A method for performing a snapshot replication operation in a data storage system, the method comprising:
- with a data agent executing on a client computing device (i) comprising one or more hardware processors and (ii) in networked communication with a destination computing device,performing a first snapshot replication at a first time period for primary data associated with the client computing device, the first snapshot replication comprising transmitting first change data to the destination computing device, the first change data indicating one or more changes to the primary data that have occurred since a most recent snapshot replication associated with the client computing device that precedes the first time period;
for each sub-interval of a plurality of sub-intervals subsequent to the first time period,querying a filter driver to receive a change bitmap, the change bitmap indicating one or more block-level changes to the primary data that have occurred since a most recent query to the filter driver, andbased on the received change bitmap, updating cumulative block-level changes stored in an intermediate staging area, the cumulative block-level changes indicating one or more changes to the primary data that occurred between the first time period and the most recent query to the filter driver; and
subsequent to the plurality of sub-intervals, performing a second snapshot replication for the primary data at a second time period, the second snapshot replication comprising transmitting second change data to the destination computing device, the second change data including (i) the cumulative block-level changes stored in the intermediate staging area and (ii) one or more changes to the primary data since the most recent query to the filter driver that precedes the second time period.
2 Assignments
0 Petitions
Accused Products
Abstract
A system according to certain aspects improves the process of performing snapshot replication operations (e.g., maintaining a mirror copy of primary data at a secondary location by generating snapshots of the primary data). The system can collect and maintain cumulative block-level changes to the primary data after each sub-interval of a plurality of sub-intervals between the snapshots. When a snapshot is generated, any changes to the primary data not reflected in the cumulative block-level changes are identified based on the snapshot and transmitted to the secondary location along with the cumulative block-level changes. By the time the snapshot is generated, some or all of the changes to the primary data associated with the given snapshot have already been included in the cumulative block-level changes, thereby reducing the time and computing resources spent to identify and collect the changes for transmission to the secondary location.
-
Citations
20 Claims
-
1. A method for performing a snapshot replication operation in a data storage system, the method comprising:
with a data agent executing on a client computing device (i) comprising one or more hardware processors and (ii) in networked communication with a destination computing device, performing a first snapshot replication at a first time period for primary data associated with the client computing device, the first snapshot replication comprising transmitting first change data to the destination computing device, the first change data indicating one or more changes to the primary data that have occurred since a most recent snapshot replication associated with the client computing device that precedes the first time period; for each sub-interval of a plurality of sub-intervals subsequent to the first time period, querying a filter driver to receive a change bitmap, the change bitmap indicating one or more block-level changes to the primary data that have occurred since a most recent query to the filter driver, and based on the received change bitmap, updating cumulative block-level changes stored in an intermediate staging area, the cumulative block-level changes indicating one or more changes to the primary data that occurred between the first time period and the most recent query to the filter driver; and subsequent to the plurality of sub-intervals, performing a second snapshot replication for the primary data at a second time period, the second snapshot replication comprising transmitting second change data to the destination computing device, the second change data including (i) the cumulative block-level changes stored in the intermediate staging area and (ii) one or more changes to the primary data since the most recent query to the filter driver that precedes the second time period. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
11. A system for performing a data protection operation in a data storage system, the system comprising:
-
a first computing device comprising computer hardware; and a second computing device comprising computer hardware and in networked communication with the first computing device, wherein the second computing device is configured to; perform a first data protection operation at a first time period for primary data associated with the first computing device, the first data protection operation comprising transmitting first change data to the first computing device, the first change data indicating one or more changes to the primary data that have occurred since a most recent data protection operation associated with the first computing device that precedes the first time period; for each sub-interval of a plurality of sub-intervals subsequent to the first time period, query a filter driver to receive a change bitmap, the change bitmap indicating one or more block-level changes to the primary data that have occurred since a most recent query to the filter driver, and based on the received change bitmap, update cumulative block-level changes stored in an intermediate staging area, the cumulative block-level changes indicating one or more changes to the primary data that occurred between the first time period and the most recent query to the filter driver; and subsequent to the plurality of sub-intervals, perform a second data protection operation for the primary data at a second time period, the second data protection operation comprising transmitting second change data to the first computing device, the second change data including (i) the cumulative block-level changes stored in the intermediate staging area and (ii) one or more changes to the primary data since the most recent query to the filter driver that precedes the second time period. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification