Extending localStorage for Remote Data Sharing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current Web Storage mechanisms, such as those in HTML version 5, face limitations in caching large amounts of client-generated content and do not allow for data sharing between devices, which conflicts with the goal of offloading storage from application servers, especially when running applications offline.
Innovation Solution
A method and system that extend the localStorage object in content browsers to enable data caching and retrieval through a remote storage service using a unique key, allowing data to be stored and shared across multiple browsers over a computer communications network, thereby overcoming storage size limitations and enabling data sharing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If Web Storage mechanism (localStorage) is used for client-side data storage, then data storage capacity is improved beyond cookie limitations, but storage size is still limited to 5 MB per domain and cannot share data between devices
Solution Approach 1:
The patent transitions from local device storage to cloud-based storage by introducing a remote server dimension. The localStorage object is extended to include a remoteStorage property that references storage on a remote server, allowing data to be accessed from any device through the same browser API interface. This dimensional shift from local to remote storage resolves both the capacity limitation and the device-sharing requirement.
Solution Approach 2:
The patent introduces a remote server as an intermediary between the client browser and the actual data storage. The extended localStorage object communicates with this intermediary server, which stores the data in the cloud. This intermediary enables data to be shared across multiple devices while maintaining the simplicity of client-side storage APIs, and also provides synchronization capabilities that localStorage alone cannot achieve.
2Adaptability or versatility
If application server is used to store shared data, then data sharing between devices is enabled, but it conflicts with the motivation to offload storage from application server
Solution Approach 1:
The patent segments the storage functionality into two parts: the localStorage object remains on the client side for simple key-value operations, while a new remoteStorage component handles cloud-based storage and synchronization. This segmentation allows the system to maintain offline capability through localStorage while adding optional cloud synchronization through remoteStorage, reducing mandatory server dependency.
Solution Approach 2:
The extended localStorage object serves multiple functions: it maintains all original localStorage capabilities for client-side storage, adds remoteStorage property for cloud synchronization, and provides syncStorage method for manual synchronization. This multi-functionality allows the same object to work in offline mode, online mode, and hybrid mode, reducing the need for separate server-side implementation.
3Quantity of substance
If localStorage cache size is increased to cache more client-generated content, then caching capacity is improved, but the fixed 5 MB quota limitation prevents caching large amounts of data
Solution Approach 1:
The patent extends the storage dimension from local browser storage to remote cloud storage. When localStorage reaches its 5 MB quota, the extended object can automatically or manually sync data to remoteStorage, effectively providing unlimited storage capacity while maintaining the same simple API interface. This resolves the quota limitation by adding a second storage dimension.
Data Source
AI summary
Embodiments of the present invention provide a method, system and computer program product for shared data storage in page processing over a computer communications network. In an embodiment of the invention, a method of shared data storage has been provided for page processing over a computer communications network. The method can include registering a content browser executing in memory of a computer with a remote storage service and receiving content from a content server over the computer communications network. The method additionally can include invoking in the content browser an instance of a localStorage object to cache data associated with the content according to a unique key. Thereafter, in response to the invocation of the instance of the localStorage object, the data can be stored in the remote storage service in reference to the unique key.

