Browser Memory-Mapped File for Navigation History Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current browser technologies incur significant overhead when managing navigation history data, particularly when multiple windows are open concurrently, as they often rely on relational database engines to store and update this data, leading to inefficiencies and potential loss of history in case of runtime anomalies like browser crashes.

Innovation Solution

The use of a memory-mapped file in non-persistent memory that corresponds to a file in persistent storage allows for efficient storage and updating of browser state information, including navigation history, without the need for a relational database management engine, ensuring data persistence even in the event of a browser crash.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a relational database engine is used to manage navigation history data, then the browser can store and manage history data for multiple windows, but the overhead and complexity increase significantly

Engineering Contradiction:
Improvenavigation history storage reliabilityVSAvoidbrowser overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the database engine dependency from the browser architecture. Instead of requiring a full relational database engine, the invention uses a simplified file-based storage system with memory-mapped files that handles navigation history data directly, eliminating the complex database layer while maintaining storage capabilities

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates a copy of the navigation history data structure in memory-mapped file format that mirrors the functionality of a database system. This copy allows the browser to access and manage history data with the same reliability as a database would provide, but without the overhead of running a full database engine

Inventive Principle:
Principle #26Copying

2Reliability

If navigation history data is stored in a relational database, then data can be persisted across sessions, but the storage and update operations become slower

Engineering Contradiction:
Improvedata persistenceVSAvoidstorage and update speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces the mechanical database engine processing layer with a direct memory-mapped file access system. This substitution eliminates the overhead of database query processing, transaction management, and buffer caching, allowing storage and update operations to proceed at near-native file system speeds while maintaining data persistence through the memory-mapped file mechanism

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Adaptability or versatility

If multiple browser windows are supported with separate history for each, then user navigation flexibility increases, but the amount of data to be managed and stored increases significantly

Engineering Contradiction:
Improvemulti-window navigation flexibilityVSAvoidnavigation history data volume
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent merges the storage mechanism for multiple window histories into a single unified file-based system. Instead of maintaining separate database files or storage structures for each window, the invention consolidates all navigation history data into memory-mapped files that can efficiently handle multiple windows' worth of history data in a unified, compact structure

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10691750B1Browser configured to efficiently store browsing session state
Publication Date: 2020.06.23 AMAZON TECH INC
  • US10691750B1 patent drawing
  • US10691750B1 patent drawing
  • US10691750B1 patent drawing

AI summary

Features are disclosed for efficiently maintaining information regarding content navigation history and state of a browser application. The browser application can use a portion of a client device's non-persistent memory that has been assigned a direct byte-for-byte correlation with a file in persistent storage, such as a memory-mapped file. The browser application can access, store, and update information in the memory-mapped file in non-persistent memory without being responsible for ensuring that updates are also reflected in the file stored in persistent storage. The operating system of the client device can handle the tasks of writing to, and reading from, persistent storage.