Congestion control management method derived from packets at a network adapter

US11218413B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11218413-B2
Application numberUS-201916683302-A
CountryUS
Kind codeB2
Filing dateNov 14, 2019
Priority dateNov 14, 2019
Publication dateJan 4, 2022
Grant dateJan 4, 2022

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 network adapter includes a receive (RX) pipeline, a transmit (TX) pipeline, hardware-implemented congestion-control circuitry, and a congestion-control processor. The RX pipeline is configured to receive packets from a network and process the received packets. The TX pipeline is configured to transmit packets to the network. The hardware-implemented congestion-control circuitry is configured to receive, from the TX pipeline and from the RX pipeline, Congestion-Control (CC) events derived from at least some of the packets transmitted to the network and from at least some of the packets received from the network, and to pre-process the CC events. The congestion-control processor is configured to receive the pre-processed CC events from the congestion-control circuitry, and to throttle a transmission rate of the packets transmitted to the network by the TX pipeline responsively to the pre-processed CC events.

First claim

Opening claim text (preview).

The invention claimed is: 1. A network adapter, comprising: a receive (RX) pipeline, configured to receive packets from a network and process the received packets; a transmit (TX) pipeline, configured to transmit packets to the network; hardware-implemented circuitry, configured to derive from at least some of the packets transmitted to the network and from at least some of the packets received from the network, multi-field entries representing congestion Control (CC) events; and a congestion-control programmable processor, which is configured by software to receive the multi-field entries from the hardware-implemented circuitry, and to calculate a transmission rate of the packets transmitted to the network by the TX pipeline responsively to the multi-field entries. 2. The network adapter according to claim 1 , and comprising a direct hardware-implemented point-to-point interface configured to transfer at least some of the multi-field entries representing CC events from the hardware-implemented circuitry to the congestion-control processor, without operating system invocation. 3. The network adapter according to claim 1 , wherein the hardware-implemented circuitry comprises an event queue configured to queue the multi-field entries representing CC events, and circuitry configured to pre-process the queued multi-field entries representing CC events. 4. The network adapter according to claim 3 , wherein the circuitry is configured to discard one or more of the queued multi-field entries representing CC events, and to provide to the congestion-control processor only the multi-field entries representing CC events that were not discarded. 5. The network adapter according to claim 3 , wherein the circuitry is configured to coalesce two or more of the queued multi-field entries representing CC events, and to provide the coalesced multi-field entries representing CC events to the congestion-control processor. 6. The network adapter according to claim 1 , wherein the congestion-control processor supports an Application Programming Interface (API) for receiving user-defined Congestion-Control (CC) software code, and to calculate the transmission rate by running the CC software code. 7. The network adapter according to claim 1 , wherein the hardware-implemented circuitry is further configured to transmit via the TX pipeline a first Round-Trip Time (RTT) packet, and to receive via the RX pipeline a second RTT packet that was sent from a peer network adapter in response to the first RTT packet, and wherein the congestion-control processor is configured to estimate, based on the first and second RTT packets, a round-trip propagation time between the network adapter and the peer network adapter, and to calculate the transmission rate depending on the round-trip propagation time. 8. The network adapter according to claim 1 , wherein the congestion-control programmable processor comprises a dedicated processor tightly coupled to communication ports. 9. The network adapter according to claim 1 , wherein the congestion-control programmable processor comprises a plurality of processors, and wherein the hardware-implemented circuitry is configured to indicate in at least some of the multi-field entries a specific processor of the plurality of processors that is handling the flow to which the multi-field entry relates. 10. The network adapter according to claim 1 , wherein the congestion-control programmable processor (CCP) comprises a plurality of processors, and wherein the hardware-implemented circuitry is configured to manage an array which includes an entry for every processor of the CCP and every event class, and in each entry stores accumulated data of all coalesced events that correspond to the processor and class of the entry. 11. A network adapter, comprising: a receive (RX) pipeline, configured to receive packets from a network and process the received packets; a transmit (TX) pipeline, configured to transmit packets to the network; and hardware-implemented circuitry, configured to: receive from the RX pipeline a first Round-Trip Time (RTT) packet sent from a peer network adapter; generate a second RTT packet in response to the first RTT packet; and send the second RTT packet to the TX pipeline for transmission to the peer network adapter. 12. The network adapter according to claim 11 , wherein the hardware-implemented circuitry is configured to insert in the second RTT packet one or more timestamps indicative of a time difference between (i) arrival of the first RTT packet at the network adapter and (ii) departure of the second RTT packet from the network adapter. 13. A method, comprising: using a receive (RX) pipeline of a network adapter, receiving packets from a network and processing the received packets; transmit packets to the network using a transmit (TX) pipeline of the network adapter; using hardware-implemented circuitry in the network adapter, deriving from at least some of the packets transmitted to the network and from at least some of the packets received from the network, multi-field entries representing congestion Control (CC) events; and using a congestion-control programmable processor in the network adapter, which is programmed by software, receiving the multi-field entries from the hardware-implemented circuitry, and calculating a transmission rate of the packets transmitted to the network by the TX pipeline responsively to the multi-field entries. 14. The method according to claim 13 , and comprising transfer at least some of the multi-field entries representing CC events from the hardware-implemented circuitry to the congestion-control processor over a direct hardware-implemented point-to-point interface, without operating system invocation. 15. The method according to claim 13 , and comprising queuing the multi-field entries representing CC events in an event queue in the hardware-implemented circuitry, and pre-processing the queued multi-field entries representing CC events. 16. The method according to claim 15 , wherein pre-processing the queued multi-field entries representing CC events comprises discarding one or more of the queued multi-field entries representing CC events, and providing to the congestion-control processor only the multi-field entries representing CC events that were not discarded. 17. The method according to claim 15 , wherein pre-processing the queued multi-field entries representing CC events comprises coalescing two or more of the queued multi-field entries representing CC events, and providing the coalesced multi-field entries representing CC events to the congestion-control processor. 18. The method according to claim 13 , wherein calculating the transmission rate comprises receiving user-defined Congestion-Control (CC) software code using an Application Programming Interface (API), and calculating the transmission rate by running the CC software code. 19. The method according to claim 13 , further comprising, using the hardware-implemented circuitry, transmitting via the TX pipeline a first Round-Trip Time (RTT) packet and receiving via the RX pipeline a second RTT packet that was sent from a peer network adapter in response to the first RTT packet, and, using the congestion-control processor, estimating, based on the first and second RTT packets, a round-trip propagation time between the network adapter and the peer network adapter, wherein calculating the transmission rate comprises calculating the transmission rate depending on the round-trip propagation time.

Assignees

Inventors

Classifications

  • sent by the destination endpoint (network streaming of media packets with control of the source by the destination H04L65/613) · CPC title

  • Avoiding congestion; Recovering from congestion · CPC title

  • H04L47/263Primary

    Rate modification at the source after receiving feedback · CPC title

  • H04L47/283Primary

    in response to processing delays, e.g. caused by jitter or round trip time [RTT] · CPC title

  • using content-addressable memories [CAM] · 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 US11218413B2 cover?
A network adapter includes a receive (RX) pipeline, a transmit (TX) pipeline, hardware-implemented congestion-control circuitry, and a congestion-control processor. The RX pipeline is configured to receive packets from a network and process the received packets. The TX pipeline is configured to transmit packets to the network. The hardware-implemented congestion-control circuitry is configured …
Who is the assignee on this patent?
Mellanox Technologies Ltd
What technology area does this patent fall under?
Primary CPC classification H04L47/263. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 04 2022 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).