Universal module model
First Claim
1. A computer implemented method for processing a module comprising:
- generating a module for execution on a target operating system, said module including four entry points and code portions associated with each of said four entry points, said four entry points corresponding to four handlers invoked at different processing points in connection with a runtime state associated with said module, said four handlers including a load handler invoked in connection with dynamically loading said module, an unload handler invoked in connection with dynamically unloading said module, a start handler invoked in connection with starting module-specific processing performed by said module, and a quiesce handler invoked in connection with a request to commence preparation for unloading the module;
performing first processing in connection with the module, said first processing including at least one of dynamically loading the module, dynamically unloading the module, starting module-specific processing performed by the module, and issuing a request to commence preparation for unloading the module; and
invoking an appropriate one or more of the four handlers in accordance with the first processing performed, wherein said module is dynamically loaded into an address space of a target container, said target container including code for managing a container module database of modules and associated module information of modules included in the target container, wherein said code for managing a container module database is executed prior to each invocation of any of the four handlers to perform processing at runtime when executing code of the target container to enforce rules of a runtime state model for the module thereby verifying that the module is in an allowable state for a requested transition to another state associated with one of the four handlers subsequently invoked in said each invocation, said runtime state model including valid transitions between runtime states associated with each of said four handlers, said code for managing the container module database acting as a proxy to facilitate invocation of any of the four handlers upon successfully verifying the module is in an allowable state for a requested transition.
9 Assignments
0 Petitions
Accused Products
Abstract
Described are techniques for processing a module. A module is generated for execution on a target operating system. The module includes four entry points and code portions associated with each of said four entry points. The four entry points correspond to four handlers invoked at different processing points in connection with a state associated with said module. The four handlers include a load handler, an unload handler, a start handler, and a quiesce handler. First processing is performed in connection with the module. The first processing including at least one of dynamically loading the module, dynamically unloading the module, starting module-specific processing performed by the module, and issuing a request to commence preparation for unloading the module. An appropriate one or more of the four handlers are invoked in accordance with the first processing performed.
67 Citations
19 Claims
-
1. A computer implemented method for processing a module comprising:
-
generating a module for execution on a target operating system, said module including four entry points and code portions associated with each of said four entry points, said four entry points corresponding to four handlers invoked at different processing points in connection with a runtime state associated with said module, said four handlers including a load handler invoked in connection with dynamically loading said module, an unload handler invoked in connection with dynamically unloading said module, a start handler invoked in connection with starting module-specific processing performed by said module, and a quiesce handler invoked in connection with a request to commence preparation for unloading the module; performing first processing in connection with the module, said first processing including at least one of dynamically loading the module, dynamically unloading the module, starting module-specific processing performed by the module, and issuing a request to commence preparation for unloading the module; and invoking an appropriate one or more of the four handlers in accordance with the first processing performed, wherein said module is dynamically loaded into an address space of a target container, said target container including code for managing a container module database of modules and associated module information of modules included in the target container, wherein said code for managing a container module database is executed prior to each invocation of any of the four handlers to perform processing at runtime when executing code of the target container to enforce rules of a runtime state model for the module thereby verifying that the module is in an allowable state for a requested transition to another state associated with one of the four handlers subsequently invoked in said each invocation, said runtime state model including valid transitions between runtime states associated with each of said four handlers, said code for managing the container module database acting as a proxy to facilitate invocation of any of the four handlers upon successfully verifying the module is in an allowable state for a requested transition. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer readable medium comprising executable code stored thereon for processing a module, the non-transitory computer readable medium comprising executable code stored thereon for:
-
generating a module for execution on a target operating system, said module including four entry points and code portions associated with each of said four entry points, said four entry points corresponding to four handlers invoked at different processing points in connection with a runtime state associated with said module, said four handlers including a load handler invoked in connection with dynamically loading said module, an unload handler invoked in connection with dynamically unloading said module, a start handler invoked in connection with starting module-specific processing performed by said module, and a quiesce handler invoked in connection with a request to commence preparation for unloading the module; performing first processing in connection with the module, said first processing including at least one of dynamically loading the module, dynamically unloading the module, starting module-specific processing performed by the module, and issuing a request to commence preparation for unloading the module; and invoking an appropriate one or more of the four handlers in accordance with the first processing performed, wherein said module is dynamically loaded into an address space of a target container, said target container including code for managing a container module database of modules and associated module information of modules included in the target container, wherein said code for managing a container module database is executed prior to each invocation of any of the four handlers to perform processing at runtime when executing code of the target container to enforce rules of a runtime state model for the module thereby verifying that the module is in an allowable state for a requested transition to another state associated with one of the four handlers subsequently invoked in said each invocation, said runtime state model including valid transitions between runtime states associated with each of said four handlers, said code for managing the container module database acting as a proxy to facilitate invocation of any of the four handlers upon successfully verifying the module is in an allowable state for a requested transition. - View Dependent Claims (16, 17, 18, 19)
-
Specification