Multiple system images for over-the-air updates

US9946878B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9946878-B2
Application numberUS-201715589595-A
CountryUS
Kind codeB2
Filing dateMay 8, 2017
Priority dateJan 12, 2012
Publication dateApr 17, 2018
Grant dateApr 17, 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.

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 computing device, authenticating a manifest signature with a manifest signature public key, wherein the manifest signature is used to sign a manifest; by the computing device, reading the manifest from a manifest partition on a memory of the computing device; by the computing device, choosing, from a plurality of system images stored in a plurality of system image partitions on the memory of the computing device, respectively, one system image to boot into based on information in the manifest; by the computing device, verifying that a hash value of the chosen system image matches a system image hash value in the manifest; and by the computing device, yielding a system execution control to a system kernel programmed in the chosen system image. 2. The method of claim 1 , wherein the manifest comprises a device unique signature. 3. The method of claim 2 , wherein the reading the manifest comprises authenticating the device unique signature with a device unique public key. 4. The method of claim 3 , wherein the manifest further comprises an encrypted serial number, the serial number uniquely identifying the computing device hardware, the reading the manifest further comprises: decrypting the serial number with a serial number public key; and comparing the decrypted serial number to a serial number of the computing device. 5. The method of claim 1 , wherein the verifying that the hash value of the chosen system image matches the system image hash value in the manifest comprises: calculating a first hash value of the chosen system image based on a predetermined cryptographic hash algorithm; and comparing the first hash value to the system image hash value stored in the manifest. 6. The method of claim 1 , wherein the manifest partition comprises a plurality of manifest copies. 7. The method of claim 1 , wherein the memory of the computing device comprises a recovery system manifest partition and a recovery system image partition. 8. The method of claim 7 , further comprising: if reading the manifest fails or verifying that the hash value of the chosen system image matches the system image hash value in the manifest fails: reading a recovery manifest from the recovery system manifest partition; verifying that a hash value of a recovery system image in the recovery system image partition matches a system image hash value in the recovery manifest; and yielding a system execution control to a system kernel programmed in the recovery system image. 9. A non-transitory, computer-readable media comprising instructions operable, when executed by a computing device, to: authenticate the manifest signature with a manifest signature public key, wherein the manifest signature is used to sign a manifest; read the manifest from a manifest partition on a memory of the computing device; choose, from a plurality of system images stored in a plurality of system image partitions on the memory, respectively, one system image to boot into based on information in the manifest; verify that a hash value of the chosen system image matches a system image hash value in the manifest; and yield a system execution control to a system kernel programmed in the chosen system image. 10. The media of claim 9 , wherein the manifest comprises a device unique signature. 11. The media of claim 10 , wherein the reading the manifest comprises authenticating the device unique signature with a device unique public key. 12. The media of claim 11 , wherein the manifest further comprises an encrypted serial number, the serial number uniquely identifying the computing device hardware, the reading the manifest further comprises: decrypting the serial number with a serial number public key; and comparing the decrypted serial number to a serial number of the computing device. 13. The media of claim 9 , wherein the verifying that the hash value of the chosen system image matches the system image hash value in the manifest comprises: calculating a first hash value of the chosen system image based on a predetermined cryptographic hash algorithm; and comparing the first hash value to the system image hash value stored in the manifest. 14. The media of claim 9 , wherein the manifest partition comprises a plurality of manifest copies. 15. The media of claim 9 , wherein the memory of the computing device comprises a recovery system manifest partition and a recovery system image partition. 16. The media of claim 15 , wherein the instructions are further operable when executed to: if reading the manifest fails or verifying that the hash value of the chosen system image matches the system image hash value in the manifest fails: read a recovery manifest from the recovery system manifest partition; verify that a hash value of a recovery system image in the recovery system image partition matches a system image hash value in the recovery manifest; and yield a system execution control to a system kernel programmed in the recovery system image. 17. 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: authenticate the manifest signature with a manifest signature public key, wherein the manifest signature is used to sign a manifest; read the manifest from a manifest partition on the memory; choose, from a plurality of system images stored in a plurality of system image partitions on the memory, respectively, one system image to boot into based on information in the manifest; verify that a hash value of the chosen system image matches a system image hash value in the manifest; and yield a system execution control to a system kernel programmed in the chosen system image. 18. The system of claim 17 , wherein the manifest comprises a device unique signature. 19. The system of claim 18 , wherein the reading the manifest comprises authenticating the device unique signature with a device unique public key. 20. The system of claim 19 , wherein the manifest further comprises an encrypted serial number, the serial number uniquely identifying the computing device hardware, the reading the manifest further comprises: decrypting the serial number with a serial number public key; and comparing the decrypted serial number to a serial number of the computing device.

Assignees

Inventors

Classifications

  • using cryptographic hash functions · CPC title

  • Physics · mapped topic

  • Boot up procedures · CPC title

  • Real-time · CPC title

  • Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy · 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 US9946878B2 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 G06F21/575. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 17 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).