Distributed Load Balancing for Multipath Transport Protocols
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed application load-balancing architectures are incompatible with multipath transport protocols, as they break down when client devices or application services attempt to use multipath transport protocols, leading to incorrect routing of subflows to application servers.
Innovation Solution
The burden of generating new network five-tuples is shifted to application servers, allowing load balancers to continue stateless, low-level processing and ensuring correct routing of subflows by using a hashing function provided by the load balancers, ensuring that additional subflows are routed to the correct application server.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If load balancers use network five-tuple hashing to route packets, then routing efficiency is improved, but compatibility with multipath transport protocols deteriorates
Solution Approach 1:
The patent introduces a session manager as an intermediary component between the load balancer and application servers. The session manager receives session establishment requests, generates consistent five-tuples using the hashing function, and manages session state information. This intermediary enables multipath transport protocols to work with load-balancing architectures by mediating the routing decisions and ensuring consistent server assignment across multiple subflows while maintaining the efficiency of hash-based routing.
2Speed
If load balancers perform minimal processing on packets, then processing speed is improved, but ability to support multipath protocols deteriorates
Solution Approach 1:
The patent segments the packet processing function into two parts: the load balancer performs minimal processing by extracting five-tuples and performing hash calculations at high speed, while the session manager handles the complex session management and multipath protocol logic. This segmentation allows the load balancer to maintain high packet processing speed while the system as a whole gains the ability to support multipath transport protocols through the session manager's intelligent handling of session state and subflow management.
3Reliability
If consistent hashing is used for connection assignment, then reliability is improved, but complexity of handling multipath subflows increases
Solution Approach 1:
The session manager implements self-service mechanisms by automatically generating consistent five-tuples using the load balancer's hashing function, tracking session state, and making routing decisions without requiring complex coordination between multiple load balancers. The system uses the existing consistent hashing infrastructure to automatically ensure reliable connection assignment while the session manager handles the complexity of multipath subflow management through automated session state tracking and subflow establishment procedures.
Data Source
AI summary
Techniques are described for providing a distributed application load-balancing architecture that supports multipath transport protocol for client devices connecting to an application service. Rather than having client devices generate new network five-tuples for new subflows to the application servers, the techniques described herein include shifting the burden to the application servers to ensure that the new network five-tuples land in the same bucket in the consistent hashing table. The application servers may receive a hashing function utilized by the load balancers to generate the hash of the network five-tuple. By having the application servers generate the hashes, the load balancers are able to continue stateless, low-level processing of the packets to route them to the correct application servers. In this way, additional subflows can be opened for client devices according to a multipath transport protocol while ensuring that the subflows are routed to the correct application server.


