Scalable Virtual Machine Data Transfer via Public Memory Spaces

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for data transfer between virtual machines are not scalable, particularly as the number of virtual machines increases, leading to inefficiencies in memory allocation and data sharing, which can impact performance and security.

Innovation Solution

The implementation of a scalable data transfer method using public virtual memory spaces, where each virtual machine has a dedicated public virtual memory space for data sharing, with encryption keys managed by a virtual machine management component to ensure secure data transfer between virtual machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional data transfer methods are used between virtual machines, then implementation is simple, but scalability deteriorates as the number of virtual machines increases

Engineering Contradiction:
ImprovescalabilityVSAvoidmemory allocation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the memory space into public virtual memory spaces that can be shared among multiple virtual machines. Each public virtual memory space is assigned to specific virtual machines that need to share data, allowing scalable data transfer without requiring complex point-to-point memory allocation between all VM pairs. This segmentation enables the system to handle increasing numbers of VMs efficiently.

Inventive Principle:
Principle #1Segmentation

2Productivity

If public virtual memory spaces are assigned to each virtual machine for data sharing, then data transfer efficiency improves, but security risks increase

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoiddata security
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces a hypervisor as an intermediary layer that manages and controls access to public virtual memory spaces. The hypervisor enforces security policies, monitors data transfer operations, and ensures that virtual machines can only access authorized memory regions. This intermediary mechanism maintains security while enabling efficient data transfer through shared memory spaces.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If encryption keys are managed by a virtual machine management component, then security is enhanced, but system complexity increases

Engineering Contradiction:
Improvedata securityVSAvoidkey management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the encryption key management functionality into the existing virtual machine management component (hypervisor). By combining these functions, the system avoids adding separate key management infrastructure, reducing overall complexity while maintaining enhanced security through encrypted data transfer between virtual machines.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11494220B2Scalable techniques for data transfer between virtual machines
Publication Date: 2022.11.08 INTEL CORP
  • US11494220B2 patent drawing
  • US11494220B2 patent drawing
  • US11494220B2 patent drawing

AI summary

Scalable techniques for data transfer between virtual machines (VMs) are described. In an example embodiment, an apparatus may include circuitry and memory storing instructions for execution by the circuitry to assign each one of a plurality of shared virtual memory spaces to a respective one of a plurality of virtual machines, wherein a first shared virtual memory space of the plurality of shared virtual memory spaces is assigned to a first virtual machine of the plurality of virtual machines, write, by the first virtual machine to the first shared virtual memory space, data to be provided to a second virtual machine of the plurality of virtual machines, and read, by the second virtual machine, the data in the first shared virtual memory space.