IP Library Granted Patent US 12,021,916
Granted Patent B2
US 12,021,916 · App. 18/081,988 · Granted Jun 25, 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,021,916
App. No.
18/081,988
Granted
Jun 25, 2024
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 (48)

1. A method for fetching first and second contents by a client device that comprises a wireless modem for Radio-Frequency (RF) communication, the first content is identified by a first Uniform Resource Locator (URL), is stored in a first web server, and comprises a first web-page or a part thereof, and the second content is identified by a second URL, is stored in a second web server, and comprises a second web-page or a part thereof, for use with a first device addressed using a first Internet Protocol (IP) address, and a second device addressed by a second IP address, the method comprising:

executing, by the client device, a web browser application;

identifying, by the client device as part of the executing of the web browser, the first URL;

identifying, the first IP address of the first device, in response to the identifying of the first URL;

establishing, by the client device over the Internet using the RF communication, a first Transmission Control Protocol (TCP) connection with the first device using the first IP address, in response to the identifying of the first IP address;

receiving, by the client device from the first web server via the first device over the Internet, using the first TCP connection, the first content;

identifying, by the client device as part of the executing of the web browser, the second URL;

identifying, the second IP address of the first device, in response to the identifying of the second URL;

establishing, by the client device over the Internet using the RF communication, a second Transmission Control Protocol (TCP) connection with the second device using the second IP address, in response to the identifying of the second IP address; and

receiving, by the client device from the second web server via the second device over the Internet, using the second TCP connection, the second content,

wherein the client device comprises, or consists of, a consumer communication device.

2. The method according to claim 1 , further for use with a third server that is not a client device, wherein the identifying of the first URL comprises receiving, by the client device from the third server over the Internet, the first URL.

3. The method according to claim 2 , further comprising first notifying, by the client device to the third server over the Internet, in response to the receiving of the first content; and second notifying, by the client device to the third server, in response to the receiving of the second content.

4. The method according to claim 3 , for use with a group of IP addresses of devices that includes the first and second devices, wherein the identifying of the first IP address comprises selecting of the first IP address from the group, and wherein the identifying of the second IP address comprises selecting of the second IP address from the group.

5. The method according to claim 4 , wherein the selecting of the first or second IP address is based on a response time of respectively the first or second device.

6. The method according to claim 5 , wherein the selecting of the first or second IP address is based on being the quickest respective device to respond to queries.

7. The method according to claim 4 , wherein each of the IP addresses in the group is associated with a geographical location.

8. The method according to claim 7 , wherein the selecting of the first or second IP address is based on the geographical location of the respective first or second device.

9. The method according to claim 4 , wherein the selecting of the first or second IP address is based on former activity respectively with the first or second device.

10. The method according to claim 2 , wherein the receiving, by the client device from the first web server via the first device over the Internet, of the first content, comprises receiving by the client device from the third server over the Internet, the first content.

11. The method according to claim 10 , wherein the receiving, by the client device from the second web server via the second device over the Internet, of the second content, comprises receiving by the client device from the third server over the Internet, the second content.

12. The method according to claim 2 , wherein the identifying of the second URL comprises receiving, by the client device from the third server over the Internet, the second URL.

13. The method according to claim 2 , wherein the identifying, of the first IP address is performed by the third server.

14. The method according to claim 2 , wherein the identifying, of the second IP address is performed by the third server.

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

16. The method according to claim 15 , for use with a third server that is not a client device, the method further comprising periodically communicating between the third server and the client device.

17. The method according to claim 16 , further comprising by the client device, during, as part of, or in response to, a start-up of the client device, a message to the third server that respectively comprises the IP address, the MAC address, or the hostname.

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

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

20. The method according to claim 1 , wherein each of the first and second web servers is a publicly-accessed Hypertext Transfer Protocol (HTTP) server that responds to HTTP requests.

21. The method according to claim 20 , wherein each of the first and second web servers is a publicly-accessed Hypertext Transfer Protocol Secure (HTTPS) server that responds to HTTPS requests.

22. The method according to claim 1 , further comprising sending, by the client device, a first HTTP request that comprises the first URL over the first connection.

23. The method according to claim 22 , further comprising sending, by the client device, a second HTTP request that comprises the second URL over the second connection.

24. The method according to claim 22 , wherein the first or second HTTP request is based on HTTP ‘GET’ request.

25. The method according to claim 1 , further comprising executing, by the client device, an application.

26. The method according to claim 25 , wherein the application comprises an email application.

27. The method according to claim 1 , further comprising:

sending, by the client device to a third server over the Internet, a first request; and

sending, by the client device to the third server over the Internet, a second request,

wherein the identifying of the first IP address of the first device is in response to the received first request, and

wherein the identifying of the second IP address of the second device is in response to the received second request.

28. The method according to claim 1 , wherein the second web server comprises the first web server.

29. The method according to claim 1 , wherein each of the first and second content consists of, or comprises, a resource or an HTML object of the respective web-page.

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

31. The method according to claim 1 , further comprising storing, by the client device, the received first content and the received second content.

32. The method according to claim 1 , further comprising storing, by the client device to a third server that is not a client device over the Internet, a communication port number, and wherein the communication between the client device and the third server uses the communication port number.

33. The method according to claim 1 , further comprising determining, by the client device, that the received first content, or a part thereof, is valid, wherein the determining is based on a received HTTP header that is according to, or based on, IETF RFC 2616.

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

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2022
From: VILENSKI, OFER; SHRIBMAN, DERRY
To: LUMINATI NETWORKS LTD.
Reel/Frame 062105/0974 →
CHANGE OF NAME Recorded Dec 15, 2022
From: LUMINATI NETWORKS LTD.
To: BRIGHT DATA LTD.
Reel/Frame 062136/0706 →
Continuity (9)
Continuation 17194336 · Mar 8, 2021
Continuation 17098392 · Nov 15, 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 20230124615A1 · Apr 20, 2023