SYSTEM AND METHOD FOR APPLYING DELTAS IN A VERSION CONTROL SYSTEM
First Claim
1. A computer-implemented method for retrieving a particular version of a document having a plurality of versions comprising:
- receiving a request to retrieve the particular version of the document from among the plurality of versions of the document;
retrieving one or more deltas corresponding to the requested particular version of the document, wherein each delta of the one or more deltas respectively corresponds to at least one change to data at one or more positions in the requested particular version of the document relative to an adjacent version of the document;
for each delta of the one or more deltas;
recursively determining adjacent data corresponding to the delta at the adjacent version of the document,applying the delta to the determined adjacent data, andgenerating data accounting for the at least one change to data at the one or more positions based on the applied delta;
generating the requested particular version of the document based at least in part on the generated data for each delta of the one or more deltas, whereby 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 for retrieving a particular version of a document having a plurality of versions comprising:
-
receiving a request to retrieve the particular version of the document from among the plurality of versions of the document; retrieving one or more deltas corresponding to the requested particular version of the document, wherein each delta of the one or more deltas respectively corresponds to at least one change to data at one or more positions in the requested particular version of the document relative to an adjacent version of the document; for each delta of the one or more deltas; recursively determining adjacent data corresponding to the delta at the adjacent version of the document, applying the delta to the determined adjacent data, and generating data accounting for the at least one change to data at the one or more positions based on the applied delta; generating the requested particular version of the document based at least in part on the generated data for each delta of the one or more deltas, whereby 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 tangible computer readable medium storing computer executable instructions for retrieving a particular version of a document having a plurality of versions, the instructions operable when executed to:
-
receive a request to retrieve the particular version of the document from among the plurality of versions of the document; retrieve one or more deltas corresponding to the requested particular version of the document, wherein each delta of the one or more deltas respectively corresponds to at least one change to data at one or more positions in the requested particular version of the document relative to an adjacent version of the document; for each delta of the one or more deltas; recursively determine adjacent data corresponding to the delta at the adjacent version of the document, apply the delta to the determined adjacent data, and generate data accounting for the at least one change to data at the one or more positions based on the applied delta; generate the requested particular version of the document based at least in part on the generated data for each delta of the one or more deltas, whereby 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 for retrieving a particular version of a document having a plurality of versions comprising:
one or more processors configured to; receive a request to retrieve the particular version of the document from among the plurality of versions of the document; retrieve one or more deltas corresponding to the requested particular version of the document, wherein each delta of the one or more deltas respectively corresponds to at least one change to data at one or more positions in the requested particular version of the document relative to an adjacent version of the document; for each delta of the one or more deltas; recursively determine adjacent data corresponding to the delta at the adjacent version of the document, apply the delta to the determined adjacent data, and generate data accounting for the at least one change to data at the one or more positions based on the applied delta; generate the requested particular version of the document based at least in part on the generated data for each delta of the one or more deltas, whereby 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