Communication terminal and method for handling upload traffic congestion
US-2018176818-A1 · Jun 21, 2018 · US
US10880236B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10880236-B2 |
| Application number | US-201816163585-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 18, 2018 |
| Priority date | Oct 18, 2018 |
| Publication date | Dec 29, 2020 |
| Grant date | Dec 29, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
Buffering arrangements · CPC title
Multiple parallel or consecutive lookup operations (lookup operation involving Bloom filters H04L45/7459) · CPC title
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.