IP Library Granted Patent US 9,870,295
Granted Patent B2
US 9,870,295 · App. 14/335,315 · Granted Jan 16, 2018

Automation of workflow creation and failure recovery

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,870,295
App. No.
14/335,315
Granted
Jan 16, 2018
Kind
B2
Abstract

A system includes a processor and a non-transitory computer-readable medium. The non-transitory computer-readable medium comprises instructions executable by the processor to cause the system to perform a method. The method comprises receiving a first job to execute and executing the first job. A plurality of data associated with the first job is determined. The plurality of data comprises data associated with (i) a second job executed immediately prior to the first job, (ii) a third job executed immediately after the first job, (iii) a determination of whether the first job failed or executed successfully and (iv) a type of data associated with the first job. The determined plurality of data is stored.

Claims (45)

1. A computer-implemented method comprising:

receiving a first job in a workflow of jobs to execute;

executing the first job;

determining, via a processor, a plurality of data associated with the first job, wherein the plurality of data comprises data associated with (i) a second job executed immediately prior to the first job, (ii) a third job executed immediately after the first job, (iii) a determination of whether the first job failed or executed successfully and (iv) a type of data associated with the first job;

storing the determined plurality of data;

receiving an analytic job to execute immediately after the third job;

determining two or more related jobs to be executed in the workflow instead of the analytic job based on determining that the analytic job had previously failed and determining that the two or more related jobs, in combination, can be substituted for the analytic job by determining that (i) the two more related jobs perform a same function, while the two or more related jobs are performed in combination, as the analytic job and (ii) the two or more related jobs have not previously failed based on previous analytic job results;

substituting the two or more related jobs for the analytic job in the workflow;

executing the two or more related jobs; and

in a case that the two or more related jobs to be performed in combination cannot be determined, exiting the workflow prior to running any remaining jobs associated with the workflow.

2. The method of claim 1 , wherein the plurality of data further comprises job inputs and job outputs associated with the first job, the second job and the third job.

3. The method of claim 1 , wherein the first job, the second job and the third job are associated with a workflow of analytic jobs.

4. The method of claim 1 , further comprising:

determining that the analytic job executed successfully, and related jobs that have also executed successfully.

5. A non-transitory computer-readable medium comprising instructions executable by a processor of a computing device to cause the computing device to perform a method, the method comprising:

receiving a first job in a workflow of jobs to execute;

executing the first job;

determining, via a processor, a plurality of data associated with the first job, wherein the plurality of data comprises data associated with (i) a second job executed immediately prior to the first job, (ii) a third job executed immediately after the first job, (iii) a determination of whether the first job failed or executed successfully and (iv) a type of data associated with the first job;

storing the determined plurality of data;

receiving an analytic job to execute immediately after the third job;

determining two or more related jobs to be executed in the workflow instead of the analytic job based on determining that the analytic job had previously failed and determining that (i) the two more related jobs perform a same function, while the two or more related jobs are performed in combination, as the analytic job and (ii) the two or more related jobs, in combination, can be substituted for the analytic job by determining that the two or more related jobs have not previously failed based on previous analytic job results;

substituting the two or more related jobs for the analytic job in the workflow;

executing the two or more related jobs; and

in a case that the two or more related jobs to be performed in combination cannot be determined, exiting the workflow prior to running any remaining jobs associated with the workflow.

6. The medium of claim 5 , wherein the plurality of data further comprises job inputs and job outputs associated with the first job, the second job and the third job.

7. The medium of claim 5 , wherein the first job, the second job and the third job are associated with a workflow of analytic jobs.

8. The medium of claim 5 , wherein the method further comprises:

determining that the analytic job executed successfully, and related jobs that have also executed successfully.

9. A system comprising:

a processor;

a non-transitory computer-readable medium comprising instructions executable by the processor to cause the system to perform a method, the method comprising:

receiving a first job in a workflow of jobs to execute;

executing the first job;

determining, via a processor, a plurality of data associated with the first job, wherein the plurality of data comprises data associated with (i) a second job executed immediately prior to the first job, (ii) a third job executed immediately after the first job, (iii) a determination of whether the first job failed or executed successfully and (iv) a type of data associated with the first job;

storing the determined plurality of data;

receiving an analytic job to execute immediately after the third job;

determining two or more related jobs to be executed in the workflow instead of the analytic job based on determining that the analytic job had previously failed and determining that (i) the two more related jobs perform a same function, while the two or more related jobs are performed in combination, as the analytic job and (ii) the two or more related jobs, in combination, can be substituted for the analytic job by determining that the two or more related jobs have not previously failed based on previous analytic job results;

substituting the two or more related jobs for the analytic job in the workflow;

executing the two or more related jobs; and

in a case that the two or more related jobs to be performed in combination cannot be determined, exiting the workflow prior to running any remaining jobs associated with the workflow.

10. The system of claim 9 , wherein the plurality of data further comprises job inputs and job outputs associated with the first job, the second job and the third job.

11. The system of claim 9 , wherein the first job, the second job and the third job are associated with a workflow of analytic jobs.

12. The system of claim 9 , wherein the method further comprises:

determining that the analytic job executed successfully, and related jobs that have also executed successfully.

13. The system of claim 9 , wherein the system comprises a Hadoop system.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2023
From: GENERAL ELECTRIC COMPANY
To: GE DIGITAL HOLDINGS LLC
Reel/Frame 065612/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2014
From: LEBER, CHRISTINA ANN; INTERRANTE, JOHN A.; AGGOUR, KAREEM SHERIF; WILLIAMS, JENNY MARIE WEISENBERG
To: GENERAL ELECTRIC COMPANY
Reel/Frame 033344/0657 →