Server Cache System for Web Application Data Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Web-based applications and services face challenges due to the limitations of cookies, including limited capacity and size constraints, as well as privacy and security concerns, which can lead to high database request loads and increased complexity in maintaining response times.
Innovation Solution
Implementing a system that stores application data in caches, allowing for efficient access by application servers, where location data is used to determine the cache and database locations, enabling the cache service module to request and store data, and manage data distribution across multiple caches and databases.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If cookies are used to support web-based applications and services, then application functionality is enabled, but capacity limitations and size constraints are imposed
Solution Approach 1:
The system divides data storage into multiple segments: browser cookies store only location data (cache identifiers), while the actual application data is segmented and distributed across multiple server-side caches. This segmentation allows cookies to remain within size limits while enabling access to much larger total storage capacity through the distributed cache system.
Solution Approach 2:
The system transitions from a single-dimension storage model (cookies on client) to a multi-dimensional architecture where cookies serve as pointers in one dimension, and server-side caches provide additional dimensions for data storage. This dimensional expansion allows the system to overcome cookie size constraints by distributing data across multiple server-side storage locations.
2Adaptability or versatility
If database requests are increased to support web-based applications, then application capabilities are enhanced, but database load and response time maintenance become cost prohibitive
Solution Approach 1:
Server-side caches act as intermediaries between application servers and databases. The cache service module intercepts data requests, checks the cache for existing data, and only accesses the database when necessary. This intermediary layer reduces database load and improves response times by serving frequently accessed data from the faster cache storage.
Solution Approach 2:
Data is pre-loaded and stored in server-side caches before being requested by application servers. The cache service module proactively manages data distribution to caches, so that when application servers need data, it is already available in the cache rather than requiring a full database query. This preliminary action reduces response times and database load.
3Adaptability or versatility
If data is distributed across multiple caches and databases, then scalability is improved, but system complexity increases
Solution Approach 1:
The cache service module serves multiple functions: it manages data distribution to caches, handles cache lookup operations, coordinates with the cache invalidation module, and interfaces with both application servers and databases. This universal module consolidates complexity into a single component that can be scaled independently, allowing the system to achieve scalability without proportionally increasing overall system complexity.
Data Source
AI summary
In an example embodiment, a system and method to store and retrieve application data from a cache and a database are provided. The example method may comprise receiving location data associated with application data from a user device, using the location data to determine a cache or database on which the application data is stored, and requesting application data from the cache or database. The system and method may further include monitoring requests for application data associated with instructions having a set of characteristics, identifying application data as associated with the instructions having the set of characteristics, and requesting the application data based on receiving subsequent instructions sharing the same set of characteristics.


