Browser Context Switching via State Machine Namespace Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Browser-based applications experience excessive loading times due to the need to download and initialize application files and contextual data for each application account, leading to inefficiencies in context switching and potential latency issues.

Innovation Solution

A system that organizes and stores context data hierarchically, allowing for seamless switching between application accounts without reloading the browser-based application by intercepting state change requests and updating context data within the existing application instance, using a state machine to manage and namespace context data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the browser-based application reloads to switch between application accounts, then context data isolation is ensured, but loading time increases excessively

Engineering Contradiction:
Improvecontext data isolationVSAvoidloading time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments context data into account-specific portions and application-specific portions. The state machine stores context data with namespace separation, allowing different application accounts to have isolated context data while sharing the same browser-based application instance. This enables context switching without full application reload while maintaining data isolation through hierarchical data structure segmentation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts account-specific context data from the overall application context and stores it separately in the state machine with account-specific namespaces. This extraction allows the system to load only necessary account-specific data when switching accounts, rather than reloading the entire application, thereby reducing loading time while maintaining context isolation.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If the browser-based application downloads application files and contextual data for each account, then complete application functionality is ensured, but loading time becomes excessive

Engineering Contradiction:
Improveapplication functionalityVSAvoiddownload time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-loading the browser-based application and its core functionality once, then storing account-specific context data in the state machine for quick switching. The application data is loaded initially, and subsequent account switches only require fetching stored context data from the state machine rather than downloading complete application packages, significantly reducing download time while maintaining full functionality.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent makes the browser-based application universal by designing it to handle multiple application accounts within a single instance. The state machine serves as a universal storage mechanism that manages context data for different accounts, allowing the same application code to serve multiple accounts without requiring separate downloads, thereby reducing redundant data transfer while ensuring complete functionality for each account.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If the browser-based application reinitializes for context switching, then context data isolation is maintained, but productivity decreases due to repeated initialization

Engineering Contradiction:
Improvecontext data isolationVSAvoidcontext switching efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamics by making the context switching mechanism adaptive and flexible. Instead of static full reinitialization, the system dynamically loads only the necessary account-specific context data from the state machine when switching accounts. The state machine dynamically manages the lifecycle of context data, retaining it for quick access while ensuring isolation through namespace management, thereby improving context switching efficiency without compromising data isolation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent ensures continuity of useful action by maintaining the browser-based application instance continuously active while switching between accounts. The state machine continuously holds account-specific context data in memory, allowing seamless transitions between accounts without interrupting the application runtime. This continuous operation eliminates repeated initialization overhead while maintaining context isolation through structured data management.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11057494B2Seamless context switch
Publication Date: 2021.07.06 GOOGLE LLC
  • US11057494B2 patent drawing
  • US11057494B2 patent drawing
  • US11057494B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for switching contexts in a browser-based application. In one aspect, a system includes a browser execution module configured to receive a request to load a browser-based application with first context data, request application data and the first context data, and receive the application data and the first context data. The system includes a state machine module configured to generate a state machine to access and store context data and load the application with the first context data by storing the first context data in the state machine. The system further includes a state change module configured to intercept a request to load the application with second context data for a second application account, request the second context data, and updated the application with the second context data by storing the second context data in the state machine.