Condition Graphs for Fast Business Rule Trigger Evaluation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing customer-support systems face inefficiencies in evaluating trigger conditions for business rules, leading to slowed ticket processing and customer dissatisfaction, especially in large accounts with numerous triggers.
Innovation Solution
A system that employs condition graphs, range-searching operations, and preprocessing to quickly evaluate trigger conditions by identifying critical nodes, creating range sets, and using binary searches to determine valid paths, thereby efficiently applying triggers to customer-support tickets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple triggers are applied to large customer accounts, then ticket processing coverage is improved, but evaluation time increases significantly
Solution Approach 1:
The patent segments trigger conditions into independent condition nodes within a condition graph structure. Each condition node can be evaluated independently, and the graph is traversed using depth-first search to efficiently determine if any path satisfies the trigger. This segmentation allows the system to process complex triggers with multiple conditions without evaluating all conditions exhaustively, thereby reducing evaluation time while maintaining comprehensive trigger coverage.
Solution Approach 2:
The patent performs preliminary actions by pre-processing trigger conditions into condition graphs and pre-evaluating condition nodes against ticket attributes. The system prepares condition graphs in advance and caches evaluation results, so that when a ticket arrives, the system can quickly traverse the pre-built graphs rather than evaluating conditions from scratch. This preliminary preparation significantly reduces real-time evaluation time for large customer accounts with numerous triggers.
2Reliability
If comprehensive trigger conditions are evaluated, then rule accuracy is improved, but processing speed decreases
Solution Approach 1:
The patent introduces dynamic evaluation strategies where the condition graph traversal adapts to the specific ticket attributes being evaluated. The depth-first search algorithm dynamically explores only the necessary paths based on the ticket's current state and attributes, rather than systematically evaluating all possible condition combinations. This dynamic approach maintains rule accuracy by thoroughly checking relevant conditions while improving processing speed by avoiding unnecessary evaluations of irrelevant conditions.
Solution Approach 2:
The patent implements skipping mechanisms where condition nodes that can be quickly determined to be unsatisfied are skipped over without full evaluation. The system uses short-circuit evaluation logic where if a condition node fails, the entire trigger path is immediately rejected without evaluating subsequent conditions. This rushing through of obviously unsatisfiable conditions maintains rule accuracy for valid matches while dramatically improving processing speed by avoiding unnecessary condition evaluations.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
When a customer-support ticket is created or updated in an online customer-support system, the system applies a set of triggers, which modify the ticket based on business rules, to the ticket, wherein each trigger performs actions that modify the ticket when conditions for parameters associated with the ticket are satisfied. During this process, the system evaluates condition nodes in condition graphs for the set of triggers, wherein a condition graph for a trigger is a directed graph comprised of condition nodes that specify conditions on one or more parameters associated with the ticket. During this evaluation, if a valid path through a condition graph comprising satisfied condition nodes is discovered, the system fires a trigger associated with the condition graph. Also, while evaluating the condition nodes, the system performs one or more range-searching operations to quickly evaluate conditions for frequently occurring parameters in the condition graphs.