Network policy implementation with multiple interfaces
US-11036529-B2 · Jun 15, 2021 · US
US12596565B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12596565-B2 |
| Application number | US-202217957939-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 30, 2022 |
| Priority date | Sep 30, 2022 |
| Publication date | Apr 7, 2026 |
| Grant date | Apr 7, 2026 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
An Application Programming Interface (API) allows a launching of a virtual machine where a queue count can be configured by a user. More specifically, each virtual machine can be assigned a pool of queues. Additionally, each virtual machine can have multiple virtual networking interfaces and a user can assign a number of queues from the pool to each virtual networking interface. Thus, a new metadata field is described that can be used with requests to launch a virtual machine. The metadata field includes one or more parameters that associate a number of queues with each virtual networking interface. A queue count can be dynamically configured by a user to ensure that the queues are efficiently used given that the user understands the intended application of the virtual machine being launched.
Opening claim text (preview).
What is claimed is: 1 . A method of launching a virtual machine, the method comprising: receiving an Application Programming Interface (API) request to launch a virtual machine, wherein the API request includes one or more parameters associated with queues for each of a plurality of interfaces; determining a server computer upon which to launch the virtual machine; launching the virtual machine on the server computer and assigning a pool of queues to the virtual machine; allocating a plurality of virtual interfaces to the virtual machine by using metadata stored in association with a virtual machine registration record; and based upon the API request, allocating the queues from the pool of queues to the virtual interfaces associated with the virtual machine, wherein an instance manager uses the metadata in the virtual machine registration record and the one or more parameters associated with the queues in the API request to instruct a hypervisor to allocate the queues from the pool of queues in accordance with the API request, wherein a different number of queues are assigned to different ones of the plurality of virtual interfaces based upon the API request. 2 . The method of claim 1 , wherein the API request includes a virtual machine identifier used to identify the virtual machine. 3 . The method of claim 1 , wherein the queues include transmit and receive queues for transmitting and receiving network packets. 4 . The method of claim 1 , wherein the API request includes at least a first number of queues associated with a first virtual network interface and a second number of queues associated with a second virtual network interface, wherein a combined number of the first number of queues and the second number of queues are less than a number of queues in the pool of queues. 5 . The method of claim 1 , wherein a hypervisor executing on the server computer assigns a first portion of the pool of queues to the virtual interfaces, which are virtual networking interfaces, and a second portion of the pool of queues to virtual interfaces which are used for storage. 6 . A method, comprising: receiving a user request to launch a virtual machine, wherein the request includes a queue allocation defining how many queues should be on each of two or more interfaces associated with the virtual machine, wherein a number of the queues differs between the two or more interfaces based upon the user request, which specifies the number of queues on each of the two or more interfaces; and launching the virtual machine on a server computer with the queues allocated to the two or more interfaces in accordance with the user request, wherein the launching of the virtual machine is controlled by an instance manager that retrieves metadata from a registration record associated with the virtual machine, wherein the metadata defines an available number of queues in a queue pool and wherein the instance manager directs a hypervisor to launch the virtual machine on the server computer and instructs the hypervisor on allocation of the queues to the two or more interfaces in accordance with the user request. 7 . The method of claim 6 , wherein a hypervisor executing on the server computer assigns the queues from a pool of queues available to the one or more interfaces, wherein a first portion of the pool of queues are assigned to the one or more interfaces that are used for networking and a second portion of the pool of queues are assigned to the one or more interfaces that are used for storage. 8 . The method of claim 6 , wherein the user request is an Application Programming Interface (API) request that includes a virtual machine image identifier. 9 . The method of claim 6 , wherein the queues are transmit and receive queues. 10 . The method of claim 6 , further including receiving an additional user request to dynamically modify the queue allocation. 11 . The method of claim 6 , wherein the virtual machine includes multiple processors and at least some of the multiple processors have at least one of the queues assigned to it for packet processing. 12 . The method of claim 6 , wherein the user request allows customization of how many queues are associated with each interface by a user outside of a compute service provider. 13 . The method of claim 6 , further including selecting the server computer from a pool of server computers upon which to launch the virtual machine. 14 . The method of claim 6 , wherein the queue allocation is stored as metadata in a virtual machine registration record. 15 . The method of claim 6 , wherein the queues are assigned from a first pool of queues used for networking and a second pool of queues used for storage. 16 . One or more computer-readable media comprising computer-executable instructions that, when executed, cause a computing system to perform a method comprising: receiving a request to launch a virtual machine, wherein the request includes at least two parameters used to customize a number of queues on at least first and second interfaces linked to the virtual machine, wherein a first of the two parameters in the request assigns a first number of queues to the first interface and the second of the two parameters in the request assigns a second number of queues to the second interface, and wherein the first number of queues differs from the second number of queues; and launching the virtual machine in association with the first interface and the second interface with the number of queues on the first and second interfaces matching the first and second parameters in the request, wherein the launching of the virtual machine is controlled by an instance manager that retrieves metadata that defines an available number of queues in a queue pool and wherein the instance manager directs a hypervisor to launch the virtual machine with the queues allocated to the first and second interfaces in accordance with the request. 17 . The computer-readable storage medium according to claim 16 , wherein the method further comprises: assigning the queues to one or more processors executing on the virtual machine. 18 . The computer-readable storage medium according to claim 16 , wherein the request is an Application Programming Interface (API) request received from a client computer located outside of a compute service provider. 19 . The computer-readable storage medium according to claim 16 , wherein the method further comprises: selecting a server computer from a pool of server computers and wherein the launching of the virtual machine occurs on the selected server computer. 20 . The computer-readable storage medium according to claim 16 , wherein the user request allows customization of how many queues are associated with each interface by a user outside of a compute service provider. 21 . The computer-readable storage medium according to claim 16 , wherein the method further comprises: receiving an additional request to dynamically modify the customization of the number of queues. 22 . The computer-readable storage medium according to claim 16 , wherein a first portion of the queues are used for networking and a second portion of the queues are used for storage. 23 . The computer-readable storage medium of claim 22 , wherein the first portion of queues and the second portion of queues are from a same pool of queues or from different pools of queues.
Starting, stopping, suspending or resuming virtual machine instances · CPC title
Distribution of virtual machine instances; Migration and load balancing · CPC title
Network integration; Enabling network access in virtual machine instances · CPC title
Hypervisor-specific management and integration aspects · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.