Stateless Load Balancing via TCP Timestamp Side-Channel
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing load-balancing solutions in datacenters face challenges in managing high volumes of data and ensuring reliable connection affinity without requiring per-flow state, leading to performance degradations and limitations in hardware-based implementations.
Innovation Solution
Implementing a stateless and reliable load balancing method using segment routing and the TCP Timestamp (TS) as an available side-channel, which allows for efficient server selection and connection affinity by encoding a per-flow index in the lower-order bits of the TS field, enabling optimal routing even with server changes and high server churn.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional load-balancing solutions are implemented in hardware, then processing speed is improved, but reliability of connection affinity deteriorates due to state management limitations
Solution Approach 1:
The patent extracts the state management function from the load balancer itself, allowing hardware-based load balancers to operate without maintaining per-flow state. Instead, a separate controller component manages the state information, enabling the load balancer to achieve both high-speed hardware processing and reliable connection affinity tracking through external state management.
Solution Approach 2:
The patent introduces a controller as an intermediary between the load balancer and the backend servers. This controller maintains the state information and coordinates with the load balancer to ensure reliable connection affinity, while the load balancer focuses on high-speed packet forwarding without state management overhead.
2Reliability
If per-flow state is maintained for connection affinity, then reliability is improved, but device complexity and memory requirements worsen
Solution Approach 1:
The patent extracts the complex state management functionality from the load balancer and places it in a separate controller. This separation allows the load balancer to remain simple and hardware-friendly while the controller handles the complexity of maintaining connection affinity state, reducing device complexity and memory requirements at the load balancer.
3Productivity
If more servers are added to handle high volume traffic, then productivity is improved, but maintaining connection affinity becomes more difficult
Solution Approach 1:
The patent introduces a controller as an intermediary that manages connection affinity across multiple servers. When traffic volume increases and more servers are added, the controller coordinates the distribution of connections while maintaining affinity, abstracting the complexity of tracking connections across numerous servers from the load balancer itself.
Solution Approach 2:
The patent extracts the complexity of managing connection affinity across multiple servers from the load balancer and places it in a separate controller. This allows the system to scale to handle high traffic volumes with multiple servers while the controller manages the coordination and state information, preventing complexity from increasing at the load balancer level.
Data Source
AI summary
Stateless and reliable load balancing using segment routing and an available side-channel may be provided. First, a non-SYN packet associated with a connection may be received. The non-SYN packet may have first data contained in an available side-channel. Next an associated bucket may be retrieved based on a hash of second data in the non-SYN packet. The associated bucket may identify a plurality of servers. Then a one of the plurality of servers may be selected based on the first data contained in the available side-channel.

