IP Library Granted Patent US 11,601,518
Granted Patent B1
US 11,601,518 · App. 17/669,204 · Granted Mar 7, 2023

Managed exit nodes and third party proxies

Inventors: Valdas Pilkauskas (Vilnius, LT); Miroslav Kozlovski (Vilnius, LT); Gytis Ciuta (Vilnius, LT)
Assignee: CORETECH LT, UAB
H04L67/56H04L43/10H04L67/1004
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 11,601,518
App. No.
17/669,204
Granted
Mar 7, 2023
Kind
B1
Abstract

Systems and methods herein provide for a proxy infrastructure. In the proxy infrastructure, a network element (e.g., a supernode) is connected with a plurality of exit nodes. At one of a plurality of messenger units of the proxy infrastructure, a proxy protocol request is received directly from a client computing device. The proxy protocol request specifies a request and a target. In response the proxy protocol request, a selection is made between one between one of the plurality of exit nodes. A message with the request is sent from the messenger to the supernode connected with the selected exit node. Finally, the message is sent from the supernode to the selected exit node to forward the request to the target.

Claims (42)

1. A method of operating a proxy infrastructure, comprising:

connecting to a plurality of third party proxy providers external to the proxy infrastructure;

connecting to a plurality of exit nodes internal to the proxy infrastructure;

receiving, at one of a plurality of messenger units of the proxy infrastructure, a proxy protocol request directly from a client computing device, the proxy protocol request specifying a target;

in response to the proxy protocol request:

selecting between one of the plurality of third party proxy providers and the plurality of exit nodes; and

connecting with the target through the selected one of the plurality of third party proxy providers and the plurality of exit nodes.

2. The method of claim 1 , further comprising: pinging each of the plurality of third party proxy providers to evaluate responses from each ping; and storing statistics of the plurality of third party proxy providers based on the evaluations, wherein the selecting occurs based on the stored statistics.

3. The method of claim 2 , wherein the statistics are selected from at least one of: bandwidth of the plurality of third party proxy providers; whether the plurality of third party proxy providers is active; or latency of the plurality of third party proxy providers.

4. The method of claim 1 , further comprising:

pinging each of the plurality of exit nodes to evaluate responses from each ping; and

storing statistics of the plurality of exit nodes based on the evaluations, wherein the selecting occurs based on the stored statistics.

5. The method of claim 1 , wherein the proxy protocol request specifies a geographic location and wherein the selecting occurs based on the geographic location.

6. The method of claim 1 , wherein a geographic location is selected according to which of the plurality of messenger units receives the proxy protocol request and wherein the selecting occurs based on the geographic location.

7. The method of claim 1 , wherein the plurality of messenger units of the proxy infrastructure share a common domain name.

8. The method of claim 7 , wherein the one of the plurality of messenger units is selected by a DNS server during a DNS lookup by the client computing device using a load balancing algorithm.

9. 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, the operations comprising:

connecting to a plurality of third party proxy providers external to a proxy infrastructure;

connecting to a plurality of exit nodes internal to the proxy infrastructure;

receiving, at one of a plurality of messenger units of the proxy infrastructure, a proxy protocol request directly from a client computing device, the proxy protocol request specifying a target;

in response to the proxy protocol request:

selecting between one of the plurality of third party proxy providers and the plurality of exit nodes; and

connecting with the target through the selected one of the plurality of third party proxy providers and the plurality of exit nodes.

10. The computer-readable device of claim 9 , the operations further comprising:

pinging each of the plurality of third party proxy providers to evaluate responses from each ping; and

storing statistics of the plurality of third party proxy providers based on the evaluations, wherein the selecting occurs based on the stored statistics.

11. The computer-readable device of claim 10 , wherein the statistics are selected from at least one of: bandwidth of the plurality of third party proxy providers; whether the plurality of third party proxy providers is active; or latency of the plurality of third party proxy providers.

12. The computer-readable device of claim 9 , the operations further comprising:

pinging each of the plurality of exit nodes to evaluate responses from each ping; and

storing statistics of the plurality of exit nodes based on the evaluations, wherein the selecting occurs based on the stored statistics.

13. The computer-readable device of claim 9 , wherein the proxy protocol request specifies a geographic location and wherein the selecting occurs based on the geographic location.

14. The computer-readable device of claim 9 , wherein a geographic location is selected according to which of the plurality of messenger units receives the proxy protocol request and wherein the selecting occurs based on the geographic location.

15. The computer-readable device of claim 9 , wherein the plurality of messenger units of the proxy infrastructure share a common domain name.

16. The computer-readable device of claim 15 , wherein the one of the plurality of messenger units is selected by a DNS server during a DNS lookup by the client computing device using a load balancing algorithm.

17. A system for operating a proxy infrastructure, comprising:

an external supernode configured to connect to a plurality of third party proxy providers external to the proxy infrastructure;

a supernode configured to handle a connection to a plurality of exit nodes internal to the proxy infrastructure;

a plurality of messenger units, each messenger unit of the plurality of messenger units configured to receive a proxy protocol request directly from a client computing device, the proxy protocol request specifying a target; and

wherein said each messenger unit is configured to, in response to the proxy protocol request, retrieve a selection of one of the plurality of third party proxy providers and the plurality of exit nodes, wherein the selected one of the plurality of third party proxy providers and the plurality of exit nodes connects with the target.

18. The system of claim 17 , wherein the external supernode is configured to ping each of the plurality of third party proxy providers to evaluate responses from each ping, and further comprising a database configured to store statistics of the plurality of third party proxy providers based on the evaluations, wherein the selection of one of the plurality of third party proxy providers and the plurality of exit nodes occurs based on the stored statistics.

19. The system of claim 18 , wherein the statistics are selected from at least one of: bandwidth of the plurality of third party proxy providers; whether the plurality of third party proxy providers is active; or latency of the plurality of third party proxy providers.

20. The system of claim 17 , wherein the supernode is configured to ping each of the plurality of exit nodes to evaluate responses from each ping, and further comprising a database configured to store statistics of the plurality of exit nodes based on the evaluations, wherein the selection of one of the plurality of third party proxy providers and the plurality of exit nodes occurs based on the stored statistics.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2023
From: CORETECH LT, UAB
To: OXYLABS, UAB
Reel/Frame 063036/0688 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2022
From: PILKAUSKAS, VALDAS; KOZLOVSKI, MIROSLAV; CIUTA, GYTIS
To: CORETECH LT, UAB
Reel/Frame 059017/0059 →
Continuity (1)
Provisional Application 63308350 · Feb 9, 2022
Cited By (2)
US 12,323,497 US 12,580,992