Co-browsing Framework for WebRTC Connection Stability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing WebRTC connections for voice communication over web pages are unreliable due to repeated connects and disconnects, leading to network resource reservation issues and security risks, especially when integrating web site services with call center services, and can result in poor user experience and vulnerability to denial-of-service attacks.

Innovation Solution

Establishing a WebRTC connection between a user device and an IVR system running a voice browser, with the voice content provided to the IVR system, and implementing a co-browsing framework to integrate HTML browser sessions with voice browser sessions, allowing for seamless navigation and interaction without reloading pages, using mechanisms like hidden frames or fetching scripts to maintain connections.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If WebRTC connections are established for each web page load, then voice communication can be enabled, but connection reliability deteriorates due to repeated connects and disconnects

Engineering Contradiction:
Improveconnection reliabilityVSAvoidconnection duration
Core Design Contradiction:
ReliabilityVSDuration of action of stationary object

Solution Approach 1:

The system performs preliminary actions by establishing the WebRTC connection when the HTML browser session is first created, before the user actually needs voice communication. This initial connection setup ensures that the communication channel is ready and stable, avoiding repeated connection attempts that would degrade reliability. The connection is maintained throughout the browser session lifecycle.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The WebRTC connection is designed to serve multiple web pages and multiple voice communication sessions within a single HTML browser session. Instead of creating separate connections for each page, the same connection infrastructure is reused across different pages and communication instances, improving both reliability and resource efficiency.

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

2Adaptability or versatility

If WebRTC connections are frequently disconnected and reconnected, then page navigation is possible, but network resource reservation issues occur

Engineering Contradiction:
Improvepage navigation capabilityVSAvoidnetwork resource waste
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The system preliminarily establishes the WebRTC connection at the start of the HTML browser session, ensuring network resources are reserved and configured in advance. This preliminary setup allows subsequent page navigations to occur without triggering new connection establishments, thereby preventing network resource waste from repeated connection attempts.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The WebRTC connection maintains continuous operation throughout the HTML browser session, even as the user navigates between multiple web pages. The connection remains active and ready for voice communication, eliminating the need to repeatedly establish and tear down connections during normal browsing activities.

Inventive Principle:
Principle #20Continuity of useful action

3Ease of operation

If traditional web page loading is used, then page changes are simple, but security risks increase due to connection disruptions

Engineering Contradiction:
Improvepage change simplicityVSAvoidsecurity risks
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The system performs the security-critical action of establishing the WebRTC connection preliminarily, before page navigation occurs. This initial connection establishment creates a secure, authenticated communication channel that persists through page changes, preventing security vulnerabilities that would arise from repeated connection cycles.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The WebRTC connection acts as an intermediary layer that maintains secure communication between the user device and the application server throughout the browser session. This persistent connection infrastructure mediates all voice communication requests, ensuring security is maintained regardless of how many pages the user navigates to.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Ease of operation

If WebRTC connections are maintained across page changes, then user experience improves, but connection management complexity increases

Engineering Contradiction:
Improveuser experienceVSAvoidconnection management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system merges the WebRTC connection lifecycle with the HTML browser session lifecycle. By tying the connection's existence to the browser session rather than individual pages, the system simplifies management logic while maintaining continuous connectivity for improved user experience across page navigations.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9916128B2Visual and voice co-browsing framework
Publication Date: 2018.03.13 VERIZON PATENT & LICENSING INC
  • US9916128B2 patent drawing
  • US9916128B2 patent drawing
  • US9916128B2 patent drawing

AI summary

A computer system may include logic configured to enable voice-enabled web pages. The logic may be configured to receive a request for a web page that includes Hypertext Markup Language (HTML) content and voice browser content from an HTML browser running on a user device; generate a co-browsing session identifier based on the received request; provide a response to the HTML browser, wherein the response includes the HTML content, the generated co-browsing session identifier, and an instruction to establish a Web Real-Time Communication (WebRTC) connection with an interactive voice response (IVR) system associated with the voice browser content; receive an indication from the IVR system that the WebRTC connection has been established for the co-browsing session identifier; and provide the voice browser content to a voice browser in the IVR system, in response to receiving the indication that the WebRTC connections has been established for the co-browsing session identifier.