Universal Message Queue for Dynamic Task Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional queue frameworks are limited in their ability to manage tasks efficiently, as they are often specific to certain system tasks, contain bugs, and face issues with control and prioritization, making them inadequate for dynamic task processing in multi-tenant database systems.

Innovation Solution

The proposed solution involves a method for transporting tasks to handlers using a message queue, which allows for improved task management by inserting tasks into a message queue, enabling dynamic processing, handling duplicates, and ensuring efficient task allocation across clustered database nodes, with features like task cloning, suspension, and alert mechanisms to manage workload and resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional standalone queue frameworks are used to manage specific system tasks, then task management for that specific task is achieved, but the system cannot handle other types of tasks and suffers from bugs and control issues

Engineering Contradiction:
Improvetask management capabilityVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements a universal queue framework that can handle multiple types of tasks across different system components. The queue system is designed to be task-agnostic, accepting various task types (data import, export, processing, etc.) through a standardized interface, thereby eliminating the need for separate standalone queue frameworks for different tasks while maintaining system reliability through centralized control and monitoring

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

2Productivity

If tasks are processed synchronously in conventional systems, then task completion is guaranteed, but users must wait until tasks complete and system responsiveness decreases

Engineering Contradiction:
Improvetask processing throughputVSAvoiduser waiting time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by immediately accepting task submissions and providing users with task identifiers for future tracking, rather than waiting for task completion. The actual task processing is deferred to background workers that execute asynchronously, allowing users to continue using the system without waiting. This preliminary acknowledgment approach eliminates user waiting time while maintaining task completion guarantees through the persistent queue and retry mechanisms

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The message queue acts as an intermediary between task submitors and task executors. Tasks are submitted to the queue and immediately acknowledged, while background workers consume and process tasks asynchronously. This intermediary mechanism decouples the submission and execution phases, enabling high throughput task processing without blocking user operations, and ensures task completion through persistent storage and retry logic in the queue system

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If multiple workers access the queue simultaneously, then task processing speed increases, but task duplication and control issues occur

Engineering Contradiction:
Improvetask processing speedVSAvoidtask allocation accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The queue system implements feedback mechanisms where workers must claim tasks from the queue and provide status updates. The system tracks which tasks have been claimed, are in progress, or have completed, and uses this feedback information to prevent duplicate processing. When a worker claims a task, it is removed from the available pool and marked as in-progress, providing real-time feedback to other workers that should not attempt to process the same task, thereby maintaining task allocation accuracy while enabling parallel processing

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8793691B2Managing and forwarding tasks to handler for processing using a message queue
Publication Date: 2014.07.29 SALESFORCE INC
  • US8793691B2 patent drawing
  • US8793691B2 patent drawing
  • US8793691B2 patent drawing

AI summary

In accordance with embodiments, there are provided mechanisms and methods for transporting a task to a handler, utilizing a queue. These mechanisms and methods for transporting a task to a handler, utilizing a queue can enable improved task management, increased efficiency, dynamic task processing, etc.