Method for reducing binary image update package sizes
First Claim
1. A method for convening an original image into a new image, said method implemented in a computing device and comprising:
- a. Determining differences between the original image and the new image by a binary comparison thereof;
b. Expressing the differences between the original image and the new image as an instruction set comprising at least one candidate COPY operation;
c. Re-expressing each candidate COPY operation as a RELOCATE operation, wherein each said RELOCATE operation comprises two operands whereby a first operand expresses a number of instructions to be relocated and a second operand expresses a number of data values to be relocated;
d. Replacing in the instruction set each candidate COPY operation with at least one corresponding RELOCATE operation if each corresponding RELOCATE operation'"'"'s total length progresses further through the original and new images than a corresponding COPY operation;
e. Populating an address translation table which comprises a sorted list of original image addresses where each original image address is related to an associated delta value, wherein the corresponding image addresses in the new image are found by adding said associated delta value to each original image address of the sorted list of original image addresses; and
f. Encoding an update package to include (i) the instruction set comprised of a plurality of COPY and RELOCATE operations and (ii) the address translation table.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for reducing the update package size used to convert an original image into a new image based on the differences between the two images. From comparison of original and new images, an update package is generated which includes ADD and COPY operations. This design introduces a RELOCATE operation. The update encoder attempts to re-express submitted COPY operations with one or more RELOCATE operations whose total length exceeds that of the original COPY. If this is the case, the RELOCATE operation(s) have progressed further through the images than the original COPY operation, thus producing a smaller update package. Each individual RELOCATE operation includes a number of instructions and a number of data items to be relocated.
63 Citations
14 Claims
-
1. A method for convening an original image into a new image, said method implemented in a computing device and comprising:
-
a. Determining differences between the original image and the new image by a binary comparison thereof; b. Expressing the differences between the original image and the new image as an instruction set comprising at least one candidate COPY operation; c. Re-expressing each candidate COPY operation as a RELOCATE operation, wherein each said RELOCATE operation comprises two operands whereby a first operand expresses a number of instructions to be relocated and a second operand expresses a number of data values to be relocated; d. Replacing in the instruction set each candidate COPY operation with at least one corresponding RELOCATE operation if each corresponding RELOCATE operation'"'"'s total length progresses further through the original and new images than a corresponding COPY operation; e. Populating an address translation table which comprises a sorted list of original image addresses where each original image address is related to an associated delta value, wherein the corresponding image addresses in the new image are found by adding said associated delta value to each original image address of the sorted list of original image addresses; and f. Encoding an update package to include (i) the instruction set comprised of a plurality of COPY and RELOCATE operations and (ii) the address translation table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of updating an original image to create a new image, said method implemented in a computing device and comprising:
-
a. Generating an update package by comparing the original image and the new image and using result of said comparison to encode an instruction set comprised of; i. A plurality of operations, including at least one RELOCATE operation comprising two operands whereby a first operand expresses a number of instructions to be relocated and a second operand expresses a number of data values to be relocated, and ii. An address translation table comprising a sorted list of original image addresses where each original image address is related to an associated delta value, wherein the corresponding image addresses in the new image are found by adding associated delta values to each original image address of the sorted list of original image addresses; and b. Applying the update package by interpreting the instruction set to direct the updating of the original image to create the new image in an order specified by the plurality of operations and associated address translation table data values. - View Dependent Claims (12, 13)
-
-
14. A method for updating an original image into a new image, said method implemented in a computing device and comprising:
-
a. Generating an instruction set including one or more RELOCATE operations, wherein each RELOCATE operation performs a COPY operation of the same length as a complete RELOCATE operation, and each RELOCATE operation comprises two operands whereby a first operand expresses a number of instructions to be relocated and a second operand expresses a number of data values to be relocated; b. Populating an address translation table with a sorted list of original image addresses where each original image address is related to an associated delta value, whereby each original image address relates to the original image and a corresponding new image address is found by adding one associated delta value to an original image address of the sorted list of original image addresses; and c. Encoding to create an update package comprising the instruction set and the address translation table.
-
Specification