Efficient traffic management
First Claim
1. A networking apparatus comprising:
- communication interfaces coupled to one or more networks;
a message handling subsystem configured to process messages received over the communication interfaces;
a traffic management subsystem configured to apply traffic shaping or traffic policing logic to specific messages of the messages selected based on status indicators associated with traffic action control groups to which the specific messages are assigned;
one or more first memories configured to store full counters associated with the traffic action control groups;
one or more second memories configured to store intermediate counters associated with the traffic action control groups, the one or more second memories being different than the one or more first memories, each of the intermediate counters corresponding to a different one of the full counters;
an intermediate counting subsystem configured to adjust particular intermediate counters for particular traffic action control groups by amounts corresponding to particular messages sent over the communication interfaces in association with the particular traffic action control groups;
a full count update subsystem configured to update the full counters based on respectively corresponding intermediate counters, and to reset the corresponding intermediate counters;
a replenishment subsystem configured to update the intermediate counters or to update the full counters, based on replenishment amounts determined from replenishment rates associated with the traffic action control groups;
a status update subsystem configured to update the status indicators by comparing the full counters to one or more applicable thresholds.
2 Assignments
0 Petitions
Accused Products
Abstract
A token bucket or leaky bucket is maintained at least partially through the use of two separate counters. A full counter, is maintained in relatively lower cost memory, and indicates the amount of tokens within the bucket on a potentially delayed basis. An intermediate counter is stored in a relatively higher cost memory that supports high access rates, and indicates the amount of tokens assigned (or unassigned) to the bucket since the full counter was last updated. Various adjustment processes remove (or add) tokens as needed for performing tasks. A background process updates the full counter from the corresponding intermediate counter on a periodic, scheduled, or other basis. The buckets are replenished (or deleted) with tokens periodically at assigned rates. Traffic management or other decisions are based on the bucket'"'"'s current status, as determined from the full counter during the background process and then stored in the higher cost memory.
69 Citations
21 Claims
-
1. A networking apparatus comprising:
-
communication interfaces coupled to one or more networks; a message handling subsystem configured to process messages received over the communication interfaces; a traffic management subsystem configured to apply traffic shaping or traffic policing logic to specific messages of the messages selected based on status indicators associated with traffic action control groups to which the specific messages are assigned; one or more first memories configured to store full counters associated with the traffic action control groups; one or more second memories configured to store intermediate counters associated with the traffic action control groups, the one or more second memories being different than the one or more first memories, each of the intermediate counters corresponding to a different one of the full counters; an intermediate counting subsystem configured to adjust particular intermediate counters for particular traffic action control groups by amounts corresponding to particular messages sent over the communication interfaces in association with the particular traffic action control groups; a full count update subsystem configured to update the full counters based on respectively corresponding intermediate counters, and to reset the corresponding intermediate counters; a replenishment subsystem configured to update the intermediate counters or to update the full counters, based on replenishment amounts determined from replenishment rates associated with the traffic action control groups; a status update subsystem configured to update the status indicators by comparing the full counters to one or more applicable thresholds. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
storing full counters in one or more first memories; storing intermediate counters in one or more second memories; identifying traffic action control groups associated with messages being processed within a networking device, each of the traffic action control groups assigned to at least a different one of the intermediate counters and at least a different one of the full counters; when particular messages, associated with corresponding groups of the traffic action control groups, are forwarded to one or more next components, adjusting respectively assigned intermediate counters; recurrently updating the full counters by combining full counts of the full counters with intermediate counts of the respectively assigned intermediate counters, and resetting the respectively assigned intermediate counters; based on replenishment rates assigned to the traffic action control groups, recurrently replenishing the full counters or recurrently replenishing the intermediate counters; determining when to enforce a network traffic management rule or policy against a given group, of the traffic action control groups, based at least on a current value of a given full counter, of the full counters, that is assigned to the given group. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. One or more non-transitory computer-readable media storing instructions that, when executed by one or more computer devices, cause:
-
storing full counters in one or more first memories; storing intermediate counters in one or more second memories; identifying traffic action control groups associated with messages being processed within a networking device, each of the traffic action control groups assigned to at least a different one of the intermediate counters and at least a different one of the full counters; when particular messages, associated with corresponding groups of the traffic action control groups, are forwarded to one or more next components, adjusting respectively assigned intermediate counters; recurrently updating the full counters by combining full counts of the full counters with intermediate counts of the respectively assigned intermediate counters, and resetting the respectively assigned intermediate counters; based on replenishment rates assigned to the traffic action control groups, recurrently replenishing the full counters or recurrently replenishing the intermediate counters; determining when to enforce a network traffic management rule or policy against a given group, of the traffic action control groups, based at least on a current value of a given full counter, of the full counters, that is assigned to the given group.
-
Specification