×

Handling of data sets during execution of task routines of multiple languages

  • US 10,642,896 B2
  • Filed: 08/12/2019
  • Issued: 05/05/2020
  • Est. Priority Date: 02/05/2016
  • Status: Active Grant
First Claim
Patent Images

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, a request to perform a job flow defined in a job flow definition stored in at least one federated area, wherein;

    the job flow definition specifies a set of tasks to be performed via execution of a corresponding set of task routines during the job flow performance;

    at least one flow input data set is to be employed as an input to the job flow performance;

    at least one mid-flow data set is to be exchanged between at least two of the set of task routines;

    at least one result report is to be output during the job flow performance; and

    the at least one federated area is maintained within at least one storage device to store the job flow definition, and multiple task routines, data sets and result reports;

    retrieve, from among the multiple task routines, a most recent version of each task routine of the set of task routines to perform a corresponding task of the set of tasks when executed;

    analyze each interface of each task routine of the set of task routines by which a data set is accepted as an input or is output during execution of the task routine to identify at least one dependency among at least two task routines in which a first task routine of the at least two task routines outputs a mid-flow data set that a second task routine of the at least two task routines accepts as an input, and in which the first task routine and the second task routine include executable instructions written in different programming languages;

    execute the executable instructions of the set of task routines to perform the set of tasks to thereby perform the job flow;

    in response to having identified at least one dependency in which the first task routine outputs a mid-flow data set that the second task routine accepts as an input, and in which the first task routine and the second task routine include executable instructions written in different programming languages, perform operations comprising;

    instantiate a shared memory space to store at least one mid-flow data set during the job flow performance;

    for each identified dependency of the at least one identified dependency;

    convert the mid-flow data set from a first form supported by the programming language in which the executable instructions of the first task routine are written, and into a second form supported by the programming language in which the executable instructions of the second task routine are written;

    store one of the first form and the second form of the mid-flow data set within the at least one federated area as one of the multiple data sets; and

    store another of the first form and the second form of the mid-flow data set within the shared memory space as the mid-flow data set is converted;

    un-instantiate the shared memory space; and

    transmit the at least one result report output during the performance of the job flow to the remote device.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×