Method and apparatus for dataflow creation and execution
First Claim
1. A method for creating and executing a computer workflow, comprising the steps of:
- (a) defining a plurality of executable components based on an input, an output, metadata and a sub-interpreter, each of said executable components representing a computer-implemented computational process that is performed on one or more inputs to the executable component and that generates one or more outputs based on a predefined computational algorithm; and
(b) providing a graphical user interface that allows a user to visually create the computer workflow on a user display by selecting from a library of said executable components, and graphically connecting one or more input terminals of selected executable components with one or more output terminals of second selected executable components;
wherein, for each selected executable component, the one or more input terminals graphically correspond to the one or more inputs to the predefined computational algorithm associated with the executable component, and the one or more output terminals graphically correspond to the one or more outputs generated by the predefined computational algorithm associated with the executable component;
wherein at least one selected executable component comprises a splitter component having one or more splitter input terminals that graphically correspond to a splitter input to a splitter algorithm associated with the one splitter component, each splitter input terminal receiving its splitter input at a single splitter input time, and one or more splitter output terminals that graphically correspond to a splitter output generated by the splitter algorithm associated with the splitter component, said splitter output terminals producing splitter output at a plurality of splitter output times;
said splitter output comprising a plurality of consistent splitter output sets, wherein each splitter output terminal produces a splitter output;
said splitter algorithm associated with the splitter component generating the consistent splitter output sets in a specific order by operating on the splitter input, wherein each consistent splitter output set flows separately downstream to one or more other selected executable components;
wherein, for each of the splitter components, there is at least one joiner component associated with the splitter component having one or more joiner input terminals that graphically correspond to a joiner input to a joiner algorithm associated with the joiner component, each joiner input terminal receiving joiner input at a plurality of joiner input times, and one or more joiner output terminals that graphically correspond to a joiner output generated by the joiner algorithm associated with the joiner component, said joiner input comprising a plurality of consistent joiner input sets, wherein each joiner input terminal receives a joiner input;
wherein, for each of the consistent splitter output sets generated by the splitter algorithm associated with the associated splitter component, exactly one consistent joiner input set arrives at the joiner input terminals of the joiner component; and
wherein, the joiner algorithm associated with the joiner component produces a single joiner output at its joiner output terminals upon completed execution of said joiner algorithm, the joiner output terminals producing the joiner output at a single joiner output time.
8 Assignments
0 Petitions
Accused Products
Abstract
A method for creating and executing a computer workflow using a graphical user interface. A plurality of executable components is defined wherein the executable components are based on an input, an output, metadata and a sub-interpreter. Each of the executable components represents a computer-implemented computational process that is performed on one or more inputs to the executable component and that generates one or more outputs based on a predefined computational algorithm. A graphical user interface is defined that allows a user to visually create the computer workflow on a user display by selecting from a library of said executable components. The user graphically connects one or more input terminals of selected executable components with one or more output terminals of second selected executable components. For each selected executable component, the one or more input terminals graphically correspond to the one or more inputs to the predefined computational algorithm associated with the executable component. The one or more output terminals graphically correspond to the one or more outputs generated by the predefined computational algorithm associated with the executable component.
99 Citations
8 Claims
-
1. A method for creating and executing a computer workflow, comprising the steps of:
-
(a) defining a plurality of executable components based on an input, an output, metadata and a sub-interpreter, each of said executable components representing a computer-implemented computational process that is performed on one or more inputs to the executable component and that generates one or more outputs based on a predefined computational algorithm; and
(b) providing a graphical user interface that allows a user to visually create the computer workflow on a user display by selecting from a library of said executable components, and graphically connecting one or more input terminals of selected executable components with one or more output terminals of second selected executable components;
wherein, for each selected executable component, the one or more input terminals graphically correspond to the one or more inputs to the predefined computational algorithm associated with the executable component, and the one or more output terminals graphically correspond to the one or more outputs generated by the predefined computational algorithm associated with the executable component;
wherein at least one selected executable component comprises a splitter component having one or more splitter input terminals that graphically correspond to a splitter input to a splitter algorithm associated with the one splitter component, each splitter input terminal receiving its splitter input at a single splitter input time, and one or more splitter output terminals that graphically correspond to a splitter output generated by the splitter algorithm associated with the splitter component, said splitter output terminals producing splitter output at a plurality of splitter output times;
said splitter output comprising a plurality of consistent splitter output sets, wherein each splitter output terminal produces a splitter output;
said splitter algorithm associated with the splitter component generating the consistent splitter output sets in a specific order by operating on the splitter input, wherein each consistent splitter output set flows separately downstream to one or more other selected executable components;
wherein, for each of the splitter components, there is at least one joiner component associated with the splitter component having one or more joiner input terminals that graphically correspond to a joiner input to a joiner algorithm associated with the joiner component, each joiner input terminal receiving joiner input at a plurality of joiner input times, and one or more joiner output terminals that graphically correspond to a joiner output generated by the joiner algorithm associated with the joiner component, said joiner input comprising a plurality of consistent joiner input sets, wherein each joiner input terminal receives a joiner input;
wherein, for each of the consistent splitter output sets generated by the splitter algorithm associated with the associated splitter component, exactly one consistent joiner input set arrives at the joiner input terminals of the joiner component; and
wherein, the joiner algorithm associated with the joiner component produces a single joiner output at its joiner output terminals upon completed execution of said joiner algorithm, the joiner output terminals producing the joiner output at a single joiner output time. - View Dependent Claims (2, 3, 4)
-
-
5. A method for creating and executing a computer workflow, comprising the steps of:
-
(a) defining a plurality of executable components based on an input, an output, metadata and a sub-interpreter, each of said executable components representing a computer-implemented computational process that is performed on one or more inputs to the executable component and that generates one or more outputs based on a predefined computational algorithm; and
(b) providing a graphical user interface that allows a user to visually create the computer workflow on a user display by selecting from a library of said executable components, and graphically connecting one or more input terminals of selected executable components with one or more output terminals of selected executable components;
wherein, for each selected executable component, the one or more input terminals graphically correspond to the one or more inputs to the predefined computational algorithm associated with the executable component, and the one or more output terminals graphically correspond to the one or more outputs generated by the predefined computational algorithm associated with the executable component;
wherein, for at least one selected executable component, the graphical user interface allows the user to designate each of the one or more input terminals as an input terminal selected from the group consisting of a required input terminal and an optional input terminal;
wherein, for each selected executable component, the inputs received on each of the one or more input terminals comprise an input selected from the group consisting of valid data for the associated predefined computational algorithm and a special NoValue marker;
wherein for each selected executable component, executing the associated predefined computational algorithm when the selected executable component has received inputs on all of its input terminals, provided that no input received on a required input terminal comprises the NoValue marker;
wherein for each selected executable component, delivering one output to each output terminal upon completing the execution of the associated predefined computational algorithm, said outputs comprising at least one of valid data and NoValue markers; and
wherein if said selected executable component receives a NoValue marker on one or more of the required input terminals, each selected executable component delivers one NoValue marker to each output terminal and performs no other action. - View Dependent Claims (6, 7, 8)
-
Specification