Patent ID: 8316104

Claim:
A system for enabling collaborative sessions comprising: a network of reflectors, each of the reflectors having a reflector monitoring agent which obtains status information comprising reflector to reflector communication performance and which provides the status information to a register/server; a first client which is in communication with only one of the reflectors that is chosen by the first client from a plurality of suggested reflectors identified by the register/server and whose identity was provided to the first client, the first client including a first monitoring agent which obtains first status information concerning the first client and which provides the first status information to the register/server, and wherein said one of the reflectors chosen by the first client is chosen based on a set of criteria comprising at least the proximity of the reflector chosen by the first client to the first client, and the current load on the reflector chosen by the first client, and quality of a network link to the reflector chosen by the first client; and a second client which is in communication with only one of the reflectors that is chosen by the second client from a plurality of suggested reflectors identified by the register/server and whose identity was provided to the second client, the second client having a second monitoring agent which obtains second status information concerning the second client and which provides the second status information to the register/server; and wherein the register/server is in communication with the network of reflectors and with the first and second client, and wherein the register/server receives status information from the first and second monitoring agents and from each of the reflector monitoring agents, and wherein the register/server controls operations of the clients and reflectors during a collaborative session based on the received status information; and wherein the register/server upon request from the first client identifies a plurality of reflectors with which the first client can communicate with and provides the identity of each of the identified reflectors to the first client; and wherein the register/server upon request from the second client identifies a plurality of reflectors with which the second client can communicate with and provides the identity of each of the identified reflectors to the second client.