IP Library Granted Patent US 12,445,442
Granted Patent B2
US 12,445,442 · App. 18/758,159 · Granted Oct 14, 2025

Access control policy for proxy services

Inventors: Miroslav Kozlovski (Vilnius, LT); Gytis Ciuta (Vilnius, LT); Valdemar Karasevic (Vilnius, LT)
Assignee: Oxylabs, UAB
H04L63/0884H04L63/0281H04L63/20
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 12,445,442
App. No.
18/758,159
Granted
Oct 14, 2025
Kind
B2
Abstract

Systems and methods to manage and efficiently perform authorization of multiple proxy clients are disclosed. Furthermore, systems and methods to measure and check whether the web traffic of one or more client devices has reached a permissible limit of web traffic assigned by the proxy service provider. Specifically, a proxy is configured to gather and save authorization information of one or more clients within its memory. Therefore, the proxy server can verify and authorize one or more clients by utilizing the data from its memory. Furthermore, the proxy is configured to measure and report the utilized web traffic of one or more client devices to a messaging platform. In another aspect, systems and methods to check whether one or more client devices have reached a permissible amount of web traffic limit are disclosed.

Claims (76)

1. A computer-implemented method of authorizing a proxy request and reporting web traffic associated with a client, the computer-implemented method comprising:

receiving, by a proxy server, the proxy request from a client device, the proxy request including: (i) a target uniform resource locator (URL) and (ii) a first set of authentication credentials;

verifying, by the proxy server, the first set of authentication credentials by comparing the first set of authentication credentials to a stored second set of authentication credentials;

after verifying the first set of authentication credentials, determining, by the proxy server, a state of a status indicator indicating whether to execute the proxy request from the client device; and

when the status indicator is active:

executing the proxy request;

while executing the proxy request, measuring, by the proxy server, an amount of traffic utilized by the client device; and

returning, by the proxy server, response data from the target URL to the client device;

when the status indicator is disabled:

sending a message to the client device indicating the proxy request is denied.

2. The computer-implemented method of claim 1 , wherein measuring the amount of traffic utilized further comprises:

determining the measured amount of traffic is greater than or equal to a traffic limit;

in response to the determination, terminating the proxy request; and

setting the status indicator to disabled.

3. The computer-implemented method of claim 2 , further comprising sending a traffic limit reached message to the client device.

4. The computer-implemented method of claim 2 , further comprising:

receiving an indication that the traffic limit is increased;

resuming the proxy request; and

setting the status indicator to active.

5. The computer-implemented method of claim 1 , wherein the utilized traffic is expressed as a transmission rate comprising a number of bytes per specific time unit.

6. The computer-implemented method of claim 1 , wherein the status indicator is set by receiving an application programming interface (API) call at the proxy server.

7. The computer-implemented method of claim 1 , wherein executing the proxy request further comprises:

receiving, by the proxy server, a message to disable the status indicator;

in response to the message, setting the status indicator to disabled; and

terminating the proxy request.

8. A non-transitory computer-readable device having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:

receiving, by a proxy server, a proxy request from a client device, the proxy request including: (i) a target uniform resource locator (URL) and (ii) a first set of authentication credentials;

verifying, by the proxy server, the first set of authentication credentials by comparing the first set of authentication credentials to a stored second set of authentication credentials;

after verifying the first set of authentication credentials, determining, by the proxy server, a state of a status indicator indicating whether to execute the proxy request from the client device; and

when the status indicator is active:

executing the proxy request;

while executing the proxy request, measuring, by the proxy server, an amount of traffic utilized by the client device; and

returning, by the proxy server, response data from the target URL to the client device;

when the status indicator is disabled:

sending a message to the client device indicating the proxy request is denied.

9. The non-transitory computer-readable medium of claim 8 , wherein to measure the amount of traffic utilized, the operations further comprise:

determining the measured amount of traffic is greater than or equal to a traffic limit;

in response to the determination, terminating the proxy request; and

setting the status indicator to disabled.

10. The non-transitory computer-readable medium of claim 9 , wherein the operations further comprise sending a traffic limit reached message to the client device.

11. The non-transitory computer-readable medium of claim 9 , wherein the operations further comprise:

receiving an indication that the traffic limit is increased;

resuming the proxy request; and

setting the status indicator to active.

12. The non-transitory computer-readable medium of claim 8 , wherein the utilized traffic is expressed as a transmission rate comprising a number of bytes per specific time unit.

13. The non-transitory computer-readable medium of claim 8 , wherein the status indicator is set by receiving an application programming interface (API) call at the proxy server.

