Data flow monitoring at a network node using periodically incremented counters for comparison to predetermined data flow thresholds
First Claim
1. A method of monitoring data traffic at a node on a network, the node facilitating data transfer on at least one link having at least one class of service, the data being transferred in data packets and each data packet including at least one unit of data, said method comprising:
- for each of at least one selected link and class of service, storing an updatable value in a storing device;
periodically incrementing a counter value in a counter at a rate determined by an allowable data rate associated with the selected link and class of service;
receiving a data packet;
counting a number of units of data in the data packet;
computing an adjusted updatable value by adjusting the updatable value according to the counter value when the data packet was received and the number of units of data in the data packet;
comparing the adjusted updatable value to a predetermined threshold associated with the selected link and class of service; and
marking the data packet with respect to the allowable data rate based on whether the adjusted updatable value exceeds the predetermined threshold.
5 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method for monitoring data flow at a node on a network are disclosed. A memory location or “bucket” is allocated to each of a plurality of links and classes of service at the node. A free-running counter is incremented at a rate determined by the maximum allowable data rates on the various links and classes of service. When a data packet is received at a particular link and class of service, the corresponding memory location or bucket is adjusted or “leaked” by subtracting the present counter value from the present bucket contents. That difference is then added to the number of units of data, i.e., bytes or groups of bytes of data, contained in the incoming packet. That sum is then compared with a predetermined threshold determined by the allowable data rate associated with the link and class of service. If the threshold is exceeded, then the incoming data packet is marked accordingly. The system can include multiple stages of monitoring such that multiple thresholds can be used to assign one of multiple discard eligibility values to the incoming packet.
-
Citations
36 Claims
-
1. A method of monitoring data traffic at a node on a network, the node facilitating data transfer on at least one link having at least one class of service, the data being transferred in data packets and each data packet including at least one unit of data, said method comprising:
-
for each of at least one selected link and class of service, storing an updatable value in a storing device;
periodically incrementing a counter value in a counter at a rate determined by an allowable data rate associated with the selected link and class of service;
receiving a data packet;
counting a number of units of data in the data packet;
computing an adjusted updatable value by adjusting the updatable value according to the counter value when the data packet was received and the number of units of data in the data packet;
comparing the adjusted updatable value to a predetermined threshold associated with the selected link and class of service; and
marking the data packet with respect to the allowable data rate based on whether the adjusted updatable value exceeds the predetermined threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
storing a second updatable value associated with the selected link and class of service in a second storing device;
computing a second adjusted updatable value according to the counter value when the data packet was received and the number of units of data in the data packet;
comparing the second adjusted updatable value to a second predetermined threshold associated with the selected link and class of service; and
marking the data packet with respect to the allowable data rate based on whether the second adjusted updatable value exceeds the second predetermined threshold.
-
-
22. The method of claim 21 further comprising, if the first adjusted updatable value exceeds the first predetermined threshold, updating the first updatable value by adding the number of units of data in the received data packet that do not cause the first predetermined threshold to be exceeded to the first updatable value.
-
23. The method of claim 1 further comprising:
-
if the first adjusted updatable value exceeds the first predetermined threshold, storing a second updatable value associated with the selected link and class of service in a second storing device;
computing a second adjusted updatable value according to the counter value when the data packet was received and the number of units of data in the data packet;
comparing the second adjusted updatable value to a second predetermined threshold associated with the selected link and class of service; and
marking the data packet with respect to the allowable data rate based on whether the second adjusted updatable value exceeds the second predetermined threshold.
-
-
24. The method of claim 1 further comprising receiving a data packet with zero units of data to update the updatable value in the storing device.
-
25. An apparatus for monitoring data traffic at a node on a network, the node facilitating data transfer on at least one link having at least one class of service, the data being transferred in data packets and each data packet including at least one unit of data, said apparatus comprising:
-
a storing device for storing an updatable value for each of at least one selected link and class of service;
a counter for holding a counter value, said counter value being periodically incremented at a rate determined by a maximum allowable data rate associated with the selected link and class of service;
an input unit for receiving a data packet; and
a processor for (i) counting a number of units of data in the data packet, (ii) computing an adjusted updatable value by adjusting the updatable value according to the counter value when the data packet was received and the number of units of data in the data packet, (iii) comparing the adjusted updatable value to a predetermined threshold associated with the selected link and class of service, and (iv) marking the data packet with respect to the allowable data rate based on whether the adjusted updatable value exceeds the predetermined threshold. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
a second storing device for storing a second updatable value associated with the selected link and class of service; and
a second processor for (i) computing a second adjusted updatable value by adjusting the second updatable value according to the counter value when the data packet was received and the number of units of data in the data packet, (ii) comparing the second adjusted updatable value to a second predetermined threshold associated with the selected link and class of service, and (iii) marking the data packet with respect to the allowable data rate based on whether the second adjusted updatable value exceeds the second predetermined threshold.
-
-
36. The apparatus of claim 25 further comprising:
-
a second storing device for storing a second updatable value associated with the selected link and class of service if the first adjusted updatable value exceeds the first predetermined threshold; and
a second processor for (i) computing a second adjusted updatable value by adjusting the second updatable value according to the counter value when the data packet was received and the number of units of data in the data packet, (ii) comparing the second adjusted updatable value to a second predetermined threshold associated with the selected link and class of service, and (iii) marking the data packet with respect to the allowable data rate based on whether the second adjusted updatable value exceeds the second predetermined threshold.
-
Specification