IP Library Granted Patent US 11,086,917
Granted Patent B2
US 11,086,917 · App. 16/802,196 · Granted Aug 10, 2021

Design-time information based on run-time artifacts in transient cloud-based distributed computing clusters

Inventors: Sudhanshu Arora (Sunnyvale, CA); Mark Donsky (San Francisco, CA); Guang Yao Leng (Mountain View, CA); Naren Koneru (Fremont, CA); Chang She (San Francisco, CA); Vikas Singh (San Jose, CA); Himabindu Vuppula (Saratoga, CA)
Assignee: Cloudera, Inc.
G06F16/345G06F9/45558G06F16/288G06F16/38G06N5/04G06F16/182G06F2009/4557
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 11,086,917
App. No.
16/802,196
Granted
Aug 10, 2021
Kind
B2
Abstract

Transient computing clusters can be temporarily provisioned in cloud-based infrastructure to run data processing tasks. Such tasks may be run by services operating in the clusters that consume and produce data including operational metadata. Techniques are introduced for tracking data lineage across multiple clusters, including transient computing clusters, based on the operational metadata. In some embodiments, operational metadata is extracted from the transient computing clusters and aggregated at a metadata system for analysis. Based on the analysis of the metadata, operations can be summarized at a cluster level even if the transient computing cluster no longer exists. Further relationships between workflows, such as dependencies or redundancies, can be identified and utilized to optimize the provisioning of computing clusters and tasks performed by the computing clusters.

Claims (81)

1. A method comprising:

receiving first metadata from a first transient computing cluster in a cloud-based computing environment, the first transient computing cluster temporarily provisioned to process data according to a first workflow, the first metadata including run-time artifacts generated at a time of processing the data according to the first workflow;

processing the first metadata to generate first design-time information associated with the first workflow, the first design-time information indicative of a design of any of the first transient computing cluster, the first workflow, or a plurality of data processing jobs included in the first workflow;

receiving second metadata from a second transient computing cluster in the cloud-based computing environment, the second transient computing cluster temporarily provisioned to process data according to a second workflow, the second metadata including run-time artifacts generated at a time of processing the data according to the second workflow;

processing the second metadata to generate second design-time information associated with the second workflow;

identifying any of a dependency or redundancy between the first workflow and the second workflow based on the first design-time information and the second design-time information; and

optimizing the first workflow and/or second workflow based on the identified dependency and/or redundancy between the first workflow and second workflow.

2. The method of claim 1 , further comprising:

causing an entity in the first transient computing cluster to extract the first metadata; and

causing the entity in the first transient computing cluster to publish the extracted first metadata to a queue;

wherein the first metadata is received from the queue.

3. The method of claim 1 , wherein the first transient computing cluster includes a plurality of temporarily provisioned virtual machine instances in the cloud-based computing environment, the plurality of virtual machine instances operable as a plurality of computing nodes in the first transient computing cluster.

4. The method of claim 3 , wherein each of the plurality of virtual machine instances includes an entity operable to:

extract metadata from one or more services associated with the first transient computing cluster; and

publish the extracted metadata to a queue;

wherein the first metadata is received from the queue.

5. The method of claim 1 , further comprising:

causing display of a visualization based on the first design-time information.

6. The method of claim 5 , wherein the visualization is further based on the second design-time information.

7. The method of claim 1 , further comprising:

designating a cluster group that includes the first transient computing cluster and the second transient computing cluster based on the identified dependency and/or redundancy between the first workflow and second workflow.

8. The method of claim 1 , further comprising:

configuring provisioning of transient computing clusters in the cloud-based computing environment to process data according to the first workflow and second workflow based on the identified dependency and/or redundancy between the first workflow and second workflow.

9. The method of claim 1 , further comprising:

