IP Library › Granted Patent US 11,496,401
Granted Patent B2
US 11,496,401 · App. 17/092,708 · Granted Nov 8, 2022

Congestion notification packet indicating specific packet flow experiencing congestion to facilitate individual packet flow based transmission rate control

Inventors: Zvi Leib Shmilovici (Tel Aviv, IL); Gideon Navon (Tel Aviv, IL)
Assignee: MARVELL ISRAEL (M.I.S.L) LTD.
H04L47/127H04L45/66H04L45/74H04L47/2483H04L45/38
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 11,496,401
App. No.
17/092,708
Granted
Nov 8, 2022
Kind
B2
Abstract

A system includes first, second, and third processors. The first processor is configured to detect congestion in a packet flow formed of a plurality of packets of a same type received from a first device in a network via a first network connection. The packets in the packet flow being destined for a second device in the network. The second processor is configured to send, when congestion notification packet generation is enabled for the packet flow, a congestion notification packet to the first device via the first network connection. The congestion notification packet identifies the packet flow for which congestion is detected. The third processor is configured to forward the plurality of packets in the packet flow to the second device via a second the network connection.

Claims (29)

1. A network device comprising:

a first processor of the network device configured to detect congestion in a packet flow formed of a plurality of packets of a same type received from a first device in a network via a first network connection, the packets in the packet flow being destined for a second device in the network;

a second processor of the network device configured to, when congestion notification packet generation is enabled for the packet flow:

generate a congestion notification packet by:

replicating a packet from the packet flow;

swapping addresses of the first and second devices from being source and destination addresses in the packet to destination and source addresses in the congestion notification packet, respectively; and

including a hash value representing a combination of a protocol, the source and destination addresses, a source port identifier, and a destination port identifier for the packet; and

send the congestion notification packet to the first device via the first network connection, the congestion notification packet identifying the packet flow for which congestion is detected; and

a third processor of the network device configured to forward the plurality of packets in the packet flow to the second device via a second the network connection.

2. The network device of claim 1 wherein the congestion notification packet is structured to allow the first device to control a transmission rate for the packet flow for which congestion is detected separately from controlling the transmission rate for packet flows other than the packet flow for which congestion is detected.

3. The network device of claim 1 wherein ones of the packets in the packet flow includes the addresses of the first and second devices respectively as source and destination addresses.

4. The network device of claim 1 wherein the second processor is configured to generate the congestion notification packet upon congestion having been detected for a predetermined number of packets in the packet flow.

5. The network device of claim 1 wherein the first processor is configured to detect congestion in the packet flow based on a ratio of a number of packets for which congestion is detected to a total number of packets received in the packet flow.

6. The network device of claim 1 wherein the second processor is configured to enable congestion notification packet generation for the packet flow in response to the packet flow being associated with lossless traffic.

7. The network device of claim 1 wherein the second processor is configured to disable, in response to generating the congestion notification packet, including an explicit congestion notification in packets of packet flow transmitted to the second device.

8. A method for congestion avoidance in a network, comprising:

detecting, at a network device, congestion in a packet flow formed of a plurality of packets of a same type received from a first device in the network via a first network connection, the packets in the packet flow being destined for a second device in the network;

generating, at the network device, when congestion notification packet generation is enabled for the packet flow, a congestion notification packet by:

replicating a packet from the packet flow;

swapping addresses of the first and second devices from being source and destination addresses in the packet to destination and source addresses in the congestion notification packet, respectively; and

including a hash value representing a combination of a protocol, the source and destination addresses, a source port identifier, and a destination port identifier for the packet;

sending from the network device to the first device via the first network connection, the congestion notification packet identifying the packet flow for which congestion is detected; and

forwarding the plurality of packets in the packet flow from the network device to the second device via a second the network connection.

9. The method for congestion avoidance of claim 8 further comprising structuring the congestion notification packet to allow the first device to control a transmission rate for the packet flow for which congestion is detected separately from controlling the transmission rate for packet flows other than the packet flow for which congestion is detected.

10. The method for congestion avoidance of claim 8 wherein ones of the packets in the packet flow includes the addresses of the first and second devices respectively as source and destination addresses, the method further comprising swapping the addresses of the first and second devices from source and destination addresses respectively to destination and source addresses in the congestion notification packet.

11. The method for congestion avoidance of claim 8 further comprising generating the congestion notification packet upon congestion having been detected for a predetermined number of packets in the packet flow.

12. The method for congestion avoidance of claim 8 further comprising detecting congestion in the packet flow based on a ratio of a number of packets for which congestion is detected to a total number of packets received in the packet flow.

13. The method for congestion avoidance of claim 8 further comprising enabling congestion notification packet generation for the packet flow in response to the packet flow being associated with lossless traffic.

14. The method for congestion avoidance of claim 8 further comprising disabling, in response to generating the congestion notification packet, inclusion of an explicit congestion notification in packets of packet flow transmitted to the second device.

Continuity (3)
Continuation 15870312 · Jan 12, 2018
Provisional Application 62445664 · Jan 12, 2017
Related Publication 20210083981A1 · Mar 18, 2021
Cited By (1)
US 12,341,693