IP Library Granted Patent US 11,729,297
Granted Patent B2
US 11,729,297 · App. 17/563,660 · Granted Aug 15, 2023

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/60H04L63/029H04L63/0407H04L65/612H04L67/02H04L67/06H04L67/567H04N21/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 11,729,297
App. No.
17/563,660
Granted
Aug 15, 2023
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 (82)

1. A method for using a first server for fetching over the Internet, by a first device, a first content that is identified by a first content identifier and stored in a web server and a second content identified by a second content identifier and stored in the web server, and for use with a group of multiple IP addresses, the method comprising:

storing the multiple IP addresses;

selecting an IP address from the group;

sending, by the first device to the first server over the Internet, the first content identifier;

receiving, by the first server over the Internet, following the sending of the first content identifier by the first device, the first content identifier;

sending, by the first server using the selected IP address to the web server over the Internet, following the receiving of the first content identifier by the first server, the first content identifier;

receiving, by the first server from the web server over the Internet, following the sending of the first content identifier by the first server, the first content;

sending, by the first server to the first device over the Internet, following the receiving of the first content by the first server, the first content;

receiving, by the first device, following the sending of the first content by the first server, the first content;

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

receiving, by the first server from the Internet, following the sending of the second content identifier by the first device, the second content identifier;

sending, by the first server using the selected IP address to the web server over the Internet, following the receiving of the second content identifier by the first server, the second content identifier;

receiving, by the first server from the web server over the Internet, following the sending of the second content identifier by the first server, the second content;

sending, by the first server to the first device over the Internet, following the receiving of the second content by the first server, the second content; and

receiving, by the first device from the Internet, following the sending of the second content by the first server, the second content,

wherein the first content is a public content that is available from the web server for any requesting client device over the Internet, and

wherein each of the first server and the web server comprises a HyperText Transfer Protocol (HTTP) server that responds to HTTP requests via the Internet.

2. The method according to claim 1 , wherein the storing and the selecting are performed by the first server.

3. The method according to claim 1 , wherein the storing and the selecting are performed by the first device.

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

5. The method according to claim 1 , for use with multiple client devices, wherein each one of the multiple client devices is addressed using a respective IP address from the group.

6. The method according to claim 5 , wherein the sending of the first content identifier to the web server comprises:

sending the first content identifier to a second device that is addressed in the Internet by the selected IP address;

sending, by the second device to the web server over the Internet, the first content identifier;

receiving, by the second device from the web server over the Internet, the first content; and

sending, by the second device to the first server over the Internet, the first content.

7. The method according to claim 5 , wherein each one of the multiple client devices is a portable device that stores, operates, or uses, a mobile operating system.

8. The method according to claim 5 , further comprising communicating, by each one of the multiple client devices, with the first server.

9. The method according to claim 8 , further comprising storing, by the first server, the IP address of each one of the multiple client devices as part of the group of multiple IP addresses.

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

11. The method according to claim 1 , wherein at least two steps are concurrently executed using multitasking or multiprocessing.

12. The method according to claim 1 , wherein the first device is a cellular telephone device that stores, operates, or uses, a mobile operating system that 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.

13. The method according to claim 1 , wherein the first device is a client device.

14. The method according to claim 1 , for use with a third content identified by a third content identifier and stored in the web server, the method further comprising:

selecting an additional IP address from the group;

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

receiving, by the first server, the third content identifier;

sending the third content identifier to the web server using the selected additional IP address;

receiving, by the first server, the third content from the web server;

sending, by the first server, the third content to the first device; and

receiving, by the first device, the third content.

15. The method according to claim 1 , for use with a third content identified by a third content identifier and stored in an additional web server, the method further comprising:

sending, by the first device to the first server over the Internet, the third content identifier;

receiving, by the first server from the Internet, the third content identifier;

sending, to the additional web server over the Internet using the selected IP address, the third content identifier;

receiving, by the first server from the additional web server over the Internet, the third content;

sending, by the first server to the first device over the Internet, the third content; and

receiving, by the first device from the Internet, the third content.

16. The method according to claim 1 , for use with a third content identified by a third content identifier and stored in an additional web server, the method further comprising:

selecting an additional IP address from the group;

sending, by the first device to the first server over the Internet, the third content identifier;

receiving, by the first server to the Internet, the third content identifier;

sending, to the additional web server using the selected additional IP address over the Internet, the third content identifier;

receiving, by the first server from the additional web server over the Internet, the third content;

sending, by the first server to the first device, the third content over the Internet; and

receiving, by the first device from the Internet, the third content.

17. The method according to claim 1 , further for fetching over the Internet, by a second device, a third content identified by a third content identifier and stored in the web server, the method further comprising:

sending, by the second device to the first server over the Internet, the third content identifier;

receiving, by the first server from the Internet, the third content identifier;

sending, to the web server using the selected IP address over the Internet, the third content identifier;

receiving, by the first server from the web server over the Internet, the third content;

sending, by the first server to the second device over the Internet, the third content; and

receiving, by the second device from the Internet, the third content.

18. The method according to claim 1 , further for fetching over the Internet, by a second device, a third content identified by a third content identifier and stored in the web server, the method further comprising:

selecting an additional IP address from the group;

sending, by the second device, the third content identifier to the first server;

receiving, by the first server, the third content identifier;

sending, to the web server using the selected additional IP address over the Internet, the third content identifier;

receiving, by the first server from the Internet, the third content from the web server;

sending, by the first server to the second device over the Internet, the third content; and

receiving, by the second device from the Internet, the third content.

19. The method according to claim 1 , wherein the selecting comprises randomly selecting.

20. The method according to claim 1 , wherein the selecting further comprises selecting based on attributes or characteristics of numeric values of the IP addresses.

21. The method according to claim 20 , wherein the selecting further comprises selecting based on physical geographical locations associated with the IP addresses, based on the values of the IP addresses, based on past activities, or based on a timing of an event.

22. The method according to claim 21 , wherein the selecting comprises selecting based on a physical geographical proximity to the web server.

23. The method according to claim 1 , wherein each of the IP addresses is in IPv4 or IPv6 form, and wherein the communication of the first device with the first server or the web server is based on, or using, HTTP persistent connection.

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

25. The method according to claim 24 , further comprising establishing a connection with the first device using TCP, and wherein the connection is established by performing ‘Active OPEN’ or ‘Passive OPEN’.

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

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

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

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

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: VILENSKI, OFER; SHRIBMAN, DERRY
To: LUMINATI NETWORKS LTD.
Reel/Frame 058492/0982 →
CHANGE OF NAME Recorded Dec 28, 2021
From: LUMINATI NETWORKS LTD.
To: BRIGHT DATA LTD.
Reel/Frame 058597/0705 →
CHANGE OF NAME Recorded Dec 28, 2021
From: LUMINATI NETWORKS LTD.
To: BRIGHT DATA LTD.
Reel/Frame 058597/0708 →
Continuity (7)
Continuation 16566929 · 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 20220124168A1 · Apr 21, 2022