Claims
- 1. A mobile communications device runtime system for executing an application, comprising:
a pre-linked module that includes classes that have been loaded and linked, said pre-linked module having information of closed set loaded and linked class files; an application operative on the mobile communications device, wherein the application uses the classes during the application's execution, said application having access to the pre-linked module during execution of the application, whereby need for the application to repeat loading and linking of the classes is eliminated during the execution of the application due to the use of the pre-linked module.
- 2. The system of claim 1 further comprising:
a host system that generates the pre-linked module; a communication mechanism through which the pre-linked module is provided to a target system, wherein the application operates upon the target system.
- 3. The system of claim 2 wherein the target system includes target-linking means for target-linking the pre-linked module with other modules for use by the application.
- 4. The system of claim 1 wherein the pre-linked module substantially optimizes commands, symbolic information, and code.
- 5. The system of claim 1 wherein the class files contain the classes and comprise symbolic information.
- 6. The system of claim 1 wherein the pre-linked module is verified.
- 7. The system of claim 1 wherein the pre-linked module comprises a plurality of modules that contain all classes needed by the application.
- 8. The system of claim 1 wherein the pre-linked module comprises a plurality of modules, said modules being dynamically linked while substantially minimizing number of symbolic references.
- 9. The system of claim 1 wherein the application is operative on a device, wherein the pre-linked module is directly executable from storage on the device.
- 10. The system of claim 9 wherein the pre-linked module provides re-use of loading and linking steps in executions of multiple applications operating on the device.
- 11. The system of claim 1 wherein the pre-linked module is generated prior to execution of the application.
- 12. The system of claim 1 wherein the pre-linked module is configured based upon code set up and execution time.
- 13. The system of claim 1 wherein the application operates upon a bandwidth-limited device.
- 14. The system of claim 1 wherein the application operates upon a mobile data device.
- 15. The system of claim 1 wherein the application operates upon a personal data assistant.
- 16. The system of claim 1 wherein the application operates upon an appliance.
- 17. The system of claim 1 wherein the application operates upon a thin client application.
- 18. The system of claim 1 wherein the classes comprise Java-based classes.
- 19. A method of host-linking classes at a host system for use by an application that operates on a target system, comprising:
loading at the host system at least several classes; linking at the host system the loaded classes; and forming at least one host-linked module from the linked classes, wherein the host-linked module is made available for use by the application operating on the target system.
- 20. The method of claim 19 wherein a services application provides at least one of the classes to be used in said loading step at the host system.
- 21. The method of claim 19 wherein a software library provides at least one of the classes to be used in said loading step at the host system.
- 22. The method of claim 19 wherein a Java application provides at least one of the classes to be used in said loading step at the host system.
- 23. The method of claim 19 wherein the linking of the loaded classes at the host system substantially optimizes commands, symbolic information, and code.
- 24. The method of claim 19 wherein the class files comprise symbolic information.
- 25. The method of claim 19 further comprising the step of:
verifying at the host system the host-linked module using sanity checks.
- 26. The method of claim 19 further comprising the step of:
verifying at the host system the host-linked module using sanity checks once prior to multiple executions of the host-linked module on the target system.
- 27. The method of claim 19 wherein the host-linked module comprises a plurality of modules that contain all classes needed by the application.
- 28. The method of claim 19 wherein the host-linked module comprises a plurality of modules, said modules being dynamically linked while substantially minimizing number of symbolic references.
- 29. The method of claim 19 wherein the host-linked module is directly executable from storage on the target system.
- 30. The method of claim 19 wherein the host-linked module comprises information of closed set loaded and linked class files.
- 31. The method of claim 19 wherein the host-linked module provides re-use of the loading and the linking steps in multiple executions of the application.
- 32. The method of claim 31 wherein the host system resolves module references during generation of the host-linked module.
- 33. The method of claim 32 wherein the host-linked module being provided to the target system eliminates need for the target system to resolve classes associated with the host-linked module.
- 34. The method of claim 19 wherein the host-linked module provides re-use of the loading and the linking steps in multiple executions of the application and of a second application.
- 35. The method of claim 19 wherein the host-linked module is generated prior to execution of the application.
- 36. The method of claim 19 wherein the host-linked module is configured based upon code communication to the target system.
- 37. The method of claim 19 wherein the host-linked module is configured based upon code set up and execution time.
- 38. The method of claim 19 further comprising the step of:
providing the host-linked module to the target system for use by the application.
- 39. The method of claim 19 further comprising the step of:
transmitting the host-linked module from the host system to the target system over a mobile communication network for use by the application.
- 40. The method of claim 19 further comprising the step of:
dividing processing machine runtime between the host system and the target system by forming at the host system the host-linked module and by target-linking at the target system the host-linked module into at least one target-linked module for use by the application.
- 41. The method of claim 19 further comprising the step of:
target-linking at the target system the host-linked module with other modules for use by the application.
- 42. The method of claim 41 further comprising the step of:
providing a table of exported identifiers for use in the linking of the loaded classes at the host system.
- 43. The method of claim 19 wherein the target system comprises a bandwidth-limited device.
- 44. The method of claim 19 wherein the target system comprises a processing machine for executing the application.
- 45. The method of claim 19 wherein the target system comprises a virtual machine for executing the application.
- 46. The method of claim 19 wherein the target system comprises a mobile data device.
- 47. The method of claim 19 wherein the target system comprises a personal data assistant.
- 48. The method of claim 19 wherein the target system comprises an appliance.
- 49. The method of claim 19 wherein the target system comprises a thin client application.
- 50. The method of claim 19 wherein the target system comprises a virtual machine code processor to process the host-linked module.
- 51. The method of claim 19 wherein the target system comprises a hardware processing machine runtime to process the host-linked module.
- 52. The method of claim 19 wherein the classes comprise Java-based classes.
- 53. Computer software stored on a computer readable media, the computer software comprising program code for carrying out a method according to claim 19.
- 54. A host-linked module produced in accordance with the method of claim 19.
- 55. A method of handling a host-linked module at a target system, said host-linked module having been generated by a host system through loading at least several classes, said host system linking at the host system the loaded classes and forming at least one host-linked module from the linked classes, said method comprising:
receiving the host-linked module at the target system from the host system; determining whether any additional classes are to be linked with the host-linked module, if additional classes are to be linked, then linking the host-linked module with the additional classes to form a target-linked module; and allowing the target-linked module to be used by an application operating on the target system.
- 56. The method of claim 55 wherein the host-linked module being provided to the target system eliminates the target system from resolving classes associated with the host-linked module.
- 57. The method of claim 55 wherein the host-linked module being provided to the target system eliminates need for the target system to resolve classes associated with the host-linked module.
- 58. The method of claim 55 wherein the target system comprises a bandwidth-limited device.
- 59. The method of claim 55 wherein the target system comprises a processing machine for executing the application.
- 60. The method of claim 55 wherein the target system comprises a virtual machine for executing the application.
- 61. The method of claim 55 wherein the target system comprises a mobile data device.
- 62. The method of claim 55 wherein the target system comprises a personal data assistant.
- 63. The method of claim 55 wherein the target system comprises an appliance.
- 64. The method of claim 55 wherein the target system comprises a thin client application.
- 65. The method of claim 55 wherein the target system comprises a virtual machine code processor to process the host-linked module.
- 66. The method of claim 55 wherein the target system comprises a hardware processing machine runtime to process the host-linked module.
- 67. The method of claim 55 wherein the classes comprise Java-based classes.
- 68. Computer software stored on a computer readable media, the computer software comprising program code for carrying out a method according to claim 55.
- 69. The method of claim 55 wherein the host-linked module was verified at the host system using sanity checks once prior to multiple executions on the target system.
- 70. The method of claim 55 wherein the host-linked module comprises a plurality of modules that contain all classes needed by the application.
- 71. The method of claim 55 wherein the host-linked module comprises a plurality of modules, said modules having been dynamically linked while substantially minimizing number of symbolic references.
- 72. The method of claim 55 wherein the host-linked module is directly executable from storage on the target system.
- 73. The method of claim 55 wherein the host-linked module provides re-use of the loading and the linking steps in multiple executions of the application.
- 74. The method of claim 73 wherein the host system resolves module references during generation of the host-linked module.
- 75. The method of claim 55 wherein the host-linked module provides re-use of the loading and the linking steps in multiple executions of the application and of a second application.
- 76. The method of claim 55 wherein the host-linked module is generated prior to execution of the application.
- 77. The method of claim 55 wherein the host-linked module is configured based upon code communication to the target system.
- 78. The method of claim 55 wherein the host-linked module is configured based upon code set up and execution time.
- 79. The method of claim 55 further comprising the step of:
receiving the host-linked module from the host system at the target system over a mobile communication network.
- 80. The method of claim 55 further comprising the step of:
dividing processing machine runtime between the host system and the target system by forming the host-linked module at the host system and by target-linking at the target system the host-linked module into at least one target-linked module for use by the application.
- 81. A module-based runtime system for executing an application, comprising:
a pre-linked module that includes classes that have been loaded and linked, said pre-linked module having information of closed set loaded and linked class files; an application that uses the classes during the application's execution, said application having access to the pre-linked module for use during execution of the application, whereby need for the application to repeat loading and linking of the classes is eliminated during the execution of the application due to the use of the pre-linked module.
- 82. A host-linked module for use by an application that operates on a target system, said host-linked module being generated through a process comprising the steps of:
loading at the host system at least several classes; linking at the host system the loaded classes; and forming at least one host-linked module from the linked classes, wherein the host-linked module is made available for use by the application operating on the target system.
- 83. A computer data signal embodied in a carrier wave comprising a host-linked module, said host-linked module comprising classes that have been loaded and linked, said host-linked module having information of closed set loaded and linked class files, said host-linked module for use by an application that uses the classes during the application's execution, said application having access to the host-linked module during execution of the application, whereby need for the application to repeat loading and linking of the classes is eliminated during the execution of the application due to the use of the host-linked module.
RELATED APPLICATION
[0001] This application claims priority to U.S. provisional application Serial No. 60/294,331 entitled “Method Of Splitting A Processing Machine Runtime Between A Host System And A Target System” filed May 30, 2001. By this reference, the full disclosure, including the drawings, of U.S. provisional application Serial No. 60/294,331 is incorporated herein.
PCT Information
Filing Document |
Filing Date |
Country |
Kind |
PCT/CA02/00799 |
5/30/2002 |
WO |
|