Networking stack of virtualization software configured to support latency sensitive virtual machines

US10860356B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10860356-B2
Application numberUS-201715645469-A
CountryUS
Kind codeB2
Filing dateJul 10, 2017
Priority dateAug 26, 2013
Publication dateDec 8, 2020
Grant dateDec 8, 2020

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.

A host computer has a plurality of containers including a first container executing therein, where the host also includes a physical network interface controller (NIC). A packet handling interrupt is detected upon receipt of a first data packet associated with the first container. If the first virtual machine is latency sensitive, then the packet handling interrupt is processed. If the first virtual machine is not latency sensitive, then the first data packet is queued and and processing of the packet handling interrupt is delayed.

First claim

Opening claim text (preview).

We claim: 1. In a host computer having a plurality of containers including a first container executing therein, the host including a physical network interface controller (NIC), a method of transmitting and receiving data packets to and from the containers, the method comprising: detecting a packet handling interrupt upon receiving, at a virtual network interface controller (virtual NIC) operating on the host computer, a first data packet that is associated with the first container; determining, by the virtual NIC, the first container is latency sensitive by reading latency sensitivity configuration data of the first container; based on the first container being latency sensitive, determining, by the virtual NIC, a packet rate of the virtual NIC, the packet rate corresponding to a number of packets at least one of transmitted or received by the virtual NIC over a period of time, wherein the virtual NIC is configured to: if the first container is not latency sensitive, queue, in a queue associated with the virtual NIC, the first data packet for later transmission; and based on the first container being latency sensitive and the packet rate not being less than a threshold rate, then queuing, by the virtual NIC, in the queue associated with the virtual NIC, the first data packet for later transmission, wherein the virtual NIC is configured to: based on the first container being latency sensitive and if the packet rate is less than the threshold rate, then transmitting the first data packet without queuing, in the queue associated with the virtual NIC, the first data packet. 2. The method of claim 1 wherein the first container is a first virtual machine. 3. The method of claim 1 , wherein the transmitting the first data packet comprises transmitting the first data packet to a virtual switch to which the virtual NIC is connected, wherein the first data packet is received from an application executing in the first container, and wherein the virtual NIC is associated with the first container. 4. The method of claim 1 , wherein the transmitting the first data packet comprises transmitting the first data packet to an application executing in the first container. 5. The method of claim 1 , wherein determining the first container is latency sensitive comprises: reading a latency sensitivity indicator for the first container; and determining a value of the latency sensitivity indicator. 6. The method of claim 1 , wherein the queue associated with the virtual NIC is a data structure residing in the virtual NIC that is configured to store a plurality of data packets. 7. The method of claim 1 , wherein: the virtual NIC is configured to: based on the first container being latency sensitive and if the packet rate is less than the threshold rate, determine whether a utilization value for one or more virtual processors of the first container is greater than a first utilization value; the virtual NIC is configured to: based on the first container being latency sensitive, and if the packet rate is less than the threshold rate and the utilization value is greater than the first utilization value, queue the first data packet; wherein the virtual NIC being configured to: based on the first container being latency sensitive and if the packet rate is less than the threshold rate, transmit the first data packet, without queuing the first data packet in the queue associated with the virtual NIC, comprises: the virtual NIC being configured to: based on the first container being latency sensitive, and if the packet rate is less than the threshold rate and the utilization value is not greater than the first utilization value, transmit the first data packet without queuing. 8. The method of claim 1 , wherein the queuing of the first data packet for later transmission comprises delaying transmission of the first data packet until the first data packet has been stored in the queue greater than a first amount of time. 9. The method of claim 1 , wherein the queuing of the first data packet for later transmission further comprises: delaying transmission of the first data packet until the queue stores greater than a first number of data packets. 10. The method of claim 1 , wherein the first data packet is a first transmission control protocol (TCP) data packet, and queuing the first data packet comprises combining said first TCP data packet with one or more TCP packets previously received at the virtual NIC into a second TCP data packet. 11. The method of claim 1 , wherein the physical NIC has a plurality of queues, each of which is associated with one or more of the plurality of containers, and wherein the method further comprises: responsive to determining that the first container is latency sensitive, increasing an interrupt rate for one or more of the plurality of queues of the physical NIC that are associated with the first container. 12. A non-transitory computer-readable medium comprising instructions executable by a host computer, the host computer having a plurality of containers including a first container executing therein, and the host including a physical network interface controller (NIC), where the instructions, when executed, cause the host computer to perform a method of transmitting and receiving data packets to and from the first container, the instructions comprising: one or more instructions for: detecting a packet handling interrupt upon receiving, at a virtual network interface controller (virtual NIC) of the host computer, a first data packet that is associated with the first container; one or more instructions for: determining, by the virtual NIC, whether the first container is latency sensitive; one or more instructions for: when the first container is latency sensitive, determining, by the virtual NIC, a packet rate of the virtual NIC, the packet rate corresponding to a number of packets at least one of transmitted or received by the virtual NIC over a period of time; one or more instructions for: if the first container is latency sensitive and the packet rate is less than a threshold rate, then transmitting, by the virtual NIC, the first data packet without queuing, in the queue associated with the virtual NIC, the first data packet; one or more instructions for: if the first container is latency sensitive and the packet rate is not less than the threshold rate, then queuing, by the virtual NIC, in the queue associated with the virtual NIC, the first data packet for later transmission; and one or more instructions for: if the first container not latency sensitive, then queueing, by the virtual NIC, the first data packet, in the queue associated with the virtual NIC, for later transmission. 13. The computer-readable medium of claim 12 , wherein the first container is a first virtual machine. 14. The computer-readable medium of claim 12 , wherein the transmitting the first data packet comprises transmitting the first data packet to a virtual switch to which the virtual NIC is connected, wherein the first data packet is received from an application executing in the first container, and wherein the virtual NIC is associated with the first container. 15. The computer-readable medium of claim 12 , wherein the transmitting the first data packet comprises transmitting the first data packet to an application executing in the first container. 16. The computer-readable medium of claim 12 , wherein determining whether the container is latency sensitive comprises: reading a latency sensitivity indicator for the first container; and determining a value of the latency sensitivity indicator.

Assignees

Inventors

Classifications

  • Allocation of resources, e.g. of the central processing unit [CPU] · CPC title

  • implementing delay-aware scheduling · CPC title

  • Task decomposition · CPC title

  • the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title

  • using interrupt (G06F13/32 takes precedence) · 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 US10860356B2 cover?
A host computer has a plurality of containers including a first container executing therein, where the host also includes a physical network interface controller (NIC). A packet handling interrupt is detected upon receipt of a first data packet associated with the first container. If the first virtual machine is latency sensitive, then the packet handling interrupt is processed. If the first vi…
Who is the assignee on this patent?
Vmware 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 Dec 08 2020 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).