Data processing: software development – installation – and managem – Software program development tool – Translation of code
Reexamination Certificate
1999-10-12
2001-04-24
Chaki, Kakali (Department: 2122)
Data processing: software development, installation, and managem
Software program development tool
Translation of code
C717S152000, C713S001000, C713S002000
Reexamination Certificate
active
06223346
ABSTRACT:
The present invention relates generally to object-oriented computer systems having classes that are dynamically loaded at runtime, and particularly to a system and method for preloading a subset of the classes in a read-only memory.
BACKGROUND OF THE INVENTION
A current trend in object-oriented programming languages is to extend the functionality of the language to accommodate the distribution of dynamic content in a distributed computing environment. In one such language, this is accomplished by dynamically loading classes at runtime. A class is a collection of variables and methods that model the behavior of an object. By dynamically loading classes at runtime, existing applications can add functionality by linking in new classes that reside on any computer system within the distributed computing environment.
In such languages, symbolic references are used to refer to the class members (i.e., the class' methods and variables). When a class is invoked, the dynamic loader determines the storage schema for the class and resolves the symbolic reference. Such a loading scheme is beneficial when accessing classes that are updated often. However, a limitation of such a loading scheme is its dependency on a read/write memory device such as a random access memory (RAM). In a computing environment that has little or no secondary storage (e.g., non-volatile magnetic disk storage), dynamic loading of the classes in this manner can quickly use up the storage capacity of the RAM. As the capacity of the RAM is limited, it is desirable to minimize the amount of RAM that is used by an application. Accordingly, there exists a need to limit the amount of RAM that is utilized to execute object-oriented program code having dynamically loadable classes.
It would be beneficial to provide a method and system which overcomes the deficiencies of the prior art.
SUMMARY OF THE INVENTION
In summary, this disclosure pertains to an offline class loader that is used to produce an executable module whose classes are preloaded into memory without requiring runtime dynamic loading. The executable module, nevertheless, contains a class structure that is tailored for runtime dynamic loading. Thus, the offline class loader modifies the existing class structures to accommodate static loading. However, the class structure allows for varying data and methods that contain unresolved references. The offline class loader tags these methods and data specifying that they are to be stored in a random access memory. All other data is stored in a read-only memory. At the completion of the static loading process, a preloadable executable module is generated that contains two addresses spaces. A first address space that contains methods having unresolved references and data that varies during the execution of the module is loaded in a random access memory. The second address space contains methods having static loaded classes and constant data which is loaded into a read-only memory.
A preloadable executable module of this fashion is advantageous in a distributed computer system having client computers with little or no secondary storage. Such client computers require applications to run entirely in random access memory which quickly turns into a limited resource. By utilizing the offline class loader to partition an application into two address spaces, the amount of RAM utilized by the preloadable module is minimized.
In an embodiment, a client computer having minimal secondary storage utilizes an offline class loader to preload a browser in the client's read-only memory. The browser is partitioned into the aforementioned two address spaces. At system initialization or power up, the random access memory portion of the browser is loaded from read-only memory into the random access memory. By executing a large portion of the browser from read-only memory, the browser has additional RAM storage to store information-content and executable modules that it can obtain from other server computers that the client is in communication with.
REFERENCES:
patent: 5051893 (1991-09-01), Tenny et al.
patent: 5303380 (1994-04-01), Tenny et al.
patent: 5317723 (1994-05-01), Heap et al.
patent: 5355489 (1994-10-01), Bealkowski et al.
patent: 5369766 (1994-11-01), Nakano et al.
patent: 5450489 (1995-09-01), Ostrover et al.
patent: 5535409 (1996-07-01), Larvoire et al.
patent: 5574915 (1996-11-01), Lemon et al.
patent: 5594903 (1997-01-01), Bunnell et al.
patent: 5613120 (1997-03-01), Palay et al.
patent: 5664128 (1997-09-01), Bauer
patent: 5671356 (1997-09-01), Wang
patent: 5671413 (1997-09-01), Shipman et al.
patent: 5848296 (1998-12-01), Suzuki
patent: 5966542 (1999-10-01), Tock
patent: 2 242 293 (1991-09-01), None
Java Intermediate Bytecodes, Gosling. ACM SIGPLAN Workshop on Intermediate Representations, pp. 111-118 (1995).
Java Spills Into the Mainstream—Sun Sees Add Program Spec as Boost to all Applications, Wilder et al. Informationweek, p. 21 (1996).
Next Box Specs Nailed, Richman, Computerworld, vol. 30 No. 21, pp.1, 12, (1996).
Network Computers: Sun's Java is Native Language, Issacson, Computer Reseller News, p. 65 (1996).
Gosling, “Java Intermediate Bytecodes”, ACM SIGPLAN Wrkshop on Intermediate Representations, 1995, pp.111-118.*
Wilder et al., “Java Spills Into the Mainstream—Sun sees added program spec as boost to all applications”, Informationweek, Feb. 1996, p. 21.*
Richman, “'net box specs nailed”, Computerworld, vol. 30 No. 21, 1996, pp. 1, 12.*
Isaacson, “Network “computers”: Sun's Java is native language”, Computer Reseller News, Mar. 1996, start p. 65.
Chaki Kakali
Pennie & Edmonds LLP
Sun Microsystems Inc.
LandOfFree
Computer program product having preloaded software module does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Computer program product having preloaded software module, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Computer program product having preloaded software module will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2491200