Load Balancer Bypass for Multi-Message Flow Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing load balancer systems in multi-message flows require multiple network messages to pass through the load balancer, leading to inefficiencies and potential bottlenecks, as they do not allow for direct communication between source and destination machines without re-routing through the load balancer for subsequent messages.
Innovation Solution
The system enables the load balancer to select a destination machine for the initial message and instructs the source intermediary to bypass the load balancer for subsequent messages by modifying the addressing of subsequent flow messages, allowing direct communication between the source and destination machines.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If all messages in a multi-message flow pass through the load balancer, then load balancing can be maintained for all messages, but system performance degrades and the load balancer becomes a bottleneck
Solution Approach 1:
The message flow is segmented into two parts: initial messages that require load balancer processing for destination selection, and subsequent messages that bypass the load balancer. This segmentation allows the system to maintain load balancing where needed while eliminating unnecessary load balancer involvement for established connections, thereby improving throughput and reducing latency.
Solution Approach 2:
The load balancer performs preliminary action by selecting the destination machine in advance during the initial message exchange. Once the destination is determined, this routing information is cached and used for subsequent messages in the same flow, eliminating the need for repeated load balancer processing and improving overall system performance.
2Reliability
If the load balancer processes every message, then routing decisions can be optimized for each message, but latency increases due to repeated processing
Solution Approach 1:
Routing decisions are made in advance by the load balancer during the initial message processing. The selected destination machine is cached, and subsequent messages in the same flow directly use this pre-determined routing information, eliminating repeated processing delays while maintaining routing optimization through the initial intelligent selection.
Solution Approach 2:
Instead of re-processing routing decisions for each message, the system creates a copy of the routing information (destination machine selection) from the initial message and reuses it for subsequent messages in the flow. This copying approach maintains routing optimization while significantly reducing processing time for each individual message.
3Speed
If direct communication between source and destination machines is enabled, then message delivery speed improves, but load balancing capability is lost
Solution Approach 1:
The communication flow is segmented into an initial phase that uses load balancer-mediated communication for destination selection and a subsequent phase that uses direct communication for improved speed. This segmentation allows the system to achieve both load balancing flexibility (through initial selection) and high-speed direct communication (for subsequent messages).
Solution Approach 2:
The load balancer performs preliminary destination selection before enabling direct communication. By making the routing decision in advance, the system maintains load balancing capability for the initial connection establishment while allowing subsequent messages to travel directly between source and destination machines at higher speed.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Bypassing a load balancer that initially appeared in a multi-message flow from a source machine served by a source intermediary and a target machine served on a target intermediary. One or more original network messages (and perhaps just the first) of the flow arrive from the source intermediary at the load balancer, which selects which machine is to be a destination machine, and it turns out selects the destination machine serviced by the destination intermediary. In response to receiving this message, the destination intermediary instructs the source intermediary to transmit subsequent messages in the flow in a manner that bypasses the load balancer. To facilitate this, the source intermediary may modify addressing of subsequent flow messages from the source machine such that they are rerouted to the destination machine without addressing the load balancer.