SYNCHRONIZATION OF SNAPSHOTS IN A DISTRIBUTED STORAGE SYSTEM
First Claim
1. A method, comprising:
- storing data, which belongs to a logical volume and is generated in a source node, by sending write requests associated with the logical volume to multiple destination nodes;
requesting the destination nodes to create snapshots of the data;
at the source node, marking the write requests with marks that indicate to each destination node which of the write requests are pre-snapshot write requests that were issued before a snapshot request for a snapshot that the destination node is currently storing, and which of the write requests are post-snapshot write requests that were issued after the snapshot request for the snapshot that the destination node is currently storing; and
at the destination nodes, synchronizing the snapshots with one another based on the marks, by;
individually in each of the destination nodes, distinguishing between the pre-snapshot write requests and the post-snapshot write requests based on the marks, irrespective of differences in order-of-arrival of the write requests and the snapshot request among the destination nodes; and
individually in each of the destination nodes, serving only the pre-snapshot write requests.
4 Assignments
0 Petitions
Accused Products
Abstract
A method includes storing data generated in a source node by sending write requests to multiple destination nodes. The destination nodes are requested to create snapshots of the data. The write requests are marked at the source node with marks that indicate to each destination node which of the write requests are pre-snapshot write requests that were issued before a snapshot request for a snapshot that the destination node is currently storing, and which of the write requests are post-snapshot write requests that were issued after the snapshot request for the snapshot that the destination node is currently storing. The snapshots are synchronized with one another at the destination nodes based on the marks.
18 Citations
15 Claims
-
1. A method, comprising:
-
storing data, which belongs to a logical volume and is generated in a source node, by sending write requests associated with the logical volume to multiple destination nodes; requesting the destination nodes to create snapshots of the data; at the source node, marking the write requests with marks that indicate to each destination node which of the write requests are pre-snapshot write requests that were issued before a snapshot request for a snapshot that the destination node is currently storing, and which of the write requests are post-snapshot write requests that were issued after the snapshot request for the snapshot that the destination node is currently storing; and at the destination nodes, synchronizing the snapshots with one another based on the marks, by; individually in each of the destination nodes, distinguishing between the pre-snapshot write requests and the post-snapshot write requests based on the marks, irrespective of differences in order-of-arrival of the write requests and the snapshot request among the destination nodes; and individually in each of the destination nodes, serving only the pre-snapshot write requests. - View Dependent Claims (2, 4, 5, 6, 7)
-
-
3. (canceled)
-
8. A system, comprising at least a source node and multiple destination nodes,
wherein the source node is configured to store data, which belongs to a logical volume, by sending write requests associated with the logical volume to the destination nodes, and to mark the write requests with marks that indicate to each destination node which of the write requests are pre-snapshot write requests that were issued before a snapshot request for a snapshot that the destination node is currently storing, and which of the write requests are post-snapshot write requests that were issued after the snapshot request for the snapshot that the destination node is currently storing, and wherein the destination nodes are configured to synchronize snapshots with one another based on the marks, by: -
individually in each of the destination nodes, distinguishing between the pre-snapshot write requests and the post-snapshot write requests based on the marks, irrespective of differences in order-of-arrival of the write requests and the snapshot request among the destination nodes; and individually in each of the destination nodes, serving only the pre-snapshot write requests. - View Dependent Claims (9, 11, 12, 13, 14)
-
-
10. (canceled)
-
15. A computer software product, the product comprising a tangible non-transitory computer-readable medium in which program instructions are stored, which instructions, when read by processors of a source node and multiple destination nodes that are interconnected by a communication network, cause the processors to store data, which belongs to a logical volume and is generated in the source node, by sending write requests associated with the logical volume to the multiple destination nodes, to request the destination nodes to create snapshots of the data, to mark the write requests at the source node with marks that indicate to each destination node which of the write requests are pre-snapshot write requests that were issued before a snapshot request for a snapshot that the destination node is currently storing, and which of the write requests are post-snapshot write requests that were issued after the snapshot request for the snapshot that the destination node is currently storing, and to synchronize the snapshots with one another at the destination nodes based on the marks, by:
-
individually in each of the destination nodes, distinguishing between the pre-snapshot write requests and the post-snapshot write requests based on the marks, irrespective of differences in order-of-arrival of the write requests and the snapshot request among the destination nodes; and individually in each of the destination nodes, serving only the pre-snapshot write requests.
-
Specification