Global Session Pool for Stateless Content Management Caching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In stateless content management systems, the frequent creation and destruction of session managers and their associated session pools lead to the loss of object caches, forcing subsequent requests to perform expensive backend fetches for data that was previously cached, as each request requires re-retrieval of objects due to the lack of persistent caching across requests.
Innovation Solution
Implementing a global session pool shared among session managers, where sessions and object caches persist even after individual session managers terminate, allowing subsequent requests to utilize cached data without re-fetching from the backend.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a session manager and session pool are created for each request in a stateless content management system, then the system maintains stateless architecture and simplicity, but object caches are lost after each request forcing expensive backend fetches
Solution Approach 1:
The patent merges the session pool and object cache from individual session managers into a shared global session pool that persists across multiple requests. This allows object caches to be retained and reused by different session managers, eliminating the need to re-fetch data from the backend while maintaining the stateless architecture of individual requests.
Solution Approach 2:
The global session pool serves multiple functions: it acts as a session manager for individual requests while simultaneously providing persistent object caching across requests. This multi-functional design allows the system to maintain stateless request handling while benefiting from cached data reuse, improving data access efficiency without increasing individual request complexity.
2Reliability
If sessions are released after each request in stateless mode, then the system maintains clean state between requests, but cached objects are removed requiring re-retrieval from backend
Solution Approach 1:
The system performs preliminary actions by caching objects in the global session pool before they are needed by subsequent requests. Objects are retrieved and cached in advance, so when future requests need the same objects, they can be served from the cache without requiring time-consuming backend fetches, while still maintaining proper state management.
Solution Approach 2:
The global session pool acts as an intermediary between the backend repository and individual session managers. It mediates data access by intercepting requests for cached objects and serving them from the global cache, reducing the need for direct backend access and eliminating re-fetch time while maintaining stateless request handling.
3Ease of operation
If object caches are associated with individual session managers, then each session has its own cache, but the cache is destroyed when the session manager terminates
Solution Approach 1:
The patent transitions from a single-dimensional cache model (cache tied to individual session manager lifecycle) to a multi-dimensional model where a global session pool provides persistent caching across multiple session managers. This dimensional change allows cached data to persist beyond individual session manager boundaries while maintaining session independence for request handling.
Data Source
AI summary
Techniques to provide stateless services in a content management client are disclosed. A session manager is instantiated to service a request to access a content item. The session manager is used to obtain from a global session pool that is not specific to the session manager a session to service the request. The session is used to service the request. Once the request has been completed the session manager may be terminated, but the global session pool and associated object cache remain.


