Low-Redistribution Load Balancing for Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing systems, existing load-balancing methods often lead to significant redistribution of work when nodes are added or removed, resulting in inefficiencies and potential loss of state information, particularly in applications like DNS and Network Address Translation devices that keep states.

Innovation Solution

A low-redistribution load-balancing process is implemented, which uses a mathematical operation based on the baseline cardinality and current cardinality of nodes to minimize work redistribution, ensuring that similar queries are sent to the same member node, reducing the need for re-authentication and preserving state information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If existing load-balancing methods are used, then work is distributed among member nodes, but significant redistribution occurs when nodes are added or removed, causing loss of state information and inefficiency

Engineering Contradiction:
Improveadaptability to node changesVSAvoidloss of state information
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent changes the parameter used for load distribution from simple modulo arithmetic to a more sophisticated function that considers both the hash of the workload identifier and the current number of member nodes. This parameter transformation allows the system to adapt to node changes while preserving state information through controlled redistribution.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent performs preliminary calculations to determine the baseline assignment of workloads to member nodes before any node changes occur. By pre-calculating the baseline function and comparing it with the current state, the system can identify and preserve state information that would otherwise be lost during redistribution.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If nodes are dynamically added or removed to adjust supply to demand, then system flexibility improves, but workload redistribution increases

Engineering Contradiction:
Improveflexibility in node managementVSAvoidworkload processing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent transforms the load distribution parameter from a simple modulo operation to a function that incorporates the baseline assignment and current node count. This parameter change enables dynamic node management while minimizing productivity loss by reducing unnecessary workload redistribution.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements a dynamic load-balancing mechanism that automatically adjusts to node changes without requiring full redistribution of workloads. The system dynamically maintains the relationship between workload identifiers and member nodes, allowing flexible node management while preserving processing efficiency.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If traditional load-balancing algorithms are used, then simple distribution is achieved, but cache efficiency deteriorates due to frequent redistribution

Engineering Contradiction:
Improvesimplicity of distribution algorithmVSAvoidcache efficiency
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

The patent modifies the distribution algorithm by changing the parameter calculation from simple modulo arithmetic to a function that preserves baseline assignments. This parameter transformation maintains relative simplicity while dramatically improving cache efficiency by reducing redistribution frequency.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent ensures continuous preservation of workload-to-node mappings by maintaining baseline assignments across node changes. This continuity allows cached data to remain valid longer, improving cache efficiency without requiring complex re-distribution operations.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10742566B2Low-redistribution load balancing
Publication Date: 2020.08.11 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10742566B2 patent drawing
  • US10742566B2 patent drawing
  • US10742566B2 patent drawing

AI summary

A load-balancing computing device receives a load-balance request for a processing of a workload request associated with a workload. The load-balancing computing device selects a member node of a distributed computing system to process the workload request. The member node is selected from amongst a pool of member nodes of the distributed computing system. The selecting includes: determining a member node for a baseline assignment for the workload; and selecting a member node based on an outcome of a mathematical operation performed on an identifier of the workload, the baseline cardinality of member nodes, and on the cardinality of member nodes in the pool. Next, the processing of the workload request is assigned to the selected member node.