causing display of a visualization based on the first designtime information, the visualization including a plurality of graphical entity nodes representative of a plurality of identified entities involved in the processing of the data according to the first workflow, each of the plurality of graphical entity nodes visually linked to one or more of the other plurality of graphical entity nodes based on identified relationships between the plurality of entities.

10. The method of claim 9 , wherein at least some of the plurality of graphical entity nodes include interactive elements, which when interacted with by a user, display information regarding the represented entities.

11. The method of claim 9 , wherein a particular graphical entity node of the plurality of graphical entity nodes includes an indication that an entity represented by the particular graphical entity node is associated with the first transient computing cluster.

12. The method of claim 1 , the first design-time information includes information regarding any one or more of:

data processed according to the first workflow;

operations performed on the data as part of the first workflow; or

services of the first transient computing cluster utilized to perform the operations on the data according to the first workflow.

13. The method of claim 1 , wherein processing the first metadata to generate the first design-time information includes:

identifying a plurality of entities involved in the processing of the data according to the first workflow and relationships between the identified plurality of entities.

14. The method of claim 13 , wherein processing the first metadata to generate the first design-time information further includes:

generating data lineage information based on the identified plurality of entities and relationships between the identified plurality of entities, the data lineage information indicative of a path of data through the identified plurality of entities involved in the processing of the data according to the first workflow;

wherein the first design-time information associated with the first workflow is based on the generated data lineage information.

15. The method of claim 14 , wherein processing the first metadata to generate the first design-time information further includes:

inferring, based on the data lineage information, logical connections between one or more of the plurality of data processing jobs included in the first workflow;

wherein logical connections between data processing jobs may include any one or more of:

sequencing of the data processing jobs;

scheduling of the data processing jobs;

dependencies between the data processing jobs; or

common parameters between the data processing jobs.

16. A system comprising:

one or more processors; and

a memory having instructions stored thereon, which when executed by the one or more processors, cause the system to:

receive first metadata from a first transient computing cluster in a cloud-based computing environment, the first transient computing cluster temporarily provisioned to process data according to a first workflow, the first metadata including run-time artifacts generated at a time of processing the data according to the first workflow;

process the first metadata to generate first design-time information associated with the first workflow, the first design-time information indicative of a design of any of the first transient computing cluster, the first workflow, or a plurality of data processing jobs included in the first workflow;

receive second metadata from a second transient computing cluster in the cloud-based computing environment, the second transient computing cluster temporarily provisioned to process data according to a second workflow, the second metadata including run-time artifacts generated at a time of processing the data according to the second workflow;

process the second metadata to generate second design-time information associated with the second workflow;

identify any of a dependency or redundancy between the first workflow and the second workflow based on the first design-time information and the second design-time information; and

optimize the first workflow and/or second workflow based on the identified dependency and/or redundancy between the first workflow and second workflow.

17. The system of claim 16 , wherein the first transient computing cluster includes a plurality of temporarily provisioned virtual machine instances in the cloud-based computing environment, the plurality of virtual machine instances operable as a plurality of computing nodes in the first transient computing cluster, wherein each of the plurality of virtual machine instances includes an entity operable to:

extract metadata from one or more services associated with the first transient computing cluster; and

publish the extracted metadata to a queue;

wherein the first metadata is received from the queue.

18. The system of claim 16 , wherein the memory has further instructions stored thereon, which when executed by the one or more processors, cause the system to further:

based on the identified dependency and/or redundancy between the first workflow and second workflow: designate a cluster group that includes the first transient computing cluster and the second transient computing cluster.

19. The system of claim 16 , wherein the memory has further instructions stored thereon, which when executed by the one or more processors, cause the system to further:

based on the identified dependency and/or redundancy between the first workflow and second workflow:

configure the provisioning of a plurality of transient computing clusters in the cloud-based computing environment to process data according to the first workflow and second workflow.

20. The system of claim 16 , wherein the memory has further instructions stored thereon, which when executed by the one or more processors, cause the system to further:

