Distributed Hash Set Table for Service Discovery in NAT Networks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed architectures, registering services for clients to query from any network node is challenging, and communication between nodes is restricted by NATs and firewalls, limiting service discovery and message relay efficiency.
Innovation Solution
A Distributed Hash Set Table (DHST) system is implemented, allowing service registration and retrieval across network nodes, with an API tunneling connections between client and service provider nodes, and a message relay mechanism that adapts to NAT configurations using a Relay flag and SourceAddress for message routing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If services are registered in a distributed infrastructure, then service discovery capability is improved, but the complexity of registration and query mechanisms increases
Solution Approach 1:
The patent introduces a distributed hash set table (DHST) as an intermediary data structure that mediates between service providers and service consumers. The DHST stores service endpoints indexed by service identifiers, enabling efficient lookup without complex registration mechanisms. When a service is registered, its endpoint is simply stored in the DHST; when a service is queried, the DHST returns the corresponding endpoint. This intermediary structure simplifies the overall system complexity while maintaining versatile service discovery capability.
2Speed
If nodes communicate directly in a distributed network, then communication efficiency is improved, but communication reliability deteriorates due to NAT and firewall restrictions
Solution Approach 1:
The patent introduces tunneling as an intermediary communication mechanism that resolves the conflict between direct communication efficiency and reliability. Instead of attempting direct peer-to-peer communication through NATs and firewalls, the system establishes tunnels through intermediary nodes that are accessible. The DHST stores tunnel endpoints rather than direct node addresses, allowing messages to be routed reliably through the tunnel infrastructure while maintaining the efficiency of direct communication within the tunnel context.
3Ease of operation
If a centralized service registry is used, then service management simplicity is improved, but system reliability and scalability worsen
Solution Approach 1:
The patent applies segmentation by dividing the centralized service registry into distributed hash set tables across multiple nodes in the network. Instead of a single point of failure, the service registration data is segmented and distributed across the network infrastructure. Each node maintains a portion of the DHST, and the system as a whole provides the service registry functionality. This segmentation maintains operational simplicity (services can still be registered and queried easily) while dramatically improving reliability (no single point of failure) and scalability (the distributed structure can grow with the network).
Data Source
Figure 1
Figure 2a~2b
Figure 2c
AI summary
A method and system for distributed service management in a distributed data processing network; wherein the distributed data processing network comprises a plurality of network nodes; wherein the distributed data processing network comprises a distributed service management unit and wherein client nodes and service provider nodes each run a instance of the distributed service management unit; wherein the distributed service management unit comprises a distributed hash set table, DHST, configured to store and retrieve one or more datasets; wherein each dataset comprises a key and one or more values and the DHST is indexed by the key; wherein the distributed management unit is configured to provide an application programming interface, API, and is configured so that all connections between client node and service provider node are tunneled through the API; wherein when a service provider registers a service on a network node, this registering network node will store an endpoint of said service in a dataset of the DHST with a key corresponding to said service; and wherein when a service is requested by a client node the distributed service management unit is configured to return all endpoints stored in the DHST with the key corresponding to said service.