IP Library › Granted Patent US 9,800,485
Granted Patent B2
US 9,800,485 · App. 13/953,692 · Granted Oct 24, 2017

System and method for determining an effect of network congestion

Inventors: Hugh W. Holbrook (Santa Clara, CA); Kenneth James Duda (Menlo Park, CA); Douglas Gourlay (Menlo Park, CA); Anshul Sadana (Santa Clara, CA)
Assignee: Arista Networks, Inc.
H04L43/0882H04L47/30H04L43/16H04L47/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 9,800,485
App. No.
13/953,692
Granted
Oct 24, 2017
Kind
B2
Abstract

A method and apparatus of a device that determines a cause and effect of congestion in this device is described. The device determines an effect of congestion in the device. The device measures a queue group occupancy of a queue group for a port in the device, where the queue group stores a plurality of packets to be communicated through that port. The device further determines if congestion exists on that queue group using the measurement, where the congestion prevents a packet of the plurality of packets from being communicated within a time period. If the congestion exists on that queue group, the device additionally gathers information regarding packets to be transmitted through that port. For example, the device can gather statistics packets that are stored in the queue group and/or new enqueue packets.

Claims (50)

1. A non-transitory machine-readable medium having executable instructions to cause one or more processing units to perform a method to determine an effect of congestion in a network element, the method comprising:

configured a queue group with a sample new enqueue threshold and a drop packet threshold, wherein the sample new enqueue threshold is a threshold when new enqueue packets are sampled for characteristics of a subset of the new enqueue packets to be enqueued to that queue group, the drop packet threshold is a threshold when packets are dropped, and the sample new enqueue threshold is less than the drop packet threshold;

measuring a queue group occupancy of a queue group for a port in the network element, wherein the queue group stores a plurality of packets to be communicated through that port;

determining if congestion exists on that queue group using the measurement by determining if the queue group occupancy is greater than the sample new enqueue threshold, wherein the congestion prevents a packet of the plurality of packets from being communicated within a time period; and

if the congestion exists on that queue group, gathering information regarding packets to be transmitted through that port to one of the packets being dropped from the queue group, wherein the gathering information includes the sampling characteristics of the subset of the new enqueue packets for that queue group.

2. The non-transitory machine-readable medium of claim 1 , wherein the congestion exists if the queue group is fully occupied.

3. The non-transitory machine-readable medium of claim 1 , wherein the queue group is selected from the group consisting of a single queue, multiple queues, a class of queues, and multiple classes of queues.

4. The non-transitory machine-readable medium of claim 1 , wherein the gathering information comprises:

transmitting new enqueue packets out another port.

5. The non-transitory machine-readable medium of claim 4 , wherein the gathering information comprises:

sending a subset of the new enqueue packets to the control plane, wherein the subset of the new enqueue packets is stored for subsequent congestion effect analysis.

6. The non-transitory machine-readable medium of claim 4 , wherein the gathering information further comprises:

transmitting the plurality of packets stored in the queue group out the another port.

7. The non-transitory machine-readable medium of claim 1 , further comprising:

dropping the plurality of packets.

8. The non-transitory machine-readable medium of claim 1 , wherein the gathering information comprises:

gathering statistics about the plurality of packets.

9. The non-transitory machine-readable medium of claim 8 , wherein the gathering statistics comprises:

determining characteristics of the plurality of packets, wherein each characteristic is selected from the group consisting of a source address, a destination address, and a payload characteristic.

10. The non-transitory machine-readable medium of claim 1 , wherein the gathering information comprises:

gathering statistics about the new enqueue packets.

11. The non-transitory machine-readable medium of claim 1 , further comprising:

if the congestion does not exist on that queue group,

determining if an action is being performed for a previous congestion determination on that queue group, and

if the action is being performed, canceling the action.

12. A method to determine an effect of congestion in a network element, the method comprising:

configuring a queue group with a sample new enqueue threshold and a drop packet threshold, wherein the sample new enqueue threshold is a threshold when new enqueue packets are sampled for characteristics of a subset of the new enqueue packets to be enqueued to that queue group, the drop packet threshold is a threshold when packets are dropped, and sample new enqueue threshold is less than the drop packet threshold;

