×

Distributed storage system with efficient handling of file updates

  • US 8,984,384 B1
  • Filed: 06/30/2010
  • Issued: 03/17/2015
  • Est. Priority Date: 06/30/2010
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising:

  • separating a file into a plurality of sets of file blocks;

    assigning sets of the file blocks to respective ones of a plurality of servers;

    defining a plurality of parity groups each comprising a different subset of the plurality of servers;

    for each of the servers, assigning each of its file blocks to at least one of the defined parity groups;

    computing one or more parity blocks for each of the parity groups;

    storing the file blocks on their associated servers;

    storing the parity blocks such that said one or more parity blocks computed for each of the parity groups are stored on respective ones of the plurality of servers other than the servers within that parity group; and

    in each of a plurality of epochs, performing a challenge phase, a remediation phase, a file update phase, and a proactivization phase;

    wherein the challenge phase comprises issuing challenges to respective ones of the servers and processing responses to the challenges to determine corruption of the file blocks, the remediation phase comprises restoring file blocks determined to be corrupted during the challenge phase, the file update phase comprises making one or more updates to the file, and the proactivization phase comprises recomputing a fraction of parity blocks for the updated file, the fraction being based on a number of servers assumed to be corruptible by an adversary per epoch;

    wherein the file blocks and one or more parity blocks associated with each parity group are stored in respective independently and randomly selected positions on respective ones of the plurality of servers; and

    wherein the plurality of parity groups are defined such that respective structures of the parity groups are not predictable without access to a secret used in assigning the file blocks to the parity groups.

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