Stateless TCP Load Balancing via Packet Modification
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
3Productivity
If stateful load balancers are used, then connections can be tracked, but the system is inefficient in handling server configuration changes
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
Data Source
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.


