US 7,483,992 B2
Session load balancing and use of VIP as source address for inter-cluster traffic through the use of a session identifier
Pradeep Bahl, Redmond, Wash. (US)
Assigned to Microsoft Corporation, Redmond, Wash. (US)
Filed on Nov. 30, 2005, as Appl. No. 11/291,803.
Application 11/291803 is a continuation of application No. 09/703973, filed on Nov. 01, 2000, granted, now 7,003,574, filed on Feb. 21, 2006.
Prior Publication US 2006/0080446 A1, Apr. 13, 2006
Int. Cl. G06F 15/16 (2006.01); G06F 15/173 (2006.01); H04L 9/00 (2006.01)
U.S. Cl. 709—228  [709/223; 709/227; 709/230; 713/151; 713/201] 18 Claims
OG exemplary drawing
 
1. A method for enabling sessions established between a client and a server to be uniquely defined to enhance the performance of a load balancing system, the method comprising the steps of:
invoking client-side TCP executable instructions;
receiving a packet from a client connected to a network, the packet including a sender session identifier, wherein the load balancing system includes a first session identifier pool and a second session identifier pool, wherein the first session identifier pool and the second session identifier pool together contain a range of unique session identifiers that are each distributed amongst a plurality of nodes within the load balancing system such that each node has its own pool of exclusive session identifiers, wherein the sender session identifier is determined by at least one of the following:
invoking the TCP executable instructions to obtain the sender session identifier from the first session identifier pool of available session identifiers;
using an application that invoked the TCP executable instructions to automatically assign the sender session identifier; and
querying a service that resides on a node to obtain the sender session identifier from the second session identifier pool of available session identifiers;
parsing the packet to obtain the sender session identifier;
hashing over at least the sender session identifier to determine which node within the load balancing system will acquire the packet; and
acquiring the packet by a single determinant node based on the results of the hashing step.