# US 2018/0324282 A1 · System providing faster and more efficient data communication

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0324282 A1
- Document ID: US20180324282A1
- Status: Published application
- Kind: A1
- Application number: 16/031,636
- Filed: 2018-07-10
- Published: 2018-11-08
- Earliest claimed: 2009-10-08
- Assignees: Hola Newco Ltd.
- Applicants: Hola Newco Ltd.
- Inventors: Derry Shribman; Ofer Vilenski
- Web page: https://patentgrep.com/patent/US20180324282A1

## CPC

- H04L 41/046: comprising network management agents or mobile agents therefor
- H04L 67/01: Protocols
- H04L 67/1001: for accessing one among a plurality of replicated servers
- H04L 67/1023: based on a hash applied to IP addresses or costs
- H04L 67/1063: {Discovery through centralising entities}
- H04L 67/108: {characterised by resources being split in blocks or fragments}
- H04L 67/142: Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
- H04L 67/535: {Tracking the activity of the user (network monitoring arrangements H04L43/00; recording of computer activity G06F11/34)}
- H04L 67/563: Data redirection of data network streams
- H04L 67/564: Enhancement of application control based on intercepted application data
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 1

A method for use with a group of clients for data communication between a web server storing a content and a requesting client via one or more clients selected from the group, for use with a first server, and where the web server, the requesting client, the first server, and the clients in the group are communicatively coupled via the Internet and each is identified in the Internet using a distinct identifier, the method comprising the steps of:
(a) each of the clients in the group sending its identifier to the first server;
(b) the first server receiving and storing the identifiers of the clients in the group;
(c) the requesting client sending its identifier and the web server identifier to the first server;
(d) the first server selecting one of the clients from the group based on associating the identifiers of the clients with the web server identifier;
(e) the first server sending the identifier of the selected client to the requesting client;
(f) the selected client receiving the content from the web server; and
(g) the requesting client receiving the content from the selected client.

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 1)

The method according to claim 1, wherein the web server is Hypertext Transfer Protocol (HTTP) server and responds to HTTP requests from the selected client.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the first server is HTTP server and responds to HTTP requests from the requesting client or the.

### Claim 5 (depends on 1)

The method according to claim 1, wherein the web server is Transmission Control Protocol/Internet Protocol (TCP/IP) server and communicates based on, or according to, using TCP/IP protocol or connection.

### Claim 6 (depends on 1)

The method according to claim 1, wherein the first server is a TCP/IP server and communicates based on, or according to, using TCP/IP protocol or connection.

### Claim 7 (depends on 1)

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

### Claim 8 (depends on 1)

The method according to claim 1, wherein the first server selecting one of the clients is based on the web server IP address or URL.

### Claim 9 (depends on 1)

The method according to claim 1, wherein the first server selecting one of the clients is based on the selected client IP address.

### Claim 10 (depends on 1)

The method according to claim 1, wherein the selected client further storing the content received from the web server.

### Claim 11 (depends on 1)

The method according to claim 1, wherein the requesting client sending its identifier and the web server identifier to the first server as part of browser or email application execution.

### Claim 12 (depends on 1)

The method according to claim 1, further comprising the step of the requesting client sending its identifier to the first server, and the first server storing the requesting client identifier.

### Claim 13 (depends on 12)

The method according to claim 12, further for data communication between a second web server storing a second content and having an identifier in the Internet and a one of the clients via the requesting client, the method further comprising the steps of:
(h) one of the clients sending the second web server identifier to the first server;
(i) the first server sending the identifier of the requesting client to the one of the clients;
(j) the requesting client receiving the second content from the second web server; and
(k) the one of the clients receiving the second content from the requesting client.

### Claim 14 (depends on 1)

The method according to claim 1, wherein the communication with the web server or the requesting first server is based on, or according to, one out of UDP, DNS, TCP, FTP, POP#, SMTP, or SQL standards.

### Claim 15 (depends on 1)

The method according to claim 1, wherein the communication with the requesting client or the selected client is based on, or according to, one out of UDP, DNS, TCP, FTP, POP#, SMTP, or SQL standards.

### Claim 16 (depends on 1)

The method according to claim 1, wherein the web server identifier, the first server identifier, or the content identification is using a Uniform Resource Locator (URL).

### Claim 17 (depends on 1)

The method according to claim 1, wherein the web server identifier, the first server identifier, the requesting client identifier, or any of the client's identifier is using Internet Protocol (IP) address.

### Claim 18 (depends on 1)

The method according to claim 1, wherein in step (d) the first server selecting two or more of the clients based on associating the identifiers of the clients with the web server identifier; and in step (e) the first server sending the identifiers of the selected two or more clients to the requesting client.

