Hypervisor Trigger Pages for Virtual Machine Data Notification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualization environments, constant checking of shared memories by parent and child partitions to determine data availability is inefficient, consuming significant processing resources and introducing latency.

Innovation Solution

The use of trigger pages, managed by the hypervisor, allows for efficient notification of data availability between partitions by sending system event signals, reducing the need for constant intercepts and enabling selective access to shared memory status, thereby optimizing resource utilization and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If constant checking of shared memory is implemented to ensure data availability notification, then reliability of data communication is improved, but processing resources are excessively consumed and latency increases

Engineering Contradiction:
Improvedata communication reliabilityVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent introduces trigger pages as intermediary structures between child partitions and parent partitions. When a child partition writes data to shared memory, it sets a trigger bit in the corresponding trigger page. The hypervisor monitors these trigger pages and notifies the parent partition only when data is actually available, eliminating the need for constant checking while ensuring reliable data communication notification.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If constant checking of shared memory is performed to detect data availability, then data availability notification is ensured, but processing overhead and latency are significantly increased

Engineering Contradiction:
Improvedata availability notificationVSAvoidnotification latency
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent implements preliminary action by having child partitions set trigger bits in trigger pages immediately when data is written to shared memory. This proactive notification mechanism ensures that the parent partition is informed of data availability without delay, while the hypervisor only needs to check the trigger pages at appropriate intervals rather than continuously monitoring shared memory.

Inventive Principle:
Principle #10Preliminary action

3Loss of information

If both parent and child partitions regularly check shared memory to determine data availability, then complete information about data status is obtained, but processing resources are wasted on redundant checks

Engineering Contradiction:
Improvedata status informationVSAvoidprocessing resource consumption
Core Design Contradiction:
Loss of informationVSLoss of energy

Solution Approach 1:

The trigger pages serve as intermediary notification structures that eliminate redundant checking. When a child partition writes data to shared memory, it sets the corresponding trigger bit. The hypervisor checks only the trigger pages (not the shared memory contents themselves) to determine when notification is needed, and only the parent partition needs to check shared memory when notified. This reduces processing resource consumption while ensuring complete data status information is available when needed.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10691363B2Virtual machine trigger
Publication Date: 2020.06.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10691363B2 patent drawing
  • US10691363B2 patent drawing
  • US10691363B2 patent drawing

AI summary

A computing system includes a parent partition, child partitions, a hypervisor, shared memories each associated with one of the child partitions, and trigger pages each associated with one of the child partitions. The hypervisor receives a system event signal from one of the child partitions and, in response to receiving the system event signal, accesses the trigger page associated with that child partition. The hypervisor determines whether the trigger page indicates whether data is available to be read from the shared memory associated with the child partition. The hypervisor can send an indication to either the parent partition or the child partitions that data is available to be read from the shared memory associated with the child partition if the hypervisor determines that the trigger page indicates that data is available to be read from the shared memory associated with the child partition.