IP Library Granted Patent US 11,184,328
Granted Patent B1
US 11,184,328 · App. 17/161,476 · Granted Nov 23, 2021

Learning system for virtual private network orchestration, anonymization and quality of service

Inventors: Adam Hyder (Cupertino, CA); Ravi Kalyan Namballa (Tampa, FL); Matthew English (San Jose, CA); Vijay Arumugam Velayutham (San Jose, CA); Motil Jayakar (Santa Clara, CA); Sunil Mathew Thomas (Palm Harbor, FL)
Assignee: Malwarebytes Inc.
H04L63/0272G06N20/00H04L67/141H04L67/16H04L67/18
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 11,184,328
App. No.
17/161,476
Granted
Nov 23, 2021
Kind
B1
Abstract

A security server assigns users sessions to a provider that provides virtual private networks. The security server trains a machine-learned model to identify a provider from a set of providers. The security server obtains connection parameters associated with a requested VPN connection. Connection parameters comprise a location of a computing device that requested the VPN connection, a time of the requested VPN connection, a current and/or historical state of VPN performance data, and user preferences. The security server applies the machine-learned model to the connection parameters to identify a provider. The security server provisions a user session based on the provider and establishes a connection through the provider.

Claims (58)

1. A computer-implemented method for assigning user sessions to a VPN service provider, the method comprising:

training a machine-learned model to identify a VPN provider from a set of VPN providers, wherein the machine-learned model is trained on historical connection parameters for a plurality of VPN providers, times, and geographic locations of VPN connections;

obtaining connection parameters associated with a requested VPN connection;

applying the machine-learned model to the connection parameters to identify a selected VPN provider;

provisioning a user session based on the selected VPN provider; and

establishing a VPN connection to the selected VPN provider.

2. The computer-implemented method of claim 1 , wherein the connection parameters comprise one or more of a location of a computing device that requested the VPN connection, a time of the requested VPN connection, a current and/or historical state of VPN performance data, and user preferences.

3. The computer-implemented method of claim 1 , wherein a computing device hosting the user session is connected to a first server in a first geographic region and the selected VPN provider is associated with servers in the first geographic region, the method further comprising:

responsive to detecting that servers in the first geographic region are down:

applying the machine-learned model to connection parameters associated with the user session to identify a second VPN provider, wherein the second VPN provider is associated with servers in a second geographic region different from the first geographic region, and

establishing a second VPN connection to the second VPN provider for the user session.

4. The computer-implemented method of claim 3 , wherein connection parameters associated with the user session include user preferences specifying the first geographic region and the second geographic region.

5. The computer-implemented method of claim 1 , wherein a computing device hosting the user session is connected to a first server, the method further comprising:

responsive to detecting that the first server is down:

applying the machine-learned model to connection parameters associated with the user session to identify a second VPN provider, and

establishing a second VPN connection to the second VPN provider for the user session.

6. The computer-implemented method of claim 1 , wherein the machine-learned model is applied to parameters comprising availability at the second VPN provider at a current time, performance at the second VPN provider at the current time, and quality of service of the second VPN provider at the current time.

7. The computer-implemented method of claim 1 , wherein the user session is multiplexed between a plurality of the set of VPN providers for a duration of the user session.

8. The computer-implemented method of claim 1 , wherein the user session is associated with a user and a first computing device, the method further comprising:

receiving, from a second computing device associated with the user, a request for a new VPN connection;

provisioning a second user session to a second VPN provider of the set of VPN providers, the second VPN provider different from the VPN provider; and

establishing a new VPN connection between the second computing device and the second VPN provider.

9. A non-transitory computer-readable storage medium comprising instructions executable by a processor, the instructions comprising:

instructions for training a machine-learned model to identify a VPN provider from a set of VPN providers, wherein the machine-learned model is trained on historical connection parameters for a plurality of VPN providers, times, and geographic locations of VPN connections;

instructions for obtaining connection parameters associated with a requested VPN connection;

instructions for applying the machine-learned model to the connection parameters to identify a selected VPN provider;

instructions for provisioning a user session based on the selected VPN provider; and

