Rules-Based Decisioning With In-Memory Signal Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing rule-based decisioning systems face complexity in creating new signals, require code changes and redeployment, and separate error handling from decisioning logic, limiting decision outcomes and efficiency.

Innovation Solution

A method and system for rules-based decisioning that creates an in-memory cache of signals and rules, generates raw and engineered signals, executes rules to produce potential decisions, and reduces them to final decisions using a hierarchy, allowing real-time signal creation and integrated error handling within the decisioning process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If signals are managed outside the rules engine and code changes are required for new signals, then system stability is maintained, but device complexity and deployment time increase

Engineering Contradiction:
Improvesystem stabilityVSAvoidsignal creation complexity
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

Solution Approach 1:

The system segments signal management into two parts: signal definitions are stored externally in a database (maintaining stability), while signal execution is handled by a rules engine that loads definitions into memory (reducing complexity). This allows new signals to be added by simply inserting database records without code changes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An in-memory cache acts as an intermediary between the external signal definitions and the rules engine. The cache loads signal definitions from the database into memory, allowing the rules engine to access signals without direct code changes or redeployment, thus reducing deployment complexity while maintaining system stability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If error handling is separated from decisioning logic, then modularity is improved, but device complexity increases

Engineering Contradiction:
ImprovemodularityVSAvoiderror handling complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system merges error handling with decisioning logic by implementing a unified rules engine that processes both decisions and errors through the same execution framework. This consolidation reduces the number of separate components and simplifies the overall architecture while maintaining modularity through the use of a database for storing both signal definitions and error handling rules.

Inventive Principle:
Principle #5Merging (Combining)

3Ease of operation

If rules use simple Boolean logic, then ease of operation is improved, but productivity decreases due to limited decision outcomes

Engineering Contradiction:
Improverule creation easeVSAvoiddecisioning efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system extends static Boolean logic with dynamic signal generation and execution. The rules engine can dynamically create signals from event data, execute complex decision logic, and generate multiple decision outcomes based on rule priorities and conditions. This dynamic approach maintains ease of operation through a simple rule syntax while significantly improving productivity through enhanced decision-making capabilities.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11580555B2Systems and methods for rules-based decisioning of events
Publication Date: 2023.02.14 JPMORGAN CHASE BANK NA
  • US11580555B2 patent drawing
  • US11580555B2 patent drawing

AI summary

Systems and methods for rules-based decisioning of events are disclosed. In one embodiment, a method may include: creating an in-memory cache by parsing stored checkpoints, signals, and rules definitions; receiving a checkpoint request; prioritizing the checkpoint request; preparing a basic context, comprising a limited set of objects, for the checkpoint request; using the in-memory cached definitions, generating at least one of a raw signal, an engineered signal, and a secondary signal for the checkpoint request based on the basic context; using the in-memory cached definitions, executing rules on at least one of the basic context, the raw signal, the engineered signal, and the secondary signal to generate a list of potential decisions; reducing the list of potential decisions to a list of final decisions; publishing the final decisions and supporting data rules and signals execution details; and executing the final decisions.