US 12,169,530 B2
Token-based authentication for a proxy web scraping service
Eivydas Vilcinskas, Siauliai (LT); Arnas Petruškevicius, Vilnius (LT); Giedrius Stalioraitis, Vilnius (LT); Martynas Juravicius, Vilnius (LT); and Rimantas Stankevicius, Vilnius (LT)
Assigned to OXYLABS, UAB, Vilnius (LT)
Filed by Oxylabs, UAB, Vilnius (LT)
Filed on Dec. 11, 2023, as Appl. No. 18/535,911.
Application 18/535,911 is a continuation of application No. 17/726,265, filed on Apr. 21, 2022, granted, now 11,841,910.
Application 17/726,265 is a continuation of application No. 17/699,939, filed on Mar. 21, 2022, granted, now 11,741,174, issued on Aug. 29, 2023.
Application 17/699,939 is a continuation of application No. 17/373,570, filed on Jul. 12, 2021, granted, now 11,281,730, issued on Mar. 22, 2022.
Claims priority of provisional application 63/219,660, filed on Jul. 8, 2021.
Prior Publication US 2024/0176829 A1, May 30, 2024
Int. Cl. G06F 16/95 (2019.01); G06F 9/48 (2006.01); G06F 9/54 (2006.01); G06F 16/951 (2019.01); G06F 16/953 (2019.01); G06Q 10/105 (2023.01); H04L 9/40 (2022.01); H04L 67/133 (2022.01)
CPC G06F 16/951 (2019.01) [G06F 9/4881 (2013.01); G06F 9/547 (2013.01); G06F 16/953 (2019.01); G06Q 10/105 (2013.01); H04L 63/083 (2013.01); H04L 67/133 (2022.05)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method for determining which servers are available to process web scraping jobs, comprising:
obtaining, by a request intake manager, a first token indicating an identity of a client associated with credentials received with a first application programming interface (API) request from a client computing device, wherein the first API request specifies a target website to scrape and the first token is generated by an authentication service when the credentials are determined to be valid;
selecting, by the request intake manager, a database server to store, in a job database that stores statuses of web scraping jobs while the web scraping jobs are being executed, a job description generated based on the first API request from a plurality of database servers identified as enabled in a database server status table, wherein the plurality of database servers operate independently of one another and each database server is configured to manage data storage of at least a portion of the job database;
assigning, by the request intake manager, a job identifier to the job description, wherein the job identifier encodes an identifier for the selected database server;
transmitting, by the request intake manager, the job identifier to the client computing device; and
transmitting, by the request intake manager, the job identifier and the job description to the selected database server.