Systems and methods for replicating data in cluster environments
First Claim
1. A computer-implemented method for replicating data in cluster environments, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:
- identifying a cluster of nodes configured to replicate a common storage of the cluster;
identifying a first write operation issued by a first node in the cluster of nodes to the common storage;
identifying a second write operation issued by a second node in the cluster of nodes to the common storage, the second write operation issued after the first write operation;
identifying a completion time of the first write operation as recorded by a first system clock of the first node;
identifying a start time of the second write operation as recorded by a second system clock of the second node;
identifying a maximum potential skew between the first system clock and the second system clock;
determining that the first write operation and the second write operation are mutually independent by determining that the start time of the second write operation precedes the completion time of the first write operation by a span greater than the maximum potential skew;
replicating the first write operation and the second write operation in parallel based on the determination that the first write operation and the second write operation are mutually independent.
7 Assignments
0 Petitions
Accused Products
Abstract
A method for replicating data in cluster environments may include (1) identifying a cluster of nodes configured to replicate common storage of the cluster, (2) identifying a first write operation issued by a first node to the common storage, (3) identifying a second write operation issued by a second node to the common storage after the first write operation, (4) identifying a completion time of the first write operation, (5) identifying a start time of the second write operation, (6) identifying a maximum potential skew between the first system clock and the second system clock, (7) determining that the first and second write operations are mutually independent by determining that the start time of the second write operation precedes the completion time of the first write operation by a span greater than the maximum potential skew, and then (8) replicating the first and second write operations in parallel.
44 Citations
20 Claims
-
1. A computer-implemented method for replicating data in cluster environments, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:
-
identifying a cluster of nodes configured to replicate a common storage of the cluster; identifying a first write operation issued by a first node in the cluster of nodes to the common storage; identifying a second write operation issued by a second node in the cluster of nodes to the common storage, the second write operation issued after the first write operation; identifying a completion time of the first write operation as recorded by a first system clock of the first node; identifying a start time of the second write operation as recorded by a second system clock of the second node; identifying a maximum potential skew between the first system clock and the second system clock; determining that the first write operation and the second write operation are mutually independent by determining that the start time of the second write operation precedes the completion time of the first write operation by a span greater than the maximum potential skew; replicating the first write operation and the second write operation in parallel based on the determination that the first write operation and the second write operation are mutually independent. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for replicating data in cluster environments, the system comprising:
-
an identification module programmed to; identify a cluster of nodes configured to replicate a common storage of the cluster; identify a first write operation issued by a first node in the cluster of nodes to the common storage; identify a second write operation issued by a second node in the cluster of nodes to the common storage, the second write operation issued after the first write operation; identify a completion time of the first write operation as recorded by a first system clock of the first node; identify a start time of the second write operation as recorded by a second system clock of the second node; a skew module programmed to identify a maximum potential skew between the first system clock and the second system clock; a determination module programmed to determine that the first write operation and the second write operation are mutually independent by determining that the start time of the second write operation precedes the completion time of the first write operation by a span greater than the maximum potential skew; a replication module programmed to replicate the first write operation and the second write operation in parallel based on the determination that the first write operation and the second write operation are mutually independent; at least one processor configured to execute the identification module, the skew module, the determination module, and the replication module. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer-readable-storage medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:
-
identify a cluster of nodes configured to replicate a common storage of the cluster; identify a first write operation issued by a first node in the cluster of nodes to the common storage; identify a second write operation issued by a second node in the cluster of nodes to the common storage, the second write operation issued after the first write operation; identify a completion time of the first write operation as recorded by a first system clock of the first node; identify a start time of the second write operation as recorded by a second system clock of the second node; identify a maximum potential skew between the first system clock and the second system clock; determine that the first write operation and the second write operation are mutually independent by determining that the start time of the second write operation precedes the completion time of the first write operation by a span greater than the maximum potential skew; replicate the first write operation and the second write operation in parallel based on the determination that the first write operation and the second write operation are mutually independent.
-
Specification