Distributed Rules Engine Updates Without Downtime
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Updating rules in distributed rules engines of an enterprise often requires downtime, leading to increased lead-time and impacting the availability and resiliency of mission-critical systems, especially when urgent rule changes are needed.
Innovation Solution
A distributed system comprising a rules manager and a pub/sub service allows for the publication of new rules to multiple rules engines without direct communication, enabling asynchronous updates through RAM storage of new rules in Kie containers, allowing for real-time implementation without downtime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If rules are updated in distributed rules engines using traditional methods, then rules can be deployed with proper validation and control, but system downtime increases and availability decreases
Solution Approach 1:
The patent implements preliminary action by pre-compiling rules into bytecode format and pre-validating rule changes before deployment. The rules manager validates and compiles rules in advance, storing validated rules in a rule repository. When deployment is needed, pre-validated bytecode is instantly transferred to rules engines without requiring runtime compilation or validation, enabling rapid deployment while maintaining control through pre-execution validation.
Solution Approach 2:
The patent uses copying by creating bytecode copies of validated rules that can be rapidly replicated across multiple distributed rules engines. The rules manager generates a single validated bytecode representation of rules that can be copied and deployed to numerous engines simultaneously. This copying approach eliminates the need to re-validate or re-compile rules at each deployment target, significantly accelerating deployment speed while ensuring consistency across the distributed system.
2Adaptability or versatility
If rules engines are updated with new rules, then new rules can be implemented, but lead-time increases due to required downtime
Solution Approach 1:
The patent applies parameter changes by transforming rules from human-readable text format into compiled bytecode format with different execution parameters. This parameter transformation enables the rules to be loaded and executed instantly by the rules engine without requiring interpretation or compilation at runtime. The bytecode format changes the execution parameters to allow for faster loading and immediate enactment, reducing lead-time while maintaining full rules flexibility through the validation process.
3Stability of the object's composition
If traditional rule deployment methods are used, then system stability is maintained, but urgent rule changes cannot be implemented quickly
Solution Approach 1:
The patent introduces an intermediary bytecode compilation layer between rule definition and execution. The rules manager acts as an intermediary that validates, compiles, and packages rules into bytecode format before deployment. This intermediary process ensures stability by validating rules beforehand and preventing syntax errors or logical conflicts, while simultaneously enabling rapid deployment through the use of pre-compiled bytecode that can be instantly transferred and executed by rules engines without requiring system restarts.
Solution Approach 2:
The patent implements dynamics by enabling rules to be deployed, updated, and activated dynamically without requiring the rules engine to be stopped or restarted. The system transitions from static rule deployment (requiring downtime) to dynamic deployment (continuous operation). Bytecode rules can be loaded into memory and activated while the engine continues processing, allowing urgent rule changes to be implemented at speed while maintaining system stability through graceful updates.
Data Source
AI summary
Computer-implemented systems and methods update rules engines in a distributed computer system with new rules in a lightweight, non-intrusive, real-time manner. Rules engines are subscribed to a pub/sub service for new rules pertaining to a topic. A rules manager publishes a new rule to the pub/sub service with an associated topic. The rules engines download the new rule and store the new rule in-memory for execution without downtime.


