Consistent Hash Load Balancer for Session Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Affinity-based load balancers face challenges in routing requests accurately when nodes fail or when user states are dynamically redistributed, leading to inefficient resource usage and increased overhead due to reliance on outdated or non-existent session information.

Innovation Solution

Implementing a consistent hash function that uses both session identifiers and up-to-date topology information to determine the correct node for routing requests, ensuring that requests are directed to active nodes containing the user session without maintaining additional routing information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If affinity-based load balancers are used to route requests to nodes storing session states, then session state persistence is maintained, but routing accuracy deteriorates when nodes fail or topology changes

Engineering Contradiction:
Improvesession state persistenceVSAvoidrouting accuracy
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The patent changes the routing parameter from static affinity-based node selection to dynamic consistent hashing that incorporates real-time topology information. This allows the system to maintain session state persistence while adapting to node failures and topology changes, thereby resolving the contradiction between reliability and routing accuracy.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The load balancer implements feedback by continuously monitoring node topology and using this information to update routing decisions. The consistent hashing function takes current topology as input, ensuring that routing accuracy is maintained even when nodes fail or are added, while still preserving session state associations.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If traditional load balancers maintain routing information for session states, then request routing is accurate, but system complexity and overhead increase

Engineering Contradiction:
Improverouting accuracyVSAvoidrouting information management
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts the routing information management burden from the load balancer by using consistent hashing to deterministically compute node selection based on session ID and topology. This eliminates the need for the load balancer to maintain complex routing tables, reducing system complexity while preserving routing accuracy through the mathematical properties of consistent hashing.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The consistent hashing function enables self-service routing where the routing decision is automatically determined by the session identifier and current topology without requiring centralized routing information management. Each load balancing decision is independently computable, reducing the overhead of maintaining global routing state.

Inventive Principle:
Principle #25Self-service

3Productivity

If session states are dynamically redistributed across nodes, then load balancing efficiency is improved, but routing accuracy deteriorates due to outdated session information

Engineering Contradiction:
Improveload balancing efficiencyVSAvoidsession state location accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent implements dynamic routing by making the consistent hashing function dependent on real-time topology information. As session states are dynamically redistributed across nodes, the topology updates and the hashing function automatically adapts, maintaining accurate routing to current session state locations while preserving load balancing efficiency through flexible node selection.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10999361B2Consistent hash-based load balancer
Publication Date: 2021.05.04 RED HAT INC
  • US10999361B2 patent drawing
  • US10999361B2 patent drawing
  • US10999361B2 patent drawing

AI summary

Systems and techniques are disclosed for receiving, with a load balancer, a request from a client device. The request includes a session identifier corresponding to a session state associated with the request. The session state is stored on a first node within a cluster of nodes associated with the load balancer. A hash function is applied using the session identifier and topology information about the cluster of nodes. Based on a result of the hash function, a determination is made as to a selected node within the cluster of nodes to which the request is to be routed. The request is routed to the selected node.