IP Library Granted Patent US 9,310,975
Granted Patent B2
US 9,310,975 · App. 13/968,085 · Granted Apr 12, 2016

Automatically determining data transfer functionality for wires in a graphical diagram

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,310,975
App. No.
13/968,085
Granted
Apr 12, 2016
Kind
B2
Abstract

Configuring wires/icons in a diagram. The diagram may be an executable diagram such as a graphical program or a system diagram. The diagram may include a plurality of icons that are connected by wires, and the icons may visually represent functionality of the diagram. The diagram may be executable to perform the functionality. Displaying the diagram may include displaying a first wire in the diagram, where the first wire connects a first icon and a second icon. Data transfer functionality may be specified for the first wire and/or the first or second icon in the diagram. The data transfer functionality may be visually indicated in the diagram, e.g., by appearances of the first icon, the second icon, the first wire, and/or icons displayed proximate to these components of the diagram.

Claims (81)

1. A non-transitory computer accessible memory medium comprising program instructions for creating a diagram, wherein the program instructions are executable to:

receive user input connecting a wire to an output of a first node and an input of a second node, wherein the first node, the second node, and the wire are comprised in the graphical diagram, and wherein the first wire indicates that data produced on the output of the first node is provided to the input of the second node;

automatically determine data transfer functionality of the wire based on at least one of the first node or the second node, wherein the data transfer functionality comprises one or more of:

data exchange semantics;

data transport protocol; or

data transport medium; and

store information on a memory medium which specifies the determined data transfer functionality of the wire;

wherein during execution of the diagram data are transferred between the first node and the second node according to the data transfer functionality.

2. The non-transitory computer accessible memory medium of claim 1 , wherein the program instructions are further executable to:

automatically generate a graphical program for the wire based on said automatically determining the data transfer functionality of the wire;

wherein the graphical program is executable to implement the data transfer functionality of the wire.

3. The non-transitory computer accessible memory medium of claim 1 , wherein the data transfer functionality comprises the data exchange semantics.

4. The non-transitory computer accessible memory medium of claim 3 , wherein the data exchange semantics comprise one or more of

one or more read policies;

one or more write policies;

directionality of the wire;

one or more associated or included data structures;

semantics of wire branching;

one or more queues; or

one or more buffer sizes.

5. The non-transitory computer accessible memory medium of claim 1 , wherein the data transfer functionality comprises the data transport protocol.

6. The non-transitory computer accessible memory medium of claim 5 , wherein the data transport protocol comprises one or more of:

TCP/IP;

USB;

DMA (direct memory access); or

register access.

7. The non-transitory computer accessible memory medium of claim 1 , wherein the data transfer functionality comprises the data transport medium, wherein the program instructions are further executable to:

determine the data transport medium based on physical connectivity between the first node and the second node.

8. The non-transitory computer accessible memory medium of claim 1 , wherein the data transfer functionality comprises the data transport protocol, and wherein to automatically determine the data transport protocol, the program instructions are executable to:

select a default data transport protocol for the wire.

9. The non-transitory computer accessible memory medium of claim 1 , wherein the data transfer functionality comprises the data transport protocol, and wherein to automatically determine the data transport protocol, the program instructions are executable to:

automatically determine the data transport protocol based on communication properties of the wire and/or endpoints of the wire.

10. The non-transitory computer accessible memory medium of claim 1 , wherein the program instructions are further executable to:

adapt the data transport protocol to the data exchange semantics, including combining program logic with the data transport protocol to implement the data exchange semantics.

11. The non-transitory computer accessible memory medium of claim 1 , wherein the diagram comprises a data flow diagram comprising a plurality of interconnected nodes, wherein nodes in the diagram represent functions, and wherein wires connecting the nodes indicate that data produced by one node is used by another node.

12. The non-transitory computer accessible memory medium of claim 1 , wherein the diagram comprises a plurality of interconnected nodes, wherein at least a subset of the plurality of interconnected nodes represent respective processing elements, and wherein each processing element has an associated program for execution by the processing element.

