Patent ID: 7467207

Claim:
A method of balancing communication load in a system running a communication application, comprising: recognizing that a first user logs onto the communication application via a first client, which communicates with a first server, and that a communication is issued to one or more other users by the first client on behalf of the first user; checking whether user-user affinity data exists for the first user with respect to the one or more other users; if the user-user affinity data does not exist, managing the communication application to handle the communication in accordance with predetermined load balancing procedures; monitoring subsequent communications issued to the one or more other users on behalf on the first user by the first and/or another client in communication with the first and/or another server; generating the non-existing user-user affinity data for the first user with respect to the one or more other users as being based upon the monitored subsequent communications and upon server addresses associated with each of the other users; storing the generated user-user affinity data; in response to a current communication issued to the one or more other users on behalf of the first user, analyzing the stored user-user affinity data to determine affinity priorities of the first user with respect to the other users in accordance with a number of times each of the other users is targeted in a communication; and sending the current communication directly to a server, which is identified by one of the server addresses and which is currently associated with the one currently logged on other user for whom the first user has a highest affinity priority.