DNS-Based Session Affinity for Stateful Cloud Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional cloud computing systems face challenges in scalability and effective routing of session calls due to limited traffic handling capabilities and failure to maintain stateful sessions across multiple resource instances, leading to inefficient load balancing and service delivery.
Innovation Solution
A resource management system utilizing an L3/L4 load balancer to route probe requests to available resource instances and provide instance-specific DNS entries, ensuring subsequent session calls are directed to the correct resource instance with access to session information, even in scenarios where conventional systems fail to maintain stickiness.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If cloud computing systems use conventional load balancers to distribute traffic, then scalability is improved, but stateful session continuity deteriorates because sessions cannot be effectively delivered to specific resource instances having access to session information
Solution Approach 1:
The patent introduces DNS as an intermediary between the load balancer and resource instances. The DNS system receives session information from the load balancer and translates it into routing decisions that direct subsequent session calls to the correct resource instance. This intermediary resolves the contradiction by enabling session continuity without requiring the load balancer to directly manage individual session states.
Solution Approach 2:
The system performs preliminary action by having the load balancer embed session information in the initial response packet before the client makes subsequent session calls. This pre-established information allows the DNS system to later route all session-related traffic to the correct resource instance without real-time negotiation, ensuring session continuity from the outset.
2Productivity
If cloud computing systems increase traffic handling capability across multiple resource instances, then scalability is improved, but session routing accuracy deteriorates because conventional systems cannot maintain stickiness across instances
Solution Approach 1:
DNS acts as a precision intermediary that receives embedding session information from the load balancer and translates it into accurate routing decisions. This allows the system to scale traffic handling across multiple instances while maintaining precise session routing through the DNS translation layer.
Solution Approach 2:
The system changes the parameter of session identification from simple IP-based routing to DNS-based routing with embedded session information. This parameter change enables the system to accurately identify and route sessions to the correct resource instances even as traffic scales across the infrastructure.
3Measurement precision
If the system embeds session information in response packets to enable direct client routing, then session delivery accuracy is improved, but device complexity increases due to the need for DNS-based affinity mechanisms
Solution Approach 1:
The DNS system performs multiple functions: it traditionally resolves domain names to IP addresses, and now additionally handles session affinity routing by translating embedding session information into routing decisions. This multi-functionality improves session delivery accuracy without requiring a completely new routing infrastructure.
Solution Approach 2:
The client device performs self-service by using the embedding session information received in the initial response to directly construct subsequent session calls without requiring continuous load balancer intervention. This reduces the complexity of the routing mechanism while maintaining high session delivery accuracy.
Data Source
Figure 1
Figure 2
Figure 3A~3B
AI summary
The present disclosure relates to systems, methods, and computer-readable media for managing routing of traffic between clients and resource instances when providing stateful services. For example, systems disclosed herein involve a load balancer that routes probe request(s) from clients to corresponding resource instances having access to stateful session data for a stateful session between the resource instance(s) and corresponding client(s). The resource instances may provide instance identifiers to the clients for use in generating subsequent session calls. In this way, systems described herein ensure that subsequent session calls are passed to the correct resource instances having access to relevant session information.