IP Library Granted Patent US 11,429,489
Granted Patent B2
US 11,429,489 · App. 16/861,192 · Granted Aug 30, 2022

Device recovery mechanism

Inventors: Markku Olavi Pääkkönen (Oulu, FI); Janne Tuomas Kiiskilä (Oulu, FI)
Assignee: Pelion Technology, Inc.
G06F11/1417G06F8/65G06F9/4403G06F11/0706G06F11/0709G06F11/0793G06F11/1438G06F2201/82
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,429,489
App. No.
16/861,192
Granted
Aug 30, 2022
Kind
B2
Abstract

An apparatus and a method for recovering from a fault on a device, the method performed at the device comprising: initiating, with a bootloader, a recovery mechanism in response to detection of a fault with a first application, where the recovery mechanism comprises: obtaining, from storage on the device, location information identifying a first storage location for recovery software; obtaining, from the first storage location, the recovery software; obtaining, using the recovery software, a software update from a second storage location.

Claims (51)

1. A machine-implemented method for recovering from a fault on a device, the method performed at the device comprising:

locating, with a bootloader, a system image of an executable first application;

initiating the first application to cause the device to operate in accordance with the first application, where the first application comprises an operating system;

initiating, with the bootloader, a recovery mechanism in response to detection of a fault with a first application, where the recovery mechanism comprises:

obtaining, with the bootloader, from storage on the device, location information identifying a first storage location for recovery software, where the recovery software comprises a recovery image having a recovery application;

obtaining, with the bootloader, from the first storage location, the recovery software;

replacing the system image with the recovery image;

initiating the recovery application;

obtaining, using the recovery application, a software update from a second storage location remote from the device, wherein the software update comprises an operating system.

2. The method of claim 1 , wherein the first storage location comprises storage local to the device.

3. The method of claim 2 , wherein the first storage location comprises non-volatile memory on the device.

4. The method of claim 1 , wherein the first storage location comprises a first server remote from the device.

5. The method of claim 4 , wherein obtaining, from the first storage location, the recovery software comprises:

obtaining the recovery software via a communications channel between the device and the first server.

6. The method of claim 5 , where the communications channel between the device and the first server is one of: a secure communications channel and an unsecure communications channel.

7. The method of claim 5 , wherein the recovery software is obtained by the device in plaintext.

8. The method of claim 1 , further comprising:

verifying using verification data in storage that the recovery software is trusted.

9. The method of claim 1 , where the storage on the device comprises a recovery manifest comprising the location information identifying the first location.

10. The method of claim 1 , wherein the second storage location comprises a device management platform remote from the device.

11. The method of claim 10 , wherein obtaining, from the second storage location, the software update comprises:

obtaining the software update via a secure communications channel between the device and the device management platform.

12. The method of claim 1 , wherein the software update is a system image comprising the second application.

13. The method of claim 12 , further comprising:

verifying that the second application is trusted;

initiating the second application when determined to be trusted.

14. The method of claim 12 , wherein the recovery application has limited functionality in comparison to the second application.

15. The method of claim 1 wherein obtaining the software update from the second storage location further comprises:

obtaining, using the recovery software, a software update manifest, where the software update manifest comprises location information identifying the second location.

16. The method of claim 1 , where the fault is a system termination fault.

17. The method of claim 1 , wherein initiating, with a bootloader, a recovery mechanism in response to the fault with a first application comprises:

checking a reason for the fault in storage;

initiating the recovery mechanism in response to the reason for the fault.

18. A device having a processor and storage to:

locate, with a bootloader, a system image of an executable first application;

initiate the first application to cause the device to operate in accordance with the first application, where the first application comprises an operating system;

initiate, using the bootloader, a recovery mechanism in response to detection of a fault with the first application, where the recovery mechanism comprises:

obtaining, with the bootloader, location information identifying a first storage location for recovery software, where the recovery software comprises a recovery image having a recovery application;

obtaining, with the bootloader, from the first storage location, the recovery software;

replacing the system image with the recovery image;

initiating the recovery application;

obtaining, using the recovery application, a software update from a second storage location, remote from the device, wherein the software update comprises an operating system.

19. A computer program product comprising non transitory computer readable media and a computer program code encoded thereupon, the code containing one or more instructions to perform a method for recovering from a fault on a device, the method comprising:

locating, with a bootloader, a system image of an executable first application;

initiating the first application to cause the device to operate in accordance with the first application, where the first application comprises an operating system;

initiating, with the bootloader, a recovery mechanism in response to detection of a fault with a first application, where the recovery mechanism comprises:

obtaining, with the bootloader, from storage, location information identifying a first location for recovery software, where the recovery software comprises a recovery image having a recovery application;

obtaining, with the bootloader, from the first storage location, the recovery software;

replacing the system image with the recovery image;

initiating the recovery application;

obtaining, using the recovery application, a software update from a second storage location, remote from the device, wherein the software update comprises an operating system.

Assignments (2)
CHANGE OF NAME Recorded Jul 12, 2022
From: ARM CLOUD TECHNOLOGY, INC.
To: PELION TECHNOLOGY, INC.
Reel/Frame 060635/0444 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2020
From: PÄÄKKÖNEN, MARKKU OLAVI; KIISKILÄ, JANNE TUOMAS
To: ARM CLOUD TECHNOLOGY, INC.
Reel/Frame 052648/0650 →
Continuity (1)
Related Publication 20210334164A1 · Oct 28, 2021