Web Application State Preservation via Portlet Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web applications face challenges in saving and restoring their state without modifying the application, particularly when users navigate across pages within a portal or portlet, as existing solutions fail to effectively preserve user input across different pages and sessions.

Innovation Solution

A system and method that involves receiving an indication from portlets to monitor their state, detecting the type of storage mechanism supported by the client interface, saving user input content into memory using that mechanism, and restoring the page state upon reload, allowing seamless navigation across pages without modifying the web application.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If a web application uses traditional server-side session management, then the application structure remains simple, but user input is lost when navigating across pages or portlets

Engineering Contradiction:
Improveuser input preservationVSAvoidapplication modification requirement
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent segments the state management functionality into independent portlet-level units. Each portlet can independently monitor and save its own state using the HTML5 storage mechanism, rather than requiring a centralized server-side session management system. This segmentation allows state preservation without complex application-wide modifications.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary layer between the user interface and the server-side application logic. This intermediary uses the HTML5 storage mechanism (localStorage or sessionStorage) to capture and preserve user input state, acting as a mediator that prevents data loss during navigation without requiring changes to the core web application structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If the web application implements state saving on every page load, then user input is preserved, but system performance deteriorates due to excessive storage operations

Engineering Contradiction:
Improvestate preservationVSAvoidsystem performance
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

Instead of continuously monitoring and saving state on every page load, the patent implements periodic action by triggering state saving only on specific events such as portlet rendering completion or user interaction. This event-driven approach preserves state information while minimizing the frequency of storage operations, thereby maintaining system performance.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent performs preliminary detection of the HTML5 storage mechanism availability before implementing state saving. By checking storage support in advance and preparing the storage structure beforehand, the system avoids repeated detection and setup operations during page loads, thus improving performance while ensuring state preservation capability.

Inventive Principle:
Principle #10Preliminary action

3Loss of information

If the web application uses HTML5 storage mechanism, then state can be preserved across navigations, but compatibility is reduced with older client interfaces

Engineering Contradiction:
Improvestate preservation across sessionsVSAvoidclient interface compatibility
Core Design Contradiction:
Loss of informationVSAdaptability or versatility

Solution Approach 1:

The patent dynamically changes the storage parameter by detecting the availability of HTML5 storage mechanisms and adapting the storage approach accordingly. When HTML5 localStorage or sessionStorage is available, it uses these modern storage options; when unavailable, it falls back to traditional cookie-based or server-side session storage, thus maintaining compatibility across different client interfaces while preserving state where possible.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements a universal state management solution that can operate with multiple storage backends. The system is designed to work with HTML5 storage mechanisms when available, but seamlessly transitions to traditional storage methods when needed, making it universally compatible across modern and legacy client interfaces without sacrificing state preservation capability.

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

Data Source

PatentUS10397371B2Saving and restoring a state of a web application
Publication Date: 2019.08.27 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10397371B2 patent drawing
  • US10397371B2 patent drawing
  • US10397371B2 patent drawing

AI summary

Embodiments of the present disclosure provide a system, method and computer program product for saving and restoring a state of a web application. According to one embodiment, the method comprises receiving an indication from at least one portlet of the web application for monitoring the state of the portlet, A type of storage mechanism supported by a client interface used for accessing the web application may be detected. An event indicating an input of a content in a form of a page of the portlet may be detected. The content received as input may be saved into a memory using the detected type of storage mechanism. The state of the page may be restored on reload using the content stored into the memory.