Methods and systems for peer-to-peer app-level performance enhancing protocol (PEP)
First Claim
1. A system for providing peer-to-peer network acceleration, the system comprising:
- a plurality of clients in communication together and in communication with at least one content server, wherein each of the plurality of clients is capable of functioning as a proxy server by receiving a peer-to-peer request for content that identifies an associated content server, and by communicating the peer-to-peer request for content to the associated content server;
wherein at least one of the plurality of clients generates a request for content from a content server and the request is part of a chatty communication with a plurality of round trips to complete a response to the request;
wherein the requesting client determines that at least one of the plurality of clients is in a position to retrieve the requested content on the content server at lower latency than the requesting client;
wherein the one of the plurality of clients functions as a proxy server for the requesting client by receiving the request for content from the content server, requesting the content from the content server, and communicating the content as received from the content server to the at least one of the plurality of clients that generates the request for content; and
wherein the requesting client is configured to receive, from the content server via the at least one of the plurality of clients functioning as a proxy server for the requesting client, the requested content.
5 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to methods, apparatus, and systems for providing peer-to-peer network acceleration. The system includes content servers and clients. Each of the clients is capable of functioning as a proxy server. A client generates a request for content, and the requesting client determines which of the content servers contains the requested content. The requesting client then determines that one of the clients is in a position to retrieve the requested content on the content server at lower latency than the requesting client. The client then functions as a proxy server for the requesting client, and the requesting client receives the requested content from the client acting as a proxy server.
-
Citations
20 Claims
-
1. A system for providing peer-to-peer network acceleration, the system comprising:
-
a plurality of clients in communication together and in communication with at least one content server, wherein each of the plurality of clients is capable of functioning as a proxy server by receiving a peer-to-peer request for content that identifies an associated content server, and by communicating the peer-to-peer request for content to the associated content server; wherein at least one of the plurality of clients generates a request for content from a content server and the request is part of a chatty communication with a plurality of round trips to complete a response to the request; wherein the requesting client determines that at least one of the plurality of clients is in a position to retrieve the requested content on the content server at lower latency than the requesting client; wherein the one of the plurality of clients functions as a proxy server for the requesting client by receiving the request for content from the content server, requesting the content from the content server, and communicating the content as received from the content server to the at least one of the plurality of clients that generates the request for content; and wherein the requesting client is configured to receive, from the content server via the at least one of the plurality of clients functioning as a proxy server for the requesting client, the requested content. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 18, 19, 20)
-
-
11. A method of providing peer-to-peer network acceleration, the method comprising:
-
generating, at a client system, a request for content from a content server, wherein the client system is one of a plurality of client systems and each of the plurality of client systems is capable of functioning as a proxy server by receiving a peer-to-peer request for content that identifies an associated content server, and by communicating the peer-to-peer request for content to the associated content server; determining that at least one of the plurality of clients is in a position to retrieve the requested content on the content server at lower latency than the requesting client; selecting at least one of the plurality of client systems to function as a proxy server for the requesting client; communicating the request for content to the selected at least one of the plurality of clients, wherein the request identifies the content server that is separate from the selected at least one of the plurality of clients and the request is part of a communication with a plurality of round trips between the content server and the selected at least one of the plurality of clients to complete a response to the request; and receiving, from the content server via the at least one of the plurality of clients functioning as a proxy server for the requesting client, the requested content. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A method of providing peer-to-peer network acceleration, the method comprising:
-
generating, at a first client system, a request for content from a content server, wherein; the first client system is one of a plurality of client systems; communication links between each of the plurality of client systems are high latency links; a first link from the first client system to the content server comprises a high latency link; the request is part of a chatty communication with a plurality of round trips to complete a response to the request; and each of the plurality of client systems is capable of requesting content on behalf of each of the other client systems; determining, in response to the request, that at least one of the plurality of clients is in a position to retrieve the content from the content server at lower latency than the first client; selecting a second client of the at least one of the plurality of client systems that is in a position to retrieve the content from the content server at lower latency than the first client to request the content from the content server; communicating the request from the first client to the second client; and receiving at the first client system, from the content server via the selected at least one of the plurality of clients, the content.
-
Specification