Claims
- 1. A method for executing a graphical program on a first computer and providing a user interface of the graphical program on a second computer, wherein the graphical program comprises a plurality of interconnected function icons representing graphical data flow of a desired function, the method comprising:
receiving user input to the second computer, wherein said user input specifies the graphical program on the first computer; executing the graphical program on the first computer; providing information describing the user interface of the graphical program to the second computer during said executing; and displaying the user interface of the graphical program on the second computer after said providing; wherein the user interface facilitates interaction between a user of the second computer and the graphical program executing on the first computer.
- 2. The method of claim 1, wherein said providing information comprises the first computer providing information describing the user interface of the graphical program to the second computer during said executing.
- 3. The method of claim 1, further comprising:
the first computer providing information describing the user interface of the graphical program to a plurality of computers during said executing; and each of the plurality of computers displaying the user interface of the graphical program after said providing.
- 4. The method of claim 1,
wherein the graphical program executes to perform a measurement or automation function.
- 5. The method of claim 1,
wherein the first computer and the second computer are connected over a network; and wherein said providing comprises the first computer providing the information describing the user interface of the graphical program over the network to the second computer.
- 6. The method of claim 5, further comprising:
the second computer connecting to the first computer over the network after said receiving user input to the second computer; wherein said providing information is performed after said user input specifying the graphical program on the first computer and after said connecting.
- 7. The method of claim 6,
wherein the graphical program is already executing on the first computer when said connecting occurs.
- 8. The method of claim 6, further comprising:
the first computer launching execution of the graphical program in response to said connecting to the first computer.
- 9. The method of claim 6, wherein said receiving user input specifying the graphical program on the first computer comprises receiving a uniform resource locator (URL).
- 10. The method of claim 9, wherein the URL specifies on of: the first computer or the graphical program on the first computer.
- 11. The method of claim 5, wherein the network is the Internet.
- 12. The method of claim 5,
wherein said displaying comprises displaying the user interface of the graphical program on a web browser of the second computer.
- 13. The method of claim 1, further comprising:
receiving user input to the graphical program via the displayed user interface on the second computer; and providing the user input to the first computer; wherein the graphical program executing on the first computer is operable to respond to the user input.
- 14. The method of claim 1,
wherein the graphical program produces a first output state; and wherein said displaying the user interface includes displaying the user interface illustrating the first output state.
- 15. The method of claim 14, wherein the graphical program produces a second output state after the graphical program produces the first output state, the method further comprising:
providing a user interface update indicating the second output state; and updating the user interface displayed on the second computer in response to the user interface update.
- 16. The method of claim 1, further comprising:
providing information regarding a block diagram of the graphical program; and displaying the block diagram on the second computer, using the information regarding the block diagram.
- 17. The method of claim 16, further comprising:
receiving user input specifying an edit to the block diagram; and providing the user input specifying the edit to the first computer; wherein the first computer is operable to edit the graphical program according to the user input specifying the edit.
- 18. The method of claim 1,
wherein said specifying the graphical program comprises providing a uniform resource locator (URL).
- 19. The method of claim 1, further comprising:
displaying information indicating a plurality of graphical programs on the first computer; wherein, in specifying the graphical program on the first computer, the user input selects the graphical program from the plurality of graphical programs.
- 20. The method of claim 19,
wherein said displaying information indicating a plurality of graphical programs on the first computer comprises displaying a list of the plurality of graphical programs on the first computer; and wherein, in specifying the graphical program on the first computer, the user input selects the graphical program from the list of the plurality of graphical programs.
- 21. The method of claim 1,
wherein the graphical program includes a block diagram portion and a user interface portion; and wherein said executing the graphical program on the first computer comprises executing the block diagram portion of the graphical program on the first computer.
- 22. The method of claim 21,
wherein the user interface of the graphical program comprises at least one input variable icon for providing inputs to the block diagram and at least one output variable icon for displaying outputs produced by the block diagram.
- 23. The method of claim 22, further comprising:
the user manipulating inputs of at least one input variable on the second computer; providing inputs of at least one input variable to the first computer; the block diagram executing using the inputs of at least one input variable on the second computer; the block diagram generating an output of at least one output variable; providing the output of at least one output variable to the second computer; and displaying the output of at least one output variable on the second computer.
- 24. The method of claim 1,
wherein the graphical program comprises a graphical data flow program.
- 25. The method of claim 1,
wherein the graphical program comprises a graphical control flow program.
- 26. The method of claim 1,
wherein the graphical program comprises a graphical execution flow program.
- 27. The method of claim 1,
wherein the graphical program implements a virtual instrument; and wherein the user interface of the graphical program comprises a front panel of a virtual instrument.
- 28. A system for executing a graphical program, the system comprising:
a first computer including a processor coupled to a memory, wherein the first computer is operable to couple to a network; a graphical program stored in the memory of the first computer, wherein the graphical program comprises a plurality of interconnected function icons representing graphical data flow of a desired function; and a second computer operable to couple to the network, wherein the second computer includes a display; wherein the second computer is operable to receive user input specifying the graphical program on the first computer; wherein the first computer is operable to execute the graphical program and is operable to provide information describing a user interface of the graphical program over the network to the second computer during said executing; wherein the second computer is operable to receive the information describing the user interface and display the user interface of the graphical program in response to said providing; and wherein the user interface facilitates interaction between a user of the second computer and the graphical program executing on the first computer.
- 29. The system of claim 28,
wherein the second computer is operable to connect to the first computer over the network using the user input that specifies the graphical program on the first computer.
- 30. The system of claim 29,
wherein the first computer is operable to launch execution of the graphical program in response to the second computer connecting to the first computer.
- 31. The system of claim 29, wherein said user input comprises a uniform resource locator (URL).
- 32. The system of claim 31, wherein the URL specifies one or more of: the first computer or the graphical program on the first computer.
- 33. The system of claim 28, wherein the network is the Internet.
- 34. The system of claim 28, wherein the second computer stores a web browser, wherein the web browser is executable on the second computer to display the user interface of the graphical program on the second computer.
- 35. The system of claim 28, further comprising:
wherein the second computer is operable to receive user input to the graphical program via the displayed user interface on the second computer; wherein the second computer is operable to provide the user input to the first computer; and wherein the graphical program executing on the first computer is operable to respond to the user input.
- 36. The system of claim 28,
wherein the graphical program is executable to produce a first output state; and wherein the second computer is operable to display the first output state in the user interface.
- 37. The system of claim 36,
wherein the graphical program is executable to produce a second output state after the graphical program produces the first output state; wherein the first computer is operable to provide a user interface update indicating the second output state; and wherein the second computer is operable to update the user interface displayed on the second computer in response to the user interface update.
- 38. The system of claim 28, further comprising:
wherein the first computer is operable to provide information regarding a block diagram associated with the graphical program; and wherein the second computer is operable to display the block diagram on the display of the second computer, using the information regarding the block diagram.
- 39. The system of claim 38,
wherein the second computer is operable to receive user input specifying an edit to the block diagram; wherein the second computer is operable to provide the user input specifying the edit to the first computer; and wherein the first computer is operable to edit the graphical program according to the user input specifying the edit.
- 40. The system of claim 28,
wherein the graphical program includes a diagram portion and a user interface portion; and wherein the first computer is operable to execute the diagram portion of the graphical program.
- 41. The system of claim 28,
wherein the user interface of the graphical program comprises at least one input variable icon for providing inputs to the block diagram and at least one output variable icon for displaying outputs produced by the block diagram.
- 42. The system of claim 41, further comprising:
wherein the second computer is operable to receive user input manipulating inputs of at least one input variable on the second computer; wherein the first computer is operable to receive inputs of at least one input variable; wherein the block diagram is operable to execute using the inputs of at least one input variable on the second computer; wherein the block diagram is operable to generate an output of at least one output variable; wherein the second computer is operable to receive the output of at least one output variable; and wherein the second computer is operable to display the output of at least one output variable.
- 43. The system of claim 28,
wherein the graphical program comprises a graphical data flow program.
- 44. The system of claim 28,
wherein the graphical program comprises a graphical control flow program.
- 45. The system of claim 28,
wherein the graphical program comprises a graphical execution flow program.
- 46. The system of claim 28, wherein the graphical program implements a virtual instrument;
wherein the user interface of the graphical program comprises a front panel of the virtual instrument.
- 47. The system of claim 28, wherein the system includes:
a plurality of second computers each operable to couple to the network, wherein each of the plurality of second computers includes a display; wherein the first computer is operable to execute the graphical program and is operable to provide information describing a user interface of the graphical program over the network to each of the plurality of second computers during said executing; wherein each of the plurality of second computers is operable to receive the information describing the user interface and display the user interface of the graphical program in response to said providing.
- 48. The system of claim 28,
wherein the graphical program is executable to perform a measurement or automation function.
- 49. The system of claim 28,
wherein the second computer is operable to display information indicating a plurality of graphical programs on the first computer; and wherein, in specifying the graphical program on the first computer, the user input selects the graphical program from the plurality of graphical programs.
- 50. The system of claim 49,
wherein, in displaying information indicating a plurality of graphical programs on the first computer, the second computer is operable to display a list of the plurality of graphical programs on the first computer; and wherein, in specifying the graphical program on the first computer, the user input selects the graphical program from the list of the plurality of graphical programs.
- 51. A memory medium comprising program instructions executable to:
establish a network connection with client software; receive user input from the client software specifying a graphical program for execution; execute the graphical program, wherein the graphical program comprises a plurality of interconnected function icons representing graphical data flow of a desired function; and send information describing a user interface of the graphical program over the network to the client software after establishing the network connection with the client software; wherein the user interface is operable to facilitate interaction between a user and the graphical program over the network.
- 52. The memory medium of claim 51, wherein the program instructions are further executable to:
display information indicating a plurality of graphical programs; and wherein, in specifying the graphical program for execution, the user input selects the graphical program from the plurality of graphical programs.
- 53. The system of claim 52,
wherein, in displaying information indicating a plurality of graphical programs on the first computer, the second computer is operable to display a list of the plurality of graphical programs on the first computer; and wherein, in specifying the graphical program on the first computer, the user input selects the graphical program from the list of the plurality of graphical programs.
- 54. The memory medium of claim 51, further comprising program instructions executable to:
receive user input to the graphical program from the client software; and provide the user input to the graphical program; wherein the graphical program is operable to respond to the user input.
- 55. The memory medium of claim 51,
wherein the graphical program produces a first output state; and wherein said sending information describing a user interface of the graphical program comprises sending information indicative of the first output state.
- 56. The memory medium of claim 55,
wherein the graphical program produces a second output state after the graphical program produces the first output state; and wherein the memory medium further comprises program instructions executable to send a user interface update indicating the second output state to the client software.
- 57. The memory medium of claim 51, further comprising program instructions executable to send information regarding a block diagram associated with the graphical program to the client software.
- 58. The memory medium of claim 51, wherein the program instructions are executable to:
establish a network connection with client software associated with a plurality of client computer systems; and send information describing a user interface of the graphical program over the network to the client software of each of the plurality of client computer systems after establishing the network connection with the client software of each of the plurality of client computer systems.
PRIORITY CLAIM
[0001] This application claims benefit of priority of U.S. patent application Ser. No. 09/617,600 titled “Graphical Programming System with Distributed Block Diagram Execution and User Interface Display” filed Jun. 13, 2000, whose inventors were Robert Dye, Darshan Shah, Steve Rogers, Greg Richardson, and Dean A. Luick, which claims benefit of priority of U.S. provisional application Serial No. 60/149,950 titled “Graphical Programming System with Distributed Block Diagram Execution and Front Panel Display” filed Aug. 19, 1999, whose inventors were Robert Dye, Darshan Shah, Steve Rogers, and Greg Richardson.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60149950 |
Aug 1999 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
09617600 |
Jun 2000 |
US |
Child |
10772518 |
Feb 2004 |
US |