Virtual Machine Synchronization for Deterministic Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtual machine environments in non-deterministic computing systems fail to provide a deterministic execution environment for software, leading to synchronization issues and loss of determinism, particularly in aerospace applications where precise execution is critical.

Innovation Solution

Implementing strategically placed synchronization points within virtual machines to ensure synchronized execution across multiple virtual machines, using techniques such as processor core affinities and synchronization ready events, which allow for parallel execution while maintaining determinism without excessive resource consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If virtual machines execute on non-deterministic computing systems, then parallel execution and resource sharing are enabled, but synchronization issues and loss of determinism occur

Engineering Contradiction:
Improveparallel execution capabilityVSAvoidexecution determinism
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements preliminary synchronization actions by establishing synchronization points before critical execution sections. The hypervisor configures these synchronization points in advance, allowing virtual machines to coordinate their execution without continuous intervention, thus maintaining determinism while enabling parallel execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The hypervisor acts as an intermediary between virtual machines and the underlying non-deterministic computing system. It manages synchronization points and coordinates execution across multiple virtual machines, shielding the deterministic software from the non-deterministic nature of the host system while enabling parallel execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If synchronization points are strategically placed in virtual machines, then execution synchronization and determinism are maintained, but system complexity increases

Engineering Contradiction:
Improveexecution synchronizationVSAvoidsynchronization mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the virtual machine execution into distinct sections with clearly defined synchronization points. By dividing the execution flow into manageable segments with explicit synchronization boundaries, the system maintains determinism without requiring complex global synchronization mechanisms throughout the entire execution process.

Inventive Principle:
Principle #1Segmentation

3Use of energy by moving object

If virtual machines share hardware resources, then resource utilization efficiency increases, but execution determinism and isolation are compromised

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidexecution isolation
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The hypervisor serves as an intermediary layer that manages hardware resource sharing between virtual machines. It controls access to shared resources through synchronization points, ensuring that resource utilization efficiency is maintained while execution isolation and determinism are preserved through coordinated access management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9003405B1Synchronization of virtual machine-based desktop environments
Publication Date: 2015.04.07 UNKNOWN
  • US9003405B1 patent drawing
  • US9003405B1 patent drawing
  • US9003405B1 patent drawing

AI summary

Systems, methods, and computer program products to synchronize software processes in a virtual machine environment are described herein. In one embodiment, a computer-based system comprises at least one processor, first logic instructions stored in a tangible computer readable medium which, when executed by the at least one processor, configure the at least one processor to define at least a first virtual machine and a second virtual machine, both of which execute on the at least one processor, and second logic instructions stored in a tangible computer readable medium which, when executed by the at least one processor, configure the at least one processor to synchronize execution of operations on the first virtual machine and the second virtual machine.