Browser Session Data Loss Prevention via Offline Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data loss occurs when users exit remote database sessions without confirming that outstanding write requests have been fulfilled, leading to inconsistencies and potential loss of data, especially in multi-user collaborative environments where local storage is restricted for security or administrative reasons.

Innovation Solution

Implementing a system where the browser application determines if there are outstanding requests before allowing a user to exit, displaying dialogs to inform users of the status and estimated time for request fulfillment, and providing options to wait or exit without waiting, using telemetry data to estimate completion times and assess data loss risk.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the application waits for all outstanding write requests to complete before allowing exit, then data loss is reduced, but user productivity and ease of operation deteriorate due to forced waiting

Engineering Contradiction:
Improvedata consistencyVSAvoiduser efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by proactively detecting outstanding write requests before the user attempts to exit, and presents a dialog in advance to inform the user of the potential data loss risk. This allows the user to make an informed decision without being forced to wait, thus preventing data loss while maintaining user productivity.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the application allows immediate exit without checking outstanding requests, then user productivity is maintained, but data loss increases

Engineering Contradiction:
Improveuser efficiencyVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements feedback by monitoring the state of write requests and providing real-time information to the user through a dialog when outstanding requests are detected. This feedback mechanism informs the user of the data loss risk without blocking the exit process, allowing the user to decide whether to wait or proceed with potential data loss.

Inventive Principle:
Principle #23Feedback

3Reliability

If local storage is enabled to maintain data consistency, then data loss is reduced, but security and collaboration capabilities deteriorate

Engineering Contradiction:
Improvedata consistencyVSAvoidsecurity risk
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The system uses an intermediary approach by introducing a dialog mechanism that mediates between the user's exit action and the outstanding write requests. Instead of storing data locally (which would create security risks), the system communicates with the remote database, detects outstanding requests, and presents options to the user, thus maintaining security while reducing data loss.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11636093B2Reducing data loss in remote databases
Publication Date: 2023.04.25 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11636093B2 patent drawing
  • US11636093B2 patent drawing
  • US11636093B2 patent drawing

AI summary

Systems and methods for reducing data loss in remote databases. One method includes detecting, with an electronic processor communicatively coupled to the remote database, a failure of a user session with the remote database. The method includes, in response to determining the failure of the user session, performing, with the electronic processor, an offline detection check for the user session, the offline detection check including a canary check on a known resource related to the remote database. The method includes, in response to the offline detection check indicating that the remote database is offline, setting the user session to read-only, displaying, within a graphical user interface of the user session, an offline indicator, and graphically marking the at least one outstanding request within the user session.