Distributed Hash Set Table for Service Discovery in NAT Networks

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

VSEngineering 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

Engineering Contradiction:
Improveservice discovery capabilityVSAvoidregistration and query mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If nodes communicate directly in a distributed network, then communication efficiency is improved, but communication reliability deteriorates due to NAT and firewall restrictions

Engineering Contradiction:
Improvecommunication efficiencyVSAvoidcommunication reliability
Core Design Contradiction:
SpeedVSReliability

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If a centralized service registry is used, then service management simplicity is improved, but system reliability and scalability worsen

Engineering Contradiction:
Improveservice management simplicityVSAvoidsystem reliability
Core Design Contradiction:
Ease of operationVSReliability

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).

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3879402B1Methods and systems for service discovery and tunnelling in a distributed architecture
Publication Date: 2024.01.17 DEUTSCHE TELEKOM AG
  • EP3879402B1 patent drawingFigure 1
  • EP3879402B1 patent drawingFigure 2a~2b
  • EP3879402B1 patent drawingFigure 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.