Stateless TCP Load Balancing via Packet Modification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional load balancers are inflexible and cannot dynamically scale with load, and software-based load balancers are stateful, making them inefficient in handling server additions or removals, especially in supporting TCP connections across multiple servers.

Innovation Solution

A stateless load balancing system that uses a processor to select and manage TCP connections across a set of servers by propagating modified synchronization messages and packets, allowing for dynamic server configuration updates and efficient handling of TCP keep-alive packets without maintaining connection state.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional physical load balancers are used, then connections can be balanced across multiple servers, but the system cannot be scaled up or down dynamically based on load

Engineering Contradiction:
Improvedynamic scaling capabilityVSAvoidload balancer flexibility
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic scaling by allowing the load balancer to modify packet destination addresses based on current server availability and load conditions. The system dynamically adjusts the mapping between client requests and server resources without requiring fixed physical configurations, enabling the infrastructure to scale up or down based on demand while maintaining connection balancing capabilities

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If software-based load balancers are used, then dynamic scaling is possible, but the load balancer is stateful and cannot handle addition or removal of servers gracefully

Engineering Contradiction:
Improveserver addition/removal handlingVSAvoidstate management overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the state management overhead from the load balancing decision-making process. By removing the need to maintain connection state in the load balancer, the system can gracefully handle server additions and removals without complex state synchronization. The load balancer simply modifies packet destinations based on current server topology without tracking individual connection states, enabling smooth dynamic reconfiguration

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If stateful load balancers are used, then connections can be tracked, but the system is inefficient in handling server configuration changes

Engineering Contradiction:
Improveconfiguration update efficiencyVSAvoidconnection state consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a self-service mechanism where the load balancer autonomously handles configuration changes by modifying packet destination addresses based on current server topology. The system does not require complex state synchronization or coordination when servers are added or removed - the load balancer automatically adapts its routing decisions based on available servers, improving configuration update efficiency while maintaining connection reliability through stateless operation

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9560126B2Stateless load balancing of connections
Publication Date: 2017.01.31 ALCATEL LUCENT SA
  • US9560126B2 patent drawing
  • US9560126B2 patent drawing
  • US9560126B2 patent drawing

AI summary

A capability is provided for statelessly load balancing Transmission Control Protocol (TCP) connections across a set of servers. A load balancer receives a TCP SYN packet from a client, selects a server for a TCP connection for the client, forms a modified TCP SYN packet including an address of the client, and propagates the modified TCP SYN packet toward the server. The server receives the modified TCP SYN packet, forms a TCP SYN+ACK packet including an identifier (e.g., n bits of an address, an n-bit server index based on mapping information of the load balancer, or the like) of the server, and propagates the modified TCP SYN+ACK packet toward the load balancer. The load balancer receives a TCP packet from the client on the TCP connection, determines a server associated with the TCP connection based on information included within the TCP packet, and propagates the TCP packet toward the server.