IP Library Granted Patent US 11,863,437
Granted Patent B2
US 11,863,437 · App. 17/809,611 · Granted Jan 2, 2024

Hybrid method for node organization and data routing in a peer-to-peer computer network

Inventors: Andrejus Mikonis (Vilnius, LT); Vytautas Jurenas (Vilnius, LT); Jonas Simanavicius (Vilnius, LT)
Assignee: Syntropy Network Limited
H04L45/44H04L9/3247H04L43/087H04L45/121H04L45/24
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,863,437
App. No.
17/809,611
Granted
Jan 2, 2024
Kind
B2
Abstract

A method for autonomously routing data using in a peer-to-peer computer network is disclosed. The method includes identifying multiple paths from a source node to a destination node, wherein each of the multiple paths includes two or more routing segments each comprising a sending node and a receiving node. The receiving node is selected among a plurality of nodes in the peer-to-peer computer network based on round-trip times measured between the sending node and the plurality of nodes. Path packages are sent along the multiple paths from the source node to the destination node. Total one-way latencies (OWLs) associated with the multiple paths are measured using path packages from the source node to the destination node. A relayed data path is selected from the multiple paths at least in part based on the total OWLs respectively associated with the multiple paths from the source node to the destination node.

Claims (70)

1. A method for autonomously routing data in a peer-to-peer computer network, comprising:

identifying multiple paths from a source node to a destination node, wherein each of the multiple paths includes two or more routing segments each comprising a sending node and a receiving node in the peer-to-peer computer network, step of identifying the multiple paths comprising:

selecting the receiving node among a plurality of nodes in the peer-to-peer computer network based on round-trip times (RTTs) measured between the sending node and the plurality of nodes;

sending path packets along the multiple paths from the source node to the destination node;

measuring total one-way latencies (OWLs) associated with the multiple paths using the path packets from the source node to the destination node;

selecting a relayed data path from the multiple paths at least in part based on the total OWLs respectively associated with the multiple paths from the source node to the destination node; and

routing the data, from the source node to the destination node, along the relayed data path selected.

2. The method of claim 1 , further comprising:

selecting, among the plurality of nodes, as neighbor nodes associated with the sending node based on the RTTs between the sending node and the plurality of nodes; and

sorting the neighbor nodes into a plurality of orbital bins according to RTTs between the sending node and the neighbor nodes,

wherein each of the orbital bins is associated with a specific interval for the RTTvalues.

3. The method of claim 2 , wherein step of identifying the multiple paths from the source node to the destination node comprises:

selecting the receiving node in one of the one or more routing segments in one of the multiple paths from neighbor nodes associated with the sending node in the one of the one or more routing segments.

4. The method of claim 2 , wherein an RTT between the sending node and one of the plurality of nodes is calculated using a sending time stamp of a pulse message sent from the sending node and a reception time stamp of a return pulse, received by the sending node, in response to the pulse message.

5. The method of claim 4 , wherein at least some of computer clocks at the plurality of nodes have skews relative to each other, wherein the RTTs are independent of the skews between the computer clocks at the plurality of nodes in the peer-to-peer computer network.

6. The method of claim 2 , further comprising:

storing peer-node hash tables each comprising hash values of node IDs of the neighbor nodes associated with a potential sending node in the peer-to-peer computer network,

wherein step of identifying the multiple paths from the source node to the destination node further comprises:

querying the destination node using the peer-node hash tables stored at the source node and other potential sending nodes in the peer-to-peer computer network.

7. The method of claim 1 , wherein the receiving node is a virtual node.

8. The method of claim 1 , wherein one of the path packets includes a sending time stamp recorded at the source node, the method further comprising:

updating the one of the path packets to include a reception time stamp recorded at the receiving node and an identification of the receiving node.

9. The method of claim 8 , further comprising:

updating the one of the path packets to include a cryptographic signature at the receiving node.

10. The method of claim 9 , wherein the cryptographic signature is signed with a private key paired with a public key associated with the receiving node.

11. The method of claim 10 , wherein the public key of the receiving node is obtained from a node identification of the receiving node.

12. The method of claim 1 , wherein step of measuring the total OWLs comprises:

summing OWLs measured by one of the path packets along all routing segments in one of the multiple paths to obtain a total OWL for the one of the multiple paths.

13. The method of claim 12 , wherein at least some of computer clocks at the plurality of nodes have skews relative to each other, wherein the total OWLs measured in the multiple paths are independent of the skews between the computer clocks at the plurality of nodes in the peer-to-peer computer network.

14. The method of claim 1 , wherein the relayed data path selected has a total OWL lower than at least one other path in the multiple paths.

15. The method of claim 1 , further comprising:

sending one or more path packets from the source node to the destination node in a direct data path from the source node to the destination node.

16. The method of claim 15 , wherein the relayed data path selected has a total OWL lower than the direct data path.

17. The method of claim 1 , further comprising:

measuring jitters associated with the multiple paths using path packets from the source node to the destination node,

wherein the relayed data path is selected from the multiple paths further based on jitters respectively associated with the multiple paths from the source node to the destination node.

