IP Library Patent Application 18775241
Patent Application
App. No. 18/775,241

System and Method for Improving Internet Communication by Using Intermediate Nodes

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 None
App. No.
18/775,241
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 (57)

1 . A method for use with first second, and third devices, each of the devices is identified in the Internet using a respective distinct IP address that is in IPV4 or IPV6 form, and for use with a web server that stores a publicly-accessed web-site that includes a first content that is identified by a first Uniform Resource Locator (URL) and that comprises a first web-page or a part thereof, a second content that is identified by a second URL and that comprises a second web-page or a part thereof, and a third content that is identified by a third URL and that comprises a third web-page or a part thereof, the method comprising:

receiving, by the first device from a fourth device over the Internet, the first URL;

sending, by the first device to the web server over the Internet, a first Hypertext Transfer Protocol (HTTP) request that comprises the received first URL, using the address of the first device as a source address, so that the web server is aware to the first device as a requesting device;

receiving, by the first device from the web server over the Internet, in response to the sending of the first HTTP request, the first content;

sending, by the first device to the fourth device over the Internet, in response to the receiving of the first content, the received first content;

receiving, by the second device from the fourth device over the Internet, the second URL;

sending, by the second device to the web server over the Internet, a second HTTP request that comprises the received second URL, using the address of the second device as a source address, so that the web server is aware to the second device as a requesting device;

receiving, by the second device from the web server over the Internet, in response to the sending of the second HTTP request, the second content; and

sending, by the second device to the fourth device over the Internet, in response to the receiving of the second content, the received second content,

so that the fourth device is configurable to form a fourth content that comprises at least the first, second, and third contents,

wherein each of the first, second, and third devices comprises a respective cellular telephone device.

2 . The method according to claim 1 , further comprising:

receiving, by the fourth device from the first device over the Internet, the first content;

receiving, by the fourth device from the second device over the Internet, the second content;

receiving, by the fourth device from the third device over the Internet, the third content; and

forming, by the fourth device, the fourth content that comprises the first, second, and third contents.

3 . The method according to claim 1 , wherein each of the first, second, and third contents comprises, or consists of, a respective object.

4 . The method according to claim 3 , wherein the fourth device is configurable to form a fourth content that comprises at least the first, second, and third objects.

5 . The method according to claim 3 , wherein each of the objects is a respective Hypertext Markup Language (HTML) object.

6 . The method according to claim 3 , wherein each of the objects comprises, or consists of, a respective HTTP addressed object.

7 . The method according to claim 1 , wherein a communication with each one of the first, second, and third devices, is based on, or using, a HTTP persistent connection.

8 . The method according to claim 1 , for use with a group of devices that includes that first, second, and third devices, the method further comprising selecting the first device, selecting the second device, and selecting the third device, wherein the receiving, by the first device of the first URL is in response to the selecting of the first device, wherein the receiving, by the second device of the second URL is in response to the selecting of the second device, and wherein the receiving, by the third device of the third URL is in response to the selecting of the third device.

9 . The method according to claim 8 , wherein the selecting of the first, second or third device, comprises selecting based on a physical geographical proximity to the web server.

10 . The method according to claim 8 , wherein the selecting of the first, second or third device, comprises selecting based on past activities or on a timing of an event.

11 . The method according to claim 8 , wherein the selecting of the first, second or third device, comprises randomly selecting the respective device from the group.

12 . The method according to claim 8 , wherein the selecting of the first, second or third device, comprises selecting based on an attribute or a characteristic of the selected device.

13 . The method according to claim 8 , wherein the selecting of the first, second or third device, comprises selecting based on a physical geographical location of the selected device.

14 . The method according to claim 13 , wherein the physical geographical location consists of, or comprises, a country, a region, a city, a street, a ZIP code, or a timezone.

15 . The method according to claim 13 , wherein the geographical location is based on a geolocation.

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

17 . The method according to claim 13 , for use with a database that associates IP addresses to geographical locations, wherein the geographical location is based on using the respective selected device IP address in the database.

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

19 . The method according to claim 1 , wherein the first, second, or third content includes, consists of, or comprises, a part or whole of a computer file, audio data, voice data, multimedia data, video data, a computer program, or any combination thereof.

20 . The method according to claim 1 , wherein the forming comprises composing of a web-site by all of the received contents.

21 . The method according to claim 1 , wherein the first, second, or third device stores or operates a mobile operating system.

