IP Library Granted Patent US 7,096,392
Granted Patent B2
US 7,096,392 · App. 10/841,398 · Granted Aug 22, 2006

Method and system for automated, no downtime, real-time, continuous data protection

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,096,392
App. No.
10/841,398
Granted
Aug 22, 2006
Kind
B2
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 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).

Claims (47)

1. Apparatus comprising a processor and program code to implement a finite state machine with a plurality of states and to effect transitions between the states, the finite state machine providing a data protection service to a data source associated with a host and comprising:

a first state for acting upon an upload event;

a second state for acting upon a backup event, the finite state machine transitioning from the first state to the second state upon the occurrence of a given incident;

a third state for acting upon a resynchronization event, the finite state machine transitioning from the second state to the third state upon the occurrence of a given incident;

a fourth state for acting upon a recovery initiation event, the finite state machine transitioning to the fourth state from either the second state or the third state upon the occurrence of a given incident;

a fifth state for acting upon a recovery event, the finite state machine transitioning from the fourth state to the fifth state upon the occurrence of a given incident; wherein, upon completion of the recovery event, the finite state machine transitions from the fifth state back to the second state upon the occurrence of a given incident; and

a sixth state for acting upon a blackout event that occurs while the finite state machine is in either the second state or the third state;

wherein the finite state machine transitions from the second state to the sixth state upon occurrence of a given incident, wherein the given incident that causes this transition is a blackout that occurs while the finite state machine is in the second state or the third state.

2. The apparatus as described in claim 1 wherein the finite state machine transitions from the sixth state back to the third state upon the occurrence of a given incident while the finite state machine is in the sixth state.

3. The apparatus as described in claim 2 wherein the given incident that causes the finite state machine to transition from the sixth state back to the third state is a reconnection.

4. The apparatus as described in claim 1 wherein the given incident that causes the finite state machine to transition from the first state to the second state while the finite state machine is in the first state is completion of an upload of a baseline copy of the data source.

5. The apparatus as described in claim 1 wherein the given incident that causes the finite state machine to transition from the second state to the third state while the finite state machine is in the second state is a reboot.

6. The apparatus as described in claim 1 wherein the given incident that causes the finite state machine to transition from the second state to the fourth state while the finite state machine is in the second state is a request to initiate a recovery.

7. The apparatus as described in claim 1 wherein the given incident that causes the finite state machine to transition from the third state to the fourth state while the finite state machine is in the third state is a request to initiate a recovery.

8. The apparatus as described in claim 1 wherein the finite state machine transitions from the third state back to the second state upon the occurrence of a given incident, wherein the given incident that causes this transition is an indication that given data is synchronized.

9. The apparatus as described in claim 1 wherein the given incident that causes the finite state machine to transition from the fourth state to the fifth state while the finite state machine is in the fourth state is an indication that given data recovery is initiated.

10. The apparatus as described in claim 1 wherein the given incident that causes the finite state machine to transition from the fifth state back to the second state while the finite state machine is in the fifth state is an indication that given data recovery is completed.

11. A method of protecting a data source associated with an application, comprising:

generating an application aware, real-time event data stream by capturing data changes associated with one or more events associated with the data source, the data stream comprising, for each event, data identifying the event, given metadata, and the data changes; and

protecting the data source without substantially interrupting the application by continuously transitioning among a set of states.

12. The method as described in claim 11 wherein the set of states comprise:

a first state for acting upon an upload event;

a second state for acting upon a backup event, the first state transitioning to the second state upon the occurrence of a given incident;

a third state for acting upon a resynchronization event, the second state transitioning to the third state upon the occurrence of a given incident; and

a fourth state for acting upon a recovery event, the fourth state being reached by a transition from either a backup event or a resynchronization event;

wherein, upon completion of the recovery event, the fourth state transitions back to the second state.

13. A method of protecting a data source associated with a host, comprising:

generating an application aware, real-time event data stream; and

protecting the data source without interrupting the application, wherein data protection is provided by continuously transitioning among a set of states, comprising:

a first state for acting upon an upload event;

a second state for acting upon a backup event, the first state transitioning to the second state upon the occurrence of a given incident;

a third state for acting upon a resynchronization event, the second state transitioning to the third state upon the occurrence of a given incident;

a fourth state for acting upon a recovery initiation event, the fourth state being reached by a transition from either the second state or the third state upon the occurrence of a given incident;

a fifth state for acting upon a recovery event, the fourth state transitioning to the fifth state upon the occurrence of a given incident; wherein, upon completion of the recovery event, the fifth state transitions back to the second state upon the occurrence of a given incident; and

a sixth state for acting upon a blackout event that occurs during either the second state or the third state, wherein, upon occurrence of a given incident, the second state or the third state, as the case may be, transitions to the sixth state.

14. A method of protecting a data source associated with an application, comprising:

generating from the data source an application aware, real-time event data stream by capturing data changes associated with one or more events associated with the data source, the data stream comprising, for each event, data identifying the event, given metadata, and the data changes; and

providing the data source initial data upload, continuous backup, data resynchronization and data recovery as phases of an integrated data protection cycle without substantially interrupting the application.

15. A computer program stored on a computer recordable medium for providing a data protection service to a data source associated with an application, comprising:

program code executable in a processor that generates an application aware, real-time event data stream associated with the data source by capturing data changes associated with one or more events associated with the data source, the data stream comprising, for each event, data identifying the event, given metadata, and the data changes; and

program code executable in a processor to implement a finite state machine, the finite state machine protecting the data source without substantially interrupting the application by continuously transitioning among a set of states, the set of states comprising data upload, data backup, data resynchronization and data recovery.

16. The computer program product as described in claim 15 wherein the states are phases of an integrated data protection cycle for the data source.

17. The computer program product as described in claim 15 wherein the finite state machine has a given entry state.

18. The computer program product as described in claim 17 wherein the given entry state is the data upload state.

19. The computer program product as described in claim 15 wherein the finite state machine has a given entry state, wherein the given entry state is selected from a set of states that include: data upload, data backup, data resynchronization and data recovery.

20. The method as described in claim 14 further including the step of transferring the application aware, real-time event data stream to a data store.

21. The method as described in claim 20 wherein the application-aware, real-time event data stream is transferred to the data store over a network for tracking update history.

Assignments (30)
RELEASE OF SECURITY INTEREST Recorded Nov 19, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073606/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073613/0326 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0649 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0001 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: GOLDMAN SACHS BANK USA
Reel/Frame 058945/0778 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058952/0279 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CHANGE OF NAME Recorded Dec 6, 2017
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 044800/0848 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
CHANGE OF NAME Recorded Aug 20, 2013
From: QUEST SOFTWARE, INC.
To: DELL SOFTWARE INC.
Reel/Frame 031043/0281 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2011
From: BAKBONE SOFTWARE INCORPORATED
To: QUEST SOFTWARE, INC.
Reel/Frame 026651/0373 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2009
From: ASEMPRA (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
To: BAKBONE SOFTWARE, INC.
Reel/Frame 023263/0180 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2009
From: ASEMPRA TECHNOLOGIES, INC.
To: ASEMPRA (ASSIGNMENT FOR THE BENEFIT OF CREDITORS,) LLC
Reel/Frame 023196/0389 →
NUNC PRO TUNC ASSIGNMENT Recorded Jun 5, 2006
From: SIM-TANG, SIEW YONG
To: ASEMPRA TECHNOLOGIES, INC.
Reel/Frame 017724/0924 →