Distributed Load Balancing Engine Policy Release

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Centralized load balancing solutions face bottlenecks with large-traffic service calling, leading to performance constraints and increased development and maintenance costs due to the need for multiple client versions across different language stacks.

Innovation Solution

A distributed load balancing engine that computes and releases load balancing policies, allowing clients to independently schedule service messages, reducing the engine's impact from large-traffic service calling and enabling unified policy use across different language stacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a centralized load balancer is used to manage all service requests, then load balancing can be achieved, but the load balancer becomes a bottleneck when traffic is large

Engineering Contradiction:
Improveload balancing capabilityVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the centralized load balancing function into distributed load balancing components deployed across multiple servers. Each server independently performs load balancing for its local services, eliminating the single point of failure and bottleneck. This is achieved by deploying load balancing agents on individual servers rather than relying on a central load balancer to handle all traffic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the load balancing logic from the centralized load balancer and embeds it directly into the service servers. This allows load balancing decisions to be made locally at each server, removing the traffic bottleneck at the centralized load balancer while maintaining load balancing functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

2Ease of operation

If a centralized load balancer is used, then traffic management is simplified, but the system becomes vulnerable to single point of failure

Engineering Contradiction:
Improvetraffic management simplicityVSAvoidsystem fault tolerance
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system is segmented into multiple independent load balancing agents distributed across different servers. Each agent manages load balancing locally, so the failure of one agent does not affect the entire system. This distributed architecture eliminates the single point of failure inherent in centralized load balancing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each server is equipped with local load balancing capabilities tailored to its specific services and requirements. This local quality approach allows each server to independently make load balancing decisions based on its own state, improving fault tolerance while maintaining operational simplicity through standardized local procedures.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If separate clients are developed for different language stacks, then each client can be optimized for its specific stack, but development and maintenance costs increase significantly

Engineering Contradiction:
Improvelanguage stack compatibilityVSAvoiddevelopment cost
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent implements a universal load balancing interface that can be used across different programming language stacks. The load balancing agent communicates through standardized protocols and data formats, allowing the same load balancing logic to serve multiple language stacks without requiring separate client implementations for each stack.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system enforces homogeneous communication protocols and data structures for load balancing across all language stacks. By standardizing the interface and communication format, the patent eliminates the need for language-specific client variations, reducing development and maintenance costs while maintaining adaptability to different stacks.

Inventive Principle:
Principle #33Homogeneity

4Productivity

If library files are upgraded in client-side load balancing, then performance can be improved, but user cooperation is required which may hinder the upgrade process

Engineering Contradiction:
Improveload balancing performanceVSAvoidupgrade process simplicity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The load balancing agent is designed to automatically update itself without requiring user intervention. The agent can download and install new versions of load balancing logic from a central repository, enabling continuous performance improvements while eliminating the need for user cooperation in the upgrade process.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs preliminary actions by pre-configuring load balancing agents with update capabilities and authorization. This allows automatic updates to be pushed to agents without requiring user action at upgrade time, as the preliminary setup has already granted necessary permissions and established update mechanisms.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3637733B1Load balancing engine, client, distributed computing system, and load balancing method
Publication Date: 2021.07.28 HUAWEI TECH CO LTD
  • EP3637733B1 patent drawingFigure 1~2
  • EP3637733B1 patent drawingFigure 3
  • EP3637733B1 patent drawingFigure 4

AI summary

This specification discloses a load balancing engine, a client, a distributed computing system, and a load balancing method. The load balancing engine includes: a load information management module, configured to obtain global load information of a distributed computing system; a service information management module, configured to obtain global service information of the distributed computing system; a policy computing module, configured to perform load balancing computing for a first service type by using the global load information and the global service information, to generate a first load balancing policy corresponding to the first service type, where the first load balancing policy indicates distribution information of a service message corresponding to the first service type in the M computing nodes; and a policy release module, configured to release the first load balancing policy to a client. In the distributed computing system provided in the present invention, because policy computing and execution are separated, large-traffic service calling can be processed, and an upgrade is facilitated.