System and method for improving the manageability and usability of a Java environment
First Claim
1. In a computing environment capable of having a connection to a network, computer readable code readable by a computer system in said environment and embodied on one or more computer-readable media, for installing a Java application on a client machine, comprising:
- a subprocess for automatically retrieving, responsive to an execution request on said client machine, a properties file for a Java application to be installed, wherein said properties file (1) describes said Java application, (2) specifies zero or more executable extensions which are required for executing said Java application, and (3) specifies a run-time environment which is required for executing said Java application;
a subprocess for installing said Java application on said client machine using said properties file; and
a subprocess for automatically installing, by said client machine, one or more dependencies of said Java application, wherein said dependencies comprise said required executable extensions and said required run-time environment, further comprising;
a subprocess for parsing said properties file to locate said dependencies; and
for each of said located dependencies which is not already installed on said client machine, a subprocess for automatically recursively (1) retrieving a properties file for said located dependency, (2) installing said located dependency, and (3) installing any dependencies identified when parsing said retrieved properties file of said located dependencies, provided said identified dependency is not already installed on said client machine.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, system, and computer-readable code for improving the manageability and usability of a Java environment. The advantages of applets and applications are combined, while avoiding particular disadvantages of both, resulting in a technique whereby all Java programs are executed without relying on use of a browser to provide a run-time environment. Techniques for improving the packaging of Java components, including run-time environments and extensions as well as applications, are defined. Dependencies are specified in a manner which enables them to be dynamically located and installed, and enables sharing dependent modules (including run-time environments) among applications. The dependency specification technique ensures that all dependent code will be automatically available at run-time, without requiring a user to perform manual installation. The run-time environment required for an application is specified, and a technique is provided for dynamically changing the run-time that will be used (including the ability to change run-times on a per-program basis), without requiring user intervention.
-
Citations
33 Claims
-
1. In a computing environment capable of having a connection to a network, computer readable code readable by a computer system in said environment and embodied on one or more computer-readable media, for installing a Java application on a client machine, comprising:
-
a subprocess for automatically retrieving, responsive to an execution request on said client machine, a properties file for a Java application to be installed, wherein said properties file (1) describes said Java application, (2) specifies zero or more executable extensions which are required for executing said Java application, and (3) specifies a run-time environment which is required for executing said Java application;
a subprocess for installing said Java application on said client machine using said properties file; and
a subprocess for automatically installing, by said client machine, one or more dependencies of said Java application, wherein said dependencies comprise said required executable extensions and said required run-time environment, further comprising;
a subprocess for parsing said properties file to locate said dependencies; and
for each of said located dependencies which is not already installed on said client machine, a subprocess for automatically recursively (1) retrieving a properties file for said located dependency, (2) installing said located dependency, and (3) installing any dependencies identified when parsing said retrieved properties file of said located dependencies, provided said identified dependency is not already installed on said client machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
a subprocess for revising said properties file for said Java application, wherein said subprocess for automatically retrieving and said subprocess for automatically installing then use said revised properties file.
-
-
3. Computer readable code according to claim 1, wherein said subprocess for automatically installing one or more dependencies further comprises a subprocess for dynamically determining, for at least one of said dependencies, a location from which said at least one dependency is to be installed.
-
4. Computer readable code according to claim 1, further comprising:
-
a subprocess for creating a registry file on said client machine, wherein said created registry file contains entries corresponding to said properties file, said entries being tailored to said client machine; and
a subprocess for using said created registry to construct said run-time environment for said Java application on said client machine.
-
-
5. Computer readable code according to claim 4, further comprising:
-
a subprocess for receiving a request to execute a selected Java application on said client machine;
a subprocess for constructing a proper run-time environment for said selected Java application using its corresponding registry file; and
a subprocess for starting execution of said selected Java application in said constructed environment.
-
-
6. Computer readable code according to claim 5, wherein said subprocess for constructing further comprises:
-
a subprocess for reading said corresponding registry file to determine current dependencies of said Java application, wherein said current dependencies comprise currently-required extensions and a current run-time environment for said Java application;
a subprocess for ensuring that each of said current dependencies of said selected Java application is installed;
a subprocess for setting appropriate environment variables for said current run-time environment; and
a subprocess for setting appropriate environment variables for said currently-required extensions.
-
-
7. Computer readable code according to claim 6, further comprising a subprocess for setting one or more parameters of said selected Java application using values specified in said corresponding registry file.
-
8. Computer readable code according to claim 7, further comprising a subprocess for updating said parameters in said registry file.
-
9. Computer readable code according to claim 4, further comprising:
-
a subprocess for updating said current run-time environment in said registry file; and
a subprocess for updating said currently-required extensions in said registry file.
-
-
10. A system for installing a Java application on a client machine in a computing environment capable of having a connection to a network, comprising:
-
means for automatically retrieving, responsive to an execution request on said client machine, a properties file for a Java application to be installed, wherein said properties file (1) describes said Java application, (2) specifies zero or more executable extensions which are required for executing said Java application, and (3) specifies a run-time environment which is required for executing said Java application;
means for installing said Java application on said client machine using said properties file; and
means for automatically installing, by said client machine, one or more dependencies of said Java application, wherein said dependencies comprise said required executable extensions and said required run-time environment, further comprising;
means for parsing said properties file to locate said dependencies; and
for each of said located dependencies which is not already installed on said client machine, means for automatically recursively (1) retrieving a properties file for said located dependency, (2) installing said located dependency, and (3) installing any dependencies identified when parsing said retrieved properties file of said located dependencies, provided said identified dependency is not already installed on said client machine. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
means for revising said properties file for said Java application, wherein said means for automatically retrieving and said means for automatically installing then use said revised properties file.
-
-
12. The system according to claim 10, wherein said means for automatically installing one or more dependencies further comprises means for dynamically determining, for at least one of said dependencies, a location from which said at least one dependency is to be installed.
-
13. The system according to claim 10, further comprising:
-
means for creating a registry file on said client machine, wherein said created registry file contains entries corresponding to said properties file, said entries being tailored to said client machine; and
means for using said created registry to construct said run-time environment for said Java application on said client machine.
-
-
14. The system according to claim 13, further comprising:
-
means for receiving a request to execute a selected Java application on said client machine;
means for constructing a proper run-time environment for said selected Java application using its corresponding registry file; and
means for starting execution of said selected Java application in said constructed environment.
-
-
15. The system according to claim 14, wherein said means for constructing further comprises:
-
means for reading said corresponding registry file to determine current dependencies of said Java application, wherein said current dependencies comprise currently-required extensions and a current run-time environment for said Java application;
means for ensuring that each of said current dependencies of said selected Java application is installed;
means for setting appropriate environment variables for said current run-time environment; and
means for setting appropriate environment variables for said currently-required extensions.
-
-
16. The system according to claim 15, further comprising means for setting one or more parameters of said selected Java application using values specified in said corresponding registry file.
-
17. The system according to claim 16, further comprising means for updating said parameters in said registry file.
-
18. The system according to claim 13, further comprising:
-
means for updating said current run-time environment in said registry file; and
means for updating said currently-required extensions in said registry file.
-
-
19. A method for installing a Java application on a client machine in a computing environment capable of having a connection to a network, comprising steps of:
-
automatically retrieving, responsive to an execution request on said client machine, a properties file for a Java application to be installed, wherein said properties file (1) describes said Java application, (2) specifies zero or more executable extensions which are required for executing said Java application, and (3) specifies a run-time environment which is required for executing said Java application;
installing said Java application on said client machine using said properties file; and
automatically installing, by said client machine, one or more dependencies of said Java application, wherein said dependencies comprise said required executable extensions and said required run-time environment, further comprising steps of;
parsing said properties file to locate said dependencies; and
for each of said located dependencies which is not already installed on said client machine, automatically recursively (1) retrieving a properties file for said located dependency, (2) installing said located dependency, and (3) installing any dependencies identified when parsing said retrieved properties file of said located dependencies, provided said identified dependency is not already installed on said client machine. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28)
revising said properties file for said Java application, wherein said automatically retrieving step and said automatically installing step then use said revised properties file.
-
-
21. The method according to claims 19, wherein said automatically installing one or more dependencies step further comprises the step of dynamically determining, for at least one of said dependencies, a location from which said at least one dependency is to be installed.
-
22. The method according to claim 19, further comprising the steps of:
-
creating a registry file on said client machine, wherein said created registry file contains entries corresponding to said properties file, said entries being tailored to said client machine; and
using said created registry to construct said run-time environment for said Java application on said client machine.
-
-
23. The method according to claim 19, comprising the steps of:
-
receiving a request to execute a selected Java application on said client machine;
constructing a proper run-time environment for said selected Java application using its corresponding registry file; and
starting execution of said selected Java application in said constructed environment.
-
-
24. The method according to claim 23, wherein said constructing step further comprises the steps of:
-
reading said corresponding registry file to determine current dependencies of said Java application, wherein said current dependencies comprise currently-required extensions and a current run-time environment for said Java application;
ensuring that each of said current dependencies of said selected Java application is installed;
setting appropriate environment variables for said current run-time environment; and
setting appropriate environment variables for said currently-required extensions.
-
-
25. The method according to claim 24, further comprising the step of setting one or more parameters of said selected Java application using values specified in said corresponding registry file.
-
26. The method according to claim 25, further comprising the step of updating said parameters in said registry file.
-
27. The method according to claim 22, further comprising the steps of:
-
updating said current run-time environment in said registry file; and
updating said currently-required extensions in said registry file.
-
-
28. The method according to claim 19, wherein said Java application is a Java applet.
-
29. A method for improving manageability and usability of a Java environment in a computing environment, comprising steps of:
-
storing an identification of one or more dependencies of a Java application, wherein said dependencies comprise a run-time environment, other than a browser, which is required for executing said application and zero or more extensions required for executing said application; and
installing said Java application, wherein said installing step further comprises the step of using said stored identification to automatically locate and install said dependencies of said Java application.
-
-
30. A method of enabling an applet to execute outside a browser, comprising steps of:
-
storing information pertaining to execution of said applet, wherein said information comprises;
(1) an identification of one or more permissible run-time environments in which said applet may be executed, other than said browser; and
(2) an identification of zero or more executable extensions on which said applet is dependent, as well as a corresponding location from which each of said identified executable extensions may be installed; and
installing said applet using said stored information. - View Dependent Claims (31, 32)
ensuring that a selected one of said permissible run-time environments is available; - and
ensuring that each of said identified executable extensions is installed, and installing, from the corresponding location, any of said identified executable extensions that are not already installed.
-
-
32. The method of enabling an applet to execute outside a browser according to claim 31, further comprising the step of executing said installed applet using said selected one of said permissible run-time environments and said installed executable extensions.
-
33. A method for executing a Java application without using a browser on a client machine in a computing environment capable of having a connection to a network, comprising steps of:
-
requesting, by a user, execution of a selected Java application on said client machine;
constructing, by said client machine responsive to said request, a run-time environment for said selected Java application using information retrieved from a registry file, wherein said registry file contains entries specifying values for properties of said selected Java application, said values of said entries being tailored to said client machine, further comprising steps of;
setting environment data using environment data values from said registry file;
automatically installing one or more dependencies of said selected Java application using dependency data values from said registry file, further comprising steps of;
for each of said dependencies which is not already installed on said client machine, automatically recursively (1) retrieving a properties file for said dependency, (2) installing said dependency, (3) constructing a run-time environment for said dependency using information retrieved from its registry file, and (4) installing any dependencies identified in said retrieved properties file of said dependencies, provided said identified dependency is not already installed on said client machine;
automatically locating a run-time registry file for a current run-time specified in said registry file of said selected Java application;
setting environment data using environment data values from said located run-time registry file; and
invoking a virtual-machine independent interface for calling native libraries of code in said run-time environment; and
executing said selected Java application in said constructed run-time environment.
-
Specification