22 . The method according to claim 21 , wherein the mobile operating system comprises 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, or Blackberry® operating system.

23 . The method according to claim 1 , further comprising executing an application, and wherein the sending of the first, second, or third HTTP request is performed as part of the executing of the application.

24 . The method according to claim 23 , wherein the application consists of, or comprises, a web browser.

25 . The method according to claim 24 , wherein the web browser consists of, comprises of, or is based on, Microsoft Internet Explorer, Google Chrome, Opera™, Mozilla Firefox®, Safari, Opera Mini™, or Android web browser.

26 . The method according to claim 28 , further comprising periodically sending, by the first, second, or third device, a message that comprises a status of the respective device, or is in response to the status of the respective device.

27 . The method according to claim 26 , wherein the message comprises, or is based on, an ‘heartbeat’ message, and wherein a time period between two or more sent messages is at least 10 milliseconds, 20 milliseconds, 30 milliseconds, 50 milliseconds, 100 milliseconds, 1 second, 2 seconds, 3 seconds, 5 seconds, 10 seconds, 20 seconds, 30 seconds, 50 seconds, or 100 seconds, 1 minute, 2 minutes, 3 minutes, minutes 5, or 10 minutes.

28 . The method according to claim 1 , wherein a communication over the Internet by the first, second, or third device, is based on, or is according to, a TCP/IP protocol or connection.

29 . The method according to claim 1 , wherein the first, second, or third HTTP request comprises a HTTP Secure (HTTPS) request.

30 . The method according to claim 1 , for use with a resource associated with a criterion in the first, second, or third device, and wherein the respective devices is associated with first and second states according to a utilization of the resource.

31 . The method according to claim 30 , further comprising, periodically or continuously determining, by the respective device, whether the resource utilization satisfies the criterion.

32 . The method according to claim 31 , further comprising, responsive to the determining that the utilization of the resource satisfies the criterion, shifting, by the respective device, to the first state or staying in the first state; and responsive to the determining that the utilization of the resource does not satisfy the criterion, shifting, by the respective device, to the second state or staying in the second state.

33 . The method according to claim 32 , further comprising, performing a task, by the respective device, upon receiving a request, when in the first state.

34 . The method according to claim 32 , further comprising periodically or continuously sending, by the respective device, the resource utilization.

35 . The method according to claim 34 , wherein the determining is performed in response to a receiving of the resource utilization.

36 . The method according to claim 30 , for use with a set threshold value, and wherein the criterion is satisfied when the resource utilization is above or below the threshold.

37 . The method according to claim 30 , wherein the resource comprises, or consists of, a hardware component in a client device.

38 . The method according to claim 37 , wherein the hardware component comprises, or consists of, a processor or Central Processing Unit (CPU) operation in the client device.

39 . The method according to claim 38 , wherein the resource utilization is based on, or comprises, the processor or CPU time of executing one or more threads or processes, wherein the resource utilization is based on, or comprises, the processor or CPU idling time, or wherein the resource utilization is based on, or comprises, the processor or CPU executing a system idle process.

40 . The method according to claim 37 , wherein the hardware component comprises, or consists of, a memory in the client device, and wherein the resource utilization is based on, or comprises, an amount of used or unused location or space of the memory.

41 . The method according to claim 30 , wherein the resource comprises, or consists of, an input or output capability.

42 . The method according to claim 41 , wherein the resource comprises, or consists of, a communication bandwidth of a communication with another device over the Internet.

43 . The method according to claim 42 , wherein the resource comprises, or consists of, the communication bandwidth over the Internet, or wherein the resource utilization is based on, or according to, IETF RFC 2914.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2025
From: VILENSKI, OFER; SHRIBMAN, DERRY
To: LUMINATI NETWORKS LTD.
Reel/Frame 073283/0959 →
CHANGE OF NAME Recorded Dec 22, 2025
From: LUMINATI NETWORKS LTD
To: BRIGHT DATA LTD
Reel/Frame 074019/0936 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2024
From: VILENSKI, OFER; SHRIBMAN, DERRY
To: LUMINATI NETWORKS LTD.
Reel/Frame 068109/0199 →
CHANGE OF NAME Recorded Jul 29, 2024
From: LUMINATI NETWORKS LTD.
To: BRIGHT DATA LTD.
Reel/Frame 068178/0410 →