A method of reducing bandwidth limitations to send events to a set of
interested clients within a pre-defined time period as quickly and fairly
as possible. The clients can be re-distributed among the servers in a
network such that the delay due to server overloading is minimized by
moving clients from an overloaded server to a server with available
bandwidth. In addition, the latency of client-server communications can
be incorporated into an estimation of download times, and the servers can
then initiate delivery to respective clients based on those download
times. By staggering the send times to account for heterogeneous
latencies, more clients can receive the event at the same time, and a
fairness of distribution can be achieved.