IP Library Granted Patent US 8,789,035
Granted Patent B2
US 8,789,035 · App. 13/128,615 · Granted Jul 22, 2014

Method and apparatus for updating firmware

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,789,035
App. No.
13/128,615
Granted
Jul 22, 2014
Kind
B2
Abstract

A method and apparatus for updating firmware using a firmware-over-the-air update. The apparatus comprises a plurality of repository files each comprising one or more settings. The apparatus is configured to store a specified value corresponding to at least one of the settings. The apparatus is capable of receiving a firmware over-the-air update which overwrites at least one repository file with an updated version. The apparatus is capable of identifying repository files which have been changed by the update and for which at least one corresponding specified value exists. Identification is achieved by comparing representations of repository files. Further, the apparatus is capable of merging updated repository files to retain specified values.

Claims (33)

1. A method comprising:

a. receiving a firmware over-the-air update in an apparatus having a plurality of repository files, each repository file comprising one or more settings, at least one setting of each repository file being modifiable to equal one of one or more corresponding specified values, the update overwriting at least one repository file with an updated version;

b. identifying repository files for which at least one corresponding specified value exists; and

c. detecting one or more of the identified repository files which have been updated by comparing a representation of each identified repository file from before the update was received with a representation of the identified repository file after the update was received, and for the each updated identified repository file, merging the at least one corresponding specified value with the updated identified repository file;

wherein the representation of each repository file is a cyclic redundancy check value of the repository file; and

wherein a second version of each repository file for which at least one specified value exists is stored in a non-transitory computer readable medium, each specified value being stored in place of its corresponding setting, and wherein merging the at least one corresponding specified value with the updated identified repository file comprises setting said each setting of the second version, for which no corresponding specified value exists, equal to the corresponding setting of the updated version of the updated identified repository file.

2. The method as claimed in claim 1 wherein merging the at least one corresponding specified value with the updated identified repository file is performed for only the each updated identified repository file.

3. The method as claimed in claim 1 wherein the repository files are stored on a read-only portion of a non-volatile memory of the apparatus and the specified values are stored on a writable portion of a non-volatile memory of the apparatus.

4. The method as claimed in claim 1 wherein each representation of the repository file from before the update was received is stored independently from the plurality of repository files before the update is received so that each representation is not overwritten by the update.

5. The method as claimed in claim 1 wherein each repository file contains a group of settings which all relate to a common functionality.

6. The method as claimed in claim 1 wherein each repository file contains a group of settings which all relate to a profile of the apparatus.

7. An apparatus, comprising:

at least one processor; and

at least one memory including computer program code,

the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following:

receive a firmware over-the-air update in the apparatus, the apparatus having a plurality of repository files, each repository file comprising one or more settings, at least one setting of each repository file being modifiable to equal one of one or more corresponding specified values, the update overwriting at least one repository file with an updated version;

identify repository files for which at least one corresponding specified value exists; and

detect one or more of the identified repository files which have been updated by comparing a representation of each identified repository file from before the update was received with a representation of the identified repository file after the update was received, and for the each updated identified repository file, merge the at least one corresponding specified value with the updated identified repository file;

wherein the representation of each repository file is a cyclic redundancy check value of the repository file; and

wherein a second version of each repository file for which at least one specified value exists is stored in a non-transitory computer readable medium, each specified value being stored in place of its corresponding setting, and wherein merging the at least one corresponding specified value with the updated identified repository file comprises setting said each setting of the second version, for which no corresponding specified value exists, equal to the corresponding setting of the updated version of the updated identified repository file.

8. The apparatus as claimed in claim 7 wherein merging the at least one corresponding specified value with the updated identified repository file is performed for only the each updated identified repository file.

9. The apparatus as claimed in claim 7 wherein the repository files are stored on a read-only portion of a non-volatile memory of the apparatus and the specified values are stored on a writable portion of a non-volatile memory of the apparatus.

10. The apparatus as claimed in claim 9 wherein the cyclic redundancy check value is stored on the read-only portion of the non-volatile memory for each repository file of the read-only portion and each cyclic redundancy value is copied onto the writable portion of the non-volatile memory before the apparatus receives the firmware-over-the-air update.

11. The apparatus as claimed in claim 9 wherein identifying repository files for which at least one corresponding specified value exists comprises inspecting the writable portion of the non-volatile memory for data corresponding to repository files.

12. The apparatus as claimed in claim 7 wherein each representation of the repository file from before the update was received is stored independently from the plurality of repository files before the update is received so that each representation is not overwritten by the update.

13. The apparatus as claimed in claim 7 wherein each repository file contains a group of settings which all relate to a common functionality.

14. The apparatus as claimed in claim 7 wherein each repository file contains a group of settings which all relate to a profile of the apparatus.

15. A computer program product comprising a non-transitory computer-readable medium bearing computer program code embodied therein for use with a computer, the computer program code comprising:

a. code for receiving a firmware over-the-air update in an apparatus having a plurality of repository files, each repository file comprising one or more settings, at least one setting of each repository file being modifiable to equal one of one or more corresponding specified values, the update overwriting at least one repository file with an updated version;

b. code for identifying repository files for which at least one corresponding specified value exists; and

c. code for detecting one or more of the identified repository files which have been updated by comparing a representation of each identified repository file from before the update was received with a representation of the identified repository file after the update was received; and for the each updated identified repository file, merging the at least one corresponding specified value with the updated identified repository file;

wherein the representation of each repository file is a cyclic redundancy check value of the repository file; and

wherein a second version of each repository file for which at least one specified value exists is stored in a non-transitory computer readable medium, each specified value being stored in place of its corresponding setting, and wherein merging the at least one corresponding specified value with the updated identified repository file comprises setting said each setting of the second version, for which no corresponding specified value exists, equal to the corresponding setting of the updated version of the updated identified repository file.

Assignments (9)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035543/0141 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2011
From: MCCARTHY, PATRICK; HONG, HUSIEN
To: NOKIA CORPORATION
Reel/Frame 026787/0100 →