Delivering resources to clients in a distributed computing environment with rendezvous based on load balancing and network conditions
First Claim
1. A method for delivering resources to clients in a framework in which a plurality of repeater servers form a shared content delivery network (CDN) operable to serve resources to clients on behalf of a plurality of content providers, wherein a first resource is associated with a first content provider, and wherein said first resource references a second resource, the method comprising:
- (A) associating the second resource with a domain of said shared CDN; and
(B) responsive to a request that causes the first resource to be served to a client from content source distinct from said plurality of repeater servers, identifying a repeater server in the domain of said shared CDN to serve the second resource to the client, said repeater server having been selected based, at least in part, on a relative location corresponding to said client and at least some of the plurality of repeater servers; and
(C) responsive to the identified repeater server being requested to serve the second resource;
(c1) if a copy of the second resource is available on the identified repeater server, serving the copy of the second resource to the client from the identified repeater server;
otherwise,(c2) if a copy of the second resource is not available on the identified repeater server,(c21) replicating the second resource on the identified repeater server, and(c22) serving the replicated second resource to the client from the identified repeater server.
8 Assignments
0 Petitions
Accused Products
Abstract
A plurality of repeater servers form a shared content delivery network (CDN) to serve resources to clients on behalf of a plurality of content providers. First and second resources are associated with a first content provider, the first resource referencing the second resource. The second resource is associated with a domain of the shared CDN. Responsive to a request that causes the first resource to be served to a client from a server in a domain associated with the first content provider, a CDN server is identified in the domain associated with the shared CDN to serve the second resource to the client. The CDN server is selected based, at least in part, on load conditions on at least some of the CDN servers, and on the client'"'"'s location. Responsive to the CDN server being requested to serve the second resource: if a copy of the second resource is available on the CDN server, the copy is served to the client from the CDN server; otherwise, the second resource is replicated on the CDN server and then served to the client from the CDN server.
406 Citations
25 Claims
-
1. A method for delivering resources to clients in a framework in which a plurality of repeater servers form a shared content delivery network (CDN) operable to serve resources to clients on behalf of a plurality of content providers, wherein a first resource is associated with a first content provider, and wherein said first resource references a second resource, the method comprising:
-
(A) associating the second resource with a domain of said shared CDN; and (B) responsive to a request that causes the first resource to be served to a client from content source distinct from said plurality of repeater servers, identifying a repeater server in the domain of said shared CDN to serve the second resource to the client, said repeater server having been selected based, at least in part, on a relative location corresponding to said client and at least some of the plurality of repeater servers; and (C) responsive to the identified repeater server being requested to serve the second resource; (c1) if a copy of the second resource is available on the identified repeater server, serving the copy of the second resource to the client from the identified repeater server;
otherwise,(c2) if a copy of the second resource is not available on the identified repeater server, (c21) replicating the second resource on the identified repeater server, and (c22) serving the replicated second resource to the client from the identified repeater server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for delivering resources to clients from a shared network of servers on behalf of a plurality of resource providers, wherein at least a first resource maintained on a content source associated with one of said plurality of resource providers references a second resource, the method comprising:
-
responsive to a request to serve the first resource to a client from the content source, attempting to serve the second resource to the client from a particular resource server in said shared network of resource servers by; (a1) if a copy of the second resource is available on the particular resource server, serving the copy of the second resource to the client from the particular resource server;
otherwise,(a2) replicating the second resource on the particular resource server and then serving the replicated second resource to the client from the particular resource server, said particular resource server having been selected based, at least in part, on a relative location corresponding to said client and at least some of the resource servers. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method for delivering resources to clients in a distributed computing framework, said framework including a shared network formed by a plurality of repeater servers operable to serve resources to clients on behalf of the plurality of content providers, wherein at least a first resource associated with a first content provider of said plurality of content providers references a second resource, the method comprising:
-
(A) responsive to a request that causes the first resource to be served to a client from a content source distinct from said plurality of repeater servers, selecting a repeater server in the network from which to serve the second resource to the client, said selecting being based at least in part on a location corresponding to said client; and (B) responsive to the selected repeater server being requested to serve the second resource; (b1) if a copy of the second resource is available on the selected repeater server, serving the copy of the second resource to the client from the selected repeater server;
otherwise,(c2) replicating the second resource on the selected repeater server and then serving the replicated second resource to the client from the selected repeater server. - View Dependent Claims (22, 23, 24, 25)
-
Specification