US 12,192,026 B2
System and method for improving content fetching by selecting tunnel devices
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 Sep. 3, 2023, as Appl. No. 18/241,873.
Application 18/241,873 is a continuation of application No. 16/938,983, filed on Jul. 26, 2020, granted, now 11,764,987.
Application 16/938,983 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/0412416 A1, Dec. 21, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. 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 9/40 (2022.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/1021 (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 operating a group of proxy devices where each of the proxy devices is connected to the Internet, each of the proxy devices is addressable in the Internet using a respective Internet Protocol (IP) address, and each of the proxy devices is selectable to serve as a proxy device for obtaining content from web servers, the method comprising:
storing, at a first server, a list of the IP addresses of the proxy devices in the group;
associating, by the first server, a respective geographical location to each of the proxy devices in the group, using geolocation, wherein multiple proxy devices in the group are associated with a first geographical location;
receiving, by the first server over the Internet from a first device that is configured to serve as a proxy device for obtaining content from web servers, a first message that is indicative of the first device availability to serve as a proxy device;
adding, by the first server, the first device to the group by adding an IP address of the first device to the list, in response to the first message indicating availability of the first device to serve as a proxy device;
associating, by the first server, a respective geographical location to the first device, using geolocation, in response to adding the first device to the group;
receiving, by the first server from a second server over the Internet, the first geographical location;
selecting, by the first server, based on load balancing or performance optimization, a first IP address that is associated with the first geographical location and that is addressing a first proxy device from the list, in response to the receiving of first geographical location;
sending, by the first server to the second server over the Internet, the selected first IP address, in response to the selecting of the first IP address,
using the proxy device addressed by the selected first IP address for obtaining a content from a web server;
receiving, by the first server from the second server over the Internet, a second geographical location;
selecting, by the first server, a second IP address that is associated with the second geographical location and that is addressing a second proxy device from the list, in response to the receiving of second geographical location;
sending, by the first server to the second server over the Internet, the selected second IP address, in response to the selecting of the second IP address; and
using the proxy device addressed by the selected second IP address for obtaining a content from a web server,
wherein each of the geographical locations respectively comprises a respective name or a respective identifier of a respective country, and
wherein the selecting of the first IP address comprises randomly selecting from the multiple IP addresses using one or more random numbers generated by a random number generator.