×

Distributed storage revision rollbacks

  • US 9,015,431 B2
  • Filed: 07/16/2010
  • Issued: 04/21/2015
  • Est. Priority Date: 10/29/2009
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method for use in a distributed storage unit of a plurality of distributed storage units in which the plurality of distributed storage units are configured to store different encoded data slices of a data segment, the method comprising:

  • receiving a particular encoded data slice of the data segment from a processing device and a write request for storing the particular encoded data slice at the distributed storage unit, wherein the particular encoded data slice is one of X number of encoded data slices that are created when error encoding the data segment into a plurality of the different encoded data slices and wherein at least a read threshold T of the X encoded data slices are needed to reconstruct the data segment, where T is less than X, and in which the particular encoded data slice has a slice name and a revision number;

    storing the particular encoded data slice in a memory associated with the distributed storage unit, but not making the particular encoded data slice available for access;

    transmitting from the distributed storage unit, a write confirmation message to the processing device after storing the particular encoded data slice;

    starting a rollback timer at the distributed storage unit to indicate a period of time to wait for a commit command from the processing device;

    waiting at the distributed storage unit for the commit command from the processing device, in which the commit command is generated and transmitted by the processing device when the processing device receives at least a write threshold number W of write confirmation messages from the plurality of distributed storage units receiving the X number of encoded data slices of the data segment transmitted, where W is greater than or equal to T;

    wherein, in response to receiving the commit command prior to an expiration of the period of time of the rollback timer, changing the access availability of the particular encoded data slice as a current version for access; and

    wherein, in response to not receiving the commit command prior to the expiration of the period of time of the rollback timer, deleting the particular encoded data slice and retaining a previous version of the particular encoded data slice as the current version.

View all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×