Stateless Load Balancing via TCP Timestamp Side-Channel

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprocessing speedVSAvoidconnection affinity reliability
Core Design Contradiction:
SpeedVSReliability

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If per-flow state is maintained for connection affinity, then reliability is improved, but device complexity and memory requirements worsen

Engineering Contradiction:
Improveconnection affinity reliabilityVSAvoidstate management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If more servers are added to handle high volume traffic, then productivity is improved, but maintaining connection affinity becomes more difficult

Engineering Contradiction:
Improvetraffic handling capacityVSAvoidconnection tracking complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10680955B2Stateless and reliable load balancing using segment routing and TCP timestamps
Publication Date: 2020.06.09 CISCO TECHNOLOGY INC
  • US10680955B2 patent drawing
  • US10680955B2 patent drawing

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.