Client-Server Connection via Persistent Message Service
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Establishing connections between client and server devices over a wide area network is challenging due to security devices like firewalls and routers blocking incoming connections, making it difficult for home-type server devices to allow incoming connections, which poses security and configuration challenges for users.
Innovation Solution
Client devices determine their network address information and store it on a data storage server, allowing a message service to establish a persistent connection with the server, enabling the server to initiate an outgoing connection to the client through the stored address information, bypassing firewall restrictions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the home router is reconfigured to allow incoming connections, then connection establishment between client and server is improved, but security risks and configuration complexity increase
Solution Approach 1:
Instead of the client initiating a connection to the server (which requires opening ports on the server's firewall), the server initiates a connection to the client. This reverses the traditional connection direction and allows the server to push data to the client without requiring the client's router to be reconfigured or allow incoming connections.
Solution Approach 2:
The patent uses a messaging service as an intermediary to facilitate communication. The messaging service receives messages from the server and forwards them to the client, enabling communication without requiring direct peer-to-peer connections that would need firewall configuration changes.
2Reliability
If the home router allows incoming connections, then connection establishment is improved, but device complexity and user configuration difficulty increase
Solution Approach 1:
The patent inverts the traditional client-server connection model by having the server initiate connections to the client instead of the other way around. This eliminates the need for users to reconfigure their home routers to allow incoming connections, as the server's outgoing connections are permitted by default.
Solution Approach 2:
The system performs connection establishment automatically without requiring user intervention or router reconfiguration. The server automatically initiates connections to client addresses obtained from the messaging service, making the system self-configuring and eliminating complex user setup procedures.
3Reliability
If a messaging service is used to establish connections, then connection establishment reliability is improved, but communication efficiency and bandwidth may be reduced due to intermediaries
Solution Approach 1:
The messaging service acts as a mediator that handles connection establishment and message routing. While it introduces an intermediary layer, the service optimizes communication by maintaining persistent connections and efficiently forwarding messages between servers and clients without significant bandwidth overhead.
Data Source
AI summary
Server devices operating on the Internet or another wide area network (WAN) are able to locate client devices using address information obtained from a shared location. Client devices initially determine their own network address information and submit the determined information for a priori storage at the shared location on the WAN. Each server device, in turn, contacts a message service or the like to establish a persistent data connection that is maintained between the message service and the server device over time. After the client device stores its own address information, the client initiates contact with the server via the message service having the previously-established persistent connection. Upon receipt of the instruction from the message service, the server is able to retrieve the client's previously-stored address information from the WAN storage and use the information to establish a connection with the client.

