System and method for block conflict resolution within consistency interval marker based replication
First Claim
1. A method, comprising:
- a plurality of nodes in a distributed computing environment sending replicated write requests to a replication target device, wherein each of the replicated write requests specifies a data location for storing data associated with the replicated write request;
wherein two or more conflicting write requests from different ones of the nodes each specifies a same data location;
in response to detecting the two or more conflicting write requests, a consistency interval coordinator sending a message to one of the plurality of nodes, wherein the message indicates said same data location; and
in response to receiving the message from the consistency interval coordinator, the node to which the message is sent sending data for said same data location to the replication target device, wherein the data for said same data location resolves an ordering ambiguity between the two or more conflicting write requests.
9 Assignments
0 Petitions
Accused Products
Abstract
One goal of consistency interval replication is to achieve a consistent copy of data generated by independent streams of writes from nodes in a clustered/distributed environment. Two writes to the same block from different nodes may arrive at a replication target in a different order from the order in which they were written to primary storage. A consistency interval coordinator may analyze a list of blocks modified during a consistency interval to determine conflict blocks written to by two different nodes during the same consistency interval. Conflict resolution may involve a node reading data for a conflict block from primary storage and forwarding it to the replication target or a node completing a suspended in-progress write for the conflict block. Once the conflicts have been resolved, the replication target may checkpoint the data modified during the interval and nodes may resume writes to the conflict blocks for the new interval.
128 Citations
25 Claims
-
1. A method, comprising:
-
a plurality of nodes in a distributed computing environment sending replicated write requests to a replication target device, wherein each of the replicated write requests specifies a data location for storing data associated with the replicated write request; wherein two or more conflicting write requests from different ones of the nodes each specifies a same data location; in response to detecting the two or more conflicting write requests, a consistency interval coordinator sending a message to one of the plurality of nodes, wherein the message indicates said same data location; and in response to receiving the message from the consistency interval coordinator, the node to which the message is sent sending data for said same data location to the replication target device, wherein the data for said same data location resolves an ordering ambiguity between the two or more conflicting write requests. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system, comprising:
a plurality of computing devices configured to implement; a plurality of nodes in a distributed computing environment; a replication target device coupled to the plurality of nodes; and a consistency interval coordinator coupled to the plurality of nodes and the replication target device; wherein each of the plurality of nodes is configured to send replicated write requests to the replication target device, wherein each of the replicated write requests specifies a data location for storing data associated with the replicated write request; wherein two or more conflicting write requests from different ones of the nodes each specifies a same data location; wherein in response to detecting the two or more conflicting write requests, the consistency interval coordinator is configured to send a message to one of the nodes, wherein the message indicates said same data location; and wherein in response to receiving a message from the consistency interval coordinator the node to which the message is sent is further configured to send data for said same data location to the replication target device, wherein the data for said same data location resolves an ordering ambiguity between the two or more conflicting write requests. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
19. A device, comprising:
-
one or more processors; and a memory coupled to the one or more processor, wherein the memory comprises program instructions executable by the one or more processors to implement a node in a networked computing environment, wherein the node is configured to; send replicated write requests to a replication target device, wherein each of the replicated write requests specifies a data location for storing data associated with the replicated write request; wherein a conflicting one of the write requests and a replicated write request sent to the replication target device from another node in the networked computing environment both specify a same data location; receive a message from a consistency interval coordinator in response to detecting the conflicting write request, wherein the message indicates said same data location; and in response to receiving the message send data for said same data location to the replication target device to resolve an ordering ambiguity between two or more conflicting write requests. - View Dependent Claims (20, 21)
-
-
22. A device, comprising:
-
one or more processors; and a memory coupled to the one or more processors, wherein the memory comprises program instructions executable by the one or more processors to implement a replication target in a networked computing environment, wherein the replication target is configured to; receive replicated write requests from a plurality of nodes in the networked computing environment, wherein each of the replicated write requests specifies a data location for storing data associated with the replicated write request; wherein two or more conflicting write requests from different ones of the nodes each specifies a same data location; and receive data for said same data location from one of the plurality of nodes, wherein the data for said same data location is sent in response to receiving a message from a consistency interval coordinator in response to detecting the two or more conflicting write requests, and wherein the data for said same data location resolves an ordering ambiguity between the two or more conflicting write requests. - View Dependent Claims (23)
-
-
24. A device, comprising:
-
one or more processors; and a memory coupled to the one or more processor, wherein the memory comprises program instructions executable by the one or more processors to implement a consistency interval coordinator in a networked computing environment, wherein the consistency interval coordinator is configured to; receive a message from each of a plurality of nodes in the networked computing environment, wherein each message indicates one or more data locations modified by one or more replicated write requests sent by the corresponding node to a replication target device; identify, based upon the indicated modified data locations, two or more conflicting write requests from different ones of the plurality of nodes wherein each of the conflicting write requests specifies a same data location; and send a message to one of the plurality of nodes indicating said same data location, wherein the message further instructs the node to which the message is sent to send data for said same data location to the replication target device, wherein the data for said same data location resolves an ordering ambiguity between the two or more conflicting write requests.
-
-
25. A computer accessible medium, comprising computer-executable program instructions to implement:
-
receiving a message from each of a plurality of nodes in the networked computing environment, wherein each message indicates one or more data locations modified by one or more replicated write requests sent by the corresponding node to a replication target device; detecting, based upon the indicated modified data locations, two or more conflicting write requests from different ones of the plurality of nodes wherein each of the conflicting write requests specifies a same data location; and in response to said detecting, sending a message to one of the plurality of nodes indicating said same data location, wherein the message instructs the node to which the message is sent to send data for said same data location to the replication target device, wherein the data for said same data location resolves an ordering ambiguity between the two or more conflicting write requests.
-
Specification