Socket Impersonation for Transparent VM Network Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtual machines (VMs) face challenges in transparent network communication, as applications running on them often do not fully utilize virtual environment optimizations and may burden the host's network interface, requiring awareness of virtualization to communicate effectively.

Innovation Solution

The system employs socket impersonation and enlightened drivers to create a virtual communication channel between the virtual machine and the hypervisor, allowing applications to communicate transparently with the host and external devices using a single interface, without requiring awareness of virtualization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If applications run on virtual machines using traditional network interfaces, then network communication can be established, but the applications do not fully utilize virtual environment optimizations and burden the host's network interface

Engineering Contradiction:
Improvenetwork communication efficiencyVSAvoidnetwork interface burden
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a virtual network interface card (VNIC) and virtual switch as intermediary components between the VM's application and the physical network interface. The VNIC captures network packets at the VM level, and the virtual switch forwards them to the physical NIC, eliminating the need for the application to directly burden the host's network interface while maintaining communication efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The network communication path is segmented into multiple virtual layers: the application layer in the VM, the VNIC layer, the virtual switch layer, and the physical NIC layer. This segmentation allows each layer to handle specific tasks independently, enabling the application to communicate efficiently without directly impacting the host's network interface.

Inventive Principle:
Principle #1Segmentation

2Productivity

If applications are made aware of virtualization to communicate effectively, then communication can be optimized, but application development complexity increases

Engineering Contradiction:
Improvecommunication effectivenessVSAvoidapplication development complexity
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The virtual network infrastructure provides self-service capabilities by automatically capturing, forwarding, and managing network packets without requiring application-level awareness or configuration. The VNIC and virtual switch handle virtualization transparency automatically, allowing applications to communicate effectively while maintaining simple development processes.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The VNIC and virtual switch provide universal network communication capabilities that work for all applications regardless of whether they are aware of virtualization. This multi-functional approach allows the same virtual network infrastructure to serve both aware and unaware applications, maintaining ease of development while achieving communication effectiveness.

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

3Adaptability or versatility

If multiple virtual machines share the host's network interface, then resource utilization improves, but network communication transparency and performance deteriorate

Engineering Contradiction:
Improveresource utilizationVSAvoidnetwork communication transparency
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the network communication path for each VM through dedicated virtual network interfaces and virtual switch instances. Each VM's traffic is handled independently through its own VNIC, ensuring communication transparency and performance isolation while allowing multiple VMs to share the physical network infrastructure, thus maintaining high resource utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The virtual switch acts as an intermediary that manages traffic from multiple VMs independently. It forwards packets from each VM's VNIC to the physical NIC without mixing or interfering with other VMs' traffic, maintaining communication transparency and reliability while enabling efficient resource sharing across multiple virtual machines.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11704146B2Network transparency on virtual machines using socket impersonation
Publication Date: 2023.07.18 RED HAT INC
  • US11704146B2 patent drawing
  • US11704146B2 patent drawing
  • US11704146B2 patent drawing

AI summary

A system includes a hypervisor, a virtual machine (VM), and a host system. The VM includes a kernel and an application and the VM is in communication with the hypervisor. The host system includes a memory and one or more processors, where the one or more processors are in communication with the memory. The host system hosts the VM and the hypervisor. The one or more processors is configured to perform creating, via the kernel, a first socket accessible to the application. A second socket in communication with an endpoint is created at the host system. A virtual communication channel between the hypervisor and the kernel of the VM connects the first socket to the hypervisor. The hypervisor is configured to transmit inputs/outputs (I/Os) received from the application through the virtual channel to the endpoint via the second socket.