Rule Engine Data Loading via Abstract Syntax Tree Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional rule engines used for processing electronic transaction requests become inefficient due to the need to retrieve large amounts of data, leading to delays and reduced performance in differentiating authorized from unauthorized requests, which affects service quality and computational power usage.

Innovation Solution

A mechanism is introduced to automatically discover the types of data required by a rule engine for evaluating transaction requests, using an abstract syntax tree to determine irrelevant paths and only retrieve necessary data, thereby optimizing data retrieval and improving processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a rule engine retrieves large amounts of data to evaluate transaction requests, then the accuracy of determining authorized versus unauthorized requests is improved, but the processing time increases and service performance deteriorates

Engineering Contradiction:
Improveaccuracy of determining authorized versus unauthorized requestsVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by discovering and caching the data access patterns required by rule expressions before actual transaction evaluation. The abstract syntax tree is built and analyzed in advance to identify which data sources and fields are needed, allowing the system to prepare data retrieval strategies beforehand and avoid unnecessary data fetching during time-critical transaction processing

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The rule engine's data retrieval process is segmented into distinct phases: first building an abstract syntax tree from rule expressions, then analyzing the tree to identify required data sources, and finally executing targeted data retrieval. This segmentation allows the system to separate the complex task of data access planning from the time-sensitive task of transaction evaluation, improving overall efficiency

Inventive Principle:
Principle #1Segmentation

2Reliability

If a rule engine retrieves large amounts of data to evaluate transaction requests, then the completeness of evaluation is improved, but the computational power consumption increases

Engineering Contradiction:
Improvecompleteness of evaluationVSAvoidcomputational power consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system applies partial action by retrieving only the specific data portions that are actually required by the rule expressions, rather than fetching complete datasets. The abstract syntax tree analysis identifies the minimal necessary data subset, allowing the engine to perform complete and accurate evaluations using only the essential data, thus reducing computational power consumption while maintaining evaluation completeness

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If a rule engine is made more complicated to handle a large number of different scenarios, then the versatility of the rule engine is improved, but the efficiency of processing transaction requests deteriorates

Engineering Contradiction:
Improveversatility of the rule engineVSAvoidefficiency of processing transaction requests
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The rule engine employs dynamic behavior by constructing and analyzing an abstract syntax tree for each rule expression, allowing the data retrieval strategy to adapt to the specific requirements of each rule rather than using a fixed, one-size-fits-all approach. This dynamic adaptation enables the engine to handle diverse scenarios efficiently by optimizing data access patterns for each specific rule configuration

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The rule engine performs self-service by automatically analyzing its own rule expressions to determine data requirements. The system builds abstract syntax trees from the rule expressions and autonomously identifies which data sources and fields are needed, eliminating the need for external configuration or manual optimization and enabling the engine to efficiently handle varying rule complexities

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11900271B2Self learning data loading optimization for a rule engine
Publication Date: 2024.02.13 PAYPAL INC
  • US11900271B2 patent drawing
  • US11900271B2 patent drawing
  • US11900271B2 patent drawing

AI summary

Methods and systems for using machine learning to automatically determine a data loading configuration for a computer-based rule engine are presented. The computer-based rule engine is configured to use rules to evaluate incoming transaction requests. Data of various data types may be required by the rule engine when evaluating the incoming transaction requests. The data loading configuration specifies pre-loading data associated with at least a first data type and lazy-loading data associated with at least a second data type. Statistical data such as use rates and loading times associated with the various data types may be supplied to a machine learning module to determine a particular loading configuration for the various data types. The computer-based rule engine then loads data according to the data loading configuration when evaluating a subsequent transaction request.