Browser Tab Communication via Single Session

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current client-server communication systems require multiple threads for each browser tab or window, leading to resource-intensive demands on servers, which can be unsustainable.

Innovation Solution

Implementing a client-side, browser-based solution that establishes a single communication session for multiple presentation interfaces, using a master/slave model where a single master interface manages communication with the server, and slave interfaces broadcast data to the master for transmission.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a separate communication session is maintained for each browser tab or window, then each presentation interface can communicate independently with the server, but the server resource consumption increases due to multi-threaded communications

Engineering Contradiction:
Improvecommunication independenceVSAvoidserver resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

Multiple browser tabs and windows are merged into a single communication session through a shared worker object. The worker object acts as a central hub that receives messages from multiple presentation interfaces and forwards them to the server through one WebSocket connection, consolidating what would otherwise be multiple separate communication channels into a single shared resource.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

A worker object serves as an intermediary between the multiple browser tabs/windows and the server communication channel. This intermediary receives messages from various presentation interfaces, manages the single WebSocket connection, and distributes server responses back to the appropriate tabs or windows, thereby decoupling the multiple client interfaces from the single server connection.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple communication sessions are established for multiple browser tabs or windows, then each interface can maintain its own communication state, but the device complexity increases due to multi-threaded requirements

Engineering Contradiction:
Improvecommunication state managementVSAvoidmulti-threaded communication structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The communication architecture is segmented into distinct functional layers: presentation interfaces (tabs/windows) that generate messages, a worker object that manages communication state and coordinates messaging, and a single WebSocket connection to the server. This segmentation allows each component to have a specific responsibility while working together through standardized message passing, reducing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The worker object serves multiple functions simultaneously: it acts as a message router from tabs to the WebSocket connection, maintains the communication state for all tabs, manages the single server connection, and distributes responses back to appropriate tabs. This multi-functional design eliminates the need for separate communication threads for each tab while preserving individual tab communication capabilities.

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

Data Source

PatentUS10977334B2Systems and methods for providing client-side enablement of server communications via a single communication session for a plurality of browser-based presentation interfaces
Publication Date: 2021.04.13 SALESFORCE INC
  • US10977334B2 patent drawing
  • US10977334B2 patent drawing
  • US10977334B2 patent drawing

AI summary

A method for communicating with a server system, by a client device via a browser application, is provided. The method: (i) presents browser-based presentation interfaces including browser tabs and/or browser windows, the browser-based presentation interfaces including a master presentation interface and at least one slave presentation interface; (ii) establishes a single communication session with the server system, by the master presentation interface, the single communication session being associated with a session identifier configured to differentiate the single communication session; (iii) enables communication between the browser-based presentation interfaces and the server system via the single communication session, by: exchanging data communications between the master presentation interface and the server system using the single communication session; and permitting the at least one slave presentation interface to indirectly communicate with the server system via the master presentation interface; and (iv) dynamically updates each of the browser-based presentation interfaces in real-time.