Web Browser Object State Management for Resource Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Rendering complex web applications on client devices with many hierarchical objects and subscriptions can strain limited resources such as memory and processing power, leading to performance issues, especially on resource-constrained devices like mobile devices.
Innovation Solution
The browser dynamically transitions objects between operational states to manage resource consumption, including maintaining a DOM, subscriptions, and data models based on resource usage limits, such as limiting the number of objects in each state and monitoring memory and subscription resources to optimize resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the browser maintains DOM, subscriptions, and data models for all objects in a web application, then the web application can be fully rendered and updated, but memory consumption and processing load increase significantly
Solution Approach 1:
The patent segments objects into different operational states (active, inactive, suspended, destroyed) based on their resource consumption characteristics and accessibility requirements. This segmentation allows the system to manage memory resources by maintaining full object representations only for active objects while using lighter representations for inactive objects.
Solution Approach 2:
The patent changes the operational state parameter of objects dynamically based on criteria such as visibility, user interaction, and resource constraints. By transitioning objects between states (e.g., from active to inactive, or from inactive to suspended), the system adjusts memory allocation and processing resources accordingly, resolving the contradiction between maintaining full functionality and reducing memory consumption.
2Reliability
If the browser maintains DOM, subscriptions, and data models for all objects in a web application, then the web application can be fully rendered and updated, but processing load increases significantly
Solution Approach 1:
The patent segments processing requirements by operational state, applying different processing intensities to objects in different states. Active objects receive full processing resources for rendering and updates, while inactive and suspended objects receive minimal processing, thereby reducing overall processing load while maintaining essential functionality.
Solution Approach 2:
The patent dynamically adjusts the operational state of objects based on real-time criteria including user interaction patterns, visibility, and resource availability. This dynamic state management allows the system to optimize processing load by transitioning objects to lower-processing states when they are not actively needed, while automatically restoring them when required.
3Quantity of substance
If the browser transitions objects to lower-resource states to conserve memory, then memory consumption decreases, but the complexity of managing operational states increases
Solution Approach 1:
The patent implements feedback mechanisms that automatically monitor object characteristics (such as visibility, user interaction, and resource usage) and trigger appropriate state transitions. This feedback-driven approach reduces the need for complex manual state management logic, as the system automatically determines when and how to transition objects between states based on observed conditions.
Solution Approach 2:
The patent enables objects to effectively self-manage their operational state by evaluating their own characteristics and transitioning to appropriate states without requiring complex external management. Each object can determine its own suitability for different states based on its visibility, activity level, and resource consumption patterns, simplifying the overall state management complexity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
As a web browser application executing on a computing renders a web application that contains a plurality of objects, the web browser application carries out, respectively for each object, a set of resource-consumption actions involving use of resources of the client device. Further, the web browser application dynamically manages operational states of the objects based on a cumulative resource-consumption of the web application, including (i) determining that the cumulative resource-consumption of the web application exceeds a defined limit, and (ii) responsive to the determining, transitioning at least one of the objects from a first operational state to a second operational state, where the object contributes less to the cumulative resource-consumption of the web application in the second operational state than in the first operational state.