IP Library Granted Patent US 10,931,792
Granted Patent B2
US 10,931,792 · App. 17/019,268 · Granted Feb 23, 2021

System providing faster and more efficient data communication

Inventors: Derry Shribman (Tel Aviv, IL); Ofer Vilenski (Moshav Hadar Am, IL)
Assignee: LUMINATI NETWORKS 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 10,931,792
App. No.
17/019,268
Granted
Feb 23, 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 (33)

1. A method for fetching a content by a requesting client device from a web server, the content comprises multiple parts where each part is identified by a distinct Uniform Resource Locator (URL), for use with a first server that is distinct from the web server, and for use with a plurality of client devices each identified by a distinct IP address and associated with the geographical location, the method by the requesting client device comprising:

identifying the multiple parts;

sending, to the first server over the Internet, the URLs of the multiple parts and a geographical location;

sending, for each one of the multiple parts by the first server, the respective URL of the part to a distinct client device from the plurality of client devices;

sending, by the first server, the content to the requesting client device in response to the receiving of the multiple parts; and

receiving, over the Internet in response to the sending and the geographical location, from the first server, the content,

wherein each of the multiple parts consists of, or comprises, a web-page or a portion thereof.

2. The method according to claim 1 , for use with a group of client devices that includes the plurality of client devices, the method further comprising selecting the plurality of client devices from the group based on being associated with, or being located in, the geographical location.

3. The method according to claim 2 , wherein the selecting is based on a response time.

4. The method according to claim 3 , wherein the selecting is based on being the quickest to respond to queries.

5. The method according to claim 2 , wherein the selecting is by the first server.

6. The method according to claim 2 , wherein the selecting is by the requesting client device.

7. The method according to claim 2 , for use with a list of IP addresses of the devices in the group, and wherein the selecting comprises selecting the IP addresses of the multiple devices from the list.

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

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

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

11. The method according to claim 1 , further comprising, for each one of the multiple parts, receiving, by the first server, the multiple parts from the plurality of client devices.

12. The method according to claim 11 , further comprising, by the first server, forming the content from the received multiple parts.

13. The method according to claim 1 , further comprising periodically communicating between the first server and the requesting client device.

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

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

16. The method according to claim 15 , wherein the application comprises a web/Internet browser application or an email application.

17. The method according to claim 15 , wherein the identifying comprises intercepting, by a driver in the requesting client device, the request for the content respectively from the application.

18. The method according to claim 1 , wherein the web server is a publicly-accessed Hypertext Transfer Protocol (HTTP) or Hypertext Transfer Protocol Secure (HTTPS) server that respectively responds to HTTP or HTTPS requests.

19. The method according to claim 1 , wherein the sending comprises sending of a HTTP or HTTPS requests for the multiple parts.

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

21. The method according to claim 1 , wherein the requesting client device comprises a wireless modem for Radio-Frequency (RF) communication, and wherein the sending and the receiving is using the RF communication.

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

23. The method according to claim 1 , wherein the content comprises a web-page, a web-site, audio data, or video data.

24. The method according to claim 1 , wherein the content is identified over the Internet using a distinct URL.

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

26. The method according to claim 1 , wherein each of the multiple parts consists of, or comprises, an HTML object of a web-page.

27. The method according to claim 1 , further comprising storing, by the requesting client device, the received content; and sending a communication port number to the first server, wherein the communication with the first server is using the communication port number.

Assignments (2)
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 Sep 13, 2020
From: VILENSKI, OFER; SHRIBMAN, DERRY
To: LUMINATI NETWORKS LTD.
Reel/Frame 053753/0870 →
Continuity (8)
Continuation 16910863 · Jun 24, 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 20200412840A1 · Dec 31, 2020