×

Federated device support for generation of directed acyclic graphs

  • US 10,157,086 B2
  • Filed: 02/16/2018
  • Issued: 12/18/2018
  • 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 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 all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×