Optimized network resource location
First Claim
1. A method for delivering resources in a distributed computing environment, wherein at least a first resource and a second resource are associated with a content provider, and wherein the first resource references the second resource via a first uniform resource locator (URL), the first URL identifying a first domain associated with the content provider, the method comprising:
- (A) responsive to a request that causes a first resource to be served to a client from an origin server associated with a first domain, modifying the first resource by replacing the first URL with a second URL comprising data prepended to at least a portion of the first URL, wherein at least a portion of the data is resolvable to identify at least one repeater server in a second domain associated with a content delivery network (CDN) formed by a plurality of repeater servers, wherein at least two of said repeater servers in the CDN are at distinct locations from each other, the origin server being distinct from the repeater servers, resolving the at least a portion of the data in the second URL and identifying at least one repeater server in the CDN from which to serve the second resource to the client, wherein the identified repeater server comprises at least one cache storage device distinct from the origin server; and
(B) responsive to the identified repeater server being requested to serve the second resource;
(b1) if a copy of the second resource is already replicated on the at least one cache storage device of the identified repeater server, then serving the copy of the second resource to the client from the at least one cache storage device by the identified repeater server;
otherwise,(b2) if a copy of the second resource is not available on the at least one cache storage device of the identified repeater server, replicating the second resource on the at least one cache storage device of the identified repeater server and then serving the copy of the second resource to the client from the at least one cache storage device by the identified repeater server.
8 Assignments
0 Petitions
Accused Products
Abstract
A method for delivering resources in a distributed computing environment, wherein at least a first resource and a second resource are associated with a content provider, and wherein the first resource references the second resource via a first uniform resource locator (URL), the first URL having a first domain name that resolves to a server associated with a domain of the content provider. The second resource is associated with a domain name that resolves to a content delivery network (CDN) formed by a plurality of repeater servers. The domain of the CDN may be distinct from the domain of the content provider. Responsive to a request that causes the first resource to be served to a client from an origin server associated with the content provider'"'"'s domain, the second domain name in the second URL is resolved to identify a repeater server in the CDN'"'"'s domain from which to serve the second resource to the client. If a copy of the second resource is already replicated on the identified repeater server, then the copy of the second resource is served to the client from the identified repeater server; otherwise, the second resource is replicated on the identified repeater server and the copy of the second resource is served to the client from the identified repeater server.
578 Citations
36 Claims
-
1. A method for delivering resources in a distributed computing environment, wherein at least a first resource and a second resource are associated with a content provider, and wherein the first resource references the second resource via a first uniform resource locator (URL), the first URL identifying a first domain associated with the content provider, the method comprising:
-
(A) responsive to a request that causes a first resource to be served to a client from an origin server associated with a first domain, modifying the first resource by replacing the first URL with a second URL comprising data prepended to at least a portion of the first URL, wherein at least a portion of the data is resolvable to identify at least one repeater server in a second domain associated with a content delivery network (CDN) formed by a plurality of repeater servers, wherein at least two of said repeater servers in the CDN are at distinct locations from each other, the origin server being distinct from the repeater servers, resolving the at least a portion of the data in the second URL and identifying at least one repeater server in the CDN from which to serve the second resource to the client, wherein the identified repeater server comprises at least one cache storage device distinct from the origin server; and (B) responsive to the identified repeater server being requested to serve the second resource; (b1) if a copy of the second resource is already replicated on the at least one cache storage device of the identified repeater server, then serving the copy of the second resource to the client from the at least one cache storage device by the identified repeater server;
otherwise,(b2) if a copy of the second resource is not available on the at least one cache storage device of the identified repeater server, replicating the second resource on the at least one cache storage device of the identified repeater server and then serving the copy of the second resource to the client from the at least one cache storage device by the identified repeater server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. An Internet content delivery method for delivering resources on behalf of content providers to clients via a shared content delivery network (CDN) formed by a plurality of repeater servers, wherein at least two of said repeater servers in said CDN are at distinct locations from each other, the resources including web pages and at least some of the web pages including references to other resources, and wherein a first web page located on an origin server associated with a first content provider includes at least a first reference to a first resource, the origin server being a server at which resources originate, the method comprising:
-
(A) providing the plurality of repeater servers, wherein the shared CDN comprises at least a first domain distinct from a second domain of the origin server, wherein client requests to the first domain resolve to at least one of the plurality of repeater servers; (B) responsive to a request that causes a first web page to be served to a client from an origin server associated with the first content provider, modifying the first web page by replacing the first reference with a second reference associated with the first domain and resolvable to identify at least one of the plurality of repeater servers as an appropriate repeater server to serve the first resource; (C) responsive to the appropriate repeater server in the shared CDN being requested to serve the first resource; (c1) if a copy of the first resource is not already replicated on at least one cache storage device of the appropriate repeater server, wherein the at least one cache storage device is distinct from the origin server, then (i) retrieving a copy of the first resource from the origin server and storing the retrieved copy on the at least one cache storage device; and
(ii) serving the retrieved copy of the first resource to the requesting client from the at least one cache storage device by the appropriate repeater server;
otherwise,(c2) if a copy of the first resource is already replicated on the at least one cache storage device of the appropriate repeater server, then serving the copy of the first resource to the requesting client from the at least one cache storage device by the appropriate repeater server, wherein the appropriate repeater server is a repeater server from the plurality of repeater servers that was selected based at least in part on some measure of network cost. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A method for delivering resources in a distributed computing environment on behalf of content providers to clients via a shared content delivery network (CDN) of servers, at least some of said servers in said CDN being at distinct locations from each other, wherein at least a first resource is associated with a first content provider, and wherein the first resource references a second resource via a uniform resource locator (URL) in said first resource, the URL including a first hostname, the method comprising:
-
(A) responsive to a request that causes the first resource to be served to a client from an origin server in a domain associated with the first content provider, wherein the domain associated with the first content provider is distinct from a domain of the shared CDN, providing at least a second hostname that is at least partially distinct from the first hostname, resolving at least the second hostname, and identifying a server in the domain of the shared CDN, wherein the identified CDN server comprises at least one cache storage device distinct from the origin server; and (B) responsive to the identified CDN server being requested to serve the second resource; (b2) if a copy of the second resource is already replicated on the at least one cache storage device of the identified CDN server, then serving the copy of the second resource to the client from the at least one cache storage device by the identified CDN server;
otherwise,(b2) if a copy of the second resource is not available on the at least one cache storage device of the identified CDN server, then (i) replicating the second resource on the at least one cache storage device of the identified CDN server, and (ii) serving the copy of the second resource to the client from the at least one cache storage device by the identified CDN server, wherein the replicating step (i) comprises;
obtaining a copy of the second resource from another server in the CDN. - View Dependent Claims (32, 33, 34, 35, 36)
-
Specification