Selection of optimal execution environment for software applications
First Claim
1. A method of executing an application on a data processing system having a processor and at least one storage device connected to the processor, the method comprising:
- interpreting byte codes of an application by a virtual machine of the data processing system, the application being of a designated type, the virtual machine being stored on the at least one storage device to enable execution of the designated type by the processor independently of a kind of the processor and a kind of operating system software of the data processing system, the data processing system having a plurality of runtime environments for the designated type, each runtime environment including instructions stored on the least one storage device for execution by the processor to implement the virtual machine on the data processing system, the storage device having stored thereon a certain program for controlling the processor to select one of the runtime environments for the application, and the processor being operative with the certain program to execute the certain program for performing;
a) parsing files of the data processing system'"'"'s at least one storage device and retrieving information from the parsed files, the retrieved information being indicative of a set of compatible execution environments, each such compatible execution environment being suitable for executing the application;
b) searching the information retrieved from the parsed files of the data processing system'"'"'s at least one storage device to locate any compatible execution environments installed on the data processing system;
c) responsive to locating at least one compatible execution environment installed on the data processing system, selecting a compatible execution environment from the located execution environments and executing the application within the selected execution environment; and
d) responsive to failing to locate a compatible execution environment, generating a user detectable alert, the retrieving of the compatible execution environment information in a) being further characterized as retrieving prioritized execution environment information, and the selecting an execution environment in c) being further characterized as selecting, from the set of located execution environments, the execution environment having the highest priority, and the searching in b) comprising searching within a set of directories specified in a PATH variable of the data processing system, and the retrieving information in a) comprising retrieving a list of compatible runtime environments for the designated type from a manifest file of an archive associated with the application and from a network launch protocol file associated with the application.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for selecting a compatible environment for executing an application on a data processing system that has two or more execution environments installed includes retrieving information that indicates a set of execution environments that are compatible with a particular application. The system'"'"'s files are searched to find one or more of the compatible environments on the system. If multiple compatible execution environments are found, one of the execution environments is selected for executing the application. If no compatible environment is found, an alert is issued. The compatible execution environment information may be a prioritized list of execution environments. In such a case, the highest priority execution environment found on the system is selected. In one embodiment, the application is a Java® application and the execution environments comprise Java® runtime environments. The compatible execution environments may be provided via a JAR file manifest or via a JNLP file.
-
Citations
11 Claims
-
1. A method of executing an application on a data processing system having a processor and at least one storage device connected to the processor, the method comprising:
-
interpreting byte codes of an application by a virtual machine of the data processing system, the application being of a designated type, the virtual machine being stored on the at least one storage device to enable execution of the designated type by the processor independently of a kind of the processor and a kind of operating system software of the data processing system, the data processing system having a plurality of runtime environments for the designated type, each runtime environment including instructions stored on the least one storage device for execution by the processor to implement the virtual machine on the data processing system, the storage device having stored thereon a certain program for controlling the processor to select one of the runtime environments for the application, and the processor being operative with the certain program to execute the certain program for performing; a) parsing files of the data processing system'"'"'s at least one storage device and retrieving information from the parsed files, the retrieved information being indicative of a set of compatible execution environments, each such compatible execution environment being suitable for executing the application; b) searching the information retrieved from the parsed files of the data processing system'"'"'s at least one storage device to locate any compatible execution environments installed on the data processing system; c) responsive to locating at least one compatible execution environment installed on the data processing system, selecting a compatible execution environment from the located execution environments and executing the application within the selected execution environment; and d) responsive to failing to locate a compatible execution environment, generating a user detectable alert, the retrieving of the compatible execution environment information in a) being further characterized as retrieving prioritized execution environment information, and the selecting an execution environment in c) being further characterized as selecting, from the set of located execution environments, the execution environment having the highest priority, and the searching in b) comprising searching within a set of directories specified in a PATH variable of the data processing system, and the retrieving information in a) comprising retrieving a list of compatible runtime environments for the designated type from a manifest file of an archive associated with the application and from a network launch protocol file associated with the application. - View Dependent Claims (2, 3)
-
-
4. A data processing system comprising:
-
a processor; and at least one storage device connected to the processor, the at least one storage device having stored thereon an operating system and a virtual machine program for controlling the processor, and the processor being operative with the virtual machine program and the operating system to execute the virtual machine program for performing; interpreting byte codes of an application, the application being of a designated type, the virtual machine enabling execution of the designated type by the processor independently of a kind of the processor and a kind of the operating system software of the data processing system, the data processing system having a plurality of runtime environments for the designated type, each runtime environment including instructions stored on the least one storage device for execution by the processor to implement the virtual machine on the data processing system, the storage device having stored thereon a certain program for controlling the processor to select one of the runtime environments for the application, and the processor being operative with the certain program to execute the certain program for performing; a) parsing files of the data processing system'"'"'s at least one storage device and retrieving information from the parsed files, the retrieved information being indicative of a set of compatible execution environments, each such compatible execution environment being suitable for executing the application; b) searching the information retrieved from the parsed files of the data processing system'"'"'s at least one storage device to locate any compatible execution environments installed on the data processing system; c) responsive to locating at least one compatible execution environment installed on the data processing system, selecting a compatible execution environment from the located execution environments and executing the application within the selected execution environment; and d) responsive to failing to locate a compatible execution environment, generating a user detectable alert, the retrieving of the compatible execution environment information in a) being further characterized as retrieving prioritized execution environment information, and the selecting an execution environment in c) being further characterized as selecting, from the set of located execution environments, the execution environment having the highest priority, and the searching in b) comprising searching within a set of directories specified in a PATH variable of the data processing system, and the retrieving information in a) comprising retrieving a list of compatible runtime environments for the designated type from a manifest file of an archive associated with the application and from a network launch protocol file associated with the application. - View Dependent Claims (5, 6, 7)
-
-
8. A computer program product for selecting a runtime environment in a data processing system having at least one storage device, the at least one storage device having stored thereon an operating system and a virtual machine program for controlling a processor of the data processing system, and the processor being operative with the virtual machine program and the operating system to execute the virtual machine program for interpreting byte codes of an application, the application being of a designated type, the virtual machine enabling execution of the designated type by the processor independently of a kind of the processor and a kind of the operating system software of the data processing system, the data processing system having a plurality of runtime environments for the designated type, each runtime environment including instructions stored on the least one storage device for execution by the processor to implement the virtual machine on the data processing system, the computer program product including a computer readable medium having instructions stored thereon for execution by the processor of the data processing system, the instructions, when executed by the data processing system, causing the computer to implement a method for selecting a runtime environment comprising:
-
a) parsing files of the data processing system'"'"'s at least one storage device and retrieving information from the parsed files, the retrieved information being indicative of a set of compatible execution environments, each such compatible excution environment being suitable for executing the application; b) searching the information retrieved from the parsed files of the data processing system'"'"'s at least one storage device to locate any compatible execution environments installed on the system; c) responsive to locating at least one compatible execution environment installed on the data processing system, selecting a compatible execution environment from the located execution environments and executing the application within the selected execution environment; and d) responsive to failing to locate a compatible execution environment, generating a user detectable alert, the retrieving of the compatible execution environment information in a) being further characterized as retrieving prioritized execution environment information, and the selecting an execution environment in c) being further characterized as selecting, from the set of located execution environments, the execution environment having the highest priority, and the searching in b) comprising searching within a set of directories specified in a PATH variable of the data processing system, and the retrieving information in a) comprising retrieving a list of compatible runtime environments for the designated type from a manifest file of an archive associated with the application and from a network launch protocol file associated with the application. - View Dependent Claims (9, 10, 11)
-
Specification