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 content servers;
a plurality of clients in communication together and in communication with the plurality of content servers, wherein each of the plurality of clients is capable of functioning as a proxy server;
wherein at least one of the plurality of clients generates a request for content;
wherein the requesting client determines which of the plurality of content servers contains the requested content;
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; 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.
18 Citations
20 Claims
-
1. A system for providing peer-to-peer network acceleration, the system comprising:
-
a plurality of content servers; a plurality of clients in communication together and in communication with the plurality of content servers, wherein each of the plurality of clients is capable of functioning as a proxy server; wherein at least one of the plurality of clients generates a request for content; wherein the requesting client determines which of the plurality of content servers contains the requested content; 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; 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)
-
-
11. A method of providing peer-to-peer network acceleration, the method comprising:
-
generating, at a client system, a request for content, 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; determining which of a plurality of content servers contains the requested content; 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; 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 system for implementing distributed byte caching, the method comprising:
-
a requesting client configured to generate a request for content; a peer client coupled with the requesting client, wherein the peer client stores at least a portion of the requested content, wherein the portion of the requested content is a sequence of bytes included within the requested content; a proxy client server coupled with the peer client, wherein the proxy server client is a client functioning as a proxy server, and wherein the proxy client server is configured to generate a token representing the sequence of bytes within the requested content; a content server coupled with the proxy client server configured to transmit portions of the requested content not stored on the peer client; and wherein the proxy client server is further configured to transmit the token to the requesting client, and the requesting client is further configured to utilize the token to retrieve the at least a portion of the requested content corresponding to the token from the peer client. - View Dependent Claims (18, 19)
-
-
20. A machine-readable medium having sets of instructions stored thereon which, when executed by a machine, cause the machine to:
-
generate, at a client system, a request for content, 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; determine which of a plurality of content servers contains the requested content; determine 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; select at least one of the plurality of client systems to function as a proxy server for the requesting client; and 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.
-
Specification