IP Library Granted Patent US 11,888,921
Granted Patent B2
US 11,888,921 · App. 17/563,578 · Granted Jan 30, 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,888,921
App. No.
17/563,578
Filed
Dec 28, 2021
Granted
Jan 30, 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 (42)

1. A method for use with a first device that comprises a wireless modem for Radio-Frequency (RF) communication, for use with a first web server that is a Hypertext Transfer Protocol (HTTP) server that respectively responds to HTTP requests and stores a first web-page that is identified by a first Uniform Resource Locator (URL), and for use with a list of IP addresses that is stored in the first device, the method comprising:

executing, by the first device, an application;

identifying, by the first device as part of executing the application, a HTTP request that comprises the first URL;

selecting, by the first device, an IP address from the list;

sending, by the first device, to the Internet using the first IP address and using the RF communication by the wireless modem, in response to the identifying and the selecting, the HTTP request; and

receiving, by the first device from the Internet via the RF communication using the wireless modem, the first web page,

wherein each of the IP addresses in the list is associated with a geographical location, and

wherein the selecting is based on the geographical location.

2. The method according to claim 1 , further for use with a second device, wherein the sending comprises sending to the second device.

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

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

5. The method according to claim 2 , wherein the receiving comprises receiving from the second device.

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

7. The method according to claim 1 , wherein the selecting is further based on a response time when communicating with the first device.

8. The method according to claim 7 , wherein the selected IP address is associated with a first client device that is the quickest to respond to queries from the first device.

9. The method according to claim 8 , further comprising sending, by the first device, a notification message to a device from a plurality of client devices that was not selected as part of the selecting.

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

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

12. The method according to claim 11 , wherein the method further comprising downloading over the Internet, by the first device, in response to the receiving of the second version number, the second application, and installing the second application by the first device as a replacement for the first application.

13. The method according to claim 1 , further comprising determining, by the first device, that a part of, or the whole of, the received first web page, is valid.

14. The method according to claim 13 , wherein the determining is based on a received HTTP header according to, or based on, IETF RFC 2616.

15. The method according to claim 14 , further comprising:

sending, a message over the Internet in response to the determining that a part of, or the whole of, the received first web page, is not valid; and

receiving, over the Internet in response to the sending of the message, from a second client device selected from a plurality of client devices, the part of, or the whole of, the first web page.

16. The method according to claim 1 , wherein the method further comprising receiving by the first device from the Internet, the list.

17. The method according to claim 16 , wherein the method further comprising storing, by the first device, the received list.

18. The method according to claim 1 , wherein the application is a web/Internet browser application or an email application.

19. The method according to claim 18 , wherein the identifying comprises intercepting, by a driver in the first device, the request for the first web page respectively from the web browser application or the email application.

20. The method according to claim 1 , further comprising storing, by the first device, a part of, or the whole of, the received first web page.

21. The method according to claim 20 , further comprising:

receiving, by the first device from a second device over the Internet, a request for the part of, or the whole of, the first web page; and

sending, in response to the received request by the first device to the second device over the Internet, the part of, or the whole of, the stored first web page.

22. The method according to claim 1 , wherein the first device stores a second web page identified by a second URL, the method further comprising sending, over the Internet by the first device, a part of, or a whole of, the second web page.

23. The method according to claim 22 , wherein the sending is at least in part performed in parallel to the identifying, the sending, or the receiving by the first device.

24. The method according to claim 1 , for use with a plurality of client devices each identified by a distinct IP address in the list, wherein the selected IP address is associated with a first client device is selected from the plurality of client devices.

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

26. The method according to claim 1 , wherein the first web page comprises audio or video content.

27. The method according to claim 1 , wherein the first device is identified by a 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 first message to the second device, and wherein the first message comprises an IP address of the first device, the MAC address, or the hostname.

28. The method according to claim 1 , wherein the first device communicates using a TCP/IP protocol or connection.

29. 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, POP #, SMTP, or SQL standards.

30. The method according to claim 1 , wherein the first web server that is a Hypertext Transfer Protocol Secure (HTTP) server that respectively responds to HTTPS requests, and wherein the HTTP request is a HTTPS request.

31. The method according to claim 1 , wherein the first web page comprises distinct first and second parts, wherein the receiving comprises receiving, the first part over the Internet in response to the sending, and wherein the method further comprising receiving, by the first device over the Internet in response to the sending of the second part.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: VILENSKI, OFER; SHRIBMAN, DERRY
To: LUMINATI NETWORKS LTD.
Reel/Frame 058492/0804 →
CHANGE OF NAME Recorded Dec 28, 2021
From: LUMINATI NETWORKS LTD.
To: BRIGHT DATA LTD.
Reel/Frame 058597/0651 →
Continuity (8)
Continuation 17332171 · May 27, 2021
Continuation 16807661 · Mar 3, 2020
Continuation 16396696 · Apr 28, 2019
Continuation 15957942 · Apr 20, 2018
Continuation 14025109 · Sep 12, 2013
Division 12836059 · Jul 14, 2010
Provisional Application 61249624 · Oct 8, 2009
Related Publication 20220124175A1 · Apr 21, 2022