Session load balancing and use of VIP as source address for inter-cluster traffic through the use of a session identifier
First Claim
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:
- receiving a packet from a client connected to a network, the packet including a sender session identifier;
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.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for enhancing a load balancing network'"'"'s ability to load balance sessions is presented. A session identifier is placed within the TCP packet to enable a new mechanism of load distribution and connection grouping within a load balancing system. Specifically, TCP is invoked by a user application to obtain a unique session identifier value. TCP places the session identifier as a sender session identifier within the OPTIONS field of the TCP header. As an alternative, a session identifier can be placed within a session header that is attached to the TCP packet. On receiving such a packet, the destination load balancing system hashes over at least the session identifier value, and the node corresponding to the results of the hash algorithm acquires the packet. This method of hashing ensures that the same node acquires all subsequently received TCP packets possessing the same session identifier regardless of the source IP address or source port information. The node then places an identical session identifier value in the form of a response session identifier in its TCP response packet. When the TCP packet with response session identifier is received at a load balancing system, the node whose session identifier matches the response session identifier acquires it. This ensures that a response to a node assigned to a virtual IP address is received by the proper node, thus preventing other member nodes assigned to the same VIP address from picking up the packet instead.
-
Citations
20 Claims
-
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:
-
receiving a packet from a client connected to a network, the packet including a sender session identifier;
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. 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;
identifying an available sender session identifier for uniquely identifying a session between the client and the server;
forming a packet to be transmitted over a network to a destination IP address, the packet containing information that includes the sender session identifier; and
transmitting the packet to the destination IP address. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. One or more computer-readable media containing computer-executable instructions that, when executed, implement a computer process for enhancing the performance of a load balancing system, the computer process comprising:
-
receiving a TCP packet having a TCP header and an OPTIONS field from a computing device associated with a source IP address, the packet including a session identifier;
parsing the packet to identify the session identifier;
hashing over at least the session identifier to determine which node within the load balancing system will acquire the packet;
acquiring the packet by a single determinant node based on results of the hashing step, wherein all subsequently received packets carrying the same session identifier are acquired by the same determinant node; and
establishing a connection between the source IP address and a destination IP address associated with a second computing device by allocating a TCP control block for the connection.
-
Specification