US 11,949,647 B2
Establishing and using a tunnel from an origin server in a distributed edge compute and routing service
Dane Orion Knecht, Austin, TX (US); John Graham-Cumming, London (GB); Dani Grant, San Francisco, CA (US); Christopher Philip Branch, Romford (GB); and Tom Paseka, San Francisco, CA (US)
Assigned to CLOUDFLARE, INC., San Francisco, CA (US)
Filed by CLOUDFLARE, INC., San Francisco, CA (US)
Filed on Apr. 25, 2022, as Appl. No. 17/728,407.
Application 17/728,407 is a continuation of application No. 16/883,116, filed on May 26, 2020, granted, now 11,316,825.
Application 16/883,116 is a continuation of application No. 16/160,294, filed on Oct. 15, 2018, granted, now 10,666,613, issued on May 26, 2020.
Application 16/160,294 is a continuation of application No. 15/719,537, filed on Sep. 28, 2017, granted, now 10,104,039, issued on Oct. 16, 2018.
Prior Publication US 2023/0045757 A1, Feb. 9, 2023
Int. Cl. H04L 61/2592 (2022.01); H04L 12/46 (2006.01); H04L 61/4511 (2022.01); H04L 67/01 (2022.01); H04L 67/02 (2022.01); H04L 67/10 (2022.01); H04L 67/1017 (2022.01); H04L 67/1031 (2022.01); H04L 61/5007 (2022.01)
CPC H04L 61/2592 (2013.01) [H04L 12/4633 (2013.01); H04L 12/4641 (2013.01); H04L 61/4511 (2022.05); H04L 67/01 (2022.05); H04L 67/02 (2013.01); H04L 67/10 (2013.01); H04L 67/1017 (2013.01); H04L 67/1031 (2013.01); H04L 61/5007 (2022.05)] 21 Claims
OG exemplary drawing
 
1. A method, comprising:
establishing, with a first tunnel client residing on a first origin server, a first tunnel between a first one of a plurality of edge servers of a distributed edge compute and routing service and the first tunnel client;
installing routing rules in the plurality of edge servers to reach the first one of the plurality of edge servers, wherein the routing rules are based at least in part on traffic information gathered from processing other traffic that traverses the distributed edge compute and routing service;
receiving, at a second one of the plurality of edge servers, a request for content served by the first origin server through the first tunnel;
determining, based on the routing rules, a path from the second one of the plurality of edge servers to the first one of the plurality of edge servers;
transmitting the request on the path from the second one of the plurality of edge servers to the first one of the plurality of edge servers;
receiving, at the first one of the plurality of edge servers, the request; and
transmitting the request from the first one of the plurality of edge servers to the first origin server over the first tunnel.