Blocking and non-blocking firmware update

US10108412B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10108412-B2
Application numberUS-201615086025-A
CountryUS
Kind codeB2
Filing dateMar 30, 2016
Priority dateMar 30, 2016
Publication dateOct 23, 2018
Grant dateOct 23, 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 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.

First claim

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

Assignees

Inventors

Classifications

  • G06F8/658Primary

    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

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 US10108412B2 cover?
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 combination…
Who is the assignee on this patent?
Square Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/658. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 23 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).