A scheduler and a method for scheduling transmissions to a plurality of
users in a communication network assigns a higher target minimum
throughput for receiving a next transmission to a user based on a quality
of service (QoS) class of the user. A token count that tracks the user's
achieved performance relative to a target minimum throughput Is
determined for each user in given timeslot, and a weight is determined
for each user based on one or more of the token count and a current rate
requested by the user. A user having the highest weight as determined by
a weight function is scheduled to be served the next transmission. User
priority for scheduling may be downgraded if an average data rate
requested by the user is less than the target minimum throughput.