Time-Bounded Program Execution with Rollback State

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Real-time systems face challenges in executing programs deterministically due to restrictions on resource usage and execution time variability, especially for complex algorithms like those in machine vision applications, which are not suited for deterministic execution.

Innovation Solution

Implementing a time-bounded execution method where a program can be interrupted and resumed from a rollback state if a timeout occurs, allowing for iterative execution with error handling and resource management to maintain deterministic behavior.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If deterministic execution is enforced with strict time limits and resource constraints, then execution time predictability is improved, but program complexity and resource usage flexibility deteriorate

Engineering Contradiction:
Improveexecution time predictabilityVSAvoidprogram design restrictions
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments program execution into discrete time-bounded intervals with checkpoint/rollback capability. The execution environment is divided into controllable units where resource allocation and timeout management are handled separately, allowing complex programs to be broken into manageable deterministic segments without requiring complete redesign of the entire program structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-configuring timeout events, establishing rollback states, and pre-allocating resources before program execution begins. This preliminary setup enables the execution environment to maintain deterministic behavior during runtime without imposing severe restrictions on the actual program logic, as the constraints are already in place and managed by the execution environment.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If complex algorithms like machine vision programs are executed without timeout enforcement, then processing completeness is improved, but execution time variability and resource contention increase

Engineering Contradiction:
Improveprocessing completenessVSAvoidexecution time variability
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent implements feedback mechanisms through timeout monitoring and checkpoint validation. The execution environment continuously monitors program execution against time bounds and resource constraints, providing feedback that triggers rollback to predetermined states when violations occur. This feedback loop ensures processing completeness within time-bounded intervals without allowing execution time variability to propagate through the entire system.

Inventive Principle:
Principle #23Feedback

3Productivity

If timeout events are enforced with rollback capability, then execution time bounds are maintained, but system overhead and complexity increase

Engineering Contradiction:
Improveexecution time boundsVSAvoidsystem overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The execution environment is designed to be self-service in managing timeouts and rollbacks. The system automatically monitors its own execution bounds, detects timeout conditions, and performs rollback operations without requiring external intervention. This self-managing capability maintains execution time bounds while minimizing the overhead burden on the executed programs themselves, as the timeout management infrastructure handles the complexity internally.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7559060B2Time-bounded program execution
Publication Date: 2009.07.07 NATIONAL INSTRUMENTS CORP
  • US7559060B2 patent drawing
  • US7559060B2 patent drawing
  • US7559060B2 patent drawing

AI summary

System and method for performing time-bounded execution of a program. A timed program execution process is initiated, and a timeout process is initiated. A timeout condition is configured in the timeout process at a first priority level, and a rollback state determined for the program. Execution of the program is initiated in the timed program execution process at a second priority level below the first priority level. During execution of the program, the timeout process determines if the timeout condition has occurred, and if so, the timeout process restores the execution of the program to the rollback state, and the timed program execution process resumes execution of the program from the rollback state with the timeout condition. The program exits in the timed program execution process in response to the timeout condition, and the timeout event disabled. The timeout process is terminated, and the timed program execution process is terminated.