IP Library Granted Patent US 11,882,199
Granted Patent B2
US 11,882,199 · App. 17/893,003 · Granted Jan 23, 2024

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/63H04L12/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,882,199
App. No.
17/893,003
Granted
Jan 23, 2024
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 (59)

1. A method, comprising:

receiving a request from a client device over an encrypted 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;

accessing an optimized route table to 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 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 , further comprising:

transmitting a probe request to each edge server in the plurality of edge servers of the distributed cloud computing network;

receiving probe results, wherein the probe results are received from one or more origin servers, the probe results including server-to-server probe results and server-to-origin probe results;

computing the optimized route using the probe results; and

storing the computed optimized route in the optimized route table.

4. The method of claim 3 , wherein the server-to-server probe results 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.

5. The method of claim 3 , wherein the server-to-origin probe results includes determining, for each edge server to origin server link, one or more of the following: a Transmission Control Protocol (TCP) average round trip time (RTT) to a corresponding origin server of the edge server to origin server link, a TCP minimum RTT to the corresponding origin server, a TCP maximum RTT to the corresponding origin server, a TCP median RTT to the corresponding origin server, a TCP standard deviation to the corresponding origin server, bandwidth to the corresponding origin server, and/or packet loss to the corresponding origin server.

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

7. The method of claim 1 , further comprising:

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

determining a second destination of the second request;

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

transmitting the request toward the second origin server.

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

receiving a request from a client device over an encrypted 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;

accessing an optimized route table to 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 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 , the operations further comprising:

transmitting a probe request to each edge server in the plurality of edge servers of the distributed cloud computing network;

receiving probe results, wherein the probe results are received from one or more origin servers, the probe results including server-to-server probe results and server-to-origin probe results;

computing the optimized route using the probe results; and

storing the computed optimized route in the optimized route table.

11. The non-transitory machine-readable storage medium of claim 10 , wherein the server-to-server probe results 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.

12. The non-transitory machine-readable storage medium of claim 10 , wherein the server-to-origin probe results includes determining, for each edge server to origin server link, one or more of the following: a Transmission Control Protocol (TCP) average round trip time (RTT) to a corresponding origin server of the edge server to origin server link, a TCP minimum RTT to the corresponding origin server, a TCP maximum RTT to the corresponding origin server, a TCP median RTT to the corresponding origin server, a TCP standard deviation to the corresponding origin server, bandwidth to the corresponding origin server, and/or packet loss to the corresponding origin server.

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 , the operations further comprising:

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

determining a second destination of the second request;

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

transmitting the request toward the second origin server.

15. A server, comprising:

a processor; and

a non-transitory machine-readable storage medium that provides instructions that, if executed by the processor, will cause the server to perform operations including:

receiving a request from a client device over an encrypted 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;

accessing an optimized route table to 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 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.

16. The 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 server of claim 15 , the operations further comprising:

transmitting a probe request to each edge server in the plurality of edge servers of the distributed cloud computing network;

receiving probe results, wherein the probe results are received from one or more origin servers, the probe results including server-to-server probe results and server-to-origin probe results;

computing the optimized route using the probe results; and

storing the computed optimized route in the optimized route table.

18. The server of claim 17 , wherein the server-to-server probe results 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.

19. The server of claim 17 , wherein the server-to-origin probe results includes determining, for each edge server to origin server link, one or more of the following: a Transmission Control Protocol (TCP) average round trip time (RTT) to a corresponding origin server of the edge server to origin server link, a TCP minimum RTT to the corresponding origin server, a TCP maximum RTT to the corresponding origin server, a TCP median RTT to the corresponding origin server, a TCP standard deviation to the corresponding origin server, bandwidth to the corresponding origin server, and/or packet loss to the corresponding origin server.

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

21. The server of claim 15 , the operations further comprising:

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

determining a second destination of the second request;

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

transmitting the request toward the second origin server.

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 Aug 22, 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 060862/0264 →
Continuity (3)
Continuation 16836613 · Mar 31, 2020
Provisional Application 62827812 · Apr 1, 2019
Related Publication 20220400166A1 · Dec 15, 2022
Cited By (1)
US 12,328,357