Parallel Rule Execution via Dependency Graph Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional rule engines execute rules sequentially, leading to inefficiencies and resource wastage due to dependencies between rules, which slows down processing and increases network resource usage.
Innovation Solution
A new graph is generated based on the rule flow graph, allowing parallel execution of rules that are not interdependent, utilizing multiple threads to execute rules independently, thereby optimizing computer resources and speeding up processing without distorting results.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If rules are executed sequentially in conventional rule engines, then execution simplicity is maintained, but processing speed and resource efficiency deteriorate
Solution Approach 1:
The patent segments the rule execution process by dividing rules into independent groups that can be executed in parallel. The rule flow graph is transformed into a new graph where rules without dependencies are separated into distinct execution threads, allowing simultaneous processing while maintaining simplicity through structured organization.
Solution Approach 2:
The patent transitions from one-dimensional sequential execution to multi-dimensional parallel execution by introducing thread-level concurrency. Rules are distributed across multiple execution threads that operate simultaneously, effectively adding a temporal parallelism dimension to the execution model while preserving logical correctness.
2Productivity
If parallel execution is implemented, then processing efficiency improves, but system complexity increases
Solution Approach 1:
The patent performs preliminary analysis of rule dependencies before execution by scanning the rule flow graph and identifying interdependencies. This pre-processing step creates a dependency-aware execution plan that enables parallel execution without requiring complex runtime dependency resolution, thereby improving efficiency while controlling system complexity.
Solution Approach 2:
The patent introduces an intermediary transformation step that converts the original rule flow graph into a new graph optimized for parallel execution. This intermediary representation serves as a bridge between sequential rule definitions and parallel execution requirements, managing complexity by handling dependency analysis and thread allocation in the transformation layer rather than in the core execution engine.
3Loss of time
If sequential execution is used, then resource usage is lower, but wait times and processing delays increase
Solution Approach 1:
The patent ensures continuous useful action by eliminating idle wait times through parallel execution. While one rule group is being processed, other independent rule groups can execute simultaneously, keeping computational resources continuously utilized rather than idle. This reduces total processing time and associated network resource usage by preventing sequential bottlenecks.
Data Source
AI summary
A first graph that includes a plurality of containers is accessed. The containers each contain one or more rules that each have corresponding computer code. The containers are configured for sequential execution by a rule engine. The computer code corresponding to the one or more rules in each of the containers is electronically scanned. Based on the electronic scan, an interdependency among the rules is determined. Based on the determined interdependency, a second graph is generated. The second graph includes all of the rules of the containers, but not the containers themselves. At least some of the rules are configured for parallel execution by the rule engine.


