Patent ID: 7680834

Claim:
A machine-implemented method of synchronizing data as a data protection service is being provided to a given data source in a first processing environment, the method comprising: generating, at the first processing environment, a continuous, application-aware data stream by capturing data changes associated with one or more events associated with the given data source, the data stream comprising, for each event, data identifying the event, given metadata, and the data changes; transferring the continuous, application-aware data stream to a data store remote from the first processing environment; determining whether a state of given data in the first processing environment is out of synchronization with respect to a state of the given data in the data store remote from the first processing environment; and upon determining that the state of the given data in the first processing environment is out of synchronization with respect to the state of the given data in the data store, and upon determining the given data in the first processing environment is not corrupt, initiating a given operation with respect to the data source in a first processing environment to synchronize the given data by the following sub-steps that are carried out in the first processing environment: ordering into a data structure a set of data items that reference the given data source; flagging the data items in the set of data items that are out of synchronization; requesting metadata from the data store; using the metadata received from the data store to if identify at least one data item in the set of data items that is out of synchronization with a corresponding data item in the remote store; with respect to the at least one data item in the set of data items that is out of synchronization, generating a difference value; and placing the difference value into the continuous, application-aware data stream; wherein the given operation occurs while the given application continues to execute and as the continuous, application-aware data stream continues to be generated and transferred to the data store to provide the data protection.