Dynamic Matrix Rule Storage for Complex Business Rules

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing rule-based decision-making systems face limitations in storing and searching rules due to fixed column numbers and data types in database tables, leading to inefficient storage and slow search performance, especially when dealing with complex, multi-dimensional rules.

Innovation Solution

Implementing a dynamic matrix structure with a parent rule table and a child rule details table, where each entry in the child table has allocated space for various data types and includes a foreign key, allowing for flexible attribute storage and improved search performance through database indexes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the number of columns in the storage table is increased to accommodate more attributes, then the system can store more rule attributes, but storage space is wasted for attributes not used by the majority of rules

Engineering Contradiction:
Improvenumber of rule attributesVSAvoidstorage space
Core Design Contradiction:
Adaptability or versatilityVSLoss of substance

Solution Approach 1:

The patent divides the rule attribute storage into multiple separate tables, each dedicated to a specific attribute type (string attributes table, numeric attributes table, date attributes table). This segmentation allows the system to store only the attributes actually used by each rule set, eliminating wasted storage space while maintaining the ability to accommodate any number of attributes through additional tables if needed.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If the table columns are defined with fixed data types, then the database structure is simple and stable, but the system cannot flexibly model attributes of different formats

Engineering Contradiction:
Improvedata type flexibilityVSAvoiddatabase structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the database into multiple tables, each specialized for a specific data type (string, numeric, date attributes). This allows each table to have optimized, simple structures with fixed data types appropriate for its purpose, while the overall system achieves flexibility by selecting and combining different table types as needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a ruleset header table that acts as an intermediary, containing metadata about the rule sets including references to the specific attribute tables used. This intermediary layer manages the complexity of multiple data type tables while presenting a unified interface to the application layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If a fixed number of columns is used in the storage table, then the database structure is simple, but the system cannot adequately capture all attributes of complex multi-dimensional rules

Engineering Contradiction:
Improverule attribute coverageVSAvoidstorage structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments attribute storage across multiple specialized tables rather than using a single fixed-column table. This allows the system to accommodate complex multi-dimensional rules by distributing attributes across appropriate tables (string attributes table, numeric attributes table, date attributes table) without being constrained by a fixed column structure.

Inventive Principle:
Principle #1Segmentation

4Adaptability or versatility

If the storage table allocates space for many possible attributes, then all attribute types can be stored, but search performance degrades due to large table size

Engineering Contradiction:
Improveattribute storage capacityVSAvoidsearch performance
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent segments the large attribute storage into multiple smaller, specialized tables based on attribute data types. This segmentation reduces the size of individual tables, improving search performance by allowing faster scans and indexes on smaller datasets, while the system maintains the capacity to store any attribute type by utilizing the appropriate specialized table.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9305075B2Extending dynamic matrices for improved setup capability and runtime search performance of complex business rules
Publication Date: 2016.04.05 ORACLE INT CORP
  • US9305075B2 patent drawing
  • US9305075B2 patent drawing
  • US9305075B2 patent drawing

AI summary

A mechanism by which rule attributes of varying types and numbers can be stored and searched in an efficient manner is provided by storing attribute values of each rule in a child table of a parent rule table. The child table is normalized and contains a foreign key pointing back to the parent rule table and has attribute-value pairs as table columns of the child table. Each rule is then represented by one row of the parent rule table and one or more corresponding rows of the child rule details table. A variable and unlimited number of attribute dimensions is supported among the rules, and search performance is improved through the use of database indexes on the rule details table attribute columns. Metadata representing the structure of the child rule details table will identify the data attributes for each dimension.