IP Library › Granted Patent US 12,003,478
Granted Patent B1
US 12,003,478 · App. 18/202,320 · Granted Jun 4, 2024

Sharing domain name service resources in a mesh network

Inventor: Rytis Karpuska (Vilnius, LT)
Assignee: UAB 360 IT
H04L61/4511H04L2101/668
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,003,478
App. No.
18/202,320
Granted
Jun 4, 2024
Kind
B1
Abstract

A mesh network wherein a first device selects a second device as an exit device with respect to the first device such that communication between the first device and an external device is communicated via the second device; receives a message indicating that the second device has selected a third device as an exit device with respect to the second device such that communication between the second device and the external device is communicated via the third device; transmits a meshnet query packet that includes a DNS query for domain information associated with the external device; receives the domain information associated with the external device; and transmits a meshnet initiation packet that includes a network communication for communicating with the external device, the network communication including the domain information to indicate that the third device is to utilize the domain information to transmit the network communication to the external device.

Claims (41)

1. A first user device in a mesh network, the first user device comprising:

a memory; and

a processor communicatively coupled to the memory, the memory and the processor being configured to:

select a second user device in the mesh network as an exit device with respect to the first user device such that communication between the first user device and an external device, outside the mesh network, is communicated via the second user device;

receive, from the second user device, a message indicating that the second user device has selected a third user device in the mesh network as an exit device with respect to the second user device such that communication between the second user device and the external device is communicated via the third user device;

transmit, to the third user device via the second user device, a meshnet query packet that includes a domain name service (DNS) query for domain information associated with the external device, the DNS query including access information that is associated with a DNS server associated with the third user device and indicates that the third user device is to utilize the DNS server to obtain the domain information;

receive, from the third device via the second user device based at least in part on transmitting the meshnet query packet, the domain information associated with the external device; and

transmit, to the third user device via the second user device, a meshnet initiation packet that includes a network communication for communicating with the external device, the network communication including the domain information to indicate that the third user device is to utilize the domain information to transmit the network communication to the external device.

2. The first user device of claim 1 , wherein the access information includes a subnet internet protocol (IP) address assigned to the DNS server in a LAN including the third user device and the DNS server.

3. The first user device of claim 1 , wherein the memory and the processor are configured to receive, from the third user device, the access information associated with the DNS server.

4. The first user device of claim 1 , wherein the meshnet query packet is encrypted by utilizing a first cryptographic key when transmitted by the first user device to the second user device, and is encrypted by utilizing a second cryptographic key when transmitted by the second user device to the third user device.

5. The first user device of claim 1 , wherein the memory and the processor are configured to include the DNS query in a meshnet query payload of the meshnet query packet.

6. The first user device of claim 1 , wherein the memory and the processor are configured to include the access information in a DNS query header of the DNS query, the access information indicating the DNS server as a destination of the DNS query.

7. The first user device of claim 1 , wherein the memory and the processor are configured to receive the domain information in an encrypted meshnet response packet that is encrypted by utilizing a cryptographic key associated with a meshnet connection between the first user device and the second user device in the mesh network.

8. A method in a first user device in a mesh network, the method comprising:

selecting, by the first user device, a second user device in the mesh network as an exit device with respect to the first user device such that communication between the first user device and an external device, outside the mesh network, is communicated via the second user device;

receiving, by the first user device from the second user device, a message indicating that the second user device has selected a third user device in the mesh network as an exit device with respect to the second user device such that communication between the second user device and the external device is communicated via the third user device;

transmitting, by the first user device to the third user device via the second user device, a meshnet query packet that includes a domain name service (DNS) query for domain information associated with the external device, the DNS query including access information that is associated with a DNS server associated with the third user device and indicates that the third user device is to utilize the DNS server to obtain the domain information;

receiving, by the first user device from the third device via the second user device based at least in part on transmitting the meshnet query packet, the domain information associated with the external device; and

transmitting, by the first user device to the third user device via the second user device, a meshnet initiation packet that includes a network communication for communicating with the external device, the network communication including the domain information to indicate that the third user device is to utilize the domain information to transmit the network communication to the external device.

9. The method of claim 8 , wherein the access information includes a subnet internet protocol (IP) address assigned to the DNS server in a LAN including the third user device and the DNS server.

10. The method of claim 8 , further comprising:

receiving, by the first user device from the third user device, the access information associated with the DNS server.

11. The method of claim 8 , wherein the meshnet query packet is encrypted by utilizing a first cryptographic key when transmitted by the first user device to the second user device, and is encrypted by utilizing a second cryptographic key when transmitted by the second user device to the third user device.

12. The method of claim 8 , further comprising:

including, by the first user device, the DNS query in a meshnet query payload of the meshnet query packet.

13. The method of claim 8 , further comprising:

including, by the first user device, the access information in a DNS query header of the DNS query, the access information indicating the DNS server as a destination of the DNS query.

14. The method of claim 8 , further comprising:

receiving, by the first user device, the domain information in an encrypted meshnet response packet that is encrypted by utilizing a cryptographic key associated with a meshnet connection between the first user device and the second user device in the mesh network.

15. A non-transitory computer-readable medium configured to store instructions, which when executed by a processor associated with a first user device in a mesh network, configure the processor to:

select a second user device in the mesh network as an exit device with respect to the first user device such that communication between the first user device and an external device, outside the mesh network, is communicated via the second user device;

receive, from the second user device, a message indicating that the second user device has selected a third user device in the mesh network as an exit device with respect to the second user device such that communication between the second user device and the external device is communicated via the third user device;

transmit, to the third user device via the second user device, a meshnet query packet that includes a domain name service (DNS) query for domain information associated with the external device, the DNS query including access information that is associated with a DNS server associated with the third user device and indicates that the third user device is to utilize the DNS server to obtain the domain information;

receive, from the third device via the second user device based at least in part on transmitting the meshnet query packet, the domain information associated with the external device; and

transmit, to the third user device via the second user device, a meshnet initiation packet that includes a network communication for communicating with the external device, the network communication including the domain information to indicate that the third user device is to utilize the domain information to transmit the network communication to the external device.

16. The non-transitory computer-readable medium of claim 15 , wherein the access information includes a subnet internet protocol (IP) address assigned to the DNS server in a LAN including the third user device and the DNS server.

17. The non-transitory computer-readable medium of claim 15 , wherein the processor is configured to receive, from the third user device, the access information associated with the DNS server.

18. The non-transitory computer-readable medium of claim 15 , wherein the meshnet query packet is encrypted by utilizing a first cryptographic key when transmitted by the first user device to the second user device, and is encrypted by utilizing a second cryptographic key when transmitted by the second user device to the third user device.

19. The non-transitory computer-readable medium of claim 15 , wherein the processor is configured to include the DNS query in a meshnet query payload of the meshnet query packet.

20. The non-transitory computer-readable medium of claim 15 , wherein the processor is configured to include the access information in a DNS query header of the DNS query, the access information indicating the DNS server as a destination of the DNS query.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S ADDRESS PREVIOUSLY RECORDED AT REEL: 063818 FRAME: 0193. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Jun 18, 2023
From: KARPUSKA, RYTIS
To: UAB 360 IT
Reel/Frame 064020/0382 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2023
From: KARPUSKA, RYTIS
To: UAB 360 IT
Reel/Frame 063818/0193 →
Continuity (1)
Continuation 18200532 · May 22, 2023
Cited By (1)
US 12,401,644