State data persistence in a distributed computing environment
First Claim
1. A system, comprising:
- a server cluster, comprising;
a plurality of server nodes, wherein each server node comprises;
a server container;
one or more applications configured to execute within the server container, wherein the one or more applications are configured to process requests from a plurality of users as sessions, wherein each session comprises a series of requests from a same user, wherein the one or more applications access and modify application state data during the processing of a given one of the sessions, wherein the application state data comprises session state data for the given one of the sessions; and
a Java Data Object (JDO) persistence manager configured to detect changes to the application state data within the server container and to persist the application state data; and
a persistent data store coupled to the cluster, configured to store application statedata of the one or more applications of each respective server container, and configured to make the application state data accessible to each of the plurality of server nodes;
wherein one of the applications of one of the plurality of server nodes is configured to access from the persistent data store application state data for a session that has previously been processed on another one of the plurality of server nodes;
wherein in response to detecting a change in application state data within the server container, the JDO persistence manager is configured to persist only a changed portion of the application state data within the respective server container to the persistent data store.
2 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments of a system and method for persisting application state data are disclosed. The system may include a server cluster networked to a persistent data store such as a database resident on a backend system. Each server of the cluster may include a server container providing services for one or more applications along with a persistence mechanism. The persistence mechanism may be able to detect changes to the state of an application and persist only the portion of the application state that changed to the remote, persistent data store. In some embodiments, the persistence mechanism may be a Java Data Object (JDO) persistence manager which provides object persistence and transaction support while masking the peculiarities of resource managers for particular databases.
-
Citations
25 Claims
-
1. A system, comprising:
-
a server cluster, comprising; a plurality of server nodes, wherein each server node comprises; a server container; one or more applications configured to execute within the server container, wherein the one or more applications are configured to process requests from a plurality of users as sessions, wherein each session comprises a series of requests from a same user, wherein the one or more applications access and modify application state data during the processing of a given one of the sessions, wherein the application state data comprises session state data for the given one of the sessions; and a Java Data Object (JDO) persistence manager configured to detect changes to the application state data within the server container and to persist the application state data; and a persistent data store coupled to the cluster, configured to store application state data of the one or more applications of each respective server container, and configured to make the application state data accessible to each of the plurality of server nodes; wherein one of the applications of one of the plurality of server nodes is configured to access from the persistent data store application state data for a session that has previously been processed on another one of the plurality of server nodes; wherein in response to detecting a change in application state data within the server container, the JDO persistence manager is configured to persist only a changed portion of the application state data within the respective server container to the persistent data store. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system, comprising:
-
an application server, comprising; an application server container; one or more applications configured to execute within the application server container, wherein the one or more applications are configured to process requests from a plurality of users as sessions, wherein each session comprises a series of requests from a same user, wherein the one or more applications access and modify application state data during the processing of a given one of the sessions, wherein the application state data comprises session state data for the given one of the sessions; and a Java Data Object (JDO) persistence manager configured to detect changes to the application state data within the application server container and to persist the application state data; and a persistent data store coupled to the application server, configured to store application state data of the one or more applications, and configured to make the application state data accessible to the application server and one or more other application servers; wherein one of the one or more applications is configured to access from the persistent data store application state data for a session that has previously been processed on one of the one or more other application servers; wherein in response to detecting a change in application state data within the application server container, the JDO persistence manager is configured to persist only a changed portion of the application state data within the application server container to the persistent data store. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method, comprising:
-
a Java Data Object (JDO) persistence manager detecting an access to application state data within a server, wherein application state data is accessed by an application executing on the server during the processing of a given one of a plurality of sessions, wherein the application is configured to process requests from a plurality of users as sessions, wherein each session comprises a series of requests from a same user, wherein the application state data comprises session state data for the given one of the sessions; the JDO persistence manager determining whether the access alters the application state, in response to said detecting; and in response to determining that the access alters the application state within the server, the JDO persistence manager persisting only the elements of the application state that are changed by the access to a persistent store that makes the application state accessible to the server and to one or more other servers; wherein the application is configured to access from the persistent data store application state data for a session that has previously been processed on one of the one or more other servers. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A computer-accessible storage medium storing program instructions, wherein the program instructions are computer-executable to implement a Java Data Object (JDO) persistence manager configured to:
-
detect an access to application state data within a server, wherein application state data is accessed by an application executing on the server during the processing of a given one of a plurality of sessions, wherein the application is configured to process requests from a plurality of users as sessions, wherein each session comprises a series of requests from a same user, wherein the application state data comprises session state data for the given one of the sessions; in response to said detecting, determine whether the access alters the application state; and in response to determining that the access alters the application state within the server, persist only the elements of the application state that are changed by the access to a persistent store that makes the application state accessible to the server and to one or more other servers; wherein the application is configured to access from the persistent data store application state data for a session that has previously been processed on one of the one or more other servers. - View Dependent Claims (21, 22, 23, 24, 25)
-
Specification