Guest OS Failover via Shared Memory Regions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtual machine environments, guest operating systems lack the capability to effectuate operations like mirroring of virtual machine memories due to the virtual machine operating system controlling hardware, leading to reduced utility in clustered arrangements during failures, as they cannot replay write requests to render storage devices consistent.
Innovation Solution
Guest operating systems establish shared memory regions within their domains, allowing the surviving OS to access data from the failed OS's shared memory region to replay write operations and maintain consistency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If guest operating systems operate in a virtual machine environment with hardware controlled by the virtual machine operating system, then virtualization and resource sharing are enabled, but the guest operating systems cannot perform operations like mirroring memory or replaying write requests for failover
Solution Approach 1:
The patent introduces shared memory regions as an intermediary mechanism between guest operating systems and the virtual machine operating system. These shared memory regions allow guest OSs to store write data that can be accessed by surviving guest OSs during failover, effectively mediating the limitation imposed by hardware virtualization control.
Solution Approach 2:
The patent implements preliminary action by having guest operating systems pre-establish shared memory regions before failures occur. The virtual machine operating system allocates and sets up these shared memory regions in advance, so that when a failure occurs, the surviving guest OS can immediately access the stored write data without needing to perform complex setup operations.
2Reliability
If dedicated cluster interconnect hardware is used for mirroring memory and replaying operations, then failover reliability is improved, but device complexity and hardware requirements increase
Solution Approach 1:
The patent extracts the failover functionality from dedicated hardware mechanisms and implements it through software-based shared memory regions. By removing the dependency on specialized cluster interconnect hardware, the system achieves failover capability using existing virtualization infrastructure, thereby reducing hardware complexity.
Solution Approach 2:
The patent substitutes the mechanical/hardware-based cluster interconnect system with a software-based memory sharing mechanism. Instead of relying on dedicated physical connections for failover, the system uses virtual memory regions that can be accessed through standard memory addressing, replacing hardware complexity with software abstraction.
3Ease of operation
If guest operating systems cannot access shared memory regions, then hardware control simplicity is maintained, but data consistency and failover functionality are lost
Solution Approach 1:
The patent applies universality by making the shared memory regions serve multiple functions: they act as both normal memory storage during operation and as failover data storage when needed. The same memory infrastructure supports both regular computation and consistency recovery, eliminating the need for separate dedicated storage mechanisms.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A system and method provides for failover of guest operating systems in a virtual machine environment. During initialization of a computer executing a virtual machine operating system, a first guest operating system allocates a first memory region within a first domain and notifies a second guest operating system operating in a second domain of the allocated first memory region. Similarly, the second guest operating system allocates a second region of memory within the second domain and notifies the first operating system of the allocated second memory region. In the event of a software failure affecting one of the guest operating systems, the surviving guest operating system assumes the identity of the failed operating system and utilizes data stored within the shared memory region to replay to storage devices to render them consistent.