Rule-Based Workflow Processing via Dynamic Code Translation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face inefficiencies in processing large data sets with complex rule sets, as they often require time-consuming computations even on powerful computer systems, and lack the ability to dynamically optimize rule application for varying data sets.
Innovation Solution
A system that dynamically translates rule sets into optimized, invocable code for efficient processing, allowing for just-in-time code generation, reuse of calculations, and parallel processing across multiple threads, ensuring the use of current rule versions while minimizing processing overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If complex rule sets are applied to large data sets using standard processing techniques, then comprehensive data evaluation is achieved, but processing time increases significantly
Solution Approach 1:
The system performs preliminary translation of rule sets into optimized executable code before processing data. The rules are compiled once and stored in a database, allowing rapid retrieval and execution without re-translating for each data processing task, thus reducing overall processing time while maintaining complete rule application
Solution Approach 2:
The patent replaces the mechanical process of runtime rule interpretation with a pre-compiled code execution system. Instead of executing rules as text or abstract logic during data processing, the system translates rules into optimized executable code that runs directly, significantly reducing processing time while maintaining evaluation completeness
2Ease of operation
If rules are stored in human-readable canonical form, then rule maintenance and editing are enabled, but rule execution speed decreases
Solution Approach 1:
The system separates rule storage from rule execution into two distinct components. Rules are stored in human-readable canonical form in a database for maintenance, while optimized executable code is generated separately for execution. This segmentation allows each component to optimize for its specific function without compromising the other
Solution Approach 2:
The patent introduces a code generation layer as an intermediary between rule storage and data processing. This intermediary translates human-readable rules into optimized executable code, enabling both easy rule maintenance in canonical form and high-speed execution through the generated code
3Productivity
If dynamic code generation is performed for each rule set request, then optimization for specific data sets is achieved, but initial processing overhead increases
Solution Approach 1:
The system performs code generation in advance based on rule set characteristics and data type information, creating optimized executable code before actual data processing begins. This preliminary action allows the bulk of the optimization work to be done upfront, reducing the overhead during subsequent data processing operations
4Productivity
If multiple parallel processing threads are used, then processing throughput is increased, but system complexity and resource management difficulty increases
Solution Approach 1:
The patent divides the data set into segments that can be processed in parallel by multiple threads. Each thread handles a specific portion of the data independently using the pre-generated executable code, allowing throughput improvement while keeping each thread's complexity manageable through clear data segmentation
Data Source
AI summary
Methods, systems, and apparatus, including computer programs encoded on computer-storage media, for efficiently processing of rule-based computing workflows. In some implementations, a system includes a database, a web server module to provide resources for a rule management user interface having interactive controls to create and edit rules, and an application server module providing services to carry out functions specified through an application programming interface (API). The application server module is configured to (i) receive a request to apply a set of rules to a set of records, and (ii) perform, in response to receiving the request, a set of operations that includes: obtaining the set of rules from the database. The system dynamically translates the rules into executable or interpretable code configured to apply the rules, and invokes the executable or interpretable code to apply the rules to the records in the set of records.


