System and method for scaling for a large number of concurrent users

US9697050B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9697050-B2
Application numberUS-97617510-A
CountryUS
Kind codeB2
Filing dateDec 22, 2010
Priority dateDec 22, 2010
Publication dateJul 4, 2017
Grant dateJul 4, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for transforming a stateful computer application to a stateless application to facilitate scaling to a large number of concurrent users of a computer system, comprising: generating, by a processor executing a computer application, a session identification (ID) for a user session in the computer system; retrieving a server side cookie related to the user session from an external storage in the computer system using the session ID; restoring, by the processor, a user context for the user session by using the retrieved server side cookie; calling functional computing logic based on the restored user context, wherein execution of the functional computing logic includes accessing an application database, which includes: storing each lock for the application database using a respective key that includes a logic unit of work identifier (LUW_ID) and a timestamp; implementing a stateless update task framework on an applications server, which further includes: queuing and maintaining update statements in a server side update task storage for a duration of the user session; executing said statements at a later point in time; 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 server side cookie in the 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. The method of claim 1 , comprising: generating a new session identification for each of a plurality of users of a different computer application while the previous session identification remains active. 3. The method of claim 1 , wherein the session identification is generated by a stateful computer application, and the user context is restored by a stateless computer application. 4. The method of claim 3 , wherein the stateless computer application is a business page server (BSP) application. 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 (ID) for a user session in the computer; retrieve a server side cookie related to the user session from an external storage in the computer system using the session ID; restore a user context for the user session by using the retrieved server side cookie; call functional computing logic based on the restored user context, wherein execution of the functional computing logic includes accessing an application database, which includes: storing each lock for the application database using a respective key that includes a logic unit of work identifier (LUW_ID) and a timestamp; implementing a stateless update task framework on an applications server, which further includes: queuing and maintaining update statements in a server side update task storage for a duration of the user session; executing said statements at a later point in time; 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 server side in the 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. 6. The computer system of claim 5 , the processor is further configured to: generate a new session identification for each of a plurality of users of a different computer application having different functional computing logic while the previous session identification remains active. 7. The computer system of claim 6 , wherein the session identification is generated by a stateful computer application, and the user context is restored by a stateless computer application. 8. The computer system of claim 7 , wherein the stateless computer application is a business page server application. 9. A non-transitory 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 (ID) for a user session in the computer system; retrieving a server side cookie related to the user session from an external storage using the session ID; restoring a user context for the user session by using the retrieved server side cookie; calling functional computing logic based on the restored user context, wherein execution of the functional computing logic includes accessing an application database, which includes: storing each lock for the application database using a respective key that includes a logic unit of work identifier (LUW_ID) and a timestamp; implementing a stateless update task framework on an applications server, which further includes: queuing and maintaining update statements in a server side update task storage for a duration of the user session; executing said statements at a later point in time; 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 server side cookie for the user session in the 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. 10. The non-transitory machine-readable storage medium of claim 9 , the method further comprising: generating a new session identification for each of a plurality of users of a different computer application having different functional computing logic while the previous session identification remains active. 11. The non-transitory machine-readable storage medium of claim 10 , wherein the session identification is generated by a stateful computer application, and the user context is restored by a stateless computer application. 12. The non-transitory machine-readable storage medium of claim 11 , wherein the stateless computer application is a business page server application executing on a processor. 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 (ID) in response a request for a computer application, the computer session ID including information related to the computer requesting the computer application; forming a user context from the information related to the requesting computer; creating a server side cookie having a state representation of the user context and the computer session ID; accessing data from a database for execution of the computer application functions, the accessing of the database including: storing each lock for the application database using a respective key that includes a logic unit of work identifier (LUW_ID) and a timestamp; implementing a stateless update ta

Assignees

Inventors

Classifications

  • Access to data in other repository systems, e.g. legacy data or dynamic Web page generation · CPC title

  • Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms · CPC title

  • Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding · CPC title

  • G06F9/505Primary

    considering the load · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9697050B2 cover?
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 calle…
Who is the assignee on this patent?
Dittrich Wolfgang, Sap Se
What technology area does this patent fall under?
Primary CPC classification G06F9/505. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 04 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).