Shared Session Cache for Load Balancer Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional high availability (HA) load balancer pairs are inefficient as backup load balancers often sit idle and can terminate connections if both primary and backup fail simultaneously, leading to user frustration due to loss of persistent sessions when clients reconnect to different HA pairs without session information.
Innovation Solution
Implementing a shared session cache that allows any load balancer to access and maintain information about client-device associations with backend servers, enabling seamless session continuation across load balancer changes and efficient resource utilization by allowing physical and virtual load balancers to be added or removed without session loss.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional HA load balancer pairs are used, then backup load balancers provide redundancy, but backup load balancers sit idle and can terminate connections if both primary and backup fail simultaneously
Solution Approach 1:
The patent merges the session cache functionality into a shared external storage system that is accessible by all load balancers in the pool. This eliminates the need for separate local session caches on each load balancer and allows any load balancer to access session information for any client device, ensuring session continuity while enabling all load balancers to actively participate in handling requests.
Solution Approach 2:
The shared session cache enables all load balancers to perform the same session management functions, not just the primary load balancer. Any load balancer can retrieve session information and continue handling requests for clients that were previously served by other load balancers, making the system more flexible and eliminating idle backup load balancers.
2Reliability
If load balancers use local session caches, then session information is stored locally, but session information is lost when load balancers change
Solution Approach 1:
The patent introduces an intermediary shared storage system that acts as a mediator between load balancers and session data. Instead of load balancers directly maintaining local session caches, they all access the shared session cache through a common interface, ensuring that session information persists across load balancer changes while allowing the system to scale flexibly.
3Reliability
If backup load balancers are maintained for redundancy, then failover capability is provided, but resources are wasted as backups sit idle
Solution Approach 1:
The patent transforms the static role of backup load balancers into a dynamic system where any load balancer can assume the role of handling specific client sessions based on availability and load conditions. The shared session cache enables this dynamic redistribution of work, allowing all load balancers to be actively utilized while maintaining failover capability.
Data Source
AI summary
A shared session cache can be accessible by multiple load balancers, and can indicate whether client devices are associated with specific backend servers of a server pool. When a client device connects to a load balancer, the load balancer can use the shared session cache to determine if the client device is already associated with a specific backend server. If so, the load balancer can connect the client device to that specific backend server so that it can continue an existing session with the specific backend server. If not, the load balancer can select a new backend server for the client device, connect the client device to the newly selected backend server, and create an entry in the shared session cache indicating that the client device is associated with the newly selected backend server.


