IP Library Granted Patent US 12,088,684
Granted Patent B2
US 12,088,684 · App. 17/681,755 · Granted Sep 10, 2024

System and method for improving internet communication by using intermediate nodes

Inventors: Derry Shribman (Tel Aviv, IL); Ofer Vilenski (Moshav Hadar Am, IL)
Assignee: BRIGHT DATA LTD.
H04L67/60H04L43/0864H04L63/029H04L63/0407H04L65/612H04L67/02H04L67/06H04L67/141H04L67/567H04L67/59H04N21/4622H04W4/029
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,088,684
App. No.
17/681,755
Granted
Sep 10, 2024
Kind
B2
Abstract

A method for fetching a content from a web server to a client device is disclosed, using tunnel devices serving as intermediate devices. The client device accesses an acceleration server to receive a list of available tunnel devices. The requested content is partitioned into slices, and the client device sends a request for the slices to the available tunnel devices. The tunnel devices in turn fetch the slices from the data server, and send the slices to the client device, where the content is reconstructed from the received slices. A client device may also serve as a tunnel device, serving as an intermediate device to other client devices. Similarly, a tunnel device may also serve as a client device for fetching content from a data server. The selection of tunnel devices to be used by a client device may be in the acceleration server, in the client device, or in both. The partition into slices may be overlapping or non-overlapping, and the same slice (or the whole content) may be fetched via multiple tunnel devices.

Claims (26)

1. A computer-implemented method for use with a server device that stores a list of tunnel devices, wherein each of the tunnel devices is a respective client device, the method comprising:

running a first software on the server device that is connected to a network;

obtaining a tunnel device, according to operational settings, by a second software to use for a request for content;

establishing, by the second software, an encrypted connection to a target server through the tunnel device;

requesting and obtaining the content designated within the request, through the encrypted connection, by the second software;

providing, by the second software, performance information of the tunnel device to the first software;

determining, at the first software, a performance of the tunnel device; and

utilizing the tunnel device based on the determining.

2. The method of claim 1 , wherein the second software accumulates the performance information from a tunnel before providing the information to the first software.

3. The method of claim 1 , further comprising selecting the tunnel device based on performance determinations.

4. The method of claim 1 , wherein the first software periodically determines and configures the tunnel device performance according to the tunnel performance information submitted by the second software at any configured period of time.

5. The method of claim 1 , wherein the performance information collected include, but are not limited to: tunnel id, tunnel status, or tunnel response time.

6. The method of claim 1 , wherein tunnel lists are loaded into a database on disk, a flat file on disk, a database in memory, or other storage media.

7. A non-transitory computer readable medium computer medium for utilizing of a server device that stores a list of tunnel devices that are client devices and comprising instructions which, when executed by a computing device, causes the computing device to:

provide a second software with a tunnel device from the list;

accumulate performance information about the tunnel device provided by the second software after the tunnel device has been used to obtain content from a target, wherein the content is unreadable to a first software in the server device due to network transport layer or application layer encryption; and

determine and utilize a plurality of tunnel devices by evaluating tunnel performance information received from the second software.

8. The non-transitory computer-readable medium of claim 7 , wherein tunnel devices' performances are periodically determined and configured according to the tunnel device performance information submitted by the second software at any configured period of time.

9. The non-transitory computer-readable medium of claim 7 , wherein the performance information collected include, but are not limited to: tunnel id, tunnel device status, or tunnel device response time.

10. The non-transitory computer-readable medium of claim 7 , wherein tunnel lists are loaded into a database on disk, a flat file on disk, a database in memory, or other storage media.

11. A system comprising:

a first software operable to provide a plurality of tunnel devices that are client devices over a network; and

a second software operable to obtain a first tunnel of the plurality of proxies from the first software according to first software operational settings, to establish an encrypted connection with the target server through the first tunnel, to request content from a target server, to receive the content designated within the request through the encrypted connection, and to provide performance information of the first tunnel to the first software,

wherein the first software is operable to determine a performance of the first tunnel based on the performance information of the first tunnel, and to utilize of the tunnel device based on the performance determined.

12. The system of claim 11 , wherein tunnel devices' performances are determined based on their actual performance.

13. The system of claim 11 , wherein the first software periodically, at any configured period of time, determines and configures tunnels' performances according to the tunnel device performance information submitted by the second software.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2022
From: SHRIBMAN, DERRY; VILENSKI, OFER
To: LUMINATI NETWORKS LTD.
Reel/Frame 059109/0629 →
CHANGE OF NAME Recorded Feb 27, 2022
From: LUMINATI NETWORKS LTD.
To: BRIGHT DATA LTD.
Reel/Frame 059252/0322 →
Continuity (7)
Continuation 16567496 · Sep 11, 2019
Continuation 16292382 · Mar 5, 2019
Continuation 15663762 · Jul 30, 2017
Continuation 14930894 · Nov 3, 2015
Division 14468836 · Aug 26, 2014
Provisional Application 61870815 · Aug 28, 2013
Related Publication 20220247835A1 · Aug 4, 2022