Connectionless Server Heartbeat Mechanism for Scalable Client Routing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing client-server communication architectures require persistent TCP connections, limiting scalability and resource efficiency, as they dedicate resources to each connection, and clients behind firewalls or proxies can only communicate with one server, restricting communication access.
Innovation Solution
Implementing a system that uses non-persistent UDP connections for client-server communication, where clients send periodic heartbeat messages to a connectionless server, allowing unsolicited communications through firewalls and enabling multiple clients to connect to a single server without persistent connections, and using a client manager for persistent-only clients to handle communications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If persistent TCP connections are used for client-server communication, then reliable communication is ensured, but the number of simultaneous connections a server can host is limited due to dedicated resources
Solution Approach 1:
The patent segments the communication function into two separate components: a persistent connection manager that handles connection maintenance and resource allocation, and a message routing system that handles actual communication. This allows the server to manage many more simultaneous connections by separating the overhead of connection maintenance from message handling.
Solution Approach 2:
The patent introduces an intermediary message routing system that sits between clients and servers, acting as a broker for message delivery. This intermediary handles the complexity of connection management and routing, allowing servers to focus on application logic while supporting significantly more concurrent connections.
2Adaptability or versatility
If persistent connections are established to allow servers to communicate with clients behind firewalls, then unsolicited communications are enabled, but resources must be dedicated to each connection
Solution Approach 1:
The patent merges multiple connection management functions into a centralized persistent connection manager that handles connections to multiple clients behind firewalls. Instead of each server instance dedicating resources to individual connections, the merged manager pools resources efficiently while maintaining the ability to communicate through firewalls using techniques like UDP port knocking.
Solution Approach 2:
The persistent connection manager is designed as a universal component that can handle multiple types of connections and communication patterns simultaneously. It provides multi-functional capabilities including connection establishment, maintenance, firewall penetration, and message routing, eliminating the need for separate dedicated resources for each function.
3Reliability
If each client establishes a persistent connection with just one server, then communication reliability is maintained, but the server workload increases and communication access is limited
Solution Approach 1:
The patent introduces a message routing system that acts as an intermediary between clients and multiple servers. This routing system maintains the persistent connection relationships while distributing message routing responsibilities, thereby reducing the workload on individual servers and enabling clients to access multiple servers through the routing infrastructure.
4Productivity
If non-persistent UDP connections are used for communication, then resource dedication is reduced and scalability increases, but firewall penetration becomes difficult
Solution Approach 1:
The patent applies preliminary action by having clients perform UDP port knocking or send preliminary registration messages to firewalls before actual communication begins. This preliminary action opens temporary firewall rules or establishes permission, allowing subsequent non-persistent UDP packets to pass through without requiring dedicated persistent connections.
Solution Approach 2:
The system uses periodic heartbeat messages or registration updates sent by clients to maintain firewall rule validity. These periodic actions refresh the firewall's permission state, allowing continuous communication through non-persistent connections while maintaining adaptability to firewall constraints.
Data Source
AI summary
A system and method for conducting a client-server application (e.g., instant messaging, VOIP telephony) using non-persistent communications. Clients issue periodic heartbeat messages to a connectionless server using a non-persistent (e.g., UDP) communication protocol. The heartbeat messages identify the clients by unique client identifiers. When an application server has an unsolicited communication for a client (e.g., a new instant message, a new VOIP call), the application server retrieves the client's address from the connectionless server if it does not already have the address. The application server forwards the unsolicited communication to the client via a non-persistent communication, and may spoof the connectionless server if necessary to reach the client through a firewall, proxy, NAT or similar entity. Clients that cannot use non-persistent protocols establish persistent connections with a client manager. The client manager issues heartbeat messages to the connectionless server and receives and forwards unsolicited communications for these clients.


