Logical Address System for Reliable Group Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing group communication protocols face challenges with node address management, particularly when nodes rejoin after being shunned, NIC failures, and Network Address Translation (NAT) changes, leading to disruptions in communication.

Innovation Solution

The implementation of a logical address system using unique identifiers (UUIDs) associated with logical names, which are created upon channel connection and deleted upon disconnection, along with a cache for mapping UUIDs to physical addresses, allows for reliable and resilient message processing independent of IP addresses and NIC changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If physical addresses (IP address and port) are used for node identification in group communication, then communication can be established initially, but communication reliability deteriorates when nodes rejoin after being shunned, when NIC fails, or when NAT changes the sender's address

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidaddress stability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The address is segmented into two independent parts: a logical address (UUID) that identifies the node's logical identity and remains stable across reconnections, and a physical address (IP address and port) that handles actual network communication. This segmentation allows the system to maintain reliable communication by using the stable logical address for identification while the physical address handles the volatile network layer details.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A logical address generator acts as an intermediary between the physical network layer and the communication protocol layer. It generates stable logical addresses (UUIDs) that mediate the relationship between nodes, allowing nodes to be identified consistently regardless of changes in their physical network addresses. The mapping between logical and physical addresses is maintained in caches at each node.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If logical addresses with UUIDs are introduced to improve communication reliability, then node identification stability improves, but device complexity increases due to address mapping management

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidaddress mapping complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Each node autonomously manages its own logical address generation and maintains its own cache of address mappings. The logical address generator at each node independently creates UUIDs and manages the mapping between logical and physical addresses for that specific node. This self-service approach distributes the complexity across multiple nodes rather than centralizing it, reducing the overall system complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes the parameter used for node identification from physical address (IP and port) to logical address (UUID). This parameter change fundamentally alters how nodes are identified and tracked, enabling stable identification across network changes. The UUID serves as a persistent identifier that doesn't change when network conditions change, simplifying the mapping management compared to tracking multiple physical addresses.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8194659B2Mechanism for processing messages using logical addresses
Publication Date: 2012.06.05 RED HAT INC
  • US8194659B2 patent drawing
  • US8194659B2 patent drawing
  • US8194659B2 patent drawing

AI summary

A method and apparatus for processing message includes forming a logical address upon a creation of a channel of a group communication protocol at a logical address generator of a server. The logical address includes a unique identifier (UUID) associated with a logical name. The UUID created upon connecting the channel, and deleted upon disconnecting the channel. A mapping between UUIDs and physical addresses of members of the group is stored in a cache of a member of the group.