NAT-Free Bidirectional Connections Through Stateless Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing communication networks face challenges in establishing NAT-free outbound bidirectional connections using stateless load balancers, particularly for protocols like SIP and SCTP, due to the complexity and inefficiency of stateful load balancers, which are required for high availability and scalability, and the limitations of current stateless load balancers in handling changing network topologies.
Innovation Solution
A method and system using stateless load balancers with Target Selector Hashing Functions (TSHF) to establish NAT-free outbound transport protocol connections by identifying eligible and permissible dynamically allocated connection resources, ensuring return packets are directed to the correct processing unit without Network Address Translation (NAT), utilizing algorithms like Consistent Hashing and Maglev Hashing for efficient load balancing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If stateful load balancers are used to establish NAT-free bidirectional connections, then connection reliability is improved, but device complexity and memory resource requirements increase
Solution Approach 1:
The patent segments the connection state management into two parts: the load balancer handles only basic connection forwarding using hash functions, while the actual connection state is maintained by the backend servers themselves. This segmentation allows the load balancer to remain stateless and simple, while still achieving reliable bidirectional connections through the coordinated use of hashing algorithms and server-side state tracking.
Solution Approach 2:
The backend servers perform self-service by maintaining their own connection state information and using it to determine how to handle incoming packets. Instead of relying on the load balancer to track all connection states, each server independently manages its own connection information, reducing the complexity burden on the load balancer while ensuring connection reliability.
2Reliability
If stateful load balancers are deployed for high availability, then system reliability is improved, but scalability and cost increase
Solution Approach 1:
The patent uses hash function copying across multiple load balancers to achieve consistency without state replication. Each load balancer independently computes the same hash value for a given connection using the same hashing algorithm and parameters, ensuring that all load balancers make identical forwarding decisions without needing to share or replicate connection state information. This copying approach enables horizontal scaling while maintaining high availability.
3Ease of operation
If Network Address Translation (NAT) is used for load balancing, then packet routing is simplified, but protocol compatibility deteriorates
Solution Approach 1:
The patent introduces hash-based connection identification as an intermediary mechanism between the load balancer and the actual packet routing. Instead of directly modifying packet addresses through NAT, the system uses hash functions to generate connection identifiers that mediate the routing process. This intermediary approach maintains original packet addresses intact while still achieving proper packet routing to the correct backend servers, thereby preserving protocol compatibility.
4Device complexity
If stateless load balancers are used to reduce complexity, then device complexity is reduced, but ability to handle changing network topologies worsens
Solution Approach 1:
The patent implements dynamic adaptation in stateless load balancers by using hash functions that can dynamically respond to changes in network topology. When backend servers are added, removed, or moved, the hashing algorithm automatically redistributes connections across the available servers without requiring load balancer reconfiguration or state updates. This dynamic hashing approach enables stateless load balancers to adapt to changing topologies while maintaining their simplicity.
Data Source
AI summary
A method for establishing a bidirectional connection between a client and a remote node is disclosed. The method is performed by a processing unit that is a member of a cluster of processing units implementing clients for a communication network node, wherein each member of the cluster comprises at least one identifier that is unique within the cluster, and wherein each member of the cluster shares the same Virtual Internet Protocol (VIP) address. An eligible dynamically allocated connection resource value for the connection comprises a resource value which ensure distribution coherency for packets returned on the connection, and a permissible dynamically allocated connection resource value for the connection comprises a resource value which will not cause a protocol violation of a protocol used for establishing the bidirectional connection.


