IP Library Granted Patent US 11,044,342
Granted Patent B2
US 11,044,342 · App. 16/600,507 · Granted Jun 22, 2021

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,044,342
App. No.
16/600,507
Granted
Jun 22, 2021
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 (35)

1. A method for use with a web server that responds to Hypertext Transfer Protocol (HTTP) requests and stores a first content that is identified by a first Uniform Resource Locator (URL), the method by a first client device comprising:

executing, by the first client device, a web browser application or an email application;

establishing a Transmission Control Protocol (TCP) connection with a second server;

receiving, the first content from the web server over an Internet; and

sending the received first content, to the second server over the established TCP connection, in response to the receiving of the first URL.

2. The method according to claim 1 , wherein the first client device is identified by a Media Access Control (MAC) address or a hostname, and wherein the method further comprising sending, by the first client device, during, as part of, or in response to, a start-up or power-up of the first client device, a first message to the second server, and wherein the first messages comprises the first client IP address, the first client MAC address, or the first client hostname.

3. The method according to claim 2 , for use with a first application stored in the first client device and associated with a first version number, wherein the first message comprises the first version number.

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

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

6. The method according to claim 1 , for use with a third server that comprises a web server that is Hypertext Transfer Protocol (HTTP) server, the third server responds to HTTP requests and stores a second content identified by a second URL, the method by the first client device further comprising:

receiving the second URL;

sending, to the third server over the Internet in response to the receiving, the second URL; and

receiving the second content from the third server over the Internet in response to the sending.

7. The method according to claim 6 , further comprising executing, by the first client device, a web browser application or an email application.

8. The method according to claim 1 , further comprising periodically communicating over the TCP connection between the second server and the first client device.

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

10. The method according to claim 1 , further comprising determining, by the first client device, that the received first content, is valid.

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

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

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

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

13. The method according to claim 1 , for use with a software application that includes computer instructions that, when executed by a computer processor, cause the processor to perform the sending of the Hypertext Transfer Protocol (HTTP) request, the receiving and storing of the first content, the receiving of the first URL, and the sending of the part of, or the whole of, the stored first content, the method is further preceded by:

downloading, by the first client device from the Internet, the software application; and

installing, by the first client device, the downloaded software application.

14. The method according to claim 13 , wherein the software application is downloaded from the second server.

15. The method according to claim 1 , further comprising receiving, by the first client device from the second server over the established TCP connection, the first URL.

16. The method according to claim 1 , wherein the sending of the first URL to the web server over the Internet comprises sending a Hypertext Transfer Protocol (HTTP) request that comprises the first URL.

17. The method according to claim 1 , further comprising storing, by the first client device in response to the receiving from the web server, the first content.

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

19. The method according to claim 1 , wherein the first client device communicates over the Internet based on, or according to, one out of UDP, DNS, TCP, FTP, POP #, SMTP, or SQL standards.

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

21. The method according to claim 1 , further comprising sending, to the web server over the Internet, the first URL, and wherein the receiving of the first content from the web server is in response to the sending of the first URL.

22. The method according to claim 1 , further comprising storing, operating, or using, a client operating system.

23. The method according to claim 1 , wherein the steps are sequentially executed.

24. A non-transitory computer readable medium containing computer instructions that, when executed by a computer processor, cause the processor to perform the method according to claim 1 .

Assignments (3)
CHANGE OF NAME Recorded Mar 31, 2021
From: LUMINATI NETWORKS LTD.
To: BRIGHT DATA LTD.
Reel/Frame 055810/0518 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2019
From: WEB SPARK LTD.
To: LUMINATI NETWORKS LTD.
Reel/Frame 051183/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2019
From: VILENSKI, OFER; SHRIBMAN, DERRY
To: WEB SPARK LTD.
Reel/Frame 050715/0508 →
Continuity (6)
Continuation 16278107 · Feb 17, 2019
Continuation 15957945 · Apr 20, 2018
Continuation 14025109 · Sep 12, 2013
Division 12836059 · Jul 14, 2010
Provisional Application 61249624 · Oct 8, 2009
Related Publication 20200045144A1 · Feb 6, 2020
Cited By (2)
US 12,381,958 US 12,587,586