Connectionless Server Heartbeat Mechanism for Scalable Client Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidnumber of simultaneous connections
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvefirewall penetration capabilityVSAvoiddedicated resources per connection
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidserver workload
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If non-persistent UDP connections are used for communication, then resource dedication is reduced and scalability increases, but firewall penetration becomes difficult

Engineering Contradiction:
ImprovescalabilityVSAvoidfirewall penetration capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS7617525B1System and method for connectionless client-server communications
Publication Date: 2009.11.10 ALTO VENTURES INC
  • US7617525B1 patent drawing
  • US7617525B1 patent drawing
  • US7617525B1 patent drawing

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.