Efficient logging for asynchronously replicating volume groups
First Claim
1. A non-transitory computer-readable storage medium comprising program instructions for replicating data, wherein the program instructions are executable to:
- receive a write request to write data to a location in a volume;
store metadata associated with the write request;
maintain information indicating locations of earlier write requests to the volume that have not yet been replicated to a secondary storage;
determine if the write request overlaps with one or more locations indicated by the information indicating locations of earlier write requests to the volume that have not yet been replicated to the secondary storage;
store the data in a replication log in response to determining that the write request overlaps with one or more locations indicated by the information indicating locations of earlier write requests to the volume;
wherein the data is not stored in the replication log in response to determining that the write request does not overlap with one or more locations indicated by the information indicating locations of earlier write requests to the volume;
write the data to the location in the volume in response to the write request; and
periodically replicate changes to the volume to the secondary storage using the replication log.
7 Assignments
0 Petitions
Accused Products
Abstract
A system and method for logging for asynchronously replicating volume groups. A write request to write data to a location in a volume may be received. Metadata associated with the write request may be stored. It may be determined if the write request possibly overlaps with one or more earlier write requests to the volume that have not yet been replicated to a secondary storage. The data may be stored in a replication log only if the write request possibly overlaps with one or more earlier write requests to the volume. The data may not be stored in the replication log if the write request does not overlap with one or more earlier write requests to the volume. The data may be written to the location in the volume. Changes to the volume may periodically be replicated to the secondary storage using the replication log.
-
Citations
20 Claims
-
1. A non-transitory computer-readable storage medium comprising program instructions for replicating data, wherein the program instructions are executable to:
-
receive a write request to write data to a location in a volume; store metadata associated with the write request; maintain information indicating locations of earlier write requests to the volume that have not yet been replicated to a secondary storage; determine if the write request overlaps with one or more locations indicated by the information indicating locations of earlier write requests to the volume that have not yet been replicated to the secondary storage; store the data in a replication log in response to determining that the write request overlaps with one or more locations indicated by the information indicating locations of earlier write requests to the volume; wherein the data is not stored in the replication log in response to determining that the write request does not overlap with one or more locations indicated by the information indicating locations of earlier write requests to the volume; write the data to the location in the volume in response to the write request; and periodically replicate changes to the volume to the secondary storage using the replication log. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented method for replicating data, the method comprising:
-
a computer system receiving a write request to write data to a location in a volume; the computer system storing metadata associated with the write request; the computer system maintaining information indicating locations of earlier write requests to the volume that have not yet been replicated to a secondary storage; the computer system determining if the write request overlaps with one or more locations indicated by the information indicating locations of earlier write requests to the volume that have not yet been replicated to the secondary storage; the computer system storing the data in a replication log in response to determining that the write request possibly overlaps with one or more locations indicated by the information indicating locations of earlier write requests to the volume; wherein the data is not stored in the replication log in response to determining that the write request does not overlap with one or more locations indicated by the information indicating locations of earlier write requests to the volume; the computer system writing the data to the location in the volume in response to the write request; and the computer system periodically replicating changes to the volume to the secondary storage using the replication log. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system for replicating data, the system comprising:
-
one or more processors; a non-transitory computer-readable storage medium comprising program instructions executable by the one or more processors, wherein the program instructions are executable to; receive a write request to write data to a location in a volume; store metadata associated with the write request; maintain information indicating locations of earlier write requests to the volume that have not yet been replicated to a secondary storage; determine if the write request overlaps with one or more locations indicated by the information indicating locations of earlier write requests to the volume that have not yet been replicated to the secondary storage; store the data in a replication log in response to determining that the write request overlaps with one or more locations indicated by the information indicating locations of earlier write requests to the volume; wherein the data is not stored in the replication log in response to determining that the write request does not overlap with one or more locations indicated by the information indicating locations of earlier write requests to the volume; write the data to the location in the volume in response to the write request; and periodically replicate changes to the volume to the secondary storage using the replication log. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification