System and method for hierarchical policing of flows and subflows of a data stream
First Claim
Patent Images
1. A method for policing communications packets, comprising:
- classifying the data stream into at least one traffic flow using information other than a Peak Information Rate (PIR) or a Committed Information Rate (CIR) to distinguish traffic flows;
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 subflows.
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.
171 Citations
49 Claims
-
1. A method for policing communications packets, comprising:
-
classifying the data stream into at least one traffic flow using information other than a Peak Information Rate (PIR) or a Committed Information Rate (CIR) to distinguish traffic flows;
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 subflows. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for policing communications packets, comprising:
-
classifying a data stream into at least one traffic flow;
classifying at least one of the traffic flows into a plurality of first subflows, classifying at least one of the first level subflows into a plurality of second level subflows, measuring a rate of each of the first level subflows and second 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 and the second level subflows with one of a plurality of conformance indicators based on the measured rate of the respective first level subflows and second level subflows.
-
-
17. The method for policing communications packets, comprising:
-
classifying a data stream into at least one traffic flow;
classifying at least one of the traffic flows into a plurality of first level subflows, classifying at least one of the first level subflows into further levels of subflows to an nth level of subflows;
measuring a rate of the first level subflows and nth 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 and the nth level subflows with one of a plurality of conformance indicators based on the measured rate of the respective first level subflows and the nth level subflows.
-
-
18. A method for policing communications packets, comprising:
-
classifying a data stream into at least one traffic flow;
classifying at least one of the traffic flows into a plurality of first level subflows, classifying at least one of the first level subflows into further levels of subflows to an nth level of subflows;
measuring a rate of each of the first level subflows and nth level subflows associated with the traffic flow when the traffic flow reaches a predetermined bandwidth threshold;
marking the packets associated with each of the first level subflows and the nth level subflows with one of a plurality of conformance indicators based on the measured rate of the respective first level subflows and the nth level subflows;
assigning a rate limit to each of the nth level subflows; and
comparing each nth level subflow to its corresponding rate limit.
-
-
19. A method for policing communications packets comprising:
-
classifying a data stream into at least one traffic flow;
classifying at least one of the traffic flows into a plurality of first level subflows, classifying at least one of the first level subflows into further levels of subflows to an nth level of subflows;
measuring a rate of each of the first level subflows and nth 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 and the nth level subflows with one of a plurality of conformance indicators based on whether the measured rate of the respective first level subflows and the nth level subflows exceed their respective rate limit.
-
-
20. A method for policing communications packets, comprising:
-
classifying a data stream into at least one traffic flow;
classifying at least one of the traffic flows into a plurality of first level subflows;
classifying at least one of the first level subflows into further levels of subflows to an nth level of 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;
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 subflows;
measuring a rate of each of the nth level subflows associated with its parent subflow; and
marking the packets associated with each of the nth level subflows with one of a plurality of conformance indicators based on the measured rate of the respective nth level subflow.
-
-
21. A method for policing communications packets comprising:
-
classifying a 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;
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 subflows; and
assigning a priority level to each of the first level subflows, wherein at least two of the priority levels are different so that at least one of the first level subflows has priority over another of the first level subflows.
-
-
22. A method for policing communications packets comprising:
-
classifying a 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;
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 subflows; and
assigning a priority level to each of the first level subflows, wherein at least two of the priority levels are different so that at least one of the first level subflows has priority over another of the first level subflows wherein the priority levels are effected by associating a rate limit with each of the subflows, and wherein marking the packets based on the measured rate comprises marking the packets based on whether the rate limit is exceeded for the corresponding subflow.
-
-
23. A method for policing communications packets, comprising;
-
classifying a data stream into at least one traffic flow;
classifying at least one of the traffic flows into a plurality of first level subflows based on layer-4 protocol layer information;
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 subflows wherein classifying at least one of the traffic flows into a plurality of first level subflows comprises classifying the traffic flow based on protocol layer information.
-
-
24. A method for policing communications packets, comprising:
-
classifying a data stream into at least one traffic flow;
classifying at least one of the traffic flows into a plurality of first level subflows based on layer-4 protocol layer information, and based on at least a port number;
measuring a rate of each of the first level subflow 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 subflows wherein classifying at least one of the traffic flows into a plurality of first level subflows comprises classifying the traffic flow based on protocol layer information.
-
-
25. A method for policing communications packets, comprising:
-
classifying a data stream into at least one traffic flow;
classifying the at least one of the traffic flows into a plurality of first level subflows;
wherein classifying the data stream and classifying the at least one of the traffic flows into a plurality of first level subflows comprises classifying the data stream and traffic flows based on any predetermined one or more fields in any embedded header of each packet;
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 subflows.
-
-
26. A method for policing communication packets comprising:
-
classifying a 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;
assigning a rate limit to each of the first level subflows; and
marking the packets associated with each of the first level subflow with one of a plurality of conformance indicators based on the measured rate of the respective first level subflows wherein marking the packets comprises marking the packets associated with a subflow as conforming where the rate of the subflow exceeds its respective rate limit but remains within the predetermined bandwidth threshold of the traffic flow.
-
-
27. A method for policing communications packets comprising:
-
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;
assigning a rate limit to each of the first level subflows; 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 subflows wherein marking the packets comprises;
marking the packets associated with a subflow as conforming where the rate of the sub flow exceeds its respective rate limit but remains within the predetermined bandwidth threshold of the traffic flow; and
marking the packets associated with the subflow as non-conforming where the rate of the subflow exceeds both its respective rate limit and the predetermined bandwidth threshold of the traffic flow.
-
-
28. 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;
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 subflows; and
allocating substantially all of the available bandwidth of the traffic flow to one of the subflows where the traffic flow has reached the predetermined bandwidth threshold and the other subflow are not utilizing bandwidth.
-
-
29. 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;
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 subflows wherein marking the packets further comprises;
marking the packets associated with the one subflow as conforming where the rate of the subflow exceeds its respective rate limit but remains within the predetermined bandwidth threshold of the traffic flow; and
marking the packets associated with the subflow as non-conforming where the rate of the subflow exceeds both its respective rate limit and the predetermined bandwidth threshold of the traffic flow; and
allocating substantially all of the available bandwidth of the traffic flow to one of the subflows where the traffic flow has reached the predetermined bandwidth threshold and the other subflows are not utilizing bandwidth.
-
-
30. 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;
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 subflows; and
assigning a rate limit to each of the first level subflows and allocating the available bandwidth of the traffic flow to a plurality of the subflows if the traffic flow has reached the predetermined bandwidth threshold, wherein the available bandwidth of the traffic flow is allocated to the plurality of subflows based on their respective rate limits and demand for bandwidth.
-
-
31. A method for providing layered policing of packets of a data stream, comprising:
- parsing a data stream into a plurality of flows;
for any of the flows, identifying at least one characteristic other than a Peak Information Rate (PIR) or a Committed Information Rate (CIR) 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 (32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45)
- parsing a data stream into a plurality of flows;
-
46. 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 a first 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 first characteristic in common;
identifying at least a second characteristic common to a second subset of the flow;
associating a second drop probability with each of the packets of the second substrate of the flow; and
identifying at least one characteristic common to an nth subset of the flow; and
associating the second drop probability with each of the packets of the nth subset of the flow.
-
-
47. 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 using information other than a Peak Information Rate (PIR) or a Committed Information Rate (CIR) to distinguish the traffic flows;
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.
-
-
48. 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 using information other than a Peak Information Rate (PIR) or a Committed Information Rate (CIR) to distinguish the traffic flows;
for any of the flows, means for identifying at least one characteristic common to a first subset of the flaw;
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.
-
-
49. 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 using information other than a Peak Information Rate (PIR) or a Committed Information Rate (CIR) to distinguish the traffic flows;
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.
- classifying the data stream into at least one traffic flow using information other than a Peak Information Rate (PIR) or a Committed Information Rate (CIR) to distinguish the traffic flows;
Specification