IP Library Granted Patent US 10,862,813
Granted Patent B2
US 10,862,813 · App. 16/172,521 · Granted Dec 8, 2020

Microburst visibility system

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,862,813
App. No.
16/172,521
Granted
Dec 8, 2020
Kind
B2
Abstract

A microburst visibility system includes a switch device coupled to each sender device(s) and receiver device(s). The switch device receives flows transmitted by the sender device(s) to the receiver device(s). For each flow that include data packets that are stored in a first queue, the switch device provides a first queue identifier for the first queue in a flow record associated with that flow and modifies, for each data packet that is transmitted as part of that flow, flow information in data packet counter(s) that are associated with the first queue identifier in the flow record associated with that flow. When the switch device detects a microburst in the first queue, it captures the flow information in each data packet counter that is associated with the first queue identifier in each of the flow records included in the switch device, and provides it for analysis.

Claims (74)

1. A microburst visibility system, comprising:

at least one sender device;

at least one receiver device; and

a switch device coupled to each of the at least one sender device and the at least one receiver device, wherein the switch device is configured to:

receive a plurality of flows transmitted by the at least one sender device to the at least one receiver device and, for each of the plurality of flows that include data packets that are stored in a first queue:

provide a first queue identifier for the first queue in a flow record associated with that flow; and

modify, for each data packet that is transmitted as part of that flow, flow information in at least one data packet counter that is associated with the first queue identifier in the flow record associated with that flow;

detect a microburst associated with the first queue;

capture, using the first queue identifier for the first queue that is associated with the microburst, the flow information in each data packet counter that is associated with the first queue identifier in each of the flow records included in the switch device; and

provide the flow information that was captured for analysis.

2. The system of claim 1 , wherein the at least one data packet counter includes a data packet number counter and a data packet byte counter.

3. The system of claim 2 , wherein the modifying the flow information in at least one data packet counter includes:

incrementing the data packet number counter each time a data packet enters the first queue, and decrementing the data packet number counter each time a data packet exits the first queue, and

increasing the data packet byte counter with a number of bytes in a data packet each time that data packet enters the first queue, and decrementing the data packet byte counter with a number of bytes in a data packet each time that data packet exits the first queue.

4. The system of claim 1 , wherein the at least one data packet counter includes a queue ingress packet number counter, a queue egress packet number counter, a queue ingress packet byte counter, and a queue egress packet byte counter.

5. The system of claim 4 , wherein the modifying the flow information in at least one data packet counter includes:

incrementing the queue ingress packet number counter each time a data packet enters the first queue, and incrementing the queue egress packet number counter each time a data packet exits the first queue, and

increasing the queue ingress packet byte counter with a number of bytes in a data packet each time that data packet enters the first queue, and increasing the queue egress packet byte counter with a number of bytes in a data packet each time that data packet exits the first queue.

6. The system of claim 5 , wherein the capturing the flow information includes:

capturing a difference between the queue ingress packet number counter and the queue egress packet number counter; and

capturing a difference between the queue ingress packet byte counter and the queue egress packet byte counter.

7. An Information Handling System (IHS), comprising:

a storage system including a flow database;

a processing system that is coupled to the storage system; and

a memory system that is coupled to the processing system and that includes instructions that, when executed by the processing system, cause the processing system to provide a flow engine that is configured to:

receive a plurality of flows transmitted by at least one sender device to at least one receiver device and, for each of the plurality of flows that include data packets that are stored in a first queue:

provide a first queue identifier for the first queue in a flow record associated with that flow in the flow database; and

modify, for each data packet that is transmitted as part of that flow, first queue flow information in at least one data packet counter that is associated with the first queue identifier in the flow record associated with that flow in the flow database;

detect a microburst associated with the first queue;

capture, using the first queue identifier for the first queue that is associated with the microburst, the first queue flow information in each data packet counter that is associated with the first queue identifier in each of the flow records included in the flow database; and

provide the first queue flow information that was captured for analysis.

8. The IHS of claim 7 , wherein the at least one data packet counter includes a data packet number counter and a data packet byte counter.

9. The IHS of claim 8 , wherein the modifying the first queue flow information in at least one data packet counter includes:

incrementing the data packet number counter each time a data packet enters the first queue, and decrementing the data packet number counter each time a data packet exits the first queue, and

increasing the data packet byte counter with a number of bytes in a data packet each time that data packet enters the first queue, and decrementing the data packet byte counter with a number of bytes in a data packet each time that data packet exits the first queue.

