Load Balancer Bypass for Multi-Message Flow Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvemessage delivery efficiencyVSAvoidload balancer involvement
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the load balancer processes every message, then routing decisions can be optimized for each message, but latency increases due to repeated processing

Engineering Contradiction:
Improverouting optimizationVSAvoidmessage processing time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

3Speed

If direct communication between source and destination machines is enabled, then message delivery speed improves, but load balancing capability is lost

Engineering Contradiction:
Improvemessage delivery speedVSAvoidload balancing flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

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).

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2909999B1Load balancer bypass
Publication Date: 2019.11.20 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2909999B1 patent drawingFigure 1
  • EP2909999B1 patent drawingFigure 2
  • EP2909999B1 patent drawingFigure 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.