A new approach is described for scheduling uplink or downlink
transmissions in a network having remote terminals communicating with a
central hub. The scheduler keeps track of a token count. The token count
for a given remote terminal is incremented by a target amount in each
pertinent timeslot, but is also decremented each time that the remote
terminal is served. The amount of the decrement for one timeslot is the
amount of data served, i.e., transmitted to or from the remote terminal,
in that timeslot. In exemplary embodiments of the invention, the target
amount by which T is incremented depends on the current value of T.
Whenever the token count is non-negative (i.e., whenever it has a
positive or zero value), the target amount is a desired floor, or lower
limit, on an average amount of data delivered to or from the given remote
terminal in one timeslot. Whenever the token count is negative, the
target amount is a desired ceiling, or upper limit, on the same average
amount of data delivered. In each timeslot, each remote terminal is
assigned a weight proportional to a product of at least two factors: a
function relating the individual remote terminal to overall network
performance, and at least one increasing function of the token count.
Each time a scheduling decision is made, the scheduler selects for
service that remote terminal having the highest weight.