WebAssembly Protocol Stack for Browser Remote Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solutions for remote service access via web browsers are limited by the computing, load-holding, and memory capacities of transcoding gateway servers, leading to saturation and inflexibility, requiring frequent updates and inefficient protocol usage.

Innovation Solution

A method that executes a web browsing application on a client device to establish a computing session using a standard protocol, with minimal processing through a WebSocket tunnel, transferring server load to the client and avoiding transcoding, and utilizing a JavaScript component with three layers: input-output, network interface, and protocol layers compiled in ASM.js or WebAssembly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If an intermediate transcoding server is used to enable web browser access to remote services, then compatibility and ease of access are improved, but server computing capacity, memory usage, and load-holding requirements increase significantly

Engineering Contradiction:
Improveweb browser accessVSAvoidserver memory capacity
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent extracts the transcoding function from the server and relocates it to the client device. The server only performs minimal protocol translation and tunnel establishment, while the client executes the full protocol stack locally, eliminating the need for the server to maintain large memory states for multiple concurrent transcoding sessions.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system segments the protocol processing into two distinct parts: a minimal gateway function on the server for tunnel establishment and a complete protocol implementation on the client. This segmentation allows the server to handle many concurrent connections with low resource consumption while the client performs the computationally intensive transcoding operations locally.

Inventive Principle:
Principle #1Segmentation

2Reliability

If an intermediate transcoding server maintains memory state for each connection, then protocol compatibility is achieved, but server load increases and limits the number of simultaneous connections

Engineering Contradiction:
Improveprotocol compatibilityVSAvoidnumber of simultaneous connections
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the connection-specific protocol state from the server and relocates it to the client. Each client maintains its own protocol state locally, allowing the server to handle numerous concurrent connections without increasing its memory burden, thereby improving both reliability through complete protocol implementation and productivity through scalable connection handling.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If protocol changes are implemented on the server, then functionality is updated, but the server code must be rewritten and all clients must be updated from the web server

Engineering Contradiction:
Improveprotocol update capabilityVSAvoidupdate complexity
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent segments the protocol implementation into a static server gateway component and a client-side protocol stack. Protocol updates can be deployed independently to clients without requiring server code changes or client re-downloads, significantly reducing update complexity while maintaining adaptability to protocol evolution.

Inventive Principle:
Principle #1Segmentation

4Speed

If a simplified protocol subset is used between client and gateway, then connection establishment is faster, but flexibility is reduced and all clients must operate in the same way

Engineering Contradiction:
Improveconnection establishment speedVSAvoidprotocol flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent extracts the full protocol negotiation and flexibility capabilities from the gateway and relocates them to the client. The gateway performs only minimal connection establishment, while the client handles complete protocol negotiation, enabling both fast connection setup and full protocol flexibility including support for different client generations and negotiation functions.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11277500B2Integration of a standard network protocol layer in a web browser by compilation to webassembly and use of a websocket
Publication Date: 2022.03.15 WALLIX
  • US11277500B2 patent drawing

AI summary

A standard network protocol layer is integrated in a Web browser by compilation to Webassembly and use of a Websocket. A method for connecting a local client device to a remote computing resource, by establishing a computing session in accordance with a standard protocol includes: executing on the client device a Web browsing application; opening a first tunnel (websocket) with a server GATEWAY, wherein the opening of the first tunnel between the client device and the GATEWAY commands the opening of a network connection with the remote resource. The Web application executed on the local client calculates data packets in accordance with a standard protocol (RDP or SSH for example) and commands the transmission of the data packets to the remote resource in the native format of the protocol, without transcoding or transformation other than the standard processing of websockets, by way of the server gateway (Proxy websocket) ensuring the transfer without modification of the packet received from the client device, to the remote server.