Systems and methods for limiting low priority traffic from blocking high priority traffic
AssigneeJuniper Networks, Inc.
InventorsSong Zhang, Jorge Cruz-Rios, Anurag P. Gupta
Life of this patent
Estimating the term…
Abstract
A method for processing high priority packets and low priority packets in a network device includes performing arbitration on high priority packets until no high priority packets remain. Arbitration then is enabled on low priority packets. A packet size associated with the selected low priority packet is compared with a programmable threshold. Low priority packets are excluded from subsequent arbitration for a programmable duration when the packet size exceeds the programmable threshold.
Claims17
A system for managing flow of data in a network device, comprising:
- a plurality of high priority queues configured to store data unit information;
- a plurality of low priority queues configured to store data unit information;
- and
- an arbiter configured to selectively bypass a low priority queue based on a size of a data unit in the low priority queue, wherein the arbiter includes:
- a comparison element configured to compare a size of a data unit with one or more thresholds and to output one or more control signals based on the comparison, wherein the one or more thresholds of the comparison element is based on a processing rate of a processor.
A method for managing flow of data in a network device, comprising:
- selecting high priority data units from at least one of a plurality of high priority queues;
- selecting a low priority data unit from a low priority queue of a plurality of low priority queues if no high priority data units can be selected;
- comparing a size of the selected low priority data unit with a threshold;
- and
- removing the low priority queue from arbitration for a programmable duration when the low priority data unit size exceeds the threshold.
A system for managing data flow in a network device, comprising:
- a plurality of high priority queues configured to store notifications corresponding to the high priority packets;
- a plurality of low priority queues configured to store notifications corresponding to the low priority packets;
- a high priority arbiter configured to perform arbitration on the plurality of high priority queues and to select a notification;
- a low priority arbiter configured to perform arbitration on the plurality of low priority queues and to select a notification when no notifications are present in the plurality of high priority queues;
- circuitry configured to compare a data unit size associated with the selected notification with a threshold, and to remove the low priority queue that contained the selected notification from further arbitration for a programmable duration when the data unit size exceeds the threshold;
- and
- a processor configured to receive the selected notifications and to assemble output data based on the selected notifications.
A method for processing high priority data units and low priority data units in a network device, comprising:
- performing arbitration on high priority notifications that correspond to the high priority data units and outputting selected high priority notifications to a processor until no high priority notifications remain;
- enabling arbitration on low priority notifications that correspond to the low priority data units;
- performing arbitration on the low priority notifications and outputting a selected low priority notification to the processor;
- comparing a data unit size associated with the selected low priority notification with a threshold;
- and
- excluding a queue that contained the selected low priority notification from subsequent arbitration for a duration when the data unit size exceeds the threshold.
A system for managing flow of data in a network device, comprising:
- a plurality of high priority queues configured to store data unit information;
- a plurality of low priority queues configured to store data unit information;
- and
- an arbiter configured to selectively bypass a low priority queue based on a size of a data unit in the low priority queue, wherein the arbiter includes:
- a comparison element configured to compare a size of a data unit with one or more thresholds and to output one or more control signals based on the comparison,
- a delay element configured to produce one or more delay signals in response to the one or more control signals from the comparison element, and
- a mask register configured to prevent the low priority arbiter from selecting one or more low priority queues for a duration defined by the one or more delay signals.
Dependencies are inferred from the claim text.