Virtual Machine Backup via Hypervisor Flag Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current virtual machine backup systems lack flexibility and efficiency in managing backups based on the preferences of individual virtual machines, often prioritizing either performance or fault-tolerant behavior over the other, and do not allow virtual machines to influence when and how they are backed up.
Innovation Solution
A system where a hypervisor uses a flag set by the virtual machine to determine whether to suspend or resume execution and whether to perform a backup, allowing virtual machines to dictate their backup behavior, with options to prioritize performance or fault-tolerant behavior by setting specific flag values.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the hypervisor suspends execution to perform a backup procedure, then the backup reliability is improved, but the virtual machine performance deteriorates
Solution Approach 1:
The system dynamically adjusts backup behavior based on the flag value set by the virtual machine. When the flag indicates fault-tolerant behavior is prioritized, the hypervisor suspends execution to perform backup. When performance is prioritized, the hypervisor allows execution to continue without suspension. This dynamic adaptation resolves the contradiction by making the backup process conditional rather than fixed.
Solution Approach 2:
The system changes the parameter of backup execution timing based on the flag value. The flag acts as a parameter that controls whether the backup is performed synchronously (suspending execution) or asynchronously (not suspending execution). This parameter change allows the system to switch between reliability-oriented and performance-oriented backup modes.
2Reliability
If the hypervisor waits for backup completion before resuming execution, then the fault-tolerant behavior is improved, but the virtual machine performance deteriorates
Solution Approach 1:
The system dynamically determines whether to wait for backup completion based on the flag value. When fault-tolerant behavior is prioritized (flag value indicates so), the hypervisor waits for backup completion before resuming execution. When performance is prioritized, the hypervisor resumes execution immediately without waiting. This dynamic decision-making resolves the contradiction between reliability and performance.
Solution Approach 2:
The flag value provides feedback to the hypervisor about the virtual machine's preferred behavior mode. The hypervisor uses this feedback to adjust its backup execution strategy, creating a feedback loop that allows the virtual machine to influence its own backup behavior based on current performance or reliability needs.
3Adaptability or versatility
If the system provides flexible backup management options, then the adaptability is improved, but the device complexity increases
Solution Approach 1:
The system extracts the backup decision-making logic from the hypervisor and places it in the virtual machine via the flag. Instead of the hypervisor complexly analyzing multiple factors, the virtual machine simply sets the flag to indicate its preference. This extraction simplifies the hypervisor's complexity while maintaining flexibility through the flag mechanism.
Solution Approach 2:
The virtual machine serves itself by setting the flag to indicate its preferred backup behavior. This self-service approach allows the virtual machine to autonomously manage its backup preferences without requiring complex centralized control logic, thereby reducing system complexity while maintaining adaptability.
Data Source
AI summary
A system and methods are disclosed for performing virtual machine (VM) backups. In accordance with one embodiment, a hypervisor executed by a processing device suspends execution of a VM and initiates a backup procedure to save a current state of the VM. The hypervisor reads a value of a flag that is written to by the VM and is stored in a portion of memory accessible by the VM and the hypervisor. In response to determining that the value read by the hypervisor equals a first value, the hypervisor resumes execution of the VM prior to receiving a status message regarding the backup procedure. In response to determining that the value read by the hypervisor equals a second value, the hypervisor waits to resume execution of the VM until the hypervisor has received a status message indicating that the backup procedure was successful.


