Federated device support for generation of directed acyclic graphs
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 a portal, and from a requesting device via a network, a first request to provide objects to the requesting device to enable the requesting device to generate a visualization of a first directed acyclic graph (DAG) of multiple task routines of a first job flow of a first analysis routine, wherein;
the portal is provided on the network to control access to at least one federated area by the requesting device via the network;
the at least one federated area is maintained within one or more storage devices to store a plurality of data objects, a plurality of task routines and a plurality of job flow definitions;
each task routine of the plurality of task routines comprises comments that specify input and output (I/O) parameters that comprise at least one characteristic of an input to the task routine and at least one characteristic of an output generated during execution of the task routine;
the I/O parameters of the comments of a subset of task routines of the plurality of task routines comprises an identifier of at least one data object of the plurality of data objects;
each task routine of the multiple task routines comprises executable instructions to perform a task when executed; and
each job flow definition specifies multiple tasks of a job flow of an analysis routine to be performed by task routines of the plurality of task routines;
retrieve each task routine of the multiple task routines from the at least one federated area;
parse the comments of each task routine of the multiple task routines to identify and retrieve the specification of the I/O parameters of the task routine from the comments;
for each task routine of the multiple task routines, generate a corresponding macro of multiple macros that comprises an indication of the I/O parameters of the task routine;
transmit the multiple macros to the requesting device via the network to enable the requesting device to generate, from the multiple macros, the visualization of the first DAG to include a visual representation of each task routine of the multiple task routines, and to enable the requesting device to visually output the visualization for display, wherein;
each representation of a task routine comprises;
a task graph object comprising an identifier of the task routine;
at least one input data graph object that represents an input to the task routine, that is visually connected to the task graph object in the visualization, and that comprises a visual indication of the at least one characteristic of the input; and
at least one output data graph object that represents an output of the task routine, that is visually connected to the task graph object in the visualization, and that comprises an indication of the at least one characteristic of the output; and
to generate the visualization, the requesting device is to;
compare identifiers of data objects in the I/O parameters specified in the comments among the multiple task routines to identify each dependency between an output of one task routine and an input of another task routine; and
for each dependency identified between an output and an input of a pair of task routines of the multiple task routines, visually present a dependency marker that visually links the visual representations of the pair of task routines in the visualization;
receive a second request from the requesting device to store a second DAG based on the visualization as edited in response to at least one command, wherein;
the second DAG depicts a reuse of a portion of the first job flow depicted in the first DAG to define at least a portion of a second job flow of a second analysis routine derived from the first analysis routine; and
at least a subset of task routines to be executed in a performance of the first job flow, as indicated in the first DAG, are to be executed in a performance of the second job flow, as indicated in the second DAG;
determine whether each task routine identified in the second DAG is stored within the at least one federated area or is included in the second request;
determine whether each task data object identified in the second DAG is stored within the at least one federated area or is included in the second request; and
in response to a determination that each task routine identified in the second DAG and each data object identified in the second DAG is stored within the at least one federated area or is included in the second request, store the second DAG as a second job flow definition among the plurality of job flow definitions.
0 Assignments
0 Petitions
Accused Products
Abstract
An apparatus including a processor to: parse comments of multiple task routines to identify I/O parameters; for each task routine, generate a macro including its I/O parameters; transmit the macros to a requesting device to enable it to generate a visualization of a DAG to include visual representations of the task routines; wherein each representation includes a task graph object, an input data graph object representing an input and indicating a characteristic of the input, and an output data graph object representing an output and indicating a characteristic of the output; and wherein the requesting device is to: identify, in the I/O parameters, each dependency between an output and an input of a pair of task routines; augment the visualization, for each identified dependency, with a dependency marker that visually links the visual representations of the pair of task routines; and visually output the visualization.
-
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 a portal, and from a requesting device via a network, a first request to provide objects to the requesting device to enable the requesting device to generate a visualization of a first directed acyclic graph (DAG) of multiple task routines of a first job flow of a first analysis routine, wherein; the portal is provided on the network to control access to at least one federated area by the requesting device via the network; the at least one federated area is maintained within one or more storage devices to store a plurality of data objects, a plurality of task routines and a plurality of job flow definitions; each task routine of the plurality of task routines comprises comments that specify input and output (I/O) parameters that comprise at least one characteristic of an input to the task routine and at least one characteristic of an output generated during execution of the task routine; the I/O parameters of the comments of a subset of task routines of the plurality of task routines comprises an identifier of at least one data object of the plurality of data objects; each task routine of the multiple task routines comprises executable instructions to perform a task when executed; and each job flow definition specifies multiple tasks of a job flow of an analysis routine to be performed by task routines of the plurality of task routines; retrieve each task routine of the multiple task routines from the at least one federated area; parse the comments of each task routine of the multiple task routines to identify and retrieve the specification of the I/O parameters of the task routine from the comments; for each task routine of the multiple task routines, generate a corresponding macro of multiple macros that comprises an indication of the I/O parameters of the task routine; transmit the multiple macros to the requesting device via the network to enable the requesting device to generate, from the multiple macros, the visualization of the first DAG to include a visual representation of each task routine of the multiple task routines, and to enable the requesting device to visually output the visualization for display, wherein; each representation of a task routine comprises; a task graph object comprising an identifier of the task routine; at least one input data graph object that represents an input to the task routine, that is visually connected to the task graph object in the visualization, and that comprises a visual indication of the at least one characteristic of the input; and at least one output data graph object that represents an output of the task routine, that is visually connected to the task graph object in the visualization, and that comprises an indication of the at least one characteristic of the output; and to generate the visualization, the requesting device is to; compare identifiers of data objects in the I/O parameters specified in the comments among the multiple task routines to identify each dependency between an output of one task routine and an input of another task routine; and for each dependency identified between an output and an input of a pair of task routines of the multiple task routines, visually present a dependency marker that visually links the visual representations of the pair of task routines in the visualization; receive a second request from the requesting device to store a second DAG based on the visualization as edited in response to at least one command, wherein; the second DAG depicts a reuse of a portion of the first job flow depicted in the first DAG to define at least a portion of a second job flow of a second analysis routine derived from the first analysis routine; and at least a subset of task routines to be executed in a performance of the first job flow, as indicated in the first DAG, are to be executed in a performance of the second job flow, as indicated in the second DAG; determine whether each task routine identified in the second DAG is stored within the at least one federated area or is included in the second request; determine whether each task data object identified in the second DAG is stored within the at least one federated area or is included in the second request; and in response to a determination that each task routine identified in the second DAG and each data object identified in the second DAG is stored within the at least one federated area or is included in the second request, store the second DAG as a second job flow definition among the plurality of job flow definitions. - 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 a portal, and from a requesting device via a network, a first request to provide objects to the requesting device to enable the requesting device to generate a visualization of a first directed acyclic graph (DAG) of multiple task routines of a first job flow of a first analysis routine, wherein; the portal is provided on the network to control access to at least one federated area by the requesting device via the network; the at least one federated area is maintained within one or more storage devices to store a plurality of data objects, a plurality of task routines and a plurality of job flow definitions; each task routine of the plurality of task routines comprises comments that specify input and output (I/O) parameters that comprise at least one characteristic of an input to the task routine and at least one characteristic of an output generated during execution of the task routine; the I/O parameters of the comments of a subset of task routines of the plurality of task routines comprises an identifier of at least one data object of the plurality of data objects; each task routine of the multiple task routines comprises executable instructions to perform a task when executed; and each job flow definition specifies multiple tasks of a job flow of an analysis routine to be performed by task routines of the plurality of task routines; retrieve each task routine of the multiple task routines from the at least one federated area; parse the comments of each task routine of the multiple task routines to identify and retrieve the specification of the I/O parameters of the task routine from the comments; for each task routine of the multiple task routines, generate a corresponding macro of multiple macros that comprises an indication of the I/O parameters of the task routine; transmit the multiple macros to the requesting device via the network to enable the requesting device to generate, from the multiple macros, the visualization of the first DAG to include a visual representation of each task routine of the multiple task routines, and to enable the requesting device to visually output the visualization for display, wherein; each representation of a task routine comprises; a task graph object comprising an identifier of the task routine; at least one input data graph object that represents an input to the task routine, that is visually connected to the task graph object in the visualization, and that comprises a visual indication of the at least one characteristic of the input; and at least one output data graph object that represents an output of the task routine, that is visually connected to the task graph object in the visualization, and that comprises an indication of the at least one characteristic of the output; and to generate the visualization, the requesting device is to; compare identifiers of data objects in the I/O parameters specified in the comments among the multiple task routines to identify each dependency between an output of one task routine and an input of another task routine; and for each dependency identified between an output and an input of a pair of task routines of the multiple task routines, visually present a dependency marker that visually links the visual representations of the pair of task routines in the visualization; receive a second request from the requesting device to store a second DAG based on the visualization as edited in response to at least one command, wherein; the second DAG depicts a reuse of a portion of the first job flow depicted in the first DAG to define at least a portion of a second job flow of a second analysis routine derived from the first analysis routine; and at least a subset of task routines to be executed in a performance of the first job flow, as indicated in the first DAG, are to be executed in a performance of the second job flow, as indicated in the second DAG; determine whether each task routine identified in the second DAG is stored within the at least one federated area or is included in the second request; determine whether each task data object identified in the second DAG is stored within the at least one federated area or is included in the second request; and in response to a determination that each task routine identified in the second DAG and each data object identified in the second DAG is stored within the at least one federated area or is included in the second request, store the second DAG as a second job flow definition among the plurality of job flow definitions. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer-implemented method comprising:
-
receiving, by a processor at a federated device, and via a portal on a network from a requesting device, a first request to provide objects to the requesting device to enable the requesting device to generate a visualization of a first directed acyclic graph (DAG) of multiple task routines of a first job flow of a first analysis routine, wherein; the portal is provided on the network to control access to at least one federated area by the requesting device via the network; the at least one federated area is maintained within one or more storage devices to store a plurality of data objects, a plurality of task routines and a plurality of job flow definitions; each task routine of the plurality of task routines comprises comments that specify input and output (I/O) parameters that comprise at least one characteristic of an input to the task routine and at least one characteristic of an output generated during execution of the task routine; the I/O parameters of the comments of a subset of task routines of the plurality of task routines comprises an identifier of at least one data object of the plurality of data objects; each task routine of the multiple task routines comprises executable instructions to perform a task when executed; and each job flow definition specifies multiple tasks of a job flow of an analysis routine to be performed by task routines of the plurality of task routines; retrieving each task routine of the multiple task routines from the at least one federated area; parsing, by the processor, the comments of each task routine of the multiple task routines to identify and retrieve the specification of the I/O parameters of the task routine from the comments; for each task routine of the multiple task routines, generating a corresponding macro of multiple macros that comprises an indication of the I/O parameters of the task routine; transmitting, from the federated device, the multiple macros to the requesting device via the network to enable the requesting device to generate, from the multiple macros, the visualization of the first DAG to include a visual representation of each task routine of the multiple task routines, and to enable the requesting device to visually output the visualization for display, wherein; each representation of a task routine comprises; a task graph object comprising an identifier of the task routine; at least one input data graph object that represents an input to the task routine, that is visually connected to the task graph object in the visualization, and that comprises a visual indication of the at least one characteristic of the input; and at least one output data graph object that represents an output of the task routine that is visually connected to the task graph object in the visualization, and that comprises an indication of the at least one characteristic of the output; and to generate the visualization, the requesting device is to; compare identifiers of data objects in the I/O parameters specified in the comments among the multiple task routines to identify each dependency between an output of one task routine and an input of another task routine; and for each dependency identified between an output and an input of a pair of task routines of the multiple task routines, visually present a dependency marker that visually links the visual representations of the pair of task routines in the visualization; receiving, by the processor at the federated device, a second request from the requesting device to store a second DAG based on the visualization as edited in response to at least one command, wherein; the second DAG depicts a reuse of a portion of the first job flow depicted in the first DAG to define at least a portion of a second job flow of a second analysis routine derived from the first analysis routine; and at least a subset of task routines to be executed in a performance of the first job flow, as indicated in the first DAG, are to be executed in a performance of the second job flow, as indicated in the second DAG; determining, by the processor, whether each task routine identified in the second DAG is stored within the at least one federated area or is included in the second request; determining, by the processor, whether each task data object identified in the second DAG is stored within the at least one federated area or is included in the second request; and in response to a determination that each task routine identified in the second DAG and each data object identified in the second DAG is stored within the at least one federated area or is included in the second request, storing the second DAG as a second job flow definition among the plurality of job flow definitions. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification