Stateless URL Routing for Cloud Load Balancers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional load balancers in cloud-based systems face challenges in efficiently routing network traffic across a large number of backend servers without maintaining state information, requiring complex rules and frequent updates due to dynamic server allocation, especially when multiple load balancers are used for redundancy or scalability.

Innovation Solution

The method involves encoding network addresses within Uniform Resource Locators (URLs) that are sent to client devices, allowing the load balancer to decode and route requests to specific nodes without maintaining state information, using techniques such as hashing IP addresses within the subdomain or path portion of the URLs, enabling stateless routing and scaling to an arbitrary number of nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If traditional load balancers maintain state information about backend servers using lookup tables or prioritized lists, then routing decisions can be made, but the complexity of the load balancer increases and processing time increases due to iterating through long lists of rules

Engineering Contradiction:
Improverouting capabilityVSAvoidload balancer complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent extracts the routing logic from the load balancer by embedding it directly in the URL. Instead of maintaining state information and complex routing tables in the load balancer, the specific backend server identification is extracted and placed in the URL path. This allows the load balancer to become stateless and simpler, while still achieving precise routing to specific backend servers.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If traditional load balancers maintain state information and use complex rules for routing, then proper routing can be ensured, but the processing time increases due to iterating through rules lists

Engineering Contradiction:
Improverouting accuracyVSAvoidrequest processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The routing information is prepared in advance and embedded in the URL before the request reaches the load balancer. The URL contains pre-computed routing information (backend server identification) that eliminates the need for real-time rule evaluation. This preliminary encoding of routing data in the URL allows for immediate routing decisions without iteration through rules lists.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If cloud-based systems frequently allocate and deallocate backend servers, then system flexibility is improved, but the load balancer requires frequent updates and complex rules to ensure proper routing

Engineering Contradiction:
Improveserver allocation flexibilityVSAvoidload balancer configuration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system enables self-service routing where the URL itself carries all necessary routing information. When backend servers are allocated or deallocated, the URL generation process automatically reflects the current server state. The load balancer doesn't need to be reconfigured because it simply decodes the routing information from incoming URLs without maintaining any state or rules about backend servers.

Inventive Principle:
Principle #25Self-service

4Reliability

If multiple load balancers are employed for redundancy or scalability, then system reliability is improved, but the complexity of maintaining consistent routing across multiple load balancers increases

Engineering Contradiction:
Improvesystem availabilityVSAvoidmulti-load balancer coordination complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The URL-based routing approach creates a universal routing mechanism that works identically across all load balancers. Each load balancer independently decodes URLs and routes requests without needing to communicate with or synchronize with other load balancers. This universal approach enables multiple load balancers to be deployed for redundancy and scalability while maintaining consistent routing behavior through the same URL decoding logic.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11570135B2Routing for large server deployments
Publication Date: 2023.01.31 CAPITAL ONE SERVICES LLC
  • US11570135B2 patent drawing
  • US11570135B2 patent drawing
  • US11570135B2 patent drawing

AI summary

In one aspect, the present disclosure relates to a method comprising: receiving, at a client device, information from a node manager about a plurality of nodes in a computer cluster, the information comprising a network address associated each of the plurality of nodes and sending, by the client device, a request to a load balancer to access a first node from the plurality of nodes, the request comprising a first URL including an encoded representation of the network address associated with the first node. The load balancer is configured to determine the request should be routed to a first network address based on decoding the URL, the first network address associated with a first node from the plurality of nodes and forward the request to the first node in response to the determining.