Condition Graphs for Fast Business Rule Trigger Evaluation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetrigger coverageVSAvoidevaluation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If comprehensive trigger conditions are evaluated, then rule accuracy is improved, but processing speed decreases

Engineering Contradiction:
Improverule accuracyVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentEP4027289B1Facilitating quick evaluation of trigger conditions for business rules that modify customer-support tickets
Publication Date: 2024.01.31 ZENDESK INC
  • EP4027289B1 patent drawingFigure 1
  • EP4027289B1 patent drawingFigure 2
  • EP4027289B1 patent drawingFigure 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.