Server Browser Window Lifecycle Tracking via Loopback Identifier

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current web application servers struggle to distinguish between new browser windows and window reloads or refreshes, and cannot accurately determine when a browser window is inactive, leading to inefficient resource management and potential security issues.

Innovation Solution

A server component receives requests with a URL and window identifier, sends a script to determine the actual window identifier, and uses an expiration list to manage resource allocation based on window activity, distinguishing between new and existing windows and freeing resources when necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the server uses the window identifier from the request to determine window status, then the server can process requests, but it cannot distinguish between new windows and existing window reloads

Engineering Contradiction:
Improvewindow identification accuracyVSAvoidwindow lifecycle information
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent introduces a loopback identifier as an intermediary element. When a request arrives, the server generates a loopback identifier and includes it in a script sent to the client. The client executes the script and sends a loopback request containing this identifier. By matching the loopback identifier with the original request's window identifier, the server can determine whether the request comes from a new window or an existing window, thus resolving the identification ambiguity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the server maintains application state information for each browser window, then it can provide personalized service, but it cannot determine when to free memory resources for closed or inactive windows

Engineering Contradiction:
Improveapplication state managementVSAvoidmemory resource waste
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent implements a feedback mechanism where the server monitors requests containing loopback identifiers to determine window activity status. When a window is identified as inactive (by matching loopback identifiers from different windows), the server receives feedback and can then free the associated memory resources. This feedback loop enables dynamic resource management based on actual window usage status.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent enables the server to discard (free) memory resources associated with browser windows that are determined to be inactive or closed. By using the loopback identifier mechanism to identify inactive windows, the server can recover memory resources for reuse, thus preventing resource waste while maintaining state information for active windows.

Inventive Principle:
Principle #34Discarding and recovering

3Reliability

If the server cannot distinguish between window closure and navigation to another page, then it receives unload notifications, but it cannot accurately determine when to release resources

Engineering Contradiction:
Improveresource management accuracyVSAvoidresource retention time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The loopback identifier serves as an intermediary that provides additional information beyond the basic unload notification. By tracking whether subsequent requests contain matching loopback identifiers, the server can determine if a window is truly inactive (closed or navigated away) versus still active, enabling more accurate timing for resource release.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP2661708B1Techniques for detecting new browser windows
Publication Date: 2020.06.17 ORACLE INT CORP
  • EP2661708B1 patent drawingFigure 1
  • EP2661708B1 patent drawingFigure 2
  • EP2661708B1 patent drawingFigure 3

AI summary

Embodiments of the present invention provide techniques for tracking the lifecycles of client-side browser windows in the context of a web application. In one set of embodiments, a server component of a web application can receive a request originating from a client-side browser window, where the request includes a resource locator (e.g., a URL) and a window identifier. In response, the server component can send a script to the window for retrieving the window's actual identifier/name. Based on the actual identifier returned by the script and the window identifier included in the initial request, the server component can determine whether the window is a new window or an existing window and can process the request as appropriate.