Session Affinity Cache for Load Balancer Stability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current load balancing systems face instability and session management issues when cookies are not allowed, leading to session exceptions and errors due to non-unique session identifiers across multiple servers from different vendors, especially when handling mixed servers providing embedded content.

Innovation Solution

A session affinity cache and manager system that uses a common session identifier to translate and rewrite requests and responses, maintaining relationships between resource node session identifiers and common session identifiers, ensuring consistent session management across multiple servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If session affinity marks are used in cookies for session management, then session stability is improved, but client compatibility deteriorates when cookies are not allowed

Engineering Contradiction:
Improvesession stabilityVSAvoidclient compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a session affinity cache as an intermediary component between the load balancer and servers. This cache stores session affinity information and provides a unified session identifier that works across different servers, eliminating the need for cookie-based session affinity marks while maintaining session stability. The intermediary translates between different session identification mechanisms, ensuring compatibility with clients that do not support cookies.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the session identification parameter from cookie-based session affinity marks to a unified session identifier stored in the session affinity cache. This parameter change allows the system to maintain session stability through a different mechanism that is compatible with clients that have cookie restrictions enabled.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If multiple servers generate separate session identifiers, then server independence is maintained, but session consistency deteriorates across mixed servers

Engineering Contradiction:
Improveserver independenceVSAvoidsession consistency
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent merges multiple server-specific session identifiers into a single unified session identifier through the session affinity cache. The cache consolidates session information from multiple servers, creating a unified view that maintains session consistency across the entire system while allowing individual servers to maintain their independence and generate their own session identifiers as needed.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8583810B2Session affinity cache and manager
Publication Date: 2013.11.12 RED HAT INC
  • US8583810B2 patent drawing
  • US8583810B2 patent drawing
  • US8583810B2 patent drawing

AI summary

A method and apparatus for managing sessions by a load balancer using a session affinity cache to manage common session identifiers and resource node session identifiers. A session affinity manager within the load balancer utilizes a common session identifier to represent multiple sessions to a client. The session affinity manager provided generates a common session identifier for a set of resource node sessions for each client. The relationship between the resource node session identifiers and common session identifier is maintained in the session affinity cache by the session affinity manager. The session affinity manager translates client requests using the common session identifier into requests using the resource node session identifier retrieved from the session affinity cache. The session affinity manager rewrites resource node responses to use a common session identifier in place of resource node session identifiers.