Distributed Load Balancer Message Bus Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional load balancers face scalability issues in large network environments, such as cloud computing services, and rely on outdated techniques like max connections and round robin for load balancing, which are inefficient and difficult to manage in distributed systems.

Innovation Solution

A distributed load balancing system that employs multipath routing, consistent hashing, and health checking, allowing load balancer nodes to randomly select server nodes and enabling servers to manage TCP connections directly, thereby shifting decision-making closer to the point of service and improving scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional load balancers are used with max connections, round robin, and least connections techniques, then load balancing decisions can be made centrally, but the system does not scale well in environments with hundreds or thousands of host devices

Engineering Contradiction:
Improveload balancing capabilityVSAvoidsystem scalability
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the centralized load balancer into multiple distributed load balancer nodes that operate independently. Each node manages a subset of host devices and makes local load balancing decisions, eliminating the single point of failure and scaling limitations of conventional centralized load balancers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of distribution by deploying load balancing functionality across multiple nodes in the network rather than relying on a single centralized device. This dimensional shift from centralized to distributed architecture enables the system to scale horizontally to handle hundreds or thousands of host devices.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Ease of operation

If conventional load balancers terminate TCP connections and act as proxies, then connection management is centralized, but direct communication between clients and host devices is blocked

Engineering Contradiction:
Improveconnection managementVSAvoiddirect communication capability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent extracts the TCP connection termination function from the load balancing path. Load balancer nodes forward TCP packets without terminating connections, allowing clients and host devices to establish direct TCP connections while still benefiting from distributed load balancing decisions.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces load balancer nodes as intermediaries that forward packets between clients and host devices without terminating connections. These nodes act as transparent mediators that enable both direct communication and intelligent load balancing simultaneously.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If load balancer nodes make random selection of server nodes, then decision-making is distributed closer to service point, but connection tracking complexity increases

Engineering Contradiction:
Improvedecision-making efficiencyVSAvoidconnection tracking
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements preliminary action by having load balancer nodes pre-track connection states and maintain flow tables before packets arrive. This allows nodes to quickly make load balancing decisions based on pre-computed information rather than analyzing each packet in real-time, reducing the complexity of distributed decision-making.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces complex mechanical connection tracking with a simplified packet forwarding mechanism. Load balancer nodes use consistent hashing and flow tables to determine destination nodes, substituting intricate state management with deterministic routing rules that are easier to track and manage.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS9559961B1Message bus for testing distributed load balancers
Publication Date: 2017.01.31 AMAZON TECH INC
  • US9559961B1 patent drawing
  • US9559961B1 patent drawing
  • US9559961B1 patent drawing

AI summary

A test system for a distributed load balancer in which a router receives packets from at least one client and routes packet flows to multiple load balancer (LB) nodes, which in turn distribute the packet flows among multiple server nodes. The test system includes message bus technology that enables the distributed load balancer to be run in a single process without requiring load balancing code to be deployed to multiple hosts in a production network. The message bus technology may be implemented in message bus layers of the test system to simulate network segments. The message bus functionality hooks into the IP tables at the kernel level, intercepts packets, and sends the packets up into the message bus process for routing.