US 12,261,712 B2
Managing and selecting proxy devices by multiple servers
Derry Shribman, Tel Aviv (IL); and Ofer Vilenski, Moshav Hadar Am (IL)
Assigned to BRIGHT DATA LTD., Netanya (IL)
Filed by BRIGHT DATA LTD., Netanya (IL)
Filed on Jun. 14, 2023, as Appl. No. 18/209,837.
Application 18/209,837 is a continuation of application No. 17/062,592, filed on Oct. 4, 2020, granted, now 11,729,012.
Application 17/062,592 is a continuation of application No. 16/481,470, granted, now 10,880,266, issued on Dec. 29, 2020, previously published as PCT/IL2018/050910, filed on Aug. 16, 2018.
Claims priority of provisional application 62/684,211, filed on Jun. 13, 2018.
Claims priority of provisional application 62/624,208, filed on Jan. 31, 2018.
Claims priority of provisional application 62/563,157, filed on Sep. 26, 2017.
Claims priority of provisional application 62/550,834, filed on Aug. 28, 2017.
Prior Publication US 2023/0327900 A1, Oct. 12, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 9/40 (2022.01); G06F 7/58 (2006.01); G06F 8/71 (2018.01); G06F 9/455 (2018.01); G06F 9/48 (2006.01); G06F 16/955 (2019.01); H04L 12/28 (2006.01); H04L 12/46 (2006.01); H04L 47/283 (2022.01); H04L 61/256 (2022.01); H04L 61/2575 (2022.01); H04L 61/2585 (2022.01); H04L 61/2589 (2022.01); H04L 61/2592 (2022.01); H04L 61/4511 (2022.01); H04L 61/5007 (2022.01); H04L 67/01 (2022.01); H04L 67/02 (2022.01); H04L 67/025 (2022.01); H04L 67/133 (2022.01); H04L 67/141 (2022.01); H04L 67/142 (2022.01); H04L 67/288 (2022.01); H04L 67/2885 (2022.01); H04L 67/56 (2022.01); H04L 67/563 (2022.01); H04L 67/568 (2022.01); H04L 67/5681 (2022.01); H04L 67/63 (2022.01); H04L 69/16 (2022.01); H04L 69/167 (2022.01); H04L 69/168 (2022.01); H04W 4/80 (2018.01); H04W 48/18 (2009.01); H04W 84/10 (2009.01); H04W 84/18 (2009.01); H04L 101/69 (2022.01)
CPC H04L 12/2803 (2013.01) [G06F 7/58 (2013.01); G06F 7/588 (2013.01); G06F 8/71 (2013.01); G06F 9/45545 (2013.01); G06F 9/4555 (2013.01); G06F 9/4881 (2013.01); G06F 16/955 (2019.01); H04L 12/2856 (2013.01); H04L 12/4633 (2013.01); H04L 47/283 (2013.01); H04L 61/256 (2013.01); H04L 61/2575 (2013.01); H04L 61/2585 (2013.01); H04L 61/2589 (2013.01); H04L 61/2592 (2013.01); H04L 61/4511 (2022.05); H04L 61/5007 (2022.05); H04L 63/0272 (2013.01); H04L 63/0281 (2013.01); H04L 63/029 (2013.01); H04L 63/164 (2013.01); H04L 67/01 (2022.05); H04L 67/02 (2013.01); H04L 67/025 (2013.01); H04L 67/133 (2022.05); H04L 67/141 (2013.01); H04L 67/142 (2013.01); H04L 67/288 (2013.01); H04L 67/2885 (2013.01); H04L 67/56 (2022.05); H04L 67/563 (2022.05); H04L 67/568 (2022.05); H04L 67/5681 (2022.05); H04L 67/63 (2022.05); H04L 69/16 (2013.01); H04L 69/162 (2013.01); H04L 69/167 (2013.01); H04L 69/168 (2013.01); H04W 4/80 (2018.02); H04W 48/18 (2013.01); H04W 84/10 (2013.01); H04W 84/18 (2013.01); G06F 9/45558 (2013.01); G06F 2009/45591 (2013.01); G06F 2009/45595 (2013.01); H04L 2101/69 (2022.05)] 33 Claims
OG exemplary drawing
 
1. A method for managing multiple client devices that are configured to serve as proxy devices for anonymously obtaining content and that are addressed by respective multiple Internet Protocol (IP) addresses, by updating and operating a group of servers, each of the servers stores a respective database that comprises IP addresses of at least part of the multiple client devices, the method comprising:
establishing, by a first server selected from the group of servers with a first client device over the Internet, a first secured connection that uses a first secured connection, in response to a communication initiated by the first client device;
receiving, by the first server from the first client device over the first secured connection, a first status message indicative of an availability of a first resource that is used by the first client device upon serving as a proxy device for obtaining content from a web server;
adding, by the first server, a first IP address of the first client device to the respective database in response to the receiving of the first status message;
establishing, by the first server with a second client device over the Internet, a second secured connection that uses a second secured connection, in response to a communication initiated by the second client device;
receiving, by the first server from the second client device over the second secured connection, a second status message indicative of an availability of a second resource that is used by the second client device upon serving as a proxy device for obtaining content from a web server;
adding, by the first server, a second IP address of the second client device to the respective database in response to the receiving of the second status message;
associating, a respective country to each of the IP addresses in the databases in the servers in the group of servers, using geolocation of the respective IP addresses, for identifying the actual country in which the respective proxy device is located;
storing, in the databases in the servers in the group of servers, the associated respective countries associated with the respective IP addresses;
receiving, by the first server from a first requesting device over the Internet, a first identifier of a first country;
selecting, by the first server from the respective database in the first server, a third IP address that is associated with the first country, in response to the receiving of the first identifier;
sending, by the first server to a first requesting device over the Internet, the selected third IP address in response to the selecting of the third IP address;
receiving, by a second server selected from the group of servers, from a second requesting device over the Internet, a second identifier of a second country;
selecting, by the second server from the respective database in the first server, a fourth IP address that is associated with the second country, in response to the receiving of the second identifier; and
sending, by the second server to a second requesting device over the Internet, the selected fourth IP address in response to the selecting of the fourth IP address wherein the selecting of the first or second server from the group of servers utilize a load balancing scheme or performance optimization.