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;
storing each complete copy of the closed delta to back-end storage for each node; and
grouping front-end volumes into write-order fidelity (WOF) groups, each WOF group including at least one site across the network.
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
35 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; storing each complete copy of the closed delta to back-end storage for each node; and grouping front-end volumes into write-order fidelity (WOF) groups, each WOF group including at least one site across the network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. 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; storing each complete copy of the closed delta to back-end storage for each node; and triggering a data snapshot corresponding to the closing of the open delta.
-
-
13. 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, and the storage system is further operable to create a snapshot of any open deltas at any point in time. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. 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; a plurality of access nodes configured to access data in the storage system; and a plurality of sites, each site including at least one of said nodes; 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; and wherein the storage system is further operable to determine when only one site is writing data to the storage system, whereby exchanging write request information is suspended until multiple sites are writing to the storage system.
-
-
28. 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; computer program code for storing each complete copy of the closed delta to back-end storage for each node; and computer program code for grouping front-end volumes into write-order fidelity (WOF) groups, each WOF group including at least one site across the network. - View Dependent Claims (29, 30)
-
-
31. 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; storing each complete copy to back-end storage for each node; and triggering a data snapshot corresponding to a state of the cached write request for the first WOF group. - View Dependent Claims (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 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; storing each complete copy to persistent storage; storing each complete copy to back-end storage for each node; and triggering a data snapshot corresponding to a state of the cached write request for the WOF group.
-
-
35. 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; computer program code for 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; computer program code for 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; computer program code for storing each complete copy to persistent storage; computer program code for storing each complete copy to back-end storage for each node; and computer program code for triggering a data snapshot corresponding to a state of the cached write request for the WOF group.
-
Specification