Cluster-Based Virtual Machine System for X86 Coherency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The X86/IA32 architecture poses challenges for virtualization due to its non-natively virtualizable instruction set and open I/O architecture, making it inefficient for multiple operating systems to share common hardware, which hinders advancements in virtual computing and cluster-based symmetric multiprocessor systems.

Innovation Solution

A method is implemented using unmodified conventional computer hardware and operating system software to create a cluster-based virtual machine system, where each node has its own emulator or virtual machine monitor, providing VM memory and I/O coherency through internal processor structure manipulation, and a private network for communication among nodes, allowing shared resources and virtual machine execution across nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If multiple operating systems share common X86/IA32 hardware directly, then resource utilization improves, but system efficiency deteriorates due to non-natively virtualizable instruction set and open I/O architecture

Engineering Contradiction:
Improveresource utilizationVSAvoidsystem efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent introduces a virtual machine monitor as an intermediary layer between the X86/IA32 hardware and multiple operating systems. This mediator handles the complexities of virtualization by intercepting and managing hardware interactions, I/O operations, and CPU instructions, allowing multiple OSes to share hardware efficiently without directly conflicting with the non-natively virtualizable architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the hardware resources and I/O operations into virtualized components managed by the virtual machine monitor. Each operating system receives a segmented, virtualized view of hardware resources, isolating them from direct hardware conflicts while maintaining efficient resource utilization through the monitor's coordinated management.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If a virtual machine monitor is introduced to enable multiple operating systems to share hardware, then adaptability improves, but device complexity increases

Engineering Contradiction:
Improveoperating system compatibilityVSAvoidvirtualization layer complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The virtual machine monitor is designed with universal functionality to support multiple operating systems and various hardware configurations through a single cohesive layer. It provides multi-functional capabilities including CPU virtualization, memory management, I/O handling, and device emulation, reducing the need for separate virtualization solutions for different OSes and thereby managing complexity through consolidation.

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

3Quantity of substance

If X86/IA32 hardware is used for virtual computing, then hardware availability improves, but virtualization capability deteriorates due to architectural limitations

Engineering Contradiction:
Improvehardware availabilityVSAvoidvirtualization capability
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent replaces the mechanical/architectural limitations of the X86/IA32 instruction set with software-based virtualization mechanisms. The virtual machine monitor substitutes hardware-native virtualization capabilities with software emulation and trapping mechanisms, allowing standard X86/IA32 hardware to support virtual computing despite its architectural limitations.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The system changes the operational parameters of the X86/IA32 hardware by introducing software-controlled virtualization layers that modify how hardware resources are allocated and accessed. The virtual machine monitor dynamically adjusts memory management parameters, I/O access patterns, and CPU execution contexts, transforming the hardware's behavior to enable virtualization without changing the underlying physical architecture.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9020801B2Cluster-based operating system-agnostic virtual computing system
Publication Date: 2015.04.28 SAP SE
  • US9020801B2 patent drawing
  • US9020801B2 patent drawing
  • US9020801B2 patent drawing

AI summary

According to a disclosed embodiment of the invention, an improved cluster-based collection of computers (nodes) is realized using conventional computer hardware. Software is provided that enables at least one virtual machine to be presented to guest operating systems, wherein each node participating with the virtual machine has its own emulator or virtual machine monitor. VM memory coherency and I/O coherency are provided by hooks, which result in the manipulation of internal processor structures. A private network provides communication among the nodes.