Decentralized Partition Balancing in Cloud Services

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for balancing data partitions across service instances in dynamically scalable cloud services face challenges when data is pulled by the service, as they require central coordination and are not effective for dynamic scaling scenarios, leading to inefficiencies and errors due to inconsistent algorithm implementation across instances.

Innovation Solution

A decentralized approach where each service instance includes a partition balancing module that dynamically determines and adjusts data partitions based on the number of instances and partitions, using leases to ensure exclusive processing and minimize variance, allowing for balanced data distribution without a central coordinator.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a centralized coordination approach is used to balance data partitions across service instances, then data distribution can be controlled, but the system complexity increases and scalability is reduced

Engineering Contradiction:
Improvedata distribution controlVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the coordination function from a centralized controller and distributes it to individual service instances. Each instance runs a partition balancing module that independently determines its own partition assignments by communicating with the data source, eliminating the need for centralized coordination while maintaining reliable data distribution.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system segments the partition balancing functionality into independent modules within each service instance. Rather than having one centralized balancing system, each instance has its own balancing capability, allowing distributed decision-making and reducing overall system complexity.

Inventive Principle:
Principle #1Segmentation

2Productivity

If service instances dynamically scale up or down, then workload capacity is optimized, but maintaining consistent partition distribution becomes difficult

Engineering Contradiction:
Improveworkload capacityVSAvoidpartition distribution consistency
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The patent implements dynamic partition balancing where service instances can join or leave the system at any time. When instances are added or removed, the remaining instances automatically rebalance their partitions through communication with the data source, maintaining consistent distribution without requiring static pre-configuration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system uses feedback mechanisms where service instances communicate with the data source to report their current partition assignments and receive updates about available partitions. This feedback loop enables automatic rebalancing when the number of instances changes, maintaining distribution consistency dynamically.

Inventive Principle:
Principle #23Feedback

3Productivity

If multiple service instances process the same data partitions, then processing capacity increases, but duplicate processing and errors occur

Engineering Contradiction:
Improveprocessing capacityVSAvoidduplicate processing prevention
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The data source acts as an intermediary that manages partition assignments. When service instances need to process data, they communicate with the data source to obtain exclusive assignments of specific partitions. This intermediary mechanism ensures that each partition is assigned to only one instance at a time, preventing duplicate processing while maintaining high processing capacity through parallelism.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Ease of operation

If conventional partition balancing algorithms are implemented across instances, then data can be distributed, but implementation inconsistencies lead to errors

Engineering Contradiction:
Improvedata distributionVSAvoidalgorithm implementation consistency
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

Each service instance independently determines its own partition assignments by directly communicating with the data source. Rather than relying on a pre-implemented algorithm that may be inconsistently deployed across instances, each instance performs the balancing logic itself, ensuring consistent behavior without requiring uniform software implementation across all instances.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20230188596A1Balancing data partitions among dynamic services in a cloud environment
Publication Date: 2023.06.15 RED HAT INC
  • US20230188596A1 patent drawing
  • US20230188596A1 patent drawing
  • US20230188596A1 patent drawing

AI summary

A method includes identifying, by a first instance of a service, a first number of data partitions of a data source to be processed by the service and a second number of instances of the service available to process the first number of data partitions. The method further includes separating the first number of data partitions into a first set of data partitions and a second set of data partitions in view of the second number of instances of the service, determining a target number of data partitions from the first set of data partitions to be claimed by each of the second number of instances of the service, and claiming, by the first instance of the service, the target number of data partitions from the first set of data partitions and up to one data partition from the second set of data partitions.