IP Library Granted Patent US 12,034,622
Granted Patent B2
US 12,034,622 · App. 18/167,713 · Granted Jul 9, 2024

System, method, utility, and governance for distributed data routing over the internet

Inventors: Jonas Simanavicius (Vilnius, LT); Domas Povilauskas (Vilnius, LT); Vytautas Jurenas (Vilnius, LT)
Assignee: Syntropy Network Limited
H04L43/087H04L41/5029H04L43/0829H04L43/0858H04L45/121
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 12,034,622
App. No.
18/167,713
Granted
Jul 9, 2024
Kind
B2
Abstract

A method is disclosed for distributed routing data with latencies using relay nodes. The method includes automatically measuring one-way latencies between a plurality of nodes comprising a first node, a second node, and a relay node, producing a first signal associated with a proof of uptime for the relay node, producing a second signal associated with a proof of bandwidth for the relay node, after the proof of uptime and the proof of bandwidth of the relay node are validated, automatically identifying a relayed data routing path from the first node to the second node via the relay node based on the one-way latencies between the plurality of nodes, in response to a command to transfer data from the first node to the second node, and transferring data from the first node to the second node along the relayed data routing path.

Claims (85)

1. A method for distributed routing data with latencies using relay nodes, comprising:

automatically measuring one-way latencies between a plurality of nodes comprising a first node, a second node, and a relay node;

producing a first signal associated with a proof of uptime for the relay node;

producing a second signal associated with a proof of bandwidth for the relay node;

validating the proof of uptime of the relay node by one or more validator nodes;

receiving a first validation payment by the one or more validator nodes for validating the proof of uptime of the relay node;

after the proof of uptime and the proof of bandwidth of the relay node are validated, automatically identifying a relayed data routing path from the first node to the second node via the relay node based on the one-way latencies between the plurality of nodes, in response to a command to transfer data from the first node to the second node; and

transferring data from the first node to the second node along the relayed data routing path.

2. The method of claim 1 , further comprising:

sending a first relay payment from the first node to an escrow for data routing fees; and

sending a reward from the escrow to the relay node based on a completion of transferring data from the first node to the second node along the relayed data routing path.

3. The method of claim 1 , further comprising:

sending a second relay payment from the first node to a reward pool; and

sending an uptime reward from the reward pool to the relay node if the proof of uptime for the relay node is validated.

4. The method of claim 1 , further comprising:

validating the proof of bandwidth of the relay node by one or more validator nodes.

5. The method of claim 4 , further comprising:

receiving a second validation payment by the one or more validator nodes for validating the proof of bandwidth of the relay node.

6. The method of claim 1 , wherein automatically identifying a relayed data routing path is based on a total one-way latency of the relayed data routing path and at least one of criteria that include:

an uptime of each of the nodes forming the relayed data routing path.

7. The method of claim 1 , wherein automatically identifying a relayed data routing path is based on a total one-way latency of the relayed data routing path and at least one of criteria that include:

a median jitter of each routing segment in the relayed data routing path.

8. The method of claim 1 , wherein automatically identifying a relayed data routing path is based on a total one-way latency of the relayed data routing path and at least one of criteria that include:

a median bandwidth of each routing segment in the relayed data routing path;

an average packet-loss of each routing segment in the relayed data routing path; or

amount of data routed in both directions by each routing segment in the relayed data routing path.

9. The method of claim 1 , wherein a total one-way latency of the relayed path is lower than a one-way latency associated with a direct path from the first node to the second node.

10. The method of claim 1 , wherein step of automatically measuring one-way latencies between a plurality of nodes comprises:

automatically sending a plurality of pulse messages from the first node to other nodes in the plurality of node;

receiving one of the plurality of pulse messages by the relay node, wherein the one of the plurality of pulse messages includes a first timestamp associated with sending time by the first node, wherein the one of the plurality of pulse messages is received at a reception time associated with a second time stamp; and

automatically computing a first one-way latency from the first node to the relay node based on the first time stamp and the second time stamp.

11. The method of claim 10 , wherein step of automatically measuring one-way latencies between a plurality of nodes comprises:

automatically sending a plurality of pulse messages from nodes to the second node;

receiving one of the plurality of pulse messages from the relay node by the second node, wherein the one of the plurality of pulse messages includes a third timestamp associated with sending time by the relay node, wherein the one of the plurality of pulse messages is received at a reception time associated with a fourth time stamp; and

automatically computing a second one-way latency from the relay node to the second node based on the third time stamp and the fourth time stamp,

wherein a total one-way latency for the relayed data routing path is characterized by a sum of the first one-way latency and the second one-way latency.

