Techniques for versioning files
First Claim
Patent Images
1. A method, comprising:
- obtaining a base file at a first time, the base file is a complete copy of a data obtained as a checkpoint in time for the data and the base file is used for deriving subsequent versions of the data, wherein obtaining further includes dynamically acquiring the base file from a snapshot volume, wherein the base file is recorded within the snapshot volume during a snapshot operation taken at the first time of a primary volume, wherein the snapshot is of the primary volume and includes the data;
capturing changes made to the base file at a second time as a delta, the delta reflects differences between the base file and the changes, the delta represented as information and instructions in a serialized format, the delta is a progression from a previous state of the base file to a newer version of the base file and the delta includes strings of data to insert or delete from the base file along with insertion or deletion commands to insert the strings or to delete the strings, and wherein the delta stores with each delete command a corresponding string of the data that was deleted without having to use an index for locating the data that was deleted;
storing, the delta as the newer version of the base file in an archive storage, wherein the archive storage does not include a copy of the base file, and the base file is dynamically acquired when needed from the snapshot volume, and the base file is at least represented at any given point in time as three versions;
a base file version stored as the complete copy of the data in the snapshot volume, a subsequent version derived from the base file version and stored as a subsequent delta in the archive storage, and a current version derived from the subsequent version and the base file version and the current version stored as a current delta in the archive storage, any particular version of the base file obtained by serially applying retained deltas as a progression to reach that particular version; and
processing, by the archive storage, a particular delta for generating a particular new version of the base file without indexing, storing, retrieving, and processing from the archive storage entire copies of any specific files derived from the base file.
16 Assignments
0 Petitions
Accused Products
Abstract
Techniques are presented for versioning files. Base files are acquired for files on a primary volume. At configurable points in time changes to the files are noted on different volumes, these changes are represented as deltas. The deltas are stored on an archive volume and represent versions and a version history for the files.
35 Citations
13 Claims
-
1. A method, comprising:
-
obtaining a base file at a first time, the base file is a complete copy of a data obtained as a checkpoint in time for the data and the base file is used for deriving subsequent versions of the data, wherein obtaining further includes dynamically acquiring the base file from a snapshot volume, wherein the base file is recorded within the snapshot volume during a snapshot operation taken at the first time of a primary volume, wherein the snapshot is of the primary volume and includes the data; capturing changes made to the base file at a second time as a delta, the delta reflects differences between the base file and the changes, the delta represented as information and instructions in a serialized format, the delta is a progression from a previous state of the base file to a newer version of the base file and the delta includes strings of data to insert or delete from the base file along with insertion or deletion commands to insert the strings or to delete the strings, and wherein the delta stores with each delete command a corresponding string of the data that was deleted without having to use an index for locating the data that was deleted; storing, the delta as the newer version of the base file in an archive storage, wherein the archive storage does not include a copy of the base file, and the base file is dynamically acquired when needed from the snapshot volume, and the base file is at least represented at any given point in time as three versions;
a base file version stored as the complete copy of the data in the snapshot volume, a subsequent version derived from the base file version and stored as a subsequent delta in the archive storage, and a current version derived from the subsequent version and the base file version and the current version stored as a current delta in the archive storage, any particular version of the base file obtained by serially applying retained deltas as a progression to reach that particular version; andprocessing, by the archive storage, a particular delta for generating a particular new version of the base file without indexing, storing, retrieving, and processing from the archive storage entire copies of any specific files derived from the base file. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method, comprising:
-
using a snapshot volume of a primary volume for dynamically obtaining base files for files residing on the primary volume from that snapshot volume, and wherein each base file is recorded within the snapshot volume during a snapshot operation taken at the first time of a primary volume that includes the files; recoding changes, which are noted on the primary volume, and which are made to the files at configurable periods, the changes are represented as deltas that are defined as signatures; and storing the deltas as versions of the base files in an archive volume and just the deltas are stored and not whole files and not the base files, each delta applied serially forward against a particular base file to arrive at a particular subsequent version for that particular base file and each delta applied in a reverse fashion from that particular base file to arrive at a particular earlier version of that particular base file, multiple deltas are serially applied in a forward progression against one another beginning with a first delta to arrive at a particular version for the particular base file that is subsequent to when that particular base file was obtained and the multiple deltas applied in a reversion progression against one another beginning with a last delta to arrive at any given version that precedes a current version, the archive volume also includes specific deltas and a file version history for the base file but does not include entire copies of specific files derived from a specific base file, and the archive volume does not index, store, retrieve, and process entire files from the archive volume for any particular new version but instead processes the particular delta to generate the particular new version using a particular dynamically acquired base file from the snapshot volume and the dynamically acquired base file dynamically acquired when needed from the snapshot volume, and wherein each delta file stores with any delete command instruction a corresponding string that was deleted by the delete command without having to use an index for locating the corresponding string. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
Specification