System and method for resolving symbolic references to externally located program files
First Claim
1. A program interpreting method performed by a first computer for resoling symbolic references comprising the steps of:
- a) while executing a first method, upon encountering an unresolved symbolic reference to a second method, determining if said unresolved symbolic reference in said first method references said second method in an object class locally stored on said first computer;
b) if the determination in step (a) is positive, utilizing a bootstrap class loader to load said object class which contains the method referenced by said symbolic reference in said first method; and
c) if the determination is step (a) is negative,c1) creating an application specific class loader;
c2) loading an object class from a remotely located computer that contains said second method referenced by said symbolic reference;
c3) modifying said loaded second method to reference said application specific class loader created in step (c1); and
c4) using said application specific class loader to load object classes that contain methods referenced by symbolic references in said loaded second method;
said step (c1) including embedding location information in said application specific class loader, said location information identifying said remotely located computer; and
said step (c4) including searching said remotely located computer identified by said location information embedded in said application specific class loader to locate a respective object class associated with each of said symbolic references in said loaded second method.
2 Assignments
0 Petitions
Accused Products
Abstract
When an interpreter on a client computer encounters a symbolic reference to a remotely stored method while interpreting a locally stored method, and the object class for the remotely stored method has not previously been loaded, the client computer, the client computer creates an application specific loader that is then used to load the remotely stored method into the client computer. The application specific class loader contains location information associated with the server computer on which the remotely stored method is stored, and also contains methods for loading onto the client computer the object class for the remotely stored method as well as the object classes for any additional methods referenced by that method. The application specific class loader preferably also includes symbol table for storing information about method references that have been resolved by the application specific class loader. Each method in the object classes loaded by the application specific class loader is modified when it is loaded to reference the application specific class loader, thereby linking the loaded method to the application specific class loader. The reference to the application specific class loader in the loaded method is used by the interpreter to determine which class loader to use when resolving symbolic references in the loaded method to other methods. The methods of the application specific class loader may incorporate load policies associated with the server location and different from the load policies used by the client computer'"'"'s bootstrap class loader.
63 Citations
6 Claims
-
1. A program interpreting method performed by a first computer for resoling symbolic references comprising the steps of:
-
a) while executing a first method, upon encountering an unresolved symbolic reference to a second method, determining if said unresolved symbolic reference in said first method references said second method in an object class locally stored on said first computer; b) if the determination in step (a) is positive, utilizing a bootstrap class loader to load said object class which contains the method referenced by said symbolic reference in said first method; and c) if the determination is step (a) is negative, c1) creating an application specific class loader; c2) loading an object class from a remotely located computer that contains said second method referenced by said symbolic reference; c3) modifying said loaded second method to reference said application specific class loader created in step (c1); and c4) using said application specific class loader to load object classes that contain methods referenced by symbolic references in said loaded second method; said step (c1) including embedding location information in said application specific class loader, said location information identifying said remotely located computer; and said step (c4) including searching said remotely located computer identified by said location information embedded in said application specific class loader to locate a respective object class associated with each of said symbolic references in said loaded second method. - View Dependent Claims (2)
-
-
3. A method of loading a first object class from a server computer to a client computer and for resolving symbolic references embedded therein, the method comprising the steps of:
-
a) creating an application specific class loader for said first object class, said application specific class loader including location information identifying said server computer associated with said first object class, and instructions for loading object classes from said server computer; b) executing said application specific class loader to fetch said first object class from said server computer and to modify said fetched first object class to include a reference to said application specific class loader created in step (a); c) executing said application specific class loader to load said fetched and modified first object class into local memory for interpretation; and d) resolving symbolic references in said loaded first object class by executing said application specific class loader to load additional object classes containing methods referred to by said symbolic references embedded within said loaded first object class. - View Dependent Claims (4)
-
-
5. A system for resolving symbolic references in a program being executed by a client computer, the system comprising:
-
a bootstrap class loader for loading application programs from respective server computers to said client computer; and a class loader generator for creating an application specific class loader associated with each program loaded by said bootstrap class loader from said respective server computers, said application specific class loader including location information identifying said respective server computer associated with said each program, and a method for loading object classes from said respective server computer; said system including at least one linker method for modifying each application program loaded by said bootstrap loader and each application program loaded by said application specific class loader to reference said bootstrap class loader and said application specific class loader, respectively. - View Dependent Claims (6)
-
Specification