Logical Expression Engine Dynamic Subexpression Reordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for processing logical expressions in programming languages are static and immutable, limiting dynamic optimization and efficiency during runtime, as they cannot adjust the order of subexpression evaluation based on real-time statistics or costs.

Innovation Solution

A method and system that dynamically optimize logical expressions by accumulating statistics on subexpression evaluations and reordering them based on probability and cost, using a logical expression engine with a processor and memory to generate optimized expressions for improved runtime performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional static compilation methods are used to process logical expressions, then the program structure is simple and easy to implement, but the runtime performance cannot be optimized dynamically based on actual execution statistics

Engineering Contradiction:
Improveruntime performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic optimization by allowing the evaluation order of logical expressions to change at runtime based on accumulated statistics. The system transitions from a static compilation model to a dynamic one where the logical expression engine can reorder subexpressions during execution to optimize performance based on actual data patterns observed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system accumulates execution statistics about subexpression evaluation outcomes and uses this feedback to dynamically adjust the evaluation order. The logical expression engine monitors which subexpressions evaluate to true or false more frequently and reorders them to minimize total evaluation cost, creating a closed-loop optimization system.

Inventive Principle:
Principle #23Feedback

2Productivity

If the evaluation order of subexpressions is fixed in the original logical expression, then the implementation is straightforward, but the average cost of evaluation cannot be reduced

Engineering Contradiction:
Improveevaluation efficiencyVSAvoidimplementation simplicity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The evaluation order transitions from fixed to dynamic. The system starts with the original evaluation order but can dynamically reorder subexpressions based on accumulated statistics about their evaluation outcomes, allowing the most efficient order to be used based on actual runtime behavior.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of evaluation order from a static constant to a dynamic variable that can be adjusted based on statistics. By monitoring the true/false outcomes of subexpression evaluations and changing the order parameter accordingly, the system optimizes the average evaluation cost.

Inventive Principle:
Principle #35Parameter changes

3Loss of time

If dynamic optimization is implemented during runtime, then the average evaluation cost is reduced, but additional complexity is introduced in tracking and reordering subexpressions

Engineering Contradiction:
Improveevaluation timeVSAvoidoptimization mechanism complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system applies partial optimization by focusing only on the evaluation order of subexpressions rather than optimizing all aspects of logical expression processing. This selective approach reduces the overhead complexity while still achieving meaningful performance improvements in evaluation time.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The logical expression engine performs self-optimization by automatically accumulating statistics and reordering subexpressions without requiring external intervention. The system monitors its own execution patterns and adjusts its behavior accordingly, reducing the need for complex external optimization mechanisms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11431589B2Dynamic runtime optimization of logical expressions for processing information
Publication Date: 2022.08.30 ARBOR NETWORKS INC
  • US11431589B2 patent drawing
  • US11431589B2 patent drawing
  • US11431589B2 patent drawing

AI summary

A logical expression engine and computer-implemented method for optimizing evaluation of a logical expression is provided. The method includes receiving an original logical expression to be applied by a computer program for processing input information, the original logical expression having at least one operator and a subexpression disposed on each side of a related operator of the at least one related operator. The method further includes receiving statistics accumulated about how the computer program applies the subexpressions of the original logical expression for processing the input information received by the computer program, using the accumulated statistics to optimize the order in which the subexpressions would be applied by the computer program, and outputting for application by the computer program an optimized logical expression having the subexpressions ordered in accordance with the optimized order.