Patent ID: 8595187

Claim:
A method comprising: a. storing, in a database communicatively connected to a first computer, a first file, the first file storing a base set of data in serialized form; b. at the first computer, making one or more changes to the base set of data; and c. serializing a modified set of data into a second file, wherein the modified set of data is a set of data obtained from the base set of data based on the one or more changes, wherein serializing the modified set of data comprises performing a first serialization process comprising, for each of a plurality of portions of the modified set of data: A. determining if a change to a corresponding portion of the base set of data was included in the one or more changes to the base set of data, wherein the corresponding portion of the base set of data corresponds to the portion of the modified set of data; B. if no change to the corresponding portion of the base set of data was included in the one or more changes to the base set of data, adding, to the second file, data identical to a portion of the first file encoding the corresponding portion of the base set of data in serialized form; and C. if a change to the corresponding portion of the base set of data was included in the one or more changes to the base set of data, adding, to the second file, data encoding the portion of the modified set of data in serialized form, wherein serializing the modified set of data further comprises adding, to the second file, a plurality of block size indications to the second file, and wherein the method further comprises creating a signature for the second file, the signature for the second file comprising a plurality of sub-signatures, the plurality of sub-signatures comprising, for each of the plurality of block size indications, a sub-signature identifying a portion of the second file having a size corresponding to the block size indication.