Extending localStorage for Remote Data Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata storage capacityVSAvoiddata sharing between devices
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvedata sharing between devicesVSAvoidserver dependency
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

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

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

Engineering Contradiction:
Improvecaching capacityVSAvoidstorage quota limitation
Core Design Contradiction:
Quantity of substanceVSReliability

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9088462B2Common web accessible data store for client side page processing
Publication Date: 2015.07.21 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9088462B2 patent drawing
  • US9088462B2 patent drawing

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.