Hypervisor Entropy Allocation via Paravirtualized Device

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing approaches to providing entropy to guest operating systems in virtualization environments face performance issues due to emulation of hardware random number generators by software, limited direct access to hardware RNGs, and competitive entropy sourcing, leading to inefficiencies and prioritization challenges among multiple consumers.

Innovation Solution

A hypervisor-managed system that identifies and allocates entropy from multiple sources to multiple consumers using a paravirtualized device, optimizing access and prioritization based on expected usage, allowing multiple guest OSes to access a single physical entropy source efficiently and ensuring critical processes receive priority.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a hardware random number generator is emulated by software in a virtualization environment, then guest operating systems can access entropy through standard interfaces, but performance significantly degrades due to multiple abstraction layers

Engineering Contradiction:
Improveaccess to entropyVSAvoidperformance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent introduces a paravirtualized device as an intermediary component between the guest operating system and the host system's entropy source. This device provides a standardized interface for entropy access while maintaining direct communication channels that bypass the performance degradation associated with full hardware emulation. The paravirtualized device acts as a mediator that preserves both ease of operation and performance by eliminating unnecessary abstraction layers.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If direct hardware access is provided to a guest operating system, then performance is improved, but only one guest OS can access the hardware RNG at a time

Engineering Contradiction:
ImproveperformanceVSAvoidaccess for multiple consumers
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The paravirtualized device implements multi-functionality by serving multiple guest operating systems simultaneously through a single standardized interface. Instead of providing direct hardware access to each guest OS (which would limit access to one consumer at a time), the paravirtualized device universalizes the access mechanism, allowing multiple consumers to obtain entropy efficiently through the same infrastructure without performance degradation.

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

Solution Approach 2:

The patent merges multiple entropy access requests from different guest operating systems into a single unified interface. By combining the access paths of multiple consumers through the paravirtualized device, the system maintains direct hardware-like performance while supporting multiple simultaneous consumers, thus resolving the contradiction between performance and adaptability.

Inventive Principle:
Principle #5Merging (Combining)

3Quantity of substance

If multiple entropy sources are available, then entropy availability is improved, but contemporary guest OSs only have access to one entropy source at a time

Engineering Contradiction:
Improveentropy availabilityVSAvoidaccess to multiple sources
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The paravirtualized device implements multi-functionality by serving multiple guest operating systems simultaneously through a single standardized interface. Instead of providing direct hardware access to each guest OS (which would limit access to one consumer at a time), the paravirtualized device universalizes the access mechanism, allowing multiple consumers to obtain entropy efficiently through the same infrastructure without performance degradation.

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

Solution Approach 2:

The system dynamically allocates and switches between multiple entropy sources based on availability and consumer needs. The paravirtualized device incorporates dynamic resource management that can adaptively select from multiple entropy sources, allowing the system to optimize entropy provision in real-time while maintaining the appearance of a single unified interface to guest operating systems.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10275268B2Providing entropy to a guest operating system
Publication Date: 2019.04.30 RED HAT INC
  • US10275268B2 patent drawing
  • US10275268B2 patent drawing
  • US10275268B2 patent drawing

AI summary

The subject matter of this specification can be implemented in, among other things, a method including receiving, by a hypervisor of a host computer system, an entropy request from a guest operating system running on the host computer system. The method further includes identifying, by the hypervisor, an entropy source. The method further includes determining, by the hypervisor, an expected entropy usage at the host computer system. The method further includes providing, in response to the request, entropy from the entropy source to the guest operating system in view of the expected entropy usage.