Paravirtualized Device Communication Channels

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional communication mechanisms between a virtual machine (VM) and a host machine are limited by the need for a network connection, which may not always be available, and hypercalls are slow and architecture-dependent, making them unsuitable for generic and efficient communication.

Innovation Solution

A mechanism is introduced that creates multiple generic communication channels via a paravirtualized device, allowing direct communication between the host machine and VMs using virtio-based devices, with ports that can be dynamically managed and used for various purposes, such as clipboard interaction and VM-to-VM communication, independent of the underlying architecture.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If networking is used for communication between VM and host machine, then communication capability is provided, but network connection availability is required which may not always be present

Engineering Contradiction:
Improvecommunication capabilityVSAvoidcommunication availability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a paravirtualized serial device as an intermediary communication mechanism between the VM and host machine. This device provides a reliable communication channel that does not depend on network infrastructure, using hypercall-triggered interrupts to establish direct communication pathways through the hypervisor layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The serial device is designed with multiple ports that can serve different communication purposes simultaneously. Each port can be independently configured for various communication needs, making the single device capable of handling multiple communication scenarios without requiring separate dedicated channels for each function.

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

2Ease of operation

If hypercalls are used for communication between VM and host machine, then direct communication is enabled, but communication speed is too slow and architecture dependency increases

Engineering Contradiction:
Improvedirect communicationVSAvoidcommunication speed
Core Design Contradiction:
Ease of operationVSSpeed

Solution Approach 1:

The communication mechanism is segmented into multiple independent ports, each capable of handling communication tasks in parallel. This segmentation allows the system to distribute communication loads across multiple channels, improving overall throughput and reducing the bottleneck effect of individual hypercall processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The serial device implements dynamic port management where ports can be created, activated, and configured on-demand based on communication requirements. This dynamic approach allows the system to optimize communication pathways in real-time, activating only the necessary ports and adjusting their configurations to match current performance needs.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If conventional communication mechanisms are used, then communication between VM and host is possible, but communication flexibility and generality are limited

Engineering Contradiction:
Improvecommunication flexibilityVSAvoidcommunication mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The paravirtualized serial device serves as a universal communication platform that can handle multiple communication protocols and purposes through its configurable ports. Rather than requiring separate mechanisms for different communication needs, this single device provides a unified interface that adapts to various communication scenarios through port configuration.

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

Solution Approach 2:

The device pre-establishes communication pathways through the hypervisor layer during system initialization, creating ready-to-use communication channels before actual communication needs arise. This preliminary setup eliminates the need for complex runtime negotiation and configuration, simplifying the communication process while maintaining flexibility.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8312453B2Mechanism for communication in a virtualization system via multiple generic channels of a paravirtualized device
Publication Date: 2012.11.13 RED HAT INC
  • US8312453B2 patent drawing
  • US8312453B2 patent drawing
  • US8312453B2 patent drawing

AI summary

A mechanism for communication in a virtualization system via multiple generic channels of a paravirtualized device is disclosed. A method of the invention includes creating one or more communication devices for each VM managed by a hypervisor of a host machine, exposing a plurality of ports on top of each created communication device to the VM that the communication device is associated with, specifying options for each port to enable the port to be used to establish a communication channel between the hypervisor and the VM, the options including a port name to associate with both of the port and the communication channel of the port, and creating a direct connection between two or more VMs via their associated communication devices in order to enable direct communication between the two or more VMs by utilizing the ports of their associated communication devices.