Dynamic Update Mechanism Switching for Browser Connection Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Low-latency techniques for web browsers consume multiple HTTP connections indefinitely, leading to deadlocks when multiple browser windows or tabs are opened, as each instance consumes a connection limit, causing server overload and blocking.
Innovation Solution
A server system that dynamically switches between low-latency and high-latency update mechanisms based on client focus, using cookies to identify focused clients and downgrade low-latency clients to high-latency mechanisms, preventing connection limits from being exceeded and avoiding deadlocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If low-latency techniques are used to transmit data from web server to browser, then latency is reduced, but HTTP connections are consumed indefinitely leading to deadlocks when multiple browser windows are opened
Solution Approach 1:
The system dynamically adjusts the update mechanism based on the number of concurrent connections. When the number of concurrent connections exceeds a threshold, the system transitions from low-latency push updates to high-latency poll updates, allowing connections to be released while maintaining acceptable performance
Solution Approach 2:
The system changes the operational parameters of data transmission by switching between two distinct update mechanisms (low-latency push and high-latency poll) based on connection conditions, optimizing both latency and connection availability
2Productivity
If multiple browser instances access remote web applications using low-latency techniques, then each instance receives real-time updates, but all connections become blocked and dead-lock occurs
Solution Approach 1:
The system segments clients into different update mechanism groups based on connection conditions. Focused clients receive low-latency push updates while non-focused clients use high-latency poll updates, allowing multiple instances to coexist without deadlocking
Solution Approach 2:
The server acts as an intermediary that manages the transition between update mechanisms. It monitors connection states and orchestrates the switch from push to poll mode, enabling seamless concurrent access across multiple browser instances
3Power
If web browser limits concurrent requests to prevent server overload, then server load is managed, but requests are blocked when limit is reached
Solution Approach 1:
The system implements periodic polling as an alternative update mechanism when push updates are not available. Clients periodically request updates from the server, ensuring data freshness while respecting connection limits and avoiding server overload
Data Source
AI summary
A server is in communication with a plurality of clients being executed by a host. The server is configured to receive a message from a first client of the plurality of clients. The message indicates that the first client currently has focus, wherein the message is transmitted by the first client with a first cookie. The server is configured to identify that a second client of the plurality of clients utilizes a second cookie that matches the first cookie, wherein the second client is currently receiving data from the server using a low-latency update mechanism. The server is also configured to downgrade the second client from the low-latency update mechanism to a high-latency update mechanism, wherein the high-latency update mechanism is configured to enable the second client to conduct a poll of the server periodically for updates.


