IP Library Granted Patent US 8,204,951
Granted Patent B2
US 8,204,951 · App. 12/942,076 · Granted Jun 19, 2012

Deterministic communication between graphical programs executing on different computer systems using variable nodes

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 8,204,951
App. No.
12/942,076
Granted
Jun 19, 2012
Kind
B2
Abstract

A system and method for enabling deterministic or time-triggered data exchange between a first graphical program and a second graphical program. A first variable is assigned to a first time slot in a network cycle. A first graphical program may be configured to write data to the first variable. A second graphical program may be configured to read data from the first variable. The first graphical program may be executed on a first computer system, where executing the first graphical program comprises writing data to the first variable. Writing data to the first variable may cause the data to be delivered over a network to a second computer system when the first time slot occurs. The second graphical program may be executed on the second computer system, where executing the second graphical program comprises reading from the first variable the data sent from the first computer system.

Claims (45)

1. A non-transitory computer-accessible memory medium that stores program instructions for communicating data between a first computer and a second computer over a network, wherein the program instructions are executable to implement:

a first graphical program on the first computer system coupled to the network, wherein the first graphical program comprises a first plurality of interconnected nodes that visually represent functionality of the first graphical program, wherein the first plurality of interconnected nodes comprises a first variable node corresponding to a first variable, and wherein the first variable node comprises an icon that represents the first variable node in the graphical program, as well as underlying code or data that implements functionality of the first variable node;

wherein during execution the first graphical program writes data to the first variable by providing the data as input to the first variable node and, thereby causing delivery of the data to the second computer system over the network in a time-deterministic manner, wherein the delivery of the data to the second computer system over the network in a time-deterministic manner comprises delivery of the data to the second computer system over the network within a specified time, wherein the data are received by a second variable node in a second graphical program executing on the second computer system coupled to the network, wherein the second graphical program comprises a second plurality of interconnected nodes that visually represent functionality of the second graphical program, wherein the second plurality of interconnected nodes comprises the second variable node, wherein the second variable node corresponds to the first variable, and wherein during execution the second graphical program reads from the first variable by reading the data as output from the second variable node.

2. The non-transitory computer-accessible memory medium of claim 1 , wherein the first variable comprises a first deterministic shared variable, and wherein the program instructions are further executable to implement:

creating the first deterministic shared variable in response to user input; and

configuring a communication slot in a network cycle for the first deterministic shared variable;

wherein to deliver the data, the program instructions are executable to deliver the data written to the first variable to the second computer system over the network in a time-deterministic manner in the configured communication slot.

3. The non-transitory computer-accessible memory medium of claim 1 , wherein the network comprises a deterministic network.

4. The non-transitory computer-accessible memory medium of claim 1 ,

wherein the first graphical program comprises a first iterative portion configured to write to the first variable node each iteration;

wherein the second graphical program comprises a second iterative portion configured to read from the second variable node each iteration; and

wherein each iteration of the second iterative portion of the second graphical program begins in response to receiving a value for the first variable over the network.

5. The non-transitory computer-accessible memory medium of claim 4 ,

wherein the first computer and the second computer have respective clocks, and wherein the clocks are synchronized.

6. The computer-accessible memory medium of claim 4 ,

wherein the first iterative portion is a first graphical loop structure; and

wherein the second iterative portion is a second graphical loop structure.

7. The non-transitory computer-accessible memory medium of claim 6 ,

wherein the first graphical loop structure and the second graphical loop structure are each configured to wake up upon receipt of the value by the first computer system.

8. A computer-implemented method for communicating data between a first computer and a second computer over a network, comprising:

utilizing the first computer to perform:

executing a first graphical program on the first computer system coupled to the network, wherein the first graphical program comprises a first plurality of interconnected nodes that visually represent functionality of the first graphical program, wherein the first plurality of interconnected nodes comprises a first variable node corresponding to a first variable, wherein the first variable node comprises an icon that represents the first variable node in the graphical program, as well as underlying code or data that implements functionality of the first variable node, and wherein said executing the first graphical program comprises:

the first graphical program writing to the first variable during execution by providing the data as input to the first variable node; and

in response to said providing, the first graphical program delivering the data to the second computer system over the network in a time-deterministic manner, wherein said delivering the data to the second computer system over the network in a time-deterministic manner comprises delivering the data to the second computer system over the network within a specified time, wherein the data are received by a second variable node in a second graphical program executing on the second computer system coupled to the network, wherein the second graphical program comprises a second plurality of interconnected nodes that visually represent functionality of the second graphical program, wherein the second plurality of interconnected nodes comprises the second variable node, wherein the second variable node corresponds to the first variable, and wherein during execution the second graphical program reads from the first variable by reading the data as output from the second variable node.

