Browser Extension Dynamic Code Update via Textual Instructions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The challenge lies in reducing processor overhead when updating a software extension component, particularly due to the requirement for preauthorization and review of code changes, which can be time-consuming and inefficient.

Innovation Solution

The solution involves providing updates to software extension modules as text files or markup language documents, which the modules can receive and convert into executable code, thereby bypassing the need for extensive review and reducing processor overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If code changes to software extension are submitted for preauthorization review, then security is maintained, but update time increases significantly

Engineering Contradiction:
ImprovesecurityVSAvoidupdate time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The extension code is segmented into two parts: (1) the extension package file (.crx) which requires preauthorization review for security, and (2) the separate code files (.js, .css, .html) which can be updated without review. This segmentation allows the security-critical component to be reviewed once while allowing rapid updates to non-critical components.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The code files are extracted from the extension package and stored separately in a code repository. This extraction enables the code to be updated independently of the package file, eliminating the need for time-consuming preauthorization review for every code change while maintaining security through the separate review process for the package file.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If complete code review process is performed for every update, then security is ensured, but processor overhead increases

Engineering Contradiction:
ImprovesecurityVSAvoidprocessor overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The review process applies different levels of scrutiny to different components: the extension package file undergoes complete security review, while the separate code files undergo minimal or no review. This local quality approach ensures security where needed while reducing processor overhead for routine updates.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

Security review is performed preliminarily on the extension package file before deployment. Once approved, the same package can accommodate multiple code updates without repeated full reviews, reducing processor overhead for subsequent updates while maintaining security through the preliminary review.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If code files are updated through traditional extension update process, then security is maintained, but update speed decreases

Engineering Contradiction:
ImprovesecurityVSAvoidupdate speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

A code repository serves as an intermediary between developers and the extension package. Code can be updated in the repository and automatically deployed to the extension without requiring full review processes, enabling rapid updates while the package file acts as a security gatekeeper that has already been reviewed.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The update system becomes dynamic by allowing different update paths: critical package file updates follow the traditional slow review process, while non-critical code file updates can proceed rapidly through automated deployment from the code repository, adapting the review intensity to the criticality of the change.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12210878B2System and method for code execution on browser extension
Publication Date: 2025.01.28 KARMA SHOPPING LTD
  • US12210878B2 patent drawing
  • US12210878B2 patent drawing
  • US12210878B2 patent drawing

AI summary

A system and method provides instructions for execution to a software extension module. The method includes establishing a network connection between a software extension module and an instruction source; generating a textual instruction from an instruction of the instruction source; and sending the generated textual instruction to the software extension module over the established network connection, wherein the software extension module is configured to receive the textual instruction and generate therefrom the instruction of the instruction source.