WebAssembly Protocol Stack for Browser Remote Access
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
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
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.
Data Source
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.