12. The method of claim 11 , wherein the total one-way latency is smaller than a one-way latency measured in a direct path from the first node to the second node.

13. 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 a computer network, the operations comprising:

automatically measuring one-way latencies between a plurality of nodes comprising a first node, a second node, and a relay node;

producing a first signal associated with a proof of uptime for the relay node;

producing a second signal associated with a proof of bandwidth for the relay node;

validating the proof of uptime of the relay node by one or more validator nodes;

receiving a first validation payment by the one or more validator nodes for validating the proof of uptime of the relay node;

after the proof of uptime and the proof of bandwidth of the relay node are validated, automatically identifying a relayed data routing path from the first node to the second node via the relay node based on the one-way latencies between the plurality of nodes, in response to a command to transfer data from the first node to the second node; and

transferring data from the first node to the second node along the relayed data routing path.

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

sending a first relay payment from the first node to an escrow for data routing fees;

sending a reward from the escrow to the relay node based on a completion of transferring data from the first node to the second node along the relayed data routing path;

sending a second relay payment from the first node to a reward pool; and

sending an uptime reward from the reward pool to the relay node if the proof of uptime for the relay node is validated.

15. The non-transitory computer-readable medium of claim 13 , wherein step of automatically identifying a relayed data routing path is based on a total one-way latency of the relayed data routing path and at least one of criteria that include:

an uptime of each of the nodes forming the relayed data routing path;

a median jitter of each routing segment in the relayed data routing path;

a median bandwidth of each routing segment in the relayed data routing path;

an average packet-loss of each routing segment in the relayed data routing path; or

amount of data routed in both directions by each routing segment in the relayed data routing path.

16. The non-transitory computer-readable medium of claim 13 , step of automatically measuring one-way latencies between a plurality of nodes comprises:

automatically sending a plurality of pulse messages from the first node to other nodes in the plurality of node;

receiving one of the plurality of pulse messages by the relay node, wherein the one of the plurality of pulse messages includes a first timestamp associated with sending time by the first node, wherein the one of the plurality of pulse messages is received at a reception time associated with a second time stamp; and

automatically computing a first one-way latency from the first node to the relay node based on the first time stamp and the second time stamp.

17. A computer system for autonomously selecting low-latency data routing paths across the Internet, comprising:

a server configured to send instructions to a plurality of nodes in a computer network; and

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

automatically measure one-way latencies between a plurality of nodes comprising a first node, a second node, and a relay node;

produce a first signal associated with a proof of uptime for the relay node; producing a second signal associated with a proof of bandwidth for the relay node;

validating the proof of uptime of the relay node by one or more validator nodes;

receiving a first validation payment by the one or more validator nodes for validating the proof of uptime of the relay node;

after the proof of uptime and the proof of bandwidth of the relay node are validated, automatically identify a relayed data routing path from the first node to the second node via the relay node based on the one-way latencies between the plurality of nodes, in response to a command to transfer data from the first node to the second node; and

transfer data from the first node to the second node along the relayed data routing path.

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

send a first relay payment from the first node to an escrow for data routing fees;

send a reward from the escrow to the relay node based on a completion of transferring data from the first node to the second node along the relayed data routing path;

send a second relay payment from the first node to a reward pool; and

send an uptime reward from the reward pool to the relay node if the proof of uptime for the relay node is validated.

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

automatically identify a relayed data routing path based on a total one-way latency of the relayed data routing path and at least one of criteria that include:

an uptime of each of the nodes forming the relayed data routing path;

a median jitter of each routing segment in the relayed data routing path;

a median bandwidth of each routing segment in the relayed data routing path;

an average packet-loss of each routing segment in the relayed data routing path; or

amount of data routed in both directions by each routing segment in the relayed data routing path.

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

automatically send a plurality of pulse messages from the first node to other nodes in the plurality of node;

receive one of the plurality of pulse messages by the relay node, wherein the one of the plurality of pulse messages includes a first timestamp associated with sending time by the first node, wherein the one of the plurality of pulse messages is received at a reception time associated with a second time stamp; and

automatically compute a first one-way latency from the first node to the relay node based on the first time stamp and the second time stamp.

Assignments (4)
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 →
NUNC PRO TUNC ASSIGNMENT Recorded Apr 10, 2026
From: SYNTERNET LIMITED
To: BIANCHI, MARC
Reel/Frame 074336/0527 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2026
From: SIMANAVICIUS, JONAS; POVILAUSKAS, DOMAS; JURENAS, VYTAUTAS
To: SYNTROPY NETWORK LIMITED
Reel/Frame 074324/0502 →
Continuity (1)
Related Publication 20230198887A1 · Jun 22, 2023