Patent ID: 8510625

Claim:
A method of storing data, comprising: receiving or generating first data at a first site of a plurality of data sites, wherein the first site includes a plurality of storage devices; encoding, at the first site, in a first encoding process, the first data using erasure encoding to provide first encoded data; separating the first encoded data into a plurality of first components; distributing, from the first site, the first components among at least two separate data sites of the plurality of data sites, the at least two separate data sites being different from the first site; encoding, at the first site, in a second encoding process, the first data using erasure encoding to provide second encoded data; separating the second encoded data into a plurality of second components; and storing, locally at the first site, the second components of the second encoded data among the plurality of storage devices of the first site, wherein the first encoding process and the plurality of first components depend on a number of available data sites of the plurality of data sites that are available to receive first component transmissions from the first site, and wherein the second encoding process and the plurality of second components depend on a number of available storage devices of the first site that are available to store second components.