Sign In to Follow Application
View All Documents & Correspondence

Computerized Control Of Execution Pipelines

Abstract: Systems, methods, and other embodiments associated with controlling an execution pipeline are described. In one embodiment, a method includes generating an execution pipeline for executing a plurality of tasks. The example method may also include evaluating execution definitions of the tasks to identify execution properties of the plurality of tasks. The example method may also include assigning each task to an execution environment selected from a set of execution environments based upon execution properties of the task matching execution properties of the execution environments. The example method may also include controlling the execution pipeline to execute each task within the assigned execution environments.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
20 May 2020
Publication Number
40/2020
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
ipo@iphorizons.com
Parent Application

Applicants

ORACLE FINANCIAL SERVICES SOFTWARE LIMITED
Oracle Park, Off. Western Express Highway, Goregaon (East) Mumbai 400063

Inventors

1. VADAPANDESHWARA, Rajaram N.
111, 4th Main, 5th Cross, Sundar Ram Shetty Nagar (Vijaya Bank Layout), Bannerghetta Road, Bangalore 560076
2. RAJKUMAR, Charles
B307, AMARA COURTYARD, SGR Dental College Road, Munnekolala, Marathahalli, Bangalore 560037

Specification

What is claimed is:
1. A non-transitory computer-readable medium storing computer-executable instructions that
when executed by a processor of a computer causes the processor to:
generate an execution pipeline for executing a plurality of tasks derived from a run definition comprising execution definitions of each task of the plurality of tasks;
evaluate the execution definitions to identify execution properties of the plurality of tasks;
assign each task of the plurality of tasks to an execution environment selected from a set of execution environments based upon the execution properties of the tasks matching execution properties of the execution environments, wherein each execution environment executes tasks with different resources and functionality; and
control the execution pipeline to execute each task within the assigned execution
environments, wherein the execution definitions of each task are transformed into formats compatible for execution by the assigned execution environments.
2. The non-transitory computer-readable medium of claim 1, wherein the instructions to assign
each task comprise instructions to:
evaluate a first execution definition of a first task to identify first execution properties specifying functions to execute and resource requirements of the first task;
evaluate a second execution definition of a second task to identify second execution properties specifying functions to execute and resource requirements of the second task;
assign the first task to a first execution environment selected from the set of execution environments based upon the resource requirements and functions specified by the first execution properties matching execution properties of available resources and functions provided by the first execution environment; and
assign the second task to a second execution environment selected from the set of execution environments based upon the resource requirements and functions specified by the second execution properties matching execution properties of available resources and functions provided by the second execution environment.
3. The non-transitory computer-readable medium of any preceding claim, wherein the
instructions to assign each task comprise instructions to:

evaluate a first execution definition of a first task to identify first execution properties specifying functions to execute and resource requirements of the first task;
compare the resource requirements and functions specified by the first execution properties against execution properties of available resources and functions provided by each execution environment to assign ranks to each execution environment based upon a degree to which available resources and functions match or exceed the resource requirements and functions specified by the first execution properties; and
assign the first task to an execution environment having a highest rank or a rank exceeding a threshold.
4. The non-transitory computer-readable medium of any preceding claim, wherein the
instructions comprise instructions to:
implement asynchronous execution tracking of task execution by the assigned execution environments; and
provide access to results of the asynchronous execution tracking.
5. The non-transitory computer-readable medium of any preceding claim, wherein the
instructions comprise instructions to:
define a schedule for executing a subset of the tasks across a plurality of assigned execution environments; and
control the execution pipeline to execute the subset of the tasks across the plurality of assigned execution environments according to the schedule.
6. The non-transitory computer-readable medium of any preceding claim, wherein the
instructions to assign each task comprise instructions to:
determine that a transform task is to be executed within an in-memory execution environment as an atomic operation with results of the transform task being persisted into a database based upon execution properties of the transform task; and
assign the transform task to the in-memory execution environment.

