Distributed Workflow Execution via Task Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As workflows grow in size and complexity, their execution times increase, making modifications and addressing defects increasingly costly and time-consuming, especially when executed on a single computational entity.

Innovation Solution

The workflow execution is optimized by scheduling tasks across multiple autonomous computational entities, balancing computational and communication costs, and utilizing explicit dependencies to fine-grain task grouping and segmentation, allowing for concurrent execution and efficient failure recovery.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If workflow is executed on a single computational entity, then task execution is simple to manage, but workflow execution time increases and productivity decreases

Engineering Contradiction:
Improveworkflow execution speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The workflow is divided into multiple independent tasks that can be executed in parallel across different computational entities. Each task represents a discrete unit of work that can be scheduled and executed independently, enabling concurrent processing and improving overall workflow execution speed while maintaining manageable complexity through modular task organization.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If workflow size and complexity increase, then more tasks can be processed, but execution time expands and modification costs increase

Engineering Contradiction:
Improveworkflow task quantityVSAvoidworkflow execution time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The workflow is segmented into discrete, independently executable tasks that can be processed in parallel. This segmentation allows a large number of tasks to be distributed across multiple computational entities, reducing overall execution time while maintaining the ability to handle complex workflows through systematic task decomposition.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The workflow execution transitions from a single-dimensional sequential process to a multi-dimensional parallel process by distributing tasks across multiple computational entities. This dimensional expansion enables simultaneous execution of multiple tasks, dramatically reducing execution time for large-scale workflows while maintaining manageable complexity through structured task organization.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If workflow tasks are grouped coarsely, then scheduling is simpler, but fine-grained optimization and efficient resource utilization are lost

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Tasks are segmented into fine-grained units that can be independently scheduled and executed. This fine-grained segmentation enables more precise resource allocation and better utilization of computational entities, as the scheduler can assign specific tasks to appropriate resources based on current system state and task requirements, improving overall productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The task grouping and scheduling approach is dynamic rather than static. Tasks can be regrouped, rescheduled, and redistributed based on changing system conditions, resource availability, and workflow priorities. This dynamic scheduling enables efficient resource utilization while adapting to varying workflow demands without requiring complex static scheduling structures.

Inventive Principle:
Principle #15Dynamics

4Ease of repair

If workflow dependencies are not explicitly specified, then workflow definition is simpler, but fine-grained task grouping and failure recovery are constrained

Engineering Contradiction:
Improvefailure recovery efficiencyVSAvoidworkflow definition complexity
Core Design Contradiction:
Ease of repairVSDevice complexity

Solution Approach 1:

Workflow dependencies are explicitly specified in advance during workflow definition, before execution begins. This preliminary specification of dependencies enables the scheduling system to perform fine-grained task grouping and optimization based on known dependency relationships. It also facilitates efficient failure recovery by allowing the system to quickly identify which tasks are affected by failures and need to be re-executed, without requiring complex runtime dependency analysis.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9946576B2Distributed workflow execution
Publication Date: 2018.04.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9946576B2 patent drawing
  • US9946576B2 patent drawing
  • US9946576B2 patent drawing

AI summary

A workflow is designated for execution across a plurality of autonomous computational entities automatically. Among other things, the cost of computation is balanced with the cost of communication among computational entities to reduce total execution time of a workflow. In other words, a balance is struck between grouping tasks for execution on a single computational entity and segmenting tasks for execution across multiple computational entities.