Concurrent Dataflow Execution with Write Conflict Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In large-scale cloud-based computing systems, concurrent execution of dataflows leads to a risk of write conflicts, which can result in record corruption and inaccurate query results, and existing solutions like serialization or queuing create bottlenecks and latency issues, especially in high-demand environments serving millions of users.

Innovation Solution

Implementing a system that creates dataflow definitions, generates dataflow versions, and uses a message queue to select runnable dataflows based on system limits and write conflict verification, allowing concurrent execution while ensuring data integrity through optimistic locking and FIFO ordering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If dataflows are serialized or queued to prevent write conflicts, then data integrity is maintained, but system latency increases and throughput decreases

Engineering Contradiction:
Improvedata integrityVSAvoidsystem latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system dynamically adjusts concurrency levels based on write conflict detection. Multiple dataflows of the same type can execute concurrently when no write conflicts are detected, but automatically serialize when conflicts are identified, allowing the system to adapt its execution strategy in real-time rather than using fixed serialization

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of execution mode from always-serialized to conditionally-concurrent based on write conflict status. By monitoring whether write conflicts occur and adjusting the concurrency parameter accordingly, the system achieves both high throughput (when safe) and data integrity (when conflicts are detected)

Inventive Principle:
Principle #35Parameter changes

2Reliability

If dataflows are serialized or queued to prevent write conflicts, then accurate query results are ensured, but system throughput decreases

Engineering Contradiction:
Improvequery result accuracyVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically switches between concurrent and serialized execution modes based on write conflict detection, allowing high throughput when no conflicts occur while maintaining query accuracy through automatic serialization when conflicts are detected

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements a feedback mechanism where write conflict detection results are used to control future dataflow execution. When write conflicts are detected, the system feeds back this information to serialize subsequent dataflows of the same type, ensuring query accuracy while minimizing unnecessary serialization

Inventive Principle:
Principle #23Feedback

3Productivity

If multiple dataflows of the same type execute concurrently, then system throughput increases, but write conflicts occur leading to record corruption

Engineering Contradiction:
Improvesystem throughputVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces an intermediary mechanism (write conflict detection and control logic) that mediates between concurrent dataflows. This intermediary monitors for write conflicts and coordinates execution to prevent corruption while allowing concurrent throughput when safe

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system replaces the mechanical serialization approach with a smarter control mechanism that uses write conflict detection and conditional execution. This substitutes brute-force sequential processing with a more sophisticated system that allows concurrency when safe but prevents corruption when risks are detected

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS10685034B2Systems, methods, and apparatuses for implementing concurrent dataflow execution with write conflict protection within a cloud based computing environment
Publication Date: 2020.06.16 SALESFORCE INC
  • US10685034B2 patent drawing
  • US10685034B2 patent drawing
  • US10685034B2 patent drawing

AI summary

In accordance with disclosed embodiments, there are provided systems, methods, and apparatuses for implementing concurrent dataflow execution with write conflict protection within a cloud based computing environment. For instance, an exemplary system having at least a processor and a memory therein includes means for: creating a dataflow definition for a first dataflow type, wherein the dataflow definition includes at least one or more datasets to be accessed by the dataflow and a plurality of functional operations to be performed on the one or more datasets when the dataflow is executed; generating and storing a dataflow version identifying all datasets accessed by the dataflow based on the dataflow definition created; receiving multiple requests for the first dataflow type; enqueuing the multiple requests into a message queue pending execution; selecting, from the message queue, a first runnable dataflow having been earliest enqueued of the first dataflow type for execution based on (i) the first dataflow type being allowable within system limits and based further on (ii) verification that the selected first runnable dataflow is not already executing and based further on (iii) verification there is no write conflict for any dataset accessed by the selected first runnable dataflow. Other related embodiments are disclosed.