Patent US5815718A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5815718A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and system for loading classes in read-only memory

Assignee: Oracle America Inc
•
Filing: 1996-05-30
•
Granted: 1998-09-29
•
Expires: 2016-05-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for providing an executable module having an address space for storing program data that is to reside in a read-only storage medium and an address space for storing program data that is to reside in a random access memory is herein described. The executable module represents Java classes that are structured for dynamic class loading. A static class loader is used to modify the class structure to accommodate static loading. The static class loader also identifies methods that contain unresolved symbolic references and data that varies during the execution of the module. These methods and data are identified in order to place them in the address space that resides in the random access memory. The static loader is beneficial in a distributed computing environment having a client computer that has little or no secondary storage thereby requiring applications to run entirely in random access memory. By utilizing a read-only memory to store statically loadable classes, the random access memory is left available for other uses.

Inventors

  • 👤 Theron D. Tock

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-26 15:43
CPC Classifications
G; G06; G06F; G06F15/00; G06F15/16; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/44; G06F9/445; G06F9/44521; G06F9/44557; G06F9/44563; G06F9/44568; G06F9/44573; G06F9/448; G06F9/4488; G06F9/449

Claims Analysis

Total Claims: 24
Claim 1
Independent Claim 129 words
A method of operating a computer, the method comprising the steps of: storing a class in a memory, the class including data and at least one method that includes a plurality of instructions, a subset of the instructions including symbolic references to computer accessible methods; flagging portions of the class' data when the class' data is modifiable by one of the class' methods; flagging each method of the class that includes a symbolic reference to a method not stored in the memory; and providing an executable module including the class, wherein each unflagged method and each unflagged data is preloaded in a read-only storage medium and each flagged method and each flagged data is to be stored in a read and write-enabled storage medium when executing the executable module.
Claim 2
Independent Claim 129 words
A method of operating a computer, the method comprising the steps of: storing a class in a memory, the class including data and at least one method that includes a plurality of instructions, a subset of the instructions including symbolic references to computer accessible methods; flagging portions of the class' data when the class' data is modifiable by one of the class' methods; flagging each method of the class that includes a symbolic reference to a method not stored in the memory; and providing an executable module including the class, wherein each unflagged method and each unflagged data is preloaded in a read-only storage medium and each flagged method and each flagged data is to be stored in a read and write-enabled storage medium when executing the executable module.
Claim 3
Dependent Claim 34 words
The method of claim 1, the method including: substituting, for each symbolic reference to a specified method stored in the memory, a value corresponding to the specified method's location in the read-only storage medium.
Claim 4
Dependent Claim 33 words
The method of claim 1 wherein the unflagged methods and data preloaded in the read-only storage medium are configured to be accessed from the read-only storage medium when the executable module is executed.
Claim 5
Dependent Claim 28 words
The method of claim 1 wherein the executable module is a browser module for accessing objects stored in the computer as well as objects stored in other computers.
Claim 6
Dependent Claim 33 words
The method of claim 4 wherein the browser module includes instructions for importing information-content data and computer-executable modules, and for storing the imported data and computer-executable modules the read and write-enabled storage medium.
Claim 7
Independent Claim 152 words
A method of operating a computer, the method comprising the steps of: storing in a memory a plurality of classes that are to be included in an executable module, at least one of the classes including data and at least one method that includes a plurality of instructions, a subset of the instructions including symbolic references to computer accessible methods; flagging, for each class, the class' data when the class' data is modifiable by one of the class' methods; flagging each method in the plurality of classes whose bytecodes includes a symbolic reference to a method not stored in the memory; and providing the executable module including each of the plurality of classes, wherein each unflagged method and each unflagged data is preloaded in a read-only storage medium and each flagged method and each flagged data is to be stored in a read and write-enabled storage medium when executing the executable module.
Claim 8
Independent Claim 152 words
A method of operating a computer, the method comprising the steps of: storing in a memory a plurality of classes that are to be included in an executable module, at least one of the classes including data and at least one method that includes a plurality of instructions, a subset of the instructions including symbolic references to computer accessible methods; flagging, for each class, the class' data when the class' data is modifiable by one of the class' methods; flagging each method in the plurality of classes whose bytecodes includes a symbolic reference to a method not stored in the memory; and providing the executable module including each of the plurality of classes, wherein each unflagged method and each unflagged data is preloaded in a read-only storage medium and each flagged method and each flagged data is to be stored in a read and write-enabled storage medium when executing the executable module.
Claim 9
Dependent Claim 34 words
The method of claim 6, the method including: substituting, for each symbolic reference to a specified method stored in the memory, a value corresponding to the specified method's location in the read-only storage medium.
Claim 10
Dependent Claim 34 words
The method of claim 6 wherein the unflagged methods and unflagged data preloaded in the read-only storage medium are configured to be accessed from the read-only storage medium when the executable module is executed.
Claim 11
Dependent Claim 28 words
The method of claim 6 wherein the executable module is a browser module for accessing objects stored in the computer as well as objects stored in other computers.
Claim 12
Dependent Claim 33 words
The method of claim 9 wherein the browser module includes instructions for importing information-content data and computer-executable modules, and for storing the imported data and computer-executable modules the read and write-enabled storage medium.
Claim 13
Dependent Claim 140 words
A computer system, comprising: a memory for storing a class that is to be included in an executable module, the class including data and at least one method that includes a plurality of instructions, a subset of the instructions including symbolic references to computer accessible methods; an offline class loader that flags the class' data when the class' data is modifiable by one of the class' methods, and that flags each method in the class whose bytecodes includes a symbolic reference to a method not stored in the memory; and a linker for producing the executable module, the executable module having a first portion and a second portion, the first portion including each of the methods and data flagged by the offline class loader, and a second portion including each of the methods and data not in the first portion.
Claim 14
Dependent Claim 140 words
A computer system, comprising: a memory for storing a class that is to be included in an executable module, the class including data and at least one method that includes a plurality of instructions, a subset of the instructions including symbolic references to computer accessible methods; an offline class loader that flags the class' data when the class' data is modifiable by one of the class' methods, and that flags each method in the class whose bytecodes includes a symbolic reference to a method not stored in the memory; and a linker for producing the executable module, the executable module having a first portion and a second portion, the first portion including each of the methods and data flagged by the offline class loader, and a second portion including each of the methods and data not in the first portion.
Claim 15
Dependent Claim 51 words
The computer system of claim 11 wherein the first portion of the executable module is configured to be stored in a read and write-enabled medium when the executable module is executed, and the second portion is configured to be stored in a read-only storage medium when the executable module is executed.
Claim 16
Dependent Claim 37 words
The computer system of claim 12 wherein the offline class loader substitutes for each symbolic reference to a specified method stored in the memory, a value corresponding to the specified method's location in the read-only storage medium.
Claim 17
Dependent Claim 29 words
The computer system of claim 12 wherein the executable module is a browser module for accessing objects stored in the computer as well as objects stored in other computers.
Claim 18
Dependent Claim 34 words
The computer system of claim 14 wherein the browser module includes instructions for importing information-content data and computer-executable modules, and for storing the imported data and computer-executable modules the read and write-enabled storage medium.
Claim 19
Dependent Claim 157 words
A computer system, comprising: a memory for storing a plurality of classes that are to be included in an executable module, at least one of the classes including data and at least one method that includes a plurality of instructions, a subset of the instructions including symbolic references to computer accessible methods; an offline class loader that flags, for each class in the plurality of classes, the class' data when the class' data is modifiable by one of the class' methods, and that flags each method in the plurality of classes whose bytecodes includes a symbolic reference to a method not stored in the memory; a linker for producing the executable module, the executable module having a first portion and a second portion, the first portion including each of the class' methods and data flagged by the offline class loader, and a second portion including each of the class' methods and data not in the first portion.
Claim 20
Dependent Claim 157 words
A computer system, comprising: a memory for storing a plurality of classes that are to be included in an executable module, at least one of the classes including data and at least one method that includes a plurality of instructions, a subset of the instructions including symbolic references to computer accessible methods; an offline class loader that flags, for each class in the plurality of classes, the class' data when the class' data is modifiable by one of the class' methods, and that flags each method in the plurality of classes whose bytecodes includes a symbolic reference to a method not stored in the memory; a linker for producing the executable module, the executable module having a first portion and a second portion, the first portion including each of the class' methods and data flagged by the offline class loader, and a second portion including each of the class' methods and data not in the first portion.
Claim 21
Dependent Claim 51 words
The computer system of claim 16 wherein the first portion of the executable module is configured to be stored in a read and write-enabled medium when the executable module is executed, and the second portion is configured to be stored in a read-only storage medium when the executable module is executed.
Claim 22
Dependent Claim 37 words
The computer system of claim 17 wherein the offline class loader substitutes for each symbolic reference to a specified method stored in the memory, a value corresponding to the specified method's location in the read-only storage medium.
Claim 23
Dependent Claim 29 words
The computer system of claim 17 wherein the executable module is a browser module for accessing objects stored in the computer as well as objects stored in other computers.
Claim 24
Dependent Claim 34 words
The computer system of claim 19 wherein the browser module includes instructions for importing information-content data and computer-executable modules, and for storing the imported data and computer-executable modules the read and write-enabled storage medium.

References Cited (Backward Citations)

US5051893A Cited
US5303380A Cited
GB2242293A Cited
US5594903A Cited
US5369766A Cited
US5613120A Cited
US5671413A Cited
US5664128A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-09-28 2002-03-30 2002-09-29 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-09-28 2006-03-30 2006-09-29 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-09-28 2010-03-30 2010-09-29 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag