Rule Engine Execution Report Correlation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing production rule engines lack efficient execution mechanisms that accurately model user-defined relationships between rules and provide inadequate user interfaces for cloud-based production rule systems, leading to inefficient rule evaluation and limited user experience.

Innovation Solution

Implementing a cloud-based production rule system with a user-selectable rule ordering mechanism, utilizing the Rete algorithm to build an execution structure, and providing a graphical user interface for rule authoring, testing, and execution reporting, which correlates optimized execution order with user-defined listing order, and supports features like XPath selection, SQL queries, condition-action pairs, and vocabulary management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the Rete algorithm is used to optimize rule execution order, then rule engine execution efficiency is improved, but the execution order differs from user-defined listing order making it difficult for users to understand and track rule execution

Engineering Contradiction:
Improverule engine execution efficiencyVSAvoiduser understanding of rule execution
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent introduces an execution report as an intermediary component that bridges the optimized execution order and the user-defined listing order. The execution report correlates rules from the optimized execution sequence with their corresponding positions in the user-defined listing, allowing users to track which rules were executed and in what order without changing the optimized execution mechanism. This mediator preserves the efficiency benefits while providing user-friendly visibility into rule execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If a naive implementation checks rules in listing order, then user understanding is maintained, but evaluation is performed more often than necessary reducing efficiency

Engineering Contradiction:
Improveuser understanding of rule executionVSAvoidrule engine execution efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent segments the rule evaluation process into two distinct phases: an optimized execution phase using the Rete algorithm that efficiently determines which rules should fire, and a reporting phase that presents results in the user-defined listing order. This segmentation allows the system to benefit from optimized evaluation while maintaining user-friendly presentation, avoiding the inefficiency of checking all rules in listing order.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If cloud-based production rule system is implemented with comprehensive features, then user experience is improved, but system complexity increases

Engineering Contradiction:
Improveuser experience featuresVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal rule execution framework that handles multiple rule ordering strategies (listing order, optimized execution order, custom order) through a single integrated architecture. The execution report mechanism serves as a multi-functional component that can display execution information in various formats and orders, supporting different user preferences and requirements without requiring separate systems for each feature.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10395177B2Optimized execution order correlation with production listing order
Publication Date: 2019.08.27 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10395177B2 patent drawing
  • US10395177B2 patent drawing
  • US10395177B2 patent drawing

AI summary

Optimized execution order results (e.g., from a Rete algorithm graph) are correlated with a production ordering selected by a user, thereby more accurately modeling the user's understanding of how productions relate to one another during execution in a rule system. An execution report shows in the user-selected order for each of the rules, whether the rule was executed, the inputs matched to partial conditions of the rule, and partial condition evaluation results. User rule management experience is also enhanced in other ways. For example, a graphical user interface permits user selection of a schema xpath, bulk selection of XML schema nodes to define vocabulary used in rules, if-then-else rules, rules with embedded SQL, marking rules as active or not, receiving multiple kinds of input from a single text input box, locally executing rules, importing rules authored elsewhere, iterating over a collection of objects, and validating rules against vocabulary data types.