Method for storing data in a geographically-diverse data-storing system providing cross-site redundancy
First Claim
1. A method of redundantly storing data in a geographically-diverse data-storing system, the data-storing system having one or more data sites and a plurality of data-protecting sites, the method comprising:
- writing a new version of a set of data to a first data site of the one or more data sites;
generating a representation of the new version;
transmitting the representation from the first data site to a subset of the plurality of data-protecting sites;
at each data-protecting site of the subset of the data-protecting sites;
storing the representation;
transmitting an acknowledgment of the storing;
upon receipt of a commit command, performing a data-protecting operation on the representation to generate a data-protecting value;
storing the data-protecting value; and
releasing storage corresponding to the representation; and
at the first data site, after receipt of acknowledgments from each data-protecting site of the subset of data-protecting sites;
transmitting a commit command to the subset of the data-protecting sites; and
releasing storage corresponding to a previous version of the set of data.
0 Assignments
0 Petitions
Accused Products
Abstract
A method of redundantly storing data in a geographically-diverse data-storing system is presented. The data-storing system has one or more data sites and a set of data-protecting sites. A new version of a set of data is written to a first data site, and a representation of the new version is generated. The representation is transmitted from the first data site to a subset of the data-protecting sites. At each data-protecting site, the representation is stored and an acknowledgment of the storing is transmitted back. Also, upon receipt back of a commit command, a data-protecting operation is performed on the representation to generate a data-protecting value, which is also stored. Then, storage corresponding to the representation is released. Further, at a first data site, once acknowledgments from each data-protecting site are received, a commit command is transmitted to the subset of data-protecting sites. Additionally, storage is released corresponding to a previous version of the set of data.
-
Citations
25 Claims
-
1. A method of redundantly storing data in a geographically-diverse data-storing system, the data-storing system having one or more data sites and a plurality of data-protecting sites, the method comprising:
-
writing a new version of a set of data to a first data site of the one or more data sites; generating a representation of the new version; transmitting the representation from the first data site to a subset of the plurality of data-protecting sites; at each data-protecting site of the subset of the data-protecting sites; storing the representation; transmitting an acknowledgment of the storing; upon receipt of a commit command, performing a data-protecting operation on the representation to generate a data-protecting value; storing the data-protecting value; and releasing storage corresponding to the representation; and at the first data site, after receipt of acknowledgments from each data-protecting site of the subset of data-protecting sites; transmitting a commit command to the subset of the data-protecting sites; and releasing storage corresponding to a previous version of the set of data. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of redundantly storing data in a geographically-diverse data-storing system, the data-storing system having one or more data sites and a plurality of data-protecting sites, the method comprising:
-
writing first and second versions of a set of data to a first data site of the one or more data sites, wherein the first data site is local, and other data sites and the plurality of data-protecting sites are remote; generating a representation of the second version, based at least in part on a change in the set of data between the second version and the first version; transmitting the representation from the first data site to a subset of the plurality of data-protecting sites; at each data-protecting site of the subset of the data-protecting sites; storing the representation; transmitting an acknowledgment of the storing; upon receipt of a commit command, performing a data-protecting operation on the representation and on an existing data-protecting value to generate a new data-protecting value; storing the new data-protecting value; and releasing storage corresponding to the representation; and locally, after receipt of acknowledgments from each data-protecting site of the subset of data-protecting sites; transmitting a commit command to the subset of the data-protecting sites; and releasing storage corresponding to the first version of the set of data. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method of redundantly storing data in a geographically-diverse data-storing system, the data-storing system having one or more data sites and a plurality of data-protecting sites, the method comprising:
-
mapping physical addresses of the one or more data sites to a plurality of logical addresses in a logical-to-physical map, to logically associate a plurality of data blocks that include geographically-diverse data blocks; at a local portion of the data-storing system; writing a new version of a set of data to a first physical address of a first data site of the one or more data sites, wherein a previous version of the set of data was previously written to a second physical address of the first data site; logging the new version of the set of data in a redo log; transmitting a representation of the second version to a subset of the plurality of data-protecting sites; and when the subset of the one or more data-protecting sites acknowledge receipt of the representation; removing the new version from the redo log; modifying the logical-to-physical map such that a logical data block corresponding to the set of data identifies the new version; releasing storage corresponding to the new version; and transmitting a command to the subset of the data-protecting sites to generate and store a data-protecting value based at least in part on the representation. - View Dependent Claims (19, 20)
-
-
21. A method of recovering data in a geographically-diverse data-storing system, the data-storing system having one or more data sites and a plurality of data-protecting sites, wherein a set of data blocks is lost from a first data site of the one or more data sites, the method comprising:
-
for each lost data block of the set of lost data blocks; requesting, from a subset of the plurality of data-protecting sites, one or more available version numbers corresponding to the lost data block; requesting, from a subset of the one or more data sites, a set of version numbers of stable data blocks that comprise, along with the lost data block and one or more data-protecting blocks, a redundancy group; based at least in part on the one or more available version numbers, determining a latest recoverable version of the lost data block; receiving, from the subset of the data-protecting sites, one or more data-protecting values corresponding to the latest recoverable version; receiving, from the subset of the data sites, one or more stable data blocks, associated with the same redundancy group as the lost data block; and regenerating the lost data block from the one or more data-protecting values and the one or more stable data blocks by performing a data-regenerating operation. - View Dependent Claims (22, 23, 24, 25)
-
Specification