Persisted Cache Service for Shared SPA Data Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Single Page Applications (SPAs) often require dedicated caching solutions for dynamic components, leading to increased complexity, reduced cache efficacy, and suboptimal resource utilization due to multiple cache layers, which also necessitate more hardware support.

Innovation Solution

A centralized caching solution that provides a single persisted cache service supporting both static and dynamic first-party and third-party components, seamlessly integrating with API proxies to serve data from a shared cache across SPA boundaries, optimizing cache hit rates and minimizing redundant network requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple dedicated cache layers are provided for dynamic components in SPAs, then each component can have its own cache support, but the application complexity increases and cache efficacy is reduced

Engineering Contradiction:
Improvecache support for dynamic componentsVSAvoidapplication complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges multiple component-specific cache layers into a single unified cache service that serves all dynamic components across SPAs. This consolidation maintains the ability to support diverse dynamic components while eliminating the complexity of managing multiple separate cache instances, directly resolving the contradiction between adaptability and complexity.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified cache service is designed to be universal, supporting both static and dynamic components, first-party and third-party webparts, and multiple SPAs through a single instance. This multi-functional approach provides the versatility needed for different component types without requiring separate cache implementations for each.

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

2Adaptability or versatility

If multiple cache layers are implemented, then dynamic components can be cached, but cache efficacy is reduced and resource utilization becomes suboptimal

Engineering Contradiction:
Improvedynamic component cachingVSAvoidcache efficacy
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

By consolidating multiple cache layers into a single unified cache service, the system achieves optimal cache efficacy through better resource utilization. The unified cache can efficiently manage memory resources and cache hit rates across all components, eliminating the fragmentation and redundancy that occurs with multiple separate cache instances.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If multiple cache layers are provided, then comprehensive data caching is achieved, but hardware complexity increases

Engineering Contradiction:
Improvecaching coverageVSAvoidhardware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent consolidates multiple cache hardware resources into a single shared cache service instance. This unified approach maintains comprehensive caching coverage for all dynamic components while reducing hardware complexity by eliminating redundant cache structures and simplifying the hardware architecture that would otherwise be needed to support multiple separate cache layers.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentEP4189557B1Persisted data cache service
Publication Date: 2026.03.04 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP4189557B1 patent drawingFigure 1
  • EP4189557B1 patent drawingFigure 2
  • EP4189557B1 patent drawingFigure 3

AI summary

Techniques performed by a data processing system for caching data herein include initializing a single instance of a persisted cache service on the data processing system, receiving data requests from a plurality of single page applications (SPAs) on the data processing system, processing the data requests using the persisted cache service to obtain requested data from a cache implemented on the data processing system or from one or more remote data sources via a network connection, and providing the requested data obtained from the cache or the one or more remote data sources to an SPA of the plurality of SPAs from which each data request originated.