Generating difference files using module information of embedded software components
First Claim
1. A system for updating electronic files comprising at least one processor-based device hosting a module information extractor, the module information extractor:
- receiving byte streams including an original byte stream and a new byte stream, wherein each of the original and new byte streams include at least one module;
generating a new map file, new hex file, new binary file, and new device memory map (DMM) associated with the new byte stream;
reading module information of the modules of the new byte stream using information of the new map file and the new hex file;
comparing the new DMM with an original DMM using the module information, wherein the original DMM corresponds to the original byte stream;
identifying inserted and deleted modules of the new byte stream in response to the DMM comparison, the inserted modules being present in the new byte stream and absent from the original byte stream and the deleted modules being absent from the new byte stream and present in the original byte stream;
identifying remaining modules in which the contents remain the same as corresponding modules of the original byte stream, wherein the remaining modules are any modules of the new byte stream not identified as inserted modules; and
generating difference information representative of the inserted modules, deleted modules, and remaining modules in which the contents remain the same.
4 Assignments
0 Petitions
Accused Products
Abstract
In generating difference information between different file versions, a software component distributor (SCD) receives new files and corresponding original files. The SCD generates a new map file, hex file, and device memory map (DMM) for the new file. Module information is read from the new file using information of the new map file and hex file. The SCD, using the module information, compares the new DMM with the DMM of the original file, identifying inserted and deleted modules of the new file in response to the comparison. The SCD identifies remaining modules of the new file in which the contents remain the same as corresponding modules of the original file, where the remaining modules are modules of the new file not identified as inserted modules. The SCD generates difference information representative of the inserted modules, deleted modules, and remaining modules in which the contents remain the same.
-
Citations
31 Claims
-
1. A system for updating electronic files comprising at least one processor-based device hosting a module information extractor, the module information extractor:
-
receiving byte streams including an original byte stream and a new byte stream, wherein each of the original and new byte streams include at least one module;
generating a new map file, new hex file, new binary file, and new device memory map (DMM) associated with the new byte stream;
reading module information of the modules of the new byte stream using information of the new map file and the new hex file;
comparing the new DMM with an original DMM using the module information, wherein the original DMM corresponds to the original byte stream;
identifying inserted and deleted modules of the new byte stream in response to the DMM comparison, the inserted modules being present in the new byte stream and absent from the original byte stream and the deleted modules being absent from the new byte stream and present in the original byte stream;
identifying remaining modules in which the contents remain the same as corresponding modules of the original byte stream, wherein the remaining modules are any modules of the new byte stream not identified as inserted modules; and
generating difference information representative of the inserted modules, deleted modules, and remaining modules in which the contents remain the same. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for updating electronic files, comprising:
-
a first device including a first component of a file differencing and updating system that generates a delta file by, receiving files including an original file and a new file, wherein each of the original and new files includes at least one module;
extracting a new map file, hex file, and device memory map (DMM) associated with the new file, and reading module information of the new file using information of the new map file and the new hex file;
comparing the new DMM with an original DMM using the module information, wherein the original DMM corresponds to the original file;
identifying inserted and deleted modules between the new and original files using information of the DMM comparison;
identifying a first group of remaining modules in which size and contents remain the same as corresponding modules of the original file, wherein the remaining modules are any modules of the new file not identified as inserted modules;
identifying a second group of remaining modules including modules having a different size and modules having a same size and different content than the corresponding modules of the original file;
generating difference information representative of the inserted modules, deleted modules, and the first group of remaining modules; and
generating a delta file including the difference information and information of the edit distance between corresponding modules of the second group of remaining modules and the original file; and
a second device receiving the delta file from the first device via at least one coupling, the second device including a second component of the file differencing and updating system configured to update electronic files of the second device. - View Dependent Claims (14, 15, 16)
-
-
17. A method for determining differences between electronic files, comprising:
-
receiving byte streams including an original byte stream and a new byte stream, wherein each of the original and new byte streams include at least one module;
generating a new map file, new hex file, new binary file, and new device memory map (DMM) associated with the new byte stream;
reading module information of the modules of the new byte stream using information of the new map file and the new hex file;
comparing the new DMM with an original DMM using the module information, wherein the original DMM corresponds to the original byte stream;
identifying inserted and deleted modules of the new byte stream in response to the DMM comparison, the inserted modules being present in the new byte stream and absent from the original byte stream and the deleted modules being absent from the new byte stream and present in the original byte stream;
identifying remaining modules in which the contents remain the same as corresponding modules of the original byte stream, wherein the remaining modules are any modules of the new byte stream not identified as inserted modules; and
generating difference information representative of the inserted modules, deleted modules, and remaining modules in which the contents remain the same. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A method for generating a difference file between electronic files, comprising:
-
receiving files including an original file and a new file, wherein each of the original and new files includes at least one module;
extracting a new map file, hex file, and device memory map (DMM) associated with the new file;
reading module information of the new file using information of the new map file and the new hex file;
comparing the new DMM with an original DMM using the module information, wherein the original DMM corresponds to the original file;
identifying inserted and deleted modules between the new and original files using information of the DMM comparison;
identifying a first group of remaining modules in which size and contents remain the same as corresponding modules of the original file, wherein the remaining modules are any modules of the new file not identified as inserted modules;
identifying a second group of remaining modules including modules having a different size and modules having a same size and different content than the corresponding modules of the original file;
generating difference information representative of the inserted modules, deleted modules, and the first group of remaining modules; and
generating a delta file including the difference information and information of the edit distance between corresponding modules of the second group of remaining modules and the original file.
-
-
30. An apparatus, comprising:
-
means for receiving byte streams including an original byte stream and a new byte stream, wherein each of the original and new byte streams include at least one module;
means for generating a new map file, new hex file, new binary file, and new device memory map (DMM) associated with the new byte stream;
means for reading module information of the modules of the new byte stream using information of the new map file and the new hex file;
means for comparing the new DMM with an original DMM using the module information, wherein the original DMM corresponds to the original byte stream;
means for identifying inserted and deleted modules of the new byte stream in response to the DMM comparison, the inserted modules being present in the new byte stream and absent from the original byte stream and the deleted modules being absent from the new byte stream and present in the original byte stream;
means for identifying remaining modules in which the contents remain the same as corresponding modules of the original byte stream, wherein the remaining modules are any modules of the new byte stream not identified as inserted modules; and
means for generating difference information representative of the inserted modules, deleted modules, and remaining modules in which the contents remain the same.
-
-
31. A computer readable medium including executable instructions which, when executed in a processing system, performs differencing between electronic files, comprising:
-
receiving byte streams including an original byte stream and a new byte stream, wherein each of the original and new byte streams include at least one module;
generating a new map file, new hex file, new binary file, and new device memory map (DMM) associated with the new byte stream;
reading module information of the modules of the new byte stream using information of the new map file and the new hex file;
comparing the new DMM with an original DMM using the module information, wherein the original DMM corresponds to the original byte stream;
identifying inserted and deleted modules of the new byte stream in response to the DMM comparison, the inserted modules being present in the new byte stream and absent from the original byte stream and the deleted modules being absent from the new byte stream and present in the original byte stream;
identifying remaining modules in which the contents remain the same as corresponding modules of the original byte stream, wherein the remaining modules are any modules of the new byte stream not identified as inserted modules; and
generating difference information representative of the inserted modules, deleted modules, and remaining modules in which the contents remain the same.
-
Specification