Dynamic Matrix Rule Storage for Complex Business Rules
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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.
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
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.
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
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.
Data Source
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.