9. A non-transitory computer-accessible memory medium that stores program instructions for communicating data between a first computer and a second computer over a network, wherein the program instructions are executable to implement:

executing a first graphical program on the first computer system coupled to the network, wherein the first graphical program comprises a first plurality of interconnected nodes that visually represent functionality of the first graphical program, wherein the first plurality of interconnected nodes comprises a first variable node corresponding to a first variable, wherein the first variable node comprises an icon that represents the first variable node in the graphical program, as well as underlying code or data that implements functionality of the first variable node, and wherein said executing the first graphical program comprises the first graphical program writing to the first variable during execution by providing the data as input to the first variable node; and

in response to said providing, the first graphical program delivering the data written to the first variable to the second computer system over the network in a time-deterministic manner, wherein said delivering the data written to the first variable to the second computer system over the network in a time-deterministic manner comprises delivering the data written to the first variable to the second computer system over the network within a specified time, wherein the data are useable by a second graphical program executing on the second computer system coupled to the network, wherein the second graphical program comprises a second plurality of interconnected nodes that visually represent functionality of the second graphical program, and wherein the second plurality of interconnected nodes comprises a second variable node corresponding to the first variable, and wherein said second graphical program is executable to read from the first variable by reading the data as output from the second variable node.

10. The non-transitory computer-accessible memory medium of claim 9 , wherein the first variable comprises a first deterministic shared variable, and wherein the program instructions are further executable to implement:

creating the first deterministic shared variable in response to user input; and

configuring a communication slot in a network cycle for the first deterministic shared variable;

wherein to deliver the data, the program instructions are executable to deliver the data written to the first variable to the second computer system over the network in a time-deterministic manner in the configured communication slot.

11. The non-transitory computer-accessible memory medium of claim 9 , wherein the network comprises a deterministic network.

12. The non-transitory computer-accessible memory medium of claim 9 , wherein the first graphical program comprises a first iterative portion configured to write to the first variable node each iteration;

wherein the second graphical program comprises a second iterative portion configured to read from the second variable node each iteration; and

wherein each iteration of the second iterative portion of the second graphical program begins in response to receiving a value for the first variable over the network.

13. The non-transitory computer-accessible memory medium of claim 12 , wherein the first computer and the second computer have respective clocks, and wherein the clocks are synchronized.

14. The non-transitory computer-accessible memory medium of claim 12 ,

wherein the first iterative portion is a first graphical loop structure; and

wherein the second iterative portion is a second graphical loop structure.

15. The non-transitory computer-accessible memory medium of claim 14 ,

wherein the first graphical loop structure and the second graphical loop structure are each configured to wake up upon receipt of the value by the first computer system.

16. A computer-implemented method for communicating data between a first computer and a second computer over a network, comprising: utilizing the first computer to perform:

executing a first graphical program on the first computer system coupled to the network, wherein the first graphical program comprises a first plurality of interconnected nodes that visually represent functionality of the first graphical program, wherein the first plurality of interconnected nodes comprises a first variable node corresponding to a first variable, wherein the first variable node comprises an icon that represents the first variable node in the graphical program, as well as underlying code or data that implements functionality of the first variable node, and wherein said executing the first graphical program comprises the first graphical program writing to the first variable during execution by providing the data as input to the first variable node; and

in response to said providing, the first graphical program delivering the data written to the first variable to the second computer system over the network in a time-deterministic manner, wherein said delivering the data written to the first variable to the second computer system over the network in a time-deterministic manner comprises delivering the data written to the first variable to the second computer system over the network within a specified time, wherein the data are useable by a second graphical program executing on the second computer system coupled to the network ,wherein the second graphical program comprises a second plurality of interconnected nodes that visually represent functionality of the second graphical program, and wherein the second plurality of interconnected nodes comprises a second variable node corresponding to the first variable, and wherein said second graphical program is executable to read from the first variable by reading the data as output from the second variable node.

17. The computer-implemented method of claim 16 , wherein the second graphical program comprises a second plurality of interconnected nodes that visually represent functionality of the second graphical program, wherein the second plurality of interconnected nodes comprises the second variable node, wherein the second variable node corresponds to the first variable, and wherein during execution the second graphical program reads from the first variable by reading the data as output from the second variable node.

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 Nov 9, 2010
From: KORNERUP, JACOB; VRANCIC, ALJOSA
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 025333/0344 →