US 12,250,089 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 Dec. 21, 2023, as Appl. No. 18/391,972.
Application 18/391,972 is a continuation of application No. 17/672,775, filed on Feb. 16, 2022, granted, now 11,876,612.
Application 17/672,775 is a continuation of application No. 16/938,985, filed on Jul. 26, 2020, granted, now 11,558,215, issued on Jan. 17, 2023.
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/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 2024/0129152 A1, Apr. 18, 2024
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)] 40 Claims
OG exemplary drawing
 
1. A method performed by a client device that is configured to be in multiple states that include first and second states according to a utilization level of a resource in the client device, the method comprising:
establishing, by the client device over the Internet, a connection with a first server;
sending, by the client device over the established connection to the first server, an Internet Protocol (IP) address that identifies the client device on the Internet;
sending, by the client device to the first server over the established connection, a physical geographical location that corresponds to an actual physical geographical location of the client device;
periodically metering, by the client device, the utilization level of the resource in the client device;
determining, by the client device, that the metered resource utilization level is under a threshold by comparing the metered resource utilization level to the threshold;
responsive to the determining that the utilization level is under the threshold, shifting to the first state or staying in the first state of the multiple states, by the client device;
responsive to the determining that the utilization level is above the threshold, shifting to the second state or staying in the second state of the multiple states, by the client device;
sending, by the client device to the first server over the established connection, a message indicative of the client device being in the first or second state;
receiving, by the client device from the first server over the established connection, a first request, for a first content, that comprises a first identifier of the first content in the Internet;
obtaining, by the client device, the first content, in response to the receiving of the first request;
sending, by the client device to the first server over the established connection, the obtained first content,
receiving, by the client device from the first server over the established connection, a second request, for a second content, that comprises a second identifier of the second content in the Internet;
obtaining, by the client device, the second content, in response to the receiving of the second request; and
sending, by the client device to the first server over the established connection, the obtained second content,
wherein the metering of the resource utilization level in the client device comprises metering a process or a thread by a processor, metering a utilization level of a processor, metering a utilization level of a memory, sensing an input from a user by an input device, sensing an output of a sensor, metering a communication activity, or sensing a battery level of a battery, and
wherein the client device comprises a mobile device.