Compressed firmware update
US-9778928-B1 · Oct 3, 2017 · US
US10108412B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10108412-B2 |
| Application number | US-201615086025-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 30, 2016 |
| Priority date | Mar 30, 2016 |
| Publication date | Oct 23, 2018 |
| Grant date | Oct 23, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A payment service system may include a server that manages firmware updates for payment devices such as payment readers. A payment reader may access a firmware manifest including a listing of current firmware assets stored at the payment reader, and send the firmware manifest to the server. The server may compare the firmware manifest to available firmware bundles, which are ordered combinations of firmware assets that have been released for usage by payment readers. Some of the bundles may be blocking bundles, while some are non-blocking. If a payment reader is to be updated with a blocking bundle, it cannot process payments during the update. If the update is not a blocking bundle, the payment reader may continue to process payments.
Opening claim text (preview).
What is claimed is: 1. A method of providing a firmware update from a payment server to a payment reader, the method comprising: requesting, from a merchant device running a point-of-sale application, a firmware manifest from the payment reader; accessing, at the payment reader, the firmware manifest, wherein the firmware manifest includes a firmware version for each of a plurality of firmware assets, and wherein each firmware asset includes instructions for operating a component of the payment reader; transmitting, from the payment reader via the merchant device, the firmware manifest to the payment server; accessing, at the payment server, a plurality of firmware bundles, wherein each firmware bundle comprises an ordered listing of permitted combinations of firmware versions for the plurality of firmware assets; determining, at the payment server, whether the firmware versions of the firmware manifest are a permissible combination of firmware versions, comprising: comparing an ordered listing of the firmware versions of the firmware manifest to one or more of the firmware bundles; identifying the firmware versions of the firmware manifest as a permissible combination if the ordered listing for the firmware manifest matches one of the firmware bundles; and identifying the firmware versions of the firmware manifest as a permissible combination if the ordered listing for the firmware manifest corresponds to a transition state between two firmware bundles; identifying, at the payment server, a firmware update for one of the firmware assets, wherein identifying the firmware update comprises: identifying an update firmware bundle of the plurality of firmware bundles; comparing, in order, firmware versions of the ordered listing for the firmware manifest to corresponding firmware versions for the update firmware bundle; and identifying the firmware update based on the first firmware version of the ordered listing for the firmware manifest that does not match the corresponding firmware version of the update firmware bundle; generating, at the payment server, a parallel processing indicator; transmitting, from the payment server, the firmware update and the parallel processing indicator; receiving, at the payment reader via the merchant device, the firmware update and the parallel processing indicator; receiving, at the payment reader, a request to process a payment; processing the payment at the payment reader if the parallel processing indicator indicates that the payments may be processed during the firmware update; updating, at the payment reader, the firmware asset that is associated with the firmware update. 2. The method of claim 1 , wherein identifying an update firmware bundle of the plurality of firmware bundles comprises: determining whether a subsequent blocking firmware bundle exists; identifying the subsequent blocking firmware bundle as the update firmware bundle if the subsequent blocking bundle exists; identifying the next firmware bundle as the update firmware bundle if no subsequent blocking bundle exists. 3. The method of claim 1 , wherein the parallel processing indicator is indicative that the update firmware bundle is a blocking firmware bundle or that the firmware versions of the firmware manifest are not a permissible combination. 4. A method of providing a firmware update from a server, the method comprising: receiving, at the server, a firmware manifest for a payment reader, wherein the firmware manifest includes a firmware version for each of a plurality of firmware assets of the payment reader; accessing, at the server, a plurality of firmware bundles, wherein each firmware bundle comprises an ordered listing of permitted combinations of firmware versions for the plurality of firmware assets; comparing, at the server, an ordered listing of the firmware versions of the firmware manifest with one or more of the firmware bundles; identifying, at the server, an update firmware bundle of the plurality of firmware bundles; generating, at the server, a firmware update for the payment reader based on the update firmware bundle and the firmware manifest; determining, at the server, whether the update firmware bundle is a blocking firmware bundle that does not permit parallel processing of a payment transaction at the payment reader to continue while firmware of the payment reader is being updated; generating, at the server, a parallel processing indicator based on the firmware manifest or the update firmware bundle, wherein the parallel processing indicator indicates whether parallel processing of the payment transaction should continue at the payment reader during the firmware update; and transmitting, from the server, the firmware update and the parallel processing indicator to the payment reader. 5. The method of claim 4 , wherein each firmware asset includes instructions for operating a component of the payment reader. 6. The method of claim 4 , further comprising determining, at the server, whether the firmware versions of the firmware manifest are a permissible combination of firmware versions, wherein the determining comprises: identifying the firmware versions of the firmware manifest as a permissible combination if the ordered listing for the firmware manifest matches one of the firmware bundles; and identifying the firmware versions of the firmware manifest as a permissible combination if the ordered listing for the firmware manifest corresponds to a transition state between two firmware bundles. 7. The method of claim 4 , wherein generating a firmware update based on the update firmware bundle and the firmware manifest comprises: comparing firmware versions of the ordered listing for the firmware manifest to corresponding firmware versions for the update firmware bundle; and identifying the firmware update based on firmware versions of the ordered listing for the firmware manifest that do not match the corresponding firmware versions of the update firmware bundle. 8. The method of claim 4 , wherein identifying an update firmware bundle of the plurality of firmware bundles comprises: determining whether a subsequent blocking firmware bundle exists; identifying a first firmware bundle as the update firmware bundle if the subsequent blocking bundle exists; and identifying a second firmware bundle as the update firmware bundle if no subsequent blocking bundle exists. 9. The method of claim 8 , wherein the first firmware bundle comprises the most recent blocking firmware bundle. 10. The method of claim 8 , wherein the first firmware bundle comprises a subsequent bundle to the most recent blocking firmware bundle. 11. The method of claim 8 , wherein the second firmware bundle comprises the next firmware bundle of the plurality of firmware bundles. 12. The method of claim 4 , wherein the parallel processing indicator is indicative that the update firmware bundle is a blocking firmware bundle or that the firmware versions of the firmware manifest are not a permissible combination. 13. A server, comprising: a communication interface configured to receive a firmware manifest from a payment reader, transmit a parallel processing indicator to the payment reader, and transmit a firmware update to the payment reader; one or more memories comprising firmware update instructions and information relating to a plurality of firmware bundles, wherein each firmware bundle comprises an ordered listing of permitted combinations of firmware versions for the plurality of firmware assets; a processing unit configured to execute the firmware update instructions, to receive the firmware manifest, and access th
Incremental updates; Differential updates · CPC title
Point-of-sale [POS] network systems · CPC title
Physics · mapped topic
involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416) · CPC title
the condition being updates or upgrades of network functionality · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.