Seed Value Caching for Single Page Application API Requests
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current content delivery networks face high network traffic and inefficiencies in caching dynamic API request results, particularly in single page applications, due to the difficulty in invalidating browser caches and the burden on back-end servers from validation requests.
Innovation Solution
A method and system that maintain a unique seed value for groups of content items, updating it when items change, and using this seed value in API requests to cache and retrieve only updated content, reducing unnecessary requests to the back-end server and allowing for fine-grained cache management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If validation-based caching is used with ETag and if-not-match headers, then data freshness is improved, but server burden and network traffic increase due to validation requests
Solution Approach 1:
The system performs preliminary actions by maintaining a local cache of seed values at the client side. Before making API requests, the client checks whether the cached seed value matches the current version, avoiding the need for server-side validation requests unless actual updates are detected. This preliminary local verification reduces server burden while maintaining data freshness.
Solution Approach 2:
The patent introduces seed values as an intermediary mechanism between the server and client cache validation. Instead of direct ETag comparison requiring server communication, the seed value acts as a lightweight token that represents content versioning. The client uses this intermediary to determine cache validity locally, reducing network traffic and server validation requests.
2Reliability
If CDN cache invalidation is used to update content, then data freshness is improved, but network traffic and time consumption increase
Solution Approach 1:
The system performs preliminary action by pre-generating and caching seed values at the client side before they are needed for validation. When content updates occur, the client can immediately compare its cached seed value with the new version without waiting for CDN invalidation propagation. This preliminary preparation eliminates the time-consuming CDN invalidation process while ensuring data freshness.
Solution Approach 2:
The patent extracts the cache validation mechanism from the CDN invalidation system. Instead of relying on heavy CDN invalidation operations that propagate through the entire distribution network, the system extracts validation logic to the client side using lightweight seed value comparison. This separation removes the time-consuming network-wide invalidation process while maintaining update accuracy.
3Loss of energy
If API response caching is implemented with expiration time, then network traffic is reduced, but data staleness occurs during the expiration period
Solution Approach 1:
The system implements feedback by continuously tracking seed value changes at the client side. The client monitors whether the cached content's seed value has changed since the last update, providing feedback on actual content validity. This feedback mechanism allows the cache to remain valid indefinitely until actual changes are detected, reducing network traffic while preventing data staleness through intelligent validity assessment.
Solution Approach 2:
The patent applies dynamics by making cache validity dynamic rather than static. Instead of using fixed expiration times that cause premature cache invalidation, the system dynamically adjusts cache validity based on seed value comparisons. The cache remains valid as long as the seed value hasn't changed, and becomes invalid only when actual content updates are detected. This dynamic approach reduces unnecessary network traffic while ensuring data freshness.
Data Source
AI summary
A computer-implemented method for improving cachability of an API request result of a content delivery system may be provided. The method comprises maintaining a unique seed value per group of content items of a content type, and, upon determining that one of the content items of the group is updated, updating the seed value for the group of content items. The method also comprises caching one of the content items of the group together with the related seed value in a caching system and receiving, by the caching system, an API request requesting as API request result a content item of the group, wherein a parameter of the API request is a selected seed value.