18. The method of claim 1 , wherein the relayed data path is selected from the multiple paths further based on numbers of routing segments respectively associated with the multiple paths from the source node to the destination node.

19. A non-transitory computer-readable medium storing a plurality of instructions which, when executed by one or more processors, cause the one or more processors to perform operations in a peer-to-peer computer network, the operations comprising:

identifying multiple paths from a source node to a destination node, wherein each of the multiple paths includes two or more routing segments each comprising a sending node and a receiving node in the peer-to-peer computer network, step of identifying the multiple paths comprising:

selecting the receiving node among a plurality of nodes in the peer-to-peer computer network based on round-trip times (RTTs) measured between the sending node and the plurality of nodes;

sending path packets along the multiple paths from the source node to the destination node;

measuring total one-way latencies (OWLs) associated with the multiple paths using the path packets from the source node to the destination node;

selecting a relayed data path from the multiple paths at least in part based on the total OWLs respectively associated with the multiple paths from the source node to the destination node; and

routing data, from the source node to the destination node, along the relayed data path selected.

20. The non-transitory computer-readable medium of claim 19 , wherein the operations further comprise:

selecting, among the plurality of nodes, as neighbor nodes associated with the sending node based on the RTTs between the sending node and the plurality of nodes; and

sorting the neighbor nodes into a plurality of orbital bins according to RTTs between the sending node and the neighbor nodes,

wherein each of the orbital bins is associated with a specific interval for the RTTvalues,

wherein step of identifying the multiple paths from the source node to the destination node comprises:

selecting the receiving node in one of the one or more routing segments in one of the multiple paths from neighbor nodes associated with the sending node in the one of the one or more routing segments.

21. The non-transitory computer-readable medium of claim 19 , wherein step of measuring the total OWLs comprises:

summing OWLs measured by one of the path packets along all routing segments in one of the multiple paths to obtain a total OWL for the one of the multiple paths,

wherein at least some of computer clocks at the plurality of nodes have skews relative to each other, wherein the total OWLs measured in the multiple paths are independent of the skews between the computer clocks at the plurality of nodes in the peer-to-peer computer network.

22. A computer system for autonomously routing data in a peer-to-peer computer network, comprising:

a communication module configured to send or receive data to and from a plurality of nodes in the peer-to-peer computer network; and

a computer memory storing instructions that, when executed by one or more processors at the plurality of nodes, cause the plurality of nodes to:

identify multiple paths from a source node to a destination node, wherein each of the multiple paths includes two or more routing segments each comprising a sending node and a receiving node in the peer-to-peer computer network,

wherein the multiple paths are identified by selecting the receiving node among the plurality of nodes in the peer-to-peer computer network based on round-trip times (RTTs) measured between the sending node and the plurality of nodes;

send path packets along the multiple paths from the source node to the destination node;

measure total one-way latencies (OWLs) associated with the multiple paths using the path packets from the source node to the destination node;

select a relayed data path from the multiple paths at least in part based on the total OWLs respectively associated with the multiple paths from the source node to the destination node; and

route the data, from the source node to the destination node, along the relayed data path selected.

23. The computer system of claim 22 , wherein the instructions, when executed by the one or more processors at the plurality of nodes, further cause the plurality of nodes to:

select, among the plurality of nodes, as neighbor nodes associated with the sending node based on the RTTs between the sending node and the plurality of nodes; and

sort the neighbor nodes into a plurality of orbital bins according to RTTs between the sending node and the neighbor nodes,

wherein each of the orbital bins is associated with a specific interval for the RTTvalues,

wherein the multiple paths are identified from a source node to a destination node by selecting the receiving node in one of the one or more routing segments in one of the multiple paths from neighbor nodes associated with the sending node in the one of the one or more routing segments.

24. The computer system of claim 22 , wherein the instructions, when executed by the one or more processors at the plurality of nodes, further cause the plurality of nodes to

sum OWLs measured by one of the path packets along all routing segments in one of the multiple paths to obtain a total OWL for the one of the multiple paths,

wherein at least some of computer clocks at the plurality of nodes have skews relative to each other, wherein the total OWLs measured in the multiple paths are independent of the skews between the computer clocks at the plurality of nodes in the peer-to-peer computer network.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBERS PREVIOUSLY RECORDED AT REEL: 74336 FRAME: 527. ASSIGNOR(S) HEREBY CONFIRMS THE NUNC PRO TUNC ASSIGNMENT. Recorded Apr 27, 2026
From: SYNTERNET LIMITED
To: BIANCHI, MARC
Reel/Frame 075031/0132 →
CHANGE OF NAME Recorded Apr 27, 2026
From: SYNTROPY NETWORK LIMITED
To: SYNTERNET LIMITED
Reel/Frame 075031/0201 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2022
From: MIKONIS, ANDREJUS; JURENAS, VYTAUTAS; SIMANAVICIUS, JONAS
To: SYNTROPY NETWORK LIMITED
Reel/Frame 060488/0867 →
Continuity (3)
Continuation In Part 17665550 · Feb 6, 2022
Continuation In Part 17502382 · Oct 15, 2021
Related Publication 20230124755A1 · Apr 20, 2023