Dynamic Rule Engine Runtime Event Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software systems face challenges in managing variable operational conditions and responses to events, as native source code updates become cumbersome or impossible when conditions change, particularly in handling misbehaving network services or software malfunctions.

Innovation Solution

A Dynamic Rule Engine (DRE) is used within an application to determine trigger points, evaluate dynamic rules based on current property values, and perform corresponding actions without requiring native source code updates, allowing for real-time deployment of rules without interrupting the software system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If native source code updates are used to detect events and perform actions, then the system can handle fixed operational conditions, but the system becomes cumbersome and difficult to update when conditions change

Engineering Contradiction:
Improveevent detection and responseVSAvoidsoftware update process
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces a dynamic rule engine that allows operational conditions and response actions to be modified at runtime without requiring source code changes. Rules can be added, removed, or updated dynamically, transforming the static event handling system into a dynamic one that adapts to changing conditions while maintaining reliable event detection and response.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the event handling logic into separate, independent rules that can be managed individually. Each rule contains specific conditions and associated actions, allowing the system to handle complex event scenarios through modular rule combinations. This segmentation enables easy updates by modifying individual rules without affecting the entire system.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If native source code updates are deployed to handle variable operational conditions, then the system can adapt to new scenarios, but frequent updates interrupt software system operation

Engineering Contradiction:
Improvehandling variable operational conditionsVSAvoidsystem interruption during updates
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The dynamic rule engine enables rules to be updated, added, or removed at runtime without requiring system downtime or source code recompilation. The engine loads and executes rules dynamically, allowing the system to adapt to variable operational conditions continuously without interruption, thus eliminating the trade-off between adaptability and system availability.

Inventive Principle:
Principle #15Dynamics

3Stability of the object's composition

If hard-coded evaluation rules are used in native code, then the system maintains stable operation, but the system lacks flexibility when operational conditions change

Engineering Contradiction:
Improvesystem operation stabilityVSAvoidresponse to changing conditions
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent introduces a dynamic rule engine as an intermediary layer between the stable native code execution environment and the need for flexible, changing operational rules. The engine translates dynamic rule definitions into executable actions without requiring changes to the underlying stable system code, thus maintaining system stability while enabling rule flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11403395B1Method of using a dynamic rule engine with an application
Publication Date: 2022.08.02 MTHREAT TECHNOLOGY INC
  • US11403395B1 patent drawing
  • US11403395B1 patent drawing
  • US11403395B1 patent drawing

AI summary

A method of using a Dynamic Rule Engine (DRE) with an application. At runtime of the application, the application determines that a trigger point has been reached. The DRE identifies one or more rules associated with the trigger point. Each of the one or more rules defines one or more conditions, and each condition is associated with one or more properties. For each of the one or more rules, the DRE evaluates the one or more conditions defined in the rule. Evaluating a condition includes determining a current value of each of the one or more properties associated with the condition, and comparing the one or more current values to one or more predetermined values. Based on the comparison, the DRE determines whether one or more actions are to be performed. If the one or more actions are determined to be performed, the application performs the one or more actions.