Master Window Event Dispatching via Single HTTP Connection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face limitations in efficiently sending asynchronous events from a single server to multiple browser windows or tabs without increasing HTTP connections, leading to performance issues and complexity in setup and security risks.

Innovation Solution

A system where one browser window acts as a 'master' to manage updates for all windows associated with the same server, using a master window cookie to share state and communicate with slave windows, allowing all windows to use a single HTTP connection for updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple browser windows/tabs are opened to the same server, then the service can be accessed in multiple windows, but the browser's HTTP connection limitation (max 2 connections) causes performance degradation and inability to share connections efficiently

Engineering Contradiction:
Improvemulti-window access capabilityVSAvoidevent dispatching efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent merges multiple window's event polling operations into a single master window that maintains one HTTP connection to the server. The master window collects event data and distributes it to all slave windows through inter-window communication mechanisms, eliminating the need for each window to maintain separate connections and thus resolving the contradiction between multi-window access and connection efficiency

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The master window serves multiple functions: it acts as the sole HTTP connection manager to the server, an event collector, and an event distributor to all slave windows. This multi-functional design allows a single window to handle what would otherwise require multiple windows with separate connections, improving productivity while maintaining adaptability

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

2Reliability

If each window separately polls for updates, then each window can receive events independently, but the server load increases significantly

Engineering Contradiction:
Improveevent reception reliabilityVSAvoidserver load
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent combines multiple independent polling operations into a single polling operation executed by the master window. Instead of N windows each polling the server (creating N times the server load), only one window polls the server while other windows receive events through the master window's distribution mechanism, thus maintaining reliable event reception while dramatically reducing server load

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If custom protocols or direct sockets are used to bypass HTTP connection limits, then multi-window access can be achieved, but firewall and proxy compatibility issues arise

Engineering Contradiction:
Improveconnection flexibilityVSAvoidfirewall and proxy compatibility
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The master window serves multiple functions: it acts as the sole HTTP connection manager to the server, an event collector, and an event distributor to all slave windows. This multi-functional design allows a single window to handle what would otherwise require multiple windows with separate connections, improving productivity while maintaining adaptability

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

Data Source

PatentUS8819560B2Dispatching events to multiple browser windows/tabs using a single connection
Publication Date: 2014.08.26 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8819560B2 patent drawing
  • US8819560B2 patent drawing
  • US8819560B2 patent drawing

AI summary

An initial browser window establishes itself as a “master” window for an associated server. A master window “cookie” data structure is created by the master window to share state among the windows for the server. Through the initially created master window cookie, all subsequently created browser windows detect that a master window is currently active, determine the master window's window name, and then establish themselves as slave windows through the master window. Slave windows call into the master window to request server updates/events, and provide the master window with their respective window names for future reference, e.g. when the master window distributes updates/events received from the server to the slave windows. The master window uses only a single HTTP GET command to fetch and dispatch updates/events associated with itself and all slave windows for the server.