Claims
- 1. A method of scheduling data transmissions in a communication network, the method comprising the steps of:
identifying for a given transmission interval a particular user from among a plurality of users requesting data transmissions, the particular user being identified as a maximum-rate user after application of coefficients of a revenue vector to corresponding feasible rates of the plurality of users, the revenue vector being determined in an iterative manner using an adaptive algorithm; and scheduling a data transmission of the particular user for the given transmission interval.
- 2. The method of claim 1 wherein the communication network comprises a wireless communication system, and the data transmissions comprise downlink data transmissions from a given base station of the system to users of the system.
- 3. The method of claim 1 wherein the revenue vector is determined without direct estimation of the frequency of occurrence of particular user rates.
- 4. The method of claim 1 wherein the adaptive algorithm starts from an arbitrary initial revenue vector and iteratively adjusts the coefficients of the revenue vector to compensate for observed deviations between actual and target throughput, such that the deviations are reduced over time and the revenue vector converges to an optimal revenue vector.
- 5. The method of claim 1 wherein at least a subset of the transmission intervals comprise fixed-duration transmission slots, with a data transmission for only one of the users occurring within a given one of the transmission slots.
- 6. The method of claim 1 wherein the maximum-rate user for which a data transmission is scheduled in an n-th transmission interval is a user m*(n) identified as follows:
- 7. The method of claim 1 wherein the feasible rates for M users comprise a set of feasible rates (R1,. . . , RM) having a discrete distribution on a bounded set J⊂M.
- 8. The method of claim 1 wherein the feasible rates for M users comprise a set of feasible rates (R1, . . ., RM) having a continuous distribution on a bounded set U⊂M.
- 9. The method of claim 1 wherein the adaptive algorithm adjusts one or more of the coefficients of the revenue vector in accordance with a specified step size δk in the form of a predetermined convergent sequence.
- 10. The method of claim 9 wherein the predetermined convergent sequence comprises a sequence δk+1=δ1ρk with ρ<1.
- 11. The method of claim 9 wherein the predetermined convergent sequence comprises a sequence δk=δ1k−β with β>1.
- 12. The method of claim 1 wherein the adaptive algorithm updates the revenue vector based on randomly-selected transmission intervals.
- 13. The method of claim 1 wherein the adaptive algorithm updates the revenue vector based on sample periods which increase in size as a function of time.
- 14. The method of claim 13 wherein the updates to the revenue vector occur at predetermined slots K(n), with the length of an n-th sample period given by L(n):=K(n+1)−K(n).
- 15. The method of claim 13 wherein the adaptive algorithm updates the revenue vector w(n) for an n-th sample period in accordance with an update direction v(w(n)) based on throughput obtained during the n-th sample period when the revenue vector w(n) is used, and further wherein at a subsequent update of the revenue vector for an (n+1)-th sample period, the revenue vector is recursively determined as
- 16. The method of claim 15 wherein the update direction v(w(n)) is determined by averaging the actual throughput for each user over the sample period, partitioning the users into a first group with above-average throughput and a second group with below-average throughput, decreasing the revenue vector coefficient values for the users in the first group, and increasing the revenue vector coefficient values for the users in the second group, such that as the size of the sample period increases, the actual throughputs will approach specified target throughputs.
- 17. The method of claim 1 wherein the adaptive algorithm comprises at least one of an Update-Extreme algorithm and a Move-to-Average algorithm.
- 18. The method of claim 1 wherein the identifying and scheduling steps are applied jointly to multiple users including at least one user at each of a plurality of base stations of the communication network.
- 19. The method of claim 1 wherein the identifying and scheduling steps are applied so as to take into account diversity antennas associated with one or more base stations of the communication network.
- 20. An apparatus for scheduling data transmissions in a communication network, the apparatus comprising:
a base station having at least one processing device associated therewith, the at least one device being operative to identify for a given transmission interval a particular user from among a plurality of users requesting data transmissions, the particular user being identified as a maximum- rate user after application of coefficients of a revenue vector to corresponding feasible rates of the plurality of users, the revenue vector being determined in an iterative manner using an adaptive algorithm; and to schedule a data transmission of the particular user for the given transmission interval.
- 21. An apparatus for scheduling data transmissions in a communication network, the apparatus comprising:
a processor operative to identify for a given transmission interval a particular user from among a plurality of users requesting data transmissions, the particular user being identified as a maximum-rate user after application of coefficients of a revenue vector to corresponding feasible rates of the plurality of users, the revenue vector being determined in an iterative manner using an adaptive algorithm; and to schedule a data transmission of the particular user for the given transmission interval; and a memory coupled to the processor, the memory storing at least a portion of the revenue vector.
- 22. A machine-readable storage medium for storing one or more programs for use in scheduling data transmissions in a communication network, wherein the one or more programs when executed implement the steps of:
identifying for a given transmission interval a particular user from among a plurality of users requesting data transmissions, the particular user being identified as a maximum-rate user after application of coefficients of a revenue vector to corresponding feasible rates of the plurality of users, the revenue vector being determined in an iterative manner using an adaptive algorithm; and scheduling a data transmission of the particular user for the given transmission interval.
RELATED APPLICATIONS
[0001] The present invention is related to the inventions described in U.S. patent application Ser. No. 09/517,659 filed in the name of inventors S. Stolyar et al. and entitled “Method of Packet Scheduling, With Improved Delay Performance, for Wireless Networks,” and U.S. patent application Ser. No. 09/393,949 filed Sep. 10, 1999 in the name of inventors K. Ramanan et al. and entitled “Method and Apparatus for Scheduling Traffic to Meet Quality of Service Requirements in a Communication Network,” both of which are commonly assigned herewith and incorporated by reference herein.