IP Library Granted Patent US 11,616,826
Granted Patent B2
US 11,616,826 · App. 17/332,001 · Granted Mar 28, 2023

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,616,826
App. No.
17/332,001
Granted
Mar 28, 2023
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 (42)

1. A method for use with a web server that stores a first content identified by a first content identifier, and for use with a first client device that is addressed over the Internet using first Internet Protocol (IP) address, for use with a list of IP addresses stored in the first server, the method by the first server comprising:

storing, operating, or using, a server operating system;

receiving, from the first client device, the first content identifier;

selecting, an IP address from the list according to a criterion;

sending, in response to the receiving of the first content identifier, using the selected IP address, the first content identifier;

receiving, in response to the sending of the first content identifier, the first content from the web server; and

sending the received first content, or a part thereof, to the first client device.

2. The method according to claim 1 , further for use with a second client device that is addressable in the Internet using the selected IP address.

3. The method according to claim 2 , wherein the sending of the first content identifier comprises sending to the second client device.

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

receiving, by the second client device from the first server, the first content identifier;

sending, by the second client device from the web server, the first content; and

sending, by the second client device to the first server, the received first content or a part thereof.

5. The method according to claim 2 , further comprising, by the first server:

communicating with the second client device; and

storing an IP address of the second client device in the list in response to the communicating.

6. The method according to claim 1 , for use with a second client device, the method further comprising:

sending, by the first server, a ‘keep alive’ message to the second client device; and

waiting, by the first server, for a response to the ‘keep alive’ message from the second client device.

7. The method according to claim 6 , further comprising:

receiving, by the first server, the response to the ‘keep alive’ message from the second client device; and

responsive to the receiving of the response, adding the IP address of the second client device to the list.

8. The method according to claim 6 , further comprising responsive to not receiving, by the first server, a response to the ‘keep alive’ message from the second client device, removing the IP address of the second client device from the list.

9. The method according to claim 6 , wherein the sending of the ‘keep alive’ message comprises periodically sending by the first server the ‘keep alive’ message to the second client device.

10. The method according to claim 1 , wherein the criterion is stored in the first server.

11. The method according to claim 10 , wherein the criterion is based on, or comprises, a numerical closeness to the web server IP address.

12. The method according to claim 10 , wherein the criterion is based on, or comprises, a geographical location of a client device addressed by the selected IP address, or a response time when communicating with the client device addressed by the selected IP address.

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

14. The method according to claim 13 , further comprising sending, by the first server to the first client device, the first software application.

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

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

17. The method according to claim 1 , wherein the first content comprises web-page, audio, or video content, and wherein the first content identifier comprises a Uniform Resource Locator (URL).

18. The method according to claim 1 , for use with a plurality of client devices that includes a second client device, each identified over the Internet using a respective IP address from the list, wherein the method further comprising:

selecting, by the first server, multiple client devices from the plurality of client devices by selecting the IP addresses of the multiple client devices from the list; and

sending, by the first server, the selected IP addresses in response to the selecting.

19. The method according to claim 1 , further comprising sending of the selected IP addresses to the first client device.

20. The method according to claim 1 , further comprising responsive to the receiving of the first content identifier from the first client device, adding IP address of the first client device to the list.

21. The method according to claim 1 , wherein the first client device is identified by a first Internet Protocol (IP) address, Media Access Control (MAC) address, or a hostname.

22. The method according to claim 1 , wherein the web server is a Hypertext Transfer Protocol (HTTP) server responding to HTTP requests.

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

24. 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 steps of the claim 1 .

25. 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 (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 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 20210289050A1 · Sep 16, 2021