IP Library Granted Patent US 11,876,853
Granted Patent B2
US 11,876,853 · App. 17/518,603 · Granted Jan 16, 2024

System providing faster and more efficient data communication

Inventors: Derry Shribman (Tel Aviv, IL); Ofer Vilenski (Moshav Hadar Am, IL)
Assignee: BRIGHT DATA LTD.
H04L67/01H04L41/046H04L67/1001H04L67/108H04L67/1023H04L67/1063H04L67/142H04L67/535H04L67/563H04L67/564H04L67/02
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,876,853
App. No.
17/518,603
Filed
Nov 4, 2021
Granted
Jan 16, 2024
Kind
B2
Art Unit
2459
USPC
709/202
Abstract

A system designed for increasing network communication speed for users, while lowering network congestion for content owners and ISPs. The system employs network elements including an acceleration server, clients, agents, and peers, where communication requests generated by applications are intercepted by the client on the same machine. The IP address of the server in the communication request is transmitted to the acceleration server, which provides a list of agents to use for this IP address. The communication request is sent to the agents. One or more of the agents respond with a list of peers that have previously seen some or all of the content which is the response to this request (after checking whether this data is still valid). The client then downloads the data from these peers in parts and in parallel, thereby speeding up the Web transfer, releasing congestion from the Web by fetching the information from multiple sources, and relieving traffic from Web servers by offloading the data transfers from them to nearby peers.

Claims (52)

1. A method for fetching, by a first client device, a first web-page that is identified by a first Uniform Resource Locator (URL) and comprises audio content, video content, or any combination thereof, and for fetching, by the first client device, a second web-page that is identified by a second URL and comprises audio content, video content, or any combination thereof, for use with a second device that stores a group of Internet Protocol (IP) addresses, each of the IP addresses is associated with a respective value, the method comprising:

executing, by the first client device, an application;

identifying, at the first client device, as part of, or in response to, the executing, the first URL and a first value that is associated with at least one of the IP addresses in the group;

sending, by the first client device to the second device, the first URL and the first value;

receiving, by the first client device from the second device, the first web-page, in response to the sending of the first URL and the first value;

identifying, at the first client device, as part of, or in response to, the executing, the second URL and a second value that is associated with at least one of the IP addresses in the group;

sending, by the first client device to the second device, the second URL and the second value; and

receiving, by the first client device from the second device, the second web-page, in response to the sending of the second URL and the second value.

2. The method according to claim 1 , further comprising selecting, by the second device, a first IP address from the group that is associated with the first value in response to the receiving of the first value; and selecting, by the second device, a second IP address from the group that is associated with the second value in response to the receiving of the second value.

3. The method according to claim 2 , for use with a third device addressed in the Internet using the first IP address, and for use with a fourth device addressed in the Internet using the second IP address, the method further comprising:

sending, by the second device, the first URL to the third device in response to the selecting of the first IP address; and

sending, by the second device, the second URL to the fourth device in response to the selecting of the second IP address.

4. The method according to claim 3 , further comprising:

receiving, by the third device from the second device, the first URL;

sending, by the third device to a first web server the first URL in response to the receiving of the first URL;

receiving, by the third device from the first web server the first web-page in response to the sending of the first URL;

sending, by the third device to the second device, the first web-page in response to the receiving of the first web-page;

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

sending, by the fourth device to a second web server the second URL in response to the receiving of the second URL;

receiving, by the fourth device from the second web server the second web-page in response to the sending of the second URL; and

sending, by the fourth device to the second device, the second web-page in response to the receiving of the second web-page.

5. The method according to claim 4 , further comprising:

sending, by the second device to the first client device, the first web-page in response to the receiving of the first web-page; and

sending, by the second device to the first client device, the second web-page in response to the receiving of the second web-page.

6. The method according to claim 2 , further comprising fetching, by the second device in response to the selecting of the first IP address, the first web-page from a first web server using the first IP address; and fetching, by the second device in response to the selecting of the second IP address, the second web-page from a distinct second web server using the second IP address.

7. The method according to claim 6 , wherein the fetching of the first web-page uses the first IP address as a source address, and wherein the fetching of the second web-page uses the second IP address as a source address.

