Rules Engine Modification via External XML Configuration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In highly-scaled computing environments, modifying rules engines to ensure compatibility of data streams with endpoint devices is challenging due to frequent changes in compatibility parameters and the time-consuming nature of updating algorithms across numerous servers, leading to potential incompatibility issues and poor user experiences in online streaming services.
Innovation Solution
A technique for dynamically modifying a rules engine by receiving and applying updated rules data without rebooting computing devices, using pre-defined operations and dimensions to filter compatible data streams for endpoint devices, allowing for quick and uniform updates across multiple servers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If rules engine code is changed and deployed to each server, then compatibility determination accuracy is improved, but deployment time and system downtime increase
Solution Approach 1:
The rules engine is segmented into separate components: the core application code remains static on servers, while the rules data is externalized into a configurable format (XML) that can be updated independently. This allows rules to be modified without redeploying the entire application, resolving the contradiction by separating the stable codebase from the frequently changing rules.
Solution Approach 2:
Rules are pre-configured in an external XML file format before being applied by the rules engine. This preliminary preparation allows rules to be updated by simply replacing the XML configuration file rather than modifying and redeploying application code, significantly reducing deployment time while maintaining accuracy.
2Adaptability or versatility
If manual or scripted configuration changes are performed on each server, then rules engine updates are completed, but error rate and time consumption increase
Solution Approach 1:
The patent merges the rules configuration into a unified external XML file that can be centrally managed and distributed to multiple servers simultaneously. This eliminates the need for manual or scripted changes on each individual server, reducing errors and simplifying operations while maintaining full adaptability of the rules engine.
3Measurement precision
If new code is deployed throughout the environment, then compatibility checking accuracy is improved, but risk of endpoint incompatibility increases
Solution Approach 1:
The rules are prepared and validated in advance in the external XML configuration file before being applied by the rules engine. This preliminary validation allows for testing and verification of compatibility rules without exposing endpoints to untested code changes, thereby maintaining high accuracy while reducing risk.
Solution Approach 2:
Instead of deploying modified application code to servers, the patent uses a copy of the rules in XML format that can be independently updated and validated. This copying approach allows the rules to be modified and tested without affecting the stable application code, improving accuracy while maintaining reliability.
4Measurement precision
If rules engine is modified frequently to accommodate changing parameters, then compatibility determination accuracy is improved, but system stability deteriorates
Solution Approach 1:
The system is segmented into stable application code and flexible rules configuration. The rules portion can be frequently updated in XML format without affecting the stability of the core application, allowing frequent modifications for accuracy while maintaining system stability.
Solution Approach 2:
The patent enables frequent parameter changes by externalizing rules into an XML configuration file that can be modified without changing the application code structure. This allows the rules to adapt to changing compatibility parameters while the stable application framework maintains system overall stability.
Data Source
AI summary
One embodiment of the present invention sets forth a technique for modifying a rules engine implemented in a highly-scaled computing environment. The technique includes receiving rules data that include a first operation, wherein the first operation is from a set of pre-defined operations and includes at least one dimension that is from a set of pre-defined dimensions and building a list of rules based on the rules data, wherein the list of rules filters an extended list of entries based on the first operation and on a first value that corresponds to the at least one dimension. The technique further includes receiving a request to generate a filtered list of entries, wherein the request references the first value, and, in response to receiving the request, applying the list of rules to the extended list of entries based on the first value to generate the filtered list of entries.


