Load Balancing via Cursor Progress Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed processing systems face inefficiencies in load balancing due to reliance on workload and processing speed, which can lead to underperforming data processors being overlooked and wasted processing power, resulting in unnecessary backlogs and unbalanced workloads.

Innovation Solution

Implementing a method that monitors the rate of cursor progress based on timestamps to determine the performance of data processors, setting a progress threshold, and performing load balancing operations such as redistributing work or throttling processors to ensure balanced performance across the system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If load balancing is performed based on workload and processing speed, then data processors with light workloads are selected, but underperforming data processors are overlooked causing wasted processing power and backlogs

Engineering Contradiction:
Improvesystem throughputVSAvoidwasted processing power
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent changes the load balancing parameter from simple workload metrics to cursor progress rate metrics. By monitoring how quickly data processors advance through their data queues (cursor progress), the system identifies underperforming processors even when they have light workloads. This parameter change enables the load balancer to detect processors that are not keeping up with the pace of incoming data and redistribute their work to maintain optimal system throughput while avoiding wasted processing power.

Inventive Principle:
Principle #35Parameter changes

2Speed

If more work is distributed to faster data processors, then processing speed increases, but complexity of work is not accounted for leading to unbalanced performance

Engineering Contradiction:
Improveprocessing speedVSAvoidworkload balance
Core Design Contradiction:
SpeedVSEase of operation

Solution Approach 1:

The patent implements a feedback mechanism where the load balancer continuously monitors cursor progress rates of all data processors and uses this information to dynamically adjust work distribution. Fast processors that are handling complex work will naturally show different cursor progress rates than processors handling simpler work. The feedback loop allows the system to account for work complexity indirectly through performance measurement, ensuring that processors are not overloaded with complex tasks beyond their capacity while maintaining balanced performance across the system.

Inventive Principle:
Principle #23Feedback

3Device complexity

If traditional load balancing methods are used, then workload distribution is simplified, but underperforming processors are not identified leading to unnecessary backlogs

Engineering Contradiction:
Improveload balancing complexityVSAvoidbacklog formation
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by continuously monitoring cursor progress rates before backlogs form. Instead of reacting to backlogs after they occur, the system proactively identifies processors whose cursor progress is falling behind the pace of incoming data and redistributes their work in advance. This preliminary intervention prevents backlogs from forming in the first place, reducing the loss of time while maintaining relatively simple load balancing logic based on cursor position tracking.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9596298B1Load balancing in a distributed processing system
Publication Date: 2017.03.14 GOOGLE LLC
  • US9596298B1 patent drawing
  • US9596298B1 patent drawing
  • US9596298B1 patent drawing

AI summary

Methods, systems, and apparatus are described for load balancing in a distributed processing system. In one aspect, a method includes monitoring, for each data processor in a distributed processing system, a rate of cursor progress for the data processor based on timestamps of data units that have been processed, wherein the rate of cursor progress for each data processor specifies a rate of change of an oldest timestamp of an oldest data unit being processed by the data processor; determining a progress threshold for the distributed processing system based on the respective rates of cursor progress of the data processors; determining, based on a first rate of cursor progress for a first data processor, that the first rate of cursor progress does not meet the progress threshold; and in response to the determination, performing one or more load balancing operations on the distributed processing system.