Patent ID: 7543061

Claim:
In a network communications environment comprising at least a first and a second server client, a client, and a client-to-home-server assignment data structure specifying assignments of the clients to a server to which clients can subscribe, a method for changing the distribution of traffic among the servers, the method comprising: receiving at the first server a registration request from the client, wherein the registration request comprises a Session Initiation Protocol Register message; determining at the first server a server with which the client is assigned to work based on the client-to-home-server assignment data structure; when the determined server is the first server, processing the registration request at the first server; when the determined sever is the second server, checking a number of Via headers in the registration request, the number of Via headers indicating how many times the registration request has been forwarded; and if the number of Via headers is one, then sending a request from the first server to the client redirecting the client to work with the second server; else if the number of Via headers is greater than one, then proxying from the first server the client's registration request to the second server so that the second server processes the registration request; setting up a subscription by a watcher to a current server; monitoring the distribution of traffic among the servers; determining that a change in the distribution of traffic could be beneficial; modifying the client-to-home-server assignment data structure to reflect a change in assignment of the client from the current server to a new server; and sending a notification to the watcher of the change in assignment so that the watcher can set up a new subscription.