IP Library Granted Patent US 11,863,448
Granted Patent B2
US 11,863,448 · App. 18/158,694 · Granted Jan 2, 2024

Method and apparatus for traffic optimization in virtual private networks (VPNs)

Inventors: Christopher Philip Branch (Romford, GB); Dane Orion Knecht (Austin, TX)
Assignee: CLOUDFLARE, INC.
H04L45/745H04L12/4633H04L12/4641H04L67/01H04L67/10H04L67/56
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,863,448
App. No.
18/158,694
Granted
Jan 2, 2024
Kind
B2
Abstract

Traffic optimization in virtual private networks (VPNs) is described. A client device establishes a first VPN connection with a first server according to a first VPN route configuration that specifies a first VPN route to the first server. Flow(s) of traffic is forwarded through the first VPN connection to the first server. The client device receives a second VPN route configuration that specifies a second VPN route to a second server of the plurality of servers for establishing a second VPN connection, where the second VPN connection satisfies a set of traffic optimization criteria. The client device establishes the second VPN connection with the second server according to the second VPN route configuration. Traffic is forwarded through the second VPN connection to the second server.

Claims (38)

1. A method, in a client device, of traffic optimization in a virtual private network (VPN), the method comprising:

establishing a first VPN connection with a first server according to a first VPN route configuration that specifies a first VPN route to the first server, wherein the first server is one of a plurality of servers;

forwarding a set of one or more flows of traffic through the first VPN connection to the first server;

receiving a second VPN route configuration that specifies a second VPN route to a second server of the plurality of servers for establishing a second VPN connection, wherein the second VPN connection satisfies a set of traffic optimization criteria;

establishing the second VPN connection with the second server according to the second VPN route configuration; and

forwarding at least one of the set of one or more flows through the second VPN connection to the second server.

2. The method of claim 1 , wherein the first server is a first proxy server and the second server is a second proxy server and the first and second proxy server are part of a cloud-based proxy service.

3. The method of claim 1 , wherein the traffic optimization criteria includes at least one of obtaining low latency for requests, obtaining high reliability of traffic forwarded through the second VPN connection, ensuring a low cost of the second VPN connection, and ensuring a good quality of service for the second VPN connection.

4. The method of claim 1 , wherein the second VPN route configuration is received through the first VPN connection.

5. The method of claim 1 , wherein the second VPN route configuration is received from a service server that is part of a cloud-based proxy service and the service server is different from the first server.

6. The method of claim 1 , wherein the second VPN route configuration is determined based on collected network intelligence metrics that are collected from requests that are fulfilled by the plurality of servers.

7. The method of claim 1 , wherein the second VPN route configuration is determined based on one or more network properties including cost, reliability, current utilization, and/or predicted utilization.

8. A client device comprising:

one or more processors; and

a non-transitory computer readable storage medium that stores code, which when executed by the one or more processors causes the client device to perform operations including:

establishing a first virtual private network (VPN) connection with a first server according to a first VPN route configuration that specifies a first VPN route to the first server, wherein the first server is one of a plurality of servers;

forwarding a set of one or more flows of traffic through the first VPN connection to the first server;

receiving a second VPN route configuration that specifies a second VPN route to a second server of the plurality of servers for establishing a second VPN connection, wherein the second VPN connection satisfies a set of traffic optimization criteria;

establishing the second VPN connection with the second server according to the second VPN route configuration; and

forwarding at least one of the set of one or more flows through the second VPN connection to the second server.

9. The client device of claim 8 , wherein the first server is a first proxy server and the second server is a second proxy server and the first and second proxy server are part of a cloud-based proxy service.

10. The client device of claim 8 , wherein the traffic optimization criteria includes at least one of obtaining low latency for requests, obtaining high reliability of traffic forwarded through the second VPN connection, ensuring a low cost of the second VPN connection, and ensuring a good quality of service for the second VPN connection.

11. The client device of claim 8 , wherein the second VPN route configuration is received through the first VPN connection.

12. The client device of claim 8 , wherein the second VPN route configuration is received from a service server that is part of a cloud-based proxy service and the service server is different from the first server.

13. The client device of claim 8 , wherein the second VPN route configuration is determined based on collected network intelligence metrics that are collected from requests that are fulfilled by the plurality of servers.

14. The client device of claim 8 , wherein the second VPN route configuration is determined based on one or more network properties including cost, reliability, current utilization, and/or predicted utilization.

15. A non-transitory machine-readable storage medium that provides instructions that, if executed by a processor, will cause said processor to perform operations comprising:

establishing a first virtual private network (VPN) connection with a first server according to a first VPN route configuration that specifies a first VPN route to the first server, wherein the first server is one of a plurality of servers;

forwarding a set of one or more flows of traffic through the first VPN connection to the first server;

receiving a second VPN route configuration that specifies a second VPN route to a second server of the plurality of servers for establishing a second VPN connection, wherein the second VPN connection satisfies a set of traffic optimization criteria;

establishing the second VPN connection with the second server according to the second VPN route configuration; and

forwarding at least one of the set of one or more flows through the second VPN connection to the second server.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the first server is a first proxy server and the second server is a second proxy server and the first and second proxy server are part of a cloud-based proxy service.

17. The non-transitory machine-readable storage medium of claim 15 , wherein the traffic optimization criteria includes at least one of obtaining low latency for requests, obtaining high reliability of traffic forwarded through the second VPN connection, ensuring a low cost of the second VPN connection, and ensuring a good quality of service for the second VPN connection.

18. The non-transitory machine-readable storage medium of claim 15 , wherein the second VPN route configuration is received through the first VPN connection.

19. The non-transitory machine-readable storage medium of claim 15 , wherein the second VPN route configuration is received from a service server that is part of a cloud-based proxy service and the service server is different from the first server.

20. The non-transitory machine-readable storage medium of claim 15 , wherein the second VPN route configuration is determined based on collected network intelligence metrics that are collected from requests that are fulfilled by the plurality of servers.

21. The non-transitory machine-readable storage medium of claim 15 , wherein the second VPN route configuration is determined based on one or more network properties including cost, reliability, current utilization, and/or predicted utilization.

Assignments (2)
SECURITY INTEREST Recorded May 20, 2024
From: CLOUDFLARE, INC.
To: CITIBANK, N.A.
Reel/Frame 067472/0246 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2023
From: BRANCH, CHRISTOPHER PHILIP; KNECHT, DANE ORION
To: CLOUDFLARE, INC.
Reel/Frame 062527/0559 →
Continuity (5)
Continuation 17560121 · Dec 22, 2021
Continuation 17020605 · Sep 14, 2020
Continuation 16444795 · Jun 18, 2019
Continuation 16253819 · Jan 22, 2019
Related Publication 20230164077A1 · May 25, 2023
Cited By (1)
US 12,432,180