System and method for applying deltas in a version control system
First Claim
1. A computer-implemented method to retrieve a particular version of a document having a plurality of versions, the method comprising:
- receiving a request to generate a particular version of a document from among a plurality of versions of the document, wherein generating the particular version comprises transforming a partial form of the particular version represented by a delta of the particular version into complete contents of the particular version using at least the delta, wherein the delta is stored in a repository, and the delta corresponds to a change to data at a position in the requested particular version of the document relative to an adjacent version of the document;
transforming the partial form into the complete contents of the particular version comprising;
retrieving the delta corresponding to the requested particular version of the document,recursively determining adjacent data corresponding to the delta at the adjacent version of the document,applying the delta to the determined adjacent data,generating data accounting for the change to data at the position based on the applied delta, andgenerating the complete contents of the requested particular version of the document based at least in part on the generated data for the delta, wherein the complete contents of the requested particular version of the document is generated without generating the adjacent version of the document in its entirety; and
presenting the requested particular version in response to the received request.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method that efficiently maintains multiple versions of a dataset using recursive calls is provided. The method may include fully storing one or more versions of the dataset and storing only changes, called deltas, that occurred from one version to another. Using recursive techniques eliminates the need to generate interim versions in their entirety to generate a requested version. For each position in the requested version the method may include generating content by recursive calls. Each recursive call may initiate a request on an adjacent version to produce content at its corresponding position. The request triggers a recursive call by the adjacent version, which may in turn initiate another request on its adjacent version. This series of recursive calls may be repeated until a fully stored version, which simply returns its content, is reached. The requested version may then generated using content generated for each position by the recursive calls.
-
Citations
33 Claims
-
1. A computer-implemented method to retrieve a particular version of a document having a plurality of versions, the method comprising:
-
receiving a request to generate a particular version of a document from among a plurality of versions of the document, wherein generating the particular version comprises transforming a partial form of the particular version represented by a delta of the particular version into complete contents of the particular version using at least the delta, wherein the delta is stored in a repository, and the delta corresponds to a change to data at a position in the requested particular version of the document relative to an adjacent version of the document; transforming the partial form into the complete contents of the particular version comprising; retrieving the delta corresponding to the requested particular version of the document, recursively determining adjacent data corresponding to the delta at the adjacent version of the document, applying the delta to the determined adjacent data, generating data accounting for the change to data at the position based on the applied delta, and generating the complete contents of the requested particular version of the document based at least in part on the generated data for the delta, wherein the complete contents of the requested particular version of the document is generated without generating the adjacent version of the document in its entirety; and presenting the requested particular version in response to the received request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory tangible computer readable medium storing computer executable instructions to retrieve a particular version of a document having a plurality of versions, the instructions operable when executed to:
-
receive a request to generate a particular version of a document from among a plurality of versions of the document, wherein generating the particular version comprises transforming a partial form of the particular version represented by a delta of the particular version into complete contents of the particular version using at least the delta, wherein the delta is stored in a repository, and the delta corresponds to a change to data at a position in the requested particular version of the document relative to an adjacent version of the document; transform the partial form into the complete contents of the particular version, wherein, to transform, the instructions are further operable when executed to; retrieve the delta corresponding to the requested particular version of the document, recursively determine adjacent data corresponding to the delta at the adjacent version of the document, apply the delta to the determined adjacent data, generate data accounting for the change to data at the position based on the applied delta, and generate the complete contents of the requested particular version of the document based at least in part on the generated data for the delta wherein the complete contents of the requested particular version of the document is generated without generating the adjacent version of the document in its entirety; and present the requested particular version in response to the received request. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A system to retrieve a particular version of a document having a plurality of versions, the system comprising:
a processor configured to; receive a request to generate a particular version of a document from among a plurality of versions of the document, wherein generating the particular version comprises transforming a partial form of the particular version represented by a delta of the particular version into complete contents of the particular version using the delta, wherein the delta is stored in a repository, and the delta corresponds to a change to data at a position in the requested particular version of the document relative to an adjacent version of the document; transform the partial form into the complete content of the particular version, wherein, to transform, the processor is further configured to; retrieve the delta corresponding to the requested particular version of the document, recursively determine adjacent data corresponding to the delta at the adjacent version of the document, apply the delta to the determined adjacent data, generate data accounting for the change to data at the position based on the applied delta, and generate the complete contents of the requested particular version of the document based at least in part on the generated data for the delta, wherein the complete contents of the requested particular version of the document is generated without generating the adjacent version of the document in its entirety; and present the requested particular version in response to the received request. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
Specification