Encrypted VM Networking Overhead Reduction via Shared Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Encrypted virtual machines experience networking overhead due to the need for copying operations between private and public memory, which hampers communication efficiency and security in virtualization systems.

Innovation Solution

Implementing a mechanism where the guest operating system uses a socket option to determine if a network connection is end-to-end encrypted, allowing data packets to be stored in a shared memory buffer instead of private memory, thereby reducing the need for copying and enhancing security and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data packets are stored in private memory for encrypted virtual machines, then security is maintained, but copying operations between private and public memory increase networking overhead

Engineering Contradiction:
ImprovesecurityVSAvoidnetworking efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments memory into private memory (for encrypted data) and shared memory (for unencrypted data buffers). By separating these functions, the system can maintain security in private memory while reducing copying overhead by storing data packets in shared memory when end-to-end encryption is used, eliminating the need to copy between memory types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces shared memory as an intermediary between private memory and the networking stack. When end-to-end encryption is enabled, data packets are stored directly in shared memory rather than being copied from private memory, using shared memory as a mediator that eliminates unnecessary copying while maintaining security boundaries.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If copying operations are performed between private and public memory, then data can be transmitted, but networking overhead increases

Engineering Contradiction:
Improvedata transmissionVSAvoidnetworking overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent extracts the copying operation from the data transmission path when end-to-end encryption is enabled. By storing data packets directly in shared memory rather than copying from private memory, the system removes the unnecessary copying step while maintaining data transmission capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs preliminary determination of whether end-to-end encryption is used before storing data packets. When encryption is detected, the system pre-stores packets in shared memory directly, avoiding subsequent copying operations and reducing networking overhead.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If shared memory is used for data packets, then copying operations are reduced, but memory management complexity increases

Engineering Contradiction:
Improvenetworking efficiencyVSAvoidmemory management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies different quality characteristics to different memory regions: private memory is used for encrypted data requiring security isolation, while shared memory is used for unencrypted data packets requiring efficient access. This local differentiation allows the system to optimize each memory region for its specific purpose, reducing overall complexity.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20240211289A1Networking overhead reduction for encrypted virtual machines
Publication Date: 2024.06.27 RED HAT INC
  • US20240211289A1 patent drawing
  • US20240211289A1 patent drawing
  • US20240211289A1 patent drawing

AI summary

Systems and methods for networking overhead reduction for encrypted virtual machines are disclosed. A method may include receiving, by a virtual machine running on a host computer system, a request to send a data packet to a specified recipient via a network; identifying a network connection to the specified recipient; determining whether the identified network connection is associated with an encryption option indicating data encryption; responsive to determining that the identified network connection is associated with the encryption option, storing the data packet in a shared memory buffer of the host computer system; and notifying an input/output (I/O) device driver of an address of the shared memory buffer.