×

Method and system for providing on-demand services through a virtual file system at a computing device

  • US 8,694,564 B2
  • Filed: 11/24/2010
  • Issued: 04/08/2014
  • Est. Priority Date: 08/28/2009
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method, comprising:

  • at a computing device;

    receiving, from an application, a request for a file associated with an instance of a virtual file system, wherein the file has multiple revisions and the request identifies a particular revision to the file and the virtual file system includes metadata of the multiple revisions to the requested file;

    creating a commit tree based on metadata blocks associated with the particular revision of the virtual file system and wherein the particular revision to the requested file is associated with a file node of the commit tree, wherein the commit tree includes all subsequent operations of the file;

    checking the metadata to identify a first set of data blocks of the particular revision to the requested file that is not present at the computing device, further including looking up the commit tree associated with the instance of the virtual file system for location information of the first set of data blocks associated with the particular revision to the requested file, wherein the commit tree includes multiple branches, each branch having an associated list of block identifiers corresponding to a respective revision to the file and a file revision identifier referencing an earlier revision to the file, and looking up the commit tree including laterally traversing the multiple branches using respective file revision identifiers until a list of block identifiers corresponding to the first set of data blocks of the particular revision to the requested file is identified, wherein the checking the metadata includes identifying a second set of data blocks of the particular revision to the requested file that is already present at the computing device;

    retrieving the first set of data blocks from at least one of a plurality of storage devices associated with the virtual file system using the identified list of block identifiers corresponding to the first set of data blocks of the particular revision to the requested file and in accordance with the location information of the first set of data blocks;

    generating a copy of the particular revision to the requested file using the retrieved first set of data blocks, wherein the generating a copy of the particular revision to the requested file includes merging the first set of data blocks of the particular revision to the requested file with the second set of data blocks, wherein the merging further includes replacing an old data block in the second set with a new data block in the first set if the new data block includes at least one update to the old data block;

    and returning the generated copy of the particular revision to the requested file to the requesting application.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×