IP Library Granted Patent US 12,159,155
Granted Patent B1
US 12,159,155 · App. 17/512,482 · Granted Dec 3, 2024

Edge computing system

Inventors: James Michael Alexander (Oakton, VA); Aaron Lockey (Round Rock, TX); Oscar Padilla (Georgetown, TX); Aldon Dominic Almeida (Austin, TX); Rishikesh Bola Satyanarayan (Santa Clara, CA); Maksim Vakhno (Pleasanton, CA)
Assignee: AMAZON TECHNOLOGIES, INC.
G06F9/45558G06F2009/4557G06F2009/45595
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 12,159,155
App. No.
17/512,482
Filed
Oct 27, 2021
Granted
Dec 3, 2024
Kind
B1
Art Unit
2199
USPC
718/1
Abstract

Devices and techniques are generally described for an edge computing system. In various examples, the edge computing system may comprise a host kernel comprising a kernel-based virtual machine hypervisor. In some examples, the edge computing system may comprise virtualization software effective to communicate with the kernel-based virtual machine hypervisor to execute guest virtual machines. In various further examples, the edge computing system may comprise an engine virtual machine with access to at least one hardware component. The edge computing system may further comprise a control plane virtual machine. The control plane virtual machine may include components effective to receive a first request and determine an application corresponding to the first request, and a virtual machine manager effective to control the virtualization software to generate a virtual machine, configured in accordance with a configuration specific for the virtual machine, for executing the application.

Claims (96)

1. A system comprising:

a host kernel comprising a kernel-based virtual machine hypervisor;

virtualization software effective to communicate with the kernel-based virtual machine hypervisor to execute virtual machines;

an engine virtual machine provisioned with access to at least one hardware component of the system; and

a control plane virtual machine comprising:

a controller component effective to receive a first request and determine an application corresponding to the first request; and

a virtual machine manager effective to cause the virtualization software to execute a first guest virtual machine for executing the application.

2. The system of claim 1 , further comprising instructions that when executed by at least one processor are effective to program the at least one processor to:

receive, by the control plane virtual machine from the first guest virtual machine, a second request to access the engine virtual machine;

determine, by the control plane virtual machine, that the first guest virtual machine is authorized to access the engine virtual machine;

sending, by the first guest virtual machine, the second request to the engine virtual machine for processing; and

processing, by the engine virtual machine using the at least one hardware component, the second request to generate output data.

3. The system of claim 1 , further comprising instructions that when executed by at least one processor are effective to program the at least one processor to:

receive, by the controller component, a second request;

determine, by the controller component, that the second request is associated with a second application;

determine a configuration of a second guest virtual machine associated with the second application;

send, by the virtual machine manager, an instruction to the host kernel to execute the second guest virtual machine in accordance with the configuration;

execute, by the host kernel, the second guest virtual machine;

send the second request to the second guest virtual machine; and

process the second request by the second guest virtual machine.

4. The system of claim 1 , further comprising instructions that when executed by at least one processor are effective to program the at least one processor to execute the first guest virtual machine for executing the application in response to data sent by a device on a local area network, where the device is associated with the application.

5. The system of claim 1 , wherein the engine virtual machine comprises:

a first container image executing an automatic speech recognition model effective to generate text data from input audio data; and

a second container image executing a natural language understanding model effective to determine a semantic interpretation of the text data, wherein the engine virtual machine is communicatively coupled to a remote speech processing system.

6. The system of claim 1 , further comprising instructions that when executed by at least one processor are effective to program the at least one processor to:

receive, from the first guest virtual machine, a request for data from a second guest virtual machine;

determine that the first guest virtual machine is authorized to receive the data from the second guest virtual machine; and

send the data from the first guest virtual machine to the second guest virtual machine.

7. A computing device comprising:

at least one processor; and

at least one non-transitory computer-readable memory configured in communication with the at least one processor, the at least one non-transitory computer-readable memory storing instructions that, when executed by the at least one processor, are effective to program the at least one processor to:

execute a host kernel comprising a kernel-based virtual machine hypervisor;

execute virtualization software effective to communicate with the kernel-based virtual machine hypervisor to execute virtual machines;

execute an engine virtual machine having access to at least one hardware component; and

execute a control plane virtual machine comprising:

a controller component effective to receive a first request and determine an application corresponding to the first request; and

a virtual machine manager effective to cause the virtualization software to execute a first guest virtual machine for executing the application.

8. The computing device of claim 7 , wherein the at least one non-transitory computer-readable memory stores further instructions that, when executed by the at least one processor, are further effective to:

receive, by the control plane virtual machine from the first guest virtual machine, a second request to access the engine virtual machine;

