Trigger Scheduling in Expression Graph Evaluation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In triggered expression evaluation, multiple parallel paths from an operand to a common ancestor can lead to temporarily incorrect results due to simultaneous triggers, and simultaneous changes in input values can cause erroneous end results.

Innovation Solution

The method schedules trigger reception based on node priority in the expression graph, with internal nodes receiving triggers before external nodes, and uses separate queues for internal and external triggers to ensure stable operand evaluation and prevent interference.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If triggered expression evaluation is implemented by having an operand trigger its parent expressions, then the expression can be re-evaluated whenever the value of an operand changes, but multiple parallel paths from an operand to a common ancestor can lead to temporarily incorrect results due to simultaneous triggers

Engineering Contradiction:
Improveexpression evaluation accuracyVSAvoidtrigger management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent assigns priorities to internal nodes in advance based on their level in the expression graph before trigger propagation begins. This preliminary assignment of priorities (with lower levels receiving higher priorities) ensures that when triggers propagate through multiple parallel paths, they are received and processed in the correct sequence, preventing temporarily incorrect results while maintaining reliable expression evaluation.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If multiple input values change simultaneously, then the system can respond to all changes, but the external triggers may interfere and provide an erroneous end result

Engineering Contradiction:
Improveresponse to simultaneous changesVSAvoidevaluation result accuracy
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments triggers into two distinct categories: internal triggers (from internal nodes) and external triggers (from external nodes). This segmentation allows the system to handle them differently - internal triggers are processed according to node priorities while external triggers are processed in FIFO order. This segmentation prevents interference between simultaneous external changes and ensures that internal expression evaluations complete before external triggers are processed, maintaining result accuracy while responding to all changes.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If triggers are processed in the order they are sent, then the implementation is simple, but the reception of triggers may cause temporarily incorrect expression results due to multipath problems

Engineering Contradiction:
Improvetrigger processing simplicityVSAvoidexpression result correctness
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent performs preliminary assignment of priorities to all internal nodes based on their level in the expression graph before trigger propagation begins. This pre-established priority structure allows the system to maintain simplicity in trigger processing while ensuring correctness - triggers are still processed in a systematic order, but now that order is determined by pre-assigned priorities rather than arbitrary send order, preventing multipath evaluation errors.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8553654B2Method for expression evaluation and network node implementing such a method
Publication Date: 2013.10.08 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US8553654B2 patent drawing
  • US8553654B2 patent drawing
  • US8553654B2 patent drawing

AI summary

Method and network node (2) for a communication network (1) providing a service in the communication network. The network node (2) is arranged to communicate with 5 context sources (12, 15, 16) providing input values for a triggered expression evaluation, and to provide a network service to communication devices (12, 15, 16) based on the result of the triggered expression evaluation. An evaluation result of the triggered expression evaluation is obtained upon a change to an input value, and the triggered expression evaluation comprises the evaluation of nodes in an expression 10 graph. Each internal node is assigned a priority based on the level of the node in the expression graph. Actual reception of a trigger by an internal node is scheduled based on the priority of the internal node, such that the internal node will only receive a trigger after internal nodes with a higher priority have received their associated triggers.