IP Library Granted Patent US 12,200,066
Granted Patent B2
US 12,200,066 · App. 17/686,987 · Granted Jan 14, 2025

Virtual private network connection management

Inventors: Karolis Mineikis (Vilnius, LT); Lukas Baltrenas (Vilnius, LT); Edvardas Neznanovas (Vilnius, LT)
Assignee: Oversec, UAB
H04L67/141H04L61/5007H04L67/145H04L12/4641
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,200,066
App. No.
17/686,987
Granted
Jan 14, 2025
Kind
B2
Abstract

Virtual private network (VPN) service provider infrastructure (SPI) receives a request to access a VPN from a client device. The VPN SPI selects an Internet Protocol (IP) address for access to the VPN by the client device from a pool of IP addresses. The VPN SPI provides access to the VPN for the client device via the IP address. The VPN SPI receives one or more handshake notifications from the client device. The VPN SPI determines that a threshold time period has passed since a latest-in-time handshake notification of the one or more handshake notifications. The VPN SPI disconnects the client device from the VPN in response to determining that the threshold time period has passed. The VPN SPI adds the IP address to the pool of IP addresses in response to disconnecting the client device from the VPN.

Claims (50)

1. A method comprising:

transmitting, by a client device, a request to connect to a virtual private network (VPN);

receiving, in response to the request, an Internet Protocol (IP) address to use to access the VPN and an indication that the client device has been connected to the VPN;

receiving one or more handshake notifications from a VPN server associated with the IP address;

determining that a threshold time period has passed since a latest-in-time handshake notification of the one or more handshake notifications, wherein the threshold time period is determined according to a schedule selected based on a connection status between the client device and the VPN; and

in response to determining that the threshold time period has passed since the latest-in-time handshake notification of the one or more handshake notifications:

determining, at the client device, that the client device has been disconnected from the VPN; and

displaying, via the client device, a graphical user interface (GUI) element indicating that the client device is no longer connected to the VPN.

2. The method of claim 1 , wherein the handshake notification comprises an echo request packet or an echo reply packet.

3. The method of claim 1 , wherein the VPN server is associated with multiple IP addresses, including the IP address, for accessing the VPN.

4. The method of claim 1 , further comprising:

accessing, by the client device, the VPN by transmitting data to the IP address or receiving data from the IP address.

5. The method of claim 1 , further comprising:

attempting to reconnect the client device to the VPN in response to a user input received after determining that the client device has been disconnected from the VPN.

6. The method of claim 5 , wherein the GUI element prompts a user of the client device to provide the user input.

7. The method of claim 5 , wherein the user input comprises a selection, via the client device, of the VPN from a list of available networks.

8. The method of claim 1 , wherein the schedule comprises multiple phases including a VPN-connected phase and a connection lost phase, wherein the schedule is in a VPN-connected phase when the client device is connected to the VPN, wherein, upon the client device losing connection to the VPN, the schedule switches to a connection lost phase specifying that a time difference between transmission, by the client device, of at least one pair of successive handshake notification requests is an exponential function of a number of packets sent since the connection was lost.

9. A client device comprising:

a non-transitory memory storing instructions; and

a processor that executes the instructions to:

transmit a request to connect to a virtual private network (VPN);

receive, in response to the request, an Internet Protocol (IP) address to use to access the VPN and an indication that the client device has been connected to the VPN;

receive one or more handshake notifications from a VPN server associated with the IP address;

determine that a threshold time period has passed since a latest-in-time handshake notification of the one or more handshake notifications, wherein the threshold time period is determined according to a schedule selected based on a connection status between the client device and the VPN; and

in response to determining that the threshold time period has passed since the latest-in-time handshake notification of the one or more handshake notifications:

determine that the client device has been disconnected from the VPN; and

display a graphical user interface (GUI) element indicating that the client device is no longer connected to the VPN.

10. The client device of claim 9 , wherein the handshake notification comprises an echo request packet or an echo reply packet.

11. The client device of claim 9 , wherein the VPN server is associated with multiple IP addresses, including the IP address, for accessing the VPN.

12. The client device of claim 9 , wherein the processor further executes the instructions to:

access the VPN by transmitting data to the IP address or receiving data from the IP address.

13. The client device of claim 9 , wherein the processor further executes the instructions to:

attempt to reconnect the client device to the VPN in response to a user input received after determining that the client device has been disconnected from the VPN.

14. The client device of claim 13 , wherein the GUI element prompts a user of the client device to provide the user input.

15. The client device of claim 13 , wherein the user input comprises a selection, via the client device, of the VPN from a list of available networks.

16. A non-transitory computer readable medium storing instructions that, when executed by a computer, cause the computer to perform operations comprising:

transmitting, by a client device, a request to connect to a virtual private network (VPN);

receiving, in response to the request, an Internet Protocol (IP) address to use to access the VPN and an indication that the client device has been connected to the VPN;

receiving one or more handshake notifications from a VPN server associated with the IP address;

determining that a threshold time period has passed since a latest-in-time handshake notification of the one or more handshake notifications, wherein the threshold time period is determined according to a schedule selected based on a connection status between the client device and the VPN; and

in response to determining that the threshold time period has passed since the latest-in-time handshake notification of the one or more handshake notifications:

determining, at the client device, that the client device has been disconnected from the VPN; and

displaying, via the client device, a graphical user interface (GUI) element indicating that the client device is no longer connected to the VPN.

17. The computer readable medium of claim 16 , wherein the handshake notification comprises an echo request packet or an echo reply packet.

18. The computer readable medium of claim 16 , wherein the VPN server is associated with multiple IP addresses, including the IP address, for accessing the VPN.

19. The computer readable medium of claim 16 , the operations further comprising:

accessing, by the client device, the VPN by transmitting data to the IP address or receiving data from the IP address.

20. The computer readable medium of claim 16 , the operations further comprising:

attempting to reconnect the client device to the VPN in response to a user input received after determining that the client device has been disconnected from the VPN.

