IP Library Granted Patent US 11,233,880
Granted Patent B2
US 11,233,880 · App. 17/332,116 · Granted Jan 25, 2022

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/42H04L41/046H04L67/1002H04L67/108H04L67/1023H04L67/1063H04L67/22H04L67/2814H04L67/2819H04L67/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,233,880
App. No.
17/332,116
Granted
Jan 25, 2022
Kind
B2
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 (41)

1. A method by a first device that is identified over the Internet by a first Internet Protocol (IP) address, for use with a web server that is Hypertext Transfer Protocol (HTTP) or Hypertext Transfer Protocol Secure (HTTPS) server that respectively responds to HTTP or HTTPS requests and stores a first content identified by a first Uniform Resource Locator (URL) and a second content identified by a second URL, and for use with a second device identified in the Internet by a second IP address, the method by the first device comprising:

generating an HTTPS request that comprises the first URL and a geographical location;

sending, to the second device using the second IP address over the Internet, the generated HTTPS request;

receiving, over the Internet in response to the sending, from the second device via a first client device, part of, or whole of, the first content;

generating an additional HTTPS request that comprises the second URL and the geographical location;

sending, to the second device using the second IP address over the Internet, the generated additional HTTPS request; and

receiving, over the Internet in response to the sending, from the second device via the first client device, part of, or whole of, the second content,

wherein each of the first content and the second content comprises a web-page.

2. The method according to claim 1 , for use with a list of IP addresses of plurality of client devices that is stored in a second device, and wherein the sending comprises sending to the second device, and the method further comprising receiving, by the first device from the respective second server device the list of the IP addresses.

3. The method according to claim 2 , further comprising selecting, by the first device, the IP address of the first client device from the received list of IP addresses, and sending the first URL to the first client device.

4. The method according to claim 3 , 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.

5. The method according to claim 4 , 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 first message, a message that comprises the second version number.

6. The method according to claim 5 , wherein the method further comprising downloading over the Internet, by the first device from the second device, in response to the receiving, the second application from the second device, and installing the second application in the first device as a replacement for the first application.

7. The method according to claim 3 , 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 each of the first messages comprise the first IP address, the MAC address, or the hostname.

8. The method according to claim 1 , wherein the generating comprises identifying, the HTTPS request for the first content, and wherein the sending of the HTTPS request is in response to the identifying.

9. The method according to claim 8 , further comprising executing, by the first device, a web/Internet browser application or an email application.

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

11. The method according to claim 1 , further comprising determining, by the first device, that the received part of, or the whole of, the first content, is valid.

12. The method according to claim 11 , wherein the determining is based on a received HTTP header according to, or based on, Internet Engineering Task Force (IETF) Request for Comments (RFC) 2616.

13. The method according to claim 12 , further comprising:

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

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

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

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

16. The method according to claim 1 , for use with a plurality of client devices each identified by a distinct IP address and associated with a respective geographical location, the method further comprising selecting, by the first device, the first client device from the plurality of client devices, according to the sent geographical location.

17. The method according to claim 16 , wherein the first client device is selected based on a response time when communicating with the first device.

18. The method according to claim 16 , wherein the first client device is the quickest to respond to queries from the first device.

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

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

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

receiving, by the first device from a third device over the Internet, a request for the stored part of, or the stored whole of, the first content; and

sending, in response to the received request by the first device to the third device over the Internet, the stored part of, or the stored whole of, the first content.

22. The method according to claim 1 , wherein the first device stores a second content 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 content.

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 and associated with a respective geographical location, wherein the first client device is selected from the plurality of client devices according to the geographical location sent to the second device.

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

26. 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 is using the RF communication.

27. The method according to claim 1 , wherein the first content comprises distinct first and second parts, wherein the receiving comprises receiving, the first part over the Internet in response to the sending, from the first client device, and wherein the method further comprising receiving, by the first device over the Internet in response to the sending, from a second client device distinct from the first client device, the second part.

28. The method according to claim 1 , wherein the second device is a Transmission Control Protocol/Internet Protocol (TCP/IP) server and communicates over the Internet with the first device based on, or according to, using 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 device comprises a client device, and wherein the second device comprises a server device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2021
From: VILENSKI, OFER; SHRIBMAN, DERRY
To: LUMINATI NETWORKS LTD.
Reel/Frame 056374/0244 →
CHANGE OF NAME Recorded May 27, 2021
From: LUMINATI NETWORKS LTD.
To: BRIGHT DATA LTD.
Reel/Frame 056410/0062 →
Continuity (7)
Continuation 16600506 · Oct 13, 2019
Continuation 16396695 · 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 20210289053A1 · Sep 16, 2021
Cited By (1)
US 12,587,586