Deterministic Runtime Execution Environment for Real-Time Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional execution environments are not deterministic, leading to unpredictable delays and failures in real-time applications due to non-deterministic behavior, particularly in heap memory management and garbage collection processes.

Innovation Solution

A deterministic runtime execution environment is created, where applications and background tasks are executed in different time slots, with a scheduler managing the execution to prevent interference and ensure predictable behavior, using incremental garbage collection and ahead-of-time compilation to maintain deterministic memory management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If conventional execution environments are used with automatic garbage collection, then memory management is automated and programs can run without explicit memory return, but the execution becomes non-deterministic with unpredictable delays

Engineering Contradiction:
Improvememory management automationVSAvoidexecution determinism
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The execution environment is segmented into distinct time slots: application time slots and background task time slots. This segmentation isolates the non-deterministic garbage collection operations into background time slots, preventing them from interfering with application execution timing while maintaining automated memory management benefits.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-scheduling background tasks including garbage collection during designated background time slots before they can interfere with application execution. This ensures memory management activities are prepared and executed in advance of critical application time slots.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If background tasks like garbage collection are executed continuously, then memory management is maintained, but they interfere with application execution and cause unpredictable delays

Engineering Contradiction:
Improvememory management continuityVSAvoidapplication execution delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Background tasks including garbage collection are executed periodically during scheduled background time slots rather than continuously. This periodic execution maintains memory management functionality while ensuring application time slots remain free from interference, eliminating unpredictable delays.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system dynamically allocates time slots between application execution and background tasks based on scheduling needs. Background tasks are executed incrementally in multiple non-adjacent time slots, allowing the system to adapt memory management intensity without compromising application timing requirements.

Inventive Principle:
Principle #15Dynamics

3Productivity

If heap memory is frequently allocated and returned dynamically, then memory utilization is optimized, but the non-deterministic timing of garbage collection causes execution schedule failures

Engineering Contradiction:
Improvememory utilization efficiencyVSAvoidtime schedule adherence
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The garbage collection function is extracted from the application execution path and placed into separate background time slots. This extraction removes the source of non-deterministic delays from critical application timing while preserving the automated memory reclamation mechanism that optimizes heap utilization.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8245239B2Deterministic runtime execution environment and method
Publication Date: 2012.08.14 HONEYWELL INTERNATIONAL INC
  • US8245239B2 patent drawing
  • US8245239B2 patent drawing
  • US8245239B2 patent drawing

AI summary

A method includes executing one or more applications in a deterministic execution environment and executing a plurality of background tasks in the deterministic execution environment. The one or more applications and the background tasks are executed in different time slots. At least one of the background tasks cannot be completed within a single time slot. The at least one of the background task is executed incrementally in multiple non-adjacent time slots so as to prevent the at least one background task from interfering with the execution of the one or more applications.