IP Library Granted Patent US 11,575,597
Granted Patent B2
US 11,575,597 · App. 17/198,339 · Granted Feb 7, 2023

Methods and systems for message relay in a distributed architecture

Inventors: Alexandra Mikityuk (Berlin, DE); Martin Exequiel Zulliger Pizarro (Berlin, DE); Eugen Osiptschuk (Berlin, DE); Alexander Manecke (Berlin, DE); Manuel Rodriguez Franco (Burgos, ES); Maksim Sukhotin (St. Petersburg, RU)
Assignee: STAEX GMBH
H04L45/44H04L1/16H04L45/74
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,575,597
App. No.
17/198,339
Granted
Feb 7, 2023
Kind
B2
Abstract

A method for transport of messages includes: based on relay-flag information being set to the first value, sending a message directly from a sending network node to a receiving network node, and sending an acknowledgement message directly from the receiving network node to the sending network node; based on relay-flag information being set to the second value, relaying a message from the sending network node via a third network node to the receiving network node, and sending an acknowledgement message directly from the receiving network node to the sending network node; and based on relay-flag information being set to the third value, relaying a message from the sending network node via a third network node to the receiving network node, and relaying an acknowledgement message from the receiving network node via the third network node to the sending network node.

Claims (54)

1. A method for transport of messages from a sending network node to a receiving network node and for the transport of a reply message from the receiving network node to the sender network node in a distributed data processing network, wherein the distributed data processing network comprises a plurality of network nodes, wherein each message comprises relay-flag information and source address information, wherein the receiving network node sends an acknowledgement message in response to every message received, wherein the source address information is the address of the sending network node, wherein the relay-flag information comprises one of: a first value, a second value, or a third value, and wherein the method comprises:

based on relay-flag information being set to the first value, sending a message directly from the sending network node to the receiving network node, and sending an acknowledgement message directly from the receiving network node to the sending network node;

based on relay-flag information being set to the second value, relaying a message from the sending network node via a third network node to the receiving network node, and sending an acknowledgement message directly from the receiving network node to the sending network node; and

based on relay-flag information being set to the third value, relaying a message from the sending network node via a third network node to the receiving network node, and relaying an acknowledgement message from the receiving network node via the third network node to the sending network node;

wherein the third network node is determined by the distributed data processing network;

wherein the sending network node determines whether the receiving network node is directly reachable;

wherein based on the receiving network node being directly reachable, the relay-flag information is set to the first value and the receiving network node is tagged as directly reachable;

wherein based on the receiving network node not being directly reachable, the relay-flag information is set to the second value;

wherein based on no acknowledgement message being received by the sending network node after a predetermined period, a previous step is repeated a predetermined number of times;

wherein each respective network node maintains a first list of network nodes known to the respective network node;

wherein each respective network node maintains a second list of network nodes to which the respective network node has been in contact with in the network within a predetermined period of time;

wherein based on no acknowledgement message being received by the sending network node in the last repetition of sending the message with the relay-flag information set to the first value, the sending network node queries the network nodes of the first list of the sending network node regarding whether or not the respective network nodes have the receiving network node on their respective second lists; and

wherein based on a respective network node having the receiving network node on the respective network node's respective second list, the respective network node is set as the third network node for relay, and the message is sent from the sending network node with the relay-flag information set to the second value.

2. The method according to claim 1 , wherein a predetermined time period for a network node to be on a second list is 60 seconds.

3. The method according to claim 1 , wherein based on an acknowledgement message being received by the sending network node, the sending network node tags the receiving network node as directly reachable;

wherein based on no acknowledgement message being received by the sending network node in the last repetition of sending the message with the relay-flag information set to the second value, the message is sent from the sending network node with the relay-flag information being set to the third value.

4. The method according to claim 3 , wherein based on an acknowledgement message being received by the sending network node, the sending network node tags the receiving network node as indirectly reachable; and

wherein based on no acknowledgement message being received by the sending network node, the sending network node tags the receiving network node as not reachable.

5. The method according to claim 1 , wherein the predetermined period for repetition with the relay-flag information set to the first value or the second value is smaller than the predetermined period for repetition with the relay-flag information set to the third value.

6. The method according to claim 1 , wherein the predetermined period for repetition with the relay-flag information set to the first value or the second value is 200 ms; and/or

wherein the predetermined period for repetition with the relay-flag information set to the third value is 500 ms.

7. The method according to claim 1 , wherein the predetermined number of repetitions with the relay-flag information set to the first value, the second value, or the third value is two.

