Content distribution network
First Claim
1. A computer-implemented method comprising:
- receiving, at a control server, a request for a content item from a first client computing device;
selecting, by the control server, two or more cache servers from a set of cache servers to provide the requested content item to the first client computing device, the selection based at least on a proximity of the two or more cache servers to the first client computing device;
generating and transmitting, by the control server to the first client computing device, identifiers of the two or more cache servers and computer-executable code for causing the first client computing device to process the identifiers to send a request to the two or more cache servers, based at least in part on the identifiers, for an indication of whether the two or more cache servers are storing a local copy of the requested content item, wherein the computer-executable code also causes the first client computing device to rewrite a hyperlink in a Web page to identify the cache server from the two or more cache servers that provides an indication to the first client computing device that the cache server has a local copy of the requested content;
providing a first indication, to the first client computing device from a first cache server of the two or more cache servers, that the local copy is not stored at the first cache server;
providing a second indication, to the first client computing device from a second cache server of the two or more cache servers, that the local copy is stored at the second cache server;
receiving a request at the second cache server, from the first client computing device, for the local copy of the requested content item; and
transmitting the local copy of the requested content item from the second cache server to the first client computing device.
0 Assignments
0 Petitions
Accused Products
Abstract
Systems, methods, and computer-readable media provide content items to clients. In one implementation, a system stores data identifying a plurality of cache servers, the cache servers storing the content items for download by a plurality of clients. The system receives a request from a first one of the clients to download one of the content items. The system selects one or more of the cache servers for providing the requested content item to the first client. The system transmits identifiers of the selected one or more cache servers to the first client, and transmits instructions to the first client. The instructions are operable, when executed by the first client, to determine whether the selected one or more cache servers have a local copy of the requested content item. When the first client determines that a first one of the selected one or more cache servers has a local copy of the requested content item, the first client downloads the requested content item from the first selected cache server.
1540 Citations
17 Claims
-
1. A computer-implemented method comprising:
-
receiving, at a control server, a request for a content item from a first client computing device; selecting, by the control server, two or more cache servers from a set of cache servers to provide the requested content item to the first client computing device, the selection based at least on a proximity of the two or more cache servers to the first client computing device; generating and transmitting, by the control server to the first client computing device, identifiers of the two or more cache servers and computer-executable code for causing the first client computing device to process the identifiers to send a request to the two or more cache servers, based at least in part on the identifiers, for an indication of whether the two or more cache servers are storing a local copy of the requested content item, wherein the computer-executable code also causes the first client computing device to rewrite a hyperlink in a Web page to identify the cache server from the two or more cache servers that provides an indication to the first client computing device that the cache server has a local copy of the requested content; providing a first indication, to the first client computing device from a first cache server of the two or more cache servers, that the local copy is not stored at the first cache server; providing a second indication, to the first client computing device from a second cache server of the two or more cache servers, that the local copy is stored at the second cache server; receiving a request at the second cache server, from the first client computing device, for the local copy of the requested content item; and transmitting the local copy of the requested content item from the second cache server to the first client computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system comprising:
-
a plurality of processors for executing program instructions; and at least one computer-readable medium storing the program instructions, the program instructions, when executed by the plurality of processors, performing a process comprising; receiving a request for a content item from a first client computing device; selecting two or more cache servers from a set of cache servers to provide the requested content item to the first client computing device, the selection based at least on a proximity of the two or more cache servers to the first client computing device; generating and transmitting, to the first client computing device, identifiers of the two or more cache servers and computer-executable code for causing the first client computing device to process the identifiers to send a request to the two or more cache servers, based at least in part on the identifiers, for an indication of whether the two or more cache servers are storing a local copy of the requested content item, wherein the computer-executable code causes the first client computing device to rewrite a hyperlink in a Web page to identify the cache server from the two or more cache servers that provides an indication to the first client computing device that the cache server has a local copy of the requested content; providing a first indication, to the first client computing device from a first cache server of the two or more cache servers, that the local copy is not stored at the first cache server; providing a second indication, to the first client computing device from a second cache server of the two or more cache servers, that the local copy is stored at the second cache server; receiving a request at the second cache server, from the first client computing device, for the local copy of the requested content item; and transmitting the local copy of the requested content item from the second cache server to the first client computing device. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A non-transitory computer-readable medium storing program instructions for performing a method executed by a plurality of processors, the method comprising steps performed by the plurality of processors of:
-
receiving, at a control server, a request for a content item from a first client computing device; selecting, by the control server, two or more cache servers from a set of cache servers to provide the requested content item to the first client computing device, the selection based at least on a proximity of the two or more cache servers to the first client computing device; generating and transmitting, from the control server to the first client computing device, identifiers of the two or more cache servers and computer-executable code for causing the first client computing device to process the identifiers to send a request to the two or more cache servers, based at least in part on the identifiers, for an indication of whether the two or more cache servers are storing a local copy of the requested content item, wherein the computer-executable code causes the first client computing device to rewrite a hyperlink in a Web page to identify the cache server from the two or more cache servers that provides an indication to the first client computing device that the cache server has a local copy of the requested content; providing a first indication, to the first client computing device from a first cache server of the two or more cache servers, that the local copy is not stored at the first cache server; providing a second indication, to the first client computing device from a second cache server of the two or more cache servers, that the local copy is stored at the second cache server; receiving a request at the second cache server, from the first client computing device, for the local copy of the requested content item; and transmitting the local copy of the requested content item from the second cache server to the first client computing device.
-
Specification