Interdependent State Tracking via Dependency Graphs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing interdependent state in software programs is challenging due to complex computations and dependencies, leading to inefficiencies and errors, especially when program requirements change.

Innovation Solution

A method and device that track and store interdependent state by initializing action and pending sets, determining dependencies, and performing actions only when necessary, with priority ordering based on evaluation costs to minimize recalculation and optimize resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual state computation and management is implemented in complex programs with interdependent functions, then the program can correctly compute state values, but the complexity of managing dependencies and the error-proneness increases significantly

Engineering Contradiction:
Improvecorrectness of state computationVSAvoidcomplexity of state management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system automatically tracks dependencies between functions and state variables, and autonomously determines which functions need to be re-executed when state changes occur. This self-service mechanism eliminates the need for manual dependency tracking and reduces errors in state management.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical tracking of dependencies with an automated computational system that uses data structures (such as dependency graphs) to automatically determine execution order and affected state variables, reducing human error and complexity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If all dependent functions are re-executed whenever any state variable changes, then the state is kept up-to-date, but the computational overhead and resource consumption increase

Engineering Contradiction:
Improvereal-time state accuracyVSAvoidcomputational resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system segments the set of dependent functions into subsets based on their dependency relationships with the changed state variable. Only the necessary subset of functions is re-executed rather than all functions, reducing computational overhead while maintaining state accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter of function execution from a binary (execute or not execute) to a graded approach based on dependency depth and impact analysis. Functions are re-executed based on their specific dependency relationships with changed variables, optimizing resource usage.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the program re-evaluates all watch objects whenever any data changes, then the state remains consistent, but the performance degrades due to redundant calculations

Engineering Contradiction:
Improvestate consistencyVSAvoidprogram execution speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs partial action by re-evaluating only the necessary watch objects that are directly or indirectly affected by the changed data, rather than re-evaluating all watch objects. This maintains state consistency while avoiding redundant calculations and improving performance.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements a feedback mechanism where the system tracks which watch objects depend on which data, and uses this feedback information to selectively re-evaluate only those watch objects that need updating, preventing redundant calculations while maintaining consistency.

Inventive Principle:
Principle #23Feedback

4Extent of automation

If complex dependency tracking is implemented to manage interdependent state, then the state management becomes automated, but the initial setup and system complexity increase

Engineering Contradiction:
Improveautomation of state managementVSAvoidcomplexity of dependency tracking system
Core Design Contradiction:
Extent of automationVSDevice complexity

Solution Approach 1:

The system performs preliminary action by automatically establishing dependency relationships between functions and state variables during program execution or initialization. This preliminary tracking enables automated state management without requiring complex manual configuration, reducing the perceived complexity for users.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240303106A1Method and device for tracking and evaluating interdependent state
Publication Date: 2024.09.12 HAGGERTY SOFTWARE LLC
  • US20240303106A1 patent drawing
  • US20240303106A1 patent drawing
  • US20240303106A1 patent drawing

AI summary

A method of efficiently tracking state data on a computer by designating a class of items called watch objects which have relationships with other data that may change. A change in value in the data which a watch object relies upon causes the execution of a method which efficiently evaluates the watch object and other items which depend on the watch object.