Edge Server Caching Derived Data to Reduce Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata freshnessVSAvoidpage load time
Core Design Contradiction:
ReliabilityVSLoss of time

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If cached data is used without validation, then page load time decreases, but data coherence and freshness are compromised

Engineering Contradiction:
Improvedata retrieval timeVSAvoiddata coherence
Core Design Contradiction:
Loss of timeVSReliability

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

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improvedata freshnessVSAvoidbandwidth usage
Core Design Contradiction:
ReliabilityVSLoss of energy

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

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10747670B2Reducing latency by caching derived data at an edge server
Publication Date: 2020.08.18 SALESFORCE INC
  • US10747670B2 patent drawing
  • US10747670B2 patent drawing
  • US10747670B2 patent drawing

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.