21. The computer readable medium of claim 20 , wherein the GUI element prompts a user of the client device to provide the user input.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2025
From: OVERSEC, UAB
To: UAB 360 IT
Reel/Frame 070202/0565 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2022
From: MINEIKIS, KAROLIS; BALTRENAS, LUKAS; NEZNANOVAS, EDVARDAS
To: OVERSEC, UAB
Reel/Frame 059176/0166 →
Continuity (1)
Related Publication 20230283672A1 · Sep 7, 2023
References Cited (66)
US 6704732B1 · Barclay · 2004 [cited by applicant]
US 6950822B1 · Idicula et al. · 2005 [cited by applicant]
US 7496659B1 · Coverdill et al. · 2009 [cited by applicant]
US 7940695B1 · Bahadur et al. · 2011 [cited by applicant]
US 8443435B1 · Schroeder · 2013 [cited by examiner]
US 8955099B1 · Varanasi et al. · 2015 [cited by applicant]
US 9588797B2 · Ashok et al. · 2017 [cited by applicant]
US 10205705B2 · Bakthavathsalu et al. · 2019 [cited by applicant]
US 11196719B1 · Nedzinskas · 2021 [cited by applicant]
US 11418599B1 · Lazauskas et al. · 2022 [cited by applicant]
US 11477176B1 · Gupta et al. · 2022 [cited by applicant]
US 11558469B1 · Neznanovas et al. · 2023 [cited by applicant]
US 11627191B1 · Ilcevic et al. · 2023 [cited by applicant]
US 11647084B1 · Uzkuras et al. · 2023 [cited by applicant]
US 11665141B1 · Ilcevic et al. · 2023 [cited by applicant]
US 20020046348A1 · Brustoloni · 2002 [cited by applicant]
US 20020167905A1 · Wenzel et al. · 2002 [cited by applicant]
US 20030041136A1 · Cheline et al. · 2003 [cited by applicant]
US 20060002397A1 · Xue et al. · 2006 [cited by applicant]
US 20060064698A1 · Miller et al. · 2006 [cited by applicant]
US 20060069775A1 · Artobello et al. · 2006 [cited by applicant]
US 20060206934A1 · Ammirata · 2006 [cited by applicant]
US 20070226630A1 · Farid et al. · 2007 [cited by applicant]
US 20080291839A1 · Hooper et al. · 2008 [cited by applicant]
US 20090077238A1 · Gao · 2009 [cited by applicant]
US 20090307522A1 · Olson et al. · 2009 [cited by applicant]
US 20090310551A1 · Hellgren et al. · 2009 [cited by applicant]
US 20090313468A1 · Hazlewood et al. · 2009 [cited by applicant]
US 20100102631A1 · Chiou · 2010 [cited by applicant]
US 20110314532A1 · Austin et al. · 2011 [cited by applicant]
US 20120005477A1 · Wei et al. · 2012 [cited by applicant]
US 20130159532A1 · Boero et al. · 2013 [cited by applicant]
US 20130205025A1 · Shamsee et al. · 2013 [cited by applicant]
US 20130290495A1 · Cheong · 2013 [cited by applicant]
US 20140160942A1 · Mandavilli et al. · 2014 [cited by applicant]
US 20140244839A1 · Yoon et al. · 2014 [cited by applicant]
US 20150146518A1 · Tan et al. · 2015 [cited by applicant]
US 20150188931A1 · Chari et al. · 2015 [cited by applicant]
US 20150195265A1 · Chen et al. · 2015 [cited by applicant]
US 20150261561A1 · Ashok et al. · 2015 [cited by applicant]
US 20160241403A1 · Lindemann · 2016 [cited by applicant]
US 20160308748A1 · Zuo et al. · 2016 [cited by applicant]
US 20180041509A1 · Nair · 2018 [cited by applicant]
US 20190028368A1 · Modi · 2019 [cited by examiner]
US 20190052482A1 · Yang et al. · 2019 [cited by applicant]
US 20190123955A1 · Chan et al. · 2019 [cited by applicant]
US 20190139063A1 · Lamm et al. · 2019 [cited by applicant]
US 20190394174A1 · Sillankorva et al. · 2019 [cited by applicant]
US 20200106687A1 · Nambisan et al. · 2020 [cited by applicant]
US 20200145515A1 · Fleck · 2020 [cited by applicant]
US 20200382341A1 · Ore et al. · 2020 [cited by applicant]
US 20210105254A1 · Walters et al. · 2021 [cited by applicant]
US 20220074264A1 · Wang et al. · 2022 [cited by applicant]
US 20220094616A1 · Modi et al. · 2022 [cited by applicant]
US 20220103398A1 · Hu · 2022 [cited by examiner]
US 20220261270A1 · Gizis et al. · 2022 [cited by applicant]
US 20220263804A1 · Jasner et al. · 2022 [cited by applicant]
US 20220321401A1 · Vuggrala et al. · 2022 [cited by applicant]
US 20220368631A1 · Narula et al. · 2022 [cited by applicant]
US 20230283594A1 · Uzkuras et al. · 2023 [cited by applicant]
US 20230283671A1 · Mineikis et al. · 2023 [cited by applicant]
US 20230283672A1 · Mineikis et al. · 2023 [cited by applicant]
US 20230283675A1 · Pileckas et al. · 2023 [cited by applicant]
US 20230283676A1 · Ilcevic et al. · 2023 [cited by applicant]
NSTEC, How to Set Up Handshake in Private Internet Access Vpn?, https://www.nstec.com/how-to-set-up-handshake-in-private-internet-access-vpn/ CATHIE, Feb. 17, 2022, 6 pages. [cited by applicant]
ServerFault, Fix ‘TLS Error: TLS handshake failed’ on OpenVPN client—Server Fault, https://serverfault.com/questions.709860/fix-tls-error-tls-handshake-failed-on-openvpn-client, Apr. 13, 2017, 7 pages. [cited by applicant]