Application Cache Prepopulation via Stream Listening Service

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Service providers face challenges in delivering timely data to consumers due to the spiky nature of consumer demand, leading to increased burden on storage systems and potential serving of stale data, which can result in consumer dissatisfaction.

Innovation Solution

A computer-implemented method that involves receiving data from applications, monitoring data streams, and updating an application cache with time-to-live values to ensure timely data delivery by refreshing cache entries based on incoming data changes, thereby reducing the need for frequent queries to data stores and minimizing stale data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If longer TTL values are used, then data freshness is improved, but the chance of serving stale data increases

Engineering Contradiction:
Improvedata freshnessVSAvoidstale data
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The system performs preliminary actions by prepopulating the cache with data from multiple sources (application cache, data stores, and data streams) before consumer requests arrive. This proactive caching strategy ensures that fresh data is available immediately when consumers access it, resolving the contradiction between maintaining long TTLs for freshness and preventing stale data delivery.

Inventive Principle:
Principle #10Preliminary action

2Loss of information

If shorter TTL values are used, then stale data is reduced, but the processing burden on storage systems increases

Engineering Contradiction:
Improvestale dataVSAvoidprocessing burden
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The system prepopulates the cache with data from multiple sources before consumer requests arrive, reducing the frequency of queries to data stores. This preliminary caching action alleviates the processing burden on storage systems that would otherwise occur with shorter TTL values requiring frequent refreshes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The application cache serves as an intermediary between consumers and data stores, buffering the spiky consumer demand patterns. By absorbing the impact of short TTLs through prepopulation and continuous updates from data streams, the cache protects data stores from the full brunt of consumer requests while maintaining data freshness.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If cache is refreshed frequently, then data freshness is improved, but the processing burden on data stores increases

Engineering Contradiction:
Improvedata freshnessVSAvoidprocessing burden
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The application cache acts as a mediator that receives continuous updates from data streams and prepopulates data before consumer requests. This intermediary layer enables frequent updates to maintain freshness without directly increasing the processing burden on data stores, as the cache handles the refresh operations locally.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system establishes continuous data flow through data streams that continuously update the cache with fresh data. This continuous action maintains data freshness automatically without requiring discrete refresh operations that would increase processing burden on data stores during spiky demand periods.

Inventive Principle:
Principle #20Continuity of useful action

4Loss of time

If data is cached in-memory, then response time is reduced, but the complexity of managing cache freshness increases

Engineering Contradiction:
Improveresponse timeVSAvoidcache management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The application cache serves as an intermediary layer that simplifies cache management by automatically receiving updates from data streams and prepopulating data before requests. This mediator approach reduces the complexity of managing cache freshness while maintaining fast in-memory response times for consumers.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11695696B2Prepopulation of caches
Publication Date: 2023.07.04 CAPITAL ONE SERVICES LLC
  • US11695696B2 patent drawing
  • US11695696B2 patent drawing
  • US11695696B2 patent drawing

AI summary

A system, process, and computer-readable medium for updating an application cache using a stream listening service is described. A stream listening service may monitor one or more data streams for content relating to a user. The stream listening service may forward the content along with time-to-live values to an application cache. A user may use an application to obtain information regarding the user's account, where the application obtains information from a data store and/or cached information from the application cache. The stream listening service, by forwarding current account information, obtained from listening to one or more streams, to the application cache, reduces traffic at the data store by providing current information from the data stream to the application cache.