Time-based virtual machine reversion
First Claim
1. A computer-implemented method of reverting to an earlier version of a virtual machine, the computer-implemented method comprising:
- as implemented by a filter driver within a first computing system comprising one or more hardware processors and configured with computer-executable instructions,wherein the filter driver operates between an input/output framework of a virtual machine hosted by the first computing system and a virtual disk of the virtual machine,receiving an identification of a recovery point of the virtual machine;
at the first computing system, initiating the virtual machine in a first state, wherein the first state is more recent than a second state corresponding to the recovery point;
by the filter driver, accessing a bitmap corresponding to the recovery point,wherein the bitmap is stored at a second computing system comprising one or more hardware processors and configured with computer-executable instructions, andwherein the second computing system is part of a secondary storage system that is communicatively coupled to the first computing system;
identifying a set of data blocks to retrieve from the secondary storage system based at least in part on the bitmap, wherein the bitmap indicates data blocks stored in the secondary storage system that differ in content compared to corresponding data blocks of the virtual disk of the virtual machine;
to revert the virtual machine to the second state corresponding to the recovery point, initiating a data block retrieval process to retrieve the set of data blocks from the secondary storage system;
by the filter driver, receiving an input/output command from the virtual machine that references a data block from the set of data blocks, wherein the data block has yet to be retrieved from the secondary storage system; and
by the filter driver, prioritizing the data block for retrieval over remaining data blocks from the set of data blocks.
2 Assignments
0 Petitions
Accused Products
Abstract
Recovery points can be used for replicating a virtual machine and reverting the virtual machine to a different state. A filter driver can monitor and capture input/output commands between a virtual machine and a virtual machine disk. The captured input/output commands can be used to create a recovery point. The recovery point can be associated with a bitmap that may be used to identify data blocks that have been modified between two versions of the virtual machine. Using this bitmap, a virtual machine may be reverted or restored to a different state by replacing modified data blocks and without replacing the entire virtual machine disk.
-
Citations
20 Claims
-
1. A computer-implemented method of reverting to an earlier version of a virtual machine, the computer-implemented method comprising:
-
as implemented by a filter driver within a first computing system comprising one or more hardware processors and configured with computer-executable instructions, wherein the filter driver operates between an input/output framework of a virtual machine hosted by the first computing system and a virtual disk of the virtual machine, receiving an identification of a recovery point of the virtual machine; at the first computing system, initiating the virtual machine in a first state, wherein the first state is more recent than a second state corresponding to the recovery point; by the filter driver, accessing a bitmap corresponding to the recovery point, wherein the bitmap is stored at a second computing system comprising one or more hardware processors and configured with computer-executable instructions, and wherein the second computing system is part of a secondary storage system that is communicatively coupled to the first computing system; identifying a set of data blocks to retrieve from the secondary storage system based at least in part on the bitmap, wherein the bitmap indicates data blocks stored in the secondary storage system that differ in content compared to corresponding data blocks of the virtual disk of the virtual machine; to revert the virtual machine to the second state corresponding to the recovery point, initiating a data block retrieval process to retrieve the set of data blocks from the secondary storage system; by the filter driver, receiving an input/output command from the virtual machine that references a data block from the set of data blocks, wherein the data block has yet to be retrieved from the secondary storage system; and by the filter driver, prioritizing the data block for retrieval over remaining data blocks from the set of data blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for reverting to an earlier version of a virtual machine, the system comprising:
-
a filter driver implemented on a first computing system comprising one or more hardware processors, wherein the filter driver operates between an input/output framework of a virtual machine and a virtual disk of the virtual machine to monitor and capture input/output commands between the virtual machine and the virtual disk; a secondary storage system in communication with the first computing system, wherein the secondary storage system comprises one or more secondary storage devices, a second computing system comprising one or more hardware processors, and a bitmap corresponding to a recovery point of the virtual machine; and wherein the filter driver is configured to; receive an identification of the recovery point of the virtual machine; initiate the virtual machine in a first state, the first state more recent than a second state corresponding to the recovery point; access the bitmap corresponding to the recovery point; identify a set of data blocks to retrieve from the secondary storage system based at least in part on the bitmap, wherein the bitmap indicates data blocks stored in the secondary storage system that differ in content compared to corresponding data blocks of the virtual disk of the virtual machine; to revert the virtual machine to the second state corresponding to the recovery point, initiate a data block retrieval process to retrieve the set of data blocks from the secondary storage system; capture an input/output command from the virtual machine that references a data block from the set of data blocks, wherein the data block has yet to be retrieved from the secondary storage system; and prioritize the data block for retrieval over remaining data blocks from the set of data blocks. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification