IP Library Granted Patent US 12,081,444
Granted Patent B2
US 12,081,444 · App. 18/141,285 · Granted Sep 3, 2024

Automatic flow management

Inventors: William Brad Matthews (Los Gatos, CA); Rupa Budhia (San Jose, CA); Puneet Agarwal (Santa Clara, CA)
Assignee: Innovium, Inc.
H04L47/2441H04L43/0882H04L47/11
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,081,444
App. No.
18/141,285
Granted
Sep 3, 2024
Kind
B2
Abstract

Packet-switching operations in a network device are managed based on the detection of excessive-rate traffic flows. A network device receives a data unit, determines the traffic flow to which the data unit belongs, and updates flow tracking information for that flow. The network device utilizes the tracking information to determine when a rate at which the network device is receiving data belonging to the flow exceeds an excessive-rate threshold and is thus an excessive-rate flow. The network device may enable one or more excessive-rate policies on an excessive-rate traffic flow. Such a policy may include any number of features that affect how the device handles data units belonging to the flow, such as excessive-rate notification, differentiated discard, differentiated congestion notification, and reprioritization. Memory and other resource optimizations for such flow tracking and management are also described.

Claims (49)

1. A network switching apparatus comprising:

a plurality of communication interfaces configured to receive and send data units;

ingress packet processing logic configured to identify flows to which received data units belong;

flow tracker logic configured to:

determine for each flow of the plurality of the flows, a rate at which data units for the flow are being received; and

set an excessive rate indicator for each flow of the plurality of flows that is being received at a rate that exceeds a particular threshold;

an excessive rate policy resolver, configured to cause dropping of data units that belong to a particular flow, for which the excessive rate indicator is set, at a higher rate than one or more flows that do not have the excessive rate indicator set.

2. The network switching apparatus of claim 1 , wherein the flow tracker logic is configured to track the rate at which data is being received for each flow of the plurality of flows by incrementing a rate counter assigned to the flow whenever a data unit belonging to the flow is received, and periodically decrementing the rate counter.

3. The network switching apparatus of claim 1 , wherein the flow tracker logic is configured to track an activity status of each flow of the plurality of flows by updating an idle timeout value assigned to the flow whenever a data unit belonging to the flow is received.

4. The network switching apparatus of claim 1 , wherein the flow tracker logic is further configured to ignore flows to track that have an indication of one or both of: an inactive activity status or a low rate at which data units are being received.

5. The network switching apparatus of claim 1 , wherein the excessive rate policy resolver is further configured to tag data units belonging to the particular flow with an excessive-rate or congestion indicator.

6. The network switching apparatus of claim 1 , wherein the excessive rate policy resolver causes a packet-switching logic to clone one or more of the data units belonging to the particular flow and forward the cloned one or more of the data units to a collector.

7. The network switching apparatus of claim 1 , wherein the excessive rate policy resolver is further configured to adjust a Weighted Random Early Detection (“WRED”) curve that is applied to the particular flow and is used to determine a probability for discarding data units on enqueue.

8. The network switching apparatus of claim 1 , wherein the flow tracker logic is further configured to set the excessive rate indicator for a given flow by tagging each data unit that belongs to the given flow with the excessive rate indicator.

9. The network switching apparatus of claim 1 , wherein the excessive rate policy resolver causes a packet-switching logic to send the data units belonging to the particular flow to a different egress queue than when the particular flow is not tagged as being an excessive rate flow.

10. A method comprising:

receiving data units via a plurality of communication interfaces at a network switching apparatus;

identifying flows to which the data units belong;

for each flow of the plurality of the flows:

determining for each flow of the plurality of the flows, a rate at which data units for the flow are being received; and

setting an excessive rate indicator for each flow of the plurality of flows that is being received at a rate that exceeds a particular threshold;

cause dropping of data units that belong to a particular flow, for which the excessive rate indicator is set, at a higher rate than one or more flows that do not have the excessive rate indicator set.

11. The method of claim 10 , further comprising:

tracking the rate at which data is being received for each flow of the plurality of flows by incrementing a rate counter assigned to the flow whenever a data unit belonging to the flow is received, and periodically decrementing the rate counter.

12. The method of claim 10 , further comprising:

tracking an activity status of each flow of the plurality of flows by updating an idle timeout value assigned to the flow whenever a data unit belonging to the flow is received.

13. The method of claim 10 , further comprising:

ignoring flows to track that have an indication of one or both of: an inactive activity status or a low rate at which data units are being received.

14. The method of claim 10 , further comprising:

tagging data units belonging to the particular flow with an excessive-rate or congestion indicator.

15. The method of claim 10 , further comprising:

cloning one or more of the data units belonging to the particular flow; and

forwarding the cloned one or more of the data units to a collector.

16. The method of claim 10 , further comprising:

adjusting a Weighted Random Early Detection (“WRED”) curve that is applied to the particular flow and is used to determine a probability for discarding data units on enqueue.

17. The method of claim 10 , further comprising:

setting the excessive rate indicator for a given flow by tagging each data unit that belongs to the given flow with the excessive rate indicator.

18. The method of claim 10 , further comprising:

sending the data units belonging to the particular flow to a different egress queue than when the particular flow is not tagged as being an excessive rate flow.

19. One or more non-transitory computer-readable media storing instructions that, when executed by one or more computing devices, cause:

receiving data units via a plurality of communication interfaces at a network switching apparatus;

identifying flows to which the data units belong;

for each flow of the plurality of the flows:

determining for each flow of the plurality of the flows, a rate at which data units for the flow are being received; and

setting an excessive rate indicator for each flow of the plurality of flows that is being received at a rate that exceeds a particular threshold;

cause dropping of data units that belong to a particular flow, for which the excessive rate indicator is set, at a higher rate than one or more flows that do not have the excessive rate indicator set.

20. The one or more non-transitory computer readable media of claim 19 , wherein the instructions that, when executed by the one or more computing devices, further cause:

cloning one or more of the data units belonging to the particular flow; and

forwarding the cloned one or more of the data units to a collector.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2023
From: MATTHEWS, WILLIAM BRAD; BUDHIA, RUPA; AGARWAL, PUNEET
To: INNOVIUM, INC.
Reel/Frame 063654/0736 →
Continuity (3)
Continuation 17580562 · Jan 20, 2022
Continuation 16927683 · Jul 13, 2020
Related Publication 20230269192A1 · Aug 24, 2023