Virtual machine rollback
First Claim
Patent Images
1. A system for data consistency, the system comprising:
- a storage system;
an application running on a server;
wherein the application comprises a virtual machine;
the server with a server cache;
wherein the server cache has a log;
wherein the server cache is enabled to store memory information for the application;
computer-executable logic operating in memory, wherein the computer-executable program logic is configured to enable one or more processors to execute;
receiving a current IO from the application at the server cache, the current IO updating data stored on the server cache;
writing the current IO to a location on a portion of the server cache segregated to the application by a hypervisor;
wherein the application runs in the hypervisor;
as to not overwrite previous data to which the current IO is directed;
wherein the hypervisor is enabled to segregate writes from virtual machines to different areas in the server cache;
updating, in the server cache, a location index of the data to correspond to the location where the current IO was written;
recording a location of the previous data in the log;
wherein the computer executable logic is further configured for;
periodically transferring portions of content stored on the server cache to the storage system;
wherein the storage system stores IO written to the a disk image of the application and the server cache represents IO written to memory, wherein the server cache has DRAM and Flash;
wherein the writing the current IO so as to not to overwrite the previous data to which the current IO is directed further comprises;
writing the previous data to the Flash; and
writing the current IO in the DRAM; and
wherein the recording the location of the previous data in the log includes recording the location of the previous data written in the Flash.
9 Assignments
0 Petitions
Accused Products
Abstract
A method, system, and computer program product for data consistency, the system comprising receiving an IO from an application at a server cache, writing the IO to a location on the server cache as to not overwrite the previous data to which the IO is directed, updating, in the server cache, the location of the data to correspond to the location where the IO was written and recording the location of the previous data in a log.
-
Citations
14 Claims
-
1. A system for data consistency, the system comprising:
-
a storage system; an application running on a server;
wherein the application comprises a virtual machine;the server with a server cache;
wherein the server cache has a log;
wherein the server cache is enabled to store memory information for the application;computer-executable logic operating in memory, wherein the computer-executable program logic is configured to enable one or more processors to execute;
receiving a current IO from the application at the server cache, the current IO updating data stored on the server cache;
writing the current IO to a location on a portion of the server cache segregated to the application by a hypervisor;
wherein the application runs in the hypervisor;
as to not overwrite previous data to which the current IO is directed;
wherein the hypervisor is enabled to segregate writes from virtual machines to different areas in the server cache;updating, in the server cache, a location index of the data to correspond to the location where the current IO was written; recording a location of the previous data in the log; wherein the computer executable logic is further configured for; periodically transferring portions of content stored on the server cache to the storage system; wherein the storage system stores IO written to the a disk image of the application and the server cache represents IO written to memory, wherein the server cache has DRAM and Flash; wherein the writing the current IO so as to not to overwrite the previous data to which the current IO is directed further comprises;
writing the previous data to the Flash; and
writing the current IO in the DRAM; and
wherein the recording the location of the previous data in the log includes recording the location of the previous data written in the Flash. - View Dependent Claims (2, 3, 4, 13)
-
-
5. A computer program product comprising:
-
a non-transitory computer readable medium encoded with computer executable program code for replication of data, the code configured to enable the execution of; receiving an a current IO from an application at a server cache, the current IO updating data stored on the server cache;
wherein the application comprises a virtual machine;writing the current IO to a location on a portion of the server cache segregated to the application by a hypervisor;
wherein the application runs in the hypervisor;
as to not overwrite previous data to which the current IO is directed;
wherein the hypervisor is enabled to segregate writes from virtual machines to different areas in the server cache;updating, in the server cache, a location index of the data to correspond to the location where the current IO was written; recording the a location of the previous data in a log; periodically transferring portions of content stored on the server cache to a storage system; wherein the storage system stores IO written to a disk image of the application and the server cache represents IO written to memory, wherein the server cache has DRAM and Flash, and wherein the writing the current IO so as to not to overwrite the previous data to which the current IO is directed further comprises;
writing the previous data to the Flash; and
writing the current IO in the DRAM;and wherein the recording the location of the previous data in the log includes recording the location of the previous data written in the Flash. - View Dependent Claims (6, 7, 8, 14)
-
-
9. A computer implemented method comprising:
-
receiving a current IO from an application at a server cache, the current IO updating data stored on the server cache;
wherein the application comprises a virtual machine;writing the current IO to a location on a portion of the server cache segregated to the application by a hypervisor;
wherein the application runs in the hypervisor;
as to not overwrite previous data to which the current IO is directed;
wherein the hypervisor is enabled to segregate writes from virtual machines to different areas in the server cache;updating, in the server cache, a location index of the data to correspond to the location where the current IO was written; recording the a location of the previous data in a log; periodically transferring portions of content stored on the server cache to a storage system; wherein the storage system stores IO written to the a disk image of the application and the server cache represents IO written to memory, wherein the server cache has DRAM and Flash, and wherein the writing the current IO so as to not to overwrite the previous data to which the current IO is directed further comprises;
writing the previous data to the Flash; and
writing the current IO in the DRAM; and
wherein the recording the location of the previous data in the log includes recording the location of the previous data written in the Flash.- View Dependent Claims (10, 11, 12)
reading the log to find the previous point in time; using the log and the server cache to create the previous point in time; and exposing the previous point of time to the application.
-
-
12. The computer implemented method of claim 9 further comprising:
rolling the data of the application stored on the storage to the previous point in time.
Specification