×

Method and system for uploading data into a distributed storage system

  • US 9,305,069 B2
  • Filed: 02/08/2011
  • Issued: 04/05/2016
  • Est. Priority Date: 02/09/2010
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method for uploading an object into a distributed storage system, wherein the distributed storage system includes a plurality of chunk stores, comprising:

  • at a computing device, distinct from the distributed storage system, having one or more processors and memory storing programs executed by the one or more processors, wherein the computing device is connected to the distributed storage system through a network;

    splitting an object into one or more chunks, wherein the one or more chunks have a predefined sequence and a respective chunk has a chunk ID, a chunk offset, and a chunk size;

    uploading the one or more chunks into the distributed storage system;

    for a respective uploaded chunk,receiving a write token from the distributed storage system after the respective uploaded chunk has been stored into the distributed storage system, wherein the write token identifies a respective chunk store that stores the uploaded chunk and includes the chunk ID, the chunk offset, and chunk size of the uploaded chunk;

    inserting an entry into an extents table of the object for the uploaded chunk in accordance with the write token received from the distributed storage system, the write token indicating the respective chunk store and including the chunk ID, chunk offset, and chunk size of the uploaded chunk, wherein the extents table is stored at the computing device;

    generating a digest of the extents table, wherein the digest represents the one or more chunks that a client expects to be within the distributed storage system, the digest indicating a total number of client-expected chunks; and

    sending the digest of the extents table to the distributed storage system, wherein the distributed storage system uses the digest to determine whether it has each of the one or more client-expected chunks, including by comparing the total number of client-expected chunks with a number of chunks of the object stored in the distributed storage system, wherein the computing device re-uploads any missing chunks of the object into the distributed storage system.

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