IP Library Granted Patent US 12,143,460
Granted Patent B2
US 12,143,460 · App. 17/146,649 · Granted Nov 12, 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,143,460
App. No.
17/146,649
Granted
Nov 12, 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 (34)

1. A method for anonymously fetching over the Internet, by a first device identified in the Internet by a first identifier, a publicly-accessed first content identified in the Internet by a first content identifier and stored in a web server, using a first server that stores a group of IP addresses, each IP address in the group is in IPV4 or IPv6 form, the method comprising:

associating a physical geographical location that is a country, a state or province, or a city, with each of the IP addresses in the group using geolocation;

receiving, by the first server, the first content identifier from the first device;

selecting, by the first server, an IP address from the group using the respective associated physical geographical location, and according to a Time-Of-Day (TOD) or a day of the week, in response to the receiving of the first content identifier;

sending, by the first server, the first content identifier to the web server using the selected IP address as a source address so that the first server serves as an intermediate device so that the web server identifies the selected IP address as a requesting device so that the web server is prevented from being aware of the first device;

receiving, by the first server, the first content in response to the sending of the first content identifier; and

sending, by the first server, the received first content to the first device,

wherein the first content consists of, or comprises, a part of, or a whole of, a publicly-accessed web-site page,

wherein the first content identifier consists of, or comprises, a Universal Resource Locator (URL), and

wherein the physical geographical location associated with each of the devices uses, or is responsive to, the actual physical geographical location of a device.

2. The method according to claim 1 , for use with a group of devices, wherein each of the IP addresses in the group is an identifier of a respective device from the group of devices.

3. The method according to claim 2 , wherein the sending of the first content identifier comprises sending the first content identifier to the device from the group of devices that is identified by the selected IP address.

4. The method according to claim 2 , wherein the sending of the first content identifier comprises receiving the first content from the device from the group of devices that is identified by the selected IP address.

5. The method according to claim 2 , further comprising communicating with each one of the devices from the group of devices.

6. The method according to claim 5 , further comprising storing the respective IP address of each of the devices from the group of devices in response to the communicating.

7. The method according to claim 5 , wherein the sending of the first content is performed by the device from the group of devices that is identified by the selected IP address.

8. The method according to claim 5 , further comprising establishing a connection with each of the devices of the group of devices in response the communicating, and wherein the communicating with each of the devices of the group of devices is over the established connection.

9. The method according to claim 8 , wherein each of the devices of the group is communicating using TCP, and wherein the connection is established by performing ‘Active OPEN’ or ‘Passive OPEN’.

10. The method according to claim 1 , wherein the sending of the first content identifier to the web server using the selected IP address comprises using the selected IP address as a source address.

11. The method according to claim 1 , wherein the selecting further comprises randomly selecting an IP address.

12. The method according to claim 11 , wherein the randomly selecting uses one or more random numbers generated by a random number generator that is based on executing an algorithm for generating pseudo-random numbers.

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

14. The method according to claim 1 , wherein the steps are sequentially executed.

15. The method according to claim 1 , further comprising sending, by the first server, at least part of, or all of, the IP addresses in the group to the first device.

16. The method according to claim 1 , for use with a database that associates IP addresses to physical geographical locations, wherein the physical geographical location of each of the devices of the group is based on using the database to associate the respective IP address to the physical geographical locations.

17. The method according to claim 16 , wherein the database is stored in the first server.

18. The method according to claim 16 , wherein the database is stored in a geolocation server accessible via the Internet, and the method further comprising sending each of the IP addresses in the group to the geolocation server, and in response receiving the corresponding physical geographical location.

19. The method according to claim 1 , wherein the selecting is based on past activities or is based on a timing of an event.

20. The method according to claim 1 , wherein the web server uses HyperText Transfer Protocol (HTTP) that responds to HTTP requests via the Internet.

21. The method according to claim 20 , wherein a communication with the web server is based on, or using, a HTTP persistent connection.

22. The method according to claim 1 , wherein a communication with the first device or with the first server, is based on, or according to, a TCP/IP protocol or connection.

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

24. The method according to claim 1 , wherein the first server is storing, operating, or using, a server operating system that consists or, comprises of, or based on, one out of Microsoft Windows Server®, Linux, or UNIX.

25. The method according to claim 24 , 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, aseUbuntuR, UNIX® variant Solaris™, AIX®, Mac™ OS X, FreeBSD®, OpenBSD, and NetBSD®.

Assignments (3)
CHANGE OF NAME Recorded Mar 31, 2021
From: LUMINATI NETWORKS LTD.
To: BRIGHT DATA LTD.
Reel/Frame 055779/0491 →
CHANGE OF NAME Recorded Mar 31, 2021
From: LUMINATI NETWORKS LTD.
To: BRIGHT DATA LTD.
Reel/Frame 055780/0600 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2021
From: VILENSKI, OFER; SHRIBMAN, DERRY
To: LUMINATI NETWORKS LTD.
Reel/Frame 054887/0284 →
Continuity (7)
Continuation 16292374 · Mar 5, 2019
Continuation 16140749 · Sep 25, 2018
Continuation 15663762 · Jul 30, 2017
Continuation 14930894 · Nov 3, 2015
Division 14468836 · Aug 26, 2014
Provisional Application 61870815 · Aug 28, 2013
Related Publication 20210136176A1 · May 6, 2021
Cited By (1)
US 12,375,380