IP Library › Granted Patent US 12,047,295
Granted Patent B2
US 12,047,295 · App. 17/501,372 · Granted Jul 23, 2024

Microburst detection and management

Inventors: Yaron Koral (Cherry Hill, NJ); Simon Tse (Holmdel, NJ); Steven A. Monetti (Mountain Lakes, NJ); Tzuu-Yi Wang (Newtown, PA); Jennifer L. Rexford (Princeton, NJ); Xiaoqi Chen (Princeton, NJ); Shir Landau Feibish (Princeton, NJ)
Assignees: AT&T Intellectual Property I, L.P.; The Trustees of Princeton University
H04L47/11H04L43/062H04L43/16H04L47/125H04L47/2483H04L47/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 12,047,295
App. No.
17/501,372
Granted
Jul 23, 2024
Kind
B2
Abstract

Systems, methods, and apparatuses provide a scalable framework for analyzing queuing and transient congestion in network switches. The system reports which flows contributed to the queue buildup and enables direct per-packet action in the data plane to prevent transient congestion. The system may be configured to analyze queuing in legacy network switches.

Claims (34)

1. A method comprising:

obtaining, by a device comprising a processor, a plurality of packets, wherein the obtaining of the plurality of packets uses a snapshot-based data structure to take snapshots of data comprising the plurality of packets;

detecting, by the device and based on the snapshots, congestion associated with the device, wherein the congestion is a microburst congestion, wherein the microburst congestion comprises a change of three times or more than an average traffic rate, wherein at least one snapshot of the snapshots comprises a packet of the plurality of packets that has already departed the device, and wherein the congestion is detected based on the at least one snapshot;

determining, by the device, that a subset of the plurality of packets associated with a flow are in a congested queue when the congestion occurs, wherein the congested queue comprises the subset of the plurality of packets associated with the flow as well as one or more packets associated with one or more other flows; and

based on a quantity of the subset of the plurality of packets reaching a threshold percentage relative to all packets in the congested queue when the congestion occurs, indicating, by the device, an identifiable flow that is a culprit flow, wherein the identifiable flow comprises the subset of the plurality of packets.

2. The method of claim 1 , further comprising re-routing the packets of the identifiable flow to another route.

3. The method of claim 1 , further comprising adjusting a quality of service of the device associated with packets of the identifiable flow.

4. The method of claim 1 , further comprising dropping packets associated with the identifiable flow.

5. The method of claim 1 , further comprising load balancing packets of the identifiable flow.

6. The method of claim 1 , further comprising delaying packets of the identifiable flow.

7. The method of claim 1 , wherein the device is a switch.

8. A system comprising:

one or more processors; and

memory coupled with the one or more processors, the memory storing executable instructions that when executed by the one or more processors cause the one or more processors to effectuate operations comprising:

obtaining a plurality of packets, wherein the obtaining of the plurality of packets uses a snapshot-based data structure to take snapshots of data comprising the plurality of packets;

detecting, based on the snapshots, congestion associated with a switch, wherein the congestion is a microburst congestion, wherein the microburst congestion comprises a change of three times or more than an average traffic rate, wherein at least one snapshot of the snapshots comprises a packet of the plurality of packets that has already departed the switch, and wherein the congestion is detected based on the at least one snapshot;

determining that a subset of the plurality of packets associated with a flow are in a congested queue when the congestion occurs, wherein the congested queue comprises the subset of the plurality of packets associated with the flow as well as one or more packets associated with one or more other flows; and

based on a quantity of the subset of the plurality of packets reaching a threshold percentage relative to all packets in the congested queue when the congestion occurs, indicating an identifiable flow that is a culprit flow, wherein the identifiable flow comprises the subset of the plurality of packets.

9. The system of claim 8 , the operations further comprising adjusting a quality of service of the switch associated with packets of the identifiable flow.

10. The system of claim 8 , the operations further comprising dropping packets associated with the identifiable flow.

11. The system of claim 8 , the operations further comprising load balancing packets of the identifiable flow.

12. The system of claim 8 , the operations further comprising delaying packets of the identifiable flow.

13. The system of claim 8 , the operations further comprising controlling one or more actions associated with the culprit flow.

14. A non-transitory computer-readable storage medium storing computer executable instructions that when executed by a computing device cause said computing device to effectuate operations comprising:

obtaining a plurality of packets, wherein the obtaining of the plurality of packets uses a snapshot-based data structure to take snapshots of data comprising the plurality of packets;

detecting, based on the snapshots, congestion associated with a device, wherein the congestion is a microburst congestion, wherein the microburst congestion comprises a change of three times or more than an average traffic rate, wherein at least one snapshot of the snapshots comprises at least two packets of the plurality of packets that have already departed the device, and wherein the congestion is detected based on the at least one snapshot;

determining that a subset of the plurality of packets associated with a flow are in a congested queue when the congestion occurs, wherein the congested queue comprises the subset of the plurality of packets associated with the flow as well as one or more packets associated with one or more other flows; and

based on a quantity of the subset of the plurality of packets reaching a threshold percentage relative to all packets in the congested queue when the congestion occurs, indicating an identifiable flow that is a culprit flow, wherein the identifiable flow comprises the subset of the plurality of packets.

15. The non-transitory computer-readable storage medium of claim 14 , the operations further comprising adjusting a quality of service associated with packets of the identifiable flow.

16. The non-transitory computer-readable storage medium of claim 14 , the operations further comprising dropping packets associated with the identifiable flow.

17. The non-transitory computer-readable storage medium of claim 14 , the operations further comprising delaying packets of the identifiable flow.

18. The non-transitory computer-readable storage medium of claim 14 , the operations further comprising re-routing the packets of the identifiable flow to another route.

19. The non-transitory computer-readable storage medium of claim 14 , the operations further comprising load balancing packets of the identifiable flow.

20. The non-transitory computer-readable storage medium of claim 14 , the operations further comprising controlling one or more actions associated with the culprit flow.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE THIRD INVENTOR'S NAME PREVIOUSLY RECORDED AT REEL: 057796 FRAME: 0332. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Oct 19, 2021
From: REXFORD, JENNIFER L.; CHEN, XIAOQI; LANDAU-FEIBISH, SHIR
To: THE TRUSTEES OF PRINCETON UNIVERSITY
Reel/Frame 057857/0071 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2021
From: KORAL, YARON; TSE, SIMON; MONETTI, STEVEN A.; WANG, TZUU-YI
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 057795/0603 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2021
From: REXFORD, JENNIFER L.; CHEN, XIAOQI; FEIBISH, SHIR LANDAU
To: THE TRUSTEES OF PRINCETON UNIVERSITY
Reel/Frame 057796/0332 →
Continuity (2)
Continuation 16380287 · Apr 10, 2019
Related Publication 20220038374A1 · Feb 3, 2022