System and method for managing client application state in a stateless web browser environment
First Claim
Patent Images
1. A computer implemented method for retaining application state information on an otherwise stateless server, the method comprising the steps of:
- defining an application state object in memory;
determining an item count corresponding to a number of pieces of currently stored application state data in the application state object;
receiving a request to store a piece of application state data in the application state object;
incrementing the item count to generate an incremented item count;
creating a storage reference based on the incremented item count, wherein the storage reference identifies the piece of application state data within the application state object from other pieces of application state data within the application state object; and
storing the piece of application state data in the application state object at a location referenced by the storage reference.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for maintaining application state information in a stateless environment. State data of arbitrary length is stored in a storage area at a location referenced by a storage handle. The storage handle is recorded by the application and is used to reaccess the data as required. The storage handle is defined as a short fixed length field enabling compact reference and use regardless of the amount of data stored. Storage space is periodically reclaimed and reused after being freed by the application.
87 Citations
14 Claims
-
1. A computer implemented method for retaining application state information on an otherwise stateless server, the method comprising the steps of:
-
defining an application state object in memory;
determining an item count corresponding to a number of pieces of currently stored application state data in the application state object;
receiving a request to store a piece of application state data in the application state object;
incrementing the item count to generate an incremented item count;
creating a storage reference based on the incremented item count, wherein the storage reference identifies the piece of application state data within the application state object from other pieces of application state data within the application state object; and
storing the piece of application state data in the application state object at a location referenced by the storage reference. - View Dependent Claims (2, 3, 4, 5, 6)
returning the storage reference in response to the request to store a piece of application state data.
-
-
3. The method of claim 2, further comprising the step of:
- freeing a portion of the application state object at a location referenced by a storage reference in response to a free request including the storage reference.
-
4. The method of claim 3, further comprising the step of:
periodically reclaiming freed portions of the application state object and making storage reference in response to a free request including the storage reference.
-
5. The method of claim 1, wherein the application state object is globally defined for a project and accessible to all applications in the project.
-
6. The method of claim 1, further comprising the steps of:
-
receiving a request to retrieve a piece of application state data, the request including a storage reference; and
returning, from the application state object, the piece of application state data stored at a location in the application state object referenced by the storage reference.
-
-
7. A system for application state management in a stateless browser environment comprising:
-
storage means for storing data at addressable locations within an application state object;
means for maintaining an item count of currently stored application state data in the application state object;
means for receiving a request to store a piece of application state data within the application state object;
means for incrementing the item count to generate an incremented item count;
means for storing the piece of application state data at an addressable location within the application state object; and
means for associating the incremented item count with the addressable location of the piece of application state data to generate an item count association, wherein the item count association identifies the piece of application state data within the application state object from other pieces of application state data within the application state object. - View Dependent Claims (8, 9, 10)
means for retrieving data from an addressable location within the application state object referenced by the item count association.
-
-
9. The system of claim 8, further comprising:
means for freeing the addressable location within the application state object in response to a free request containing the item count association.
-
10. The system of claim 9, further comprising:
means for periodically reclaiming freed storage and enabling reallocation of said reclaimed storage in response to data store requests.
-
11. A computer program product having a computer readable medium having computer program logic recorded thereon for managing application state in a stateless web server environment, said computer program product comprising:
-
computer program product means for allocating an application state object for application state storage;
computer program product means for determining a reference corresponding to a number of pieces of currently stored stat data in the application state object;
computer program product means for receiving a request to store state data in the application state object; and
computer program product means for incrementing the reference to generate an incremented reference and for storing the stat data at a location in application state object referenced by the incremented reference, wherein the reference identifies the state data within the application state object from other state data within the application state object. - View Dependent Claims (12, 13, 14)
computer program product means for retrieving and returning requested state data in response to a request including a reference to the requested state data.
-
-
13. The computer program product of claim 11, further comprising:
computer program product means for freeing storage space assigned to state data in response to a request containing a reference to the state data.
-
14. The computer program product of claim 13, further comprising:
computer program product means for periodically reclaiming freed space in the application state object for reuse.
Specification