Parallel Billing Transaction Processing Cluster

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing transaction processing solutions, such as the Oracle Revenue Management and Billing (ORMB) system, are inefficient in processing high volumes of transactions in a timely manner, requiring significant time and resources, and are not scalable to reduce processing time, with issues like sequential batch operations and restarts due to exceptions.

Innovation Solution

A system utilizing a processing cluster with a driver and multiple executors for parallel processing, where billing transaction data is mapped to partitions, aggregated, and processed in parallel, generating billable charge information, and stored efficiently, ensuring no single executor processes transactions for the same account ID.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sequential batch operations are used to process billing transactions, then processing can be completed with simple system architecture, but processing time increases significantly and productivity decreases

Engineering Contradiction:
Improvetransaction processing speedVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the billing transaction processing into multiple independent partitions, each handled by a separate executor. Transactions are segmented by account ID ranges, allowing parallel processing across multiple executors simultaneously, thereby dramatically reducing overall processing time while maintaining system simplicity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent combines multiple executors working in parallel to process different partitions of billing transactions simultaneously. By merging the capabilities of multiple executors and coordinating their work through a driver, the system achieves high throughput without the sequential bottlenecks of traditional batch processing

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If parallel processing is implemented to reduce processing time, then productivity improves, but system complexity increases due to coordination requirements

Engineering Contradiction:
Improvetransaction processing speedVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments billing transactions into partitions based on account ID ranges, assigning each partition to a specific executor. This segmentation strategy simplifies coordination by ensuring that each executor works independently on its assigned partition, reducing the complexity of inter-executor communication while enabling parallel processing

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The driver acts as an intermediary that coordinates between the master controller and multiple executors. It receives transaction data, distributes it to appropriate executors based on partitioning rules, and aggregates results, thereby simplifying the overall system architecture by centralizing coordination logic in a single component

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If exceptions occur during batch operation, then processing reliability is compromised, but restart procedures add significant time loss

Engineering Contradiction:
Improveprocessing reliabilityVSAvoidrestart time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By segmenting transactions into independent partitions processed by different executors, the system ensures that an exception in one partition does not affect other partitions. Each executor can continue processing its assigned partition independently, preventing system-wide failures and eliminating the need for complete restarts

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The parallel processing architecture allows useful action to continue across multiple executors even when one encounters an exception. Other executors maintain continuous processing of their partitions, ensuring that the overall system remains operational and productive despite localized failures

Inventive Principle:
Principle #20Continuity of useful action

4Productivity

If more resources are allocated to increase processing capacity, then productivity improves, but resource consumption and operational cost increase

Engineering Contradiction:
Improvetransaction processing speedVSAvoidresource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system segments the processing workload into multiple smaller partitions that can be handled by existing executors. This allows efficient utilization of current computational resources through parallel processing, achieving high productivity without requiring proportional increases in hardware resources or energy consumption

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11574347B2System for high-speed billing transaction processing on a processing cluster
Publication Date: 2023.02.07 RIA ADVISORY LLC
  • US11574347B2 patent drawing
  • US11574347B2 patent drawing
  • US11574347B2 patent drawing

AI summary

A method, system, and computer-readable medium are disclosed for executing high-speed transaction processing in a parallel processing environment. One embodiment is directed to a computer-implemented method for executing high-speed transaction processing in a processing cluster having a driver and a plurality of executors, each of the executors configured to process data in at least one respective partition. The driver may assign billing transaction data stored on a persistent datastore of a billing system to respective partitions of the plurality of executors for parallel processing. The driver and executors execute operations in which usage factors of the billing transactions are aggregated to generate billable charge information in a format for use by a billing system to generate billing invoices.