Hypervisor Function Virtualization for VM Compatibility
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


