Inter-VM Communication via Hypervisor Pseudo-Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional inter-process communication techniques are not applicable to communications between different software components running on different virtual machines due to their separate computing environments.

Innovation Solution

Establishing communication between software components in different virtual machines through a hypervisor using pseudo-devices with no corresponding physical devices, where data is transferred via a connection between pseudo-devices over the hypervisor, utilizing shared memory and an event channel for inter-virtual machine communication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional inter-process communication techniques are used, then communication within a single virtual machine is possible, but communication between different virtual machines cannot be achieved

Engineering Contradiction:
Improvecommunication capabilityVSAvoidsystem architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces pseudo-devices as intermediary components that bridge communication between virtual machines. These pseudo-devices operate within the hypervisor layer, allowing software components in different VMs to communicate without direct access to each other's memory spaces, thus resolving the isolation problem while enabling communication.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a new communication dimension by introducing shared memory segments that exist outside the individual VM address spaces. This shared memory dimension allows data to be accessed by multiple VMs simultaneously, bypassing the traditional single-VM memory isolation constraint.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If shared memory is used for inter-virtual machine communication, then data transfer efficiency is improved, but security and isolation between virtual machines may be compromised

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidvirtual machine isolation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The pseudo-device acts as a controlled intermediary that manages access to shared memory segments. It enforces security policies and access controls, ensuring that only authorized software components can access specific memory regions, thus maintaining VM isolation while enabling efficient shared memory communication.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements fine-grained access control where different pseudo-devices have different permissions to different segments of shared memory. This local quality approach allows specific VMs or software components to access only the memory regions they are authorized to use, maintaining security while enabling communication.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9507617B1Inter-virtual machine communication using pseudo devices
Publication Date: 2016.11.29 TREND MICRO INC
  • US9507617B1 patent drawing
  • US9507617B1 patent drawing
  • US9507617B1 patent drawing

AI summary

Communication between software components in different virtual machines may be made through a hypervisor between pseudo-devices that have no corresponding physical device. A software component in a virtual machine transfers data to a pseudo-device in the virtual machine. The pseudo-device is connected to another pseudo-device in another virtual machine, and the connection is through the hypervisor. The data from the software component is transferred from the pseudo-device to the other pseudo-device over the connection through the hypervisor. The other pseudo-device in the other virtual machine receives the data and provides the data to another software component in the other virtual machine.