IP Library › Granted Patent US 11,108,575
Granted Patent B2
US 11,108,575 · App. 15/660,859 · Granted Aug 31, 2021

Training models for IOT devices

Inventors: Sunil Mallya Kasaragod (San Francisco, CA); Aran Khanna (Bellevue, WA); Calvin Yue-Ren Kuo (Mercer Island, WA)
Assignee: Amazon Technologies, Inc.
H04L12/12G06N20/00H04L41/0213H04L63/104H04L67/12H04L67/34H04L69/40H04W4/029
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,108,575
App. No.
15/660,859
Granted
Aug 31, 2021
Kind
B2
Abstract

A model training service of a provider network receives data from edge devices of a remote network. The model training service analyzes the received data. The model training service may also analyze global data from other edge devices of other remote networks. The model training service may then generate updates to local data processing models based on the analysis. The updates are configured to update the local data processing models at the edge devices of the remote network. The provider network deploys the updates to the remote network. The updates are then applied to the data processing models of the edge devices.

Claims (67)

1. A system, comprising:

one or more processors; and

one or more memories, wherein the one or more memories have stored thereon instructions, which when executed by the one or more processors, cause the one or more processors to implement a model training service of a provider network, wherein the model training service is configured to:

receive data from a plurality of edge devices of a remote network;

analyze the received data;

generate one or more updates to one or more respective local data processing models based on the analysis of the received data, wherein the one or more updates are configured to update the one or more respective local data processing models at a respective one or more of the edge devices of the remote network;

deploy the one or more updates to the remote network;

receive global data from one or more other edge devices of one or more other remote networks, wherein the global data comprises data locally collected by the one or more other edge devices of the one or more other remote networks; and

subsequent to the generation of the one or more updates to the one or more respective local data processing models based on the analysis of the data received from the edge devices of the remote network, send the global data from the provider network to the respective one or more edge devices of the remote network, wherein the global data is analyzed by individual ones of the edge devices of the remote network to generate an additional update to the local data processing model at the edge device of the remote network.

2. The system as recited in claim 1 , wherein the one or more updates comprises one or more new versions of the respective local data processing models configured to replace the respective local data processing models.

3. The system as recited in claim 1 , wherein the generating of the one or more updates to one or more respective local data processing models is based at least on one or more of a state of the one or more respective edge devices and a state of the remote network.

4. The system as recited in claim 1 , wherein the model training service is configured to:

receive additional global data from one or more other edge devices of one or more additional remote networks;

analyze the additional global data; and

generate the one or more updates to local data processing models based on the analysis of the received data and the analysis of the additional global data.

5. The system as recited in claim 1 , wherein the one or more updates comprise two or more different local data processing models for at least one of the edge devices, wherein the different local data processing models are configured to process different data received at different times by the at least one edge device.

6. A method, comprising:

performing, by at least one hub device connected to a local network:

receiving data from a plurality of edge devices of the local network;

analyzing the received data;

generating one or more updates to one or more respective local data processing models of the local network of the hub device based on the analysis of the received data from the plurality of edge devices of the local network of the hub device, wherein the one or more updates that are based on the received data are configured to be applied by the respective one or more of the plurality of edge devices to update the one or more respective local data processing models at the respective one or more of the plurality of edge devices; and

deploying the one or more updates to the respective edge devices of the local network of the hub device;

subsequent to the deployment of the one or more updates to the respective edge devices:

receiving global data from one or more remote networks that are external to the local network, wherein the global data is collected by one or more other edge devices of the one or more remote networks;

analyzing the global data from the other edge devices of the one or more remote networks;

generating one or more other updates to the one or more respective local data processing models of the local network of the hub device based on the analysis of the global data, wherein the one or more other updates that are based on the global data are configured to be applied by the respective one or more of the plurality of edge devices to update the one or more respective local data processing models at the respective one or more of the plurality of edge devices; and

deploying the one or more other updates to the respective edge devices of the local network of the hub device.

7. The method as recited in claim 6 , wherein the one or more updates comprises one or more new versions of the respective local data processing models configured to replace the respective local data processing models.

8. The method as recited in claim 6 , wherein the hub device performs:

generating the one or more updates based at least on one or more of a state of the one or more respective edge devices and a state of the local network.

9. The method as recited in claim 6 , wherein the hub device performs:

receiving additional global data from one or more other edge devices of one or more other remote networks;

analyzing the additional global data; and

generating one or more additional updates to local data processing models based on the analysis of the additional global data.

10. The method as recited in claim 6 , wherein the hub device performs:

applying different weights to the received data and the global data during the analysis of the received data and the analysis of the global data.

11. The method as recited in claim 10 , wherein the hub device performs:

applying a higher weight to the received data than to the global data during the analysis of the received data and the analysis of the global data.

12. The method as recited in claim 6 , wherein the one or more updates comprise two or more different local data processing models for at least one of the edge devices, wherein the different local data processing models are configured to process different data received at different times by the at least one edge device.

13. The method as recited in claim 6 , wherein the hub device performs:

generating at least one of the updates to a particular local data processing model of a particular edge device based on analysis of a portion of the data received from other edge devices of the local network.

14. A non-transitory computer-readable storage medium storing program instructions that, when executed by a computing device of a local network, cause the computing device to implement:

receiving data from a local data collector of the computing device;

analyzing the received data;

generating an update to a local data processing model of the computing device based on the analysis of the received data, wherein the update is configured to update the local data processing model;

applying the update to the local data processing model;

receiving global data from a model training service of a remote provider network, wherein the global data comprises data locally collected by one or more edge devices of one or more additional remote networks other than the provider network;

analyzing the global data received from the model training service of the remote provider network;

subsequent to the application of the update to the local data processing model:

generating another update to the local data processing model of the computing device based on the analysis of the global data received from the model training service of the remote provider network, wherein the other update is configured to update the local data processing model of the computing device of the local network; and

applying the other update to the local data processing model.

15. The non-transitory, computer-readable storage medium of claim 14 , wherein the program instructions cause the computing device to further implement:

receiving, from the model training service, a new version of the local data processing model; and

replacing the local data processing model with the new version of the local data processing model.

16. The non-transitory, computer-readable storage medium of claim 14 , wherein the program instructions cause the one or more computing devices to further implement:

receiving other data from the data collector; and

generating the local data processing model based on other data.

17. The non-transitory, computer-readable storage medium of claim 14 , wherein the program instructions cause the one or more computing devices to further implement:

sending the data to the model training service of the remote provider network;

receiving an additional update to the local data processing model from the model training service of the remote provider network, wherein the additional update is based on the data; and

applying the additional update to the local data processing model.

18. The non-transitory, computer-readable storage medium of claim 17 , wherein the additional update is further based on:

other data collected by one or more other edge devices of the local network.

19. The non-transitory, computer-readable storage medium of claim 14 , wherein the other update comprises one or more changes to the update that was generated by the computing device.

20. The non-transitory, computer-readable storage medium of claim 14 , wherein the program instructions cause the one or more computing devices to further implement:

receiving, on a periodic basis, an additional update to the local data processing model from the model training service of the remote provider network, wherein the additional update is based at least on additional data collected by the data collector; and

applying the additional update.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2017
From: KASARAGOD, SUNIL MALLYA; KHANNA, ARAN; KUO, CALVIN YUE-REN
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 043116/0461 →
Continuity (1)
Related Publication 20190036716A1 · Jan 31, 2019
Cited By (1)
US 12,580,823