10. The IHS of claim 7 , wherein the at least one data packet counter includes a queue ingress packet number counter, a queue egress packet number counter, a queue ingress packet byte counter, and a queue egress packet byte counter.

11. The IHS of claim 10 , wherein the modifying the first queue flow information in at least one data packet counter includes:

incrementing the queue ingress packet number counter each time a data packet enters the first queue, and incrementing the queue egress packet number counter each time a data packet exits the first queue, and

increasing the queue ingress packet byte counter with a number of bytes in a data packet each time that data packet enters the first queue, and increasing the queue egress packet byte counter with a number of bytes in a data packet each time that data packet exits the first queue.

12. The IHS of claim 11 , wherein the capturing the first queue flow information includes:

capturing a difference between the queue ingress packet number counter and the queue egress packet number counter; and

capturing a difference between the queue ingress packet byte counter and the queue egress packet byte counter.

13. The IHS of claim 7 , wherein the flow engine is configured to:

receive the plurality of flows transmitted by the at least one sender device to the at least one receiver device and, for each of the plurality of flows that include data packets that are stored in a second queue:

provide a second queue identifier for the second queue in a flow record associated with that flow in the flow database; and

modify, for each data packet that is transmitted as part of that flow, second queue flow information in at least one data packet counter that is associated with the second queue identifier in the flow record associated with that flow in the flow database;

detect a microburst associated with the second queue;

capture the second queue flow information in each data packet counter that is associated with the second queue identifier in each of the flow records included in the flow database; and

provide the second queue flow information that was captured for analysis.

14. A method for providing microburst visibility, comprising:

receiving, by a networking device, a plurality of flows transmitted by at least one sender device to at least one receiver device and, for each of the plurality of flows that include data packets that are stored in a first queue:

providing a first queue identifier for the first queue in a flow record associated with that flow in the flow database; and

modifying, for each data packet that is transmitted as part of that flow, first queue flow information in at least one data packet counter that is associated with the first queue identifier in the flow record associated with that flow in the flow database;

detecting, by the networking device, a microburst associated with the first queue;

capturing, by the networking device using the first queue identifier for the first queue that is associated with the microburst, the first queue flow information in each data packet counter that is associated with the first queue identifier in each of the flow records included in the flow database; and

providing, by the networking device, the first queue flow information that was captured for analysis.

15. The method of claim 14 , wherein the at least one data packet counter includes a data packet number counter and a data packet byte counter.

16. The method of claim 15 , wherein the modifying the first queue flow information in at least one data packet counter includes:

incrementing the data packet number counter each time a data packet enters the first queue, and decrementing the data packet number counter each time a data packet exits the first queue, and

increasing the data packet byte counter with a number of bytes in a data packet each time that data packet enters the first queue, and decrementing the data packet byte counter with a number of bytes in a data packet each time that data packet exits the first queue.

17. The method of claim 14 , wherein the at least one data packet counter includes a queue ingress packet number counter, a queue egress packet number counter, a queue ingress packet byte counter, and a queue egress packet byte counter.

18. The method of claim 17 , wherein the modifying the first queue flow information in at least one data packet counter includes:

incrementing the queue ingress packet number counter each time a data packet enters the first queue, and incrementing the queue egress packet number counter each time a data packet exits the first queue, and

increasing the queue ingress packet byte counter with a number of bytes in a data packet each time that data packet enters the first queue, and increasing the queue egress packet byte counter with a number of bytes in a data packet each time that data packet exits the first queue.

19. The method of claim 18 , wherein the capturing the first queue flow information includes:

capturing a difference between the queue ingress packet number counter and the queue egress packet number counter; and

capturing a difference between the queue ingress packet byte counter and the queue egress packet byte counter.

20. The method of claim 14 , further comprising:

receiving, by the networking device, the plurality of flows transmitted by the at least one sender device to the at least one receiver device and, for each of the plurality of flows that include data packets that are stored in a second queue:

providing a second queue identifier for the second queue in a flow record associated with that flow in the flow database; and

modifying, for each data packet that is transmitted as part of that flow, second queue flow information in at least one data packet counter that is associated with the second queue identifier in the flow record associated with that flow in the flow database;

detecting, by the networking device, a microburst associated with the second queue;

capturing, by the networking device, the second queue flow information in each data packet counter that is associated with the second queue identifier in each of the flow records included in the flow database; and

providing, by the networking device, the second queue flow information that was captured for analysis.

Assignments (6)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2019
From: GHANWANI, ANOOP; JAYAKUMAR, RAJA SATHIANARAYAN
To: DELL PRODUCTS L.P.
Reel/Frame 048407/0510 →