Shared JavaScript Intermediate Representation in Multi-Tab Browser

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current web browsers inefficiently handle multiple tabs by repeatedly parsing and compiling the same JavaScript files, leading to increased memory usage and execution time, especially in resource-limited devices.

Innovation Solution

Implementing a mechanism to share the intermediate representation of external JavaScript files across multiple browser components, such as tabs, windows, and frames, by storing and linking intermediate representations in a shared memory resource, reducing redundant parsing and compilation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If each tab independently parses and compiles JavaScript files, then each tab can execute JavaScript files autonomously, but memory usage and execution time increase significantly due to redundant processing

Engineering Contradiction:
Improveautonomous executionVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges the JavaScript parsing and compilation process across multiple tabs by introducing a shared memory resource that stores intermediate representations. When a JavaScript file is parsed and compiled in one tab, the resulting intermediate representation is stored in the shared memory and can be reused by other tabs, eliminating redundant processing while maintaining execution autonomy.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent applies preliminary action by pre-parsing and pre-compiling JavaScript files into intermediate representations that are stored in shared memory before being needed by other tabs. This allows subsequent tabs to directly utilize the pre-processed intermediate representations without repeating the parsing and compilation steps, significantly reducing execution time.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If each tab independently parses and compiles JavaScript files, then each tab maintains independence, but memory usage increases due to duplicate storage of the same JavaScript representations

Engineering Contradiction:
Improvetab independenceVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent merges the storage of JavaScript intermediate representations into a shared memory resource that is accessible by all tabs. Instead of each tab maintaining its own separate copy of parsed and compiled JavaScript files, the intermediate representations are stored once in the shared memory and referenced by multiple tabs, dramatically reducing memory usage while preserving tab independence through shared access mechanisms.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent uses copying by creating references or pointers to the intermediate representations stored in shared memory rather than creating full duplicate copies in each tab's memory space. This allows tabs to access the same JavaScript representations efficiently without consuming additional memory for duplicate data storage.

Inventive Principle:
Principle #26Copying

3Manufacturing precision

If JavaScript files are repeatedly parsed and compiled for each tab, then each tab gets fresh processing, but execution time and computational resources are wasted

Engineering Contradiction:
Improveprocessing accuracyVSAvoidexecution time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by performing the computationally intensive parsing and compilation of JavaScript files in advance and storing the results as intermediate representations in shared memory. When tabs need to execute JavaScript files, they can directly utilize the pre-processed intermediate representations, eliminating the time-consuming repeated parsing and compilation while ensuring processing accuracy is maintained through proper validation of the cached representations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8683319B2Shared script files in multi-tab browser
Publication Date: 2014.03.25 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US8683319B2 patent drawing
  • US8683319B2 patent drawing
  • US8683319B2 patent drawing

AI summary

A host device executes a browser application that displays web content to a user in plurality of tabs or windows. The browser application includes an interpreter that determines whether an external file referenced in the web content already exists in a shared memory resource available to a plurality of the tabs or windows. If the external file does not exist, the interpreter obtains the external file and generates the intermediate representation of the external file for storage in the shared memory resource. If the external file does exist, the interpreter links an intermediate representation of the code embedded in the web content that is stored in a dedicated memory resource to the corresponding intermediate representation of the external file stored in the shared memory resource.