US 12,015,674 B2
Virtual private network connection status detection
Ignas Pileckas, Vilnius (LT); Gvidas Uzkuras, Vilnius (LT); and Darjus Ilcevic, Vilnius (LT)
Assigned to Oversec, UAB, Vilnius (LT)
Filed by Oversec, UAB, Vilnius (LT)
Filed on Mar. 4, 2022, as Appl. No. 17/686,957.
Prior Publication US 2023/0283675 A1, Sep. 7, 2023
Int. Cl. H04L 67/145 (2022.01); H04L 9/40 (2022.01); H04L 12/46 (2006.01); H04L 43/0811 (2022.01); H04L 45/00 (2022.01); H04L 47/76 (2022.01); H04L 47/78 (2022.01); H04L 67/141 (2022.01)
CPC H04L 67/145 (2013.01) [H04L 12/4641 (2013.01); H04L 43/0811 (2013.01); H04L 45/22 (2013.01); H04L 47/76 (2013.01); H04L 47/78 (2013.01); H04L 63/0272 (2013.01); H04L 67/141 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
allocating, by one or more machines of a virtual private network (VPN) service provider infrastructure (SPI), resources of the VPN SPI to a client device to enable the client device to communicate via a VPN associated with the VPN SPI in response to receiving a VPN connection request from the client device;
monitoring VPN activity of the client device by receiving handshake notifications from the client device, wherein receiving the handshake notifications comprises:
receiving requests, from the client device after the client device was granted access to the VPN, to download or upload data via the VPN, wherein at least a portion of the requests are received according to a schedule, wherein the schedule corresponds to a VPN-connected phase, 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 packets is an exponential function of a number of packets sent since the connection was lost, and
storing timestamps associated with the requests to download or upload the data;
in response to monitoring the VPN activity of the client device, determining that the client device has not communicated via the VPN for at least a threshold time period based on a calculated time difference between a current time and a stored timestamp of a latest-in-time handshake notification from the client device, wherein the threshold time period is determined based on a corresponding phase of the schedule; and
adding the resources allocated to the client device to a resource pool for provision to devices connecting to the VPN.