Hierarchical multi-rate multi-precedence policer
First Claim
Patent Images
1. A method for operating a network device comprising a multi-rate multi-precedence policer, said method comprising:
- providing a plurality of packet precedence levels;
providing a token bucket for each of said packet precedence levels;
receiving a packet comprising a precedence level;
determining a credit available in the token bucket associated with said received packet'"'"'s precedence level;
determining a policer operation for said received packet based on the token bucket associated with said received packet'"'"'s precedence level, wherein determining a policer operation comprises determining whether to keep, drop, or remark said received packet; and
upon receipt of said received packet having precedence j and length L, if token counts T(j)−
L>
=0, changing token counts T(k) for all k<
=j;
wherein said received packet affects traffic measured by said token bucket associated with said received packet'"'"'s precedence level and all token buckets associated with precedence levels below said received packet'"'"'s precedence level.
1 Assignment
0 Petitions
Accused Products
Abstract
A hierarchical multi-rate multi-precedence policer is disclosed. The policer discards packets based on assigned precedence levels. When traffic exceeds an available service rate, the policer drops packets of lower precedence levels to make room for packets of higher precedence levels. In certain implementations, the policer also guarantees bandwidth to each level, thus preventing complete loss of lower precedence traffic when there is a large amount of higher precedence traffic.
-
Citations
29 Claims
-
1. A method for operating a network device comprising a multi-rate multi-precedence policer, said method comprising:
-
providing a plurality of packet precedence levels; providing a token bucket for each of said packet precedence levels; receiving a packet comprising a precedence level; determining a credit available in the token bucket associated with said received packet'"'"'s precedence level; determining a policer operation for said received packet based on the token bucket associated with said received packet'"'"'s precedence level, wherein determining a policer operation comprises determining whether to keep, drop, or remark said received packet; and upon receipt of said received packet having precedence j and length L, if token counts T(j)−
L>
=0, changing token counts T(k) for all k<
=j;wherein said received packet affects traffic measured by said token bucket associated with said received packet'"'"'s precedence level and all token buckets associated with precedence levels below said received packet'"'"'s precedence level. - View Dependent Claims (2, 3)
-
-
4. A method for operating a network device comprising a multi-rate multi-precedence policer, said method comprising:
-
providing a plurality of packet precedence levels; providing a token bucket for each of said packet precedence levels; receiving a packet comprising a precedence level; determining a credit available in the token bucket associated with said received packet'"'"'s precedence level; determining a policer operation for said received packet based on the token bucket associated with said received packet'"'"'s precedence level, wherein determining a policer operation comprises determining whether to keep, drop, or remark said received packet; and for each of the token buckets (i), starting with a highest precedence level and continuing to a lowest precedence level, setting DEF(i)=B(i)−
T(i), wherein DEF(i) is a number of tokens missing in the token bucket (i) to fill the token bucket, B(i) is a depth of the token bucket (i) corresponding to precedence level (i), and T(i) is a token counter for token bucket Bi;wherein said received packet affects traffic measured by said token bucket associated with said received packet'"'"'s precedence level and all token buckets associated with precedence levels below said received packet'"'"'s precedence level. - View Dependent Claims (5, 6, 7)
-
-
8. A method for operating a network device comprising a multi-rate multi-precedence policer, said method comprising:
-
providing a plurality of packet precedence levels; providing a token bucket for each of said packet precedence levels; receiving a packet comprising a precedence level; determining a credit available in the token bucket associated with said received packet'"'"'s precedence level; determining a policer operation for said received packet based on the token bucket associated with said received packet'"'"'s precedence level, wherein determining a policer operation comprises determining whether to keep, drop, or remark said received packet; and wherein said received packet affects traffic measured by said token bucket associated with said received packet'"'"'s precedence level and all token buckets associated with precedence levels below said received packet'"'"'s precedence level; and wherein R(i) is a maximum allowed rate of traffic for precedence level (i), r(i) is a guaranteed rate of traffic for precedence level (i), R is a maximum allowed aggregate rate across all precedence levels, and B(i) is a depth of token bucket (i) corresponding to precedence level (i). - View Dependent Claims (9, 10, 11)
-
-
12. A computer readable storage medium encoded with a computer program for operating a packet policer, said computer program comprising:
-
code that provides a token bucket corresponding to each of a plurality of packet precedence levels; code that causes received traffic to be limited in accordance with rates corresponding to precedence levels to which packets of said received traffic are assigned; code that causes received traffic to affect the token buckets associated with precedence levels below said precedence level to which packets of said received traffic are assigned such that credit in the token buckets associated with precedence levels below said received packet'"'"'s precedence level is available for use by said received packet; and code that causes packets of the lowest possible precedence levels to be dropped or remarked to assure conformance to said rates. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A method of operating a network, said method comprising:
-
assigning a plurality of calls to a plurality of precedence levels such that packets belong to a call are assigned a corresponding precedence levels, wherein a token bucket corresponds to each of said packet precedence levels; operating a policer to police traffic generated by said calls by; limiting said received traffic in accordance with rates corresponding to said precedence levels; and dropping or remarking packets of the lowest possible precedence levels to assure conformance to said rates; wherein received traffic affects the token buckets associated with precedence levels below said precedence level to which packets of said received traffic are assigned such that credit in the token buckets associated with precedence levels below said received packet'"'"'s precedence level is available for use by said received packet. - View Dependent Claims (19, 20, 21, 22, 23)
-
-
24. Apparatus for operating a packet policer, said apparatus comprising:
-
a processor; a memory device that stores; code that provides a token bucket corresponding to each of a plurality of packet precedence levels; code that causes received traffic to be limited in accordance with rates corresponding to said precedence levels to which packets of said received traffic have been assigned; code that causes received traffic to affect the token buckets associated with precedence levels below said precedence level to which packets of said received traffic are assigned such that credit in the token buckets associated with precedence levels below said received packet'"'"'s precedence level is available for use by said received packet; and code that causes packets of the lowest possible precedence levels to be dropped or remarked to assure conformance to said rates. - View Dependent Claims (25, 26, 27, 28, 29)
-
Specification