Dynamic Update Mechanism Switching for Browser Connection Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImprovelatencyVSAvoidconnection availability
Core Design Contradiction:
Loss of timeVSReliability

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvereal-time update capabilityVSAvoidconcurrent access
Core Design Contradiction:
ProductivityVSEase of operation

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #24Intermediary (Mediator)

3Power

If web browser limits concurrent requests to prevent server overload, then server load is managed, but requests are blocked when limit is reached

Engineering Contradiction:
Improveserver load managementVSAvoidrequest blocking time
Core Design Contradiction:
PowerVSLoss of time

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

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9936000B2Systems and methods for transmitting data
Publication Date: 2018.04.03 OMNISSA LLC
  • US9936000B2 patent drawing
  • US9936000B2 patent drawing
  • US9936000B2 patent drawing

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.