Deferred Formula Computation via Dependency Graph Traversal

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software applications often perform resource-intensive computations during launch, which can slow user experience and result in unnecessary data retrieval and computation, especially when many computations are never needed after launch.

Innovation Solution

Implementing deferred formula computation, where programmed formulas are computed only when their results are actually needed during runtime, using a dependency graph to manage dependencies and cache results for efficient retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If computations are performed during software launch, then global variables and user interface parameters are available for use, but launch time is increased and user experience is slowed

Engineering Contradiction:
Improveavailability of global variablesVSAvoidlaunch time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent pre-defines formula dependencies and builds a dependency graph during software development, but delays actual computation until runtime when formulas are first referenced. This preliminary setup enables fast computation by having the execution engine ready to traverse the pre-built dependency graph and compute only necessary formulas in the correct order, without performing computations during launch.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If all formulas are computed at launch, then all computations are available for potential use, but resource consumption increases and unnecessary computations are performed

Engineering Contradiction:
Improveavailability of computationsVSAvoidcomputational resources
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts and computes only the specific formulas that are actually needed during runtime by traversing the dependency graph from the point of reference. Instead of computing all formulas at launch, the system extracts the minimal subset of formulas required for the current operation, computes them in dependency order, and caches results for future use, thereby avoiding unnecessary computational resource consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

3Use of energy by moving object

If formulas are computed on-demand during runtime, then resource efficiency is improved, but computation may be delayed until first reference

Engineering Contradiction:
Improvecomputational resourcesVSAvoidcomputation speed
Core Design Contradiction:
Use of energy by moving objectVSSpeed

Solution Approach 1:

The patent performs preliminary work by building the dependency graph during software development and maintaining it throughout runtime. When a formula is first referenced, the pre-built dependency graph enables immediate traversal and computation of the formula and its dependencies without delay, as all relationship information is already organized and ready for quick access.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12327096B2Deferred formula computation
Publication Date: 2025.06.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12327096B2 patent drawing
  • US12327096B2 patent drawing
  • US12327096B2 patent drawing

AI summary

Deferred formula computation executes software containing a set of programmed formulas, wherein the set includes a first programmed formula defined in an associated dependency graph to be dependent on a result of a second programmed formula. A method may encounter a reference to the first programmed formula during execution of the software, wherein the reference is associated with deferred formula computation request program code in the executing software to obtain a result of the first programmed formula; identify during execution of the software the second programmed formula based on traversal within the associated dependency graph of the first programmed formula; compute a result of the second programmed formula during execution of the software; compute the result of the first programmed formula during execution of the software, and return the computed result of the first programmed formula in association with the reference to the first programmed formula.