Task Queue Dependency Management for Cloud Transaction Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud-based applications for processing business transactions face challenges in efficiently managing interdependent documents and messages, requiring multiple processing steps and struggling to optimize resource allocation for varying task loads.

Innovation Solution

A system and method utilizing a task queue module that generates tasks based on submission processing rules, determines dependencies, and executes them using worker threads on cloud-based worker instances, while a cloud resource director dynamically adjusts the number and capacity of worker instances and data resources based on task backlog and utilization levels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cloud-based applications process business documents and messages with interdependencies using multiple interdependent steps, then processing completeness is improved, but processing efficiency and resource allocation deteriorate

Engineering Contradiction:
Improveprocessing completenessVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the processing of business documents and messages into discrete, independent tasks that can be queued and executed separately. Each task represents a specific processing step (validation, transformation, routing, etc.) that can be independently managed, tracked, and executed by different worker threads, thereby maintaining processing completeness while improving efficiency through parallel execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic resource allocation where worker threads are dynamically created and assigned tasks from the queue based on current system load and task priorities. The system can dynamically adjust the number of worker threads, queue priorities, and resource allocation to optimize processing efficiency while ensuring all interdependent tasks are completed reliably.

Inventive Principle:
Principle #15Dynamics

2Stability of the object's composition

If fixed resource allocation is used for processing tasks, then system stability is improved, but adaptability to varying task loads deteriorates

Engineering Contradiction:
Improvesystem stabilityVSAvoidadaptability to task loads
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent employs dynamic resource allocation where the system can adjust the number and capacity of worker threads based on real-time task queue depth and system performance metrics. This dynamic approach maintains system stability through controlled scaling while providing adaptability to varying task loads by automatically provisioning or deprovisioning resources as needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements feedback mechanisms where the system continuously monitors task queue depth, worker thread performance, and system resource utilization. Based on this feedback, the system dynamically adjusts resource allocation, task prioritization, and worker thread creation to maintain stability while adapting to changing load conditions.

Inventive Principle:
Principle #23Feedback

3Productivity

If tasks are processed in parallel using multiple worker threads, then processing speed is improved, but task dependency management complexity increases

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

Solution Approach 1:

The patent introduces a task queue as an intermediary structure that manages task dependencies and coordinates parallel execution. The queue maintains task metadata including dependency relationships, priorities, and status information, allowing worker threads to efficiently retrieve and execute tasks in the correct order without direct inter-thread communication, thus enabling parallel processing while simplifying dependency management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts task dependency information and coordination logic from the worker threads themselves and places it in the centralized task queue structure. This separation allows worker threads to focus purely on executing tasks in parallel while the queue handles the complex dependency management, reducing the computational overhead and complexity within each worker thread.

Inventive Principle:
Principle #2Taking out (Extraction)

4Adaptability or versatility

If cloud-based resources are used for processing, then scalability is improved, but resource allocation optimization deteriorates

Engineering Contradiction:
ImprovescalabilityVSAvoidresource allocation optimization
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements feedback-based resource allocation where the system continuously monitors cloud resource utilization, task queue depth, and processing performance. Based on this feedback, the system dynamically adjusts the allocation of cloud resources, scaling worker threads and computing capacity up or down to optimize both scalability and resource utilization efficiency, preventing both over-provisioning and under-provisioning.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11762687B2Processing of messages and documents carrying business transactions
Publication Date: 2023.09.19 SCHADOW GUNTHER
  • US11762687B2 patent drawing
  • US11762687B2 patent drawing
  • US11762687B2 patent drawing

AI summary

Systems and methods for processing business transaction entities are provided. An example method includes receiving, by a task queue module, a sequence of submission entities; generating, by the task queue module and based on submission processing rules, a task for processing the submission entities; adding the task to a task queue; determining dependencies between tasks in the task queue; and executing, by worker threads on a plurality of worker instances, the tasks of the task queue, wherein the executing includes requesting, by a worker thread of the worker threads, a task from the task queue; determining, by the worker thread and based on the dependencies, that the task queue does not include pending tasks on which the task depends and, executing the task; determining, by a cloud resources director, a number and types of pending tasks in the task queue; and adjusting the types or numbers of the worker instances.