Browser Extension Event Pages for Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current web browsers waste memory by maintaining background pages that are idle for extended periods, leading to increased system resource usage.

Innovation Solution

Implementing event pages that are loaded only when needed and unloaded when idle, reducing the number of web browser extension processes running on a user's system by utilizing invisible event pages that execute functions related to visible objects and receive acknowledgments from browser extensions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If background pages are maintained continuously, then browser extension functionality is always available, but memory usage increases and system resources are wasted

Engineering Contradiction:
Improvebrowser extension availabilityVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic page lifecycle management where background pages are automatically loaded and unloaded based on event occurrence. The browser monitors extension events and dynamically activates background pages only when events require their functionality, then deactivates them when idle. This dynamic approach maintains extension availability while reducing continuous memory consumption.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the operational state parameter of background pages from static (always running) to conditional (event-triggered). By monitoring event parameters and changing the page state based on event occurrence, the system achieves both extension reliability and memory efficiency through parameter-based control.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If background pages are unloaded to save memory, then system resources are optimized, but extension response time may increase

Engineering Contradiction:
Improvememory usageVSAvoidextension response time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent implements preliminary page retention for frequently triggered events. By analyzing event patterns and keeping pages in a ready state for commonly occurring events, the system prepares pages in advance so they can respond quickly when needed, reducing the effective response time while still maintaining memory efficiency for less frequently used extensions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent employs periodic checks and event-driven reactivation mechanisms. When pages are unloaded, the system periodically monitors for relevant events and rapidly reactivates pages when events occur, creating a periodic cycle of load-unload-reactivate that balances memory savings with acceptable response times.

Inventive Principle:
Principle #19Periodic action

3Quantity of substance

If invisible event pages are used instead of visible background pages, then memory usage is reduced, but system complexity increases

Engineering Contradiction:
Improvememory usageVSAvoidbrowser architecture complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces invisible event pages as intermediary components between the browser event system and extension functionality. These intermediary pages handle event processing without requiring visible UI elements, simplifying the overall architecture by providing a standardized mediation layer that reduces complexity compared to multiple specialized background page implementations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9274913B2Event pages for web applications and extensions
Publication Date: 2016.03.01 GOOGLE LLC
  • US9274913B2 patent drawing
  • US9274913B2 patent drawing
  • US9274913B2 patent drawing

AI summary

A method and system for monitoring events related to web browser extensions includes storing a set of events for which a browser extension integrated in a web browser application registers a listener. The browser extension integrated in the web browser application is executed. Upon the occurrence of an event related to the browser extension, an invisible event page associated with the browser extension is loaded if the event is one of the set of events. Using the invisible event page, a function related to a visible object of the browser extension is executed. The invisible event page is unloaded from the browser after receiving an acknowledgement from the browser extension.