Client-Side Cache Invalidation via Message Queue

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current multi-layer data caching systems are inefficient when dealing with frequently changing or updated content, as they struggle to effectively manage and deliver dynamic data across large user pools and social networks, leading to difficulties in tracking and managing subscribers and identifying popular content.

Innovation Solution

The implementation of a non-persistent message queue system that augments web servers with a scalable, efficient message and state update routing fabric, utilizing a client-side network resource cache with active invalidation mechanisms, such as message queues and reactive programming, to notify clients of data changes and manage cache invalidation dynamically.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If multi-layer data caching systems are used to reduce network resources, then network efficiency is improved, but the system becomes ineffective when data content is subject to frequent changes or updates

Engineering Contradiction:
Improvenetwork resourcesVSAvoidhandling of frequently changing content
Core Design Contradiction:
Loss of energyVSAdaptability or versatility

Solution Approach 1:

The server performs preliminary actions by proactively pushing invalidation notifications to clients before they request updated content. This allows the caching system to maintain efficiency while adapting to changes, as clients are notified in advance when their cached data becomes stale, enabling them to refresh only when necessary.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where the server monitors content changes and actively communicates invalidation status back to clients. This feedback loop enables the caching system to dynamically adapt to content changes, resolving the contradiction between maintaining cache efficiency and handling frequently changing content.

Inventive Principle:
Principle #23Feedback

2Use of energy by moving object

If passive caching is used to reduce server load, then server resource consumption is reduced, but clients cannot efficiently receive updates on changing data

Engineering Contradiction:
Improveserver resource consumptionVSAvoidresponsiveness to data changes
Core Design Contradiction:
Use of energy by moving objectVSSpeed

Solution Approach 1:

Instead of the traditional approach where clients passively request updates or poll the server, the system inverts the communication flow by having the server actively push invalidation notifications to clients. This inversion maintains low server resource consumption while dramatically improving client responsiveness to data changes.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The system introduces an intermediary invalidation notification mechanism between the server and client caches. This intermediary layer enables efficient update propagation without requiring continuous server-client communication or heavy server resource allocation, thus maintaining low server consumption while improving update speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of energy

If traditional HTTP caching is used, then network resource usage is reduced, but it becomes difficult to track and manage subscribers and identify popular content across large user pools

Engineering Contradiction:
Improvenetwork resourcesVSAvoidtracking and managing subscribers
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The invalidation notification system serves multiple functions simultaneously: it maintains cache efficiency, enables subscriber tracking, identifies popular content, and provides real-time update propagation. This multi-functional approach resolves the contradiction by using a single mechanism to achieve both network efficiency and improved subscriber management capabilities.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system implements feedback mechanisms that allow the server to track which clients have received invalidation notifications and which content is being accessed. This feedback capability enables efficient subscriber tracking and popular content identification without compromising network resource efficiency, as the same notification infrastructure serves both purposes.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9578081B2System and method for providing an actively invalidated client-side network resource cache
Publication Date: 2017.02.21 IMVU INC
  • US9578081B2 patent drawing
  • US9578081B2 patent drawing
  • US9578081B2 patent drawing

AI summary

A system and method for providing an actively invalidated client-side network resource cache are disclosed. A particular embodiment includes: a client configured to request, for a client application, data associated with an identifier from a server; the server configured to provide the data associated with the identifier and to establish a queue associated with the identifier at a scalable message queuing system, the client being configured to subscribe to the queue at the scalable message queuing system to receive invalidation information associated with the data; the server being further configured to signal the queue of an invalidation event associated with the data; the scalable message queuing system being configured to convey information indicative of the invalidation event to the client; and the client being further configured to re-request the data associated with the identifier from the server upon receipt of the information indicative of the invalidation event.