DAG-Based Workflow Orchestrator for Parallel NLP Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing natural language processing systems require significant re-factoring of workflows when integrating new components, leading to increased processing time and user-perceived latency, as they typically operate in a sequential manner and depend on specific data flow between components.

Innovation Solution

A processing component-based workflow that constructs a directed acyclic graph (DAG) at runtime to determine dependencies, allowing components to process in parallel and reducing the need for sequential data flow, enabling new components to be integrated without re-factoring the workflow.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If components process sequentially in a fixed workflow, then data flow between components is simplified, but processing time and user-perceived latency increase

Engineering Contradiction:
Improveprocessing timeVSAvoidworkflow complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements a dynamic workflow system where the processing sequence is not fixed but determined at runtime based on component readiness and data dependencies. The orchestrator dynamically adjusts the execution order of components, allowing the workflow to adapt its structure during operation rather than following a predetermined sequential path.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent divides the processing workflow into independent, loosely-coupled components that can execute autonomously. Each component processes data independently when its input requirements are met, rather than waiting for a strict sequential turn. This segmentation enables parallel execution of multiple components simultaneously.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If new components are integrated into the workflow, then system functionality is enhanced, but re-factoring of workflows is required

Engineering Contradiction:
Improvesystem flexibilityVSAvoidintegration complexity
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent implements a universal interface framework where all components adhere to standardized input/output contracts and communication protocols. This universality allows new components to be integrated into the existing workflow without requiring modifications to the workflow structure itself, as long as the new component conforms to the established interface standards.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The orchestrator automatically discovers new components and determines their integration points in the workflow based on their declared interfaces and data requirements. Rather than requiring manual configuration or re-factoring, the system self-adapts to incorporate new components by analyzing their capabilities and automatically wiring them into the appropriate positions in the processing pipeline.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If components are loosely coupled with defined interfaces, then system flexibility improves, but determining data flow between components becomes more complex

Engineering Contradiction:
Improvecomponent independenceVSAvoiddata flow determination
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The orchestrator implements a feedback mechanism where components declare their input requirements and output capabilities, and the orchestrator uses this information to automatically determine the data flow topology. The system continuously monitors component states and adjusts data routing based on real-time feedback about which components are ready to process data and what data they require.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The orchestrator serves as an intermediary layer between loosely-coupled components, managing the complexity of data flow determination. Rather than components directly negotiating their data relationships, the orchestrator mediates by collecting interface declarations from all components and automatically generating the appropriate data flow configuration, thus isolating the complexity management from individual components.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11605376B1Processing orchestration for systems including machine-learned components
Publication Date: 2023.03.14 AMAZON TECH INC
  • US11605376B1 patent drawing
  • US11605376B1 patent drawing
  • US11605376B1 patent drawing

AI summary

Techniques for implementing a virtual assistant using directed acyclic graphs (DAGs) are described. When a trigger event occurs (e.g., the receipt of a natural language input, the receipt of sensor data, the detection of a performed gesture, etc.), an endpoint of processing of the trigger event is determined. A DAG is then generated that represents processing of the trigger event. Generate of the DAG starts by building a portion of the DAG for the endpoint processing component, and working backward based on data dependencies. Within the DAG, one or more components that output data, but do not receive data output by another component, may be determined. Thereafter, processing of the trigger event may be commences by initiating processing of the determined one or more components.