Method and system for virtual on-demand recovery for real-time, continuous data protection
First Claim
1. A method comprising:
- storing data associated with a data source into a data store remote from the data source;
streaming to the data store, as an associated data history of the data source, an application-aware real-time event data stream comprising event-identifying data, metadata, and data changes;
responsive to a determination that given data in the data source is to be recovered to a former point-in-time state;
retrieving from the data store a structure of the given data;
presenting the structure of the given data to an application associated with the data source so that, from a point-of-view of the application, the data source is recovered; and
synchronizing the data source to the structure of the given data;
wherein the data source remains accessible to the application during the retrieving, presenting, and synchronizing step; and
as the data source is synchronized and following the synchronization, generating and forwarding to the data store the application-aware real-time event data stream.
24 Assignments
0 Petitions
Accused Products
Abstract
A data management system or “DMS” provides an automated, continuous, real-time, substantially no downtime data protection service to one or more data sources associated with a set of application host servers. To facilitate the data protection service, a host driver embedded in an application server captures real-time data transactions, preferably in the form of an event journal that is provided to other DMS components. The driver functions to translate traditional file/database/block I/O and the like into a continuous, application-aware, output data stream. The host driver includes an event processor. When an authorized user determines that a primary copy of the data in the host server has become incorrect or corrupted, the event processor can perform a recovery operation to an entire data source or a subset of the data source using former point-in-time data in the DMS. The recovery operation may have two phases. First, the structure of the host data in primary storage is recovered to the intended recovering point-in-time. Thereafter, the actual data itself is recovered. The event processor enables such data recovery in an on-demand manner, in that it allows recovery to happen simultaneously while an application accesses and updates the recovering data.
277 Citations
22 Claims
-
1. A method comprising:
-
storing data associated with a data source into a data store remote from the data source; streaming to the data store, as an associated data history of the data source, an application-aware real-time event data stream comprising event-identifying data, metadata, and data changes; responsive to a determination that given data in the data source is to be recovered to a former point-in-time state; retrieving from the data store a structure of the given data; presenting the structure of the given data to an application associated with the data source so that, from a point-of-view of the application, the data source is recovered; and synchronizing the data source to the structure of the given data; wherein the data source remains accessible to the application during the retrieving, presenting, and synchronizing step; and as the data source is synchronized and following the synchronization, generating and forwarding to the data store the application-aware real-time event data stream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method comprising:
-
storing data associated with a data source into a data store remote from the data source; streaming to the data store, as an associated data history of the data source, an application-aware real-time event data stream comprising event-identifying data, metadata, and data changes; responsive to a determination that given data in the data source is to be recovered to a former point-in-time state; adjusting a current state of the data source at the data store by moving a past state of the data source to the current state of the data source; retrieving the current state of the data source from the data store; presenting the current state of the data source to an application associated with the data source so that from a point-of-view of the application, the data source is recovered; and synchronizing the data source using the current state of the data source retrieved from the data store; wherein the data source remains accessible to the application during the adjusting, retrieving, presenting, and synchronizing step; and as the data source is synchronized and following the synchronization, generating and forwarding to the data store the application-aware real-time event data stream.
-
-
20. An apparatus comprising:
-
a processor; software code executed by the processor to implement a host driver; wherein the host driver is coupled with a data source and further connected to a data store in a remote location; software code executed by the processor to continuously generate and forward to the data store, as an associated point-in-time data history of the data source, an application-aware real-time event data stream comprising event-identifying data, metadata, and data changes; software code executed by the processor and responsive to a determination that given data in the data source is to be recovered to a former point-in-time state; adjusts a current state of the data source at the data store by moving a past state of the data source to the current state of the data source; retrieves the current state of the data source from the data store; presents the current state of the data source to an application associated with the data source so that from a point-of-view of the application, the data source is recovered; and synchronizes the data source using the current state of the data source retrieved from the data store; software code executed by the processor ensures that the data source remains accessible to the application during the adjusts, retrieves, presents, and synchronizes step; and as the data source is synchronized and following the synchronization, software code executed by the processor generates and forwards to the data store the application-aware real-time event data stream. - View Dependent Claims (21, 22)
-
Specification