IP Library › Granted Patent US 11,461,163
Granted Patent B1
US 11,461,163 · App. 16/457,525 · Granted Oct 4, 2022

Remote device error correction

Inventors: Piyush Aggarwal (Seattle, WA); Ravishankar Bhagavandas (Bothell, WA); Albert Daniel Prego (Seattle, WA)
Assignee: Amazon Technologies, Inc.
G06F11/0793G06F8/65G06F11/0709
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,461,163
App. No.
16/457,525
Granted
Oct 4, 2022
Kind
B1
Abstract

A method and system for correcting embedded device errors. The method may include receiving a first log generated by a first device though a first channel, receiving a second log generated by the first device that identifies a malfunction of the first device through a second channel, determining a corrective action to cause the first device to cease the malfunction, based at least in part on the second log and an inference model, and sending a message to a second device based at least in part on the corrective action.

Claims (52)

1. A computer-implemented method, comprising:

receiving a first log generated by a first device through a first channel;

storing the first log in association with a customer account in a data repository;

receiving a second log generated by the first device, the second log received from a second device through a second channel;

identifying the second log as being a log that requires further action based at least in part on an error identifier in the second log, the error identifier identifying a malfunction of the first device associated with the first channel;

associating the first log with the second log;

determining a corrective action to cause the first device to cease the malfunction, based at least in part on an inference model and the error identifier, wherein determining the corrective action includes determining an inference by using at least the error identifier from the second log and one or more data elements from the first log as inputs to the inference model; and

sending a message to the second device based at least in part on the corrective action.

2. The computer-implemented method of claim 1 , wherein the first log is received in a Message Queuing Telemetry Transport (MQTT) transmission.

3. The computer-implemented method of claim 1 , wherein the corrective action is to send a firmware update, and sending the message to the second device includes sending the firmware update to the first device via the second device.

4. The computer-implemented method of claim 1 , further comprising selecting the inference model from a plurality of inference models, based at least in part on the second log.

5. The computer-implemented method of claim 1 , further comprising:

storing the second log in the data repository based at least in part on a customer identifier, wherein the data repository is part of a computing environment;

providing an interface to provide selective access to a portion of the computing environment to an account holder associated with the customer identifier; and

receiving the inference model via the interface.

6. A system, comprising:

one or more processors; and

memory that stores computer-executable instructions that, in response to execution, cause the one or more processors to:

store a first log generated by a first device in association with a customer account in a data repository, the first log received through a first channel;

store a second log in association with the customer account in the data repository, the second log identifying an error associated with the first channel, the second log generated by the first device and received from a second device through a second channel;

determine a corrective action based at least in part on the second log and an inference model; and

send data to the first device via the second device based at least in part on the corrective action.

7. The system of claim 6 , wherein the memory further comprises instructions that, in response to execution, cause the one or more processors to associate the first log with the second log, and to determine the corrective action based at least in part on using an error identifier from the second log and one or more data elements from the first log as inputs to the inference model.

8. The system of claim 6 , wherein the corrective action is to send a firmware update, and the memory further comprises instructions that, in response to execution, cause the one or more processors to send the firmware update to the first device via the second device.

9. The system of claim 6 , wherein the corrective action is to send a digital certificate, and the memory further comprises instructions that, in response to execution, cause the one or more processors to send the digital certificate to the first device.

10. The system of claim 6 , wherein the memory further comprises instructions that, in response to execution, cause the one or more processors to:

select the inference model from a plurality of inference models, based at least in part on the second log; and

determine the corrective action based at least in part on the selected inference model.

11. The system of claim 6 , wherein the memory further comprises instructions that, in response to execution, cause the one or more processors to:

receive the second log in a Message Queuing Telemetry Transport (MQTT) message or a HyperText Transfer Protocol (HTTP) message;

parse the second log to extract an error identifier; and

determine the corrective action based at least in part on using the error identifier as an input to the inference model.

12. The system of claim 6 , wherein the memory further comprises instructions that, in response to execution, cause the one or more processors to:

receive a third log generated by the first device, wherein the third log includes a sequence number that indicates the third log was generated after the second log; and

retrain the inference model based at least in part on the corrective action and the third log.

13. The system of claim 6 , wherein the data repository is part of a computing environment and the memory further comprises instructions that, in response to execution, cause the one or more processors to:

provide an interface to provide selective access to a portion of the computing environment to an account holder associated with the customer account;

receive the inference model via the interface;

store the inference model in the data repository; and

retrieve the stored inference model to determine the corrective action.

14. A non-transitory computer-readable storage medium storing thereon executable instructions that, as a result of being executed by one or more processors of a first computer system, cause the first computer system to at least:

receive, via a first communication link with a device running a real-time operating system, a log, generated by the device, that includes an error identifier that identifies a connectivity error associated with a second communication link between the device and a second computer system;

determine a corrective action based at least in part on using the error identifier of the log and a device state indicator as inputs to an inference model, wherein the device state indicator indicates a firmware version running on the device when the log was generated; and

send data to the device based at least in part on the corrective action.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the log is a first log that identifies a first error, and the non-transitory computer-readable storage medium further comprises instructions that, as a result of being executed by the one or more processors, cause the first computer system to at least:

receive, via the communication link with the device, a second log that identifies a second error generated by the device;

determine, based at least in part on the second log, to send one or more portions of the second log to a third computer system for analysis;

send the one or more portions of the second log to the third computer system; and

receive data corresponding to a corrective action from the third computer system, in response to the sent one or more portions of the second log.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the first communication link is a wireless communication link, the received data is a firmware update for the device, and the non-transitory computer-readable storage medium further comprises instructions that, as a result of being executed by the one or more processors, cause the first computer system to transmit the firmware update to the device over the wireless communication link.

17. The non-transitory computer-readable storage medium of claim 15 , further comprising instructions that, as a result of being executed by the one or more processors, cause the first computer system to send an authentication request to the third computer system and receive an authentication confirmation from the third computer system in response to the authentication request, wherein the first computer system is to send the one or more portions of the second log based at least in part on the authentication confirmation.

18. The non-transitory computer-readable storage medium of claim 14 , wherein the first computer system is included in a mobile communications device and the first communications link is a Bluetooth Low Energy communications link.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2022
From: AGGARWAL, PIYUSH; BHAGAVANDAS, RAVISHANKAR; PREGO, ALBERT DANIEL
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 059178/0322 →
Cited By (10)
US 12,197,274 US 12,360,863 US 12,425,243 US 12,536,597 US 12,602,277 US 12,613,764 US 12,670,047 US 12,670,058 US 12,717,901 US 12,724,659