US 11,743,319 B2
Implementing a queuing system in a distributed network
George Thomas, Oakland, CA (US); Dimitrios Antonellis, San Mateo, CA (US); Mathew Jacob, Austin, TX (US); and Fabienne Heitiare Semeria, Redwood City, CA (US)
Assigned to CLOUDFLARE, INC., San Francisco, CA (US)
Filed by CLOUDFLARE, INC., San Francisco, CA (US)
Filed on Sep. 29, 2022, as Appl. No. 17/956,406.
Application 17/956,406 is a continuation of application No. 17/341,271, filed on Jun. 7, 2021, granted, now 11,503,104.
Prior Publication US 2023/0027013 A1, Jan. 26, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 15/16 (2006.01); H04L 67/02 (2022.01); H04L 47/56 (2022.01); H04L 67/146 (2022.01); H04L 67/01 (2022.01)
CPC H04L 67/02 (2013.01) [H04L 47/562 (2013.01); H04L 67/01 (2022.05); H04L 67/146 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
receiving, at a first edge server of a plurality of edge servers of a first data center of a plurality of data centers of a distributed cloud computing network, a first request from a first user to access a web application hosted at an origin server;
assigning the first user to a first user bucket of a queue based on an arrival time of the first request at the first edge server;
transmitting a response to the first user that includes a page that indicates that the first user is queued, wherein the response also includes a first cookie that identifies the first user bucket;
receiving, at the first edge server, a second request from the first user to access the web application, the second request including the first cookie that identifies the first user bucket;
determining, based on at least a position of the first user bucket out of a plurality of user buckets of the queue and a number of slots eligible for access to the web application, to accept the first user to the web application; and
responsive to the determining to accept the first user to the web application, performing the following:
transmitting a third request to access the web application to the origin server,
receiving a first response to the third request from the origin server, and
transmitting the first response to the first user.