SYSTEM AND METHOD FOR SCALING FOR A LARGE NUMBER OF CONCURRENT USERS
First Claim
1. A method for transforming a stateful computer application to a stateless application to facilitate scaling to a large number of concurrent users of the computer system, comprising:
- generating, by a processor executing a computer application, a session identification for a user session for each user of a plurality of users of the computer application;
retrieving cookies related to the user from the plurality of users from an external storage using the session identification;
restoring, by the processor, a user context for the user from the plurality of users of the computer application by using the retrieved cookies;
calling functional computing logic based on the restored user context;
assembling a state representation subset of the user context according to data in a database;
upon completion of functions performed by the computer application functional computing logic, storing the user context and the assembled state representation as a cookie for each of the plurality of users in external storage, wherein the session ID is a primary key; and
generating HTML code by a user interface for the user based on the assembled state representation, user context, and data from the accessed database.
2 Assignments
0 Petitions
Accused Products
Abstract
Disclosed embodiments provide a system, machine-readable medium and a method that may generate a session identification for a user session of each of a plurality of users of the computer application. Cookies related to users may be retrieved from external storage using the session identification. A user context may be restored using the retrieved cookies. Functional computing logic may be called based on the restored user context. A state representation may be assembled according to data in a database. Upon completion of functions performed by the called functional computing logic, the user context and the assembled state representation may be stored as a cookie for each of users in external storage. Based on the assembled state representation, user context, and data from the accessed database, HTML code may be generated. Stateful function computing logic may be re-used by employing stateless implementations of consistency frameworks which may include lock management and update task handling performing the actual database changes.
23 Citations
15 Claims
-
1. A method for transforming a stateful computer application to a stateless application to facilitate scaling to a large number of concurrent users of the computer system, comprising:
-
generating, by a processor executing a computer application, a session identification for a user session for each user of a plurality of users of the computer application; retrieving cookies related to the user from the plurality of users from an external storage using the session identification; restoring, by the processor, a user context for the user from the plurality of users of the computer application by using the retrieved cookies; calling functional computing logic based on the restored user context; assembling a state representation subset of the user context according to data in a database; upon completion of functions performed by the computer application functional computing logic, storing the user context and the assembled state representation as a cookie for each of the plurality of users in external storage, wherein the session ID is a primary key; and generating HTML code by a user interface for the user based on the assembled state representation, user context, and data from the accessed database. - View Dependent Claims (2, 3, 4)
-
-
5. A computer system for transforming a stateful computer application to a stateless application to facilitate scaling a computer system to a large number of concurrent users, comprising:
-
a terminal for receiving inputs and outputting data; a database for storing data; and an application server having a processor configured to; generate a session identification for a user session of each of a plurality of users of the computer application; retrieve cookies related to each of the plurality the user from external storage using the session identification; restore a user context for each of the plurality of users of the computer application by using the retrieved cookies; call functional computing logic based on the restored user context; assemble a state representation subset of the user context according to data in a database; upon completion of functions performed by the functional computing logic, store the user context and the assembled state representation as a cookie for each of the plurality of users in external storage, wherein the session ID is a primary key; and generate HTML code by a user interface based on the assembled state representation, user context, and data from the accessed database. - View Dependent Claims (6, 7, 8)
-
-
9. A machine-readable storage medium embodied with program instructions for causing a computer processor to execute a method for scaling a computer system to a large number of concurrent users, the method comprising:
-
generating a session identification for a user session of each of a plurality of users of the computer application; retrieving cookies related to each of the plurality the user from external storage using the session identification; restoring a user context for each of the plurality of users of the computer application by using the retrieved cookies; calling functional computing logic based on the restored user context; assembling a state representation subset of the user context according to data in a database; upon completion of functions performed by the functional computing logic, storing the user context and the assembled state representation as a cookie for each of the plurality of users in external storage, wherein the session ID is a primary key; and generating HTML code by a user interface for each of the plurality of based on the assembled state representation, user context, and data from the accessed database. - View Dependent Claims (10, 11, 12)
-
-
13. A method for substituting a stateless implementation for a stateful implementation to provide further functionality to scale a computer application for use by a large number of users, comprising:
-
generating a computer session identification in response a request for a computer application, the computer session identification including information related to the computer requesting the computer application; forming a user context from the information related to the requesting computer; creating a cookie having a state representation of the user context and the computer session identification; accessing data from a database for execution of the computer application functions; upon execution of functions related to the computer application, assembling a revised state representation of the user context including the computer session; upon completion of functions performed by the computer application, revising the cookie to include the assembled state representation, wherein the session ID is a primary key for retrieving the cookie from external storage; storing the revised cookie in external storage; and generating HTML code by a user interface based on the assembled state representation, user context, and data from the accessed database.
-
-
14. A system for substituting a stateless implementation for a stateful implementation to provide further functionality to scale a computer application for use by a large number of users, comprising:
-
a terminal for receiving inputs and outputting data; a database for storing data; and an application server having a processor configured to; generate a computer session identification in response a request for a computer application, the computer session identification including information related to the computer requesting the computer application; form a user context from the information related to the requesting computer; create a cookie having a state representation of the user context and the computer session identification; access data from a database for execution of the computer application functions; upon execution of functions related to the computer application, assemble a revised state representation of the user context including the computer session; upon completion of functions performed by the computer application, revise the cookie to include the assembled state representation, wherein the session ID is a primary key for retrieving the cookie from external storage; store the revised cookie in external storage; and generate HTML code by a user interface based on the assembled state representation, user context, and data from the accessed database.
-
-
15. A machine-readable storage medium embodied with program instructions for causing a computer processor to execute a method for scaling a computer system to a large number of concurrent users, the method comprising:
-
generating a computer session identification in response a request for a computer application, the computer session identification including information related to the computer requesting the computer application; forming a user context from the information related to the requesting computer; creating a cookie having a state representation of the user context and the computer session identification; accessing data from a database for execution of the computer application functions; upon execution of functions related to the computer application, assembling a revised state representation of the user context including the computer session; upon completion of functions performed by the computer application, revising the cookie to include the assembled state representation, wherein the session ID is a primary key for retrieving the cookie from external storage; storing the revised cookie in external storage; and generating HTML code by a user interface based on the assembled state representation, user context, and data from the accessed database.
-
Specification