Back to results
US 9,069,709 B1Granted
Dynamic granularity in data replication
AssigneeEMC International Company
InventorsAssaf Natanzon, Jehuda Shemer
Life of this patent
Estimating the term…
Abstract
In one aspect, a method includes sending a snapshot of a primary volume to a replica site, determining if a bandwidth is available to send changes in the primary volume to the replica site to allow any point in time recovery of data in the primary volume and sending the changes from the primary volume if the bandwidth is available.
Claims13
A method comprising:
- sending a snapshot of a primary volume to a replica site, sending the snapshot of the primary volume comprises sending a first snapshot of the primary volume to form a third snapshot;
- determining if a bandwidth is available to send changes in the primary volume to the replica site to allow any point in time recovery of data in the primary volume;
- sending the changes from the primary volume if the bandwidth is available;
- tracking the changes in a local journal;
- generating a second snapshot of the primary volume:
- sending the differences between the first and second snapshots to the replica site;
- generating a fourth snapshot at the replica site by applying the differences between the first and second snapshots to the third snapshot;
- and
- accessing an intermediary snapshot between the first snapshot and the second snapshot,
- wherein accessing the intermediary snapshot comprises:
- copying the third snapshot to form an intermediary snapshot;
- for each journal entry in a difference journal, determining if the journal entry includes I/O data;
- applying I/O data from the difference journal to the intermediary snapshot if the journal entry comprises I/O data;
- and
- applying I/O data pointed to by the difference journal if the journal entry does not include I/O data.
12 more elements
A method comprising:
- sending a snapshot of a primary volume to a replica site, sending the snapshot of the primary volume comprises sending a first snapshot of the primary volume to form a third snapshot;
- determining if a bandwidth is available to send changes in the primary volume to the replica site to allow any point in time recovery of data in the primary volume;
- sending the changes from the primary volume if the bandwidth is available;
- tracking the changes in a local journal:
- generating a second snapshot of the primary volume;
- sending the differences between the first and second snapshots to the replica site:
- generating a fourth snapshot at the replica site by applying the differences between the first and second snapshots to the third snapshot;
- and
- if the bandwidth is not available:
- erasing the local journal;
- renaming the second snapshot to be the first snapshot;
- and
- repeating the tracking of changes in the local journal.
10 more elements
An apparatus, comprising:
- electronic hardware circuitry configured to:
- send a snapshot of a primary volume to a replica site;
- determine if a bandwidth is available to send changes in the primary volume to the replica site to allow any point in time recovery of data in the primary volume;
- send the changes from the primary volume if the bandwidth is available;
- track the changes in a local journal;
- generate a second snapshot of the primary volume:
- send the differences between a first snapshot and the second snapshot to the replica site;
- generate a fourth snapshot at the replica site by applying the differences between the first and second snapshots to a third snapshot;
- and
- access an intermediary snapshot between the first snapshot and the second snapshot comprising circuitry,
- wherein the circuitry configured to send a snapshot of the primary volume comprises circuitry configured to send the first snapshot of the primary volume to form the third snapshot,
- wherein the circuitry configured to access an intermediary snapshot between the first snapshot and the second snapshot comprises circuitry configured to:
- copy the third snapshot to form an intermediary snapshot;
- for each journal entry in a difference journal, determine if the journal entry includes I/O data;
- apply I/O data from the difference journal to the intermediary snapshot if the journal entry comprises I/O data;
- and
- apply I/O data pointed to by the difference journal if the journal entry does not include I/O data.
14 more elements
An apparatus, comprising:
- electronic hardware circuitry configured to:
- send a snapshot of a primary volume to a replica site;
- determine if a bandwidth is available to send changes in the primary volume to the replica site to allow any point in time recovery of data in the primary volume;
- send the changes from the primary volume if the bandwidth is available;
- track the changes in a local journal;
- generate a second snapshot of the primary volume:
- send the differences between a first snapshot and the second snapshot to the replica site;
- generate a fourth snapshot at the replica site by applying the differences between the first and second snapshots to a third snapshot;
- erase the local journal if the bandwidth is not available;
- rename the second snapshot to be the first snapshot if the bandwidth is not available;
- and
- repeat the tracking of changes in the local journal if bandwidth is not available,
- wherein the circuitry configured to send a snapshot of the primary volume comprises circuitry configured to send the first snapshot of the primary volume to form the third snapshot.
10 more elements
An article comprising:
- a non-transitory computer-readable medium that stores computer-executable instructions, the instructions causing a machine to:
- send a snapshot of a primary volume to a replica site;
- determine if a bandwidth is available to send changes in the primary volume to the replica site to allow any point in time recovery of data in the primary volume;
- send the changes from the primary volume if the bandwidth is available;
- track the changes in a local journal;
- generate a second snapshot of the primary volume:
- send the differences between a first snapshot and the second snapshot to the replica site;
- generate a fourth snapshot at the replica site by applying the differences between the first and second snapshots to a third snapshot;
- and
- access an intermediary snapshot between the first snapshot and the second snapshot,
- wherein the instructions causing the machine to send a snapshot of the primary volume comprises instructions causing the machine to send a first snapshot of the primary volume to form a third snapshot,
- wherein the instructions causing the machine to access an intermediary snapshot between the first snapshot and the second snapshot comprises instructions causing the machine to:
- copy the third snapshot to form an intermediary snapshot;
- for each journal entry in a difference journal, determine if the journal entry includes I/O data;
- apply I/O data from the difference journal to the intermediary snapshot if the journal entry comprises I/O data;
- and
- apply I/O data pointed to by the difference journal if the journal entry does not include I/O data.
14 more elements
An article comprising:
- a non-transitory computer-readable medium that stores computer-executable instructions, the instructions causing a machine to:
- send a snapshot of a primary volume to a replica site;
- determine if a bandwidth is available to send changes in the primary volume to the replica site to allow any point in time recovery of data in the primary volume;
- send the changes from the primary volume if the bandwidth is available;
- track the changes in a local journal;
- generate a second snapshot of the primary volume;
- send the differences between a first snapshot and the second snapshot to the replica site;
- generate a fourth snapshot at the replica site by applying the differences between the first and second snapshots to a third snapshot;
- erase the local journal if the bandwidth is not available;
- rename the second snapshot to be the first snapshot if the bandwidth is not available;
- and
- repeat the tracking of changes in the local journal if bandwidth is not available,
- wherein the instructions causing the machine to send a snapshot of the primary volume comprises instructions causing the machine to send a first snapshot of the primary volume to form a third snapshot.
10 more elements
Dependencies are inferred from the claim text.