Browser Document Model for Application State Persistence
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional browsers lack efficient mechanisms for managing application state, leading to inferior user experiences and increased development complexity due to their inability to isolate and persist application data, which is essential for responsive and resilient web applications.
Innovation Solution
A framework that allows browsers to transparently specify and manage application data, enabling persistence and recovery of different versions without explicit knowledge of the persistent mechanism, thereby reducing development efforts and enhancing application resilience and user experience.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If application code and state are moved to the browser to improve responsiveness and user experience, then application autonomy and interface richness are improved, but the browser's ability to manage application state becomes insufficient due to its optimization for static document rendering
Solution Approach 1:
The patent introduces a document model as an intermediary layer between the browser's rendering capabilities and application state management requirements. This document model provides a structured framework that enables the browser to manage application state effectively, bridging the gap between the browser's static document optimization and the dynamic state management needs of modern applications.
Solution Approach 2:
The patent extends the browser's document model to serve multiple functions: traditional static document rendering, dynamic application state management, and persistent data storage. By making the document model multi-functional, the browser can handle both traditional web browsing and complex application state management without requiring separate systems.
2Adaptability or versatility
If the browser freely mixes view components, executable script, and data into a single renderable document, then application development flexibility is improved, but developers must manually interpret scattered code across multiple files to add checkpointing services
Solution Approach 1:
The patent extracts the state management and checkpointing functionality from the scattered application code and consolidates it into a separate, dedicated mechanism within the document model. This allows developers to add checkpointing services without manually interpreting and wiring through scattered code across multiple files, as the system automatically identifies and manages state through the structured document model.
Solution Approach 2:
The document model provides self-service capabilities for state management by automatically identifying, tracking, and persisting application state based on the structured document architecture. This eliminates the need for developers to manually interpret and wire checkpointing logic across scattered code, as the system performs these functions automatically through its inherent document structure.
3Adaptability or versatility
If traditional web applications pass all user input to a back-end server for processing, then application logic can run on base browser configurations, but the application feels less responsive and more disruptive to the user
Solution Approach 1:
The patent segments application functionality into two parts: critical responsive operations that execute locally in the browser using the enhanced document model, and non-critical operations that communicate with the back-end server. This segmentation allows the application to maintain base browser configuration compatibility while providing responsive local feedback to users, reducing the perceived latency and disruption.
Solution Approach 2:
The patent implements preliminary local processing of user input within the browser using the document model's state management capabilities, before communicating with the back-end server. This preliminary action provides immediate local feedback to users, making the application feel more responsive, while still maintaining compatibility with base browser configurations by not requiring advanced client-side processing capabilities.
Data Source
AI summary
A method, system, and computer program product are provided for managing data in a browser-based application. The application is opened in the browser, and a subset of the application is arbitrarily specified as data. Different versions of the subset of the application specified as data are caused to persist so that they may be recovered later. Persistence and recovery of the subset of the application specified as data are performed in a manner transparent to the application.


