Claims
- 1. A method for pre-internalizing program files, comprising:
receiving a program file; pre-internalizing the program file into a native memory structure of a virtual machine to create a reusable executable image of the program file; and storing the reusable executable image in a memory, wherein the reusable executable image is capable of being executed by the virtual machine without being internalized prior to execution.
- 2. The method of claim 1 wherein pre-internalizing is performed by the virtual machine.
- 3. The method of claim 1 wherein pre-internalizing is performed by a first device.
- 4. The method of claim 3 wherein the virtual machine executes on the first device.
- 5. The method of claim 4 wherein the first device is a portable device.
- 6. The method of claim 5 wherein the portable device is selected from a group comprising a telephone, pager, internet appliance, personal digital assistant (PDA), camcorder, portable television, and camera.
- 7. The method of claim 3 wherein the reusable executable image is stored in the memory of a second device.
- 8. The method of claim 7 wherein the second device natively executes the virtual machine.
- 9. The method of claim 8 wherein the first device natively executes the virtual machine.
- 10. The method of claim 9 wherein each of the first and second devices is a portable device.
- 11. The method of claim 8 wherein the second device is a portable device.
- 12. The method of claim 7 wherein the first device does not natively execute the virtual machine.
- 13. The method of claim 1 further comprising:
changing memory location of the reusable executable image and updating memory addresses within the reusable executable image to reflect a new memory position.
- 14. The method of claim 1 further comprising:
moving the reusable executable image to a different location within the memory to create a second reusable executable image.
- 15. The method of claim 14 further comprising:
updating memory addresses within the second reusable executable image.
- 16. The method of claim 1 further comprising:
removing the reusable executable image from the memory.
- 17. The method of claim 1 wherein the reusable executable image is capable of being executed directly from the memory.
- 18. The method of claim 1 wherein after storing the reusable executable image, the reusable executable image may be executed without referencing the program file.
- 19. A process for operating a virtual machine having a normal mode of operation and a pre-internalization mode of operation, comprising:
selecting a program file from a set of available program files to identify a selected program file; determining whether a reusable pre-internalized image of the selected program file has been created, wherein the reusable pre-internalized image is capable of being executed without subsequently internalizing the selected program file prior to execution; if a reusable pre-internalized image of the selected program file has not been created, selectively operating the virtual machine in the pre-internalization mode, comprising:
creating the reusable pre-internalized image of the selected program file; and storing the reusable pre-internalized image of the selected program file into memory.
- 20. The process of claim 19 further comprising:
if a reusable pre-internalized image of the selected program file has not been created, selectively operating the virtual machine in the pre-internalization mode is performed in response to a user request.
- 21. The process of claim 19 wherein if the reusable pre-internalized image of the selected program file has not been created, automatically operating the virtual machine in the pre-internalization mode.
- 22. The process of claim 19 wherein the virtual machine executes within a first device and the process further comprises:
if the reusable pre-internalized image of the selected program file is available within the first device, executing the reusable pre-internalized image of the selected program file without internalizing the reusable pre-internalized image of the selected program file prior to execution, and if the reusable pre-internalized image of the selected program file is available within a second device, separate from the first device, entering the pre-internalization mode, copying the reusable pre-internalized image of the selected program file from the second device to the first device, and updating memory addresses within the reusable pre-internalized image of the selected program file.
- 23. The process of claim 19 further comprising:
executing the virtual machine within a first device; and if the reusable pre-internalized image of the selected program file is available within the first device, selectively entering the pre-internalization mode and removing the reusable pre-internalized image of the selected program file.
- 24. The process of claim 23 wherein selectively entering the pre-internalization mode is performed in response to a user request.
- 25. The process of claim 19 wherein the virtual machine executes within a device.
- 26. The process of claim 25 wherein the device is a portable device.
- 27. A device comprising:
a processor for executing instructions; a first memory coupled to the processor for providing instructions and data to the processor, the first memory comprising:
a first set of one or more instructions, the first set of one or more instructions when executed by the processor implements receipt of a program file; a second set of one or more instructions, the second set of one or more instructions when executed by the processor implements pre-internalizing the program file into a native memory structure of a virtual machine to create a reusable executable image of the program file; and a third set of one or more instructions, the third set of one or more instructions when executed by the processor implements storing the reusable executable image, wherein the reusable executable image is capable of being executed by the virtual machine without being internalized prior to execution.
- 28. The device of claim 27 wherein the first memory comprises the virtual machine and the virtual machine comprises the second set of one or more instructions.
- 29. The device of claim 27 further comprising:
a second memory which may be contained either within or external to the device, the second memory storing the reusable executable image.
- 30. The device of claim 29 wherein the device is a portable device.
- 31. The device of claim 30 wherein the portable device is selected from a group consisting of a telephone, pager, internet appliance, personal digital assistant (PDA), camcorder, portable television, and camera.
- 32. The device of claim 27 further comprising a second memory wherein the second memory is contained within a second device external to the first device, the second device capable of executing the virtual machine.
- 33. The device of claim 32 wherein the second device is a portable device.
- 34. The device of claim 33 wherein the portable device is selected from a group consisting of a telephone, pager, internet appliance, personal digital assistant (PDA), camcorder, portable television, and camera.
- 35. The device of claim 27 further comprising a second memory either contained within the device or external to the device and wherein one of the first memory or the second memory comprises a fourth plurality of instructions, the fourth set of one or more instructions updating a memory address within the reusable executable image when executed by the processor.
- 36. The device of claim 27 further comprising a second memory either contained within the device or external to the device and wherein one of the first memory or the second memory comprises:
a fourth set of one or more instructions, the fourth set of one or more instructions when executed by the processor moving the reusable executable image to a different location within the second memory; and a fifth set of one or more instructions, the fifth set of one or more instructions when executed by the processor updating memory address within the reusable executable image.
- 37. A device capable of executing a virtual machine comprising:
a processor for executing instructions; and a memory coupled to the processor for providing instructions and data to the processor, the memory comprising:
a first set of one or more instructions, the first set of one or more instructions when executed by the processor storing a reusable executable image in the memory, wherein the reusable executable image was previously created by pre-internalizing a program file into a native memory structure of the virtual machine; and the virtual machine wherein the virtual machine is capable of executing the reusable executable image without internalizing the reusable executable image prior to execution.
- 38. The device of claim 37 wherein the memory further comprises:
a second set of one or more instructions, the second set of one or more instructions when executed by the processor moving the reusable executable image to a different location within the memory; and a third set of one or more instructions, the third set of one or more instructions when executed by the processor updating memory addresses within the reusable executable image.
- 39. The device of claim 37 wherein the first plurality of instructions when executed by the processor also stores the reusable executable image into a first memory location within the memory, and the virtual machine executes the reusable executable image directly from the first memory location.
- 40. The device of claim 37 wherein the memory further comprises:
a second set of one or more instructions, the second set of one or more instructions when executed by the processor removing the reusable executable image from the memory.
- 41. The device of claim 37 wherein the virtual machine is capable of executing the reusable executable image without referencing the program file.
- 42. The device of claim 37 wherein the device is a portable device selected from a group comprising a telephone, pager, internet appliance, personal digital assistant (PDA), camcorder, portable television, and camera.
- 43. The device of claim 37 wherein the device is a server.
- 44. A device capable of executing a virtual machine having a normal mode of operation and a pre-internalization mode of operation, comprising:
a processor for executing instructions; a memory coupled to the processor for providing instructions and data to the processor, the memory comprising the virtual machine, the virtual machine comprising:
a first set of one or more instructions, the first set of one or more instructions when executed determining whether a pre-internalized image of a selected program file has been created, wherein the pre-internalized image of the selected program file is capable of being executed without subsequently internalizing the selected program file prior to execution; a second set of one or more instructions, the second set of one or more instructions when executed by the processor operating the virtual machine in the pre-internalization mode; a third set of one or more instructions, the third set of one or more instructions when executed by the processor creating the pre-internalized image of the selected program file; and a fourth set of one or more instructions, the fourth set of one or more instructions when executed by the processor storing the pre-internalized image of the selected program file into memory, wherein the third set of one or more instructions and the fourth set of one or more instructions correspond to the pre-internalization mode of operation.
- 45. The device of claim 44, wherein the virtual machine further comprises:
a fifth set of one or more instructions, the fifth set of one or more instructions when executed by the processor processing a user request, wherein in response to the user request, the virtual machine operates in pre-internalization mode.
- 46. The device of claim 44, wherein the virtual machine further comprises:
a fifth set of one or more instructions, the fifth set of one or more instructions when executed by the processor transferring the pre-internalized image of the selected program file from a second memory; and a sixth set of one or more instructions, the sixth set of one or more instructions when executed by the processor updating memory addresses within the pre-internalized image of the selected program file, wherein execution of the fifth set of one or more instructions and the sixth set of one or more instructions corresponds to the pre-internalization mode of operation.
- 47. The device of claim 44, wherein the virtual machine further comprises:
a fifth set of one or more instructions, the fifth set of one or more instructions when executed by the processor removing the pre-internalized image of the selected program file from the memory.
- 48. The device of claim 47, wherein the virtual machine further comprises:
a sixth set of one or more instructions, the sixth set of one or more instructions when executed by the processor processing a user request, wherein removing the pre-internalized image of the selected program file from the memory is performed in response to the user request.
- 49. The device of claim 44, wherein the device is a portable device.
- 50. The device of claim 49, wherein the portable device is selected from a group comprising a telephone, pager, internet appliance, personal digital assistant (PDA), camcorder, portable television, and camera.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application is related to pending U.S. patent application Ser. No. 09/507,910 by Iris Plaxton entitled “Method For Processing Program Files” and assigned to the assignee hereof.