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 that provides the data protection service, preferably by implementing a
finite state machine (FSM). In particular, the data protection is provided to a given
data source in the host
server by taking
advantage of the continuous, real-
time data that the host driver is capturing and providing to other DMS components. The state of the most current data in DMS matches the state of the data in the host
server; as a consequence, the data protection is provided under the control of the
finite state machine as a set of interconnected phases or “states.” The otherwise separate processes (initial data upload, continuous
backup, blackout and data resynchronization, and
recovery) are simply phases of the overall data protection cycle. As implemented by the
finite state machine, this data protection cycle preferably loops around indefinitely until, for example, a user terminates the service. A given data protection phase (a given state) changes only as the state of the data and the environment change (a given incident).