IP Library Granted Patent US 10,637,956
Granted Patent B1
US 10,637,956 · App. 16/590,040 · Granted Apr 28, 2020

Smart proxy rotator

Inventors: Martynas Juravicius (N. Utos eldership, LT); Eivydas Vilcinskas (Siauliai, LT)
Assignee: metacluster It, UAB
H04L67/288H04L41/14H04L63/0428H04L67/02H04L67/141
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 10,637,956
App. No.
16/590,040
Granted
Apr 28, 2020
Kind
B1
Abstract

The task, logic of HTTP/HTTPS session statistics interception and collection is moved to the client side instead of the proxy layer. Encrypted HTTPS tunnel is terminated at the client end, making the actual content or data in transit invisible to both proxies and the smart proxy rotator (SPR). Client's scraping software has a plug-in installed that expands its functionality. HTTP/HTTPS session quality metrics are intercepted and collected at the client side, then sent to the SPR. Proxy usage mark “can be used” is obtained from the SPR for the currently analyzed proxy, based on the results of metrics analysis.

Claims (52)

1. A non-transitory computer readable medium for identifying a threshold of at least one proxy provider, the medium comprising instructions that, when executed by a processor, direct the processor to:

provide a web scraper with a first proxy from a first proxy provider;

establish a first connection to a target server through the first proxy;

obtain first content from the target server;

accumulate performance and availability information of the first proxy;

provide the web scraper with a second proxy from the first proxy provider;

establish a second connection to a target server through the second proxy;

obtain second content from the target server;

accumulate performance and availability information of the second proxy;

calculate and configure utilization thresholds of the first proxy provider by evaluating at least one of the performance and availability information of the first proxy or the performance and availability information of the second proxy.

2. The non-transitory computer-readable medium of claim 1 , further comprising periodically reconfiguring the proxy provider's utilization threshold according to: the performance and availability information of the first proxy, the performance and availability information of the second proxy, or both the performance and availability information of the first proxy and the performance and availability information of the second proxy.

3. The non-transitory computer-readable medium of claim 1 , wherein the first proxy is provided to the web scraper by a proxy rotator and wherein the first content is unreadable to the proxy rotator due to network transport layer or application layer encryption.

4. A non-transitory computer readable medium for identifying thresholds of at least a first proxy provider and a second proxy provider, the medium comprising instructions that, when executed by a processor, direct the processor to:

provide a web scraper with at least a first proxy of the first proxy provider;

establish a first connection to a target server through the first proxy of the first proxy provider;

obtain first content from the target server;

accumulate performance and availability information of the first proxy of the first proxy provider;

provide the web scraper with at least a first proxy of the second proxy provider;

establish a second connection to a target server through the second proxy of the second proxy provider;

obtain second content from the target server;

accumulate performance and availability information of the second proxy of the second proxy provider;

calculate and configure utilization the thresholds by evaluating the performance and availability information of the first proxy of the first proxy provider and the performance and availability information of the first proxy of the second proxy provider.

5. The non-transitory computer-readable medium of claim 4 , further comprising periodically reconfiguring the utilization threshold of the first proxy provider or the second proxy provider according to: the performance and availability information of the first proxy of the first proxy provider, the performance and availability information of the first proxy of the second proxy provider, or both the performance and availability information of the first proxy of the first proxy provider and the performance and availability information of the first proxy of the second proxy provider.

6. The non-transitory computer-readable medium of claim 4 , further comprising periodically calculating and configuring a weight of the first proxy provider at any period of time.

7. The non-transitory computer-readable medium of claim 4 , further comprising placing a usage of the first proxy provider on hold, at least for a period of time, when at least one configured maximum threshold is reached.

8. The non-transitory computer-readable medium of claim 4 , wherein the performance and availability information of the first proxy of the first proxy provider or of the first proxy of the second proxy provider collected include at least one of: proxy id, proxy status, proxy response time, or a size of data obtained through the proxy.

9. The non-transitory computer-readable medium of claim 4 , further comprising loading proxy rotator operational settings into a database on disk, a flat file on disk, a database in memory, or other storage media, including proxy provider settings, utilization thresholds, error thresholds, and proxy lists.

10. The non-transitory computer-readable medium of claim 4 , further comprising placing the computing device within a client's network, proxy service provider's network, or any other network.

11. The non-transitory computer-readable medium of claim 4 , wherein the first proxy of the first proxy provider and the first proxy of the second proxy provider are provided to the web scraper by a proxy rotator and wherein the first content and the second content are unreadable to the proxy rotator due to network transport layer or application layer encryption.

