Asynchronous Cache Update for Data Freshness and Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage operations in cloud environments face significant latency due to remote storage servers, and existing caching methods often return stale data from local caches, which can impact performance.

Innovation Solution

Implementing a server system that maintains a cache of objects and uses asynchronous computations to determine object values, allowing for immediate return of cached values before computation completion and updating the cache with fresh values post-completion, thereby reducing latency and ensuring data freshness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If data is fetched from remote cloud storage servers, then data freshness is improved, but latency increases significantly

Engineering Contradiction:
Improvedata freshnessVSAvoidlatency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by starting asynchronous computations to fetch data from remote storage before the actual read request completes. The server initiates background tasks that populate the cache in advance, so when a read request arrives, the data is already available or nearly available, eliminating the need to wait for remote storage operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a cache as an intermediary layer between the client and remote cloud storage servers. This cache holds copies of frequently accessed data objects, allowing read requests to be served from the local cache rather than fetching data from remote storage, thereby reducing latency while maintaining data freshness through periodic asynchronous updates.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If data is returned from local cache immediately, then latency is reduced, but data freshness deteriorates

Engineering Contradiction:
ImprovelatencyVSAvoiddata freshness
Core Design Contradiction:
Loss of timeVSMeasurement precision

Solution Approach 1:

The system maintains continuous useful action by running asynchronous computations in the background that continuously update the cache with fresh data from remote storage. This allows the cache to serve read requests immediately while simultaneously maintaining data freshness through ongoing background synchronization, eliminating the trade-off between immediate response and data currency.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

Asynchronous computations perform preliminary data fetching and cache updates before read requests require the data. By proactively populating the cache with fresh data in the background, the system ensures that when read requests arrive, the cache contains up-to-date information, allowing immediate responses without sacrificing data freshness.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If asynchronous computations are used to fetch data, then system responsiveness is improved, but complexity of data management increases

Engineering Contradiction:
Improvesystem responsivenessVSAvoiddata management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements self-service by having asynchronous computations automatically manage cache updates without requiring manual intervention or complex coordination. The background tasks autonomously fetch data from remote storage and update the cache, reducing the burden on the main request-handling logic and simplifying data management while maintaining high system responsiveness.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11847054B2Providing data values using asynchronous operations and based on timing of occurrence of requests for the data values
Publication Date: 2023.12.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11847054B2 patent drawing
  • US11847054B2 patent drawing
  • US11847054B2 patent drawing

AI summary

A processing system server and methods for performing asynchronous data store operations. The server includes a processor which maintains a cache of objects in memory of the server. The processor executes an asynchronous computation to determine the value of an object. In response to receiving a request for the object occurring before the asynchronous computation has determined the value of the object, a value of the object is returned from the cache. In response to receiving a request for the object occurring after the asynchronous computation has determined the value of the object, a value of the object determined by the asynchronous computation is returned. The asynchronous computation may comprise at least one future, such as a ListenableFuture, or a process or thread. The asynchronous computation may determine the value of the object by querying at least one additional server.