Co-browsing Proxy Server for Web Virtualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current co-browsing solutions fail to provide seamless and customizable sharing of web browser sessions between multiple users, as they lack support for dynamic content, cookie management, and interactive features, leading to limitations in active collaboration and session state transfer across different domains.

Innovation Solution

A computer-implemented method involving a proxy server that generates unique tokens for leader and follower participants, rewriting client-side code to handle dynamically generated content, and using a sandbox environment to capture and propagate DOM mutations, allowing for fine-grained customization and interaction while maintaining session state across domains.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If WebRTC is used to send encoded video stream from one participant to third-party participant, then real-time visual synchronization is achieved, but active/active collaboration is not realized and no virtual controls or HTML content can be integrated

Engineering Contradiction:
Improvereal-time visual synchronizationVSAvoidintegration of virtual controls and HTML content
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent introduces a co-browsing server as an intermediary between participants' browsers and the web application. The server receives HTTP requests from participants, manages session state, and coordinates interactions. This mediator enables multiple participants to actively collaborate by routing their requests through the server, which maintains the actual web application session and synchronizes state across all participants, thereby achieving both real-time synchronization and active/active collaboration capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If embedded JavaScript is used for co-browsing, then customization of web page content is possible, but HTTP cookies and authentication resources cannot be passed to third-party participants

Engineering Contradiction:
Improvecustomization of web page contentVSAvoidsession state and authentication cookies
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The co-browsing server acts as an intermediary that intercepts HTTP requests and responses between participants' browsers and the web application. It captures authentication cookies and session state information, manages them centrally, and ensures proper propagation to authorized participants. This intermediary approach allows embedded JavaScript customization while preserving session state through server-side cookie management and authenticated request routing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The co-browsing server provides multi-functional capabilities: it serves as an HTTP proxy, session manager, authentication broker, and content customization engine. By consolidating these functions in a single universal system, the patent enables both JavaScript-based page customization and secure cookie/passport synchronization through the same infrastructure, eliminating the need for separate mechanisms.

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

3Adaptability or versatility

If session cookies are synchronized from one user to another in embedded JavaScript co-browsing, then sharing session between browsers is possible, but the session becomes insecure

Engineering Contradiction:
Improvesession sharing between browsersVSAvoidsession security
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The co-browsing server serves as a secure intermediary that manages cookie synchronization. Instead of direct client-to-client cookie sharing, the server intercepts authentication cookies from the origin browser, validates them, and securely distributes them to follower browsers through controlled mechanisms. This intermediary approach maintains session security by centralizing authentication management and implementing access control policies.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements self-service authentication where the co-browsing server automatically manages cookie propagation and session state synchronization without requiring manual intervention. The server monitors session changes, detects when cookies need to be updated, and automatically propagates them to relevant participants, reducing security risks associated with manual cookie handling while maintaining session sharing capability.

Inventive Principle:
Principle #25Self-service

4Reliability

If resources are loaded for the end participant before relay to the web application by the intermediate server, then authentication obstacles are overcome, but latency is increased

Engineering Contradiction:
Improveauthentication successVSAvoidloading latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The co-browsing server performs preliminary actions by pre-establishing the web application session and obtaining authentication cookies on behalf of participants before they need to access the application. The server proactively loads necessary resources, validates authentication, and prepares the session state in advance, allowing participants to join and interact with minimal delay. This preliminary session establishment eliminates authentication obstacles while reducing latency compared to on-demand loading.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11870837B2Computer-implemented co-browsing method and system for web platform virtualization of web applications using a network proxy and function-wrapping engine
Publication Date: 2024.01.09 PIËL NICHOLAS
  • US11870837B2 patent drawing
  • US11870837B2 patent drawing
  • US11870837B2 patent drawing

AI summary

A computer program product, system, and computer-implemented method for facilitating co-browsing of a web application wherein HTML and JavaScript code within a web application are wrapped and brokered to a plurality of third parties.