IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0872963
(2001-06-01)
|
발명자
/ 주소 |
- Klicnik, Vladimir
- McAffer, Jeffrey A.
- Wiegand, John D.
|
출원인 / 주소 |
- International Business Machines Corporation
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
23 인용 특허 :
9 |
초록
▼
Improved techniques are defined for dynamically loading components which have prerequisite relationships more complex than the simple single inheritance chains which are supported with prior art dynamic class loading techniques. Multiple prerequisites are supported in this improved technique, and in
Improved techniques are defined for dynamically loading components which have prerequisite relationships more complex than the simple single inheritance chains which are supported with prior art dynamic class loading techniques. Multiple prerequisites are supported in this improved technique, and in preferred embodiments, an arbitrary number of prerequisites may be explicitly specified for a component. Furthermore, techniques are disclosed which enable delaying the loading and initialization of components until such time as a class in the component is actually needed, thereby improving overall efficiency of the system. Optional filtering and export aspects may also be supported to selectively expose classes for use by dependent components and to enable a component to opt out of re-exporting the classes of its prerequisites, respectively.
대표청구항
▼
1. A method of improving dynamic loading of components in a computing network, comprising steps of: specifying, for one or more components to be loaded, each prerequisite component thereof, wherein each of the components has at least one other ones of the components specified as a prerequisite the
1. A method of improving dynamic loading of components in a computing network, comprising steps of: specifying, for one or more components to be loaded, each prerequisite component thereof, wherein each of the components has at least one other ones of the components specified as a prerequisite thereof; providing distinct class loaders associated with each of the one or more components to be loaded; attempting to load a class referenced from a particular one of the components using the provided class loader associated with that particular component; and searching through the specified prerequisite components for the particular component and their prerequisite components to attempt to locate the class for loading if the class cannot be located for loading in the particular component, until either (1) successfully locating the class for loading with the provided class loader associated with one of the searched components or (2) concluding that the class cannot be located for loading. 2. The method according to claim 1, further comprising the steps of: providing multiple versions of a selected component to be loaded; loading one or more classes from two or more of the provided versions, wherein classes having identical names may therefore be loaded as distinct classes; and automatically distinguishing the classes having identical names by virtue of their distinct class loaders. 3. The method according to claim 1, wherein: the specifying step comprises specifying, for each component having prerequisite components, whether that component will re-export classes of each of its prerequisite components during the searching step; and when searching a particular component, the searching step does not include any prerequisite components thereof that are specified as not re-exporting classes through the particular component. 4. The method according to claim 1, wherein: the specifying step further comprises specifying, for each component, which classes of that component are to be exposed, during the searching step, to other components for which the selected component is a prerequisite component; and if the searching step locates the class within a particular component for which the specification indicates that the class is not to be exposed, treating the class as not having been found within the particular component. 5. The method according to claim 1, further comprising the steps of: monitoring, at run time, attempts to use the distinct class loaders; and delaying activation of a selected one of the components until the monitoring step detects that the class loader associated with that selected component is preparing to load its first class. 6. A method of improving dynamic loading of components in a computing network, comprising steps of: providing distinct class loaders associated with each of a plurality of components to be loaded; specifying, for each of the components, each prerequisite component thereof, wherein each of the component has at least one other ones components specified as a prerequisite thereof: monitoring, at run time, attempts to use the distinct class loaders; delaying activation of a particular one of the components until the monitoring step detects that the class loader associated with that particular component is preparing to load its first class; and searching through the specified prerequisite components for the particular component and their prerequisite components to attempt to locate the class for loading if the class cannot be located for loading in the particular component, until either (1) successfully locating the class for loading with the provided class loader associated with one of the searched components or (2) concluding that the class cannot be located for loading. 7. A system for improving dynamic loading of components in a computing networks, comprising: means for specifying, for one or more components to be loaded, each prerequisite component ther eof, wherein each of the components has at least one other ones of the components specified as a prerequisite thereof; means for providing distinct class loaders associated with each of the one or more components to be loaded; means for attempting to load a class referenced from a particular one of the components using the provided class loader associated with that particular component; and means for searching through the specified prerequisite components for the particular component and their prerequisite components to attempt to locate the class for loading if the class cannot be located for loading in the particular component, until either (1) successfully locating the class for loading with the provided class loader associated with one of the searched components or (2) concluding that the class cannot be located for loading. 8. A computer program product for improving dynamic loading of components in a computing network, the computer program product embodied on one oar more computer-readable media and comprising: computer-readable program code means for specifying, for one or more components to be loaded, each prerequisite component thereof, wherein each of the components has at least one other ones of the components specified as a prerequisite thereof; computer-readable program code means for providing distinct class loaders associated with each of the one or more components to be loaded; computer-readable program code means for attempting to load a class referenced from a particular one of the components using the provided class loader associated with that particular component; and computer-readable program code meats for searching through the specified prerequisite components for the particular component and their prerequisite components to attempt to locate the class for loading if the class cannot be located for loading in the particular component, until either (1) successfully locating the class for loading with the provided class loader associated with one of the searched components or (2) concluding that the class cannot be located for loading. 9. The system according to claim 7, further comprising: means for monitoring, at run time, attempts to use the distinct class loaders; and means for delaying activation of a selected one of the components until the means tin monitoring detects that the class loader associated with that selected component is preparing to load its first class. 10. The computer program product according to claim 8, further comprising: computer-readable program code means for monitoring, at run time, attempts to use the distinct class loaders; and computer-readable program code means for delaying activation of a selected one of the components until the computer-readable program code means for monitoring detects that the class loader associated with that selected component is preparing to load its first class.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.