Workload management of stateful program entities
First Claim
1. In a data processing system having a nonvolatile memory storage device and at least one server, capable of running a server process, a method of data processing a program entity, comprising the steps of:
- maintaining program entity instance location information in a routing table on said nonvolatile memory storage device, wherein said routing table is used on receipt of a request to access an instance of said program entity to route said request to one of a plurality of server processes in which said instance of said program entity is currently active or to route said request to any of said plurality of server processes when said instance of said program entity is currently passive in a program entity store;
associating a key with said instance of said program entity for use in identifying said instance of said program entity as a target for said request, wherein said key includes a flag to indicate the presence of said location information for said instance of said program entity in said routing table, and wherein when said flag is not set in said key on receipt of said request, said routing table is not searched for said location information of said instance of said program entity to reduce routing table searches for performance optimization;
passivating, as part of a first server process, an instance of said program entity by writing it to a program entity store, on said nonvolatile memory storage device, and removing it from said first server process;
reactivating, as part of a second server process, said instance of said program entity by reading it from said program entity store and re-creating it in said second server process; and
selecting a server process from said plurality of server processes in which said instance of said program entity is reactivated according to a workload distribution algorithm using said routing table.
3 Assignments
0 Petitions
Accused Products
Abstract
In a workload managed system comprising a plurality of server processes each capable of supporting a given program entity, such as an Enterprise JavaBeans™ specified stateful session bean, a stateful session bean instance is passivated, by writing it to a bean store, on completion of a unit of work. On next use the session bean is reactivated, by reading it from the bean store, in any one of the plurality of servers thereby allowing workload management for stateful session beans. A routing table is maintained, in non-volatile mass storage, that contains location information for units of work and stateful session bean instances, used to maintain unit of work-server affinity for the lifetime of the unit of work Stateful session beans instances are associated with ID keys that include a flag that is used to indicate whether or not the routing table contains location information for the bean instance.
-
Citations
18 Claims
-
1. In a data processing system having a nonvolatile memory storage device and at least one server, capable of running a server process, a method of data processing a program entity, comprising the steps of:
-
maintaining program entity instance location information in a routing table on said nonvolatile memory storage device, wherein said routing table is used on receipt of a request to access an instance of said program entity to route said request to one of a plurality of server processes in which said instance of said program entity is currently active or to route said request to any of said plurality of server processes when said instance of said program entity is currently passive in a program entity store; associating a key with said instance of said program entity for use in identifying said instance of said program entity as a target for said request, wherein said key includes a flag to indicate the presence of said location information for said instance of said program entity in said routing table, and wherein when said flag is not set in said key on receipt of said request, said routing table is not searched for said location information of said instance of said program entity to reduce routing table searches for performance optimization; passivating, as part of a first server process, an instance of said program entity by writing it to a program entity store, on said nonvolatile memory storage device, and removing it from said first server process; reactivating, as part of a second server process, said instance of said program entity by reading it from said program entity store and re-creating it in said second server process; and selecting a server process from said plurality of server processes in which said instance of said program entity is reactivated according to a workload distribution algorithm using said routing table. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer program product stored on a computer readable storage medium, for use in a data processing system having a non-volatile memory storage device and at least one server, capable of running a server process, said product comprising instructions which, when executed, cause said system to process a program entity by carrying out the steps of:
-
maintaining program entity instance location information in a routing table on said nonvolatile memory storage device, wherein said routing table is used on receipt of a request to access an instance of said program entity to route said request to one of a plurality of server processes in which said instance of said program entity is currently active or to route said request to any of said plurality of server processes when said instance of said program entity is currently passive in a program entity store; associating a key with said instance of said program entity for use in identifying said instance of said program entity as a target for said request, wherein said key includes a flag to indicate the presence of said location information for said instance of said program entity in said routing table, and wherein when said flag is not set in said key on receipt of said request, said routing table is not searched for said location information of said instance of said program entity to reduce routing table searches for performance optimization; passivating, as part of a first server process, an instance of said program entity by writing it to a program entity store, on said nonvolatile memory storage device, and removing it from said first server process; reactivating, as part of a second server process, said instance of said program entity by reading it from said program entity store and re-creating it in said second server process; and selecting a server process from said plurality of server processes in which said instance of said program entity is reactivated according to a workload distribution algorithm using said routing table. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A data processing system comprising:
-
at least one server; a plurality of server processes, capable of running on said at least one server, each with support for a program entity; and a non-volatile memory storage device, accessible to each server process; wherein each server process comprises; means for maintaining program entity instance location information in a routing table on said nonvolatile memory storage device, wherein said routing table is used on receipt of a request to access an instance of said program entity to route said request to one of a plurality of server processes in which said instance of said program entity is currently active or to route said request to any of said plurality of server processes when said instance of said program entity is currently passive in a program entity store; means for associating a key with said instance of said program entity for use in identifying said instance of said program entity as a target for said request, wherein said key includes a flag to indicate the presence of said location information for said instance of said program entity in said routing table, and wherein when said flag is not set in said key on receipt of said request, said routing table is not searched for said location information of said instance of said program entity to reduce routing table searches for performance optimization; means for passivating an instance of said program entity by writing it to a program entity store on said nonvolatile memory storage device; means for reactivating an instance of said program entity by reading it from said program entity store and using it to recreate said instance of said program entity; said means for reactivating being capable of reactivating program entity instances that were passivated by the passivating means of a different server process; and means for selecting a server process from said plurality of server processes in which said instance of said program entity is reactivated according to a workload distribution algorithm using said routing table. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification