Claims
- 1. A method of scheduling a plurality of users for allocating transmitted data to the users, comprising the steps of:
prioritizing the scheduling of the plurality of users for receiving transmitted data, and allocating a next data transmission among the plurality of users based on the prioritized scheduling.
- 2. The method of claim 1, wherein said step of prioritizing further includes:
prioritizing the scheduling of the plurality of users based on a user perceived throughput of each user and an average user throughput for all users.
- 3. The method of claim 2, wherein said step of prioritizing further includes:
prioritizing the scheduling of the plurality of users based on the user perceived throughput of each user, the average user throughput, a maximum user throughput for each user and a minimum user throughput for each user.
- 4. The method of claim 3, wherein said step of prioritizing further includes:
calculating a function result based on the user perceived throughput of each user, the average user throughput, the maximum and the minimum user throughputs for each user, and prioritizing the scheduling of the plurality of users for receiving transmitted data based on the calculated function result.
- 5. The method of claim 4, wherein the scheduling of the plurality of users is prioritized based on comparing a current function result to previous function results.
- 6. The method of claim 4, wherein said step of prioritizing further includes:
selecting a function from a group of more than one function for use in the calculating step based on a value of each user perceived throughput as compared to at least one of the average user throughput, the maximum user throughput, and the minimum user throughput for each user.
- 7. The method of claim 2, further comprising:
computing said average user throughput dynamically.
- 8. The method of claim 2, wherein user perceived throughput of each user is configured so as to be within an operating range defined by a maximum user throughput for that user, and a minimum user throughput for that user.
- 9. The method of claim 7, wherein said step of prioritizing further includes:
assigning a highest priority to a user whose actual throughput is below the minimum, assigning a next highest priority to a user whose user perceived throughput is greater than the minimum but below the average user throughput, and assigning lower priorities to users whose user perceived throughput is above the average user throughput or above the maximum of the operating range.
- 10. The method of claim 1, wherein said step of prioritizing further includes:
determining an average service rate for each user of the plurality of users, determining a priority value for each user based upon a requested service rate of each user and the determined average service rate, and modifying at least one of the average service rate and the priority value for at least one user, said allocating a next data transmission among the plurality of users performed based on at least one of the modified average service rate and modified priority value.
- 11. The method of claim 10, wherein the modifying step further includes:
modifying at least one of the average service rate and the priority value based on the requested service rate of the at least one user.
- 12. The method of claim 10, wherein the modifying step further includes:
lowering the priority value if the requested service rate of the at least one user is higher than requested service rates of other users, and raising the priority value if the requested service rate is lower than requested service rates of other users.
- 13. The method of claim 10, wherein the modifying step further includes:
modifying at least one of the average service rate and the priority value based on the average service rate of the at least one user.
- 14. The method of claim 10, wherein the modifying step further includes:
lowering the priority value if the average service rate is higher than average service rates of other users, and raising the priority value if the average service rate is lower than average service rates of other users.
- 15. The method of claim 10, wherein the modifying step further includes:
modifying at least one of the average service rate and the priority value based upon at least one quality-of-service (QoS) parameter.
- 16. The method of claim 10, wherein the modifying step is performed for at least one user having an average service rate below a threshold.
- 17. A method of scheduling a plurality of users to receive transmitted data, comprising the steps of:
prioritizing the scheduling of the plurality of users for receiving transmitted data based on an average user throughput over all active users.
- 18. The method of claim 17, wherein said step of prioritizing further includes:
prioritizing the scheduling of the plurality of users based on a user perceived throughput of each user and the average user throughput.
- 19. The method of claim 18, wherein said step of prioritizing further includes:
prioritizing the scheduling of the plurality of users based on the user perceived throughput of each user, the average user throughput, a maximum user throughput for each user and a minimum user throughput for each user.
- 20. The method of claim 19, wherein said step of prioritizing further includes:
calculating a function result based on the user perceived throughput of each user, the average user throughput, the maximum and the minimum user throughputs for each user, and prioritizing the scheduling of the plurality of users for receiving transmitted data based on the calculated function result.
- 21. The method of claim 20, wherein the scheduling of the plurality of users is prioritized based on comparing a current function result to previous function results.
- 22. The method of claim 20, wherein said step of prioritizing further includes:
selecting a function from a group of more than one function for use in the calculating step based on a value of each user perceived throughput as compared to at least one of the average user throughput, the maximum user throughput, and the minimum user throughput for each user.
- 23. The method of claim 18, further comprising:
computing said average user throughput dynamically.
- 24. The method of claim 18, wherein user perceived throughput of each user is configured so as to be within an operating range defined by a maximum user throughput for that user, and a minimum user throughput for that user.
- 25. The method of claim 23, wherein said step of prioritizing further includes:
assigning a highest priority to a user whose actual throughput is below the minimum, assigning a next highest priority to a user whose user perceived throughput is greater than the minimum but below the average user throughput, and assigning lower priorities to users whose user perceived throughput is above the average user throughput or above the maximum of the operating range.
- 26. A method of scheduling a plurality of users to receive transmitted data, comprising the steps of:
computing an average user throughput over all active users, calculating a function result for each user based on the computed average user throughput and a user perceived throughput of each user, and prioritizing the scheduling of the plurality of users for receiving transmitted data based on the function result.
- 27. The method of claim 26, wherein the scheduling of the plurality of users is prioritized based on comparing a current function result to previous function results.
- 28. The method of claim 27, further comprising:
computing said average user throughput dynamically.
- 29. The method of claim 26, wherein the user perceived throughput of each user is configured so as to be within an operating range defined by a maximum user throughput for that user, and a minimum user throughput for that user.
- 30. The method of claim 29, wherein said step of prioritizing further includes:
assigning a highest priority to a user whose user perceived throughput is below the minimum, assigning a next highest priority to a user whose user perceived throughput is greater than the minimum but below the average user throughput, and assigning lower priorities to users whose user perceived throughput is above the average user throughput or above the maximum of the operating range.
- 31. The method of claim 29, wherein said step of prioritizing further includes:
selecting a function from a group of more than one function for use in the calculating step based on a value of each user perceived throughput as compared to at least one of the average user throughput, the maximum user throughput, and the minimum user throughput for each user.
- 32. An apparatus for scheduling a plurality of users to receive transmitted data, comprising:
a filter for computing an average user throughput over all active users, and a prioritizer for prioritizing the scheduling of the plurality of users for receiving transmitted data based on an average user throughput over all active users.
- 33. The apparatus of claim 32, wherein said prioritizer prioritizes the scheduling of the plurality of users based on a user perceived throughput of each user and the average user throughput.
- 34. The apparatus of claim 32, wherein said prioritizer prioritizes the scheduling of the plurality of users based on a user perceived throughput of each user, the average user throughput, a maximum user throughput for each user and a minimum user throughput for each user.
- 35. The apparatus of claim 32, wherein said prioritizer calculates a function result based on a user perceived throughput of each user, the average user throughput, a maximum user throughput and a minimum user throughput for each user; and prioritizes the scheduling of the plurality of users for receiving transmitted data based on the calculated function result.
- 36. The apparatus of claim 35, wherein the prioritizer schedules the plurality of users based on comparing a current function result to previous function results.
- 37. The apparatus of claim 33, wherein the user perceived throughput of each user is configured so as to be within an operating range defined by a maximum user throughput for that user, and a minimum user throughput for that user.
- 38. The apparatus of claim 37, wherein the prioritizer assigns a highest priority to a user whose user perceived throughput is below the minimum, assigns a next highest priority to a user whose user perceived throughput is greater than the minimum but below the average user throughput; and assigns lower priorities to users whose user perceived throughput is above the average user throughput or above the maximum of the operating range.
- 39. The apparatus of claim 37, wherein the prioritizer selects a function from a group of more than one function for use in prioritizing users based on a value of each user perceived throughput as compared to at least one of the average user throughput, the maximum user throughput, and the minimum user throughput for each user.
- 40. The apparatus of claim 32, wherein
the apparatus is part of a base station, and the apparatus outputs user identifying information informing the base station to transmit data in a current timeslot to the identified user.
- 41. The apparatus of claim 40, wherein the user identifying information includes a user ID and a user priority.
- 42. A method of scheduling a plurality of users for allocating transmitted data to the users, comprising the steps of:
determining an average service rate for each user of the plurality of users, determining a priority value for each user based upon a requested service rate of each user and the determined average service rate, and modifying at least one of the average service rate and the priority value for at least one user to control an allocation of transmitted data to the users.
- 43. The method of claim 42, wherein the modifying step further includes:
modifying at least one of the average service rate and the priority value based on the requested service rate of the at least one user.
- 44. The method of claim 42, wherein the modifying step further includes:
lowering the priority value if the requested service rate of the at least one user is higher than requested service rates of other users, and raising the priority value if the requested service rate is lower than requested service rates of other users.
- 45. The method of claim 42, wherein the modifying step further includes:
modifying at least one of the average service rate and the priority value based on the average service rate of the at least one user.
- 46. The method of claim 42, wherein the modifying step further includes:
lowering the priority value if the average service rate is higher than average service rates of other users, and raising the priority value if the average service rate is lower than average service rates of other users.
- 47. The method of claim 42, wherein the modifying step further includes:
modifying at least one of the average service rate and the priority value based upon at least one quality-of-service (QoS) parameter.
- 48. The method of claim 42, wherein the modifying step is performed for at least one user having an average service rate below a threshold.
- 49. A method of scheduling a plurality of users to allocate transmitted data to the users, comprising the steps of:
determining a modified average service rate for each of the plurality of users, the modified average service rate being based upon an average service rate of the user, determining a priority value for at least one user based upon the modified average service rate and based upon a requested service rate of the at least one user, determining which user of the plurality of users has a highest priority value, and allocating a next transmission of data based on the highest priority value.
- 50. A method of scheduling a plurality of users to allocate transmitted data to the users, comprising the steps of:
determining an average service rate for each of the plurality of users, comparing the average service rate of each user against a threshold, and determining whether a user is eligible for allocation of a next transmission of data based on the comparing step.
- 51. The method of claim 50, further comprising:
selecting the threshold so as to vary inversely with the number of users.
- 52. The method of claim 50, further comprising:
determining the threshold based on an average of all user average service rates.
- 53. The method of claim 50, further comprising:
determining the threshold based on at least one quality-of-service (QoS) parameter.
- 54. The method of claim 53, wherein the QoS parameter relates to one or more of a payment scheme under which service is provided to a user, and an application that is run on the user.
- 55. The method of claim 51, further comprising:
modifying the selected threshold based on a transmission condition of each user.
- 56. The method of claim 55, wherein the step of modifying the selected threshold further includes:
skewing the threshold in favor of users that have the benefit of transmitting conditions that are better than other users.
CONTINUATION INFORMATION
[0001] This application claims domestic priority benefits under 35 U.S.C. §120 to the following co-pending U.S. patent applications: U.S. application Ser. No. 10/161,182 to Stanley VITEBSKY, filed Jun. 3, 2002 and entitled “Wireless Communications System and Related Methods for Allocating Data Transmission”; and U.S. application Ser. No. 10/160,125 to Qi B I et al., filed Jun. 4, 2002 and entitled “Scheduler Method and Apparatus for Communication Systems”. The contents of each of the above co-pending applications are incorporated by reference in their entirety herein.
Continuation in Parts (2)
|
Number |
Date |
Country |
Parent |
10160125 |
Jun 2002 |
US |
Child |
10300891 |
Nov 2002 |
US |
Parent |
10161182 |
Jun 2002 |
US |
Child |
10300891 |
Nov 2002 |
US |