8. One or more non-transitory computer-readable mediums having processor-executable instructions stored thereon for transport of messages from a sending network node to a receiving network node and for the transport of a reply message from the receiving network node to the sender network node in a distributed data processing network, wherein the distributed data processing network comprises a plurality of network nodes, wherein each message comprises relay-flag information and source address information, wherein the source address information is the address of the sending network node, wherein the relay-flag information comprises one of: a first value, a second value, or a third value, and wherein the processor-executable instructions, when executed, facilitate:

based on relay-flag information being set to the first value, sending a message directly from the sending network node to the receiving network node, and sending an acknowledgement message directly from the receiving network node to the sending network node;

based on relay-flag information being set to the second value, relaying a message from the sending network node via a third network node to the receiving network node, and sending an acknowledgement message directly from the receiving network node to the sending network node; and

based on relay-flag information being set to the third value, relaying a message from the sending network node via a third network node to the receiving network node, and relaying an acknowledgement message from the receiving network node via the third network node to the sending network node;

wherein the third network node is determined by the distributed data processing network;

wherein the receiving network node sends an acknowledgement message in response to every message received;

wherein the sending network node determines whether the receiving network node is directly reachable;

wherein based on the receiving network node being directly reachable, the relay-flag information is set to the first value and the receiving network node is tagged as directly reachable;

wherein based on the receiving network node not being directly reachable, the relay-flag information is set to the second value;

wherein based on no acknowledgement message being received by the sending network node after a predetermined period, a previous step is repeated a predetermined number of times;

wherein each respective network node maintains a first list of network nodes known to the respective network node;

wherein each respective network node maintains a second list of network nodes to which the respective network node has been in contact with in the network within a predetermined period of time;

wherein based on no acknowledgement message being received by the sending network node in the last repetition of sending the message with the relay-flag information set to the first value, the sending network node queries the network nodes of the first list of the sending network node regarding whether or not the respective network nodes have the receiving network node on their respective second lists; and

wherein based on a respective network node having the receiving network node on the respective network node's respective second list, the respective network node is set as the third network node for relay, and the message is sent from the sending network node with the relay-flag information set to the second value.

9. A distributed data processing network system, comprising:

a sending network node;

a receiving network node;

a third network node; and

one or more non-transitory computer-readable mediums having processor-executable instructions stored thereon for transport of messages from the sending network node to the receiving network node and for the transport of a reply message from the receiving network node to the sender network node in the distributed data processing network, wherein each message comprises relay-flag information and source address information, wherein the source address information is the address of the sending network node, wherein the relay-flag information comprises one of: a first value, a second value, or a third value, and wherein the processor-executable instructions, when executed, facilitate:

based on relay-flag information being set to the first value, sending a message directly from the sending network node to the receiving network node, and sending an acknowledgement message directly from the receiving network node to the sending network node;

based on relay-flag information being set to the second value, relaying a message from the sending network node via the third network node to the receiving network node, and sending an acknowledgement message directly from the receiving network node to the sending network node; and

based on relay-flag information being set to the third value, relaying a message from the sending network node via the third network node to the receiving network node, and relaying an acknowledgement message from the receiving network node via the third network node to the sending network node;

wherein the third network node is determined by the distributed data processing network;

wherein the receiving network node sends an acknowledgement message in response to every message received;

wherein the sending network node determines whether the receiving network node is directly reachable;

wherein based on the receiving network node being directly reachable, the relay-flag information is set to the first value and the receiving network node is tagged as directly reachable;

wherein based on the receiving network node not being directly reachable, the relay-flag information is set to the second value;

wherein based on no acknowledgement message being received by the sending network node after a predetermined period, a previous step is repeated a predetermined number of times;

wherein each respective network node maintains a first list of network nodes known to the respective network node;

wherein each respective network node maintains a second list of network nodes to which the respective network node has been in contact with in the network within a predetermined period of time;

wherein based on no acknowledgement message being received by the sending network node in the last repetition of sending the message with the relay-flag information set to the first value, the sending network node queries the network nodes of the first list of the sending network node regarding whether or not the respective network nodes have the receiving network node on their respective second lists; and

wherein based on a respective network node having the receiving network node on the respective network node's respective second list, the respective network node is set as the third network node for relay, and the message is sent from the sending network node with the relay-flag information set to the second value.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2022
From: DEUTSCHE TELEKOM AG
To: STAEX GMBH
Reel/Frame 061209/0743 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2021
From: MIKITYUK, ALEXANDRA; ZULLIGER PIZARRO, MARTIN EXEQUIEL; OSIPTSCHUK, EUGEN; MANECKE, ALEXANDER; FRANCO, MANUEL RODRIGUEZ; SUKHOTIN, MAKSIM
To: DEUTSCHE TELEKOM AG
Reel/Frame 055569/0938 →
Priority Claims (1)
EP 20163086 · Mar 13, 2020 · regional
Continuity (1)
Related Publication 20210288905A1 · Sep 16, 2021