IP Library Granted Patent US 7,080,373
Granted Patent B2
US 7,080,373 · App. 09/800,935 · Granted Jul 18, 2006

Method and device for creating and using pre-internalized program files

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,080,373
App. No.
09/800,935
Granted
Jul 18, 2006
Kind
B2
Abstract

A device ( 45 ) receives new program files ( 46 ) and uses pre-internalized images to avoid having to internalize a program file every time that program execution occurs. In one embodiment, a software Virtual Machine ( 50 ) in the device functions to implement the pre-internalization. Once the program files are pre-internalized to create images that are stored in a permanent memory ( 56 ) of the device, the images may subsequently be executed without having to perform a pre-internalization operation. Additionally, use of dynamic memory ( 52 ) is reduced in connection with subsequent program execution and execution time of new program files is reduced.

Claims (36)

1. 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 any further internalization of the selected program file prior to execution by any subsequent invocation of the virtual machine;

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 a permanent memory, thereby avoiding subsequent internalization of the selected program file for all subsequent program executions;

and 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.

2. The process of claim 1 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.

3. The process of claim 1 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.

4. The process of claim 1 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.

5. The process of claim 4 wherein selectively entering the pre-internalization mode is performed in response to a user request.

6. The process of claim 1 wherein the first device is a portable device.

7. The process of claim 6 wherein the portable device is selected from a group comprising a telephone, pager, internet appliance, personal digital assistant (PDA), camcorder, portable television, and camera.

8. A device capable of executing a virtual machine having a pre-internalization mode of operation, comprising:

a processor for executing instructions;

a permanent memory coupled to the processor for providing instructions and data to the processor, the permanent 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 any further internalization of the selected program file prior to execution by any subsequent invocation of the virtual machine;

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, wherein the second set of one or more instructions is executed if the pre-internalized image of the selected program file has not been created;

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, wherein the third set of one or more instructions corresponds to the pre-internalization mode of operation; 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 the permanent memory, wherein the fourth set of one or more instructions correspond to the pre-internalization mode of operation.

9. The device of claim 8 , 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.

10. The device of claim 8 , 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 permanent 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.

11. The device of claim 10 further comprising:

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.

12. The device of claim 8 , 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 permanent memory.

13. The device of claim 12 , 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 permanent memory is performed in response to the user request.

14. The device of claim 8 , wherein the device is a portable device.

15. The device of claim 14 , wherein the portable device is selected from a group comprising a telephone, pager, internet appliance, personal digital assistant (PDA), camcorder, portable television, and camera.

Assignments (14)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: NORTH STAR INNOVATIONS INC.
Reel/Frame 037694/0264 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0225 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →