# US 2017/0286094 A1 · Method for adapting firmware of a wireless communication device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0286094 A1
- Document ID: US20170286094A1
- Status: Published application
- Kind: A1
- Application number: 15/507,817
- Filed: 2015-08-18
- Published: 2017-10-05
- Earliest claimed: 2014-09-02
- Assignees: Gemalto M2M GmbH
- Applicants: Gemalto M2M GmbH
- Inventors: Frank WESTERKOWSKY
- Web page: https://patentgrep.com/patent/US20170286094A1

## CPC

- G06F 8/658: Incremental updates; Differential updates
- G06F 8/654: using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
- H04W 4/70: Services for machine-to-machine communication [M2M] or machine type communication [MTC]
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

In a method for adapting a firmware configured to control a wireless communication device, a first firmware is stored in a first storage area, and at least one delta encoding package is stored in at least one second storage area. A rule manager is configured to provide identification information indicating at least one delta encoding package. Bootstrap software is configured to, upon startup, retrieve the first firmware from the first storage area, retrieve from the rule manager identification information indicating at least one delta encoding package retrieve the indicated at least one delta encoding package from the second storage area, combine said first firmware and the at least one delta encoding package to a second firmware by way of a differential upgrade, and start the second firmware.

## Claims

### Claim 1

Method for adapting a firmware configured to control a wireless communication device, the wireless communication device comprising at least one storage unit, a bootstrap software and a rule manager wherein a first firmware is stored in a first storage area, the first storage area being part of the at least one storage unit, at least one delta encoding package is stored in at least one second storage area, the second storage area being part of the at least one storage unit, and the rule manager is configured to provide identification information indicating at least one delta encoding package, the method comprising the steps, for the bootstrap software:
upon startup retrieving the first firmware from the first storage area,
retrieving from the rule manager identification information indicating at least one delta encoding package
retrieving the indicated at least one delta encoding package from the second storage area,
combining said first firmware and said at least one delta encoding package to a second firmware by way of a differential upgrade, and
starting said second firmware.

### Claim 2 (depends on 1)

Method according to claim 1,
wherein the step of combining the first firmware with at least two delta encoding package comprises an incremental update of the first firmware by updating the first firmware by at least two delta encoding packages in order defined by the identification information retrieved from the rule manager.

### Claim 3 (depends on 1)

Method according to claim 1,
the wireless communication device comprising a volatile memory,
wherein the method comprises, after the step of combining,
storing the second firmware in the first storage area,
and the step of starting second firmware comprises
loading second firmware from first storage area in volatile memory and
executing said loaded second firmware.

### Claim 4 (depends on 3)

Method according to claim 3,
wherein at least two delta encoding packages are stored in the at least one second storage area,
the two delta encoding packages comprising at least a downgrade package and an upgrade package,
wherein the step of combining comprises the following steps:
executing a differential downgrade of the first firmware by differential downgrade instructions being part of the downgrade package,
storing result of differential downgrade in a first or second storage area,
executing differential upgrade of the result of differential downgrade by differential upgrade instructions being part of the upgrade package,
storing result of differential upgrade as second firmware in the first storage area.

### Claim 5 (depends on 1)

Method according to claim 1,
wherein the first storage area is a non rewriteable memory.

### Claim 6 (depends on 1)

Method according to claim 1,
wherein at least one out of the group of first firmware and at least one delta encoding package being stored in the respective storage area in compressed form, hereinafter stored item
the retrieving step comprising:
reading respective stored item
uncompressing read stored item.

### Claim 7 (depends on 1)

Method according to claim 1,
wherein the rule manager is configured to execute the steps of:
checking for a change of an operating parameter,
in case a change is detected:
determine at least one delta encoding package based on changed operating parameter,
providing to the bootstrap software an identification information indicating the determined at least one delta encoding package,
handing over control to the bootstrap software.

### Claim 8 (depends on 1)

Method according to claim 1,
wherein the rule manager is executed upon an initial start of the wireless communication device, the rule manager is configured to execute the steps of:
determining the value of at least one operating parameter,
based on the determined value of the at least one operating parameter determining at least one delta encoding package,
providing to the bootstrap software an identification information indicating the determined at least one delta encoding package,
handing over control to the bootstrap software.

### Claim 9 (depends on 7)

Method according to claim 7,
wherein the rule manager is configured to, after checking detecting a change of at least one operating parameter, execute the steps of:
downloading at least one delta encoding package from a remote server
storing downloaded at least one delta encoding package in second storing area, and
providing to the bootstrap software an identification information indicating the downloaded at least one delta encoding package.

### Claim 10

Wireless communication device comprising at least one storage unit and a bootstrap software, a rule manager, a first firmware stored in a first storage area, the first storage area being part of the at least one storage unit
at least one delta encoding package stored in at least one second storage area, the second storage area being part of the at least one storage unit,
the rule manager being configured to provide identification information indicating at least one delta encoding package, wherein the wireless communication device is configured to:
upon startup retrieve the first firmware from the first storage area,
retrieve from the rule manager identification information indicating at least one delta encoding package,
retrieve the indicated at least on delta encoding package from the second storage area,
combine said first firmware and said at least one delta encoding package to a second firmware by way of a differential upgrade,
start said second firmware.

### Claim 11 (depends on 10)

Wireless communication device according to claim 10, further comprising a volatile memory, the wireless communication device is further configured to:
after combining to said second firmware, store the second firmware in the first storage area,
and starting said second firmware comprises loading second firmware from first storage area in the volatile memory and executing said loaded second firmware.

### Claim 12 (depends on 11)

Wireless communication device according to claim 11, further comprising at least two delta encoding packages stored in the at least one second storage area, the two delta encoding packages comprising at least a downgrade package and an upgrade package,
wherein the wireless communication device is configured to:
for combining to said second firmware:
execute a differential downgrade of the first firmware by differential downgrade instructions being part of the downgrade package,
store the result of differential downgrade in a first or second storage area,
execute differential upgrade of the result of differential downgrade by differential upgrade instructions being part of the upgrade package,
store the result of differential upgrade as second firmware in the first storage area.

### Claim 13 (depends on 10)

Wireless communication device according to claim 10,
the wireless communication device comprising a rule manager,
configured to:
check for a change of an operating parameter,
in case a change is detected:
determine at least one delta encoding package based on changed operating parameter,
provide to the bootstrap software an identification information indicating the determined at least one delta encoding package,
hand over control to the bootstrap software.

### Claim 14 (depends on 10)

Wireless communication device according to claim 10,
the wireless communication device is configured to execute the rule manager upon initial start, and the rule manager is configured to:
determine the value of at least one operating parameter,
based on the determined value of the at least one operating parameter determine at least one delta encoding package,
provide to the bootstrap software an identification information indicating the determined at least one delta encoding package,
hand over control to the bootstrap software.

### Claim 15 (depends on 13)

Wireless communication device according to claim 13,
wherein the rule manager is further configured to:
after detecting a change of said operating parameter, download at least one delta encoding package from a remote server,
store downloaded at least one delta encoding package in second storing area, and
provide to the bootstrap software an identification information indicating the downloaded at least one delta encoding package.
