Maintaining write order fidelity on a multi-writer system
First Claim
1. A method of providing write order fidelity in a distributed set of data access nodes in a network, comprising the steps of:
- storing a write request to a first cache for an open delta, the first cache corresponding to a first node receiving the write request;
transmitting a message, in response to a triggering event, to each node in the set of data access nodes to close the open delta;
for each node having a write request for the open delta, completing any pending write requests for the open delta and closing the open delta;
exchanging write request information among nodes so that each node is associated with a complete copy of the write request information for the closed delta;
writing each complete copy to persistent storage; and
storing each complete copy of the closed delta to back-end storage for each node.
12 Assignments
0 Petitions
Accused Products
Abstract
Write order fidelity (WOF) is maintained for totally-active implementations wherein a plurality of access nodes at geographically separated sites can concurrently read and/or write data in a “totally active” fashion on a distributed data system. From the hosts'"'"' perspective at diverse geographic locations, a synchronous, cache-coherent view of data is provided. Data transfer is asynchronous. A time ordered data image is created and maintained so operations can be restarted after a partial system failure that causes loss of data not yet asynchronously transferred across the network, but that has been write-acknowledged to the originating host. Time ordered asynchronous data transfer is implemented as a pipeline of changes that reflect contributions from all nodes. WOF also improves network performance and lowers bandwidth consumption. Extensions can provide, in a totally-active context, features such as point-in-time snapshots, time firewalls, on-demand backend storage allocation, synchronous/asynchronous distribution of data, and continuous data protection.
-
Citations
39 Claims
-
1. A method of providing write order fidelity in a distributed set of data access nodes in a network, comprising the steps of:
-
storing a write request to a first cache for an open delta, the first cache corresponding to a first node receiving the write request;
transmitting a message, in response to a triggering event, to each node in the set of data access nodes to close the open delta;
for each node having a write request for the open delta, completing any pending write requests for the open delta and closing the open delta;
exchanging write request information among nodes so that each node is associated with a complete copy of the write request information for the closed delta;
writing each complete copy to persistent storage; and
storing each complete copy of the closed delta to back-end storage for each node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system for providing write order fidelity in a distributed set of data access nodes in a network, comprising:
-
a storage system for storing data; and
a plurality of access nodes configured to access data in the storage system, wherein each node in the plurality of access nodes is operable to store a write request to a cache for an open delta, the cache corresponding to the node receiving the write request, each node being further operable to transmit a message, in response to a triggering event, to said plurality of access nodes in the data storage network to complete any write requests and close the open delta, each node being further operable to exchange write request information so that each node is associated with a complete copy of the write request information for the closed delta, each node being further operable to write each complete copy to persistent storage then apply each persistent copy of the closed delta to back-end storage for that node. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A computer program product embedded in a computer readable medium for providing write order fidelity in a distributed set of data access nodes in a network, comprising:
-
computer program code for storing a write request to a first cache for an open delta, the first cache corresponding to a first node receiving the write request;
computer program code for transmitting a message, in response to a triggering event, to each node in the set of data access nodes to close the open delta;
computer program code for completing any pending write requests for the open delta and closing the open delta for each node having a write request for the open delta;
computer program code for exchanging write request information among nodes so that each node is associated with a complete copy of the write request information for the closed delta;
computer program code for writing each complete copy to persistent storage; and
computer program code for storing each complete copy of the closed delta to back-end storage for each node. - View Dependent Claims (31, 32, 33)
-
-
34. A method of providing write order fidelity in a distributed set of data access nodes in a network, comprising the steps of:
-
providing a plurality of write-order fidelity (WOF) groups, each WOF group including at least one of said data access nodes;
storing a write request to a first cache corresponding to a first node in a first WOF group receiving the write request;
in response to a triggering event, exchanging write request information among the nodes in the first WOF group so that each node is associated with a complete copy of the write request information;
writing each complete copy to persistent storage; and
storing each complete copy to back-end storage for each node. - View Dependent Claims (35, 36, 37)
-
-
38. A method of providing write order fidelity in a distributed set of data access nodes in a network, comprising the steps of:
-
providing a plurality of write-order fidelity (WOF) groups, each WOF group including at least one of said data access nodes;
storing a write request to a cache corresponding to one of the plurality of WOF groups, each WOF group associated with a cache and operable to receive write requests from a plurality of request writers having access to at least one node in the WOF group;
in response to a triggering event for a WOF group, exchanging write request information among the nodes in the WOF group so that each node is associated with a complete copy of the write request information; and
storing each complete copy to persistent storage.
-
-
39. A computer program product embedded in a computer readable medium for providing write order fidelity in a distributed set of data access nodes in a network, comprising:
-
computer program code for providing a plurality of write-order fidelity (WOF) groups, each WOF group including at least one of said data access nodes;
storing a write request to a cache corresponding to one of the plurality of WOF groups, each WOF group associated with a cache and operable to receive write requests from a plurality of request writers each having access to at least one node in the WOF group;
in response to a triggering event for a WOF group, exchanging write request information among the nodes in the WOF group so that each node is associated with a complete copy of the write request information; and
storing each complete copy to persistent storage.
-
Specification