# US 11,310,341 B2 · System and method for improving internet communication by using intermediate nodes

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,310,341 B2
- Document ID: US11310341B2
- Status: Granted
- Kind: B2
- Application number: 17/241,113
- Filed: 2021-04-27
- Published: 2021-08-26
- Granted: 2022-04-19
- Earliest claimed: 2013-08-28
- Assignees: Bright Data Ltd.
- Applicants: Bright Data Ltd.
- Inventors: Derry Shribman; Ofer Vilenski
- Web page: https://patentgrep.com/patent/US11310341B2

## CPC

- H04L 67/60: Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources (admission control or resource allocation H04L47/70)
- G06Q 40/08: Insurance
- G06Q 50/16: Real estate
- H04L 43/0864: Round trip delays
- H04L 51/02: using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
- H04L 61/5007: Internet protocol [IP] addresses
- H04L 63/029: {Firewall traversal, e.g. tunnelling or, creating pinholes}
- H04L 63/0407: {wherein the identity of one or more communicating identities is hidden (cryptographic mechanisms or cryptographic arrangements for anonymous credentials or for identity based cryptographic systems H04L9/00)}
- H04L 65/612: for unicast
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- H04L 67/141: Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70)
- H04L 67/567: Integrating service provisioning from a plurality of service providers
- H04L 67/59: Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
- G05B 2219/2642: Domotique, domestic, home control, automation, smart house
- G08B 21/043: {detecting an emergency event, e.g. a fall}
- H04L 12/2803: {Home automation networks}
- H04L 67/52: specially adapted for the location of the user terminal
- H04L 2101/659: Internet protocol version 6 [IPv6] addresses
- H04N 21/4622: {Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet (web site content organization and management for information retrieval from the Internet G06F16/958; transmission by internet of broadcast information H04H60/82; stock exchange data over packet-switching network H04L12/1804; push services including data channel over packet-switching network H04L12/1859)}
- H04W 4/029: Location-based management or tracking services
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- G08B: SIGNALLING SYSTEMS, e.g. PERSONAL CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## 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

### Claim 1

A method for fetching a first content by a first device from a second server over the Internet via a first server, the first content identified in the Internet by a first URL, and for fetching a second content by the first device from the second server over the Internet via the first server, the second content identified in the Internet by a second URL, for use with a group of client devices each identified in the Internet using a respective Internet Protocol (IP) address and each is associated with a respective physical geographical location, the method by the first server comprising:
receiving the first URL over the Internet from the first device;
selecting, based on the physical geographical locations of the client devices, a client device from the group, in response to the receiving of the first URL;
receiving the first content over the Internet via the selected client device from the second server;
sending the first content over the Internet to the first device;
receiving the second URL over the Internet from the first device;
selecting, based on the physical geographical locations of the client devices, an additional client device from the group in response to the receiving of the second URL;
receiving the second content over the Internet via the selected additional client device from the second server; and
sending the second content over the Internet to the first device,
wherein each of the first and second content includes, consists of, or comprises, a part of, or whole of, a web-site page.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising sending the IP addresses of the client devices in the group to the first device.

### Claim 3 (depends on 1)

The method according to claim 1, further comprising sending the IP addresses of the selected client device to the first device.

### Claim 4 (depends on 1)

The method according to claim 1, further for anonymously fetching a third content by the first device from the second server over the Internet via the first server, the third identified in the Internet by a third URL, the method by the first server further comprising:
receiving the third URL over the Internet from the first device;
sending the third URL over the Internet to the selected client device;
receiving the third content over the Internet via the selected client device from the second server; and
sending the third content over the Internet to the first device.

### Claim 5 (depends on 1)

The method according to claim 1, further for anonymously fetching a third content by the first device from a third server over the Internet via the first server, the third content identified in the Internet by a third URL, the method by the first server further comprising:
receiving the third URL over the Internet from the first device;
sending the third URL over the Internet to the selected client device;
receiving the third content over the Internet via the selected client device from the third server; and
sending the third content over the Internet to the first device.

