Browser Intersession Communication via Local Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing web browsers face challenges with data synchronization and session management, leading to issues such as inconsistent data across multiple sessions, session crashes, and inefficient reporting, particularly in scenarios involving multiple tabs or windows of web applications.
Innovation Solution
An intersession communication system that utilizes local storage to synchronize data across sessions within a browser, allowing for data sharing and crash detection without server interaction, using structured data and periodic updates to maintain data validity and consistency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple sessions are opened in a browser for concurrent web application access, then user convenience and productivity are improved, but data synchronization and consistency across sessions deteriorate
Solution Approach 1:
The patent introduces a session manager as an intermediary component that mediates between multiple browser sessions and the web application server. This session manager maintains a centralized session state and coordinates data synchronization across multiple sessions, preventing data inconsistency without requiring constant server communication for every data access.
Solution Approach 2:
The patent segments the session management functionality into distinct components: individual session contexts for each browser tab/window, a central session manager for coordination, and localized data caches for each session. This segmentation allows each session to operate independently while maintaining synchronization through the session manager.
2Ease of operation
If multiple sessions are opened for web application access, then user convenience is improved, but session stability and crash recovery deteriorate
Solution Approach 1:
The patent implements preliminary action by pre-saving session state data to persistent storage before sessions close or crash. The session manager continuously monitors session health and performs preventive data persistence, ensuring that even if a session crashes unexpectedly, the data has already been preserved and can be recovered without loss.
Solution Approach 2:
The patent provides beforehand cushioning through automated crash detection mechanisms and data backup systems. The session manager monitors session stability and creates redundant copies of critical data before failures occur, cushioning against the impact of crashes and enabling automatic recovery without user intervention.
3Reliability
If traditional server-based session management is used, then centralized control is maintained, but network dependency and response time deteriorate
Solution Approach 1:
The patent applies local quality by enabling each browser session to maintain a local cache of session data and application state. This allows sessions to access frequently used data locally without constant server round-trips, reducing response time while the session manager maintains centralized control for critical operations and consistency.
Solution Approach 2:
The patent implements periodic action through scheduled synchronization intervals where the session manager periodically updates local session caches from the server and vice versa. This periodic synchronization maintains centralized control while minimizing network communication frequency, reducing overall network dependency and improving response times between synchronization points.
Data Source
AI summary
A system and method for communication across browser-based applications, and from a crashed application to a web server are disclosed. The system can store structured data in local storage for each instance (e.g., tab, window, frame) of an browser-based application (e.g., website, web application). The data can be structured to group blocks of data according to instances of an application in different tabs. A first session can locate a block of data created by a second session to achieve synchronization between two sessions. In addition, if one session has crashed, data written by that session can be accessed by another session and sent to a web server. In some implementations, a session, when writing to a block of data, can include meta-data for another session or for the web server, such as a timestamp, valid-until time, data-item identifier, etc.


