Framework for early congestion notification and recovery in a virtualized environment

US10412015B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10412015-B2
Application numberUS-201715421313-A
CountryUS
Kind codeB2
Filing dateJan 31, 2017
Priority dateJun 30, 2014
Publication dateSep 10, 2019
Grant dateSep 10, 2019

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.

The congestion notification system of some embodiments sends congestion notification messages from lower layer (e.g., closer to a network) components to higher layer (e.g., closer to a packet sender) components. When the higher layer components receive the congestion notification messages, the higher layer components reduce the sending rate of packets (in some cases the rate is reduced to zero) to allow the lower layer components to lower congestion (i.e., create more space in their queues by sending more data packets along the series of components). In some embodiments, the higher layer components resume full speed sending of packets after a threshold time elapses without further notification of congestion. In other embodiments, the higher layer components resume full speed sending of packets after receiving a message indicating reduced congestion in the lower layers.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of reducing congestion in a network stack of a host machine having a virtual switch with a plurality of downlink ports each connected to a virtual network interface (VNIC) and at least one uplink port connected to a physical network interface (PNIC), the network stack comprising a series of components that send data packets through the network stack to a network, the method comprising: at the VNIC: sending data packets at an initial rate to a first lower-level component of the network stack, the first lower-level component being closer to the network than the VNIC; receiving a congestion notification message generated by a second lower-level component of the network stack, the second lower-level component having a packet queue and being closer to the network than the VNIC and the first lower-level component, wherein the congestion notification message includes a source address of a packet arriving at the second lower-level component before the congestion notification message is sent, the packet being the most recent packet to arrive at the second lower-level component, or wherein the congestion notification message includes a most common source address of a plurality of packets arriving at the second lower-level component before the congestion notification message is sent; and reducing the rate of sending data packets to the first lower-level component of the network stack in response to the congestion notification message. 2. The method of claim 1 , wherein the VNIC subscribes to a message bus to receive the congestion notification message before receiving the congestion notification message, the congestion notification message being received at the VNIC by way of the message bus. 3. The method of claim 1 , wherein the congestion notification message is sent when the packet queue of the second lower-level component is more than a threshold congestion setting. 4. The method of claim 1 , further comprising increasing the rate of sending data packets to the first lower-level component of the network stack in response to a second congestion notification being received. 5. The method of claim 4 , wherein the second congestion notification indicates that the packet queue is below a threshold. 6. The method of claim 1 , wherein the rate of sending data packets to the first lower-level component of the network stack is based on a level of congestion. 7. The method of claim 1 , wherein the second lower-level component is an uplink manager that sends packets to the PNIC. 8. A system for reducing congestion in a network stack, the system comprising: a host machine having a virtual switch with a plurality of downlink ports each connected to a virtual network interface (VNIC) and at least one uplink port connected to a physical network interface (PNIC), the network stack comprising a series of components that send data packets through the network stack to a network, and wherein the VNIC is configured to: send data packets at an initial rate to a first lower-level component of the network stack, the first lower-level component being closer to the network than the VNIC; receive a congestion notification message generated by a second lower-level component of the network stack, the second lower-level component having a packet queue and being closer to the network than the VNIC and the first lower-level component, wherein the congestion notification message includes a source address of a packet arriving at the second lower-level component before the congestion notification message is sent, the packet being the most recent packet to arrive at the second lower-level component, or wherein the congestion notification message includes a most common source address of a plurality of packets arriving at the second lower-level component before the congestion notification message is sent; and reduce the rate of sending data packets to the first lower-level component of the network stack in response to the congestion notification message. 9. The system of claim 8 , further comprising a message bus, and wherein the VNIC subscribes to the message bus to receive the congestion notification message before receiving the congestion notification message, the congestion notification message being received at the VNIC by way of the message bus. 10. The system of claim 8 , wherein the congestion notification message is sent when the packet queue of the second lower-level component is more than a threshold congestion setting. 11. The system of claim 8 , wherein the VNIC is further configured to increase the rate of sending data packets to the first lower-level component of the network stack in response to a second congestion notification being received. 12. The system of claim 11 , wherein the second congestion notification indicates that the packet queue is below a threshold. 13. The system of claim 8 , wherein an amount the rate of sending data packets to the first lower-level component of the network stack is reduced by is based on a level of congestion. 14. The system of claim 8 , wherein the second lower-level component is an uplink manager that sends packets to the PNIC. 15. A non-transitory machine readable medium storing a program that when executed by at least one processor implements a component of a network stack of a host machine having a virtual switch with a plurality of downlink ports each connected to a virtual network interface (VNIC) and at least one uplink port connected to a physical network interface (PNIC), the network stack comprising a plurality of components that transmit data packets from a data packet sender to a network, the program comprising sets of instructions for: at the VNIC; sending data packets at an initial rate to a first lower-level component of the network stack, the first lower-level component being closer to the network than the VNIC; receiving a congestion notification message generated by a second lower-level component of the network stack, the second lower level component having a packet queue and being closer to the network than the VNIC and the first lower-level component, wherein the congestion notification message includes a source address of a packet arriving at the second lower-level component before the congestion notification message is sent, the packet being the most recent packet to arrive at the second lower-level component, or wherein the congestion notification message includes a most common source address of a plurality of packets arriving at the second lower-level component before the congestion notification message is sent; and reducing the rate of sending data packets to the first lower-level component of the network stack in response to the congestion notification message. 16. The non-transitory machine readable medium of claim 15 , wherein the program further comprises a set of instructions for increasing the rate of sending data packets when a threshold time passes without receiving a congestion notification message. 17. The non-transitory machine readable medium of claim 15 , wherein the congestion notification message is sent when the packet queue of the second lower-level component is more than a threshold congestion setting of the second component. 18. The non-transitory machine readable medium of claim 15 , wherein the program further comprises sets of instructions for increasing the rate of sending data packets to the first lower-level component of the network stack in response to a second congestion notification being received, the second congestion notification indicating that the packe

Assignees

Inventors

Classifications

  • H04L47/25Primary

    with rate being modified by the source upon detecting a change of network conditions · CPC title

  • Identifying congestion · CPC title

  • Threshold monitoring · CPC title

  • Avoiding congestion; Recovering from congestion · CPC title

  • characterised by the switching fabric construction · 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 US10412015B2 cover?
The congestion notification system of some embodiments sends congestion notification messages from lower layer (e.g., closer to a network) components to higher layer (e.g., closer to a packet sender) components. When the higher layer components receive the congestion notification messages, the higher layer components reduce the sending rate of packets (in some cases the rate is reduced to zero)…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification H04L47/25. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Sep 10 2019 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).