instructions for establishing a VPN connection to the selected VPN provider.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the connection parameters comprise one or more of a location of a computing device that requested the VPN connection, a time of the requested VPN connection, a current and/or historical state of VPN performance data, and user preferences.

11. The non-transitory computer-readable storage medium of claim 9 , wherein a computing device hosting the user session is connected to a first server in a first geographic region and the selected VPN provider is associated with servers in the first geographic region, the instructions further comprising:

responsive to detecting that servers in the first geographic region are down:

instructions for applying the machine-learned model to connection parameters associated with the user session to identify a second VPN provider, wherein the second VPN provider is associated with servers in a second geographic region different from the first geographic region, and

instructions for establishing a second VPN connection to the second VPN provider for the user session.

12. The non-transitory computer-readable storage medium of claim 11 , wherein connection parameters associated with the user session include user preferences specifying the first geographic region and the second geographic region.

13. The non-transitory computer-readable storage medium of claim 9 , wherein a computing device hosting the user session is connected to a first server, the method further comprising:

responsive to detecting that the first server is down:

instructions for applying the machine-learned model to connection parameters associated with the user session to identify a second VPN provider, and

instructions for establishing a second VPN connection to the second VPN provider for the user session.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the machine-learned model is applied to parameters comprising availability at the second VPN provider at a current time, performance at the second VPN provider at the current time, and quality of service of the second VPN provider at the current time.

15. The non-transitory computer-readable storage medium of claim 9 , wherein the user session is multiplexed between a plurality of the set of VPN providers for a duration of the user session.

16. The non-transitory computer-readable storage medium of claim 9 , wherein the user session is associated with a user and a first computing device, the instructions further comprising:

instructions for receiving, from a second computing device associated with the user, a request for a new VPN connection;

instructions for provisioning a second user session to a second VPN provider of the set of VPN providers, the second VPN provider different from the VPN provider; and

instructions for establishing a new VPN connection between the second computing device and the second VPN provider.

17. A computer system comprising:

a computer processor; and

a non-transitory computer-readable storage medium storing instructions that when executed by the computer processor perform actions comprising:

training a machine-learned model to identify a VPN provider from a set of VPN providers, wherein the machine-learned model is trained on historical connection parameters for a plurality of VPN providers, times, and geographic locations of VPN connections;

obtaining connection parameters associated with a requested VPN connection;

applying the machine-learned model to the connection parameters to identify a selected VPN provider;

provisioning a user session based on the selected VPN provider; and

establishing a VPN connection to the selected VPN provider.

18. The computer system of claim 17 , wherein the connection parameters comprise one or more of a location of a computing device that requested the VPN connection, a time of the requested VPN connection, a current and/or historical state of VPN performance data, and user preferences.

19. The computer system of claim 17 , wherein a computing device hosting the user session is connected to a first server in a first geographic region and the selected VPN provider is associated with servers in the first geographic region, the actions further comprising:

responsive to detecting that servers in the first geographic region are down:

applying the machine-learned model to connection parameters associated with the user session to identify a second VPN provider, wherein the second VPN provider is associated with servers in a second geographic region different from the first geographic region, and

establishing a second VPN connection to the second VPN provider for the user session.

20. The computer system of claim 19 , wherein connection parameters associated with the user session include user preferences specifying the first geographic region and the second geographic region.

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Oct 21, 2024
From: COMPUTERSHARE TRUST COMPANY, N.A.
To: MALWAREBYTES INC.
Reel/Frame 069193/0505 →
SECURITY INTEREST Recorded Oct 18, 2024
From: MALWAREBYTES INC.; MALWAREBYTES CORPORATE HOLDCO INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 068943/0937 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 1, 2023
From: MALWAREBYTES INC.
To: COMPUTERSHARE TRUST COMPANY, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 062599/0069 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2021
From: HYDER, ADAM; NAMBALLA, RAVI KALYAN; ENGLISH, MATTHEW; VELAYUTHAM, VIJAY ARUMUGAM; JAYAKAR, MOTIL; THOMAS, SUNIL MATHEW
To: MALWAREBYTES INC.
Reel/Frame 055178/0694 →
Cited By (1)
US 12,719,834