Local Cache Intercepts Browser Data Requests

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web-based applications experience delays due to data transfer between local machines and servers, leading to reduced responsiveness and user inconvenience, especially when the same data is repeatedly requested across multiple browser tabs.

Innovation Solution

Implementing a caching system within local memory that intercepts data requests from web browser applications, checks for availability in the cache, and updates it from a remote server, while encrypting data to enhance security and manage version attributes to prevent stale data updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is transferred between local machine and server upon application initialization, then data is available for use, but application launch is delayed until transfer is complete

Engineering Contradiction:
Improvedata availabilityVSAvoidapplication launch time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs data transfer in advance by caching data objects in the browser's local memory before they are actually needed. When an application is launched, the syncer delegate intercepts requests and checks if data is already available in local cache, returning it immediately without requiring a server transfer. This preliminary caching action resolves the contradiction by making data available locally before application launch, eliminating the delay while ensuring data availability.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If data is cached in local memory for faster access, then application responsiveness is improved, but data security may be compromised

Engineering Contradiction:
Improveapplication responsivenessVSAvoiddata security
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The system creates encrypted copies of data objects in local memory rather than storing plaintext data. The syncer delegate intercepts requests, checks the local cache for encrypted data objects, and returns them without requiring decryption or plaintext storage. This copying approach with encryption resolves the contradiction by enabling fast local access to encrypted data copies while maintaining security through encryption, preventing unauthorized access to the cached data.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If multiple browser tabs are launched to access web applications, then user access flexibility is improved, but redundant data transfers occur even when data is already retrieved

Engineering Contradiction:
Improveuser access flexibilityVSAvoidnetwork bandwidth
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The system merges the data storage function across multiple browser tabs by implementing a shared local cache in the browser's memory. The syncer delegate intercepts requests from any tab, checks the shared local cache for available data objects, and serves them without requiring additional server transfers. This merging approach resolves the contradiction by enabling multiple tabs to share cached data, providing access flexibility while eliminating redundant network transfers and conserving bandwidth.

Inventive Principle:
Principle #5Merging (Combining)

4Reliability

If version attributes are tracked for each data object, then data freshness is ensured, but system complexity increases

Engineering Contradiction:
Improvedata freshnessVSAvoidcaching system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements feedback through version attributes that track the state of each data object. The syncer delegate checks version attributes when intercepting requests to determine if cached data is current or if a server transfer is needed. This feedback mechanism resolves the contradiction by ensuring data freshness through version tracking while keeping the implementation simple and integrated into the existing request interception flow, avoiding excessive complexity.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11468175B2Caching for high-performance web applications
Publication Date: 2022.10.11 SALESFORCE INC
  • US11468175B2 patent drawing
  • US11468175B2 patent drawing
  • US11468175B2 patent drawing

AI summary

A system can provide a web browser application that generates a request for a data object to a server. The system can include a syncer delegate that intercepts the request from the web browser application and determines whether the requested data object is available in a cache memory. If the data object is available in the cache memory, the requested data object is transferred from the memory to the web browser application and the request is forwarded to a server over a network. If the data object is not available in the cache memory, the request is forwarded to a server over a network. The server can transfer the data object over the network to the syncer delegate, which can provide the data object to the web browser application and update the cache with the newly-received data object.