Scalable Storage Load Balancing via Optimization Modules

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed systems face challenges in effectively managing load balancing due to their complexity, leading to inefficiencies in resource usage, throughput, and response time optimization.

Innovation Solution

A framework with multiple optimization modules that utilize optimization routines and evaluation scores to select and prioritize load balancing operations, deferring to higher priority modules and considering lower priority goals to establish a hierarchy and avoid oscillations, allowing for extensible and efficient load balancing logic.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple optimization goals are implemented simultaneously, then load balancing effectiveness is improved, but system complexity increases and oscillations occur between competing goals

Engineering Contradiction:
Improveload balancing effectivenessVSAvoidoptimization system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The optimization system is segmented into multiple independent optimization modules, each responsible for a specific optimization goal (e.g., resource utilization, response time, throughput). Each module operates autonomously with its own evaluation score and trigger conditions, avoiding the complexity of a monolithic optimization system while achieving multiple goals simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary coordination mechanism is introduced to manage interactions between optimization modules. This intermediary uses evaluation scores as common language to coordinate module actions, preventing direct conflicts and oscillations between competing optimization goals while maintaining overall system coherence.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If optimization routines continuously adjust load balancing operations, then resource utilization is improved, but system stability deteriorates due to oscillations

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

Solution Approach 1:

Each optimization module incorporates feedback through evaluation scores that continuously monitor the state of optimization goals. Trigger conditions are activated only when evaluation scores indicate degradation, creating a feedback loop that adjusts operations only when necessary and prevents continuous adjustment that would cause oscillations.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts optimization behavior based on current conditions. Optimization routines are triggered only when specific conditions are met (e.g., when evaluation scores indicate imbalance), allowing the system to be dynamic and adaptive rather than continuously adjusting, thus maintaining stability while improving resource utilization.

Inventive Principle:
Principle #15Dynamics

3Speed

If load balancing operations are executed frequently, then response time is reduced, but system overhead increases

Engineering Contradiction:
Improveresponse timeVSAvoidsystem overhead
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

Optimization modules perform self-evaluation using evaluation scores to determine when their own optimization routines should execute. This self-service mechanism eliminates the need for continuous external monitoring and control, reducing system overhead while maintaining responsive load balancing operations that improve response time only when necessary.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9609054B2Load balancing scalable storage utilizing optimization modules
Publication Date: 2017.03.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9609054B2 patent drawing
  • US9609054B2 patent drawing
  • US9609054B2 patent drawing

AI summary

A method includes determining that a trigger condition of a triggered optimization module of a plurality of optimization modules is met and optimizing scalable storage based on an optimization routine. The optimization routine includes providing a plurality of candidate operations and for a selected optimization module of the plurality of optimization modules that has a higher priority than the triggered optimization module, removing a candidate operation from the plurality of candidate operations that would diminish a modeled state of the scalable storage for the selected optimization module. The optimization routine also includes determining at least one operation of the plurality of candidate operations that would improve the modeled state of the scalable storage for the triggered optimization module and updating the modeled state of the scalable storage to model executing the at least one operation. The method further includes executing the at least one operation.