Method and system for real-time event journaling to provide enterprise data services
First Claim
1. Apparatus for use in providing a data service, comprising:
- a filter, located between an application and an associated data storage;
a module, connectable to the filter, that identifies to the filter a set of one or more requests or responses expected to occur as the application interfaces to the data storage, and a given action to take upon occurrence of each request or response, wherein a given request or response has associated therewith one or more data changes;
a queue connectable to the filter to receive and store one or more data events generated as a function of the given action, wherein a given data event has associated therewith one or more of the data changes, together with metadata; and
a processor connectable to the queue to receive the data events, and to process and consolidate the data events by a concatenation operation into a continuous, application-aware, data stream comprising a sequence of application consistent checkpoints, wherein a given application consistent checkpoint is generated as a result of a consolidation of data events and has associated therewith information identifying the data events, the metadata, and the one or more data changes;
wherein, during processing of a given data event, the processor determines if a particular data event signifies an application consistent checkpoint and, if not, the processor holds the particular data event until the particular data event is subsequently associated with the given application consistent checkpoint.
24 Assignments
0 Petitions
Accused Products
Abstract
A data management system or “DMS” provides a wide range of data services to data sources associated with a set of application host servers. The data management system typically comprises one or more regions, with each region having one or more clusters. A given cluster has one or more nodes that share storage. To facilitate the data service, a host driver embedded in an application server connects an application and its data to a cluster. The host driver provides a method and apparatus for capturing real-time data modifications and application state notifications and, in response, generating data transactions in the form of an event journal that is provided to the data management system. The driver functions to translate traditional file/database/block I/O into a continuous, application-aware, output data stream. Using the streams generated in this manner, the DMS offers a wide range of data services that include, by way of example only: data protection (and recovery), and disaster recovery (data distribution and data replication).
-
Citations
19 Claims
-
1. Apparatus for use in providing a data service, comprising:
-
a filter, located between an application and an associated data storage; a module, connectable to the filter, that identifies to the filter a set of one or more requests or responses expected to occur as the application interfaces to the data storage, and a given action to take upon occurrence of each request or response, wherein a given request or response has associated therewith one or more data changes; a queue connectable to the filter to receive and store one or more data events generated as a function of the given action, wherein a given data event has associated therewith one or more of the data changes, together with metadata; and a processor connectable to the queue to receive the data events, and to process and consolidate the data events by a concatenation operation into a continuous, application-aware, data stream comprising a sequence of application consistent checkpoints, wherein a given application consistent checkpoint is generated as a result of a consolidation of data events and has associated therewith information identifying the data events, the metadata, and the one or more data changes; wherein, during processing of a given data event, the processor determines if a particular data event signifies an application consistent checkpoint and, if not, the processor holds the particular data event until the particular data event is subsequently associated with the given application consistent checkpoint. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. Apparatus for use in providing a data service, comprising:
-
a filter, located between an application and an associated data storage; an input/output module, connectable to the filter, that identifies to the filter a set of one or more requests or responses expected to occur as the application interfaces to the data storage, and a given action to take upon occurrence of each request or response, wherein a given request or response has associated therewith one or more data changes; a database module, connectable to a database associated with an application that stores data in the database; a queue connectable to the filter and the database module to receive and store one or more data events generated by the database module and the filter as a function of the given action, wherein a given data event has associated therewith one or more of the data changes, together with metadata; and a processor connectable to the queue to receive the data events, and to process and consolidate the data events by a concatenation operation into a continuous, application-aware, data stream comprising a sequence of application consistent checkpoints, wherein a given application consistent checkpoint is generated as a result of a consolidation of data events and has associated therewith information identifying the data events, the metadata, and the one or more data changes; wherein the processing includes determining if a particular data event signifies an application consistent checkpoint and, if not, hold the particular data event from consolidation until the particular data event is subsequently associated with the given application consistent checkpoint. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A method of monitoring an application in communication with a data storage to facilitate provision of a data service, comprising:
-
identifying a set of one or more requests or responses expected to occur as the application interfaces to the data storage, and a given action to take upon occurrence of each request or response, wherein a given request or response has associated therewith one or more data changes; as the application interfaces to the data storage, receiving and storing one or more data events generated as a function of a given action, wherein a given data event has associated therewith one or more of the data changes, together with metadata; and processing and consolidating the data events by a concatenation operation into a continuous, application-aware, data stream comprising a sequence of one or more application consistent checkpoints, wherein a given application consistent checkpoint is generated as a result of a consolidation of data events and has associated therewith information identifying the data events, the metadata, and the one or more data changes; wherein the processing includes determining if a particular data event signifies an application consistent checkpoint and, if not, holding the particular data event from consolidation until the particular data event is subsequently associated with the given application consistent checkpoint. - View Dependent Claims (16, 17, 18, 19)
-
Specification