Systems and methods for dropping data using a drop profile
AssigneeJuniper Networks, Inc.
InventorsPradeep Sindhu, Debashis Basu, Jayabharat Boddu, Avanindra Godbole
Life of this patent
Estimating the term…
Abstract
A system selectively drops data from queues. The system includes a drop table that stores drop probabilities. The system selects one of the queues to examine and generates an index into the drop table to identify one of the drop probabilities for the examined queue. The system then determines whether to drop data from the examined queue based on the identified drop probability.
Claims37
A system for selectively dropping data from a queue, comprising:
- a plurality of queues configured to temporarily store data;
- and
- a drop engine configured to select one of the queues to examine, the drop engine comprising:
- a drop table configured to store a plurality of drop probabilities,
- indexing logic configured to generate an index into the drop table to identify one of the drop probabilities, wherein the indexing logic is configured to:
- determine a static amount of memory allocated to the examined queue,
- determine an amount of memory used by the examined queue, and
- determine the index into the drop table based on the static amount of memory allocated to the examined queue and the amount of memory used by the examined queue, and
- drop decision logic configured to determine whether to drop data from a head of the examined queue based on the identified drop probability.
A system for selectively dropping data from a queue, comprising:
- a plurality of queues configured to temporarily store data;
- and
- a drop engine configured to select one of the queues to examine, the drop engine comprising:
- a drop table configured to store a plurality of drop probabilities,
- indexing logic configured to generate an index into the drop table to identify one of the drop probabilities, and
- drop decision logic configured to determine whether to drop data from a head of the examined queue based on the identified drop probability, wherein the drop probability is based on a ratio of an amount of memory being used by the examined queue to a maximum of a static amount of memory allocated to the examined queue or an amount of memory that should be made available to the examined queue.
A system for selectively dropping data from a queue, comprising:
- a plurality of queues configured to temporarily store data;
- and
- a drop engine configured to select one of the queues to examine, the drop engine comprising:
- a drop table configured to store a plurality of drop probabilities,
- indexing logic configured to generate an index into the drop table to identify one of the drop probabilities, and
- drop decision logic configured to determine whether to drop data from a head of the examined queue based on the identified drop probability, wherein the drop probability is based on a ratio of an amount of memory being used by the examined queue to a static amount of memory allocated to the examined queue.
A method for selectively dropping data from each of a plurality of queues that temporarily store data, comprising:
- selecting one of the queues to examine;
- providing a drop table that stores a plurality of drop probabilities;
- generating an index into the drop table to identify one of the drop probabilities for the examined queue, wherein the generating the index includes:
- determining a static amount of memory allocated to the examined queue,
- determining an amount of memory used by the examined queue, and
- determining the index into the drop table based on the static amount of memory allocated to the examined queue and the amount of memory used by the examined queue;
- and
- determining whether to drop data from a head of the examined queue based on the identified drop probability.
A method for selectively dropping data from each of a plurality of queues that temporarily store data, comprising:
- selecting one of the queues to examine;
- providing a drop table that stores a plurality of drop probabilities;
- generating an index into the drop table to identify one of the drop probabilities for the examined queue;
- and
- determining whether to drop data from a head of the examined queue based on the identified drop probability, wherein the drop probability is based on a ratio of an amount of memory being used by the examined queue to a maximum of a static amount of memory allocated to the examined queue or an amount of memory that should be made available to the examined queue.
A method for selectively dropping data from each of a plurality of queues that temporarily store data, comprising:
- selecting one of the queues to examine;
- providing a drop table that stores a plurality of drop probabilities;
- generating an index into the drop table to identify one of the drop probabilities for the examined queue;
- and
- determining whether to drop data from a head of the examined queue based on the identified drop probability, wherein the identified drop probability is based on a ratio of an amount of memory being used by the examined queue to a static amount of memory allocated to the examined queue.
Dependencies are inferred from the claim text.