Efficient generator of update packages for mobile devices
First Claim
Patent Images
1. A generator, embedded as firmware in non-volatile memory of a mobile device and executable to generate a difference information by comparing a first version of code to a second version of code, the generator comprising:
- a matching function that detects matches in code strings between the first version of code and the second version of code;
the matching function allowing for a limited number of mismatches having a mismatch length which is less than or equal to an established mismatch length, wherein the limited number of mismatches is greater than one but fewer than all of the mismatches having a mismatch length which is less than or equal to the established mismatch length;
wherein the matching stops when more than the limited number of mismatches having a mismatch length which is less than or equal to the established mismatch length of consecutive bytes are found not to match, or when more than the established mismatch length of consecutive bytes are found not to match; and
wherein the limited number of mismatches is determined according to a cost function which ensures that a cost to encode a byte of a match is less than each byte of the match.
8 Assignments
0 Petitions
Accused Products
Abstract
An efficient generator of update packages employs a new command SET PTR CACHE to take advantage of a rudimentary caching mechanism that allows exploiting of local patterns in pointer replacements.
36 Citations
7 Claims
-
1. A generator, embedded as firmware in non-volatile memory of a mobile device and executable to generate a difference information by comparing a first version of code to a second version of code, the generator comprising:
-
a matching function that detects matches in code strings between the first version of code and the second version of code; the matching function allowing for a limited number of mismatches having a mismatch length which is less than or equal to an established mismatch length, wherein the limited number of mismatches is greater than one but fewer than all of the mismatches having a mismatch length which is less than or equal to the established mismatch length; wherein the matching stops when more than the limited number of mismatches having a mismatch length which is less than or equal to the established mismatch length of consecutive bytes are found not to match, or when more than the established mismatch length of consecutive bytes are found not to match; and wherein the limited number of mismatches is determined according to a cost function which ensures that a cost to encode a byte of a match is less than each byte of the match. - View Dependent Claims (2, 3)
-
-
4. A mobile network that includes a generator to facilitate accuracy of updates to at least one mobile device, the network comprising:
-
a mobile device; a delivery server to that is able to facilitate retrieval of an update package by the mobile device; a generator capable of generating a difference information by comparing a first version of code to a second version of code for providing the update package to the mobile device, wherein the update package is employed to update firmware and/or software in the mobile device, and wherein the generator is embedded as firmware in non-volatile memory of the mobile device to; detect matches in code strings between the first version of code and the second version of code; allow for a limited number of mismatches having a mismatch length which is less than or equal to an established mismatch length, wherein the limited number of mismatches is greater than one but fewer than all of the mismatches having a mismatch length which is less than or equal to the established mismatch length; wherein the matching stops when more than the limited number of mismatches having a mismatch length which is less than or equal to the established mismatch length of consecutive bytes are found not to match or when more than the established mismatch length of consecutive bytes are found not to match; and wherein the limited number of mismatches is determined according to a cost function which ensures that a cost to encode a byte of a match is less than each byte of the match. - View Dependent Claims (5, 6)
-
-
7. A mobile network that includes a generator to facilitate accuracy of updates to at least one mobile device, the network comprising:
-
a mobile device; a delivery server to that is able to facilitate retrieval of an update package by the mobile device; a generator capable of generating a difference information by comparing a first version of code to a second version of code for providing the update package to the mobile device in association with encoding and decoding the update package, wherein the update package is employed to update firmware and/or software in the mobile device, and wherein the generator is embedded as firmware in non-volatile memory of the mobile device to; detect matches in code strings between the first version of code and the second version of code; allow for a limited number of mismatches having a mismatch length which is less than or equal to an established mismatch; wherein mismatches of length up to the established mismatch length are tolerated up to the limited number of mismatches and wherein the matching stops when more than the limited number of mismatches having a mismatch length which is less than or equal to the established mismatch length of consecutive bytes are found not to match or when more than the established mismatch length of consecutive bytes are found not to match; and wherein the limited number of mismatches is determined according to a cost function that ensures a cost of a match to encode a byte of a match is less than each byte of the match.
-
Specification