Serialization for delta encoding
AssigneeIlesfay Technology Group, LLC
InventorsChristopher S. McLennan, Joseph T. Kramer, James P. Taylor, Mike Venerable
Life of this patent
Estimating the term…
Abstract
Data can be serialized in such a manner as to facilitate later delta encoding, even when the serialization is performed using a lossy compression algorithm or an algorithm in which portions of the serialized data are encoded relative to other portions which may be modified. This can be achieved by approaches including preserving keyframe information across modified versions of a file, duplicating information from a previously created compressed file when serializing a later version, or adding change information showing differences between versions of a file during the serialization process.
Claims19
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;
- 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 serialization process taken from a set of serialization processes consisting of:
- i. 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;
- and
- ii. a second serialization process comprising:
- A. adding a serialized version of the base set of data to the second file, wherein the serialized version of the base set of data added to the second file is identical to the serialized form in which the base set of data is stored in the first file;
- B. adding a set of change information to the second file, the set of change information reflecting the one or more changes to the base set of data.
A machine for facilitating the transfer of modified sets of data, the machine comprising:
- a. a database storing a first file, the first file storing a base set of data in a serialized form, the database communicatively connected to a first computer;
- b. a memory, the memory storing a set of instructions operable to configure the first computer to serialize, into a second file, a modified set of data obtained from the base set of data based on one or more changes made to the base set of data using the first computer;
- c. the first computer, wherein the first computer is configured by the set of instructions to perform a serialization process taken from a set of serialization processes consisting of:
- i. 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 a 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;
- and
- ii. a second serialization process comprising:
- A. adding a serialized version of the base set of data to the second file, wherein the serialized version of the base set of data added to the second file is identical to the serialized form in which the base set of data is stored in the first file;
- B. adding a set of change information to the second file, the set of change information reflecting the one or more changes to the base set of data;
- d. a network connection, wherein the network connection is operable to send data serialized by the first computer to one or more remote sites.
A machine comprising:
- a. a means for transfer optimized serializing of data;
- and
- b. an input device communicatively connected to the means for transfer optimized serializing of data.
Dependencies are inferred from the claim text.