Directed Acyclic Processing Graph for Parallel Task Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large electronic projects such as video game development, movie production, and simulations require numerous interrelated processing tasks, leading to delays and computational bottlenecks due to the need for upstream tasks to complete before downstream tasks can proceed, and iterative changes necessitate repeated processing operations, resulting in significant time and resource expenditure.

Innovation Solution

A method involving a directed acyclic processing graph with processor nodes, where each node defines specific operations and instance generation criteria, allowing for the generation of operational instances and automatic dependency relationships, enabling parallel processing and efficient re-computation of affected tasks, thereby reducing the impact of upstream delays and optimizing resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If upstream tasks must complete before downstream tasks can proceed, then task dependency integrity is maintained, but processing time and computational resource utilization deteriorate

Engineering Contradiction:
Improvetask dependency integrityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by identifying and executing independent downstream tasks before their upstream dependencies are fully complete. The processing graph analysis enables the system to determine which downstream tasks can proceed with available data, allowing them to start processing in advance rather than waiting for all upstream tasks to finish.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the processing workflow into discrete tasks represented as nodes in a processing graph, with explicit dependency relationships. This segmentation allows the system to independently analyze and execute specific task subsets based on their dependency status, rather than treating the entire workflow as a single sequential process.

Inventive Principle:
Principle #1Segmentation

2Manufacturing precision

If iterative changes are made to design elements, then design quality and accuracy are improved, but computational resource expenditure and re-computation time worsen

Engineering Contradiction:
Improvedesign qualityVSAvoidcomputational resource expenditure
Core Design Contradiction:
Manufacturing precisionVSUse of energy by moving object

Solution Approach 1:

The system extracts and identifies only those downstream tasks that are actually affected by upstream changes, rather than re-computing entire task chains. The processing graph enables precise tracking of dependency relationships, allowing the system to isolate and re-compute only the necessary task subsets when iterative changes occur.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system implements feedback mechanisms that monitor task completion status and dependency satisfaction in real-time. When upstream tasks complete or change, the feedback system automatically triggers re-computation of affected downstream tasks, ensuring design quality is maintained while avoiding unnecessary re-computation of unaffected tasks.

Inventive Principle:
Principle #23Feedback

3Productivity

If parallel processing is implemented, then productivity and resource utilization are improved, but task dependency management and processing coordination worsen

Engineering Contradiction:
Improveprocessing throughputVSAvoiddependency management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processing graph serves as an intermediary data structure that mediates between parallel task execution and dependency management. It provides a centralized representation of all tasks and their dependencies, allowing the system to coordinate parallel processing without direct complex communication between tasks.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary analysis of the processing graph to identify all possible parallel execution paths before processing begins. This advance planning allows multiple tasks to be launched in parallel with their dependencies pre-established, reducing the need for complex runtime coordination.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10853079B2Dependency-based streamlined processing
Publication Date: 2020.12.01 SIDE EFFECTS SOFTWARE INC
  • US10853079B2 patent drawing
  • US10853079B2 patent drawing
  • US10853079B2 patent drawing

AI summary

A method and computer program product for performing a plurality of processing operations. A plurality of processor nodes each include one or more operational instances. Each processor node includes criteria for generating its operational instances. The processor nodes are linked together in a directed acyclic processing graph in which dependent nodes use data from the operational instances of upstream nodes to perform a node-specific set of processing operations. Dependency relationships between the processor nodes are defined on an operational instance basis, where operational instances in dependent processor nodes identify data associated with, or generated by, specific upstream operational instances that is used to perform the node-specific set of operations for that dependent operational instance. The processing graph may also include connectors nodes defining instance-level dependency relationships between processor nodes.