US 12,149,374 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 Feb. 16, 2022, as Appl. No. 17/672,856.
Application 17/672,856 is a continuation of application No. 16/938,985, filed on Jul. 26, 2020, granted, now 11,558,215.
Application 16/938,985 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 2022/0173933 A1, Jun. 2, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/955 (2019.01); G06F 7/58 (2006.01); G06F 8/71 (2018.01); G06F 9/455 (2018.01); G06F 9/48 (2006.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/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)] 108 Claims
OG exemplary drawing
 
1. A method for obtaining, by a client device that is configured to be in at least idle and non-idle states, a content that is identified by a content identifier and is stored in a web server, for use with distinct first and second servers, the method comprising:
connecting, by the client device, to the Internet, via a first network;
selecting, by the client device, the first server from a plurality of servers;
initiating, by the client device, communication with the selected first server;
periodically sending, by the client device, over the Internet via the first network, a message that comprises a status of the client device, or is in response to the status of the client device;
measuring, by the client device, a data rate of communicating over the Internet;
sending, by the client device to the first server, over the Internet via the first network, the measured data rate;
responsive to being the non-idle states, determining, if an idling condition is met, wherein the idling condition is met when the measured data rate is below a threshold;
responsive to the determination that the idling condition is met, shifting to the idle state;
responsive to being in the idle state, determining if an idling condition is met;
responsive to the determination that the idling condition is not met, shifting to the non-idle states;
when in the idle state, receiving, by the client device from the first or second server, over the Internet via the first network, the content identifier;
sending, by the client device to the web server, over the Internet via the first network, the content identifier, in response to the receiving of the content identifier;
receiving, from the web server, over the Internet via the first network, the content, in response to the sent content identifier; and
sending, to the first or second server, over the Internet via the first network, the received content.