A method for determining a load distribution for a plurality of servers is
disclosed. A total user count during a predetermined interval of time is
received from each server of a plurality of servers for all channel
resources associated with each respective server of the plurality of
servers. A present load distribution is determined for the predetermined
interval of time for each respective server of the plurality of servers
based on the total user count received from each server. A load gradient
is determined for the predetermined interval of time from each server of
the plurality of servers. A future load distribution is determined for
each respective server based on the total user count for each server and
each respective load gradient. Lastly, a load distribution for each
respective channel resource is distributed among the plurality of servers
based on the determined future load distribution for each respective
channel resource. The predetermined interval of time is a sliding window
of time having a predetermined number of timeslots each having a
predetermined timeslot interval. Additionally, a load gradient for a
server is based on a difference between the total number of users
connected to the server at the end of the predetermined interval of time
and the total number of users connected to the server at the beginning of
the predetermined interval of time. When a new channel resource is
created, an initial estimated weight is assigned to the new channel
resource. The new channel resource is then assigned to a selected server
of the plurality of servers based on the initial estimated weight
associated with the new channel resource and a load distribution
associated with each respective server of the plurality of servers.