IP Library › Granted Patent US 11,528,227
Granted Patent B1
US 11,528,227 · App. 17/477,437 · Granted Dec 13, 2022

Integrated traffic profile for indicating multi-level congestion and packet drop for congestion avoidance

Inventors: Jonathan Michael Seely (Cool, CA); Giuseppe Scaglione (Granite Bay, CA); Sergio Jesus Guillen Hernandez (San Jose, CA); Paymon Ghamami (Folsom, CA)
Assignee: Hewlett Packard Enterprise Development LP
H04L47/12H04L47/30H04L47/32
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,528,227
App. No.
17/477,437
Granted
Dec 13, 2022
Kind
B1
Abstract

A system for facilitating an enhanced traffic profile is provided. During operation, the system can determine a first traffic profile indicating whether to drop a packet based on the utilization of a queue. The packets from the queue can be forwarded via an egress port reachable via a fabric. The system can also determine a second traffic profile indicating whether to indicate congestion in the packet based on the utilization. The system can then determine a third traffic profile by combining the first and second traffic profiles. The third traffic profile can indicate acceptance at the queue for a subset of packets with a low-level congestion indicator or selected for dropping based on the utilization. Subsequently, the system can, if the packet is selected for dropping, determine whether to accept the packet at the queue with a high-level congestion indicator in the packet based on the third traffic profile.

Claims (48)

1. A method, comprising:

determining, by a switch, a first traffic profile indicating whether to drop a packet based on utilization of a queue, wherein packets from the queue are forwarded via an egress port reachable via a fabric of interconnections;

determining, by the switch, a second traffic profile indicating whether to indicate a level of congestion in the packet based on the utilization of the queue;

determining a third traffic profile by combining the first and second traffic profiles, wherein the third traffic profile indicates acceptance at the queue for a subset of packets being selected for dropping prior to being inserted into the queue based on the utilization of the queue; and

in response to the packet being selected for dropping, determining whether to accept the packet into the queue with a high-level congestion indicator based on the third traffic profile; and

in response to the utilization of the queue being less than a congestion threshold, accepting the packet into the queue with a low-level congestion indicator in the packet based on the third traffic profile.

2. The method of claim 1 , further comprising whether the switch is capable of indicating a level of congestion in the packet.

3. The method of claim 1 , further comprising:

obtaining a first probability value generated by a piece of hardware of the switch; and

comparing the first probability value with a second probability value that is indicated in the third profile and corresponds to the utilization of the queue.

4. The method of claim 3 , wherein the second probability value is defined as a linear slope between a probability of indicating the level of congestion in the packet and the utilization of the queue.

5. The method of claim 3 , wherein determining whether to accept the packet at the queue further comprises:

determining whether the utilization of the queue is greater a drop threshold indicated in the third profile; and

determining whether the first probability value is greater than the second probability value.

6. The method of claim 5 , further comprising, in response to the first probability value being less than the second probability value and the utilization of the queue being greater than the drop threshold, dropping the packet.

7. The method of claim 3 , wherein, in response to the packet not being selected for dropping, the method comprises:

in response to the utilization of the queue being greater than the congestion threshold and the first probability value being greater than the second probability value, accepting the packet into the queue with a high-level congestion indicator in the packet.

8. The method of claim 3 , wherein accepting the packet into the queue with the low-level congestion indicator further comprises, determining whether the utilization of the queue is less than the congestion threshold and whether the first probability value is greater than the second probability value.

9. The method of claim 1 , wherein the first profile is a profile of random early detection (RED) or a variation thereof; and wherein the second profile is a profile of Multi-level Explicit Congestion Notification (MECN) or a variation thereof.

10. A computer system, comprising:

processing circuitry;

a traffic profile logic block to:

determine a first traffic profile indicating whether to drop a packet based on utilization of a queue, wherein packets from the queue are forwarded via an egress port reachable via a fabric of interconnections;

determine a second traffic profile indicating whether to indicate a level of congestion in the packet based on the utilization of the queue; and

determine a third traffic profile by combining the first and second traffic profiles, wherein the third traffic profile indicates acceptance at the queue for a subset of packets being selected for dropping prior to being inserted into the queue based on the utilization of the queue;

an assertion logic block to, in response to the packet being selected for dropping, determine whether to accept the packet into the queue with a high-level congestion indicator based on the third traffic profile; and

a marking logic block to in response to the utilization of the queue being less than a congestion threshold, accept the packet into the queue with a low-level congestion indicator in the packet based on the third traffic profile.

11. The computer system of claim 10 , further comprising an indicator logic block to determine whether the computer system is capable of indicating congestion in the packet.

12. The computer system of claim 10 , wherein the assertion logic block is further to:

obtain a first probability value generated by a piece of hardware of the computer system; and

compare the first probability value with a second probability value that is indicated in the third profile and corresponds to the utilization of the queue.

13. The computer system of claim 12 , wherein the second probability value is defined as a linear slope between a probability of indicating the level of congestion in the packet and the utilization of the queue.

14. The computer system of claim 12 , wherein the assertion logic block determines whether to accept the packet at the queue by:

determining whether the utilization of the queue is greater a drop threshold indicated in the third profile; and

determining whether the first probability value is greater than the second probability value.

15. The computer system of claim 14 , wherein the assertion logic block is further to, in response to the first probability value being less than the second probability value and the utilization of the queue being greater than the drop threshold, drop the packet.

16. The computer system of claim 12 , wherein the marking logic block is further to, in response to the packet not being selected for dropping, the utilization of the queue being greater than the congestion threshold, and the first probability value being greater than the second probability value, accept the packet into the queue with a high-level congestion indicator in the packet.

17. The computer system of claim 12 , wherein the marking logic block is to accept the packet into the queue with the low-level congestion indicator by determining whether the utilization of the queue is less than the congestion threshold and whether the first probability value is greater than the second probability value.

18. The computer system of claim 10 , wherein the first profile is a profile of random early detection (RED) or a variation thereof; and wherein the second profile is a profile of Multi-level Explicit Congestion Notification (MECN) or a variation thereof.

19. A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising:

determining, by the computer, a first traffic profile indicating whether to drop a packet based on utilization of a queue, wherein packets from the queue are forwarded via an egress port reachable via a fabric of interconnections;

determining, by the computer, a second traffic profile indicating whether to indicate a level of congestion in the packet based on the utilization of the queue;

determining a third traffic profile by combining the first and second traffic profiles, wherein the third traffic profile indicates acceptance at the queue for a subset of packets being selected for dropping prior to being inserted into the queue based on the utilization of the queue; and

in response to the packet being selected for dropping, determining whether to accept the packet into the queue with a high-level congestion indicator based on the third traffic profile; and

in response to the utilization of the queue being less than a congestion threshold, accepting the packet into the queue with a low-level congestion indicator in the packet based on the third traffic profile.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the method further comprises:

determining whether the utilization of the queue is within a threshold indicated in the third profile; and

determining whether a first probability value is greater than the second probability value, wherein the first probability value is generated by a piece of hardware of the computer, and wherein the second probability value is indicated in the third profile and corresponds to the utilization of the queue.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 6, 2021
From: SEELY, JONATHAN MICHAEL; SCAGLIONE, GIUSEPPE; HERNANDEZ, SERGIO JESUS GUILLEN; GHAMAMI, PAYMON
To: HEWLETT PACKARD ENTERPRISE DEVELOPEMENT LP
Reel/Frame 057716/0357 →
Cited By (1)
US 12,719,809