measuring a queue group occupancy of the queue group for a port in the network element, wherein the queue group stores a plurality of packets to be communicated through that port;

determining if congestion exists on that port using the measurement by determining if the queue group occupancy is greater than the sample new enqueue threshold, wherein the congestion prevents a packet of the plurality of packets from being communicated within a time period; and

if the congestion exists on that port, gathering information regarding packets to be transmitted through that port prior to one of the packets being dropped from the queue group, wherein the gathering information includes the sampling characteristics of the subset of the new enqueue packets for that queue group.

13. The method of claim 12 , wherein the gathering information comprises:

transmitting the new enqueue packets out another port.

14. The method of claim 13 , wherein the gathering information comprises:

sending a subset of the new enqueue packets to the control plane, wherein the subset of the new enqueue packets is stored for later congestion effect analysis.

15. The method of claim 13 , wherein the forwarding other packets further comprises:

forwarding the plurality of packets stored in the queue group out the another port.

16. A system that communicates network data between a network and a network element, the system comprising:

a network; and

the network element, coupled to the network, wherein the network element determines an effect of congestion in a network element, the network element including,

a port, coupled to the network, wherein the port communicates a plurality of packets between the network and the network element,

a queue group, coupled to the port, wherein the queue group stores the plurality of packets and the queue group is configured with a sample new enqueue threshold and a drop packet threshold, wherein the sample new enqueue threshold is a threshold when new enqueue packets are sampled for characteristics of a subset of the new enqueue packets to be enqueued to that queue group, the drop packet threshold is a threshold when packets are dropped, and the sample new enqueue threshold is less than the drop packet threshold;

a network congestion module, coupled to the queue group, wherein the network congestion module measures a queue group occupancy of the queue group, determines if congestion exists on that queue group using the measurement by determining if the queue group occupancy is greater than the sample new enqueue threshold, wherein the congestion prevents a packet of the plurality of packets from being communicated within a time period, and if the congestion exists on that port, gathers information regarding packets to be transmitted through that port prior to one of the packets being dropped from the queue group, wherein the gathering information includes the sampling characteristics of the subset of the new enqueue packets for that queue group.

17. The system of claim 16 , wherein the congestion exists if the queue group is fully occupied.

18. The system of claim 16 , wherein the queue group is a transmit queue group of the port.

19. The system of claim 16 , wherein the network congestion module further transmits the new enqueue packets out another port.

20. A network element to determine an effect of congestion in a network element, the network element comprising:

a port to be coupled to a network, the port to communicate a plurality of packets between the network and the network element; and

a data plane to be coupled to the port, the data plane including,

a queue group, coupled to the port, the queue group to store the plurality of packets and the queue group is configured with a sample new enqueue threshold and a drop packet threshold, wherein the sample new enqueue threshold is a threshold when new enqueue packets are sampled for characteristics of a subset of the new enqueue packets to be enqueued to that queue group, the drop packet threshold is a threshold when packets are dropped, and the sample new enqueue threshold is less than the drop packet threshold, and a

network congestion module, the network congestion module to measure a queue group occupancy of the queue group, determine if congestion exists on that queue group using the measurement by determining if the queue group occupancy is greater that the sample new enqueue threshold, wherein the congestion prevents a packet of the plurality of packets from being communicated within a time period, and if the congestion exists on that queue group, to further gather information regarding packets to be transmitted through that port prior to one of the packets being dropped from the queue group, wherein the gathering information includes the sampling characteristics of the subset of the new enqueue packets for that queue group.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2013
From: HOLBROOK, HUGH W.; DUDA, KENNETH JAMES; GOURLAY, DOUGLAS; SADANA, ANSHUL
To: ARISTA NETWORKS, INC.
Reel/Frame 030909/0248 →
Continuity (2)
Provisional Application 61784657 · Mar 14, 2013
Related Publication 20140269379A1 · Sep 18, 2014