IP Library Granted Patent US 11,425,216
Granted Patent B2
US 11,425,216 · App. 16/836,613 · Granted Aug 23, 2022

Virtual private network (VPN) whose traffic is intelligently routed

Inventors: Christopher Philip Branch (Romford, GB); Naga Sunil Tripirineni (San Jose, CA); Rustam Xing Lalkaka (San Francisco, CA); Nick Wondra (Champaign, IL); Mohd Irtefa (Austin, TX); Matthew Browning Prince (San Francisco, CA); Andrew Taylor Plunk (Austin, TX); Oliver Yu (Austin, TX); Vlad Krasnov (New York, NY)
Assignee: CLOUDFLARE, INC.
H04L67/327H04L12/4633H04L12/4641H04L63/0272H04L67/10
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,425,216
App. No.
16/836,613
Granted
Aug 23, 2022
Kind
B2
Abstract

A request is received from a client device over a Virtual Private Network (VPN) tunnel. The request is received at a first one of a plurality of edge servers of a distributed cloud computing network. A destination of the request is determined and an optimized route for transmitting the request toward an origin server is determined. The optimized route is based at least in part on probe data between edge servers of the distributed cloud computing network. The request is transmitted to a next hop as defined by the optimized route.

Claims (47)

1. A method, comprising:

receiving a request from a client device over a Virtual Private Network (VPN) tunnel, wherein the request is received at a first one of a plurality of edge servers of a distributed cloud computing network;

determining a destination of the request;

determining an optimized route for transmitting the request toward an origin server that corresponds with the destination of the request, wherein the optimized route is based at least in part on probe data between edge servers of the distributed cloud computing network; and

transmitting the request to a next hop as defined by the optimized route.

2. The method of claim 1 , wherein the optimized route includes a second one of the plurality of edge servers that is connected to the origin server, and wherein the second one of the plurality of edge servers is an egress server.

3. The method of claim 1 , wherein the first one of the plurality of edge servers is connected to a second one of the plurality of edge servers using a layer-4 point-to-point link.

4. The method of claim 1 , further comprising:

receiving a second request from the client device over the VPN tunnel, wherein the second request is received at the first one of the plurality of edge servers of the distributed cloud computing network;

determining a destination of the second request;

determining that there is not an optimized route for transmission of the second request toward an origin server that corresponds with the destination of the second request; and

transmitting the request toward the origin server.

5. The method of claim 1 , wherein the optimized route is further based in part on probe data between edge servers of the distributed cloud computing network and the origin server that corresponds with the destination of the request.

6. The method of claim 1 , wherein the optimized route is optimized for speed and/or reliability.

7. The method of claim 1 , wherein the probe data between edge servers of the distributed cloud computing network includes determining, for each edge server to edge server link, one or more of the following: a Transmission Control Protocol (TCP) average round trip time (RTT), a TCP minimum RTT, a TCP maximum RTT, a TCP median RTT, and a TCP standard deviation.

8. A non-transitory machine-readable storage medium that provides instructions that, when executed by a processor, causes the processor to perform the following operations:

receiving a request from a client device over a Virtual Private Network (VPN) tunnel, wherein the request is received at a first one of a plurality of edge servers of a distributed cloud computing network;

determining a destination of the request;

determining an optimized route for transmitting the request toward an origin server that corresponds with the destination of the request, wherein the optimized route is based at least in part on probe data between edge servers of the distributed cloud computing network; and

transmitting the request to a next hop as defined by the optimized route.

9. The non-transitory machine-readable storage medium of claim 8 , wherein the optimized route includes a second one of the plurality of edge servers that is connected to the origin server, and wherein the second one of the plurality of edge servers is an egress server.

10. The non-transitory machine-readable storage medium of claim 8 , wherein the first one of the plurality of edge servers is connected to a second one of the plurality of edge servers using a layer-4 point-to-point link.

11. The non-transitory machine-readable storage medium of claim 8 , the operations further comprising:

receiving a second request from the client device over the VPN tunnel, wherein the second request is received at the first one of the plurality of edge servers of the distributed cloud computing network;

determining a destination of the second request;

determining that there is not an optimized route for transmission of the second request toward an origin server that corresponds with the destination of the second request; and

transmitting the request toward the origin server.

12. The non-transitory machine-readable storage medium of claim 8 , wherein the optimized route is further based in part on probe data between edge servers of the distributed cloud computing network and the origin server that corresponds with the destination of the request.

13. The non-transitory machine-readable storage medium of claim 8 , wherein the optimized route is optimized for speed and/or reliability.

14. The non-transitory machine-readable storage medium of claim 8 , wherein the probe data between edge servers of the distributed cloud computing network includes determining, for each edge server to edge server link, one or more of the following: a Transmission Control Protocol (TCP) average round trip time (RTT), a TCP minimum RTT, a TCP maximum RTT, a TCP median RTT, and a TCP standard deviation.

15. An edge server, comprising:

a processor; and

a non-transitory machine-readable storage medium that provides instructions that, when executed by the processor, cause the edge server to perform the following operations:

receive a request from a client device over a Virtual Private Network (VPN) tunnel, wherein the request is to be received at a first one of a plurality of edge servers of a distributed cloud computing network;

determine a destination of the request;

determine an optimized route for transmitting the request toward an origin server that corresponds with the destination of the request, wherein the optimized route is to be based at least in part on probe data between edge servers of the distributed cloud computing network; and

transmit the request to a next hop as defined by the optimized route.

16. The edge server of claim 15 , wherein the optimized route includes a second one of the plurality of edge servers that is connected to the origin server, and wherein the second one of the plurality of edge servers is an egress server.

17. The edge server of claim 15 , wherein the first one of the plurality of edge servers is connected to a second one of the plurality of edge servers using a layer-4 point-to-point link.

18. The edge server of claim 15 , wherein the operations further comprise:

receive a second request from the client device over the VPN tunnel, wherein the second request is to be received at the first one of the plurality of edge servers of the distributed cloud computing network;

determine a destination of the second request;

determine that there is not an optimized route for transmission of the second request toward an origin server that corresponds with the destination of the second request; and

transmit the request toward the origin server.

19. The edge server of claim 15 , wherein the optimized route is further based in part on probe data between edge servers of the distributed cloud computing network and the origin server that corresponds with the destination of the request.

20. The edge server of claim 15 , wherein the optimized route is optimized for speed and/or reliability.

21. The edge server of claim 15 , wherein the probe data between edge servers of the distributed cloud computing network includes determining, for each edge server to edge server link, one or more of the following: a Transmission Control Protocol (TCP) average round trip time (RTT), a TCP minimum RTT, a TCP maximum RTT, a TCP median RTT, and a TCP standard deviation.

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 Jul 25, 2022
From: BRANCH, CHRISTOPHER PHILIP; TRIPIRINENI, NAGA SUNIL; LALKAKA, RUSTAM XING; WONDRA, NICK; IRTEFA, MOHD; PRINCE, MATTHEW BROWNING; PLUNK, ANDREW TAYLOR; YU, OLIVER; KRASNOV, VLAD
To: CLOUDFLARE, INC.
Reel/Frame 060610/0833 →
Continuity (2)
Provisional Application 62827812 · Apr 1, 2019
Related Publication 20200314212A1 · Oct 1, 2020
Cited By (2)
US 12,328,357 US 12,457,196