Snapshot Tree Expansion for Virtual Machine Cloning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In software development environments, managing snapshots across multiple virtual machines is inefficient due to repetitive operations, time consumption, and memory waste, as each developer independently installs and configures the software development environment, leading to sprawling snapshots and potential loss of previous versions.
Innovation Solution
A method for managing computing machines by expanding snapshot trees to share snapshots among multiple machines, allowing for the restoration of selected nodes without stopping donor machines, thus reducing repetition and memory usage, and enabling seamless version management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If each software developer independently installs and configures the software development environment on their own virtual machine, then each developer can have a customized development environment, but this causes repetitive operations that are time consuming and lead to sprawling snapshots wasting mass memory space
Solution Approach 1:
The patent applies copying by creating virtual machine images from snapshots that can be copied and applied to multiple developers' virtual machines. Instead of each developer installing software independently, a master snapshot containing the complete software development environment is copied to subordinate virtual machines, eliminating repetitive installation while maintaining environment consistency.
Solution Approach 2:
The patent merges the software development environment installation process into a centralized snapshot that can be shared across multiple virtual machines. By combining the software installation, configuration, and snapshot creation into a single master image, the system eliminates redundant operations while allowing multiple developers to access the same environment through virtual machine copying.
2Adaptability or versatility
If each software developer independently installs and configures the software development environment on their own virtual machine, then each developer can have a customized development environment, but this causes snapshots to sprawl across different machines wasting mass memory space
Solution Approach 1:
The patent merges snapshot storage into a centralized repository where a single master snapshot and its derivatives are stored. Instead of duplicating complete software environments across multiple virtual machines, the system uses a shared snapshot repository where subordinate virtual machines reference and copy from the master snapshot, dramatically reducing total memory consumption while maintaining environment availability.
Solution Approach 2:
The patent implements efficient copying by creating lightweight virtual machine images from the master snapshot that can be distributed to multiple developers. These copies are optimized to share common components with the master snapshot, reducing redundant data storage while allowing each developer to have their own instance of the development environment.
3Quantity of substance
If the source virtual machine is stopped to take a snapshot for cloning, then the snapshot can be captured, but this causes a long period of unavailability of the source virtual machine
Solution Approach 1:
The patent applies preliminary action by pre-configuring the master virtual machine with the complete software development environment and creating a master snapshot before it is needed by other developers. This advance preparation eliminates the need to stop the source virtual machine later, as the snapshot is already available for immediate copying to subordinate machines.
Solution Approach 2:
The patent enables continuous operation of the master virtual machine by using snapshot technology that captures the system state without requiring shutdown. The master VM can remain running and operational while snapshots are created and copied to subordinate virtual machines, maintaining uninterrupted development work and eliminating idle time.
4Adaptability or versatility
If the cloning process involves stopping the target virtual machine, attaching software image, and re-configuring, then the source virtual machine can be cloned, but this process is quite time consuming and prone to errors
Solution Approach 1:
The patent simplifies cloning by using snapshot-based copying instead of complex image attachment procedures. The master snapshot can be directly applied to subordinate virtual machines through automated copying, eliminating manual steps such as stopping VMs, attaching images, and re-configuring systems. This reduces both time and potential for human error.
Solution Approach 2:
The patent applies preliminary action by pre-configuring all necessary software, dependencies, and settings in the master virtual machine before cloning. This advance preparation ensures that subordinate virtual machines inherit a complete, tested, and configured environment, eliminating the need for post-cloning reconfiguration and reducing operational complexity.
5Quantity of substance
If the source virtual machine is stopped to take a snapshot, then the snapshot can be captured, but this causes the snapshot tree of the target virtual machine to lose any previous snapshots
Solution Approach 1:
The patent uses snapshot copying that preserves the snapshot tree structure of the target virtual machine. When a master snapshot is applied to a subordinate VM, the system creates a new snapshot tree that includes both the inherited snapshots from the master and any existing snapshots of the target, preventing loss of historical version information.
Solution Approach 2:
The patent implements prior cushioning by preserving and integrating the target virtual machine's existing snapshot tree before applying the master snapshot. The system cushions against information loss by maintaining a record of previous snapshots and incorporating them into the new snapshot hierarchy, ensuring no historical data is lost during the cloning process.
Data Source
AI summary
A solution is proposed for managing each one of a plurality of computing machines. A corresponding method comprises taking one or more snapshots of the computing machine or part thereof, the snapshots being organized in a snapshot tree of nodes representing the snapshots according to a dependency thereof, expanding the snapshot tree of the computing machine according to each sub-tree of the snapshot tree of each other computing machine having the snapshot of a parent node of the sub-tree matching a graft node of the snapshot tree of the computing machine, the sub-tree being appended to the graft node, selecting a snapshot of the other computing machines represented by a selected node of the snapshot tree of the computing machine, and restoring the selected snapshot on the computing machine.


