Software update system, firmware over the air updating system and method of updating a client device

US10101990B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10101990-B2
Application numberUS-201715475027-A
CountryUS
Kind codeB2
Filing dateMar 30, 2017
Priority dateSep 14, 2016
Publication dateOct 16, 2018
Grant dateOct 16, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A software update system comprises: a client device ( 104 ) having non-OS system software ( 110 ) to be updated, a client updating server ( 102 ) located remotely from the client device ( 104 ) and capable of communicating with the client device ( 104 ), and a device capability manager ( 126 ) accessing capability data relating to the client device ( 104 ). The updating server ( 102 ) retrieves a first update required to update at least part of the software ( 110 ). The updating server ( 102 ) comprises an update optimizer ( 124 ) that cooperates with the device capability manager ( 126 ) to determine an organizational scheme to apply to the first update to optimize updating of the client device. The organizational scheme is compatible with a technical capability of the client device ( 104 ), and the update optimizer ( 124 ) identifies a recovery function to recover the first update from an instance of the first update organized in accordance with the selected organizational scheme. The device capability manager ( 126 ) uses the capability data to determine necessary functionality required to implement the recovery function identified. The updating server ( 102 ) comprises an update package generator ( 116 ) responsive to the update optimizer ( 124 ) to generate an update package comprising a second update to enable the client device ( 104 ) to support the recovery function.

First claim

Opening claim text (preview).

The invention claimed is: 1. A software update system comprising: a client device having non-OS system software to be updated; a client updating server located remotely from the client device and capable of communicating with the client device; and a device capability manager stored in a memory arranged to access technical capability data relating to the client device; wherein the client updating server is arranged to retrieve a first update required to update at least part of the non-OS system software of the client device; the client updating server comprises an update optimizer stored in a memory arranged to cooperate with the device capability manager to determine an organizational scheme to apply to the first update to the client device so as to optimise optimize updating of the client device, the determined organizational scheme being compatible with a technical capability of the client device, and the update optimizer is arranged to identify a recovery function to recover the first update from an instance of the first update organized in accordance with the determined organizational scheme, the identified recovery function comprising one or more steps to be performed by the client device in order to reverse an organization of the first update; the device capability manager is arranged to use the capability data in order to determine necessary functionality required by the client device to implement the recovery function identified by the update optimizer; the client updating server comprising an update package generator responsive to the update optimizer and arranged to generate an update package comprising a second update that enables the client device to support the recovery function; the client updating server comprises an update communications unit arranged to communicate the update package to the client device; and the client device is arranged to receive the update package and extract and install the second update. 2. A system as claimed in claim 1 , wherein the client updating server is arranged to instruct the update communications unit to communicate the update package to the client device before the first update. 3. A system as claimed in claim 1 , wherein the client updating server is arranged to instruct the update communications unit to communicate separately the update package and the instance of the first update organized in accordance with the determined organizational scheme to the client device. 4. A system as claimed in claim 1 , wherein the update communications unit is arranged to send an advice to the client device to expect to receive the update package to facilitate recovery of the first update from the instance of the first update organized in accordance with the determined organizational scheme. 5. A system as claimed in claim 4 , wherein the update communications unit is arranged to send the instance of the first update organized in accordance with the determined organizational scheme before the update package and the advice to the client device accompanies the instance of the first update organized in accordance with the determined organizational scheme. 6. A system as claimed in claim 1 , wherein the client updating server is arranged to retrieve the first update from a repository of updates. 7. A system as claimed in claim 1 , wherein the client updating server comprises a capability data repository accessible by the device capability manager, the capability data repository recording existing functionality supported by the client device. 8. A system as claimed in claim 7 , wherein the device capability manager is arranged to determine the necessary functionality required by the client device to implement the recovery function by reference to the capability data repository. 9. A system as claimed in claim 8 , wherein the device capability manager is arranged to compare a target functionality required of the client device with the existing functionality supported by the client device in order to identify a functionality differential constituting the necessary functionality required by the client device. 10. A system as claimed in claim 9 , wherein the client updating server comprises a functionality repository, the functionality repository comprising a plurality of operating functions. 11. A system as claimed in claim 10 , wherein the update package generator is arranged to access the functionality repository in order to retrieve an operating function from the functionality repository in order to provide at least part of the functionality of the functionality differential. 12. A system as claimed in claim 11 , wherein the second update comprises the retrieved operating function. 13. A system as claimed in claim 1 , wherein the update package generator is arranged to generate another update package comprising the first update organized in accordance with the determined organizational scheme. 14. A system as claimed in claim 1 , wherein the update optimizer is arranged to identify another recovery function to be applied in combination with the recovery function to recover the first update from the instance of the first update organized in accordance with the determined organizational scheme. 15. A system as claimed in claim 1 , wherein the non-OS system software is firmware. 16. A system as claimed in claim 1 , wherein the client device comprises a communications module and the first update pertains to the communications module. 17. A system as claimed in claim 1 , wherein the organizational scheme comprises at least one of: a compression scheme; an encryption scheme; a data differencing scheme; and a delta encoding scheme. 18. A system as claimed in claim 1 , wherein the update package generator is responsive to the device capability manager by being responsive to the necessary functionality required by the client device determined by the device capability manager. 19. A system as claimed in claim 1 , wherein determination by the device capability manager of the necessary functionality required is determination of functionality lacked by the client device to implement the recovery function identified by the update optimizer. 20. A system as claimed in claim 1 , wherein the update optimizer is arranged to select the organizational scheme based upon one or more of the following criteria: volatile memory usage; non-volatile memory usage; size of physical blocks of memory; degree of distribution of changes associated with implementation of the first update; a size of the update package; and processing time required by the client device. 21. A system as claimed in claim 1 , wherein the recovery function is a compiled code, a compiled script, an interpretable code or an interpretable script. 22. A system as claimed in claim 1 , wherein the first update relates to a non-update maintenance functional aspect of the client device. 23. A system as claimed in claim 22 , wherein the functional aspect is selected from the group consisting of: a method for generating random numbers, a method for calculating checksums, a method for decoding the data that follows in a subsequent update package, a method for decompressing the update package, a function of a GNSS receiver, a vocoder plug-in, a new feature, a new AT command, and a security patch. 24. A system as claimed in claim 1 , wherein the client updating server is arranged to identify the first update required to update a group of client devices comprising the client

Assignees

Inventors

Classifications

  • involving the movement of software or configuration parameters  (network booting or remote initial program loading [RIPL] G06F9/4416) · CPC title

  • G06F8/65Primary

    Updates (security arrangements therefor G06F21/57) · CPC title

  • Using snapshots, i.e. a logical point-in-time copy of the data · CPC title

  • using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories · CPC title

  • Incremental updates; Differential updates · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10101990B2 cover?
A software update system comprises: a client device ( 104 ) having non-OS system software ( 110 ) to be updated, a client updating server ( 102 ) located remotely from the client device ( 104 ) and capable of communicating with the client device ( 104 ), and a device capability manager ( 126 ) accessing capability data relating to the client device ( 104 ). The updating server ( 102 ) retrieves…
Who is the assignee on this patent?
Ublox Ag
What technology area does this patent fall under?
Primary CPC classification G06F8/65. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 16 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).