Switch with controlled queuing for multi-host endpoints

US10880236B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10880236-B2
Application numberUS-201816163585-A
CountryUS
Kind codeB2
Filing dateOct 18, 2018
Priority dateOct 18, 2018
Publication dateDec 29, 2020
Grant dateDec 29, 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.

Communication apparatus includes multiple ports configured to serve as ingress and egress ports, such that the ingress ports receive packets from a packet data network for forwarding to respective egress ports. The ports include an egress port configured for connection to a network interface controller (NIC) serving multiple physical computing units, which have different, respective destination addresses and are connected to the NIC by different, respective communication channels. Control and queuing logic is configured to queue the packets that are received from the packet data network for forwarding to the multiple physical computing units in different, respective queues according to the destination addresses, and to arbitrate among the queues so as to convey the packets from the queues via the same egress port to the NIC, for distribution to the multiple physical computing units over the respective communication channels.

First claim

Opening claim text (preview).

The invention claimed is: 1. Communication apparatus, comprising: multiple ports configured to serve as ingress and egress ports, such that the ingress ports receive packets from a packet data network for forwarding to respective egress ports, and the multiple ports include an egress port configured for connection to a network interface controller (NIC) serving multiple physical computing units, which have different, respective destination addresses and are connected to the NIC by different, respective communication channels having respective bandwidths; and control and queuing logic, which is configured: to queue the packets that are received from the packet data network for forwarding to the multiple physical computing units in different, respective queues according to the respective destination addresses; to arbitrate among the queues so as to convey the packets from the queues via the same egress port to the NIC, for distribution to the multiple physical computing units over the respective communication channels; and to limit a rate of transmission of the packets from each of the queues via the egress port responsively to the respective bandwidths, wherein the egress port has a first bandwidth, and a respective communication channel between the NIC and one of the physical computing units has a second bandwidth that is less than the first bandwidth, and the control and queuing logic is further configured to select the packets for transmission from the queues so as to maintain the rate of transmission of the packets through the egress port to the one of the physical computing units at a level that is no greater than the second bandwidth. 2. The apparatus according to claim 1 , wherein the control and queuing logic is configured, upon receiving the packets from the ingress ports, to perform a first lookup on the destination addresses in order to select the respective egress ports through which the packets are to be transmitted, and upon determining that a given packet is to be transmitted through an egress port that is connected to the NIC serving the multiple physical computing units, to perform a second lookup on a destination address of the given packet in order to assign the given packet to a respective one of the queues. 3. The apparatus according to claim 1 , wherein the different, respective destination addresses of the physical computing units are network-layer addresses. 4. The apparatus according to claim 1 , wherein the different, respective destination addresses of the physical computing units are link-layer addresses. 5. The apparatus according to claim 1 , wherein the control and queuing logic is configured to monitor respective lengths of the queues, and when a length of one of the queues corresponding to a given destination address of one of the physical computing units exceeds a predefined threshold, to apply a congestion control measure with respect to the given destination address. 6. The apparatus according to claim 1 , and comprising a memory, which is coupled to store the packets received from the ingress ports while awaiting transmission through the egress ports, wherein the control and queuing logic is configured to allocate different, respective buffers in the memory for the packets in the different, respective queues that are destined for the multiple physical computing units. 7. The apparatus according to claim 6 , wherein the control and queuing logic is configured to monitor respective lengths of the queues and to adjust respective allocations of the buffers in the memory responsively to the lengths of the queues. 8. A method for communication, comprising: receiving from a packet data network, via ingress ports of a switch, packets for forwarding to respective egress ports, including an egress port connected to a network interface controller (NIC) serving multiple physical computing units, which have different, respective destination addresses and are connected to the NIC by different, respective communication channels having respective bandwidths; queuing the packets that are received from the packet data network for forwarding to the multiple physical computing units in different, respective queues according to the destination addresses; arbitrating among the queues so as to convey the packets from the queues via the same egress port to the NIC, for distribution to the multiple physical computing units over the respective communication channels, the arbitrating including limiting a rate of transmission of the packets from each of the queues via the egress port responsively to the respective bandwidths, wherein the egress port has a first bandwidth, and a respective communication channel between the NIC and one of the physical computing units has a second bandwidth that is less than the first bandwidth, and said limiting the rate of transmission comprises selecting the packets for transmission from the queues so as to maintain the rate of transmission of the packets through the egress port to the one of the physical computing units at a level that is no greater than the second bandwidth. 9. The method according to claim 8 , wherein queuing the packets comprises, upon receiving the packets from the ingress ports, performing a first lookup on the destination addresses in order to select the respective egress ports through which the packets are to be transmitted, and upon determining that a given packet is to be transmitted through an egress port that is connected to the NIC serving the multiple physical computing units, performing a second lookup on a destination address of the given packet in order to assign the given packet to a respective one of the queues. 10. The method according to claim 8 , wherein the different, respective destination addresses of the physical computing units are network-layer addresses. 11. The method according to claim 8 , wherein the different, respective destination addresses of the physical computing units are link-layer addresses. 12. The method according to claim 8 , and comprising monitoring respective lengths of the queues, and when a length of one of the queues corresponding to a given destination address of one of the physical computing units exceeds a predefined threshold, applying a congestion control measure with respect to the given destination address. 13. The method according to claim 8 , and comprising storing the packets received from the ingress ports in a memory while awaiting transmission through the egress ports, and allocating different, respective buffers in the memory for the packets in the different, respective queues that are destined for the multiple physical computing units. 14. The method according to claim 13 , wherein allocating the respective buffers comprises monitoring respective lengths of the queues and adjusting respective allocations of the buffers in the memory responsively to the lengths of the queues.

Assignees

Inventors

Classifications

  • H04L49/90Primary

    Buffering arrangements · CPC title

  • Multiple parallel or consecutive lookup operations (lookup operation involving Bloom filters H04L45/7459) · CPC title

  • H04L49/30Primary

    Peripheral units, e.g. input or output ports · CPC title

  • Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management · CPC title

  • Output queuing · 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 US10880236B2 cover?
Communication apparatus includes multiple ports configured to serve as ingress and egress ports, such that the ingress ports receive packets from a packet data network for forwarding to respective egress ports. The ports include an egress port configured for connection to a network interface controller (NIC) serving multiple physical computing units, which have different, respective destination…
Who is the assignee on this patent?
Mellanox Tech Tlv Ltd
What technology area does this patent fall under?
Primary CPC classification H04L49/90. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Dec 29 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).