User Partitioned Cache Storage for Reduced Page Load Time

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Fetching data in web-based applications can be time-consuming and computationally intensive due to complex queries and subsequent processing, leading to significant lag times and user frustration.

Innovation Solution

Implementing a cache stored in a user-partitioned region of storage to reduce data fetching time by accessing and presenting cached data while asynchronously retrieving new data, minimizing unnecessary writes to the cache, and providing improved security through user-specific storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If data is fetched through multiple queries and processing, then data accuracy and completeness are improved, but page load time increases significantly

Engineering Contradiction:
Improvedata accuracyVSAvoidpage load time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs data fetching and processing in advance before the user actually needs the data. Cache entries are pre-populated with query results and processed data, so when a page load occurs, the data is already ready for immediate presentation. This eliminates the need to execute multiple queries at the moment of page load, significantly reducing load time while maintaining data accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

An intermediary caching layer is introduced between the data sources and the user interface. This cache stores pre-fetched and processed data, acting as a mediator that serves data quickly without requiring real-time execution of multiple complex queries. The intermediary cache resolves the contradiction by providing fast access to accurate, pre-processed data.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If cache is stored in a shared region, then data access speed is improved, but concurrent load and contention increase

Engineering Contradiction:
Improvedata access speedVSAvoidconcurrent load handling
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The cache storage is segmented into user-specific partitioned regions rather than using a single shared cache. Each user's cache entries are isolated in their own partition, which eliminates contention between concurrent users accessing the same cache. This segmentation maintains fast access speeds while improving the system's ability to handle concurrent loads by distributing the cache access burden across multiple isolated partitions.

Inventive Principle:
Principle #1Segmentation

3Reliability

If data is frequently written to cache, then cache freshness is improved, but computing resources are wasted

Engineering Contradiction:
Improvecache freshnessVSAvoidcomputing resources
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system implements feedback mechanisms to track whether cached data has actually changed before writing to cache. By monitoring data change status and only writing when necessary, the system avoids unnecessary cache write operations that would consume computing resources. This feedback-based approach ensures cache freshness is maintained only when actually needed, preventing waste of energy and computational resources on redundant write operations.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10469611B2Reduced page load time utilizing cache storage
Publication Date: 2019.11.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10469611B2 patent drawing
  • US10469611B2 patent drawing
  • US10469611B2 patent drawing

AI summary

A cache that can be stored in a user partitioned region of storage and utilized to reduce the amount of time required to present content responsive to content requests is described. A request for content associated with a region of a user interface can be received and data corresponding to a list item in a cache can be accessed. Content associated with the data can be presented in the region of the user interface via a same presentation as a most recent presentation of the content. At a time subsequent to when the content is initially presented in the region, new data associated with the list item can be retrieved. In examples where the new data corresponds to updated data, the presentation can be modified based partly on the updated data and the new data can be written to the cache in a location corresponding to the list item.