Elastic Reply-Request Multicast Protocol for Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed systems face performance issues due to heavy network traffic in peer-to-peer configurations using the request-and-reply model and lack of guaranteed message delivery and ordering in traditional multicast methods.

Innovation Solution

The elastic reply-request multicast (ERRM) messaging protocol, which forwards messages to all nodes but requires replies only as needed, ensuring guaranteed delivery and ordering by excluding nodes that do not need to respond from the GUID list, allowing for efficient synchronization of system state information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the request-and-reply model is used in peer-to-peer configuration, then data exchange can be initiated by any node, but network traffic increases significantly due to N² messages being transmitted

Engineering Contradiction:
Improvenode communication initiation capabilityVSAvoidnetwork traffic volume
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent combines the multicast model's efficient one-to-many message distribution with selective reply mechanisms. Instead of individual request-reply pairs between all node pairs, a single multicast request is sent to all nodes, and only specific nodes that have the requested data send replies. This merges the efficiency of multicast with the reliability of selective reply, reducing network traffic from N² to approximately N messages while maintaining peer-to-peer communication flexibility.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If traditional multicast is used to reduce network traffic, then message transmission efficiency improves, but message delivery guarantee and ordering are not ensured

Engineering Contradiction:
Improvemessage transmission efficiencyVSAvoidmessage delivery guarantee
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback mechanisms where receiving nodes acknowledge message receipt and ordering to the sender. Each message includes sequence information, and nodes provide feedback about received messages. This allows the system to detect missing messages and retransmit them, ensuring reliable delivery while maintaining multicast efficiency. The feedback loop enables the system to achieve both high transmission efficiency and reliable delivery guarantees.

Inventive Principle:
Principle #23Feedback

3Device complexity

If the master/slave configuration is used, then communication control is centralized, but the master node becomes a single point of failure affecting overall system communication

Engineering Contradiction:
Improvecommunication control structureVSAvoidsystem communication reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent segments the centralized control function into distributed control among all peer nodes. Instead of one master node controlling all communications, any node can initiate requests and all nodes can respond. The multicast mechanism distributes control plane functions across the network, eliminating the single point of failure while maintaining organized communication through standardized message formats and selective reply protocols.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10673941B2Elastic reply-request multicast messaging protocol for peer-to-peer distributed systems
Publication Date: 2020.06.02 VMWARE INC
  • US10673941B2 patent drawing
  • US10673941B2 patent drawing
  • US10673941B2 patent drawing

AI summary

Techniques disclosed herein provide a messaging protocol for a distributed system. In one embodiment, each message constructed according to the messaging protocol includes a field for a list of globally unique identifiers (GUIDs) of nodes that should not reply to the message. A new node joining the system sends a message requesting system state information and including an empty GUID list, indicating that all nodes receiving the message should reply. In normal operation, the system's state information is synchronized among all nodes at regular intervals by exchanging messages indicating local state changes at each node, and including GUID list fields specifying all other nodes' GUIDs so that no nodes reply. A node which identifies messages that should have been received from another node but are missing transmits a message requesting the missing messages, with a GUID list including all nodes other than the other node that sent the missing messages.