US 11,936,522 B2
Selecting and operating an optimal virtual private network among multiple virtual private networks
Kevin Cunningham, Swarthmore, PA (US); Brian Prodoehl, Plymouth Meeting, PA (US); and Alexander Gizis, Philadelphia, PA (US)
Assigned to CONNECTIFY, INC., Philadelphia, PA (US)
Filed by Connectify, Inc., Philadelphia, PA (US)
Filed on Oct. 12, 2021, as Appl. No. 17/499,829.
Claims priority of provisional application 63/091,352, filed on Oct. 14, 2020.
Prior Publication US 2022/0116273 A1, Apr. 14, 2022
Int. Cl. H04L 41/0816 (2022.01); H04L 41/5009 (2022.01); H04L 43/0811 (2022.01)
CPC H04L 41/0816 (2013.01) [H04L 41/5009 (2013.01); H04L 43/0811 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A method comprising:
enabling a connection between a client device and one or more servers via a virtual private network (VPN) server, wherein the connection is established to have a specific data rate based on a type of application used by the client device;
monitoring, via the VPN server, connection performance of the connection over a period of time for the application used by the client device;
modifying one or more connection parameters of the connection including one or more of a data rate, data compression, a packet type and a protocol used on the connection;
identifying, via the VPN server, whether an increase or decrease in a performance of the connection has occurred based on the one or more modified connection parameters;
when an increase in performance is identified, storing, via the VPN server, a current connection status and the modified one or more modified connection parameters in a temporary data file, wherein the increase in performance is identified based on a determination the connection has maintained a data rate above a minimum data rate threshold and has not exceeded a packet loss threshold for a period of time while using the application;
determining, via the VPN server, another client device communicating with the VPN server is using a same type of application as the client device;
forwarding, via the VPN server, the temporary data file to the another client device; and
receiving, via the VPN server, data from the another client device in a communication session between the VPN server and the another client device, wherein the one or more modified connection parameters are used to update a data structure associated with the same application used by the another client device in the communication session to optimize communication between the another client device and the VPN server while using the same type of application.