IP Library › Granted Patent US 10,944,660
Granted Patent B2
US 10,944,660 · App. 16/517,408 · Granted Mar 9, 2021

Managing congestion in a network

Inventors: Tony Hurson (Austin, TX); Simoni Ben-Michael (Givat Zeev, IL); Ben-Zion Friedman (Jerusalem, IL)
Assignee: Intel Corporation
H04L43/0882H04L47/193H04L47/35H04L47/626H04L67/1097
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,944,660
App. No.
16/517,408
Granted
Mar 9, 2021
Kind
B2
Abstract

Examples described herein include configuration of a transmitting network device to identify a source queue-pair identifier in at least some of the packets that are transmitted to an endpoint destination. A network device that receives packets and experiences congestion can determine if a congestion causing packet includes a source queue-pair identifier. If the congestion causing packet includes a source queue-pair identifier, the network device can form and transmit a congestion notification message with a copy of the source queue-pair identifier to the transmitting network device. The transmitting network device can access a context for the congestion causing packet using the source queue-pair identifier without having to perform a lookup to identify the context.

Claims (43)

1. A network device comprising:

a memory device and

a congestion monitor device coupled to the memory device, the congestion monitor device to:

access a received congestion causing packet and

based on the received congestion causing packet including a source queue-pair identifier:

copy the source queue-pair identifier from the received congestion causing packet,

form a congestion notification packet (CNP) that includes a copy of the source queue-pair identifier from the received congestion causing packet, and

cause the CNP to be transmitted to a transmitter of the received congestion causing packet.

2. The network device of claim 1 , wherein the congestion monitor device is to:

determine whether the received congestion causing packet includes a source queue-pair identifier and

based on the received congestion causing packet not including a source queue-pair identifier:

perform lookup of source queue-pair identifier for the congestion causing packet, form a congestion notification packet (CNP), the CNP comprising the source queue-pair identifier from the lookup, and

cause the CNP including the source queue-pair identifier from the lookup to be transmitted to a transmitter of the congestion causing packet.

3. The network device of claim 1 , wherein the CNP is compatible with RDMA over Converged Ethernet (RoCE) v2.

4. The network device of claim 1 , wherein the received congestion causing packet includes a User Datagram Protocol (UDP) source port field that includes the source queue-pair identifier.

5. The network device of claim 1 , wherein the received congestion causing packet includes a Transmission Control Protocol (TCP) source port field that includes the source queue-pair identifier.

6. The network device of claim 1 , wherein the CNP comprises a User Datagram Protocol (UDP) source port field that includes the source queue-pair identifier.

7. The network device of claim 1 , wherein the CNP comprises a Transmission Control Protocol (TCP) source port field that includes the source queue-pair identifier.

8. The network device of claim 1 , wherein the congestion monitor device is to:

provide an inter-packet gap in the CNP.

9. The network device of claim 1 , comprising a switch or an endpoint receiver.

10. The network device of claim 1 , comprising a switch or an end point receiver in a compute sled, rack, server, or data center.

11. A computer-implemented method comprising:

forming a packet for transmission, the packet comprising a source queue-pair identifier;

receiving a congestion notification packet (CNP), the CNP comprising the source queue-pair identifier and the source queue-pair identifier being a copy of a source queue-pair identifier in a packet associated with congestion in a sender of the CNP;

identifying a transmit context based on the source queue-pair identifier in the received CNP independent from a lookup of a source queue-pair identifier based on the source queue-pair identifier being present in the received CNP; and

adjusting a transmit rate of packets in response to receipt of the CNP.

12. The method of claim 11 , wherein the CNP is compatible with RDMA over Converged Ethernet (RoCE) v2.

13. The method of claim 11 , wherein the CNP comprises a User Datagram Protocol (UDP) compatible source port field that includes the source queue-pair identifier.

14. The method of claim 11 , wherein the CNP comprises a Transmission Control Protocol (TCP) source port field that includes the source queue-pair identifier.

15. The method of claim 11 , wherein the packet comprises a User Datagram Protocol (UDP) compatible source port field that includes the source queue-pair identifier.

16. The method of claim 11 , wherein the packet comprises a Transmission Control Protocol (TCP) source port field that includes the source queue-pair identifier.

17. The method of claim 11 , wherein the CNP includes an inter-packet gap and wherein adjusting a transmit rate of packets in response to receipt of the CNP comprises adjusting the transmit rate based on the inter-packet gap.

18. A system comprising:

a computing system comprising at least one processor and at least one memory; and

a network interface communicatively coupled to the computing system, the network interface comprising:

a congestion monitor device to:

receive a congestion notification packet (CNP), the CNP comprising a source queue-pair identifier and transmit rate indicator, wherein the source queue-pair identifier is a copy of a source queue-pair identifier in a packet that is associated with congestion experienced at a sender of the CNP;

access a context for a queue-pair based on the source queue-pair identifier in the received CNP; and

adjust a transmit rate associated with packets in the queue-pair associated with the source queue-pair identifier based on the transmit rate indicator in the CNP.

19. The system of claim 18 , wherein the transmit rate indicator comprises an inter-packet gap associated with the source queue-pair identifier.

20. The system of claim 18 , wherein the congestion monitor device is to adjust a transmit rate identified in the context associated with the source queue-pair identifier.

21. The system of claim 18 , wherein the CNP comprises a field that includes the source queue-pair identifier, the field comprises one or more of: User Datagram Protocol (UDP) compatible source port, Transmission Control Protocol (TCP) source port field, or a preamble.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2019
From: HURSON, TONY; BEN-MICHAEL, SIMONI; FRIEDMAN, BEN-ZION
To: INTEL CORPORATION
Reel/Frame 050112/0500 →
Continuity (2)
Provisional Application 62802949 · Feb 8, 2019
Related Publication 20190342199A1 · Nov 7, 2019
Cited By (7)
US 12,417,154 US 12,430,279 US 12,432,145 US 12,542,735 US 12,549,487 US 12,634,241 US 12,641,150