Parallel Thread Queue for Asynchronous Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The insurance industry faces significant delays, typically taking weeks to months, in recalculating premiums due to the inefficiencies in processing large volumes of data for rate changes, which are compounded by the serial and inefficient processing methods used by actuaries, even with advanced hardware capabilities.

Innovation Solution

A system for asynchronous and parallel application processing is introduced, where input data is queued and processed by threads on multiple servers, allowing for customizable and adjustable processing to increase throughput, with memory load monitoring and dynamic adjustments to optimize server usage, enabling real-time adjustments to enhance processing speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If serial processing methods are used to process large volumes of data, then processing accuracy is maintained, but processing time increases significantly (weeks to months)

Engineering Contradiction:
Improveprocessing accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent divides the large volume of data into multiple smaller batches or segments that can be processed in parallel. The system queues input data and distributes it across multiple worker threads, each handling a portion of the data independently. This segmentation allows simultaneous processing while maintaining accuracy through consistent application of the same processing logic across all segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from single-dimensional serial processing to multi-dimensional parallel processing by introducing multiple worker threads operating simultaneously. This dimensional change in processing architecture allows the system to handle large data volumes by distributing work across multiple processing dimensions (threads) rather than sequentially along a single processing path.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If more processing power is allocated to handle large data volumes, then processing speed increases, but system complexity and resource management difficulty increase

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic resource allocation where the system can adjust the number of worker threads based on queue depth and system load. The processing architecture is flexible and adaptive, allowing the system to scale processing power dynamically rather than requiring fixed complex infrastructure. This dynamic approach simplifies resource management while maintaining high processing speeds.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent introduces a queue management system as an intermediary between data input and processing workers. This intermediary component simplifies the complexity by providing a standardized interface for data distribution, thread coordination, and result aggregation, thereby managing system complexity while enabling parallel processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Stability of the object's composition

If fixed processing architecture is used, then system stability is maintained, but adaptability to different data volumes and processing requirements decreases

Engineering Contradiction:
Improvesystem stabilityVSAvoidprocessing adaptability
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal processing architecture where worker threads can handle different types of data and processing tasks through a common framework. The system is designed to be multi-functional, accommodating various data volumes and processing requirements without requiring fundamental architectural changes. This universality maintains stability while providing adaptability.

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

Solution Approach 2:

The patent enables adaptability through parameter changes in the processing configuration, such as adjusting the number of worker threads, queue size, and processing priorities based on data volume and requirements. These parameter adjustments allow the stable core architecture to adapt to different processing scenarios without compromising system stability.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11494230B2Asynchronous and parallel application processing
Publication Date: 2022.11.08 CARET HOLDINGS INC
  • US11494230B2 patent drawing
  • US11494230B2 patent drawing
  • US11494230B2 patent drawing

AI summary

Input records are obtained based on a request to process an application. References to the input records are stored as entries in a queue. A total thread number for threads and a total server number for servers are determined. The threads are initiated on the servers and are asynchronously processed in parallel on the servers. Each thread obtains a reference from a unique entry of the queue, marks that entry as being addressed, processes the input record corresponding to the entry using values provided with a request to process the application, stores results associated with processing the input record in a data store, and iterates back to obtain a next unique entry from the queue until every entry of the queue is marked as having been addressed. When every entry of the queue is marked, a reference is returned to the data store as application results for processing the application.