Multiple Persistent WebSocket Channels Between Proxy Servers for Lower Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Proxy infrastructures face challenges such as connection losses, unavailability of proxy servers, system errors, bandwidth limitations, and longer transaction times, which affect performance and client satisfaction.
Innovation Solution
Implementing proxy supernodes and exit proxies that establish persistent WebSocket communication channels for bi-directional, full-duplex data exchange, allowing them to communicate independently and reduce network latency through continuous 'ping-pong' processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If traditional HTTP request-response communication is used between proxy servers, then connection establishment is simple, but network latency increases and transaction efficiency decreases due to repeated handshake processes
Solution Approach 1:
The patent establishes WebSocket persistent channels in advance between proxy servers before actual proxy requests occur. This preliminary action creates a pre-existing communication pathway that eliminates the need for repeated TCP handshakes and HTTP protocol exchanges for each request, thereby reducing network latency while the system manages channel lifecycle events to handle complexity
Solution Approach 2:
The patent maintains continuous WebSocket persistent channels between proxy servers, enabling uninterrupted bidirectional communication. This continuous connection allows proxy requests and responses to be transmitted immediately without connection establishment delays, improving transaction efficiency while the channel management system handles maintenance complexity
2Productivity
If multiple proxy servers are connected through persistent channels, then communication efficiency improves, but connection loss and server unavailability issues increase system complexity
Solution Approach 1:
The patent implements a channel manager that continuously monitors the status of WebSocket persistent channels between proxy servers. When connection losses or server unavailability occur, the manager detects these changes through feedback mechanisms and automatically triggers reconnection or failover procedures, maintaining communication efficiency while managing reliability issues
Solution Approach 2:
The patent establishes redundant persistent channels between proxy servers in advance, creating backup communication pathways before failures occur. This beforehand cushioning ensures that if a primary channel fails due to connection loss or server unavailability, alternative channels are already in place to maintain communication efficiency without significant disruption
3Productivity
If HTTP caching operations are used to reduce direct user-server communication, then network bottlenecks are prevented, but transaction time increases due to additional proxy processing steps
Solution Approach 1:
The patent establishes persistent WebSocket channels between proxy servers that remain continuously open, enabling immediate transmission of cached resources without repeated protocol handshakes. This continuous communication pathway allows caching operations to deliver resources faster by eliminating redundant connection establishment time, improving transaction time while maintaining network throughput benefits
Data Source
AI summary
Proxy servers within a service provider infrastructure are enabled to maintain multiple persistent connections among themselves and to exchange data bi-directionally in an unsolicited manner. Specifically, exit proxy servers are enabled to request their respective proxy supernodes to update the already existing network connection to support WebSocket communication channels. Accordingly, the respective proxy supernodes are enabled to update the network connection with the exit proxy servers to support WebSocket communication channels. A single instance of a proxy supernode and an exit proxy server can maintain multiple WebSocket communication channels with each other. By utilizing the said WebSocket communication channels, the proxy supernode and the exit proxy servers can exchange data with each other simultaneously without any data losses. Thus, by exchanging data via the said WebSocket communication channels, the proxy supernodes and the exit proxy servers are aimed at servicing the proxy clients in processing their data requests.