### Claim 19 (depends on 18)

The method according to claim 18, further comprising the step of the requesting client selecting one of the clients as the selected client.

### Claim 20 (depends on 1)

The method according to claim 1, further comprising the steps of the requesting client sending a communication port number to the selected client, followed by communication between the requesting client and the selected client using the communication port number.

### Claim 21 (depends on 1)

The method according to claim 1, further comprising the step of the requesting client sending the web server identifier to the selected client.

### Claim 22 (depends on 21)

The method according to claim 21, further comprising the step of the selected client communicating with the web server.

### Claim 23 (depends on 1)

The method according to claim 1, wherein step (d) the first server selecting one of the clients based on the geographical location of the clients.

### Claim 24

A method for use with a group of clients for data communication between a web server storing a content and a requesting client via one or more clients selected from the group, for use with a first server, and where the web server, the requesting client, the first server, and the clients in the group are communicatively coupled via the Internet and each is identified in the Internet using a distinct identifier, the method comprising the steps of:
(a) each of the clients in the group sending its identifier to the first server;
(b) the first server receiving and storing the identifiers of the clients in the group;
(c) the requesting client sending its identifier and the web server identifier to the first server;
(d) selecting one of the clients from the group based on the geographical location of the clients;
(e) the first server sending the identifier of the selected client to the requesting client;
(f) the selected client receiving the content from the web server; and
(g) the requesting client receiving the content from the selected client.

### Claim 25 (depends on 24)

The method according to claim 24, wherein in step (d) the first server is selecting one of the clients.

### Claim 26 (depends on 24)

The method according to claim 24, wherein in step (d) the requesting client is selecting one of the clients.

### Claim 27 (depends on 24)

The method according to claim 24, further for data communication between a second web server storing a second content and having an identifier in the Internet and a one of the clients via the requesting client, the method further comprising the steps of:
(h) one of the clients sending the second web server identifier to the first server;
(i) the first server sending the identifier of the requesting client to the one of the clients;
(j) the requesting client receiving the second content from the second web server; and
(k) the one of the clients receiving the second content from the requesting client.

### Claim 28

A method for data communication between a requesting client and a web server storing a content via a second client, for use with a first server and a second client, and where the web server, the requesting client, the first server, and the second client are communicatively coupled via the Internet and each is identified in the Internet using a distinct identifier, the method comprising the steps of:
(a) sending its identifier and the web server identifier to the first server;
(b) receiving from the first server the identifier of the second client;
(c) sending the web server identifier to the second client; and
(d) receiving the content associated with the web server from the second client.

### Claim 29 (depends on 28)

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

### Claim 30 (depends on 28)

The method according to claim 28, wherein the first server is HTTP server and responds to HTTP requests.

### Claim 31 (depends on 28)

The method according to claim 28, wherein the first server is a TCP/IP server and communicates based on, or according to, using TCP/IP protocol or connection.

### Claim 32 (depends on 28)

The method according to claim 28, wherein the content includes web-page, audio, or video content.

### Claim 33 (depends on 28)

The method according to claim 28, wherein the steps are part of browser or email application execution.

### Claim 34 (depends on 28)

The method according to claim 28, further for data communication with a second web server storing a second content and having an identifier in the Internet and the second clients via the requesting client, the method further comprising the steps of:
(e) receiving the second content from the second web server; and
(f) sending the second content to the second client.

### Claim 35 (depends on 28)

The method according to claim 28, wherein the communication with the web server or the first server is based on, or according to, one out of UDP, DNS, TCP, FTP, POP#, SMTP, or SQL standards.

### Claim 36 (depends on 28)

The method according to claim 28, wherein the communication with the second client is based on, or according to, one out of UDP, DNS, TCP, FTP, POP#, SMTP, or SQL standards.

### Claim 37 (depends on 28)

The method according to claim 28, wherein the web server identifier, the first server identifier, or the content identification is using a Uniform Resource Locator (URL).

### Claim 38 (depends on 28)

The method according to claim 28, wherein the web server identifier, the first server identifier, the requesting client identifier, or the second client identifier is using Internet Protocol (IP) address.

### Claim 39 (depends on 28)

The method according to claim 28, wherein step (b) comprising the receiving from the first server the identifiers of two or more second clients, and further comprising the step of selecting one out of second clients based on associating the identifiers of the second clients with the web server identifier.

### Claim 40 (depends on 28)

The method according to claim 28, further comprising the steps of sending a communication port number to the second client, followed by communication with the second client using the communication port number.

### Claim 41 (depends on 28)

The method according to claim 28, further comprising the step of sending the web server identifier to the second client.
