Processing software images for use in generating difference files
First Claim
1. A system for updating electronic files comprising:
- a first device for generating difference files that include coded differences between an original version and a new version of an electronic file, wherein the first device includes at least one component that reduces a size of the difference file by;
identifying differences between the original and the new versions corresponding to address shifts resulting from at least one of code line deletion, code line addition, and code line modification;
removing the identified differences in text sections common to the original and the new versions by modifying target addresses of instructions of the original version using at least one relationship between addresses of text sections of the original version and corresponding text sections of the new version;
generating a modified version of the original file that includes the instructions having modified target addresses; and
a second device that receives the difference file and generates a version of the new file in the second device using the difference file.
4 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are provided for pre-processing original and new versions of files as part of difference file generation between the original and new file versions, for example byte-level file differencing. Software/executable changes between file versions include primary changes/logical changes, which are defined to be the source code changes, and secondary changes. The secondary changes generally result from the primary changes and are generated by the software compiler/linker utilities. The secondary changes include address changes, pointer target address changes, and changes in address offsets. The pre-processing systems and methods provided use approximation rules between file versions to remove/reduce the secondary changes and encode information relating to the removal of these changes in information of the corresponding difference file.
-
Citations
43 Claims
-
1. A system for updating electronic files comprising:
-
a first device for generating difference files that include coded differences between an original version and a new version of an electronic file, wherein the first device includes at least one component that reduces a size of the difference file by;
identifying differences between the original and the new versions corresponding to address shifts resulting from at least one of code line deletion, code line addition, and code line modification;
removing the identified differences in text sections common to the original and the new versions by modifying target addresses of instructions of the original version using at least one relationship between addresses of text sections of the original version and corresponding text sections of the new version;
generating a modified version of the original file that includes the instructions having modified target addresses; and
a second device that receives the difference file and generates a version of the new file in the second device using the difference file. - View Dependent Claims (2, 3, 4, 5, 6, 12)
-
-
7. An apparatus for use in generating difference files, comprising:
-
means for receiving an original version and a new version of an electronic file;
means for identifying units of code that are common to the original and the new versions;
means for identifying instructions that are common to the units of code, wherein the instructions include instruction values that direct processing to another portion of the corresponding file;
means for generating a first instruction value from a first instruction of the original version;
means for generating a second instruction value from a second instruction of the new version, wherein the second instruction corresponds to the first instruction;
means for replacing the first instruction value of the first instruction with the second instruction value; and
means for generating a modified version of the original file comprising the first instruction with the second instruction value.
-
-
8. A method for reducing a size of a difference file that includes coded differences between an original version and a new version of an electronic file, comprising:
-
identifying differences between the original and the new versions corresponding to address shifts resulting from at least one of code line deletion, code line addition, and code line modification;
removing the identified differences in text sections common to the original and the new versions by modifying target addresses of instructions of the original version using at least one relationship between addresses of text sections of the original version and corresponding text sections of the new version; and
generating a modified version of the original file that includes the instructions having modified target addresses. - View Dependent Claims (9, 10, 11, 13, 14, 15, 16, 17)
-
-
18. A method for performing file differencing, comprising:
-
receiving an original version and a new version of an electronic file;
identifying units of code that are common to the original and the new versions;
identifying instructions that are common to the units of code, wherein the instructions include instruction values that relate to another portion of the corresponding file;
decoding a first instruction value from a first instruction of the original version;
generating a second instruction value from a second instruction of the new version, wherein the second instruction corresponds to the first instruction;
replacing the first instruction value of the first instruction with the second instruction value; and
generating a modified version of the original file comprising the first instruction with the second instruction value. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A method for determining differences between electronic files, comprising:
-
receiving an original version and a new version of an electronic file;
identifying first and second function units that are common between the original and the new versions, wherein the first function unit in the original version includes a first calculable instruction and the second function unit in the new version includes a second calculable instruction;
identifying third and fourth function units that are common between the original and the new versions, wherein the third function unit in the original version includes a first target address that corresponds to the first calculable instruction, wherein the fourth function unit in the new version includes a second target address that corresponds to the second calculable instruction;
generating a second instruction value from the second calculable instruction;
replacing a first instruction value of the first calculable instruction with the second instruction value; and
generating a modified version of the original file comprising the first instruction with the second instruction value. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42)
-
-
43. A computer readable medium including executable instructions which, when executed in a processing system, reduce a size of a difference file that includes coded differences between an original version and a new version of an electronic file by:
-
identifying differences between the original and the new versions corresponding to address shifts resulting from at least one of code line deletion, code line addition, and code line modification;
removing the identified differences in text sections common to the original and the new versions by modifying target addresses of instructions of the original version using at least one relationship between addresses of text sections of the original version and corresponding text sections of the new version; and
generating a modified version of the original file that includes the instructions having modified target addresses.
-
Specification