Processing software images for use in generating difference files
First Claim
1. A system for updating electronic files comprising:
- a first device for generating a difference files that includes coded differences between an original version and a new version of an electronic file, wherein the first device includes at least one component configured for;
identifying differences between the original version 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 version 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 version that includes the instructions having modified target addresses;
generating the difference file using the new version and the modified version of the original version; and
a second device that receives the difference file and generates the new version 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
41 Claims
-
1. A system for updating electronic files comprising:
-
a first device for generating a difference files that includes coded differences between an original version and a new version of an electronic file, wherein the first device includes at least one component configured for; identifying differences between the original version 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 version 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 version that includes the instructions having modified target addresses; generating the difference file using the new version and the modified version of the original version; and a second device that receives the difference file and generates the new version in the second device using the difference file. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus for use in generating a 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 version 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 a 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; means for generating a modified version of the original version comprising the first instruction with the second instruction value; and means for generating the difference file using the new version and the modified version of the original version.
-
-
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 version 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 version 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 version that includes the instructions having modified target addresses; and generating the difference file using the new version and the modified version of the original version. - View Dependent Claims (9, 10, 11, 12, 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 version 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 a 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; generating a modified version of the original version comprising the first instruction with the second instruction value; and performing file differencing between the new version and the modified version of the original version and generating a difference file. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. 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 version and the new version, 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 version and the new version, 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; generating a modified version of the original version comprising the first instruction with the second instruction value; and generating a difference file using the new version and the modified version of the original version, the difference file including the differences. - View Dependent Claims (35, 36, 37, 38, 39, 40)
-
-
41. 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 version and the new version corresponding to address shifts resulting front 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 version 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 version that includes the instructions having modified target addresses; and generating the difference file using the new version and the modified version of the original version.
-
Specification