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.