METHOD AND APPARATUS FOR SCHEDULING TRAFFIC TO MEET QUALITY OF SERVICE REQUIREMENTS IN A COMMUNICATION NETWORK
First Claim
1. A processor-implemented method of scheduling data packets for transmission over a communication link in a network, the method comprising the steps of:
- computing delay measures for a plurality of packets including at least one packet from each of a plurality of queues; and
selecting a given one of the plurality of packets for transmission based at least in part on a comparison of weighted versions of the computed delay measures, such that the selected packet is the packet having the largest weighted delay associated therewith.
7 Assignments
0 Petitions
Accused Products
Abstract
Packets are scheduled for transmission over a communication link in a network, using a Largest Weighted Delay First (LWDF) scheduling policy. A delay measure Wi, i=1, 2, . . . N, is computed for each of N packets, each associated with a corresponding one of N data flows and located in a head position in a corresponding one of N data flow queues. The computed delay measures are then weighted using a set of positive weights α1, α2, . . . , αN. The packet having the largest weighted delay Wi/αi associated therewith is then selected for transmission. In an embodiment configured to meet a quality of service (QoS) requirement specified in terms of a deadline Ti and an allowed deadline violation probability δi, e.g., a requirement specified by P(Wi>Ti)≦δi, the weights αi in the set of positive weights α1, α2, . . . , αN may be given by αi=−Ti/log δi. The invention can also be used to meet other types of QoS requirements, including, e.g., requirements based on packet loss probabilities. For example, the QoS guarantee may be defined for a delay measure in the form of queue length Qi, i=1, 2, . . . N, and an allowed queue length violation probability δi. In such an embodiment, the QoS requirement is specified by P(Qi>Hi)≦δi, and the weights αi in the set of positive weights α1, α2, . . . , αN may be given by αi=−Hi/log δi, where Hi represents an upper bound on the length of the queue.
42 Citations
28 Claims
-
1. A processor-implemented method of scheduling data packets for transmission over a communication link in a network, the method comprising the steps of:
-
computing delay measures for a plurality of packets including at least one packet from each of a plurality of queues; and
selecting a given one of the plurality of packets for transmission based at least in part on a comparison of weighted versions of the computed delay measures, such that the selected packet is the packet having the largest weighted delay associated therewith. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. An apparatus for use in scheduling data packets for transmission over a communication link in a network, the apparatus comprising:
-
a set of queues, each of at least a subset of the queues including at least one packet; and
a link scheduler having inputs coupled to corresponding outputs of the queues, the link scheduler being operative to compute delay measures for a plurality of packets including at least one packet from each of the at least a subset of the queues, and to select a given one of the plurality of packets for transmission based at least in part on a comparison of weighted versions of the computed delay measures, such that the selected packet is the packet having the largest weighted delay associated therewith. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
15. The apparatus of 14 wherein the link scheduler is further operative to compute delay measures for a plurality of packets includes computing the delay measure for a given one of the packets as a difference between a current time and an arrival time of the given packet in a node of the communication network.
-
27. An apparatus for use in scheduling data packets for transmission over a communication link in a network, the apparatus comprising:
-
a memory implementing a set of queues, each of at least a subset of the queues including at least one packet; and
a processor coupled to the memory and operative to compute delay measures for a plurality of packets including at least one packet from each of the at least a subset of the queues, and to select a given one of the plurality of packets for transmission based at least in part on a comparison of weighted versions of the computed delay measures, such that the selected packet is the packet having the largest weighted delay associated therewith.
-
-
28. A machine-readable medium storing one or more software programs for scheduling data packets for transmission over a communication link in a network, wherein the one or more programs when executed by a processor include:
-
a step for computing delay measures for a plurality of packets including at least one packet from each of a plurality of queues; and
a step for selecting a given one of the plurality of packets for transmission based at least in part on a comparison of weighted versions of the computed delay measures, such that the selected packet is the packet having the largest weighted delay associated therewith.
-
Specification