IP Library Granted Patent US 8,453,252
Granted Patent B2
US 8,453,252 · App. 12/572,873 · Granted May 28, 2013

Licensing and management of shared graphical data flow web applications

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,453,252
App. No.
12/572,873
Granted
May 28, 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 (67)

1. A computer-accessible memory medium that stores:

a plurality of graphical data flow programs (GDFPs), wherein each GDFP comprises a respective plurality of interconnected nodes or icons which visually indicate the functionality of the program;

a graphical data flow program execution engine (GDFP execution engine), wherein the GDFPs require the GDFP execution engine to execute;

specification of intellectual property rights and licensing for each of the GDFPs; and

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 GDFP of the plurality of GDFPs;

analyze the specification of intellectual property rights and licensing for the GDFP;

if the specification of intellectual property rights and licensing for the GDFP permits:

send the GDFP and the GDFP execution engine to the client computer over the network in response to the URI, wherein the GDFP execution engine is executable in a web browser on the client system to:

execute the GDFP in the web browser; and

display an indication of executing the GDFP in the web browser;

otherwise:

send an indication to the client computer over the network that the specification of intellectual property rights and licensing for the GDFP does not permit sending the GDFP and the GDFP execution engine to the client computer.

2. The memory medium of claim 1 , wherein the GDFP execution engine comprises an interpreter, and wherein to execute the GDFP in the web browser, the GDFP execution engine is executable to interpret the GDFP in the web browser.

3. The memory medium of claim 1 , wherein the specification of intellectual property rights and licensing for the GDFP comprises:

a site-wide property rights and licensing policy applicable to each of the plurality of GDFPs.

4. The memory medium of claim 1 , wherein the specification of intellectual property rights and licensing for the GDFP is specified by an owner of the GDFP.

5. The memory medium of claim 4 , wherein the specification of intellectual property rights and licensing for the GDFP is specified by the creator of the GDFP in accordance with Creative Commons licenses.

6. The memory medium of claim 1 , wherein the program instructions are further executable to:

send information regarding the specification of intellectual property rights and licensing for the GDFP to the client computer over the network;

wherein the GDFP execution engine is executable in the web browser to:

receive the information regarding the specification of intellectual property rights and licensing for the GDFP over the network;

display a graphical user interface (GUI) in the web browser on a display, wherein the GUI is configured to:

display the information regarding the specification of intellectual property rights and licensing for the GDFP.

7. The memory medium of claim 6 , wherein the GDFP execution engine is further executable in the web browser to:

send user information confirming that the user owns the rights to the GDFP;

receive user input modifying the specification of intellectual property rights and licensing for the GDFP; and

send an indication of the user input modifying the specification of intellectual property rights and licensing for the GDFP over the network; and

wherein the program instructions are further executable to:

receive the user information confirming that the user owns the rights to the GDFP;

receive the indication of the user input modifying the specification of intellectual property rights and licensing for the GDFP from the client computer over the network; and

modify the specification of intellectual property rights and licensing for the GDFP in accordance with the received indication.

8. The memory medium of claim 1 , wherein to execute the GDFP in a web browser, the GDFP execution engine is executable to:

access one or more web services over the network; or invoke execution of one or more programs or subprograms on other devices over the network.

9. The memory medium of claim 1 , wherein the GDFP execution engine is configured to execute in a sandbox, wherein the sandbox comprises a secure execution environment for the GDFP execution engine, and wherein to execute the GDFP in a web browser, the GDFP execution engine is executable to:

execute the GDFP in the sandbox.

10. The memory medium of claim 9 , wherein the sandbox is implemented by a plugin, wherein to execute the GDFP in the sandbox, the GDFP execution engine is executable to execute the GDFP in the plugin.

11. The memory medium of claim 1 , wherein the GDFP execution engine is executable in the web browser to:

display a graphical user interface (GUI) in the web browser on a display, wherein the GUI is configured to:

display results of the GDFP execution; or

receive user input specifying input to the GDFP.

12. The memory medium of claim 1 , wherein the GDFP is embedded in a web page, wherein the URI references the web page, thereby indicating the GDFP, and wherein to send the GDFP execution engine to the client computer over the network in response to the URI, the program instructions are executable to:

send the web page to the client computer over the network, including the GDFP and the GDFP execution engine; and

wherein to execute the GDFP in a web browser, the GDFP execution engine is executable to:

execute the GDFP in the web page.

13. The memory medium of claim 12 , wherein to execute the GDFP in the web page, the GDFP execution engine is further executable to:

display results of executing the GDFP in the web page on the display.

14. The memory medium of claim 1 , wherein the GDFP execution engine comprises a GDFP player, and wherein to execute the GDFP in a web browser via the GDFP execution engine, the GDFP execution engine is executable to execute the GDFP in a web browser via the GDFP player.

15. The memory medium of claim 1 , wherein the plurality of GPs include one or more of:

a measurement program;

a control program;

a simulation program; or

an automation program.

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

storing a plurality of graphical data flow programs (GDFPs), wherein each GDFP comprises a respective plurality of interconnected nodes or icons which visually indicate the functionality of the program;

storing a graphical data flow program execution engine (GDFP execution engine), wherein the GDFPs require the GDFP execution engine to execute;

storing a specification of intellectual property rights and licensing for each of the GDFPs;

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 GDFP of the plurality of GDFPs;

analyze the specification of intellectual property rights and licensing for the GDFP;

if the specification of intellectual property rights and licensing for the GDFP permits:

sending the GDFP and the GDFP execution engine to the client computer over the network in response to the URI, wherein the GDFP execution engine is executable in a web browser on the client system to:

execute the GDFP in the web browser; and

display an indication of executing the GDFP in the web browser;

otherwise:

sending an indication to the client computer over the network that the specification of intellectual property rights and licensing for the GDFP does not permit sending the GDFP and the GDFP execution engine to the client computer.

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: SHAH, MOHAMMED KAMRAN
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 023376/0526 →