7. The non-transitory computer-readable medium of any preceding claim, wherein the
instructions comprise instructions to:
create a set of execution pipelines comprising at least the execution pipeline;
assign subsets of the plurality of tasks to each of the execution pipelines of the set of execution pipelines; and
control the set of execution pipelines for parallel execution of tasks of the plurality of tasks.
8. The non-transitory computer-readable medium of any preceding claim, wherein the
instructions comprise instructions to:
transform an execution definition of a task from a declarative statement format into a format used by an assigned execution environment by creating commands understood by the assigned execution environment from declarative statements within the execution definition.
9. A computing system, comprising:
a processor connected to memory; and
a pipeline module stored on a non-transitory computer readable medium and configured with
instructions that when executed by the processor cause the processor to: generate an execution pipeline for executing a plurality of tasks derived from a run
definition comprising execution definitions of each task of the plurality of tasks;
evaluate the execution definitions to identify execution properties of the plurality of tasks;
assign each task of the plurality of tasks to an execution environment selected from a set of execution environments based upon the execution properties of the tasks matching execution properties of the execution environments, wherein each execution environment executes tasks with different resources and functionality; and
control the execution pipeline to execute each task within the assigned execution
environments, wherein execution definitions of each task are transformed into formats compatible for execution by the assigned execution environments.
10. The computing system of claim 9, wherein the instructions comprise instructions that cause
the processor to:

evaluate a first execution definition of a first task to identify first execution properties specifying functions to execute and resource requirements of the first task;
compare the resource requirements and functions specified by the first execution properties against execution properties of available resources and functions provided by each execution environment to assign ranks to each execution environment based upon a degree to which available resources and functions match or exceed the resource requirements and functions specified by the first execution properties; and
assign the first task to an execution environment having a highest rank or a rank exceeding a threshold.
11. The computing system of claim 9 or claim 10, wherein the instructions comprise
instructions that cause the processor to:
evaluate an execution definition of a volume data task to identify an amount of data to be processed;
compare the amount of data to be processed to execution properties of available data storage and processing resources provided by execution environments to identify a database execution environment providing data storage and processing resources matching or exceeding the amount of data to be processed; and
assign the volume data task to the database execution environment.
12. The computing system of any one of claims 9 to 11, wherein the comprise instructions that
cause the processor to:
evaluate an execution definition of a task to determine that the task encapsulates a representational state transfer (REST) service;
compare the execution definition to execution properties of services provided by execution environments to identify a remote cluster execution environment providing services corresponding to the REST service; and
assign the task to the remote cluster execution environment.
13. The computing system of any one of claims 9 to 12, wherein the instructions comprise
instructions that cause the processor to:

evaluate an execution definition of a compute routine task to determine that the task is to perform a compute function;
compare the execution definition to execution properties of functions provided by execution environments to identify a representational state transfer (REST) service execution environment providing functions corresponding to the compute function; and
assign the compute routine task to the REST service execution environment.
14. The computing system of any one of claims 9 to 13, wherein the instructions comprise
instructions that cause the processor to:
reassign a task from an assigned execution environment to a target execution environment.
15. The computing system of claim 14, wherein the instructions to reassign the task comprise
instructions that cause the processor to:
override default execution properties of the assigned execution environment with execution properties of the target execution environment.

Documents

Application Documents

# Name Date
1 202047021286.pdf 2020-05-20
2 202047021286-POWER OF AUTHORITY [20-05-2020(online)].pdf 2020-05-20
3 202047021286-FORM 1 [20-05-2020(online)].pdf 2020-05-20
4 202047021286-DRAWINGS [20-05-2020(online)].pdf 2020-05-20
5 202047021286-DECLARATION OF INVENTORSHIP (FORM 5) [20-05-2020(online)].pdf 2020-05-20
6 202047021286-COMPLETE SPECIFICATION [20-05-2020(online)].pdf 2020-05-20
7 202047021286-Proof of Right [11-07-2020(online)].pdf 2020-07-11
8 202047021286-FORM 3 [15-07-2020(online)].pdf 2020-07-15
9 202047021286-FORM 18 [26-02-2022(online)].pdf 2022-02-26
10 202047021286-FER.pdf 2022-07-13
11 202047021286-FORM 3 [06-12-2022(online)].pdf 2022-12-06
12 202047021286-Information under section 8(2) [23-12-2022(online)].pdf 2022-12-23
13 202047021286-OTHERS [27-12-2022(online)].pdf 2022-12-27
14 202047021286-FER_SER_REPLY [27-12-2022(online)].pdf 2022-12-27
15 202047021286-CLAIMS [27-12-2022(online)].pdf 2022-12-27
16 202047021286-ABSTRACT [27-12-2022(online)].pdf 2022-12-27
17 202047021286-FORM 3 [08-06-2023(online)].pdf 2023-06-08
18 202047021286-US(14)-HearingNotice-(HearingDate-15-12-2025).pdf 2025-11-06
19 202047021286-Correspondence to notify the Controller [06-11-2025(online)].pdf 2025-11-06

Search Strategy

1 Searchstrategy202047021286E_12-07-2022.pdf