User assigned network interface queues

US12596565B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12596565-B2
Application numberUS-202217957939-A
CountryUS
Kind codeB2
Filing dateSep 30, 2022
Priority dateSep 30, 2022
Publication dateApr 7, 2026
Grant dateApr 7, 2026

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12596565B2 cover?
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 met…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 07 2026 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).