Database Batch Request Parallelism via Selective Dequeuing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In database systems, batch requests often lead to reduced parallelism due to resource collisions when multiple processing managers attempt to lock the same resources, even when hardware resources are available, resulting in decreased efficiency and performance.

Innovation Solution

Implementing a job queue manager with a dequeue agent that selectively dequeues requests from different batches, allowing processing managers to access different resources concurrently, thereby reducing collisions and enhancing parallelism.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If multiple processing managers operate in parallel to process batch requests, then processing speed increases, but resource collisions occur when managers attempt to lock the same resources

Engineering Contradiction:
Improveprocessing speedVSAvoidresource access reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent segments batch requests into individual job items and distributes them to multiple processing managers. Each manager processes independent job items from different batches, dividing the workload to prevent resource collisions while maintaining parallel processing capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a job queue manager as an intermediary component that coordinates between batch requests and processing managers. This mediator selectively dequeues job items from different batches and assigns them to available managers, preventing direct resource conflicts.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If batch requests are processed sequentially one at a time, then resource collisions are avoided, but processing efficiency decreases

Engineering Contradiction:
Improveresource access reliabilityVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments batch requests into individual processable job items and distributes them across multiple parallel managers. This segmentation allows concurrent processing of different batches without resource conflicts, significantly improving throughput while maintaining data integrity through proper locking mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The job queue manager performs preliminary actions by pre-organizing batch requests into a structured queue format with metadata about resource requirements. This preliminary organization enables efficient distribution to managers and helps predict resource needs before conflicts occur.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If all processing managers access jobs from the same batch, then workload distribution is simple, but parallelism is reduced due to resource contention

Engineering Contradiction:
Improveworkload management complexityVSAvoidparallel processing capability
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic workload distribution where the job queue manager continuously monitors batch progress and resource availability. Managers dynamically receive job items from different batches based on real-time conditions, optimizing parallelism without requiring complex manual coordination.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms where processing managers report job completion status and resource usage to the job queue manager. This feedback enables intelligent redistribution of remaining jobs to maximize parallel processing efficiency while avoiding resource conflicts.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9495411B2Increased parallelism performance of batch requests
Publication Date: 2016.11.15 SALESFORCE INC
  • US9495411B2 patent drawing
  • US9495411B2 patent drawing
  • US9495411B2 patent drawing

AI summary

A system selectively dequeues journal requests instead of dequeuing on a first come, first served basis. A database system detects that a request for access from a client is a journal batch, which includes multiple journal requests. The system queues the journal batch in a queue with other journal batches for processing. The system selectively dequeues journal requests from the journal batch queue, including selecting at least one journal request from multiple different journal batches. Thus, the journal requests do not conflict for shared resources, and the system can improve parallelism in processing the journal batches.