IP Library Granted Patent US 12,081,612
Granted Patent B2
US 12,081,612 · App. 18/209,193 · Granted Sep 3, 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/1023H04L67/1063H04L67/108H04L67/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 12,081,612
App. No.
18/209,193
Filed
Jun 13, 2023
Granted
Sep 3, 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 (32)

1. A method for use with a publicly-accessed Hypertext Transfer Protocol (HTTP) web server that responds to HTTP requests and stores a first web page that is identified by a first Uniform Resource Locator (URL), a second web page that is identified by a second URL, and a third web page that is identified by a third URL, the method comprising:

executing, by a first device, a web browser application;

identifying, by the first device, the first, second, and third URLs, as part of executing the web browser;

selecting, by the first device, a location from a group of geographical locations;

sending, by the first device over the Internet to a server device that is not a client device, the selected location, a first Hypertext Transfer Protocol (HTTP) request that includes the first URL, a second HTTP request that includes the second URL, and a third HTTP request that includes the third URL;

receiving, by the first device from a second device over the Internet, in response to the sending, the first, second, and third web pages; and

storing, by the first device, the received first, second, and third web pages.

2. The method according to claim 1 , further comprising fetching, by the second device, the first, second, and third web pages from the web server in response to the receiving of the sent URLs, and sending, by the second device to the first device over the Internet, the received first, second, and third web pages.

3. The method according to claim 2 , for use with a first, second, and third client devices, each identified by a distinct IP address and associated with a respective location, the method further comprising, for each one of the first, second, and third web pages, sending, by the second device, the first, second, and third URLs to the respective first, second, and third client devices.

4. The method according to claim 3 , for use with a group of client devices that includes the first, second, and third client devices, the method further comprising selecting the respective first, second, and third client devices from the group based on being associated with, or being located in, the selected location.

5. The method according to claim 4 , wherein the selecting is based on a response time.

6. The method according to claim 5 , wherein the selecting is based on being the quickest to respond to queries.

7. The method according to claim 4 , wherein the selecting is by the second device.

8. The method according to claim 4 , wherein the selecting is by the first device.

9. The method according to claim 4 , for use with a list of IP addresses of the client devices in the group, and wherein the selecting comprises selecting the IP addresses of the first, second, and third client devices from the list.

10. The method according to claim 3 , further comprising receiving, by the second device, the first, second, and third web pages from the respective first, second, and third client devices.

11. The method according to claim 10 , further comprising, by the second device or by the first device, forming a content by combining the received first, second, and third web pages.

12. The method according to claim 1 , wherein the first device is identified by an Internet Protocol (IP) address, Media Access Control (MAC) address, or a hostname, and wherein the method further comprising sending, by the first device, during, as part of, or in response to, a start-up of the first device, a message to the server device that respectively comprises the IP address, the MAC address, or the hostname.

13. The method according to claim 12 , for use with a first application stored in the first device and associated with a first version number, wherein the sending comprises sending the first version number.

14. The method according to claim 13 , for use with a second application that is a version of the first application and is stored in the server device and associated with a second version number, wherein the method further comprising receiving, by the first device from the server device, in response to the message, the second version number.

15. The method according to claim 1 , further comprising periodically communicating between the second device and the first device.

16. The method according to claim 15 , wherein the periodically communicating comprises exchanging ‘keep alive’ messages.

17. The method according to claim 1 , further configured for anonymously fetching the first, second, and third web pages from the web server.

18. The method according to claim 1 , further comprising sending a communication port number to the second device, wherein the communication with the second device is using the communication port number.

19. The method according to claim 1 , further comprising establishing, by the first device, a Transmission Control Protocol (TCP) connection with the second device using TCP/IP protocol.

20. The method according to claim 1 , wherein the first device comprises a wireless modem for Radio-Frequency (RF) communication, and wherein the sending and the receiving by the first device uses the RF communication.

21. The method according to claim 1 , wherein the first device communicates over the Internet based on, or according to, one out of UDP, DNS, FTP, POP3, SMTP, or SQL standards.

22. The method according to claim 1 , wherein the first, second, or third web page comprises audio data or video data.

23. The method according to claim 1 , wherein the first device comprises a client device.

24. The method according to claim 1 , further comprising determining that the received first, second, or third web page is valid, and wherein the determining is based on a received HTTP header that is according to, or based on, IETF RFC 2616.

25. The method according to claim 1 , wherein the first, second, or third web page comprises at least one HTML object.

26. The method according to claim 1 , wherein the identifying comprises intercepting, by a driver in the first device, the request for the first and second web pages by the application.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2023
From: VILENSKI, OFER; SHRIBMAN, DERRY
To: LUMINATI NETWORKS LTD.
Reel/Frame 063935/0691 →
CHANGE OF NAME Recorded Jun 13, 2023
From: LUMINATI NETWORKS LTD.
To: BRIGHT DATA LTD.
Reel/Frame 063988/0774 →
Continuity (12)
Continuation 17563497 · Dec 28, 2021
Continuation 17332220 · May 27, 2021
Continuation 17146701 · Jan 12, 2021
Continuation 17019268 · Sep 13, 2020
Continuation 16910863 · Jun 24, 2020
Continuation 16600504 · Oct 13, 2019
Continuation 16278105 · 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 20230328128A1 · Oct 12, 2023