US 11,729,012 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 Oct. 4, 2020, as Appl. No. 17/62,592.
Application 17/062,592 is a continuation of application No. 16/481,470, granted, now 10,880,266, previously published as PCT/IL2018/050910, filed on Aug. 16, 2018.
Claims priority of provisional application 62/550,834, filed on Aug. 28, 2017.
Claims priority of provisional application 62/563,157, filed on Sep. 26, 2017.
Claims priority of provisional application 62/624,208, filed on Jan. 31, 2018.
Claims priority of provisional application 62/684,211, filed on Jun. 13, 2018.
Prior Publication US 2021/0021570 A1, Jan. 21, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/955 (2019.01); H04L 12/28 (2006.01); H04L 9/40 (2022.01); H04L 67/02 (2022.01); H04L 61/256 (2022.01); H04L 67/025 (2022.01); H04L 69/16 (2022.01); G06F 9/48 (2006.01); H04L 61/2592 (2022.01); H04L 67/288 (2022.01); H04L 67/2885 (2022.01); G06F 7/58 (2006.01); H04L 61/2575 (2022.01); H04L 61/2585 (2022.01); H04L 61/2589 (2022.01); H04L 12/46 (2006.01); H04L 67/141 (2022.01); H04L 67/142 (2022.01); H04W 4/80 (2018.01); G06F 8/71 (2018.01); G06F 9/455 (2018.01); H04L 47/283 (2022.01); H04L 69/167 (2022.01); H04L 69/168 (2022.01); H04W 48/18 (2009.01); H04W 84/10 (2009.01); H04W 84/18 (2009.01); H04L 61/4511 (2022.01); H04L 61/5007 (2022.01); H04L 67/01 (2022.01); H04L 67/56 (2022.01); H04L 67/63 (2022.01); H04L 67/133 (2022.01); H04L 67/563 (2022.01); H04L 67/5681 (2022.01); H04L 67/568 (2022.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/4555 (2013.01); G06F 9/45545 (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/029 (2013.01); H04L 63/0272 (2013.01); H04L 63/0281 (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)] 80 Claims
OG exemplary drawing
 
1. A method for fetching, by a client device, a first content identified by a first content identifier from a first web server, a second content identified by a second content identifier from a second web server, and a third content identified by a third content identifier from a third web server, for use with a group of servers, wherein the client device, the first and second web servers, and each of the servers in the group is connectable to the Internet and is addressable in the Internet using a respective IP address, the method comprising:
selecting from the group a first server that stores a first list of IP addresses;
sending, by the client device to the selected first server, the first content identifier;
receiving, by the selected first server from the client device, the first content identifier;
fetching, by the selected first server from the first web server, using a first IP address selected from the first list, the first content;
sending, by the selected first server to the client device, the first content;
receiving, by the client device from the selected first server, the first content;
selecting from the group a second server that stores a second list of IP addresses;
sending, by the client device to the selected second server, the second content identifier;
receiving, by the selected second server from the client device, the second content identifier;
fetching, by the selected second server from the second web server, using a second IP address selected from the second list, the second content;
sending, by the selected second server to the client device, the second content;
receiving, by the client device from the selected second server, the second content;
selecting from the group a third server that stores a third list of IP addresses;
sending, by the client device to the selected third server, the third content identifier;
receiving, by the selected third server from the client device, the third content identifier;
fetching, by the selected third server from the third web server, using a third IP address selected from the third list, the first content;
sending, by the selected third server to the client device, the third content; and
receiving, by the client device from the selected third server, the third content,
wherein the communication over the Internet between the client device and the first, second, or third server, and the respective web server utilizes a Socket Secure Protocol or connection,
wherein the fetching of the first content from the first web server using the first IP address selected from the first list comprises sending a first request that includes the first content identifier to the first server using the first IP address as a source address, and receiving the first content from the first web server in response to the sent first request, so that the first web server is prevented from identifying the client device,
wherein the fetching of the second content from the second web server using the second IP address selected from the second list comprises sending a second request that includes the second content identifier to the second server using the second IP address as the source address, and receiving the second content from the second web server in response to the sent second request, so that the second web server is prevented from identifying the client device, and
wherein the fetching of the third content from the third web server using the third IP address selected from the third list comprises sending a third request that includes the third content identifier to the third server using the third IP address as the source address, and receiving the third content from the third web server in response to the sent third request, so that the third web server is prevented from identifying the client device; and
utilizing a database that associate a service level value to each of the servers in the group that is responsive to a former measurement of the respective server activity, wherein the selecting of the first server or the selecting of the second server is respectively based on a first service level value associated with the first server or based on a second service level value associated with the second server.