Specifying control and data connections in graph-based programs

US9933918B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9933918-B2
Application numberUS-201514843103-A
CountryUS
Kind codeB2
Filing dateSep 2, 2015
Priority dateSep 2, 2014
Publication dateApr 3, 2018
Grant dateApr 3, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A first component of a graph-based program specification includes an output control port. A second component includes an input control port and an input data port. A third component includes an output data port. The output control port is connected to the input control port, and the output data port is connected to the input data port. The first component includes control code that when executed causes the output control port to provide, to the input control port, at least one of suppression information or invocation information. The second component includes control code that when executed causes a computing system configured by the graph-based program specification to begin processing data received at the input data port in response to the invocation information if no suppression information is received at the input control port before the invocation information is received at the input control port.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for controlling a computing system using a graph-based program specification, the method including: rendering a user-interface, and receiving, through said user interface, input representing a graph-based program specification having a plurality of components each corresponding to a processing task, wherein said plurality of components includes at least a first component, a second component, and a third component, wherein said first component includes an output control port, wherein said second component includes an input control port and an input data port, wherein said third component includes an output data port, wherein said graph-based program specification indicates that said output control port of said first component is connected to said input control port of said second component, and that said output data port of said third component is connected to said input data port of said second component to provide data to said second component, wherein said first component includes control code that when executed as part of a program corresponding to said graph-based program specification, causes said output control port to provide, to said input control port, at least one of suppression information or invocation information, and wherein said second component includes control code that when executed as part of said program corresponding to said graph-based program specification, causes a computing system configured by said graph-based program specification to begin processing data received at said input data port in response to said invocation information if no suppression information is received at said input control port before said invocation information is received at said input control port. 2. The method of claim 1 , wherein, during execution of a computing system configured by said graph-based program specification, said invocation information causes allocation of computational resources to said second component. 3. The method of claim 1 , wherein, during execution of a computing system configured by said graph-based program specification, said invocation information causes said second component to transition from a first state to a second state, wherein in said first state, no computational resources are allocated to said second component, and wherein in said second state, at least one computational resource is allocated to said second component for use in carrying a processing task. 4. The method of claim 1 , wherein, during execution of a computing system configured by said graph-based program specification, said suppression information causes said second component to have no assigned computational resource. 5. The method of claim 1 , wherein, during execution of a computing system configured by said graph-based program specification, said suppression information causes said second component to transition from a first state to a second state, wherein in said first state, at least one computational resource is allocated to said second component, and wherein in said second state, no computational resources are allocated to said second component. 6. The method of claim 1 , wherein output control ports and input control ports of components in said graph-based program specification are configured to communicate transfers of control between components and enforce serial execution between components with connected control ports. 7. The method of claim 6 , wherein output data ports and input data ports of components in said graph-based program specification include output scalar data ports and input scalar data ports configured to communicate individual data elements between components and enforce serial execution between components with connected scalar data ports. 8. The method of claim 7 , wherein output data ports and input data ports of components in said graph-based program specification include output collection data ports and input collection data ports configured to communicate collections of multiple data elements between components and enable concurrent execution between components with connected collection data ports. 9. The method of claim 6 , wherein output data ports and input data ports of components in said graph-based program specification include output collection data ports and input collection data ports configured to communicate collections of multiple data elements between components and enable concurrent execution between components with connected collection data ports. 10. The method of claim 1 , wherein output ports and input ports of components in said graph-based program specification include: (1) output control ports and input control ports configured to communicate transfers of control between components, (2) output scalar data ports and input scalar data ports configured to communicate individual data elements between components, and (3) output collection data ports and input collection data ports configured to communicate collections of multiple data elements between components. 11. The method of claim 10 , wherein said graph-based specification includes at least one connection between a scalar data port and a collection data port. 12. The method of claim 10 , wherein said graph-based specification includes at least one component that has at least one scalar data port and at least one collection data port. 13. The method of claim 10 , wherein said control ports, scalar data ports, and collection data ports are represented by symbols that have unique shapes for different types of ports. 14. Software stored in a non-transitory computer-readable medium, for controlling a computing system using a graph-based program specification, the software including instructions for causing the computing system to: render a user-interface, and receive, through said user interface, input representing a graph-based program specification having a plurality of components each corresponding to a processing task, wherein said plurality of components includes at least a first component, a second component, and a third component, wherein said first component includes an output control port, wherein said second component includes an input control port and an input data port, wherein said third component includes an output data port, wherein said graph-based program specification indicates that said output control port of said first component is connected to said input control port of said second component, and that said output data port of said third component is connected to said input data port of said second component to provide data to said second component, wherein said first component includes control code that when executed as part of a program corresponding to said graph-based program specification, causes said output control port to provide, to said input control port, at least one of suppression information or invocation information, and wherein said second component includes control code that when executed as part of said program corresponding to said graph-based program specification, causes a computing system configured by said graph-based program specification to begin processing data received at said input data port in response to said invocation information if no suppression information is received at said input control port before said invocation information is received at said input control port. 15. The software of claim 14 , wherein, during execution of a computing system configured by said graph-based program specification, said invocation information causes allocation of computational resources to said second component. 16. The

Assignees

Inventors

Classifications

  • Interaction techniques based on graphical user interfaces [GUI] · CPC title

  • G06F8/34Primary

    Graphical or visual programming · CPC title

  • G06F3/0482Primary

    Interaction with lists of selectable items, e.g. menus · CPC title

  • Drag-and-drop · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9933918B2 cover?
A first component of a graph-based program specification includes an output control port. A second component includes an input control port and an input data port. A third component includes an output data port. The output control port is connected to the input control port, and the output data port is connected to the input data port. The first component includes control code that when execute…
Who is the assignee on this patent?
Ab Initio Technology Llc
What technology area does this patent fall under?
Primary CPC classification G06F8/34. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 03 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).