Dynamic Task Queue with Immediate Execution Mode

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional task management systems face inefficiencies due to the rigidity of message queues and workflows, making it difficult to manipulate tasks at runtime and leading to overloading of resources when similar tasks are clumped together.

Innovation Solution

A queue-based task management system that introduces immediate-mode tasks, allowing child tasks to be executed using the resources of their parent tasks, and supports multiple execution modes to optimize resource utilization and distribute tasks more efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If tasks are managed using a traditional message queue system, then task resiliency is improved, but runtime manipulation and flexibility of task execution deteriorates

Engineering Contradiction:
Improvetask resiliencyVSAvoidruntime manipulation flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system transitions from a static message queue to a dynamic task execution model where tasks can change state and behavior at runtime. The task engine evaluates task properties, available resources, and system conditions dynamically to determine execution timing and mode, allowing tasks to be paused, resumed, prioritized, or redirected based on real-time conditions rather than fixed queue ordering.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If homogeneous tasks are clumped together in the task queue, then queue organization is simplified, but resource overloading occurs when tasks are executed

Engineering Contradiction:
Improvequeue organization complexityVSAvoidresource utilization efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system applies different execution strategies to different tasks based on their specific properties and resource requirements. Instead of treating all tasks uniformly, the task engine evaluates each task's characteristics (compute-intensive, I/O-intensive, memory-intensive) and matches them with appropriate execution resources and timing, allowing heterogeneous resource utilization patterns rather than homogeneous task clustering.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes the parameter of task execution timing from fixed (queue order) to variable (dynamic determination). Tasks are not executed strictly in queue order but rather when system conditions indicate optimal execution, allowing the execution schedule to adapt based on resource availability, task priorities, and system load conditions.

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If workflows are used for job decomposition, then task structure is defined, but rigidity increases and runtime adjustment becomes difficult

Engineering Contradiction:
Improvetask structure definitionVSAvoidruntime adjustment capability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The system replaces static workflow definitions with dynamic task execution planning. While tasks inherit structure from their parent jobs, the actual execution sequence and resource allocation are determined dynamically at runtime based on system conditions, resource availability, and task dependencies, rather than following rigid pre-defined workflow paths.

Inventive Principle:
Principle #15Dynamics

4Stability of the object's composition

If all tasks are executed sequentially from the queue head, then task execution order is maintained, but system throughput and resource utilization deteriorate

Engineering Contradiction:
Improvetask execution orderVSAvoidsystem throughput
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The system dynamically adjusts execution ordering based on real-time conditions rather than maintaining fixed queue order. The task engine can prioritize certain tasks, pause others, or execute them in parallel when resources permit, transforming the static first-in-first-out execution model into a dynamic scheduling system that optimizes throughput while respecting task dependencies.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10866837B2Distributed job framework and task queue
Publication Date: 2020.12.15 LENDINGCLUB BANK NAT ASSOC
  • US10866837B2 patent drawing
  • US10866837B2 patent drawing
  • US10866837B2 patent drawing

AI summary

A queue-based task management system is provided. Unlike conventional queue-based task management systems, the system described herein does not handle all tasks in the conventional manner. Rather, tasks can be associated with one of several modes, including: a queue-mode (always storing the task in the queue) and an immediate-mode (record the task, but execute it immediately if possible). The two modes may be controlled programmatically to optimize utilization of system resources. Immediate-mode is implemented by monitoring available task system resources, and executing the task immediately in-process if there are resources available; otherwise the task is delegated to the queue. This in-process execution allows the sharing of parent task resources.