System and method for hierarchical policing of flows and subflows of a data stream
First Claim
1. A method for policing communications packets, comprising:
- classifying the data stream into at least one traffic flow;
classifying at least one of the traffic flows into a plurality of first level subflows;
measuring a rate of each of the first level subflows associated with the traffic flow when the traffic flow reaches a predetermined bandwidth threshold; and
marking the packets associated with each of the first level subflows with one of a plurality of conformance indicators based on the measured rate of the respective first level subflow.
8 Assignments
0 Petitions
Accused Products
Abstract
A system and method for policing individual flows and subflows of a data stream. Data traffic streams are classified into separate traffic flows, which in turn can be further classified into subflows, thereby providing for different priority levels of subsets of the flow. The subflows may be still further classified into additional subflows, creating a hierarchical, layered prioritization that can be metered at each vertical and horizontal level of the hierarchy. A packet flow rate of each of the subflows is compared to a predefined rate limit to allow subflows of a flow to have different priorities therebetween.
237 Citations
60 Claims
-
1. A method for policing communications packets, comprising:
-
classifying the data stream into at least one traffic flow;
classifying at least one of the traffic flows into a plurality of first level subflows;
measuring a rate of each of the first level subflows associated with the traffic flow when the traffic flow reaches a predetermined bandwidth threshold; and
marking the packets associated with each of the first level subflows with one of a plurality of conformance indicators based on the measured rate of the respective first level subflow. - 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, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A method for providing layered policing of packets of a data stream, comprising:
-
parsing the data stream into a plurality of flows;
for any of the flows, identifying at least one characteristic common to a first subset of the flow;
associating a first drop probability with each of the packets of the first subset having the common characteristic, and associating a second drop probability to at least one other subset of the flow, thereby providing different drop probabilities for different subsets of the flow. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 53, 54, 55)
-
-
49. A packet policing system for providing layered policing of packets of a data stream, comprising:
-
A) a classifier to receive and parse the data stream into a plurality of traffic flows, and to parse at least one of the traffic flows into a plurality of subflows; and
B) a policing engine coupled to the classifier to receive each of the subflows, and to individually meter each of the subflows associated with each traffic flow in accordance with predefined subflow priorities assigned to each of the subflows.
-
-
56. A packet policing system for providing layered policing of packets of a data stream, comprising:
-
means for classifying the data stream into at least one traffic flow;
means for classifying at least one of the traffic flows into a plurality of first level subflows;
means for measuring the packet rate of each of the first level subflows associated with the traffic flow when the traffic flow reaches a predetermined bandwidth threshold; and
means for marking the packets associated with each of the first level subflows with one of a plurality of conformance indicators based on the measured packet rate of the respective first level subflow.
-
-
57. A packet policing apparatus for providing layered policing of packets of a data stream, comprising:
-
means for parsing the data stream into a plurality of flows;
for any of the flows, means for identifying at least one characteristic common to a first subset of the flow;
means for associating a first drop probability with each of the packets of the first subset having the common characteristic, and means for associating a second drop probability to at least one other subset of the flow, thereby providing different drop probabilities for different subsets of the flow.
-
-
58. A computer-readable medium having computer-executable instructions for policing communications packets, the computer-executable instructions performing steps comprising:
-
classifying the data stream into at least one traffic flow;
classifying at least one of the traffic flows into a plurality of first level subflows;
measuring a rate of each of the first level subflows associated with the traffic flow when the traffic flow reaches a predetermined bandwidth threshold; and
marking the packets associated with each of the first level subflows with one of a plurality of conformance indicators based on the measured rate of the respective first level subflow.
-
-
59. A method for providing layered policing of packets of a data stream, comprising:
-
parsing the data stream into one or more flows;
parsing at least one of the flows into a high-priority subflow and at least one standard subflow;
enabling the high-priority and standard subflows to be monitored for bandwidth conformance when the flow reaches a predetermined bandwidth threshold;
marking the high-priority subflow as conforming while allowing the standard subflows to be marked as non-conforming if the flow becomes non-conforming;
where the flow has become non-conforming, adjusting the bandwidth of the standard subflows to bring the flow into conformance.
-
-
60. A method for maximizing exploitation of a contracted bandwidth for a flow, comprising:
-
parsing the flow into a high-priority subflow and at least one standard subflow;
assigning rate limits to the high-priority subflow and the at least one standard subflow;
monitoring packet conformance on a subflow level when the flow decreases to a predetermined bandwidth capacity;
providing guaranteed bandwidth to the high-priority subflow while providing best effort bandwidth to the at least one standard subflow, regardless of whether the flow has exceeded its contracted bandwidth;
if the flow has exceeded its contracted bandwidth, adjusting the bandwidth of the at least one standard subflow to bring the flow into conformance, while maintaining the guaranteed bandwidth to the high-priority subflow.
-
Specification