12. A computer-implemented method for identifying a threshold of at least one proxy provider, the method comprising:

running a proxy rotator on a computing device connected to a network;

utilizing the proxy rotator to obtain a first proxy from a first proxy provider;

utilizing a web scraper to:

establish a first connection to a target server through the first proxy;

receive first content designated within a first request through the first connection;

accumulate performance and availability information of the first proxy;

utilizing the proxy rotator to obtain a second proxy from the first proxy provider;

utilizing the web scraper to:

establish a second connection to the target server through the second proxy;

receive second content designated within a second request through the second connection;

accumulate performance and availability information of the second proxy;

providing the performance and availability information of the first proxy and the performance and availability information of the second proxy to the proxy rotator;

utilizing the proxy rotator to calculate a weight for the first proxy provider based upon at least one of the performance and availability information of the first proxy or the performance and availability information of the second proxy; and

identifying a threshold of the first proxy provider based on the weight calculated.

13. The method of claim 12 , wherein first proxy provider weight is calculated by the proxy rotator based on the evaluation of the performance and availability information of the first proxy and the performance and availability information of the second proxy of the first proxy provider.

14. The method of claim 12 , further comprising dynamically configuring utilization threshold of the first proxy provider based on the calculated weight.

15. The method of claim 12 , further comprising pre periodically calculating and configuring, via the proxy rotator, the proxy provider weight according to the proxy performance and availability information submitted by the web scraper at any period of time.

16. The method of claim 12 , wherein the proxy rotator stops using a maximized proxy provider, at least for a period of time, when at least one configured maximum threshold is reached.

17. The method of claim 12 , wherein the performance and availability information collected include at least one of: proxy id, proxy status, proxy response time, or a size of data obtained through the proxy.

18. The method of claim 12 , further comprising loading proxy rotator operational settings into a database on disk, a flat file on disk, a database in memory, or other storage media, including proxy provider settings, utilization thresholds, error thresholds, and proxy lists.

19. The method of claim 12 , further comprising placing the proxy rotator within a client's network, proxy service provider's network, or a party providing proxy rotation services.

20. The method of claim 12 , wherein the first content and the second content are unreadable to the proxy rotator due to network transport layer or application layer encryption.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S ADDRESS PREVIOUSLY RECORDED ON REEL 062717 FRAME 0361. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME. Recorded Mar 2, 2023
From: METACLUSTER LT, UAB
To: OXYLABS, UAB
Reel/Frame 062929/0678 →
MERGER AND CHANGE OF NAME Recorded Feb 13, 2023
From: METACLUSTER LT, UAB; TESO LT, UAB
To: OXYLABS, UAB
Reel/Frame 062717/0361 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TYPOGRAPHICAL ERRORS IN THE SPELLING OF THE RECEIVING PARTY'S NAME AND STREET ADDRESS NAME IN THE RECEIVING PARTY'S ADDRESS PREVIOUSLY RECORDED AT REEL: 050923 FRAME: 0688. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECTION OF NAME. Recorded Jan 5, 2021
From: JURAVICIUS, MARTYNAS; VILCINSKAS, EIVYDAS
To: METACLUSTER LT, UAB
Reel/Frame 055571/0561 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2019
From: JURAVICIUS, MARTYNAS; VILCINSKAS, EIVYDAS
To: METACLUSTER LT, UAB
Reel/Frame 050923/0688 →
Cited By (60)
US 12,192,026 US 12,200,038 US 12,200,083 US 12,200,084 US 12,218,776 US 12,218,777 US 12,229,210 US 12,231,253 US 12,231,519 US 12,250,089 US 12,250,090 US 12,260,364 US 12,261,712 US 12,277,187 US 12,277,188 US 12,277,189 US 12,278,878 US 12,278,880 US 12,284,069 US 12,289,383 US 12,294,481 US 12,301,401 US 12,309,123 US 12,309,241 US 12,323,287 US 12,323,500 US 12,323,501 US 12,332,960 US 12,341,860 US 12,355,855 US 12,368,789 US 12,375,582 US 12,411,902 US 12,413,648 US 12,425,492 US 12,438,956 US 12,445,511 US 12,457,273 US 12,483,635 US 12,517,972 US 12,524,490 US 12,524,491 US 12,536,243 US 12,542,764 US 12,549,645 US 12,563,130 US 12,587,429 US 12,587,430 US 12,587,579 US 12,603,809 US 12,652,330 US 12,659,218 US 12,671,750 US 12,706,884 US 12,706,984 US 12,719,734 US 12,719,735 US 12,719,945 US 12,724,840 US 12,726,551