Virtual Data Source for Web Application Local Caching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Web applications face inefficiencies in populating user interface widgets with data, as they often require remote storage access, leading to slower performance and increased bandwidth usage.
Innovation Solution
Storing semi-static information in local session variables on the client-side, allowing web applications to access local storage instead of remote storage, thereby reducing the need for frequent data retrieval from remote servers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If web applications access remote storage to populate user interface widgets with data, then data can be retrieved from centralized storage, but performance slows down and bandwidth usage increases
Solution Approach 1:
The patent creates a virtual data source that copies semi-static data from remote storage into local session variables on the client side. This allows the web application to access data locally rather than continuously querying the remote server, thereby improving data access speed while maintaining data availability through the virtual data source abstraction layer.
Solution Approach 2:
The patent implements preliminary data retrieval by fetching semi-static data from remote storage and storing it in local session variables before it is needed by the web application. This pre-loading of data into local storage eliminates the need for frequent remote requests, thereby improving performance while maintaining reliable data access through the virtual data source.
2Reliability
If web applications frequently retrieve data from remote servers, then data can be kept up-to-date, but bandwidth usage increases
Solution Approach 1:
The virtual data source creates a local copy of semi-static data in session variables, allowing the application to read data locally without continuously consuming bandwidth for remote requests. The virtual data source maintains data freshness by updating local copies only when necessary, thereby reducing bandwidth consumption while preserving data reliability.
Solution Approach 2:
The patent performs preliminary data retrieval and caching of semi-static data in local session variables before the application needs it. This pre-fetching mechanism ensures data remains fresh without requiring frequent bandwidth-intensive requests to the remote server, thus balancing data freshness with bandwidth conservation.
3Productivity
If web applications use local storage for data, then access speed improves, but the ability to update data efficiently is reduced
Solution Approach 1:
The virtual data source acts as an intermediary layer between the local session variables and the remote storage. It enables the web application to access data quickly from local storage while maintaining efficient update capabilities through the virtual data source, which coordinates changes between local and remote data sources. This mediator resolves the contradiction by allowing both fast local access and efficient updates.
Solution Approach 2:
The patent implements a dynamic virtual data source that can adapt its behavior based on data characteristics. For semi-static data, it uses local caching for fast access; for dynamic data, it maintains connection to remote sources for updates. This dynamic approach allows the system to optimize for both speed and adaptability depending on the data type and access patterns.
Data Source
AI summary
Data source fetch includes initiating execution of a web application on a client device. The client device initiates a local session variable for the web application. Initiating the local session variable includes obtaining a value of a data item from a server via a network, and storing the value in the local session variable on local storage. While executing the web application, the client device obtains the value from the local session variable by a plurality of widgets in the web application, and processes the value by the web application.


