Method and apparatus for scheduling packets
First Claim
Patent Images
1. A method comprising:
- determining a transmit time for a received packet based upon at least one parameter; and
storing an identifier for the packet in one of a number of buffers of a scheduling array, each of the buffers having an associated dequeue time;
wherein the one buffer receiving the packet identifier has a dequeue time most nearly equal to the transmit time of the received packet.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for scheduling packets using one or more pre-sort scheduling arrays. Scheduling decisions for packets are made when packets are received, and entries for the received packets are stored in a pre-sorted scheduling array. Packets may be scheduled according to a non-work conserving technique, or packets may be scheduled according to a work conserving technique. A packet is transmitted by dequeuing the packet from a pre-sorted scheduling array.
43 Citations
36 Claims
-
1. A method comprising:
-
determining a transmit time for a received packet based upon at least one parameter; and
storing an identifier for the packet in one of a number of buffers of a scheduling array, each of the buffers having an associated dequeue time;
wherein the one buffer receiving the packet identifier has a dequeue time most nearly equal to the transmit time of the received packet. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
providing a number of queues, each of the queues associated with a port; and
providing a scheduling array including a number of round buffers, each of the round buffers having an associated dequeue time;
wherein packets stored in any of the round buffers are dequeued in response to a dequeuing clock equaling the dequeue time of that round buffer. - View Dependent Claims (8, 9, 10, 11)
-
-
12. An apparatus comprising:
-
a processing device; and
a memory system coupled with the processing device, the memory system having stored therein a number of queues, each of the queues associated with a port, and a scheduling array including a number of round buffers, each of the round buffers having an associated dequeue time;
wherein packets stored in any one of the round buffers are dequeued in response to a dequeuing clock substantially equaling the dequeue time of that round buffer. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A system comprising:
-
a bus;
a processing device coupled with the bus; and
a system memory coupled with the bus, the system memory including a dynamic random access memory (DRAM);
wherein the processing device is programmed to perform operations including providing a number of queues stored in the system memory, each of the queues associated with a port, and providing a scheduling array stored in the system memory, the scheduling array including a number of round buffers, each of the round buffers having an associated dequeue time, wherein packets stored in any one of the round buffers are dequeued in response to a dequeuing clock substantially equaling the dequeue time of that round buffer. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. An article of manufacture comprising:
a machine accessible medium providing content that, when accessed by a machine, causes the machine to determine a transmit time for a received packet based upon at least one parameter; and
store an identifier for the packet in one of a number of buffers of a scheduling array, each of the buffers having an associated dequeue time;
wherein the one buffer receiving the packet identifier has a dequeue time most nearly equal to the transmit time of the received packet. - View Dependent Claims (28, 29, 30, 31, 32)
-
33. A method comprising:
-
providing a work conserving scheduling array, the work conserving scheduling array including a number of round buffers; and
providing a non-work conserving scheduling array, the non-work conserving scheduling array including a number of round buffers, each of the round buffers having an associated dequeue time;
wherein packets stored in any of the round buffers of the non-work conserving scheduling array are dequeued in response to a dequeue clock substantially equaling the dequeue time of that round buffer. - View Dependent Claims (34, 35, 36)
-
Specification