US6072953A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Apparatus and method for dynamically modifying class files during loading for execution
Assignee: International Business Machines Corp
•
Filing: 1997-09-30
•
Granted: 2000-06-06
•
Expires: 2017-09-30
Abstract
Abstract The present invention discloses a method, computer program product, and system for dynamically and programmatically modifying the semantics and/or logic of class files as they are being loaded for execution. The present invention permits a user to write a control file specifying in a programmatic manner the changes to be applied to class files and the conditions for carrying out the changes. As the class files are loaded, they are analyzed for the desired conditions and if the conditions are found, the control file is applied to them to effect the appropriate changes according to the user's control file.
Inventors
- 👤 Geoffrey Alexander Cohen
- 👤 Richard Adam King
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-07 22:54
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/445; G06F9/44521
Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
201 words
A computer-implemented method for enabling programmatic semantic modifications to class files as said files are loaded for execution by a loading and execution process, said method comprising the steps of: providing an extended class loader; receiving, by said extended class loader, a request for loading a selected one of said class files, wherein said request is generated from an executing application program and wherein said selected class file contains executable program code to be executed as a part of said application program; retrieving, by said extended class loader, said selected class file; determining, by evaluating one or more specified conditions from a stored control file, whether said retrieved class file is to be semantically modified prior to an execution of said executable program code; if any of said conditions are met, performing the steps of: applying one or more semantic modifications to said executable program code in said retrieved class file by executing one or more stored transformations associated with said stored conditions, creating a dynamically modified class file; and delivering said dynamically modified class file as a result of said request; and if none of said conditions are met, delivering said retrieved class file as said result of said request.
Claim 2
Dependent Claim
201 words
A computer-implemented method for enabling programmatic semantic modifications to class files as said files are loaded for execution by a loading and execution process, said method comprising the steps of: providing an extended class loader; receiving, by said extended class loader, a request for loading a selected one of said class files, wherein said request is generated from an executing application program and wherein said selected class file contains executable program code to be executed as a part of said application program; retrieving, by said extended class loader, said selected class file; determining, by evaluating one or more specified conditions from a stored control file, whether said retrieved class file is to be semantically modified prior to an execution of said executable program code; if any of said conditions are met, performing the steps of: applying one or more semantic modifications to said executable program code in said retrieved class file by executing one or more stored transformations associated with said stored conditions, creating a dynamically modified class file; and delivering said dynamically modified class file as a result of said request; and if none of said conditions are met, delivering said retrieved class file as said result of said request.
Claim 3
Dependent Claim
16 words
The computer-implemented method as claimed in claim 1, wherein said class files are Java class files.
Claim 4
Dependent Claim
18 words
The computer-implemented method as claimed in claim 1, wherein said extended class loader extends a Java class loader.
Claim 5
Dependent Claim
246 words
A computer program product for enabling programmatic semantic modifications to class files as said files are loaded for execution by a loading and execution process, said computer program product comprising: a computer-readable storage medium having computer-readable program code means embodied in said medium, said computer-readable program code means comprising: computer-readable program code means for providing an extended class loader; computer-readable program code means for receiving, by said extended class loader, a request for loading a selected one of said class files, wherein said request is generated from an executing application program and wherein said selected class file contains executable program code to be executed as a part of said application program; computer-readable program code means for retrieving, by said extended class loader, said selected class file; computer-readable program code means for determining, by evaluating one or more specified conditions from a stored control file, whether said retrieved class file is to be semantically modified prior to an execution of said executable program code; if any of said conditions are met, computer-readable program code means for: applying one or more semantic modifications to said executable program code in said retrieved class file by executing one or more stored transformations associated with said stored conditions, creating a dynamically modified class file, and delivering said dynamically modified class file as a result of said request; and if none of said conditions are met, computer-readable program code means for delivering said retrieved class file as said result of said request.
Claim 6
Dependent Claim
246 words
A computer program product for enabling programmatic semantic modifications to class files as said files are loaded for execution by a loading and execution process, said computer program product comprising: a computer-readable storage medium having computer-readable program code means embodied in said medium, said computer-readable program code means comprising: computer-readable program code means for providing an extended class loader; computer-readable program code means for receiving, by said extended class loader, a request for loading a selected one of said class files, wherein said request is generated from an executing application program and wherein said selected class file contains executable program code to be executed as a part of said application program; computer-readable program code means for retrieving, by said extended class loader, said selected class file; computer-readable program code means for determining, by evaluating one or more specified conditions from a stored control file, whether said retrieved class file is to be semantically modified prior to an execution of said executable program code; if any of said conditions are met, computer-readable program code means for: applying one or more semantic modifications to said executable program code in said retrieved class file by executing one or more stored transformations associated with said stored conditions, creating a dynamically modified class file, and delivering said dynamically modified class file as a result of said request; and if none of said conditions are met, computer-readable program code means for delivering said retrieved class file as said result of said request.
Claim 7
Dependent Claim
17 words
The computer program product as claimed in claim 4, wherein said class files are Java class files.
Claim 8
Dependent Claim
19 words
The computer program product as claimed in claim 4, wherein said extended class loader extends a Java class loader.
Claim 9
Dependent Claim
206 words
A computer system for enabling programmatic semantic modifications to class files as said files are loaded for execution by a loading and execution process, said system comprising: means for providing an extended class loader; means for receiving, by said extended class loader, a request for loading a selected one of said class files, wherein said request is generated from an executing application program and wherein said selected class file contains executable program code to be executed as a part of said application program; means for retrieving, by said extended class loader, said selected class file; means for determining, by evaluating one or more specified conditions from a stored control file, whether said retrieved class file is to be semantically modified prior to an execution of said executable program code; if any of said conditions are met, means for: applying one or more semantic modifications to said executable program code in said retrieved class file by executing one or more stored transformations associated with said stored conditions, creating a dynamically modified class file; and delivering said dynamically modified class file as a result of said request; and if none of said conditions are met, means for delivering said retrieved class file as said result of said request.
Claim 10
Dependent Claim
206 words
A computer system for enabling programmatic semantic modifications to class files as said files are loaded for execution by a loading and execution process, said system comprising: means for providing an extended class loader; means for receiving, by said extended class loader, a request for loading a selected one of said class files, wherein said request is generated from an executing application program and wherein said selected class file contains executable program code to be executed as a part of said application program; means for retrieving, by said extended class loader, said selected class file; means for determining, by evaluating one or more specified conditions from a stored control file, whether said retrieved class file is to be semantically modified prior to an execution of said executable program code; if any of said conditions are met, means for: applying one or more semantic modifications to said executable program code in said retrieved class file by executing one or more stored transformations associated with said stored conditions, creating a dynamically modified class file; and delivering said dynamically modified class file as a result of said request; and if none of said conditions are met, means for delivering said retrieved class file as said result of said request.
Claim 11
Dependent Claim
16 words
The computer system as claimed in claim 7, wherein said class files are Java class files.
Claim 12
Dependent Claim
18 words
The computer system as claimed in claim 7, wherein said extended class loader extends a Java class loader.
References Cited (Backward Citations)
US5339430A
Cited
US5740469A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2003-06-06 | 2003-12-06 | 2004-06-06 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2007-06-06 | 2007-12-06 | 2008-06-06 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2011-06-06 | 2011-12-06 | 2012-06-06 | $7700.00 | Window Closed / Lapsed |