IP Library Granted Patent US 10,277,711
Granted Patent B2
US 10,277,711 · App. 15/663,762 · Granted Apr 30, 2019

System and method for improving internet communication by using intermediate nodes

Inventors: Derry Shribman (Tel Aviv, IL); Ofer Vilenski (Moshav Hadar Am, IL)
Assignee: LUMINATI NETWORKS LTD.
H04L67/32H04L63/029H04L65/4084H04L67/02H04L67/06H04L67/2838H04N21/4622
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 10,277,711
App. No.
15/663,762
Granted
Apr 30, 2019
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 (48)

1. A method for anonymously 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 the first device is identified in the Internet by a first Internet Protocol (IP) address, and for anonymously 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 IP address, the method by the first server comprising:

receiving a message over the Internet from each of the client devices in the group;

storing, in response to the receiving of the messages, the IP addresses of each of the client devices in the group;

receiving the first URL over the Internet from the first device;

selecting a client device from the group in response to the receiving of the first URL;

sending the first URL over the Internet to the selected client device;

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 an additional client device from the group in response to the receiving of the second URL;

sending the second URL over the Internet to the selected additional client device;

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.

2. The method according to claim 1 , further comprising sending the stored IP addresses to the first device.

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

4. 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.

5. 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.

6. 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.

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

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

9. The method according to claim 1 , wherein the selecting comprises selecting based on the physical geographical location of the client devices in the group.

10. The method according to claim 9 , 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.

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

12. The method according to claim 9 , 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.

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

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

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

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

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

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

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

20. 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.

21. 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®.

22. 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.

23. The method according to claim 1 , wherein the first content includes, consists of, or comprises, a part or whole of a web-site page.

Assignments (5)
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 →
CHANGE OF NAME Recorded Nov 16, 2017
From: HOLA NETWORKS LTD.
To: LUMINATI (ISRAEL) LTD.
Reel/Frame 044476/0778 →
CHANGE OF NAME Recorded Nov 16, 2017
From: LUMINATI (ISRAEL) LTD.
To: LUMINATI NETWORKS LTD.
Reel/Frame 044476/0783 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2017
From: VILENSKI, OFER; SHRIBMAN, DERRY
To: HOLA NETWORKS LTD.
Reel/Frame 043137/0169 →
Continuity (4)
Continuation 14930894 · Nov 3, 2015
Division 14468836 · Aug 26, 2014
Provisional Application 61870815 · Aug 28, 2013
Related Publication 20180219970A1 · Aug 2, 2018
Cited By (57)
US 12,192,026 US 12,200,038 US 12,200,083 US 12,200,084 US 12,218,776 US 12,218,777 US 12,229,210 US 12,231,253 US 12,231,519 US 12,250,089 US 12,250,090 US 12,260,364 US 12,261,712 US 12,277,187 US 12,277,188 US 12,277,189 US 12,278,878 US 12,278,880 US 12,284,069 US 12,289,383 US 12,294,481 US 12,301,401 US 12,309,123 US 12,309,241 US 12,323,287 US 12,323,500 US 12,323,501 US 12,332,960 US 12,341,860 US 12,355,855 US 12,368,789 US 12,375,582 US 12,411,902 US 12,413,648 US 12,425,492 US 12,438,956 US 12,445,511 US 12,457,273 US 12,483,635 US 12,517,972 US 12,524,490 US 12,524,491 US 12,536,243 US 12,542,764 US 12,549,645 US 12,563,130 US 12,587,429 US 12,587,430 US 12,587,579 US 12,603,809 US 12,652,330 US 12,659,218 US 12,671,750 US 12,706,984 US 12,719,734 US 12,719,735 US 12,719,945