Relay Server Protocol Tunneling for Web Conferencing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Web conferencing clients in restricted environments face limitations due to inability to establish TCP socket connections, lack of authentication capabilities, and restricted network connectivity, which hinder communication with remote servers using protocols like SIP and RDP.
Innovation Solution
A relay server acts as a middleman to tunnel arbitrary binary data over HTTP, enabling Web-based clients to connect with remote servers by leveraging HTTP for communication, using sequence/acknowledgment numbers for reliable delivery, and pluggable transport components for secure authentication and protocol adaptation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a Web-based client uses HTTP for communication, then it can traverse firewalls and restricted networks, but it cannot directly communicate with remote servers using non-HTTP protocols like SIP and RDP
Solution Approach 1:
The patent introduces a relay server as an intermediary component that receives HTTP requests from the Web-based client, converts them into the appropriate non-HTTP protocols (SIP, RDP), and forwards them to the remote server. The relay server also handles the reverse conversion for responses. This mediator approach resolves the protocol incompatibility issue while maintaining the simplicity of HTTP-based client communication.
2Reliability
If TCP socket connections are enabled in restricted environments, then direct communication with remote servers is possible, but security policies and firewalls block such connections
Solution Approach 1:
The relay server acts as a trusted intermediary that establishes HTTP connections (which are allowed through firewalls) between the client and itself, then performs protocol conversion to communicate with the remote server using appropriate protocols. This bypasses the firewall blocking issue without compromising security, as the relay server operates within the trusted corporate network environment.
3Reliability
If authentication protocols like NTLM and Kerberos are available, then secure access to remote servers is achieved, but they are not accessible to browser-based clients in restricted environments
Solution Approach 1:
The relay server serves as an authentication intermediary that receives authentication credentials from the Web-based client and handles the complex authentication protocols (NTLM, Kerberos, certificates) on behalf of the client. The relay server performs the authentication handshake with the remote server using the appropriate protocol, then relays the authenticated communication to the client without requiring the client to directly implement these complex protocols.
4Ease of operation
If AJAX-based clients are used for Web conferencing, then clients can join meetings without installation, but functionality is constrained by JavaScript limitations
Solution Approach 1:
The relay server functions as a capability-enhancing intermediary that receives simple HTTP requests from the AJAX-based client, processes them through complex protocol conversion and authentication mechanisms, and delivers appropriate responses. This allows the client to maintain its simplicity and ease of deployment while gaining access to advanced functionality through the relay server's protocol conversion capabilities.
Data Source
AI summary
The embodiments described herein generally relate to methods and systems for tunneling arbitrary binary data between an HTTP endpoint and an arbitrary destination. Such tunneling of data is valuable in an environment, for example, in which a browser-based client communicates in the HTTP protocol and desires to exchange data with a remote endpoint understanding non-HTTP communications. A relay server is used as a “middle man” to connect the client to the destination, and components supporting the necessary protocols for data exchange are plugged into the relay server. To achieve reliable and ordered transmission of data, the relay server groups sessions through the assignment of session identifiers and tracks the exchange of messages through the assignment of sequence and acknowledgment numbers. Further, the relay server provides for authenticating the HTTP endpoint with the destination and for handling other operations not available in the constrained environment of the Web-based client.


