System and method for simulating data flow using dataflow computing system
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-009/44
G06F-009/45
G06F-015/00
출원번호
UP-0566193
(2006-12-01)
등록번호
US-7774189
(2010-08-30)
발명자
/ 주소
Bar-Or, Amir
Beckerle, Michael James
출원인 / 주소
International Business Machines Corporation
대리인 / 주소
Davda, Janaki K.
인용정보
피인용 횟수 :
2인용 특허 :
23
초록▼
A system and method for implementing a unified model for integration systems is presented. A user provides inputs to an integrated language engine for placing operator components and arc components onto a dataflow diagram. Operator components include data ports for expressing data flow, and also inc
A system and method for implementing a unified model for integration systems is presented. A user provides inputs to an integrated language engine for placing operator components and arc components onto a dataflow diagram. Operator components include data ports for expressing data flow, and also include meta-ports for expressing control flow. Arc components connect operator components together for data and control information to flow between the operator components. The dataflow diagram is a directed acyclic graph that expresses an application without including artificial boundaries during the application design process. Once the integrated language engine generates the dataflow diagram, the integrated language engine compiles the dataflow diagram to generated application code.
대표청구항▼
What is claimed is: 1. A computer-implemented method for simulating data flow using a dataflow computing system, the method comprising: a dataflow diagram that includes a plurality of operators, wherein each of the operators includes at least one input port or at least one output port; a plurality
What is claimed is: 1. A computer-implemented method for simulating data flow using a dataflow computing system, the method comprising: a dataflow diagram that includes a plurality of operators, wherein each of the operators includes at least one input port or at least one output port; a plurality of arcs, wherein each of the arcs connects one of the output ports of one of the plurality operators to one of the input ports of a different one of the plurality of operators; a plurality of data items that flow in streams along the plurality of arcs between the plurality of operators; grouping the plurality of data items into a particle at a first operator included in the plurality of operators to form a particle grouping, wherein the first operator includes meta ports, wherein the meta ports include an arc-level meta port and a particle-level meta port, wherein the arc-level meta-port provides an arc-level meta-state that holds the state execution from a process initialization point to a process termination point, and wherein the particle-level meta-port provides a particle-level meta-state that provides an execution state of an input particle at any given point of time; performing, at the first operator, computations on the particle grouping, resulting in a computed plurality of data items; transmitting, from the first operator, the computed plurality of data items over one of the plurality of arcs to a second operator included in the plurality of operators; producing control data items at one of the meta ports included on the first operator based upon meta-state transitions that are in response to the computations performed by the first operator on the particle grouping; and transmitting the control data items from the first operator to one of the plurality of operators, wherein the control data items control the flow of the computed plurality of data items. 2. The method of claim 1 wherein the control data items control the flow of the computed plurality of data items using a gate operator, the gate operator preventing the computed plurality of data items from reaching one of the plurality of operators until the control data items instruct the gate operator to provide the computed plurality of data items to the one of the plurality of operators. 3. The method of claim 1 wherein the control data items are transmitted to the second operator, the control data items instructing the second operator a time at which to process the computed plurality of data items. 4. The method of claim 1 wherein the arc connected to one of the meta ports subscribes to receiving a subset of the plurality of control data items. 5. The method of claim 1 wherein the particle grouping corresponds to a repeating portion of a hierarchy in a hierarchical data model of the plurality of data items flowing on the plurality of arcs. 6. The method of claim 1 wherein the particle grouping further comprises: coupling the plurality of control data items to external resource manipulation in order to indicate the start of or completion of the external resource manipulation. 7. The method of claim 1 wherein the method includes parallel execution of the plurality of data items using the plurality of operators. 8. The method of claim 7 wherein the parallel execution is selected from the group consisting of a pipelined execution and a data-parallel execution. 9. The method of claim 1 wherein the method further includes one or more stateful operators that accumulate state across the plurality of data items included in the particle. 10. The method of claim 1 further comprising: compiling the dataflow diagram into sequential executable code. 11. The method of claim 1 wherein the first operator includes a meta-state that corresponds to a current processing state associated with the computations performed on the plurality of data items included in the particle. 12. The method of claim 1 further comprising: expressing a control dependency between a plurality of activities. 13. The method of claim 1 wherein the first operator and the second operator are independent processing constructs. 14. The method of claim 1 wherein the dataflow diagram includes a block, the block including the first operator and the second operator. 15. The method of claim 14 wherein the block includes a block meta-state that corresponds to meta-states associated with the first operator and the second operator. 16. The method of claim 15 wherein the block includes a block meta port that produces block control data based on transitions of the block meta-state. 17. The method of claim 1 further comprising: wherein the dataflow diagram corresponds to a batch data processing application; wherein the dataflow diagram corresponds to a stream data processing application; wherein the dataflow diagram corresponds to an event processing application; wherein the dataflow diagram includes graphical notations; and wherein the dataflow diagram includes a non-graphical language implementation. 18. A computer program product stored on a computer memory, the computer memory containing instructions for execution by a computer, which, when executed by the computer, cause the computer to implement a method for simulating data flow, the method comprising: a dataflow diagram that includes a plurality of operators, wherein each of the operators includes at least one input port or at least one output port; a plurality of arcs, wherein each of the arcs connects one of the output ports of one of the plurality operators to one of the input ports of a different one of the plurality of operators; a plurality of data items that flow in streams along the plurality of arcs between the plurality of operators; grouping the plurality of data items into a particle at a first operator included in the plurality of operators to form a particle grouping, wherein the first operator includes meta ports, wherein the meta ports include an arc-level meta port and a particle-level meta port, wherein the arc-level meta-port provides an arc-level meta-state that holds the state execution from a process initialization point to a process termination point, and wherein the particle-level meta-port provides a particle-level meta-state that provides an execution state of an input particle at any given point of time; performing, at the first operator, computations on the particle grouping, resulting in a computed plurality of data items; transmitting, from the first operator, the computed plurality of data items over one of the plurality of arcs to a second operator included in the plurality of operators; producing control data items at one of the meta ports included on the first operator based upon meta-state transitions that are in response to the computations performed by the first operator on the particle grouping; and transmitting the control data items from the first operator to one of the plurality of operators, wherein the control data items control the flow of the computed plurality of data items. 19. The computer program product of claim 18 wherein the method further comprises: controlling flow, based upon the control data items, of the computed plurality of data items using a gate operator, the gate operator preventing the computed plurality of data items from reaching one of the plurality of operators until the control data items instruct the gate operator to provide the computed plurality of data items to the one of the plurality of operators. 20. The computer program product of claim 18 wherein the method further comprises: transmitting the control data items to the second operator, the control data items instructing the second operator a time at which to process the computed plurality of data items. 21. The computer program product of claim 18 wherein the particle grouping corresponds to a repeating portion of a hierarchy in a hierarchical data model of the plurality of data items flowing on the plurality of arcs. 22. The computer program product of claim 18 wherein the method further comprises: coupling the plurality of control data items to external resource manipulation in order to indicate the start of or completion of the external resource manipulation. 23. The computer program product of claim 18 wherein the method includes parallel execution of the plurality of data items using the plurality of operators; and wherein the parallel execution is selected from the group consisting of a pipelined execution and a data-parallel execution. 24. The computer program product of claim 18 wherein the method further comprises: compiling the dataflow diagram into sequential executable code. 25. The computer program product of claim 18 wherein the method further comprises: expressing a control dependency between a plurality of activities. 26. The computer program product of claim 18 wherein the method further comprises: wherein the arc connected to the meta port subscribes to receiving a subset of the plurality of control data items; wherein the dataflow diagram includes a block, the block including the first operator and the second operator; wherein the block includes a block meta-state that corresponds to meta-states associated with the first operator and the second operator; wherein the block includes a block meta port that produces block control data based on transitions of the block meta-state; wherein the first operator and the second operator are independent processing constructs; wherein the first operator includes a meta-state that corresponds to a current processing state associated with the computations performed on the plurality of data items included in the particle; wherein the method further includes one or more stateful operators that accumulate state across the plurality of data items included in the particle; wherein the dataflow diagram corresponds to a batch data processing application; wherein the dataflow diagram corresponds to a stream data processing application; wherein the dataflow diagram corresponds to an event processing application; wherein the dataflow diagram includes graphical notations; and wherein the dataflow diagram includes a non-graphical language implementation. 27. An information handling system comprising: one or more processors; a memory accessible by the processors; a storage device accessible by the processors; and a dataflow computing system for simulating dataflow, the dataflow computing system being effective to: include a plurality of operators in a dataflow diagram, wherein each of the operators includes at least one input port or at least one output port; include a plurality of arcs in the dataflow diagram, wherein each of the arcs connects one of the output ports of one of the plurality operators to one of the input ports of a different one of the plurality of operators; include a plurality of data items that flow in streams along the plurality of arcs between the plurality of operators; group the plurality of data items into a particle at a first operator included in the plurality of operators to form a particle grouping, wherein the first operator includes meta ports, wherein the meta ports include an arc-level meta port and a particle-level meta port, wherein the arc-level meta-port provides an arc-level meta-state that holds the state execution from a process initialization point to a process termination point, and wherein the particle-level meta-port provides a particle-level meta-state that provides an execution state of an input particle at any given point of time; perform, at the first operator, computations on the particle grouping, resulting in a computed plurality of data items; transmit, from the first operator, the computed plurality of data items over one of the plurality of arcs to a second operator included in the plurality of operators; produce control data items at one of the meta ports included on the first operator based upon meta-state transitions that are in response to the computations performed by the first operator on the particle grouping; and transmit the control data items from the first operator to one of the plurality of operators, wherein the control data items control the flow of the computed plurality of data items. 28. The information handling system of claim 27 wherein the dataflow computing system is further effective to: control flow, based upon the control data items, of the computed plurality of data items using a gate operator, the gate operator preventing the computed plurality of data items from reaching one of the plurality of operators until the control data items instruct the gate operator to provide the computed plurality of data items to the one of the plurality of operators. 29. The information handling system of claim 27 wherein the dataflow computing system is further effective to: transmit the control data items to the second operator, the control data items instructing the second operator a time at which to process the computed plurality of data items. 30. The information handling system of claim 27 wherein the particle grouping corresponds to a repeating portion of a hierarchy in a hierarchical data model of the plurality of data items flowing on the plurality of arcs. 31. The information handling system of claim 27 wherein the dataflow computing system is further effective to: couple the plurality of control data items to external resource manipulation in order to indicate the start of or completion of the external resource manipulation. 32. The information handling system of claim 27 wherein the dataflow computing system includes parallel execution of the plurality of data items using the plurality of operators; and wherein the parallel execution is selected from the group consisting of a pipelined execution and a data-parallel execution. 33. The information handling system of claim 27 wherein the dataflow computing system is further effective to: compile the dataflow diagram into sequential executable code. 34. The information handling system of claim 27 wherein the dataflow computing system is further effective to: express a control dependency between a plurality of activities. 35. The information handling system of claim 27 wherein the arc connected to the meta port subscribes to receiving a subset of the plurality of control data items; wherein the dataflow diagram includes a block, the block including the first operator and the second operator; wherein the block includes a block meta-state that corresponds to meta-states associated with the first operator and the second operator; wherein the block includes a block meta port that produces block control data based on transitions of the block meta-state; wherein the first operator and the second operator are independent processing constructs; wherein the first operator includes a meta-state that corresponds to a current processing state associated with the computations performed on the plurality of data items included in the particle; wherein the method further includes one or more stateful operators that accumulate state across the plurality of data items included in the particle; wherein the dataflow diagram corresponds to a batch data processing application; wherein the dataflow diagram corresponds to a stream data processing application; wherein the dataflow diagram corresponds to an event processing application; wherein the dataflow diagram includes graphical notations; and wherein the dataflow diagram includes a non-graphical language implementation.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (23)
Beckerle Michael J. ; Burns James Richard ; Callen Jerry L. ; Ives Jeffrey D. ; Krawitz Robert L. ; Leary Daniel L. ; Rosenthal Seven ; Zyzkowski Edward S. A., Apparatuses and methods for programming parallel computers.
Campbell Michael J. (Los Angeles CA) Finn Dennis J. (Los Angeles CA) Tucker George K. (Los Angeles CA) Vahey Michael D. (Manhattan Beach CA) Vedder Rex W. (Playa del Rey CA), Data-flow multiprocessor architecture with three dimensional multistage interconnection network for efficient signal and.
Dangelo Carlos ; Watkins Daniel ; Mintz Doron, Method and system for creating and validating low level description of electronic design from higher level, behavior-or.
Dangelo Carlos (Los Gatos CA) Watkins Daniel (Los Altos CA) Mintz Doron (Sunnyvale CA), Method and system for creating and validating low level description of electronic design from higher level, behavior-ori.
Greenblatt, Howard; Greenblatt, Alan; Bigwood, David A.; Britton, Colin P., Methods and apparatus for identifying related nodes in a directed graph having named arcs.
Pfluger Thomas,DEX ; Schubert Klaus-Dieter,DEX, Methods and systems for functionally describing a digital hardware design and for converting a functional specification of same into a netlist.
Terada Hiroaki (Osaka-fu JPX) Nishikawa Hiroaki (Osaka-fu JPX) Yamasaki Tetsuo (Hyogo-ken JPX) Inaoka Yoshie (Hyogo-ken JPX) Shima Kenji (Hyogo-ken JPX) Yoshida Shin-ichi (Nara-ken JPX) Hine Shunji (, Program developing system allowing a specification definition to be represented by a plurality of different graphical, n.
Bookman, Lawrence A.; Blair, David Albert; Rosenthal, Steven M.; Krawitz, Robert Louise; Beckerle, Michael J.; Callen, Jerry Lee; Razdow, Allen; Mudambi, Shyam R., Segmentation and processing of continuous data streams using transactional semantics.
Stanfill, Craig W.; Shapiro, Richard; Weiss, Adam; Roberts, Andrew F.; Wholey, III, Joseph Skeffington; Gould, Joel, Controlling data processing tasks.
Evans, David; Burns, Drew Thomas; Miller, Edward Thaddeus Michael; Hewitt, Paul, Method and apparatus for providing a virtual service agent that receives queries, compares questions to a set of queries, and allows a user to confirm a closest match.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.