Automated exchanges of job flow objects between federated area and external storage space
First Claim
1. An apparatus comprising a processor and a storage to store instructions that, when executed by the processor, cause the processor to perform operations comprising:
- receive, at the processor, and from a remote device via a network, a job flow definition to be stored in a federated area of at least one federated area, wherein;
the job flow definition defines a job flow as a set of tasks to be performed by execution of a corresponding set of task routines to perform the job flow;
the job flow definition employs a set of flow task identifiers to identify the set of tasks; and
the at least one federated area is maintained within at least one storage device to store the job flow definition, multiple task routines and multiple data sets as objects;
retrieve the set of flow task identifiers from the job flow definition;
for each retrieved flow task identifier, retrieve, from among the multiple task routines, a most recent version of a task routine of the set of task routines that performs the corresponding task of the set of tasks when executed;
translate a portion of executable instructions within each retrieved task routine of the set of task routines that implements an interface by which a data set is accepted as an input or is output during execution of the task routine into an intermediate representation;
analyze executable instructions of the job flow definition to determine whether the executable instructions of the job flow definition are written in a primary programming language;
translate a portion of the executable instructions within the job flow definition that defines the interface for each task routine of the set of task routines into an intermediate representation;
compare each intermediate representation generated from one of the retrieved task routines to the corresponding intermediate representation generated from the job flow definition to determine if there is a match;
in response to a determination that there is a match for each comparison of intermediate representations, and in response to a determination that the executable instructions of the job flow definition are written in a secondary programming language, perform operations comprising;
translate the portion of the executable instructions of the job flow definition that defines the interface for each task routine of the set of task routines into the primary programming language to generate a translated form of the job flow definition; and
store the translated form of the job flow definition within the federated area; and
in response to a determination that there is a lack of a match for at least one comparison of intermediate representations, transmit an indication of a lack of match to the remote device.
2 Assignments
0 Petitions
Accused Products
Abstract
An apparatus includes a processor to: receive a job flow definition; retrieve the most recent versions of a set of task routines for the defined job flow; translate, into an intermediate representation, executable instructions of each task routine implementing an interface for data input and/or output during execution; translate executable instructions of the job flow definition that defines the interface for each task routine into an intermediate representation; compare each intermediate representation from a task routine to the corresponding intermediate representation from the job flow definition to determine if there is a match; and in response to there being a match for each comparison and to the executable instructions of the job flow definition being written in a secondary programming language, translate the executable instructions of the job flow definition into a primary programming language, and store the resulting translated form of the job flow definition in a federated area.
359 Citations
30 Claims
-
1. An apparatus comprising a processor and a storage to store instructions that, when executed by the processor, cause the processor to perform operations comprising:
-
receive, at the processor, and from a remote device via a network, a job flow definition to be stored in a federated area of at least one federated area, wherein; the job flow definition defines a job flow as a set of tasks to be performed by execution of a corresponding set of task routines to perform the job flow; the job flow definition employs a set of flow task identifiers to identify the set of tasks; and the at least one federated area is maintained within at least one storage device to store the job flow definition, multiple task routines and multiple data sets as objects; retrieve the set of flow task identifiers from the job flow definition; for each retrieved flow task identifier, retrieve, from among the multiple task routines, a most recent version of a task routine of the set of task routines that performs the corresponding task of the set of tasks when executed; translate a portion of executable instructions within each retrieved task routine of the set of task routines that implements an interface by which a data set is accepted as an input or is output during execution of the task routine into an intermediate representation; analyze executable instructions of the job flow definition to determine whether the executable instructions of the job flow definition are written in a primary programming language; translate a portion of the executable instructions within the job flow definition that defines the interface for each task routine of the set of task routines into an intermediate representation; compare each intermediate representation generated from one of the retrieved task routines to the corresponding intermediate representation generated from the job flow definition to determine if there is a match; in response to a determination that there is a match for each comparison of intermediate representations, and in response to a determination that the executable instructions of the job flow definition are written in a secondary programming language, perform operations comprising; translate the portion of the executable instructions of the job flow definition that defines the interface for each task routine of the set of task routines into the primary programming language to generate a translated form of the job flow definition; and store the translated form of the job flow definition within the federated area; and in response to a determination that there is a lack of a match for at least one comparison of intermediate representations, transmit an indication of a lack of match to the remote device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, the computer-program product including instructions operable to cause a processor to perform operations comprising:
-
receive, at the processor, and from a remote device via a network, a job flow definition to be stored in a federated area of at least one federated area, wherein; the job flow definition defines a job flow as a set of tasks to be performed by execution of a corresponding set of task routines to perform the job flow; the job flow definition employs a set of flow task identifiers to identify the set of tasks; and the at least one federated area is maintained within at least one storage device to store the job flow definition, multiple task routines and multiple data sets as objects; retrieve the set of flow task identifiers from the job flow definition; for each retrieved flow task identifier, retrieve, from among the multiple task routines, a most recent version of a task routine of the set of task routines that performs the corresponding task of the set of tasks when executed; translate a portion of executable instructions within each retrieved task routine of the set of task routines that implements an interface by which a data set is accepted as an input or is output during execution of the task routine into an intermediate representation; analyze executable instructions of the job flow definition to determine whether the executable instructions of the job flow definition are written in a primary programming language; translate a portion of the executable instructions within the job flow definition that defines the interface for each task routine of the set of task routines into an intermediate representation; compare each intermediate representation generated from one of the retrieved task routines to the corresponding intermediate representation generated from the job flow definition to determine if there is a match; in response to a determination that there is a match for each comparison of intermediate representations, and in response to a determination that the executable instructions of the job flow definition are written in a secondary programming language, perform operations comprising; translate the portion of the executable instructions of the job flow definition that defines the interface for each task routine of the set of task routines into the primary programming language to generate a translated form of the job flow definition; and store the translated form of the job flow definition within the federated area; and in response to a determination that there is a lack of a match for at least one comparison of intermediate representations, transmit an indication of a lack of match to the remote device. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer-implemented method comprising:
-
receiving, by a processor, and from a remote device via a network, a job flow definition to be stored in a federated area of at least one federated area, wherein; the job flow definition defines a job flow as a set of tasks to be performed by execution of a corresponding set of task routines to perform the job flow; the job flow definition employs a set of flow task identifiers to identify the set of tasks; and the at least one federated area is maintained within at least one storage device to store the job flow definition, multiple task routines and multiple data sets as objects; retrieving the set of flow task identifiers from the job flow definition; for each retrieved flow task identifier, retrieving, from among the multiple task routines, a most recent version of a task routine of the set of task routines that performs the corresponding task of the set of tasks when executed; translating, by the processor, a portion of executable instructions within each retrieved task routine of the set of task routines that implements an interface by which a data set is accepted as an input or is output during execution of the task routine into an intermediate representation; analyzing, by the processor, executable instructions of the job flow definition to determine whether the executable instructions of the job flow definition are written in a primary programming language; translating, by the processor, a portion of the executable instructions within the job flow definition that defines the interface for each task routine of the set of task routines into an intermediate representation; comparing, by the processor, each intermediate representation generated from one of the retrieved task routines to the corresponding intermediate representation generated from the job flow definition to determine if there is a match; in response to a determination that there is a match for each comparison of intermediate representations, and in response to a determination that the executable instructions of the job flow definition are written in a secondary programming language, performing operations comprising; translating, by the processor, the portion of the executable instructions of the job flow definition that defines the interface for each task routine of the set of task routines into the primary programming language to generate a translated form of the job flow definition; and storing the translated form of the job flow definition within the federated area;
orin response to a determination that there is a lack of a match for at least one comparison of intermediate representations, transmitting, from the processor, an indication of a lack of match to the remote device. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification