IP Library Granted Patent US 8,397,215
Granted Patent B2
US 8,397,215 · App. 12/572,923 · Granted Mar 12, 2013

Executing a physical model with multiple physical domains in a web browser

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,397,215
App. No.
12/572,923
Granted
Mar 12, 2013
Kind
B2
Abstract

System and method for performing program-related operations over a network via a web browser. A network connection is established between a server computer and a client computer over a network. A universal resource identifier (URI) is sent from the client computer to the server computer over the network, where the URI indicates a program, e.g., a graphical program (GP), or at least a portion of a graphical program interactive development environment (GPIDE), e.g., a graphical program editor, an execution engine, a static or dynamic analyzer, and/or compiler. The at least a portion of the GPIDE is received from the server computer over the network in response to the URI, and executed in a web browser of the client computer to perform some specified functionality with respect to the GP.

Claims (90)

1. A non-transitory computer-accessible memory medium that stores program instructions executable by a client computer to:

establish a network connection with a server computer over a network;

send a universal resource identifier (URI) to the server computer over the network, wherein the URI indicates a graphical program (GP) or a graphical program execution engine (GPEE), wherein the graphical program comprises a plurality of interconnected nodes or icons which visually indicate the functionality of the program, and wherein the interconnected nodes are graphical source code of the graphical program; and

receive the GPEE from the server computer over the network in response to the URI, wherein the GPEE is executable in a web browser of a client computer to execute the graphical program in the web browser on the client computer;

wherein the graphical program comprises a model of a physical system, and wherein the model of the physical system comprises two or more physical domains, and wherein execution of the graphical program models the physical system.

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

wherein the graphical program is a pre-existing GP, wherein the GPEE is associated with the pre-existing GP, and wherein the URI specifies the pre-existing GP, thereby also indicating the associated GPEE; and

wherein the program instructions are further executable to:

receive the GP from the server computer in response to the URI.

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

wherein the GP is not a pre-existing GP, wherein the URI specifies the GPEE, and wherein the GPEE comprises a GP editor that is executable to create and edit GPs comprising a model with two or more physical domains; and

wherein the GPEE is executable in the web browser to:

receive user input specifying creation of the GP; and

create the GP in response to the user input.

4. The non-transitory computer-accessible memory medium of claim 1 , wherein the GPEE comprises an interpreter, and wherein to execute the GP in the web browser via the GPEE, the GPEE is executable to interpret the GP in the web browser.

5. The non-transitory computer-accessible memory medium of claim 1 , wherein the GPEE is configured to execute in a sandbox, wherein the sandbox comprises a secure execution environment for the GPEE, and wherein to execute the GPEE in the web browser, the program instructions are executable to:

execute the GPEE in the sandbox.

6. The non-transitory computer-accessible memory medium of claim 5 , wherein the sandbox is implemented by a plugin, wherein to execute the GPEE in the sandbox, the program instructions are executable to execute the GPEE in the plugin.

7. The non-transitory computer-accessible memory medium of claim 1 , wherein the GPEE comprises an interactive development environment (IDE) for developing GPs comprising a model with two or more physical domains, and wherein the IDE is executable in the web browser to:

display the GP in the web browser, wherein the GP comprises a plurality of interconnected nodes or icons which visually indicate functionality of the graphical program;

receive user input indicating one or more edit operations to be performed on the GP;

edit the GP in the web browser in accordance with the one or more edit operations, thereby generating an edited GP; and

display the edited GP in the web browser.

8. The non-transitory computer-accessible memory medium of claim 1 , wherein the IDE is executable in the web browser to:

compile, interpret, execute, or analyze the edited GP in the web browser.

9. The non-transitory computer-accessible memory medium of claim 8 , wherein to analyze the GP, the IDE is configured to:

statically analyze the GP at edit time; or

dynamically analyze the GP at run time.

10. The non-transitory computer-accessible memory medium of claim 1 , wherein the GPEE is executable in the web browser to display the GP in the web browser, wherein respective portions of the GP are in accordance with the two or more physical domains, and wherein to display the GP in the web browser, the GPEE is configured to:

visually indicate each respective portion of the GP in accordance with its physical domain.

11. The non-transitory computer-accessible memory medium of claim 10 , wherein the two or more physical domains comprise two or more of:

an electrical domain;

a chemical domain;

a mechanical domain;

an electromagnetic domain;

a hydraulic domain;

an acoustic domain;

an optical domain; or

a thermodynamic domain.

12. The non-transitory computer-accessible memory medium of claim 1 , wherein the GP comprises a graphical data flow program (GDFP), and wherein the GPEE comprises at least a portion of a graphical data flow program development environment (GDFPDE).

13. A computer-implemented method, comprising utilizing a client computer to perform:

establishing a network connection with a server computer over a network;

sending a universal resource identifier (URI) to the server computer over the network, wherein the URI indicates a graphical program (GP) or a graphical program execution engine (GPEE), wherein the graphical program comprises a plurality of interconnected nodes or icons which visually indicate the functionality of the program, and wherein the interconnected nodes are graphical source code of the graphical program; and

receiving the GPEE from the server computer over the network in response to the URI, wherein the GPEE is executable in a web browser of a client computer to execute the graphical program in the web browser on the client computer;

wherein the graphical program comprises a model of a physical system, wherein the model of the physical system comprises two or more physical domains, and wherein execution of the graphical program models the physical system.

14. A non-transitory computer-accessible memory medium that stores program instructions executable by a processor to:

establish a network connection with a client computer over a network;

receive a universal resource identifier (URI) from the client computer over the network, wherein the URI indicates a graphical program or a graphical program execution engine (GPEE), wherein the graphical program comprises a plurality of interconnected nodes or icons which visually indicate the functionality of the program, and wherein the interconnected nodes are graphical source code of the graphical program; and

send the GPEE to the client computer over the network in response to the URI, wherein the GPEE is executable in a web browser of the client computer to execute the graphical program in the web browser on the client computer;

wherein the graphical program comprises a model of a physical system, and wherein the model of the physical system comprises two or more physical domains, and wherein execution of the graphical program models the physical system.

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

wherein the graphical program (GP) is a pre-existing GP, wherein the GPEE is associated with the pre-existing GP, and wherein the URI specifies the pre-existing GP, thereby also indicating the associated GPEE; and

wherein the program instructions are further executable to:

send the GP to the client computer in response to the URI.

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

wherein the program is not a pre-existing program, wherein the URI specifies the GPEE, and wherein the GPEE comprises a GP editor that is executable to create and edit GPs comprising a model with two or more physical domains; and

wherein the GPEE is executable in the web browser to:

receive user input specifying creation of the GP; and

create the GP in response to the user input.

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

wherein the GPEE comprises an interpreter, and wherein to execute the GP in the web browser via the GPEE, the GPEE is executable to interpret the GP in the web browser.

18. The non-transitory computer-accessible memory medium of claim 14 , wherein the GPEE is configure to execute in a sandbox, wherein the sandbox comprises a secure execution environment for the GPEE, and wherein the GPEE being executable in the web browser comprises the GPEE being executable in the sandbox.

19. The non-transitory computer-accessible memory medium of claim 18 , wherein the sandbox is implemented by a plugin, wherein GPEE being executable in the sandbox comprises the GPEE being executable in the plugin.

20. The non-transitory computer-accessible memory medium of claim 14 , wherein the GPEE comprises an interactive development environment (IDE) for developing GPs comprising a model with two or more physical domains, and wherein the IDE is executable in the web browser to:

display the GP in the web browser, wherein the GP comprises a plurality of interconnected nodes or icons which visually indicate the functionality of the GP;

receive user input indicating one or more edit operations to be performed on the GP;

edit the GP in the web browser in accordance with the one or more edit operations, thereby generating an edited GP; and

display the edited GP in the web browser.

21. The non-transitory computer-accessible memory medium of claim 20 , wherein the IDE is executable in the web browser to:

compile, interpret, execute, or analyze the edited GP in the web browser.

22. The non-transitory computer-accessible memory medium of claim 21 , wherein to analyze the GP, the IDE is configured to:

statically analyze the GP at edit time; or

dynamically analyze the GP at run time.

23. The non-transitory computer-accessible memory medium of claim 14 , wherein the GPEE is executable in the web browser to display the GP in the web browser, wherein respective portions of the GP are in accordance with the two or more physical domains, and wherein to display the GP in the web browser, the GPEE is configured to:

visually indicate each respective portion of the GP in accordance with its physical domain.

24. The non-transitory computer-accessible memory medium of claim 23 , wherein the two or more physical domains comprise two or more of:

an electrical domain;

a chemical domain;

a mechanical domain;

an electromagnetic domain;

a hydraulic domain;

an acoustic domain;

an optical domain; or

a thermodynamic domain.

25. The non-transitory computer-accessible memory medium of claim 14 , wherein the GP comprises a graphical data flow program (GDFP), and wherein the GPEE comprises at least a portion of a graphical data flow program development environment (GDFPDE).

26. A computer-implemented method, comprising utilizing a computer to perform:

establishing a network connection with a client computer over a network;

receiving a universal resource identifier (URI) from the client computer over the network, wherein the URI indicates a graphical program or a graphical program execution engine (GPEE), wherein the graphical program comprises a plurality of interconnected nodes or icons which visually indicate the functionality of the program, and wherein the interconnected nodes are graphical source code of the graphical program; and

sending the GPEE to the client computer over the network in response to the URI, wherein the GPEE is executable in a web browser of the client computer to execute the graphical program in the web browser on the client computer;

wherein the graphical program comprises a model of a physical system, and wherein the model of the physical system comprises two or more physical domains, and wherein execution of the graphical program models the physical system.

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 Oct 15, 2009
From: STANHOPE, JOHN D.; HUDSON, DUNCAN G., III
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 023376/0666 →