Multiple system images for over-the-air updates

US2016117166A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016117166-A1
Application numberUS-201614990548-A
CountryUS
Kind codeA1
Filing dateJan 7, 2016
Priority dateJan 12, 2012
Publication dateApr 28, 2016
Grant date

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.

In one embodiment, a computing device may execute software from a first portion of memory of the computing device. The computing device may download from a server a new version of the software. The client computing device may receive instructions from the server to request an over-the-air (OTA) download of the new version of the software. The instructions may be an out-of-band message. The new version of the software may be installed into a second portion of memory of the computing device, and the new version of the software is executed from the second portion of memory. The download of the new version of software may be pursuant to a manifest for the download to determine whether the computing device may download the new version of software.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method comprising: by a client computing device, executing software from a first portion of memory of the client computing device; by the client computing device, downloading from a server a new version of the software pursuant to a manifest for the download; by the client computing device, installing the new version of the software into a second portion of memory of the client computing device; and by the client computing device, executing the new version of the software from the second portion of memory. 2 . The method of claim 1 , wherein: the client computing device requests an over-the-air download of the new version of the software in response to an instruction from the server; and the instruction comprises an out-of-band message. 3 . The method of claim 2 , wherein the request comprises the serial number of the client computing device. 4 . The method of claim 1 , wherein the manifest comprises a predetermined battery state in which the client computing device must be in order to download the payload. 5 . The method of claim 1 , wherein the manifest comprises a predetermined time period during which the client computing device may download the payload. 6 . The method of claim 1 , wherein the manifest comprises a predetermined battery state in which the client computing device must be in order to execute the software from the second portion of memory. 7 . The method of claim 1 , wherein the manifest comprises a predetermined time period during which the client computing device may execute the software from the second portion of memory. 8 . The method of claim 1 , wherein the manifest comprises a manifest signature and device unique signature, and executing the software from the second portion of memory comprises: authenticating the manifest signature with a manifest signature public key; authenticating the device unique signature with a device unique public key; and failing to execute the software from the second portion of memory if either authentication fails. 9 . The method of claim 1 wherein the manifest comprises a first hash value for the payload, and executing the software from the second portion of memory further comprises: calculating a second hash value for the downloaded payload based on a predetermined cryptographic hash algorithm; comparing the first hash value to the second hash value; and failing to execute from the second portion of memory if the first and second hash values are not identical. 10 . The method of claim 1 , wherein the manifest comprises an encrypted serial number, and executing from the second portion of memory comprises: decrypting the serial number with a serial number public key; comparing the decrypted serial number to a serial number of the one or more computing devices; and failing to execute software from the second portion of memory if the serial number and the decrypted serial number are not identical. 11 . A non-transitory, computer-readable media comprising instructions operable, when executed by one or more computing systems, to: execute software from a first portion of memory of the one or more computing systems; download from a server a new version of the software pursuant to a manifest for the download; install the new version of the software into a second portion of memory of the one or more computing systems; and execute the new version of the software from the second portion of memory. 12 . The media of claim 11 , wherein: the one or more computing systems request an over-the-air (OTA) download of the new version of the software in response to an instruction from the server; and the instruction comprises an out-of-band message. 13 . The media of claim 12 wherein the request comprises the serial number of the one or more computing systems. 14 . The media of claim 11 , wherein the manifest comprises a predetermined battery state in which the one or more computing systems must be in order to download the payload. 15 . The media of claim 11 , wherein the manifest comprises a predetermined time period during which the one or more computing systems may download the payload. 16 . The media of claim 11 , wherein the manifest comprises a predetermined battery state in which the one or more computing systems must be in order to execute the software from the second portion of memory. 17 . The media of claim 11 , wherein the manifest comprises a predetermined time period during which the one or more computing systems may execute the software from the second portion of memory. 18 . The media of claim 11 , wherein the manifest comprises a manifest signature and device unique signature, and executing the software from a second portion of memory comprises: authenticating the manifest signature with a manifest signature public key; authenticating the device unique signature with a device unique public key; and failing to execute from the second portion of memory if either authentication fails. 19 . The media of claim 11 , wherein the manifest comprises a first hash value for the payload, and executing the software from the second portion of memory further comprises: calculating a second hash value for the downloaded payload based on a predetermined cryptographic hash algorithm; comparing the first hash value to the second hash value; and failing to execute the software from the second portion of memory if the first and second hash values are not identical. 20 . A system comprising: one or more processors; and a memory coupled to the processors comprising instructions executable by the processors, the processors being operable when executing the instructions to: execute software from a first portion of memory of the one or more computing systems; download from a server a new version of the software pursuant to a manifest for the download; install the new version of the software into a second portion of memory of the one or more computing systems; and execute the new version of the software from the second portion of memory.

Assignees

Inventors

Classifications

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

  • wherein the data content is protected, e.g. by encrypting or encapsulating the payload · CPC title

  • G06F8/65Primary

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

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

  • H04L9/0891Primary

    Revocation or update of secret information, e.g. encryption key update or rekeying · 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 US2016117166A1 cover?
In one embodiment, a computing device may execute software from a first portion of memory of the computing device. The computing device may download from a server a new version of the software. The client computing device may receive instructions from the server to request an over-the-air (OTA) download of the new version of the software. The instructions may be an out-of-band message. The new …
Who is the assignee on this patent?
Facebook Inc
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 Thu Apr 28 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).