Incremental deployment and execution of a program on an embedded device
First Claim
1. A method for receiving and executing a program, the method comprising:
- storing a linker/loader program;
receiving a first part of a file from a remote device, wherein the file comprises a plurality of components of a program execution system and a program, wherein the plurality of components are operable to execute the program;
storing the first part of the file;
executing the linker/loader program to create a first portion of a combined program from the first part of the file;
storing the first portion of the combined program;
deleting the first part of the file;
receiving a second part of the file from the remote device;
storing the second part of the file;
executing the linker/loader program to create a second portion of the combined program from the second part of the file;
storing the second portion of the combined program;
deleting the second part of the file; and
executing the first portion and the second portion of the combined program to execute the plurality of components 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
25 Claims
-
1. A method for receiving and executing a program, the method comprising:
-
storing a linker/loader program; receiving a first part of a file from a remote device, wherein the file comprises a plurality of components of a program execution system and a program, wherein the plurality of components are operable to execute the program; storing the first part of the file; executing the linker/loader program to create a first portion of a combined program from the first part of the file; storing the first portion of the combined program; deleting the first part of the file; receiving a second part of the file from the remote device; storing the second part of the file; executing the linker/loader program to create a second portion of the combined program from the second part of the file; storing the second portion of the combined program; deleting the second part of the file; and executing the first portion and the second portion of the combined program to execute the plurality of components to execute the program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-implemented method for creating and executing a program, the method comprising:
-
generating a file based on a program and one or more execution modules, wherein the program is operable to execute on an embedded device, wherein the one or more execution modules are usable to execute the program, wherein the one or more execution modules comprise a minimal execution system; transmitting the file to the embedded device, wherein the file is transmitted in two or more parts; the embedded device receiving a first of the two or more parts of the file; the embedded device constructing a combined program based on the first of the two or more parts of the file, wherein the combined program includes program code from the program and execution module code for executing the program code; the embedded device deleting the first part of the file; the embedded device receiving a second of the two or more parts of the file; the embedded device constructing the combined program based on the second part of the file; and the embedded device executing the program using the minimal program execution system. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method for receiving and executing a program, the method comprising:
-
receiving a first part of a file, wherein the file comprises a plurality of components of a program execution system and a program; storing the first part of the file in a memory; linking the first part of the file into a combined program; deleting the first part of the file from the memory; receiving a second part of the file; storing the second part of the file in the memory; linking the second part of the file into the combined program; deleting the second part of the file from the memory; executing the combined program to execute the plurality of components to execute the program. - View Dependent Claims (17, 18)
-
-
19. A method for receiving and executing a program, the method comprising:
-
receiving a first part of a file from a remote device, wherein the file comprises a plurality of components of a program execution system and a program; storing the first part of the file in a first memory; creating a first portion of a combined program from the first part of the file; storing the first portion of the combined program in a second memory; deleting the first part of the file from the first memory; receiving a second part of the file from the remote device; storing the second part of the file in the first memory; creating a second portion of the combined program from the second part of the file; storing the second portion of the combined program in the second memory; deleting the second part of the file from the second memory; and executing the first portion and the second portion of the combined program to execute the plurality of components to execute the program. - View Dependent Claims (20, 21)
-
-
22. A method for receiving and executing a program, the method comprising:
-
storing a linker/loader program; receiving a first part of a file from a remote device, wherein the file comprises a plurality of components of a program execution system and a program, wherein the plurality of components are operable to execute the program; storing the first part of the file; executing the linker/loader program to create a first portion of a combined program from the first part of the file; executing the first portion of the combined program to execute one or more of the plurality of components to execute the program; deleting the first part of the file; receiving a second part of the file from the remote device; storing the second part of the file; executing the linker/loader program to create a second portion of the combined program from the second part of the file; and executing the second portion of the combined program to execute one or more of the plurality of components to execute the program. - View Dependent Claims (23, 24, 25)
-
Specification