cause display of a visualization based on the first design-time information, the visualization including a plurality of graphical entity nodes representative of a plurality of identified entities involved in the processing of the data according to the first workflow, each of the plurality of graphical entity nodes visually linked to one or more of the other plurality of graphical entity nodes based on identified relationships between the plurality of entities.

21. A non-transitory computer readable medium storing instructions, execution of which by a computer system, cause the computer system to:

receive first metadata from a first transient computing cluster in a cloud-based computing environment, the first transient computing cluster temporarily provisioned to process data according to a first workflow, the first metadata including run-time artifacts generated at a time of processing the data according to the first workflow;

process the first metadata to generate first design-time information associated with the first workflow, the first design-time information indicative of a design of any of the first transient computing cluster, the first workflow, or a plurality of data processing jobs included in the first workflow;

receive second metadata from a second transient computing cluster in the cloud-based computing environment, the second transient computing cluster temporarily provisioned to process data according to a second workflow, the second metadata including run-time artifacts generated at a time of processing the data according to the second workflow;

process the second metadata to generate second design-time information associated with the second workflow

identify any of a dependency or redundancy between the first workflow and the second workflow based on the first design-time information and the second design-time information; and

optimize the first workflow and/or second workflow based on the identified dependency and/or redundancy between the first workflow and second workflow.

22. The non-transitory computer readable medium of claim 21 , wherein the first transient computing cluster includes a plurality of temporarily provisioned virtual machine instances in the cloud-based computing environment, the plurality of virtual machine instances operable as a plurality of computing nodes in the first transient computing cluster, wherein each of the plurality of virtual machine instances includes an entity operable to:

extract metadata from one or more services associated with the first transient computing cluster; and

publish the extracted metadata to a queue;

wherein the first metadata is received from the queue.

23. The non-transitory computer readable medium of claim 21 , storing further instructions, execution of which by the computer system, cause the computer system to further:

based on the identified dependency and/or redundancy between the first workflow and second workflow: designate a cluster group that includes the first transient computing cluster and the second transient computing cluster.

24. The non-transitory computer readable medium of claim 21 , storing further instructions, execution of which by the computer system, cause the computer system to further:

based on the identified dependency and/or redundancy between the first workflow and second workflow:

configure the provisioning of a plurality of transient computing clusters in the cloud-based computing environment to process data according to the first workflow and second workflow.

25. The non-transitory computer readable medium of claim 21 , wherein the memory has further instructions stored thereon, which when executed by the one or more processors, cause the system to further:

cause display of a visualization based on the first design-time information, the visualization including a plurality of graphical entity nodes representative of a plurality of identified entities involved in the processing of the data according to the first workflow, each of the plurality of graphical entity nodes visually linked to one or more of the other plurality of graphical entity nodes based on identified relationships between the plurality of entities.

Assignments (5)
RELEASE OF SECURITY INTERESTS IN PATENTS Recorded Oct 14, 2021
From: CITIBANK, N.A.
To: CLOUDERA, INC.; HORTONWORKS, INC.
Reel/Frame 057804/0355 →
FIRST LIEN NOTICE AND CONFIRMATION OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Oct 12, 2021
From: CLOUDERA, INC.; HORTONWORKS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 057776/0185 →
SECOND LIEN NOTICE AND CONFIRMATION OF GRANT OF SECURITY INTEREST IN PATENTS Recorded Oct 12, 2021
From: CLOUDERA, INC.; HORTONWORKS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 057776/0284 →
SECURITY INTEREST Recorded Dec 22, 2020
From: CLOUDERA, INC.; HORTONWORKS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 054832/0559 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2020
From: SINGH, VIKAS; ARORA, SUDHANSHU; DONSKY, MARK; LENG, GUANG YAO; KONERU, NAREN; SHE, CHANG; VUPPULA, HIMABINDU
To: CLOUDERA, INC.
Reel/Frame 052172/0439 →
Cited By (1)
US 12,504,970