System for generating efficient and compact update packages
Abstract
A system for generating efficient and compact update packages makes it possible to process a source binary image of software/firmware for an electronic device and a target binary image in order to generate a compact update package. It generates bubbles information that is optionally packaged with the generated update package. Together, the bubbles information and the update package, when delivered to an electronic device, facilitate the upgrade of the electronic device to a new or different version. The system for generating efficient and compact update packages selectively employs residue generation/computation and entropy computation, in addition to other techniques, in order to make the update package more compact.
Claims
exact text as granted — not AI-modified1 - 33 . (canceled)
34 . A computer-readable storage, having stored thereon a computer program having a plurality of code sections for generating update packages for updating contents of memory in an electronic device, the code sections executable by a processor for causing the processor to perform the operations comprising:
identifying files comprising code or objects of a source image; identifying files comprising code or objects of a target image; creating distance information representing differences of location of corresponding code or objects in the source image and the target image, using the source image and the target image; generating a list of information items representing growth or reduction in size of the code or objects in the source image in comparison to the corresponding code or objects in the target image, using the distance information; applying the information items to the source image to create a modified source image in which the code or objects more closely align with the corresponding code or objects in the target image; generating an update package of difference information using the modified source image and the target image; and outputting the update package and the list of information items to the electronic device for processing to update the memory.
35 . The computer-readable storage according to claim 34 wherein the identified files for the source image and the target image are parsed to create the distance information.
36 . The computer-readable storage according to claim 34 wherein generating the list of information items comprises prediction.
37 . The computer-readable storage according to claim 34 wherein the generation of the update package calculates the entropy of data in the update package.
38 . The computer-readable storage according to claim 34 wherein the update package and the list of information items are compressed before output.
39 . The computer-readable storage according to claim 34 wherein the update package and the list of information items are packaged separately.
40 . The computer-readable storage according to claim 34 wherein the update package is arranged for updating the memory as a plurality of banks each comprising a plurality of memory locations.
41 . The computer-readable storage according to claim 40 wherein generating the update package determines an order in which to update the banks to produce a most size-efficient update package.
42 . The computer-readable storage according to claim 34 wherein the difference information is encoded as a set of instructions that are performed by code in the electronic device.
43 . The computer-readable storage according to claim 34 wherein generating an update package comprises calculating entropy of update package data to select a set of instructions for use in the update package.
44 . The computer-readable storage according to claim 43 wherein the entropy is calculated for different sets of instructions to determine the instruction set yielding the smallest entropy value.
45 . The computer-readable storage according to claim 34 wherein the electronic device comprises a mobile phone.
46 . A mobile electronic device that supports updating of a source image in memory of the device, the device comprising:
at least one processor communicatively coupled to storage containing an update package of difference information and to the memory, the at least one processor operating to, at least:
receive the update package into the memory;
after receiving the update package, modify the source image using information items representing growth or reduction in size of the code or objects in the source image, to produce a modified source image in which the code or objects in the source image more closely align with corresponding code or objects in the target image; and
generate the target image using the modified source image, by updating the modified source image using the difference information in the update package.
47 . The device according to claim 46 wherein the information items representing growth or reduction in size of the code or objects in the source image are received as part of the update package.
48 . The device according to claim 46 wherein the update package comprises data and a set of instructions processed by code in the device.
49 . The device according to claim 46 wherein the update package is arranged to process the source image as a plurality of banks, each bank comprising a plurality of memory locations.
50 . The device according to claim 49 wherein the update package comprises bank order information defining an order of banks in which to update the plurality of banks.
51 . The device according to claim 46 wherein the at least one processor operates to decompress the update package.
52 . The device according to claim 46 wherein the device comprises a mobile phone.
53 . The device according to claim 46 wherein the memory comprises FLASH memory.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.