8. The method according to claim 1 , for use with a plurality of devices, wherein each one of the devices out of the plurality of devices is addressable in the Internet using an IP address from the group.

9. The method according to claim 8 , further comprising communicating, by the second device, with each one of the devices out of the plurality of devices by using the respective IP address from the group.

10. The method according to claim 9 , wherein the communicating comprising:

sending, a ‘keep-alive’ message; and

waiting for a response to the ‘keep-alive’ message.

11. The method according to claim 10 , further comprising responsive to not receiving a response to the ‘keep alive’ message, removing the IP address of a non-responsive device from the group.

12. The method according to claim 10 , wherein the sending of the ‘keep alive’ message comprises periodically sending the ‘keep alive’ message.

13. The method according to claim 9 , further comprising receiving a ‘keep alive’ message, by the second device, from each one of the devices out of the plurality of devices.

14. The method according to claim 1 , wherein the first client device is addressed over the Internet using a first Internet Protocol (IP) address, and the method further comprising storing, in the second device, the first IP address.

15. The method according to claim 14 , further comprising responsive to the receiving of the first URL from the first client device, adding the IP address of the first client device to the group of IP addresses.

16. The method according to claim 1 , for use with distinct first and second web servers, wherein the first web-page is stored in the first web server, and wherein the second web-page is stored in the second web server.

17. The method according to claim 16 , further comprising causing the second device to fetch the first web-page from the first web server.

18. The method according to claim 1 , wherein the second device comprises a server device.

19. The method according to claim 18 , further comprising storing, operating, or using, by the second device, a server operating system.

20. The method according to claim 1 , further comprising fetching, by the second device, the first web-page in response to receiving the first URL from the first client device; and

fetching, by the second device, the second web-page in response to receiving the second URL from the first client device.

21. The method according to claim 20 , wherein the fetching of the first web-page uses the first value and the fetching of the second web-page uses the second value.

22. The method according to claim 1 , wherein each of the IP addresses in the group is associated with a respective device that is identified over the Internet using a respective IP address.

23. The method according to claim 1 , wherein each of the IP addresses in the group is associated with a respective client device that is identified over the Internet using the respective IP address and is currently online.

24. The method according to claim 1 , further comprising establishing, by the second device, a Transmission Control Protocol (TCP) connection with each of the devices that is addressed by an IP address from the group.

25. The method according to claim 1 , wherein the second device is a Transmission Control Protocol/Internet Protocol (TCP/IP) server that communicates over the Internet with the first client device using TCP/IP protocol or connection.

26. The method according to claim 1 , wherein the first client device and the second device communicate with each other over the Internet according to UDP, DNS, TCP, FTP, POP#, SMTP, or SQL standard.

27. The method according to claim 1 , wherein the first and second web pages are part of a web site that is stored in a single web server.

28. The method according to claim 1 , for use with a software application stored in the second device that is associated with a first version number, and wherein the method further comprising sending, by the second device to the first client device, a message that comprises the first version number of the software application; and sending, by the second device to the first client device, the software application.

29. The method according to claim 1 , wherein the first web page is stored in a web server that is a Hypertext Transfer Protocol (HTTP) server that responds to HTTP requests, and wherein the first and second values are the same value.

30. The method according to claim 1 , wherein each of the values comprises a geographical location.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2021
From: SHRIBMAN, DERRY; VILENSKI, OFER
To: LUMINATI NETWORKS LTD.
Reel/Frame 058038/0981 →
CHANGE OF NAME Recorded Nov 7, 2021
From: LUMINATI NETWORKS LTD.
To: BRIGHT DATA LTD.
Reel/Frame 058040/0800 →
Continuity (8)
Continuation 17332290 · May 27, 2021
Continuation 16600505 · Oct 13, 2019
Continuation 16278109 · Feb 17, 2019
Continuation 15957950 · Apr 20, 2018
Continuation 14025109 · Sep 12, 2013
Division 12836059 · Jul 14, 2010
Provisional Application 61249624 · Oct 8, 2009
Related Publication 20220078266A1 · Mar 10, 2022