State Machine Dynamic Distributed Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed computing systems execute query processing tasks with static resource allocation and operator execution sequences, which do not adapt to current environmental conditions, leading to inefficiencies and potential failures due to resource disruptions and data distribution skews.

Innovation Solution

A state machine-based approach that dynamically allocates resources and pauses operator execution when service level agreements are violated, allowing for adaptive resource management and in-flight correction, using a pause and play API to manage operator execution and SLA reporting.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If static resource allocation and static operator execution sequence are used, then system simplicity is maintained, but system adaptability to current environmental conditions deteriorates

Engineering Contradiction:
Improvesystem adaptabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic resource allocation and dynamic operator execution sequencing based on current system conditions. The compiler generates execution plans that can adapt to changing environmental conditions, data distribution skews, and resource disruptions during query processing, resolving the contradiction between system simplicity and adaptability.

Inventive Principle:
Principle #15Dynamics

2Productivity

If static execution plan is used, then execution predictability is maintained, but execution efficiency under resource disruptions deteriorates

Engineering Contradiction:
Improveexecution efficiencyVSAvoidexecution reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system incorporates feedback mechanisms that monitor current system conditions, resource availability, and execution progress. Based on this feedback, the execution plan is dynamically adjusted to maintain efficiency under resource disruptions while ensuring reliable completion of query processing tasks.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent changes execution parameters dynamically based on observed system conditions. When resource disruptions or data distribution skews are detected, the system modifies operator execution sequences, resource allocations, and processing strategies to maintain both efficiency and reliability.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If dynamic resource allocation is implemented, then system adaptability improves, but control complexity increases

Engineering Contradiction:
Improveresource allocation adaptabilityVSAvoidcontrol complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The compiler performs preliminary analysis of query workloads and system conditions to pre-generate adaptive execution plans. This preliminary action reduces the complexity of real-time control by preparing multiple execution strategies in advance that can be selected based on observed conditions during query processing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10659316B1State machine controlled dynamic distributed computing
Publication Date: 2020.05.19 JOVIANDATA
  • US10659316B1 patent drawing
  • US10659316B1 patent drawing
  • US10659316B1 patent drawing

AI summary

A computer readable storage medium with executable instructions specifies the execution of a state machine operating across a set of computing nodes in a distributed computing system. The executable instructions execute a set of operators, where the execution of each operator is under the control of a state machine that periodically invokes pause control states to pause the execution of an operator in response to a violation of a service level agreement specifying an operating condition threshold within the distributed computing system. Partitions of input data are formed that are worked on independently within the distributed computing system. A set of data batches associated with the input data is processed. Data partition control states to process the partitions associated with the set of data batches are specified. Key control states to process a set of keys associated with a data partition of the partitions are defined.