Dynamic weighted round robin queuing
First Claim
1. A method of transmitting a plurality of data packets through a network, comprising the steps of:
- assigning each data packet to one of a plurality of priority queues, each priority queue having a numerical service weight;
assigning a priority weight to each of the data packets, each priority weight having a numerical value; and
servicing each of the priority queues in round robin order by delivering data packets from one of the priority queues and transitioning to deliver data packets from a subsequent priority queue in the round robin order when a service satisfied condition is met for the priority queue being serviced, the service satisfied condition being met when a combination of the numerical values of the priority weights for each of the data packets delivered from the priority queue being serviced is equal to or is greater than the numerical service weight assigned to the priority queue being serviced.
5 Assignments
0 Petitions
Accused Products
Abstract
A method for transmitting a plurality of data packets through a network. Each data packet is assigned to one of a plurality of priority queues and each priority queue has a service weight. A priority weight is assigned to each of the data packets and each priority weight has a value. Data packets are delivered from one of the priority queues until a service satisfied condition is met. The service satisfied condition is met when a combination of the values of the priority weights for each of the delivered data packets is equal to or is greater than the service weight assigned to the priority queue. A queuing switch for implementing this method is also discussed. The queuing switch includes an incoming data packet processor and a plurality of priority queues.
-
Citations
15 Claims
-
1. A method of transmitting a plurality of data packets through a network, comprising the steps of:
-
assigning each data packet to one of a plurality of priority queues, each priority queue having a numerical service weight;
assigning a priority weight to each of the data packets, each priority weight having a numerical value; and
servicing each of the priority queues in round robin order by delivering data packets from one of the priority queues and transitioning to deliver data packets from a subsequent priority queue in the round robin order when a service satisfied condition is met for the priority queue being serviced, the service satisfied condition being met when a combination of the numerical values of the priority weights for each of the data packets delivered from the priority queue being serviced is equal to or is greater than the numerical service weight assigned to the priority queue being serviced. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A queuing switch, comprising:
-
an incoming data packet processor, the incoming data packet processor deriving a queue assignment for each of a plurality of incoming data packets and assigning a numerical priority weight to each data packet;
a plurality of priority queues, each priority queue having a numerical service weight, wherein the incoming data packet processor directs each data packet to one of the priority queues based on the queue assignment for each data packet; and
an outgoing data packet processor, the outgoing data packet processor servicing each priority queue in round robin order by delivering data packets from each of the priority queues towards a receiving device, the outgoing data packet processor transitioning from one priority queue to a subsequent priority queue in the round robin order when a service satisfied condition is met for the priority queue being serviced, the service satisfied condition being met when a combination of the numerical values of the priority weights for each of the data packets delivered from the priority queue being serviced is equal to or is greater than the numerical service weight assigned to the priority queue being serviced. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
Specification