### Claim 6 (depends on 1)

The method according to claim 1, further for anonymously fetching a third content by the first device from a third server over the Internet via the first server, the third content identified in the Internet by a third URL, the method by the first server further comprising:
receiving the third URL over the Internet from the first device;
selecting an additional client device from the group in response to the receiving of the third URL;
sending the third URL over the Internet to the selected additional client device;
receiving the third content over the Internet via the selected additional client device from the third server; and
sending the third content over the Internet to the first device.

### Claim 7 (depends on 1)

The method according to claim 1, wherein the selecting comprises randomly selecting out of the devices in the group.

### Claim 8 (depends on 1)

The method according to claim 1, wherein the selecting comprises selecting based on attributes or characteristics of the devices in the group.

### Claim 9 (depends on 1)

The method according to claim 1, further for anonymously fetching of the first and second content by the first device, wherein the first device is identified in the Internet by a first Internet Protocol (IP) address.

### Claim 10 (depends on 1)

The method according to claim 1, wherein the physical geographical location associated with each of the client devices in the group is based on, uses, or responsive to, the actual physical geographical location of the respective client device of the group.

### Claim 11 (depends on 1)

The method according to claim 1, further comprising receiving, by the first server, the physical geographical location from each of the client devices of the group.

### Claim 12 (depends on 1)

The method according to claim 1, wherein the physical geographical location includes at least one out of a continent, a country, a state or province, a city, a street, a ZIP code, or longitude and latitude.

### Claim 13 (depends on 1)

The method according to claim 1, wherein the physical geographical location of each device is the group is based on a geolocation.

### Claim 14 (depends on 13)

The method according to claim 13, wherein the geolocation is based on W3C Geolocation API.

### Claim 15 (depends on 1)

The method according to claim 1, wherein the selecting comprises selecting based on a value of the IP addresses of the devices in the group.

### Claim 16 (depends on 1)

The method according to claim 1, wherein the selecting comprises selecting based on past activities of the devices in the group.

### Claim 17 (depends on 16)

The method according to claim 16, wherein the selecting comprises selecting based on timing of an event.

### Claim 18 (depends on 16)

The method according to claim 16, wherein the selecting comprises selecting based on timing of the last communication with the devices in the group.

### Claim 19 (depends on 1)

The method according to claim 1, wherein the first server is further storing, operating, or using, a server operating system.

### Claim 20 (depends on 19)

The method according to claim 19, wherein the server operating system consists or, comprises of, or based on, one out of Microsoft Windows Server®, Linux, or UNIX.

### Claim 21 (depends on 19)

The method according to claim 19, wherein the server operating system consists or, comprises of, or based on, one out of Microsoft Windows Server® 2003 R2, 2008, 2008 R2, 2012, or 2012 R2 variant, Linux™ or GNU/Linux based Debian GNU/Linux, Debian GNU/kFreeBSD, Debian GNU/Hurd, Fedora™, Gentoo™, Linspire™, Mandriva, Red Hat® Linux, SuSE, and Ubuntu®, UNIX® variant Solaris™, AIX®, Mac™ OS X, FreeBSD®, OpenBSD, and NetBSD®.

### Claim 22 (depends on 1)

The method according to claim 1, wherein the first content includes, consists of, or comprises, a part or whole of files, text, numbers, audio, voice, multimedia, video, images, music, or computer program.

### Claim 23 (depends on 1)

The method according to claim 1, further comprising:
receiving, by the first server, a message over the Internet from each of the client devices in the group; and
storing, by the first server, in response to the receiving of the messages, the IP addresses of each of the client devices in the group.

### Claim 24 (depends on 1)

The method according to claim 1, further comprising, by the first server:
sending the first URL over the Internet to the selected client device in response to the selecting of the client device; and
sending the second URL over the Internet to the selected additional client device in response to the selecting of the additional client device.
