METHOD AND SYSTEM FOR MANAGING USER STATE FOR APPLICATIONS DEPLOYED ON PLATFORM AS A SERVICE (PAAS) CLOUDS
First Claim
1. A user session management system comprising:
- a first memory coupled to a processor, the first memory comprising;
a handler agent comprising;
a user interface configured to;
receive a session object request that identifies a session object; and
communicate a session object response that identifies a response to the session object request; and
handler agent logic that;
communicates, via a message queue, with one or more application instances accessible through one or more application agents in communication with the handler agent;
determines one or more of the application agents to which to forward the session object request; and
forwards the message queue message to the determined one or more application agents;
a hash table agent comprising a second memory, where the hash table agent is configured to identify a hash-mapped key-value that identifies at least one location, including the first memory or the second memory or both, to store or retrieve a session object and state of the session object; and
application agents logic configured to;
receive the session object request from the handler agent;
communicate a request for session object state of the session object to the hash table agent;
receive the session object and the session object state from the hash table agent;
service the session object request, using the one or more application instances accessible through application agents, based on the requested session object state to obtain a session object request result;
communicate an updated session object state and the session object request result to the hash table agent; and
communicate the session object response to the handler agent based on the session object request result.
1 Assignment
0 Petitions
Accused Products
Abstract
The REsilient LOosely Coupled (ReLoC) system and method implement a session-state management architecture for cloud computing that uses loosely-coupled services and platform agnostic scalable messaging technology to propagate and save session states. Maintaining the state of applications and user sessions is difficult in large scale web-based software systems, particularly in the context of cloud computing (e.g., platform as a service (PaaS) vendors, do not explicitly support state management infrastructure, such as clustering). In a PaaS environment, a user has little or no access and control over the server platform and session management layer. The platform tiers are generally loosely coupled and service-oriented, which make traditional session-state management techniques non-usable. The ReLoC system and method provides a high level of tolerance to failures of the platform tiers without corresponding disruptions in user sessions. In the context of PaaS Clouds, the ReLoC system provides greater scalability compared to traditional clustering environments.
93 Citations
21 Claims
-
1. A user session management system comprising:
-
a first memory coupled to a processor, the first memory comprising; a handler agent comprising; a user interface configured to;
receive a session object request that identifies a session object; and
communicate a session object response that identifies a response to the session object request; andhandler agent logic that;
communicates, via a message queue, with one or more application instances accessible through one or more application agents in communication with the handler agent;determines one or more of the application agents to which to forward the session object request; and
forwards the message queue message to the determined one or more application agents;a hash table agent comprising a second memory, where the hash table agent is configured to identify a hash-mapped key-value that identifies at least one location, including the first memory or the second memory or both, to store or retrieve a session object and state of the session object; and application agents logic configured to; receive the session object request from the handler agent; communicate a request for session object state of the session object to the hash table agent;
receive the session object and the session object state from the hash table agent;
service the session object request, using the one or more application instances accessible through application agents, based on the requested session object state to obtain a session object request result;
communicate an updated session object state and the session object request result to the hash table agent; and
communicate the session object response to the handler agent based on the session object request result. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method to provide user session management comprising:
-
receiving, using a user interface provided by a handler agent, a session object request that identifies a session object; storing in a first memory couple to a processor, the session object request; communicating a session object response that identifies a response to the session object request; communicating, via a message queue, with application instances accessible through application agents in communication with the handler agent, where the application agents are stored in the first memory; determining one or more of the application agents to which to forward the session object request; forwarding the message queue message to the determined one or more application agents; identifying, using a hash table agent comprising a second memory, a hash-mapped key-value that identifies at least one location, including the first memory or the second memory or both, to store or retrieve a session object and state of the session object; receiving the session object request from the handler agent; communicating a request for session object state of the session object to the hash table agent; receiving the session object and the session object state from the hash table agent; servicing the session object request, using the application instances accessible through application agents, based on the requested session object state to obtain a session object request result; communicating an updated session object state and the session object request result to the hash table agent; and communicating the session object response to the handler agent based on the session object request result. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A product comprising:
-
a first computer readable memory with processor executable instructions stored thereon, wherein the instructions when executed by the processor cause the processor to; receive, using a user interface provided by a handler agent, a session object request that identifies a session object; communicate a session object response that identifies a response to the session object request; communicate, via a message queue, with application instances accessible through application agents in communication with the handler agent; determine one or more of the application agents to which to forward the session object request; forward the message queue message to the determined one or more application agents; identify, using a hash table agent comprising a second memory, a hash-mapped key-value that identifies at least one location, including the first computer readable memory or the second memory or both, to store or retrieve a session object and state of the session object; receive the session object request from the handler agent; communicate a request for session object state of the session object to the hash table agent; receive the session object and the session object state from the hash table agent; service the session object request, using the application instances accessible through application agents, based on the requested session object state to obtain a session object request result; communicate an updated session object state and the session object request result to the hash table agent; and communicate the session object response to the handler agent based on the session object request result.
-
Specification