IP Library Granted Patent US 9,710,332
Granted Patent B1
US 9,710,332 · App. 14/151,228 · Granted Jul 18, 2017

Data provenance in computing infrastructure

Inventors: Chenhui Fan (Shanghai, CN); Lun Zhou (Shanghai, CN); Stephen Todd (Shrewsbury, MA); Qiyan Chen (Shanghai, CN); Tianqing Wang (Shanghai, CN)
Assignee: EMC IP Holding Company LLC
G06F11/1402
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 9,710,332
App. No.
14/151,228
Granted
Jul 18, 2017
Kind
B1
Abstract

Techniques are disclosed for generating data provenance associated with a computing system. For example, a method comprises the following steps. Information associated with the execution of a given process in a given computing environment in accordance with a given process data set is captured. A provenance data set is generated based on the captured information. The generated provenance data set comprises one or more states associated with one or more execution components of the given computing environment that existed during execution of the given process, the one or more execution components comprising one or more virtual machines and one or more storage units. At least a portion of the generated provenance data set may be utilized to revert the computing environment back to the one or more states associated with the one or more execution components of the given computing environment that existed during the execution of the given process.

Claims (46)

1. A method comprising the steps of:

capturing information during execution of a given application in a given computing environment, wherein the given application is executed by execution components of the given computing environment in accordance with a given application data set, the execution components comprising one or more virtual machines and one or more associated external storage volumes, and wherein the information capturing step further comprises capturing one or more complex asset representations of the given computing environment, each complex asset representation being an abstraction of the given computing environment for the given application across the execution components of the given computing environment, and wherein each complex asset representation comprises state information for a given time corresponding to the execution components of the given computing environment;

generating a provenance data set based on the captured information, the generated provenance data set comprising provenance metadata associated with two or more provenance nodes corresponding to respective ones of the one or more captured complex asset representations, wherein each of the provenance nodes represents one or more states associated with the execution components of the given computing environment that existed during the execution of the given application at a particular time;

providing the provenance data via a user interface in the form of a directed acyclic graph, wherein the user interface is configured to browse provenance of a current version of the given application data set by traversing the two or more provenance nodes in the directed acyclic graph, and wherein the user interface is further configured to query the provenance metadata associated with individual ones of the two or more provenance nodes; and

utilizing at least a portion of the generated provenance data set to revert the execution components of the given computing environment back to at least one of the one or more states associated with the execution components of the given computing environment that existed during the execution of the given application responsive to input received via the user interface selecting a given one of the two or more provenance nodes in the directed acyclic graph, wherein the execution components of the given computing environment are reverted back to the at least one state by:

extracting the complex asset representation for the at least one state from the provenance data set;

unlocking the one or more external storage volumes corresponding to the extracted complex asset representation;

resuming the one or more virtual machines corresponding to the extracted complex asset representation; and

re-executing the given application for the given application data set with the one or more unlocked external storage volumes and the one or more resumed virtual machines;

wherein the steps are performed by at least one processing device comprising a processor coupled to a memory.

2. The method of claim 1 , wherein the execution components of the given computing environment comprise one or more virtual resources.

3. The method of claim 1 , wherein the execution components of the given computing environment comprise one or more processing resources.

4. The method of claim 1 , wherein the execution components of the given computing environment comprise one or more storage resources.

5. The method of claim 1 , wherein the given computing environment comprises a cloud computing environment.

6. The method of claim 1 , further comprising creating a new provenance node in response to a request received via the user interface.

7. The method of claim 1 , further comprising creating a new provenance node in response to a scheduled event triggered according to a provenance policy.

8. The method of claim 1 , further comprising creating a new provenance node in response to receiving a request to generate a new complex asset snapshot.

9. The method of claim 1 , further comprising creating a new provenance node in response to the given application triggering a milestone event.

10. A computer program product comprising a processor-readable storage medium having encoded therein executable code of one or more software programs, wherein the one or more software programs when executed by the processor of the processing device implement the steps of:

capturing information during execution of a given application in a given computing environment, wherein the given application is executed by execution components of the given computing environment in accordance with a given application data set, the execution components comprising one or more virtual machines and one or more associated external storage volumes, and wherein the information capturing step further comprises capturing one or more complex asset representations of the given computing environment, each complex asset being an abstraction of the given computing environment for the given application across the execution components of the given computing environment, and wherein each complex asset representation comprises state information for a given time corresponding to the execution components of the given computing environment;

generating a provenance data set based on the captured information, the generated provenance data set comprising provenance metadata associated with two or more provenance nodes corresponding to respective ones of the one or more captured complex asset representations, wherein each of the provenance nodes represents one or more states associated with the execution components of the given computing environment that existed during the execution of the given application at a particular time;

providing the provenance data via a user interface in the form of a directed acyclic graph, wherein the user interface is configured to browse provenance of a current version of the given application data set by traversing the two or more provenance nodes in the directed acyclic graph, and wherein the user interface is further configured to query the provenance metadata associated with individual ones of the two or more provenance nodes; and

utilizing at least a portion of the generated provenance data set to revert the execution components of the given computing environment back to at least one of the one or more states associated with the execution components of the given computing environment that existed during the execution of the given application responsive to input received via the user interface selecting a given one of the two or more provenance nodes in the directed acyclic graph, wherein the execution components of the given computing environment are reverted back to the at least one state by:

extracting the complex asset representation for the at least one state from the provenance data set;

unlocking the one or more external storage volumes corresponding to the extracted complex asset representation;

resuming the one or more virtual machines corresponding to the extracted complex asset representation; and

re-executing the given application for the given application data set with the one or more unlocked external storage volumes and the one or more resumed virtual machines.

11. An apparatus comprising:

a memory; and

a processor operatively coupled to the memory and configured to:

capture information during execution of a given application in a given computing environment, wherein the given application is executed by execution components of the given computing environment in accordance with a given application data set, the execution components comprising one or more virtual machines and one or more associated external storage volumes, and wherein the information capture further comprises capturing one or more complex asset representations of the given computing environment, each complex asset representation being an abstraction of the given computing environment for the given application across the execution components of the given computing environment, wherein each complex asset representation comprises state information for a given time corresponding to the execution components of the given computing environment;

generate a provenance data set based on the captured information, the generated provenance data set comprising provenance metadata associated with two or more provenance nodes corresponding to respective ones of the one or more captured complex asset representations, wherein each of the provenance nodes represents one or more states associated with the execution components of the given computing environment that existed during the execution of the given application at a particular time;

provide the provenance data via a user interface in the form of a directed acyclic graph, wherein the user interface is configured to browse provenance of a current version of the given application data set by traversing the two or more provenance nodes in the directed acyclic graph, and wherein the user interface is further configured to query the provenance metadata associated with individual ones of the two or more provenance nodes; and

utilize at least a portion of the generated provenance data set to cause the execution components of the given computing environment to revert back to at least one of the one or more states associated with the execution components of the given computing environment that existed during the execution of the given application responsive to input received via the user interface selecting a given one of the two or more provenance nodes in the directed acyclic graph, wherein the execution components of the given computing environment are reverted back to the at least one state by:

extracting the complex asset representation for the at least one state from the provenance data set;

unlocking the one or more external storage volumes corresponding to the extracted complex asset representation;

resuming the one or more virtual machines corresponding to the extracted complex asset representation; and

re-executing the given application for the given application data set with the one or more unlocked external storage volumes and the one or more resumed virtual machines.

12. The apparatus of claim 11 , wherein the information capturing operation is performed by an asset snapshot module executed by the processor.

13. The apparatus of claim 12 , wherein the provenance data generating operation is performed by a provenance module executed by the processor.

14. The apparatus of claim 13 , wherein the generated provenance data set is stored in a provenance datastore implemented in the memory.

15. The apparatus of claim 14 , wherein the asset snapshot module and the provenance module are coordinated by a coordinator module executed by the processor.

16. The apparatus of claim 11 , wherein the execution components of the given computing environment comprise one or more virtual resources.

17. The apparatus of claim 11 , wherein the execution components of the given computing environment comprise one or more processing resources.

18. The apparatus of claim 11 , wherein the execution components of the given computing environment comprise one or more storage resources.

19. The apparatus of claim 11 , wherein the given computing environment comprises a cloud computing environment.

Assignments (3)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
Continuity (1)
Continuation 13333307 · Dec 21, 2011