Systems and methods for dropping data using a drop profile
First Claim
Patent Images
1. 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, anddetermine 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, anddrop decision logic configured to determine whether to drop data from a head of the examined queue based on the identified drop probability.
1 Assignment
0 Petitions
Accused Products
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.
57 Citations
37 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. 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. - View Dependent Claims (19)
-
-
20. 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.
-
-
21. 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. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. 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. - View Dependent Claims (36)
-
-
37. 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.
-
Specification