13. The non-transitory computer accessible memory medium of claim 1 , wherein the diagram comprises a plurality of interconnected nodes, wherein at least a subset of the plurality of icons each represent a respective device or configurable element.

14. The non-transitory computer accessible memory medium of claim 1 , wherein the data exchange semantics comprise one or more of:

one or more read policies;

one or more write policies;

directionality of the wire;

one or more associated or included data structures;

semantics of wire branching;

one or more queues; or

one or more buffer sizes.

15. The non-transitory computer accessible memory medium of claim 1 , wherein the wire also indicates that data transport status information is provided from the first node to the second node; and

wherein during execution of the diagram, the wire provides the data and the data transport status information from the first node to the second node.

16. A method, comprising:

utilizing a computer to perform:

receiving user input connecting a wire to an output of a first node and an input of a second node, wherein the first node, the second node, and the wire are comprised in the graphical diagram, and wherein the first wire indicates that data produced on the output of the first node is provided to the input of the second node;

automatically determining data transfer functionality of the wire based on at least one of the first node or the second node, wherein the data transfer functionality comprises one or more of:

data exchange semantics;

data transport protocol; or

data transport medium; and

storing information on a memory medium which specifies the determined data transfer functionality of the wire;

wherein during execution of the diagram data are transferred between the first node and the second node according to the data transfer functionality.

17. The method of claim 16 , further comprising:

automatically generating a graphical program for the wire based on said automatically determining the data transfer functionality of the wire;

wherein the graphical program is executable to implement the data transfer functionality of the wire.

18. A system for creating a diagram, comprising:

a processor; and

a memory medium coupled to the processor, wherein the memory medium comprises program instructions executable by the processor to:

display a graphical diagram on a display in response to user input, wherein the diagram comprises a plurality of nodes connected by wires, wherein the diagram visually specifies execution of the plurality of nodes;

receive user input connecting a wire to an output of a first node and an input of a second node, wherein the first node, the second node, and the wire are comprised in the graphical diagram, and wherein the first wire indicates that data produced on the output of the first node is provided to the input of the second node;

automatically determine data transfer functionality of the wire based on at least one of the first node or the second node, wherein the data transfer functionality comprises one or more of:

data exchange semantics;

data transport protocol; or

data transport medium; and

store information on a memory medium which specifies the determined data transfer functionality of the wire;

wherein during execution of the diagram data are transferred between the first node and the second node according to the data transfer functionality.

19. The system of claim 18 , wherein the program instructions are further executable by the processor to:

automatically generate a graphical program for the wire based on said automatically determining the data transfer functionality of the wire;

wherein the graphical program is executable to implement the data transfer functionality of the wire.

20. A system, comprising:

means for receiving user input connecting a wire to an output of a first node and an input of a second node, wherein the first node, the second node, and the wire are comprised in the graphical diagram, and wherein the first wire indicates that data produced on the output of the first node is provided to the input of the second node;

means for automatically determining data transfer functionality of the wire based on at least one of the first node or the second node, wherein the data transfer functionality comprises one or more of:

data exchange semantics;

data transport protocol; or

data transport medium; and

means for storing information on a memory medium which specifies the determined data transfer functionality of the wire;

wherein during execution of the diagram data are transferred between the first node and the second node according to the data transfer functionality.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 057280/0028) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 065231/0466 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 052935/0001) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
Reel/Frame 065653/0463 →
SECURITY INTEREST Recorded Jun 18, 2021
From: NATIONAL INSTRUMENTS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 057280/0028 →
SECURITY INTEREST Recorded Jun 14, 2020
From: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052935/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2013
From: CORRELL, JEFFREY N.; FULLER, DAVID W., III; HAYLES, TIMOTHY J.; BREYER, JOHN R.; KORNERUP, JACOB
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 031111/0315 →