Hypervisor Function Virtualization for VM Compatibility

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems face challenges in efficiently managing and executing multi-function instructions across virtual machines, particularly in controlling the availability of installed functions and handling queries for functions supported by the underlying processor architecture.

Innovation Solution

A hypervisor sets control values to manage the availability of installed functions within virtual machines, allowing only specific functions to be executed by multi-function instructions, and uses opcode tables to determine supported functions, ensuring compatibility and preventing unsupported instructions from executing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a hypervisor controls availability of installed functions to virtual machines, then system stability and compatibility are improved, but device complexity increases due to additional control mechanisms

Engineering Contradiction:
Improvesystem stabilityVSAvoidcontrol mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an opcode table as an intermediary data structure that mediates between the hypervisor's control decisions and the processor's instruction execution. The opcode table stores function availability information and serves as a lookup mechanism, allowing the system to control function availability without complex real-time decision-making logic in the execution path.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary action by pre-populating the opcode table with function availability information before virtual machine execution begins. This allows the hypervisor to establish control parameters in advance, and the processor can then efficiently query the pre-prepared opcode table during instruction execution without requiring complex runtime analysis.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If opcode tables are used to determine supported functions, then compatibility across processor architectures is improved, but loss of information increases due to abstraction layers

Engineering Contradiction:
Improvearchitecture compatibilityVSAvoidfunction availability information
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent creates a copy of the function availability information in the opcode table, which is a simplified representation of the actual processor capabilities. This copy contains all necessary information for compatibility checking but in a more manageable format that can be efficiently queried during instruction execution, preserving essential information while reducing complexity.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system extracts only the essential function availability information from the complete processor capability set and stores it in the opcode table. This extraction process removes unnecessary details while retaining the critical data needed for compatibility verification, thereby reducing information loss despite the abstraction.

Inventive Principle:
Principle #2Taking out (Extraction)

3Object-affected harmful factors

If control values are set to restrict function execution, then system security is improved, but productivity decreases due to additional verification steps

Engineering Contradiction:
Improveunauthorized function executionVSAvoidinstruction execution speed
Core Design Contradiction:
Object-affected harmful factorsVSProductivity

Solution Approach 1:

The system performs preliminary action by pre-configuring the opcode table with control values that indicate which functions are available or restricted. This allows security verification to be based on simple table lookups rather than complex runtime analysis, maintaining security while minimizing the performance overhead during instruction execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The opcode table serves as an intermediary that separates the security control logic from the instruction execution path. The table stores pre-determined function availability information, allowing the processor to verify authorization through simple data retrieval rather than executing complex security checks, thereby reducing the productivity impact.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11188326B2Function virtualization facility for function query of a processor
Publication Date: 2021.11.30 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11188326B2 patent drawing
  • US11188326B2 patent drawing
  • US11188326B2 patent drawing

AI summary

Selected installed function of a multi-function instruction is hidden such that even though a processor is capable of performing the hidden installed function, the availability of the hidden function is hidden such that responsive to the multi-function instruction querying the availability of functions, only functions not hidden are reported as installed.