Patent ID: 7194549

Claim:
A method of multicasting information to a set of clients comprising: constructing a data topology associated with the set of clients based on a set of performance parameters associated with the set of clients; determining a primary client using the performance parameters and a network location of the client, the network location relating to the data topology; transmitting a first portion of the multicast information to the primary client from a server; instructing the primary client to forward the first portion of the information to a secondary client; and in the event a new client is added to the set of clients: receiving a new performance parameter associated with the new client; determining based at least in part on the new performance parameter whether the new client is to be used instead of the first primary client to forward multicast information to the secondary client; and in the event it is determined that the new client is to be used instead of the first primary client to forward multicast information to the secondary client, designating the new client as a new primary client to be used to forward a subsequently sent portion of the information, if any, to the secondary client.