Deployment and execution of a program on an embedded device
First Claim
1. A computer-implemented method for executing a program, the method comprising:
- utilizing a computer system to perform;
storing a plurality of components of a program execution system in a memory medium;
storing a program in the memory medium, wherein the program is distinct from the program execution system, and wherein the program execution system is for executing the program;
programmatically analyzing the program to determine a subset of the plurality of components of the program execution system required for execution of the program; and
combining the subset of the plurality of components and the program into a file, wherein said combining comprises interspersing the subset of the plurality of components with the program according to an execution order of the program;
transmitting the file to a target device, wherein said transmitting the file to the target device comprises transmitting the interspersed subset of the plurality of components and the program according to the execution order of the program;
wherein the target device is configured to execute the subset of the plurality of components of the program execution system to execute the program.
5 Assignments
0 Petitions
Accused Products
Abstract
System and method for deploying and executing a program, e.g., a graphical program, on an embedded device. The program and a plurality of execution system components are stored on a host computer. The program is analyzed programmatically to determine a subset of the plurality of components required for execution of the program. The subset of components and the program are combined into a file while preserving execution order of the program. The file is transmitted to the device. The file is used to construct a combined program which includes executable code for the program and the subset of components. The device includes a minimal execution engine which executes the subset of components to execute the program. The file may be streamed to the device for streaming execution, where received portions of the subset of components needed for execution of received portions of the program are stored until no longer needed.
-
Citations
42 Claims
-
1. A computer-implemented method for executing a program, the method comprising:
utilizing a computer system to perform; storing a plurality of components of a program execution system in a memory medium; storing a program in the memory medium, wherein the program is distinct from the program execution system, and wherein the program execution system is for executing the program; programmatically analyzing the program to determine a subset of the plurality of components of the program execution system required for execution of the program; and combining the subset of the plurality of components and the program into a file, wherein said combining comprises interspersing the subset of the plurality of components with the program according to an execution order of the program; transmitting the file to a target device, wherein said transmitting the file to the target device comprises transmitting the interspersed subset of the plurality of components and the program according to the execution order of the program; wherein the target device is configured to execute the subset of the plurality of components of the program execution system to execute the program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
18. A system for executing a program, the system comprising:
-
a computer system, comprising; a processor; and a memory medium coupled to the processor, wherein the memory medium stores the program and a plurality of components of a program execution system, wherein the program is distinct from the program execution system, wherein the program execution system is for executing the program, wherein the memory medium also stores program instructions executable to analyze the program to determine a subset of the plurality of components required for execution of the program, and wherein the subset of the plurality of components comprises a minimal execution system; and a target device coupled to the computer system via a transmission medium, wherein the target device comprises; a processor; and a memory medium coupled to the processor; wherein the memory medium of the computer system further stores program instructions which are executable by the processor of the computer system to; combine the subset of the plurality of components and the program into a file, wherein said combining comprises interspersing the subset of the plurality of components with the program according to an execution order of the program; transmit the file to the target device, wherein said transmitting the file to the target device comprises transmitting the interspersed subset of the plurality of components and the program according to the execution order of the program; wherein the processor of the target device executes the program using the minimal execution system; wherein said using the minimal execution system comprises using the subset of the plurality of components. - View Dependent Claims (19, 20, 21, 22)
-
-
23. A non-transitory computer-accessible memory medium which stores:
-
a plurality of components of a program execution system; and program instructions which are executable to; receive a program, wherein the program is distinct from the program execution system, wherein the program execution system is for executing the program; programmatically analyze the program to determine a subset of the plurality of components of the program execution system required for execution of the program; combine the subset of the plurality of components and the program into a file, wherein said combining comprises interspersing the subset of the plurality of components with the program according to an execution order of the program; and transmit the file to a target device, wherein said transmitting the file to the target device comprises transmitting the interspersed subset of the plurality of components and the program according to the execution order of the program; wherein the plurality of components of the program execution system are executable on the target device to execute the program. - View Dependent Claims (24, 25, 26, 27)
-
-
28. A system for executing a program, the system comprising:
-
means for storing a plurality of components of a program execution system in a memory medium; means for storing a program in the memory medium, wherein the program is distinct from the program execution system, and wherein the program execution system is for executing the program; means for programmatically analyzing the program to determine a subset of the plurality of components required for execution of the program; means for combining the subset of the plurality of components and the program into a file, wherein said combining comprises interspersing the subset of the plurality of components with the program according to an execution order of the program; and means for transmitting the file to a target device, wherein said transmitting the file to the target device comprises transmitting the interspersed subset of the plurality of components and the program according to the execution order of the program; and means for executing the subset of the plurality of components of the program execution system to execute the program on the target device.
-
-
29. A computer-implemented method for executing a graphical program, the method comprising:
-
storing a plurality of components of a program execution system in a memory medium; storing a graphical program in the memory medium, wherein the graphical program is distinct from the program execution system, and wherein the program execution system is for executing the graphical program; programmatically analyzing the graphical program to determine a subset of the plurality of components of the program execution system required for execution of the graphical program; and combining the subset of the plurality of components and the program into a file, wherein said combining comprises interspersing the subset of the plurality of components with the program according to an execution order of the program; transmitting the file to a target device, wherein said transmitting the file to the target device comprises transmitting the interspersed subset of the plurality of components and the program according to the execution order of the program; wherein the target device is configured to execute the subset of the plurality of components of the program execution system to execute the graphical program. - View Dependent Claims (30, 31, 32, 33)
-
-
34. A computer-implemented method for executing a graphical program, the method comprising:
-
storing a plurality of components of a graphical program execution system in a memory medium; receiving a graphical program to the memory medium, wherein the graphical program is distinct from the graphical program execution system, and wherein the graphical program execution system is for executing the graphical program; programmatically analyzing the graphical program in response to said receiving to determine a subset of the plurality of components of the graphical program execution system required for execution of the graphical program; combining the subset of the plurality of components and the graphical program into a file, wherein said combining comprises interspersing the subset of the plurality of components with the graphical program according to an execution order of the graphical program; transmitting the file to a target device, wherein said transmitting the file to the target device comprises transmitting the interspersed subset of the plurality of components and the graphical program according to the execution order of the graphical program; wherein the target device is configured to execute the subset of the plurality of components of the graphical program execution system to execute the program. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42)
-
Specification