Trainable Hash Caching for Rules Engine Derived Objects
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing rules engines face inefficiencies in processing time and resource utilization due to the increasing number of rules and complex interactions, particularly when deriving the same results from multiple queries with varying attributes, leading to increased computing operations and network load.
Innovation Solution
Implementing a caching layer that uses trainable hash functions to predict and infer event schemas and signatures, reducing redundant requests by caching frequently derived objects using machine learning to optimize cache management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the number of rules increases to handle complex business logic, then the system's adaptability and functionality improve, but processing time and computing operations increase
Solution Approach 1:
The system performs preliminary actions by pre-computing and caching rule derivation results before they are actually needed. The cache stores derived objects with their schemas and signatures, allowing rapid retrieval without re-executing rules. This preliminary computation of potential results resolves the contradiction by preparing work in advance rather than performing it only when needed.
Solution Approach 2:
The system creates copies of derived objects and stores them in a cache memory structure. Instead of repeatedly executing rules to generate the same derived objects, the system retrieves cached copies. This copying approach maintains system adaptability while dramatically reducing processing time for repeated queries.
2Adaptability or versatility
If rules and interactions become more complex to handle diverse data types, then the system's versatility improves, but network utilization and load increase
Solution Approach 1:
The cache acts as an intermediary layer between data sources and the rules engine. It mediates network requests by serving cached data locally, reducing the need for repeated network calls to retrieve the same data. This intermediary structure maintains the system's ability to handle diverse data types while significantly reducing network utilization.
3Productivity
If a caching layer is implemented to reduce processing time, then productivity improves, but device complexity increases
Solution Approach 1:
The cache system is designed with multi-functionality, handling multiple operations including data storage, schema prediction, signature generation, and hit/dissociation detection. By making the cache layer universal and multi-functional, the system achieves improved productivity without proportionally increasing complexity, as a single structure performs multiple critical functions.
Data Source
AI summary
Technology is described for an object cache layer for a rules engine. The object cache layer may store derived objects. The object cache layer may take advantage of machine learning for incoming objects that have variable attributes. A trainable hash function may use a machine learning model to predict the incoming event schema and signature of derived objects from the incoming objects or queries. The trainable hash function may determine an incoming event schema and signature of a derived object using the machine learning model and a set of attributes of an incoming object. A cache manager of the object cache layer may use a hash value determined by the trainable hash function using the signature of the incoming object to determine whether to access the derived object in the cache. The trainable hash function may be trained at runtime using training signatures from the rules engine on cache misses.