14. The non-transitory computer-readable medium of claim 8 , wherein to execute the proxy request, the operations further comprise:

receiving, by the proxy server, a message to disable the status indicator;

in response to the message, setting the status indicator to disabled; and

terminating the proxy request.

15. A system, comprising:

a memory; and

at least one processor coupled to the memory and configured to:

receive a proxy request from a client device, the proxy request including: (i) a target uniform resource locator (URL) and (ii) a first set of authentication credentials;

verify the first set of authentication credentials by comparing the first set of authentication credentials to a stored second set of authentication credentials;

after verifying the first set of authentication credentials, determine a state of a status indicator indicating whether to execute the proxy request from the client device; and

when the status indicator is active:

execute the proxy request;

while executing the proxy request, measure an amount of traffic utilized by the client device; and

return response data from the target URL to the client device;

when the status indicator is disabled:

send a message to the client device indicating the proxy request is denied.

16. The system of claim 15 , wherein to measure the amount of traffic utilized, the at least one processor is further configured to:

determine the measured amount of traffic is greater than or equal to a traffic limit;

in response to the determination, terminate the proxy request; and

set the status indicator to disabled.

17. The system of claim 16 , wherein the at least one processor is further configured to:

receive an indication that the traffic limit is increased;

resume the proxy request; and

set the status indicator to active.

18. The system of claim 15 , wherein the utilized traffic is expressed as a transmission rate comprising a number of bytes per specific time unit.

19. The system of claim 15 , wherein the status indicator is set by receiving an application programming interface (API) call.

20. The system of claim 15 , wherein to execute the proxy request, the at least one processor is further configured to:

receive a message to disable the status indicator;

in response to the message, set the status indicator to disabled; and

terminate the proxy request.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2025
From: CORETECH LT, UAB
To: OXYLABS, UAB
Reel/Frame 070900/0458 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2025
From: KOZLOVSKI, MIROSLAV; CIUTA, GYTIS; KARASEVIC, VALDEMAR
To: CORETECH LT, UAB
Reel/Frame 070900/0462 →
Continuity (3)
Continuation 17875813 · Jul 28, 2022
Continuation 17562553 · Dec 27, 2021
Related Publication 20240356920A1 · Oct 24, 2024
References Cited (31)
US 7681229B1 · Ebrahimi et al. · 2010 [cited by applicant]
US 8472388B2 · Hjelm et al. · 2013 [cited by applicant]
US 8782260B2 · Taylor et al. · 2014 [cited by applicant]
US 8893239B2 · Cahill · 2014 [cited by applicant]
US 8959203B1 · Miller et al. · 2015 [cited by applicant]
US 8966594B2 · Schneider · 2015 [cited by applicant]
US 9038138B2 · Trammel et al. · 2015 [cited by applicant]
US 9407664B1 · Banerjee · 2016 [cited by applicant]
US 9430628B2 · Kim et al. · 2016 [cited by applicant]
US 9445272B2 · Malinen et al. · 2016 [cited by applicant]
US 9544294B2 · Srinivasan et al. · 2017 [cited by applicant]
US 9819666B2 · Mowers et al. · 2017 [cited by applicant]
US 10375069B2 · Matsugashita · 2019 [cited by applicant]
US 10440151B2 · Smith, II et al. · 2019 [cited by applicant]
US 10592872B2 · Fosmark et al. · 2020 [cited by applicant]
US 10673861B2 · Karunakaran et al. · 2020 [cited by applicant]
US 10922772B2 · Chen et al. · 2021 [cited by applicant]
US 11063785B2 · Milescu et al. · 2021 [cited by applicant]
US 20040268152A1 · Xia et al. · 2004 [cited by applicant]
US 20060230265A1 · Krishna · 2006 [cited by applicant]
US 20060235850A1 · Hazelwood et al. · 2006 [cited by applicant]
US 20070118890A1 · Song · 2007 [cited by applicant]
US 20080015988A1 · Brown et al. · 2008 [cited by applicant]
US 20120151206A1 · Paris et al. · 2012 [cited by applicant]
US 20160088521A1 · Ho et al. · 2016 [cited by applicant]
US 20170302644A1 · Goodwin · 2017 [cited by applicant]
US 20170353450A1 · Koved et al. · 2017 [cited by applicant]
US 20180302406A1 · Burckhardt et al. · 2018 [cited by applicant]
US 20210067340A1 · Ferenczi · 2021 [cited by applicant]
JP 4291213B2 · 2009 [cited by applicant]
Co-pending U.S. Appl. No. 17/562,553, filed Dec. 27, 2021, Inventors Kozlovski, et al., (Unpublished). [cited by applicant]