IP Library › Granted Patent US 10,560,425
Granted Patent B2
US 10,560,425 · App. 14/687,875 · Granted Feb 11, 2020

Dynamic VPN address allocation

Inventors: Robert Dunham Short (Lexington, VA); Victor Larson (Fairfax, VA); Michael Williamson (South Riding, VA)
Assignee: VirnetX, Inc.
H04L61/2046G06F16/9017H04L61/1511H04L61/2053H04L61/2514H04L61/2592H04L61/6095H04L63/029H04L63/0272H04L63/0428
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 10,560,425
App. No.
14/687,875
Granted
Feb 11, 2020
Kind
B2
Abstract

Methods and related systems are presented that relate to automatically avoiding address conflicts when establishing a secure communications link over a public network between a local computer, associated with a local network, and a remote device, located outside the local network. Local network addresses on the local network reserved for use, and a block of local network addresses that do not conflict with the reserved local network addresses, are identified. At least one local network address is selected from the block and assigned as an address of the local device for use in communicating with the remote device securely over the public network. Communication is facilitated with the remote device using the network driver based on the assigned at least one local network address.

Claims (46)

1. A local device, on a first local network, for automatically avoiding address conflicts when communicating securely over a public network with a remote device, located outside the local network in a second local network, the local device comprising:

a network driver; and

at least one processor configured to:

identify a block of local network addresses that do not conflict with the reserved local network addresses;

select a first network address from the block of local network addresses;

assign, to the network driver, the selected first network address;

negotiate, with the remote device, using the block of local network addresses except for the selected first network address, from which to select a second network address that does not conflict with local addresses on the second local network; and

communicate securely with the remote device using the network driver based on the selected second network address.

2. The local device of claim 1 , wherein the local device is a mobile device.

3. The local device of claim 1 , wherein the remote device is a mobile device.

4. The local device of claim 1 , wherein the network driver is a software module.

5. The local device of claim 1 , wherein the network driver includes a first network driver for communicating securely and a second network driver, and the one or more processors are configured to provide a block of local network addresses to the first network driver and not to the second network driver.

6. The local device of claim 1 , wherein the local network addresses are private network addresses on the local network.

7. The local device of claim 1 , wherein the public network is external to the local network.

8. The local device of claim 1 , wherein, to communicate securely, the one or more processors are configured to encrypt packets transmitted to the remote device over the public network.

9. The local device of claim 1 , wherein, to communicate securely, the one or more processors are configured to control the network driver to communicate with the remote device over the public network using a secure communication link.

10. The local device of claim 1 , wherein, to communicate securely, the one or more processors are configured to control the network driver to communicate with the remote network device using a communication link over a virtual private network.

11. The local device of claim 10 , wherein, for the communication link over the virtual private network, the one or more processors are configured to encapsulate at least one of a private address of the local device or a private address of the remote device with the selected second network address and to encrypt the at least one of the private address of the local device or the private address of the remote device.

12. The local device of claim 1 , wherein the one or more processors are configured to add the selected second network address to the reserved local network addresses.

13. The local device of claim 12 , wherein the one or more processors are configured to remove selected second network address from the reserved local network addresses when a communication session between the local device and the remote device ends.

14. The local device of claim 1 , wherein each of the local network addresses includes an IP address and network mask.

15. The local device system of claim 1 , wherein the one or more processors are further configured to perform one or more of the identification, assignment, and negotiation operations in response to a name service request for a name corresponding to the remote device.

16. The local device of claim 1 , wherein the communication with the remote device is a host-to-host connection or a host-to-network connection.

17. A method, performed by a local device on a local network, for automatically avoiding address conflicts when communicating securely over a public network with a remote device, located outside the local network in a second local network, the method comprising:

identifying local network addresses on the local network reserved for use;

identifying a block of local network addresses that do not conflict with the reserved local network addresses;

select a first network address from the block of local network addresses;

assign, to the network driver, the selected first network address;

negotiate, with the remote device, using the block of local network addresses except for the selected first network address, from which to select a second network address that does not conflict with local addresses on the second local network;

and

communicating securely with the remote device using the network driver based on the selected second network address.

18. The method of claim 17 , wherein the local device is a mobile device.

19. The method of claim 17 , wherein the remote device is a mobile device.

20. The method of claim 17 , wherein the network driver is a software module.

21. The method of claim 17 , wherein the network driver includes a first network driver for communicating securely and a second network driver, the method further includes provide a block of local network addresses to the first network driver and not to the second network driver.

22. The method of claim 17 , wherein the local network addresses are private network addresses on the local network.

23. The method of claim 17 , wherein the public network is external to the local network.

24. The method of claim 17 , wherein communicating securely includes encrypting packets transmitted to the remote device over the public network.

25. The method of claim 17 , wherein communicating securely includes communicating with the remote device over the public network using a secure communication link.

26. The method of claim 17 , wherein communicating securely includes communicating with the remote network device using a communication link over a virtual private network.

27. The method of claim 26 , wherein using the communication link over the virtual private network includes encapsulating at least one of a private address of the local device or a private address of the remote device with the selected second network address and encrypting the at least one of the private address of the local device or the private address of the remote device.

28. The method of claim 17 , further comprising adding the selected second network address to the reserved local network addresses.

29. The method of claim 28 , further comprising removing the selected second network address from the reserved local network addresses when a communication session between the local device and the remote device ends.

30. The method of claim 17 , wherein each of the local network addresses includes an IP address and network mask.

31. The method of claim 17 , further comprising performing one or more of the identification, assignment, and negotiation steps in response to a name service request for a name corresponding to the remote device.

32. The method of claim 17 , wherein the communication with the remote device is a host-to-host connection or a host-to-network connection.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2022
From: SHORT, ROBERT DUNHAM; LARSON, VICTOR; WILLIAMSON, MICHAEL
To: VIRNETX, INC.
Reel/Frame 058885/0140 →
Continuity (3)
Continuation 13544582 · Jul 9, 2012
Provisional Application 61505754 · Jul 8, 2011
Related Publication 20160072763A1 · Mar 10, 2016