SYSTEMS AND METHODS FOR CONTINUOUS DATA PROTECTION
Example embodiments relate generally to systems and methods for continuous data protection (CDP) and more specifically to an input and output (I/O) filtering framework and log management system to seek a near-zero recovery point objective (RPO).
1 . A method comprising at least the following operations:
collecting I/O data from a source;
providing a touchpoint to parse and configure the collection of the I/O data;
sending a parsed section of the collected I/O data to a log receiver for storage as a log-chain in an I/O log, the parsed section of the collected I/O data excluding at least one canceled I/O request identified at an I/O completion;
receiving a request for recoverable data from a destination; and
causing or facilitating a transmission of the requested data to the destination based at least on a portion of the stored log-chain.
2 . The method of claim 1 , wherein the parsed section of the I/O data includes only completed I/O requests exchanged between a virtual machine (VM) and a virtualization server.
3 . The method of claim 1 , wherein the parsed section of the I/O data excludes canceled I/O requests exchanged between a VM and a virtualization server.
4 . The method of claim 1 , wherein the operations further comprise forming a recoverable snapshot-log chain by applying the stored log-chain to a base snapshot.
5 . The method of claim 1 , wherein the operations further comprise establishing a network cache for the parsed section of the collected I/O data between a filter framework and a log receiver.
6 . The method of claim 5 , wherein the operations further comprise establishing a cache for the parsed section of the collected I/O data at the log receiver.
7 . A system comprising:
at least one processor for executing machine-readable instructions; and
a memory storing instructions configured to cause the at least one processor to perform operations comprising, at least:
collecting I/O data from a source;
providing a touchpoint to parse and configure the collection of the I/O data;
sending a parsed section of the collected I/O data to a log receiver for storage as a log-chain in an I/O log, the parsed section of the collected I/O data excluding at least one canceled I/O request identified at an I/O completion;
receiving a request for recoverable data from a destination; and
causing or facilitating a transmission of the requested data to the destination based at least on a portion of the stored log-chain.
8 . The system of claim 7 , wherein the parsed section of the I/O data includes only completed I/O requests exchanged between a virtual machine (VM) and a virtualization server.
9 . The system of claim 7 , wherein the parsed section of the I/O data excludes canceled I/O requests exchanged between a VM and a virtualization server.
10 . The system of claim 7 , wherein the operations further comprise forming a recoverable snapshot-log chain by applying the stored log-chain to a base snapshot.
11 . The system of claim 7 , wherein the operations further comprise establishing a network cache for the parsed section of the collected I/O data between a filter framework and a log receiver.
12 . The system of claim 11 , wherein the operations further comprise establishing a cache for the parsed section of the collected I/O data at the log receiver.
13 . A non-transitory, machine-readable medium storing instructions which, when read by a machine, cause the machine to perform operations comprising at least:
collecting I/O data from a source;
providing touchpoint to parse and configure the collection of the I/O data;
sending a parsed section of the collected I/O data to a log receiver for storage as a log-chain in an I/O log, the parsed section of the collected I/O data excluding at least one canceled I/O request identified at an I/O completion;
receiving a request for recoverable data from a destination; and
causing or facilitating a transmission of the requested data to the destination based at least on a portion of the stored log-chain.
14 . The medium of claim 13 , wherein the parsed section of the I/O data includes only completed I/O requests exchanged between a virtual machine (VM) and a virtualization server.
15 . The medium of claim 13 , wherein the parsed section of the I/O data excludes canceled I/O requests exchanged between a VM and a virtualization server.
16 . The medium of claim 13 , wherein the operations further comprise forming a recoverable snapshot-log chain by applying the stored log-chain to a base snapshot.
17 . The medium of claim 13 , wherein the operations further comprise establishing a network cache for the parsed section of the collected I/O data between a filter framework and a log receiver.
18 . The medium of claim 17 , wherein the operations further comprise establishing a cache for the parsed section of the collected I/O data at the log receiver.
19 . A method comprising:
collecting I/O data from a source;
providing a touchpoint to parse and configure the collection of the I/O data;
sending a parsed section of the collected I/O data to a log receiver for storage as a log-chain in an I/O log, the parsed section of the collected I/O data excluding at least one canceled I/O request identified at an I/O completion;
receiving a request for recoverable data; and
causing or facilitating a transmission of the requested data based at least on a portion of the stored log-chain.
20 . The method of claim 19 , further comprising:
forming a recoverable snapshot-log chain by applying the stored log-chain to a base snapshot.