Virtual PCI Device Synchronization for Multi-OS Automation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for synchronizing processes across different virtual runtime environments in automation technology, such as those using programmable logic controllers and HMI devices, are limited by the need for proprietary changes and lack precision in timing, particularly when using virtual data networks and synchronization strategies like events, mutexes, and semaphores.

Innovation Solution

The implementation of a virtualization controller that instantiates virtual PCI devices for each runtime environment, allowing device drivers to access shared memory for synchronization, enabling the use of synchronization objects like mutexes, semaphores, and events without impairing real-time capabilities, and supporting direct access to the interrupt controller for efficient event triggering.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If proprietary changes are made to operating systems and applications to achieve synchronization, then synchronization capability is improved, but device complexity and ease of operation deteriorate

Engineering Contradiction:
Improvesynchronization capabilityVSAvoidproprietary changes required
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a virtualization controller as an intermediary layer between the hardware platform and multiple operating systems. This controller provides standardized virtual device interfaces that enable synchronization without requiring proprietary changes to the operating systems or applications themselves, thus resolving the contradiction between synchronization capability and device complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the synchronization functionality into a separate virtualization layer, isolating it from the operating systems. This allows each operating system to remain standard and unmodified while still achieving synchronization through the virtualized interface, reducing overall system complexity

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If virtual data networks are used for synchronization, then ease of operation is improved, but measurement precision deteriorates

Engineering Contradiction:
Improvesynchronization methodVSAvoidtiming precision
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent creates virtual copies of physical PCI devices within the virtualized environment. These virtual devices provide standardized interfaces that are easy to operate while maintaining precise timing characteristics by closely emulating the behavior of physical hardware devices, thus resolving the contradiction between ease of operation and timing precision

Inventive Principle:
Principle #26Copying

3Reliability

If processes exit the virtualization controller for synchronization, then synchronization capability is improved, but productivity deteriorates

Engineering Contradiction:
Improvesynchronization accuracyVSAvoidprogram execution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges the synchronization functionality directly into the virtualization controller, allowing processes to perform synchronization operations while remaining within their virtual runtime environments. This eliminates the need for processes to exit the virtualization controller, maintaining both synchronization accuracy and execution efficiency

Inventive Principle:
Principle #5Merging (Combining)

4Reliability

If separate virtual machines are used to decouple processes, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improveprocess decouplingVSAvoidvirtual machine configuration
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal virtualization controller that can manage multiple virtual runtime environments and provide synchronization services across different operating systems through standardized interfaces. This multi-functional approach reduces the complexity of configuring and managing separate virtual machines while maintaining process decoupling and reliability

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP2685377B1Method and assembly for synchronising two processes running on a hardware platform
Publication Date: 2018.01.31 SIEMENS AG
  • EP2685377B1 patent drawingFigure 1

AI summary

The method involves executing two processes (AW1, AW2) on operating systems (GPOS, RTOS) of virtual machines, and providing a hypervisor (VMM) for management of the virtual machines. Virtual PCI apparatuses (V-PCI1, V-PCI2) are established by the hypervisor for the virtual machines. Device drivers (DR1, DR2) for access to the respective virtual apparatuses are installed and started in the operating systems. Processes to be synchronized are allowed to interchange synchronization data with each other by the access on the device drivers over the virtual apparatuses. An independent claim is also included for a hardware platform for synchronizing two processes.