IP Library Granted Patent US 10,652,357
Granted Patent B2
US 10,652,357 · App. 16/140,749 · Granted May 12, 2020

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,652,357
App. No.
16/140,749
Granted
May 12, 2020
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 (41)

1. A method for fetching over the Internet a first content identified by a first content identifier, by a first device identified in the Internet by a first identifier, from a second server identified in the Internet by a third identifier and by using a first server, for use with a group of devices, each associated with a respective identifier for being identified in the Internet, the method comprising:

communicating, by the first server, with each of the devices of the group, wherein the communicating is initiated by each of the devices of the group and includes receiving the respective identifier of each of the devices of the group;

storing, by the first server, the respective identifier of each of the devices in response to the communicating;

receiving, by the first server, a first message that comprises the first content identifier from the first device and a first physical geographical location;

selecting, by the first server, a device from the group by selecting the respective stored identifier of the device in response to the receiving of the first message;

sending, by the first server, the first content identifier to the selected device;

receiving, by the first server, the first content from the second server via the selected device in response to the sending of the first content identifier; and

sending the first content to the first device in response to the receiving of the first content from the second server,

wherein each of the devices in the group is associated with a physical geographical location using geolocation that use a database that associates IP addresses of the devices to respective physical geographical locations,

wherein the selecting is based on, or uses, the physical geographical location of the selected device compared to the first physical geographical location,

wherein each of the devices comprises, or consists of, a smartphone,

wherein the communication by the first server, with each of the devices of the group, further comprises receiving, by from each of the devices of the group, the device availability for receiving messages the first server and responding to the received messages,

wherein the storing, by the first server, further comprises storing, by the first server, the respective availability of each of the devices,

wherein the selecting further comprises selecting based on the availability of the selected device, and

wherein the receiving, by the first server, the first content from the second server via the selected device uses a communication by the selected device as the source device, so that the second server is prevented from being aware of the first device.

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

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

4. The method according to claim 1 , wherein the sending of the first content is performed by the selected device.

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

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

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

8. The method according to claim 1 , wherein the communicating with each of the devices of the group comprises receiving the physical geographical location from each of the devices of the group.

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

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

11. The method according to claim 1 , 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.

12. The method according to claim 11 , wherein the database is stored in the first server.

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

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

15. The method according to claim 1 , wherein each of the identifiers is an IP address in IPv4 form, IP address in IPv6 form, or a URL, and wherein at least one of the servers is a web server using HyperText Transfer Protocol (HTTP) that responds to HTTP requests via the Internet.

16. The method according to claim 15 , wherein the communication with the first or second server is based on, or using, HTTP persistent connection.

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

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

19. The method according to claim 18 , 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’.

20. 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, or wherein the first content includes, consists of, or comprises, a part of, or a whole of, a web-site page.

21. The method according to claim 1 , wherein the first server or the second 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.

22. The method according to claim 21 , 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®.

23. The method according to claim 1 , wherein each of at least part of the devices in the group comprises a mobile device that stores, operates, or uses, a client operating system.

24. The method according to claim 23 , wherein each of the devices in the group comprises a mobile device that stores, operates, or uses, a client operating system.

25. The method according to claim 23 , wherein the client operating system consists or, comprises of, or is based on, one out of Microsoft Windows 7, Microsoft Windows XP, Microsoft Windows 8, Microsoft Windows 8.1, Linux, and Google Chrome OS.

26. The method according to claim 23 , wherein the client operating system is a mobile operating system.

27. The method according to claim 26 , wherein the mobile operating system is one out of Android version 2.2 (Froyo), Android version 2.3 (Gingerbread), Android version 4.0 (Ice Cream Sandwich), Android Version 4.2 (Jelly Bean), Android version 4.4 (KitKat), Apple iOS version 3, Apple iOS version 4, Apple iOS version 5, Apple iOS version 6, Apple iOS version 7, Microsoft Windows® Phone version 7, Microsoft Windows® Phone version 8, Microsoft Windows® Phone version 9, and Blackberry® operating system.

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 Sep 25, 2018
From: VILENSKI, OFER; SHRIBMAN, DERRY
To: LUMINATI NETWORKS LTD.
Reel/Frame 047143/0335 →
Continuity (5)
Continuation 15663762 · Jul 30, 2017
Continuation 14930894 · Nov 3, 2015
Division 14468836 · Aug 26, 2014
Provisional Application 61870815 · Aug 28, 2013
Related Publication 20190068750A1 · Feb 28, 2019
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