Dynamic JAVA™ class selection and download based on changeable attributes
First Claim
1. Computer readable code embodied on one or more media which are readable by a computer system, for dynamically selecting a Java class for downloading based on current values of changeable attributes, comprising:
- a subprocess for receiving a request for executing a particular named Java class during execution of a Java application on a client device;
a subprocess for obtaining a set of currently-applicable attribute values, wherein the attribute values represent one or more of;
(1) a network connection type with which the client device is connected across a network to a server device executing a Java class server;
(2) preferences of a user of the Java application;
(3) hardware of the client device;
(4) software of the client device;
(5) authorization privileges of the user;
(6) status characteristics of the user; and
(7) an applicable administrative policy;
a subprocess for comparing the currently-applicable attribute values to a set of predefined predicate records for the named Java class to determine if a particular optimized version of the named Java class is available which is specifically adapted to the currently-applicable attribute values;
a subprocess for downloading, by the Java class server, to the client device for execution by the Java application, either (1) the particular optimized version of the named Java class or (2) a default version of the named Java class, depending on an outcome of the subprocess for comparing; and
a subprocess for transparently executing the downloaded particular optimized version or the default version, as appropriate, during execution of the Java application, as if the named Java class was being executed.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, system, and computer-readable code with which a program component can be dynamically selected for downloading, based on current values of one or more changeable attributes. Multiple versions of a program component are available, and a specific version is dynamically selected for downloading based on current attribute values. Attribute values may represent a user'"'"'s authorization privileges, current working environment, preferences, network connection type, status, etc. In this manner, software can be optimized for particular users or groups of users, or particular environments of hardware and/or software, while still providing applications that are usable by a wide range of users in a wide range of operating environments. In another aspect, this dynamic selection based on attributes can be used to select a version of a component for remote execution, instead of for downloading. The dynamic selection process may occur on a server in the network, or on the client'"'"'s local machine. In the latter case, selected component versions may be loaded from local storage instead of downloading them from a server. Administrative policy information based on the user'"'"'s identity and/or group membership may be used to generate the current attribute values, reflecting one or more of: a user'"'"'s current working environment, authorization privileges, preferences, network connection type, and status.
-
Citations
4 Claims
-
1. Computer readable code embodied on one or more media which are readable by a computer system, for dynamically selecting a Java class for downloading based on current values of changeable attributes, comprising:
-
a subprocess for receiving a request for executing a particular named Java class during execution of a Java application on a client device;
a subprocess for obtaining a set of currently-applicable attribute values, wherein the attribute values represent one or more of;
(1) a network connection type with which the client device is connected across a network to a server device executing a Java class server;
(2) preferences of a user of the Java application;
(3) hardware of the client device;
(4) software of the client device;
(5) authorization privileges of the user;
(6) status characteristics of the user; and
(7) an applicable administrative policy;
a subprocess for comparing the currently-applicable attribute values to a set of predefined predicate records for the named Java class to determine if a particular optimized version of the named Java class is available which is specifically adapted to the currently-applicable attribute values;
a subprocess for downloading, by the Java class server, to the client device for execution by the Java application, either (1) the particular optimized version of the named Java class or (2) a default version of the named Java class, depending on an outcome of the subprocess for comparing; and
a subprocess for transparently executing the downloaded particular optimized version or the default version, as appropriate, during execution of the Java application, as if the named Java class was being executed. - View Dependent Claims (2)
-
-
3. A system for dynamically selecting a Java class for downloading based on current values of changeable attributes, comprising:
-
means for receiving a request for executing a particular named Java class during execution of a Java application on a client device;
means for obtaining a set of currently-applicable attribute values, wherein the attribute values represent one or more of;
(1) a network connection type with which the client device is connected across a network to a server device executing a Java class server;
(2) preferences of a user of the Java application;
(3) hardware of the client device;
(4) software of the client device;
(5) authorization privileges of the user;
(6) status characteristics of the user; and
(7) an applicable administrative policy;
means for comparing the currently-applicable attribute values to a set of predefined predicate records for the named Java class to determine if a particular optimized version of the named Java class is available which is specifically adapted to the currently-applicable attribute values;
means for downloading, by the Java class server, to the client device for execution by the Java application, either (1) the particular optimized version of the named Java class or (2) a default version of the named Java class, depending on an outcome of the means for comparing; and
means for transparently executing the downloaded particular optimized version or the default version, as appropriate, during execution of the Java application, as if the named Java class was being executed.
-
-
4. A method of dynamically selecting a Java class for downloading based on current values of changeable attributes, comprising steps of:
-
receiving a request for executing a particular named Java class during execution of a Java application on a client device;
obtaining a set of currently-applicable attribute values, wherein the attribute values represent one or more of;
(1) a network connection type with which the client device is connected across a network to a server device executing a Java class server;
(2) preferences of a user of the Java application;
(3) hardware of the client device;
(4) software of the client device;
(5) authorization privileges of the user;
(6) status characteristics of the user; and
(7) an applicable administrative policy;
comparing the currently-applicable attribute values to a set of predefined predicate records for the named Java class to determine if a particular optimized version of the named Java class is available which is specifically adapted to the currently-applicable attribute values;
downloading, by the Java class server, to the client device for execution by the Java application, either (1) the particular optimized version of the named Java class or (2) a default version of the named Java class, depending on an outcome of the comparing step; and
transparently executing the downloaded particular optimized version or the default version, as appropriate, during execution of the Java application, as if the named Java class was being executed.
-
Specification