Systems and methods for cache and pool initialization on demand
First Claim
1. A system to support cache initialization on demand, comprising:
- a container, associated with a transaction, to hold objects of one or more classes defined by an object-oriented programming language, wherein the container is a part of an application server;
a cache, within the container, to store in a first memory a first one or more objects of the one or more classes, wherein the first one or more objects stored in the cache can be at least one of enrolled in the transaction and idle;
a pool, within the container, to store in a second memory a second one or more objects of the one or more classes wherein the second one or more objects stored in the pool are initiated and idle with a readiness level lower than the first one or more objects stored in the cache;
an on-demand initialization process associated with a console for triggering the initialization of the cache of the class; and
wherein the container operates to;
initialize the cache on demand at runtime before a class in the one or more classes is deployed, by removing one or more idle objects of the class from the cache to the pool; and
add at least one said object to the cache, if the at least one said object is already in the pool but not in the cache, when the at least one said object of the one or more classes is enrolled in the transaction.
2 Assignments
0 Petitions
Accused Products
Abstract
Users and processes are provided with various features to control the memory usage by a cache and pool dynamically at runtime. The cache and pool can be initialized on demand to remove idle objects of classes from them without the server being restarted. When the cache and pool reach their maximum sizes, idle objects in them may be removed to make room for newly active objects using various strategies in batches, where the schedule (periodicity), size and processing time of each batch can be dynamically adjusted. When a newly created object is being added to a full cache where each object is enrolled in a transaction, one or more active objects may be passivated from the cache based on various criteria to make room for the new instance to be added. Various features of the cache and pool can be defined in a configuration file.
29 Citations
19 Claims
-
1. A system to support cache initialization on demand, comprising:
-
a container, associated with a transaction, to hold objects of one or more classes defined by an object-oriented programming language, wherein the container is a part of an application server; a cache, within the container, to store in a first memory a first one or more objects of the one or more classes, wherein the first one or more objects stored in the cache can be at least one of enrolled in the transaction and idle; a pool, within the container, to store in a second memory a second one or more objects of the one or more classes wherein the second one or more objects stored in the pool are initiated and idle with a readiness level lower than the first one or more objects stored in the cache; an on-demand initialization process associated with a console for triggering the initialization of the cache of the class; and wherein the container operates to; initialize the cache on demand at runtime before a class in the one or more classes is deployed, by removing one or more idle objects of the class from the cache to the pool; and add at least one said object to the cache, if the at least one said object is already in the pool but not in the cache, when the at least one said object of the one or more classes is enrolled in the transaction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method to support cache initialization on demand, comprising:
-
holding objects of one or more classes defined by an object-oriented programming language in a container, wherein the container is associated with a transaction and is a part of an application server; storing in a first memory a first one or more objects of the one or more classes via a cache in the container, wherein the first one or more objects stored in the cache can be at least one of enrolled in the transaction and idle; storing in a second memory a second one or more objects of the one or more classes via a pool in the container, wherein the second one or more objects stored in the pool are initiated and idle with a readiness level lower than the first one or more objects stored in the cache; triggering the initialization process, wherein the on-demand initialization process is associated with a console; initializing, via the container, the cache on demand at runtime before a class in the one or more classes is deployed, by removing one or more idle objects of the class from the cache to the pool; and adding, via the container, at least one said object to the cache, if the at least one said object is already in the pool but not in the cache, when the at least one said object of the one or more classes is enrolled in the transaction. - View Dependent Claims (14, 15)
-
-
16. A machine readable storage medium having instructions stored thereon that when executed by a processor cause a system to:
-
hold objects of one or more classes defined by an object-oriented programming language in a container, wherein the container is associated with a transaction and is a part of an application server; store a first memory a first one or more objects of the one or more classes via a cache in the container, wherein the first one or more objects stored in the cache can be at least one of enrolled in the transaction and idle; store in a second memory a second one or more objects of the one or more classes via a pool in the container, wherein the second one or more objects stored in the pool are initiated and idle with a readiness level lower than the first one or more objects stored in the cache; trigger the initialization of the cache of the class via an on-demand initialization process, wherein the on-demand initialization process is associated with a console; initialize, via the container, the cache on demand at runtime before a class in the one or more classes is deployed, by removing one or more idle objects of the class from the cache to the pool; and add, via the container, at least one said object to the cache, if the at least one said object is already in the pool but not in the cache, when the at least one said object of the one or more classes is enrolled in the transaction. - View Dependent Claims (17, 18)
-
-
19. A system to support cache initialization on demand, comprising:
-
means for holding objects of one or more classes defined by an object-oriented programming language in a container, wherein the container is associated with a transaction and is a part of an application server; means for storing in a first memory a first one or more objects of the one or more classes via a cache in the container, wherein the first one or more objects stored in the cache can be at least one of enrolled in the transaction and idle; means for storing in a second memory a second one or more objects of the one or more classes via a pool in the container, wherein the second one or more objects stored in the pool are initiated and idle with a readiness level lower than the first one or more objects stored in the cache; means for triggering the initialization of the cache of the class via an on-demand initialization process, wherein the on-demand initialization process is associated with a console; means for initializing via the container, the cache on demand at runtime before a class in the one or more classes is deployed, by removing one or more idle objects of the class from the cache to the pool; and means for adding, via the container, at least one said object to the cache, if the at least one said object is already in the pool but not in the cache, when the at least one said object of the one or more classes is enrolled in the transaction.
-
Specification