Network coordination between proxy servers
Abstract
Systems and methods for coordinating network connectivity and communication between proxy servers, exit-nodes and client modules are disclosed. In one aspect, the proxy infrastructure enables network connectivity between exit-nodes and proxy-nodes without the need of any proxy-gateways or middleware entities to delegate the connections. Proxy-nodes in the proxy infrastructure accept connections with exit-nodes based on geographical proximity, proxy-node metrics, such as server loads and clients' frequent preferences. Further, a single instance of proxy-node can communicate and instruct another instance of proxy-node, to service the client request via a suitable exit-node. Further still, a single instance of proxy-node can communicate and instruct another instance of proxy-node to redirect a suitable exit-node towards the first proxy-node in order to service the client request. In another instance, the proxy-infrastructure enables client modules to connect to proxy-nodes based on geographical proximity, client parameters, and client's behavioral informatics. In yet another aspect, proxy infrastructure enables a proxy node to redirect exit-nodes to a different proxy—node in the event of a) system overload or resource exhaustion, b) graceful shutdown c) erroneous network connection between exit-nodes and the proxy-node.
Claims
exact text as granted — not AI-modifiedWhat is claimed:
1. A method for coordinating network connections and traffic in a proxy service infrastructure comprising:
selecting, by a DNS server present within the proxy service infrastructure, an IP address of a proxy server, wherein the proxy server is selected based on at least one of the following: (i) geographical proximity to a client module, (ii) conforming to a client's prerequisites, or (iii) deemed to be appropriate for the client's regular activities;
receiving, by the proxy server, a client request and request parameters from the client module, wherein the client request is addressed to a target;
evaluating, by the proxy server, the request parameters received from the client module to determine whether the proxy server is connected to a suitable edge proxy satisfying the request parameters;
when the proxy server is determined to be connected to the suitable edge proxy, forwarding, by the proxy server, the client request to the suitable edge proxy;
when the proxy server is determined not to be connected to the suitable edge proxy:
(i) identifying, by the proxy server, a subsequent proxy server connected to the suitable edge proxy;
(ii) forwarding, by the proxy server, the client request and request parameters to the subsequent proxy server for forwarding to the suitable edge proxy;
determining, by the proxy server, that client requests are frequently serviced through the suitable edge proxy via the subsequent proxy server; and
when the client requests are determined to be frequently serviced by the suitable edge proxy via the subsequent proxy server, sending, by the proxy server, a transfer message to the subsequent proxy server, the transfer message instructing the suitable edge proxy to connect to the proxy server.
2. The method of claim 1 , further comprising, prior to selecting the IP address of the proxy server, receiving, by the DNS server, a DNS query from the client module.
3. The method of claim 2 , wherein the DNS query received by the DNS server from the client module comprises a query domain name of the proxy server, query type, query class, and the client's prerequisites.
4. The method of claim 1 , wherein the proxy server is present within the proxy service infrastructure.
5. The method of claim 1 , further comprising, upon finding the IP address of the proxy server, sending, by the DNS server, the IP address of the proxy server to the client module.
6. The method of claim 1 , wherein the proxy server is selected based on the client's prerequisites and wherein the client's prerequisites are preconditions for the proxy server comprising at least one of: geo-location specifications, operation system configuration details, and information on browser type.
7. The method of claim 1 , wherein the proxy server is selected based on being deemed to be appropriate for the client's regular activities, and wherein the client's regular activities comprise at least one or a combination of: client's regular security policies, information on client's frequently preferred service types, and data on client's frequently preferred proxy servers and edge proxies.
8. The method of claim 1 , further comprising regularly fetching and storing messages comprising the client's regular activities within a DNS server's storage facilities.
9. The method of claim 1 , further comprising regularly fetching and storing messages comprising metadata of multiple proxy servers within the DNS server's storage facilities.
10. The method of claim 1 , wherein the suitable edge proxy forwards the client request to the target.
11. The method of claim 1 , wherein the subsequent proxy server connected to the suitable edge proxy, upon receiving the client request and the request parameters from the proxy server, evaluates the request parameters, finds the suitable edge proxy, and forwards the client request to the suitable edge proxy.
12. The method of claim 1 , wherein the subsequent proxy server connected to the suitable edge proxy, upon receiving the transfer message from the proxy server, issues a redirect message to the suitable edge proxy.
13. The method of claim 12 , wherein the suitable edge proxy, upon receiving the redirect message from the subsequent proxy server, requests a network connection from the proxy server.
14. The method of claim 1 , further comprising:
sending, by the DNS server present within the proxy infrastructure, the IP address of the proxy server to an edge proxy;
determining that the proxy server is experiencing one or more inoperability conditions: system overload, resource exhaustion, graceful shutdown, and erroneous connection with the edge proxy; and
when the proxy server is determined to be experiencing the one or more inoperability conditions, issuing, by the proxy server, a redirect message to the edge proxy, wherein the redirect message instructs the edge proxy to connect to at least one of: an alternate proxy server, an active proxy server, and the suitable proxy server.
15. The method of claim 14 , further comprising, receiving, by the DNS server, a DNS query from the edge proxy.
16. The method of claim 15 , further comprising answering, by the DNS server, the DNS query received from the edge proxy based on at least one of: edge proxy's geo-location, proxy server metrics, and frequent preferences of proxy clients in a geographical region.
17. The method of claim 16 , wherein the edge proxy receives the IP address of the proxy server sent by the DNS server.
18. The method of claim 17 , wherein the edge proxy, upon receiving the IP address of the proxy server, approaches and connects to the proxy server.
19. The method of claim 14 , wherein the edge proxy, upon receiving the redirect message from the proxy server, approaches and connects to at least one of: the alternate proxy server, the active proxy server, and the suitable proxy server.
20. The method of claim 19 , wherein the proxy server terminates a network connection with the edge proxy, after the edge proxy is connected to at least one of: the alternate proxy server, and the active proxy server, the suitable proxy server.
21. The method of claim 14 , wherein the alternate proxy server's geo-location is identical to the proxy server's geo-location.
22. The method of claim 14 , wherein the active proxy server's geo-location is identical to the proxy server's geo-location.
23. The method of claim 14 , wherein the suitable proxy server is geographically closer to the edge proxy.Join the waitlist — get patent alerts
Track US12003600B2 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.