Dimension-Based Load Balancing in Scalable Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed systems face challenges in effectively managing and implementing load balancing objectives due to their complexity, leading to suboptimal resource usage and response times in scalable storage systems.

Innovation Solution

A framework for load balancing that utilizes multiple optimization modules with specific optimization goals and routines, which select and prioritize load balancing operations based on evaluation scores and trigger conditions to optimize resource distribution across servers, preventing oscillations and achieving stable state.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional load balancing methods are used in distributed systems, then implementation is simpler, but resource usage becomes suboptimal and response times increase

Engineering Contradiction:
Improveresource usage efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the load balancing problem into multiple independent dimensions (CPU utilization, network I/O, disk I/O, memory utilization). Each dimension is managed separately with its own load balancer that makes independent decisions, allowing complex multi-factor optimization without requiring a monolithic complex system. This enables optimal resource usage by considering multiple factors while maintaining manageable complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

2Productivity

If load balancing operations are frequently adjusted to optimize resource distribution, then resource utilization improves, but system oscillations occur and stability decreases

Engineering Contradiction:
Improveresource utilizationVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The patent implements periodic action through trigger conditions that monitor dimensional values and only initiate load balancing operations when specific thresholds are met or changes exceed predetermined limits. This periodic, threshold-based activation prevents continuous adjustments and oscillations while still achieving optimal resource utilization when conditions warrant intervention, thereby maintaining system stability.

Inventive Principle:
Principle #19Periodic action

3Productivity

If multiple load balancing dimensions are considered simultaneously, then resource distribution optimizes, but decision-making complexity increases

Engineering Contradiction:
Improveload balancing optimizationVSAvoiddecision complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the multi-dimensional load balancing decision into separate independent load balancers, each responsible for a specific dimension (CPU, network, disk, memory). Each load balancer makes simple decisions based on its own dimension's metrics without needing to process all dimensions simultaneously. This segmentation achieves comprehensive optimization while keeping individual decision-making processes simple and manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges the outputs of multiple independent load balancers through a coordination mechanism that aggregates their decisions. Each load balancer independently optimizes its dimension, and the combined effect achieves comprehensive load balancing optimization without any single component needing to handle the full complexity of all dimensions simultaneously.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP3138004B1Dimension based load balancing
Publication Date: 2020.09.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3138004B1 patent drawingFigure 1
  • EP3138004B1 patent drawingFigure 2
  • EP3138004B1 patent drawingFigure 3

AI summary

One method includes receiving partitions, generating assignment plans for assignment of the partitions to servers based on dimensional values of dimensions as determined by different assignment heuristics, selecting one of the assignment plans for execution based on analyzing the dimensional values in accordance with the assignment plans, and executing the selected assignment plan on scalable storage. Another method includes determining, for a triggered optimization module that a server is over utilized on a dimension, selecting candidate operations for partitions assigned to the server, for a higher priority optimization module than the triggered optimization module, removing a candidate operation from the candidate operations that would diminish a modeled state of scalable storage, determining an operation of the candidate operations that would improve the modeled state of the scalable storage with respect to a metric of the dimension on the server, and executing the operation on the scalable storage.