Edge Server Caching Derived Data to Reduce Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face high latency and inefficiency in delivering up-to-date data due to synchronous calls to core servers, especially in geographically dispersed environments, and fail to provide coherent data to all users, leading to suboptimal user experiences.
Innovation Solution
Caching derived data at an edge server, which monitors core data instances for changes, pre-caches updated data, and notifies clients to refresh cached values without synchronous requests, ensuring clients access the most current data with minimal latency and bandwidth usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If synchronous calls are made to core servers to retrieve data, then data freshness is ensured, but latency and page load time increase significantly
Solution Approach 1:
The system performs preliminary actions by pre-caching derived data at edge servers before it is actually needed. When core data changes, the system proactively computes and caches the derived data at edge locations, so that when clients request the data, it is already available locally without requiring synchronous calls to core servers, thus eliminating latency while ensuring freshness through the invalidation notification mechanism
Solution Approach 2:
The system introduces an intermediary mechanism (edge cache with invalidation notification) between the core server and clients. Instead of clients directly calling core servers for every data request, the edge cache acts as an intermediary that stores derived data and notifies clients when data changes, reducing the need for synchronous core server calls while maintaining data freshness
2Loss of time
If cached data is used without validation, then page load time decreases, but data coherence and freshness are compromised
Solution Approach 1:
The system implements feedback by establishing a notification mechanism where the core server (or cache manager) actively notifies edge caches and clients when data changes occur. This feedback loop ensures that cached data remains coherent with the source by providing timely invalidation notifications, allowing the system to use cached data for extended periods without validation overhead while maintaining data coherence through the notification-based invalidation approach
3Reliability
If data is pushed to all clients when changed, then data freshness is maintained, but bandwidth consumption increases due to propagating projections and user-specific calculations
Solution Approach 1:
The system extracts only the essential change information from the core data and pushes minimal invalidation notifications to edge caches and clients. Instead of pushing complete data sets or complex projections, the system extracts and transmits only the necessary invalidation signals, significantly reducing bandwidth consumption while maintaining data freshness through targeted notifications rather than comprehensive data propagation
Data Source
AI summary
To deliver up-to-date, coherent user data to applications upon request, the disclosed technology includes systems and methods for caching data and metadata after it has been synchronously loaded—for future retrieval with a page load time close to zero milliseconds. To provide this experience, data needs to be stored as locally to a user as possible, in the cache on the local device or in an edge cache located geographically nearby, for use in responding to requests. Applications which maintain caches of API results can be notified of their invalidation, and can detect the invalidation, propagate the invalidation to any further client tiers with the appropriate derivative type mapping, and refresh their cached values so that clients need not synchronously make the API requests again—ensuring that the client has access to the most up-to-date copy of data as inexpensively as possible—in terms of bandwidth and latency.


