Task Tree Queue Management for Mixed Serial and Concurrent Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed workload platforms face challenges in managing mixed serial and concurrent workloads, particularly when interacting with third-party APIs, as they often lack support for sequential task execution and conditional branching, leading to complexity and inefficiency.

Innovation Solution

The solution involves maintaining multiple queues of tasks, with some queues locked for sequential execution and others unlocked for concurrent processing, using a task tree data structure to dynamically manage task assignments and prioritize tasks based on priority and age, and employing OAuth for shared API credentials to facilitate concurrent interactions with APIs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If distributed workload platforms execute tasks without regard to sequential requirements, then concurrent processing efficiency is improved, but task execution correctness deteriorates when sequential ordering is required

Engineering Contradiction:
Improveconcurrent processing efficiencyVSAvoidtask execution correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the task execution system into multiple independent queues, each capable of handling different task types (sequential, concurrent, conditional). This segmentation allows the system to maintain concurrent processing efficiency for unordered tasks while ensuring correct sequential execution for ordered tasks, resolving the contradiction between productivity and reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic task routing that determines at runtime whether to lock or unlock queues based on task characteristics. The system dynamically adjusts the degree of parallelism and sequencing constraints for different task types, allowing optimal concurrent processing for unordered tasks while maintaining strict sequential ordering when required, thus resolving the contradiction between concurrent efficiency and execution correctness.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If tasks are rigidly defined at the outset, then system simplicity is improved, but adaptability deteriorates when conditional branching and dynamic task creation are needed

Engineering Contradiction:
Improvesystem simplicityVSAvoidconditional branching capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic task tree structure that allows tasks to be created, modified, and routed conditionally during execution. The system can dynamically create new tasks based on runtime conditions, branch to different task paths, and adjust task priorities on the fly, providing high adaptability while maintaining manageable complexity through structured task definitions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces a task management intermediary layer that sits between rigid task definitions and flexible execution. This intermediary handles conditional branching, dynamic task creation, and routing decisions, allowing the core system to maintain simplicity while achieving high adaptability through the mediating task management layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If multiple queues are used for task management, then task organization and control are improved, but system complexity deteriorates

Engineering Contradiction:
Improvetask organizationVSAvoidqueue management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent implements a universal queue management system where a single set of queue structures and management protocols handles multiple task types (sequential, concurrent, conditional). The same queue infrastructure serves multiple purposes through different locking and routing strategies, improving task organization while avoiding the complexity of separate management systems for each task type.

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

Solution Approach 2:

The patent manages queue complexity by changing operational parameters (locking state, routing rules, priority schemes) rather than changing the fundamental queue structure. This allows flexible task organization and control through parameter adjustments while maintaining a simple, consistent queue management framework, resolving the contradiction between ease of operation and system complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10387217B2Distributed processing of mixed serial and concurrent workloads
Publication Date: 2019.08.20 CA TECH INC
  • US10387217B2 patent drawing
  • US10387217B2 patent drawing
  • US10387217B2 patent drawing

AI summary

Provided is a process, including: obtaining a task tree; traversing the task tree to obtain an unordered set of tasks and an ordered list of tasks; adding the unordered set of tasks to at least some of a plurality of queues of tasks; adding the ordered list of tasks to at least some of the plurality of queues of tasks; and receiving a first task request from a first worker process in a concurrent processing application and, in response to the first task request: accessing a first queue from among the plurality of queues, determining that the first queue is not locked, accessing a first task in the first queue in response to the first task being a next task in the first queue, determining that the first task is a member of a sequence of tasks specified by the ordered list and, in response, locking the first queue, and assigning the first task to the first worker process.