Method for optimizing queuing performance
First Claim
Patent Images
1. A method comprising:
- passing, from a ring having M slots, one or more enqueue requests and one or more dequeue requests to a queue manager; and
determining whether the ring is full, and if the ring is full, sending only an enqueue request to the queue manager when one of the M slots is next available, otherwise, sending both an enqueue request and a dequeue request to the queue manager.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for optimizing queuing performance include passing, from a ring having M slots, one or more enqueue requests and one or more dequeue requests to a queue manager, and determining whether the ring is full, and if the ring is full, sending only an enqueue request to the queue manager when one of the M slots is next available, otherwise, sending both an enqueue request and a dequeue request to the queue manager.
65 Citations
29 Claims
-
1. A method comprising:
-
passing, from a ring having M slots, one or more enqueue requests and one or more dequeue requests to a queue manager; and
determining whether the ring is full, and if the ring is full, sending only an enqueue request to the queue manager when one of the M slots is next available, otherwise, sending both an enqueue request and a dequeue request to the queue manager. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer program product, disposed in a computer readable medium, having instructions for causing a processor to:
-
pass, from a ring having M slots, one or more enqueue requests and one or more dequeue requests to a queue manager; and
determine whether the ring is full, and if the ring is full, send only an enqueue request to the queue manager when one of the M slots is next available, otherwise, send both an enqueue request and a dequeue request to the queue manager. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. An apparatus comprising:
-
a processing engine to make enqueue requests;
a queue scheduler to make dequeue requests;
a queue manager configured to process the enqueue requests and the dequeue requests;
a ring having M slots, the ring configured to pass the enqueue requests from the processing engine to the queue manager and to pass the dequeue requests from the queue scheduler to the queue manager; and
a queue scheduler configured to monitor the enqueue requests and dequeue requests on the ring and determine whether the ring is full, and if the ring is full, send only an enqueue request to the queue manager when one of the M slots is next available, otherwise, send both an enqueue request and a dequeue request to the queue manager. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. A system comprising:
-
a source of data packets;
a destination of data packets; and
a device operating to transfer packets from the source to the destination comprising;
a processing engine to make enqueue requests;
a queue scheduler to make dequeue requests;
a queue manager configured to process the enqueue requests and the dequeue requests; and
a ring having M slots and configured to pass the enqueue requests from the processing engine to the queue manager and to pass the dequeue requests from the queue scheduler to the queue manager;
wherein the queue scheduler is configured to monitor the enqueue requests and dequeue requests on the ring and determine whether the ring is full, and if the ring is full, send only an enqueue request to the queue manager when one of the M slots is next available, otherwise, send both an enqueue request and a dequeue request to the queue manager. - View Dependent Claims (24, 25, 26, 27)
-
-
28. A network device comprising:
-
an input port for receiving a data packet;
an output port for transmitting a data packet; and
a scheduling device capable of, passing, on a ring having M slots, one or more enqueue requests and one or more dequeue requests to a queue manager; and
determining whether the ring is full, and if the ring is full, sending only an enqueue request to the queue manager when one of the M slots is next available, otherwise, sending both an enqueue request and a dequeue request to the queue manager. - View Dependent Claims (29)
-
Specification