determine, by the control plane virtual machine, that the first guest virtual machine is authorized to access the engine virtual machine;

send, by the first guest virtual machine, the second request to the engine virtual machine for processing; and

process, by the engine virtual machine using the at least one hardware component, the second request to generate output data.

9. The computing device of claim 7 , wherein the at least one non-transitory computer-readable memory stores further instructions that, when executed by the at least one processor, are further effective to:

receive, by the controller component, a second request;

determine, by the controller component, that the second request is associated with a second application;

determine a configuration of a second guest virtual machine associated with the second application;

send, by the virtual machine manager, an instruction to the host kernel to execute the second guest virtual machine in accordance with the configuration;

execute, by the host kernel, the second guest virtual machine;

send the second request to the second guest virtual machine; and

process the second request by the second guest virtual machine.

10. The computing device of claim 7 , wherein the at least one non-transitory computer-readable memory stores further instructions that, when executed by the at least one processor, are further effective to execute the first guest virtual machine for executing the application in response to data sent by a device on a local area network, where the device is associated with the application.

11. The computing device of claim 7 , wherein the engine virtual machine comprises:

a first container image executing an automatic speech recognition model effective to generate text data from input audio data; and

a second container image executing a natural language understanding model effective to determine a semantic interpretation of the text data, wherein the engine virtual machine is communicatively coupled to a remote speech processing system.

12. The computing device of claim 7 , wherein the at least one non-transitory computer-readable memory stores further instructions that, when executed by the at least one processor, are further effective to:

receive, from the first guest virtual machine, a request for data from a second guest virtual machine;

determine that the first guest virtual machine is authorized to receive the data from the second guest virtual machine; and

send the data from the first guest virtual machine to the second guest virtual machine.

13. A method comprising:

executing, by at least one processor, a host kernel comprising a kernel-based virtual machine hypervisor;

executing virtualization software effective to communicate with the kernel-based virtual machine hypervisor to execute virtual machines;

executing a engine virtual machine having access to at least one hardware component; and

executing a control plane virtual machine comprising:

a controller component effective to receive a first request and determine an application corresponding to the first request; and

a virtual machine manager effective to cause the virtualization software to execute a first guest virtual machine for executing the application.

14. The method of claim 13 , further comprising:

receiving, by the control plane virtual machine from the first guest virtual machine, a second request to access the engine virtual machine;

determining, by the control plane virtual machine, that the first guest virtual machine is authorized to access the engine virtual machine;

sending, by the first guest virtual machine, the second request to the engine virtual machine for processing; and

processing, by the engine virtual machine using the at least one hardware component, the second request to generate output data.

15. The method of claim 13 , further comprising:

receiving, by the controller component, a second request;

determining, by the controller component, that the second request is associated with a second application;

determining a configuration of a second guest virtual machine associated with the second application;

sending, by the virtual machine manager, an instruction to the host kernel to execute the second guest virtual machine in accordance with the configuration;

executing, by the host kernel, the second guest virtual machine;

sending the second request to the second guest virtual machine; and

process the second request by the second guest virtual machine.

16. The method of claim 13 , further comprising executing the first guest virtual machine for executing the application in response to data sent by a device on a local area network, where the device is associated with the application.

17. The method of claim 13 , further comprising:

executing, by the engine virtual machine, a first container image executing an automatic speech recognition model effective to generate text data from input audio data; and

executing, by the engine virtual machine, a second container image executing a natural language understanding model effective to determine a semantic interpretation of the text data, wherein the engine virtual machine is communicatively coupled to a remote speech processing system.

18. The method of claim 13 , further comprising:

receiving, from the first guest virtual machine, a request for data from a second guest virtual machine;

determining that the first guest virtual machine is authorized to receive the data from the second guest virtual machine; and

sending the data from the first guest virtual machine to the second guest virtual machine.

19. The method of claim 13 , further comprising:

executing the engine virtual machine configured with access to a graphics processing unit (GPU);

sending video data to the engine virtual machine;

determining, by the engine virtual machine, object data identifying a first object represented in the video data; and

sending the object data to the engine virtual machine.

20. The method of claim 13 , further comprising:

receiving a request to install an application;

determining a resource associated with the application;

storing identifier data identifying the resource in an application registry in association with a uniform resource identifier; and

installing the application in memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2021
From: ALEXANDER, JAMES MICHAEL; LOCKEY, AARON; PADILLA, OSCAR; ALMEIDA, ALDON DOMINIC; BOLA SATYANARAYAN, RISHIKESH; VAKHNO, MAKSIM
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 057938/0378 →
Continuity (1)
Division 16570824 · Sep 13, 2019
Cited By (2)
US 12,493,620 US 12,518,109