IP Library Granted Patent US 11,575,656
Granted Patent B1
US 11,575,656 · App. 17/669,214 · Granted Feb 7, 2023

Customer data handling in a proxy infrastructure

Inventors: Valdas Pilkauskas (Vilnius, LT); Miroslav Kozlovski (Vilnius, LT); Gytis Ciuta (Vilnius, LT)
Assignee: coretech It, UAB
H04L63/0281H04L12/4641H04L12/66H04L41/12H04L61/4511
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,575,656
App. No.
17/669,214
Granted
Feb 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 (32)

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

(a) establishing a connection to a plurality of exit nodes such that each of the plurality of exit nodes is connected to a supernode;

(b) 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 request and a target;

in response to the proxy protocol request:

(c) selecting between one of the plurality of exit nodes;

(d) sending a message with the proxy protocol request from the one of the plurality of messenger units to the supernode connected to the selected exit node;

(e) sending the message from the supernode to the selected exit node to forward the request to the target.

2. The method of claim 1 , wherein the proxy protocol request specifies a previously established session to the target, and wherein the selecting comprises selecting an exit node from the plurality of exit nodes that was used to communicate with the target via the previously established session.

3. The method of claim 1 , wherein the proxy protocol request specifies customer credentials, and further comprising verifying the customer credentials to determine whether the proxy protocol request is authorized.

4. The method of claim 1 , wherein the supernode is one of a plurality of supernodes, and each of the plurality of supernodes is connected with a group of exit nodes from the plurality of exit nodes.

5. The method of claim 4 , wherein each of the plurality of supernodes conducts health checks on the group of exit nodes connected to the respective supernode.

6. The method of claim 4 , wherein each of the plurality of exit nodes connects to a gateway that directs the respective exit node to the one of the plurality of supernodes.

7. The method of claim 6 , wherein the gateway selects the one of the plurality of supernodes using a load balancing algorithm.

8. The method of claim 6 , 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. The method of claim 6 , wherein the sending (d) comprises establishing a communication tunnel over which to transmit the request.

10. The method of claim 6 , wherein the sending (d) comprises sending the message to the supernode over an already established communication tunnel between the supernode and the one of the plurality of messenger units.

11. 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:

(a) establishing a connection with a plurality of exit nodes such that each of the plurality of exit nodes is connected with a supernode;

(b) 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 request and a target;

in response to the proxy protocol request:

(c) selecting between one of the plurality of exit nodes;

(d) sending a message with the proxy protocol request from the one of the plurality of messenger units to the supernode connected with the selected exit node;

(e) sending the message from the supernode to the selected exit node to forward the request to the target.

12. The computer-readable device of claim 11 , wherein the proxy protocol request specifies a previously established session to the target, and wherein the selecting comprises selecting an exit node from the plurality of exit nodes that was used to communicate with the target via the previously established session.

13. The computer-readable device of claim 11 , wherein the proxy protocol request specifies customer credentials, and further comprising verifying the customer credentials to determine whether the proxy protocol request is authorized.

14. The computer-readable device of claim 11 , wherein the supernode is one of a plurality of supernodes, and each of the plurality of supernodes is connected with a group of exit nodes from the plurality of exit nodes.

15. The computer-readable device of claim 14 , wherein each of the plurality of supernodes conducts health checks on the group of exit nodes connected to the respective supernode.

16. The computer-readable device of claim 14 , wherein each of the plurality of exit nodes connects to a gateway that directs the respective exit node to the one of the plurality of supernodes.

17. The computer-readable device of claim 16 , wherein the gateway selects the one of the plurality of supernodes using a load balancing algorithm.

18. The computer-readable device of claim 16 , 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.

19. The computer-readable device of claim 16 , wherein the sending (d) comprises establishing a communication tunnel over which to transmit the request.

20. The computer-readable device of claim 16 , wherein the sending (d) comprises sending the message to the supernode over an already established communication tunnel between the supernode and the one of the plurality of messenger units.

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 059018/0200 →
Continuity (1)
Provisional Application 63308350 · Feb 9, 2022
Cited By (1)
US 12,323,497