Shared content delivery infrastructure with rendezvous based on load balancing and network conditions
First Claim
1. A method of processing requests for resources in a system in which a plurality of content providers provide multiple resources, the method comprising:
- (A) responsive to a first request from a first client for a first resource, said first resource being associated with a first content provider, said first request including at least a first hostname, (a1) when the first repeater server does not have the first resource, said first repeater server obtaining a copy of the first resource, and (a2) causing said first resource to be served to the first client from a first repeater server in a shared content delivery network (CDN) formed by a plurality of repeater servers, said first repeater server having been selected based at least in part on (i) load on said repeater servers in said CDN, and (ii) a location corresponding to said first client; and
(B) responsive to a second request from a second client for a second resource, said second resource being associated with a second content provider distinct from said first content provider, and said second request including at least a second hostname distinct from said first hostname, (b1) when the second repeater server does not have the second resource, said second repeater server obtaining a copy of the second resource, and (b2) causing said second resource to be served to the second client from a second repeater server in the shared CDN, said second repeater server having been selected based at least in part on (i) load on said repeater servers in said CDN, and (ii) a location corresponding to said second client.
9 Assignments
0 Petitions
Accused Products
Abstract
A method of processing requests for resources in a system in which a plurality of content providers provide multiple resources. Content providers offload the serving of some of their resources to a shared content delivery network (CDN) formed by a plurality of servers. The CDN is shared among the content providers. Some of a content provider'"'"'s content may be served from an origin server associated with that content provider, while requests for other content from that content provider are served from the shared CDN. Requests for content are directed to servers in the CDN based on load conditions on the CDN servers and network conditions.
-
Citations
25 Claims
-
1. A method of processing requests for resources in a system in which a plurality of content providers provide multiple resources, the method comprising:
-
(A) responsive to a first request from a first client for a first resource, said first resource being associated with a first content provider, said first request including at least a first hostname, (a1) when the first repeater server does not have the first resource, said first repeater server obtaining a copy of the first resource, and (a2) causing said first resource to be served to the first client from a first repeater server in a shared content delivery network (CDN) formed by a plurality of repeater servers, said first repeater server having been selected based at least in part on (i) load on said repeater servers in said CDN, and (ii) a location corresponding to said first client; and
(B) responsive to a second request from a second client for a second resource, said second resource being associated with a second content provider distinct from said first content provider, and said second request including at least a second hostname distinct from said first hostname, (b1) when the second repeater server does not have the second resource, said second repeater server obtaining a copy of the second resource, and (b2) causing said second resource to be served to the second client from a second repeater server in the shared CDN, said second repeater server having been selected based at least in part on (i) load on said repeater servers in said CDN, and (ii) a location corresponding to said second client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of processing requests for resources in the Internet, wherein multiple content providers provide multiple resources to multiple clients, the method comprising:
-
providing a shared content delivery network (CDN), said CDN being formed by a plurality of repeater servers, wherein at least some of said repeater servers are constructed and adapted to respond to client requests for resources from a plurality of content providers, and wherein a first resource, requested by a first client, said first resource being associated with a first content provider, is served to said first client from a first server in said shared CDN instead of from said first content provider, said first repeater server having been selected based at least in part on (i) load on said repeater servers in said CDN, and (ii) a location corresponding to said first client; and
wherein a second resource, requested by a second client, said second resource being associated with a second content provider distinct from said first content provider, is served from a second server in said shared CDN instead of from said second content provider, said second repeater server having been selected based at least in part on (i) load on said repeater servers in said CDN, and (ii) a location corresponding to said second client. - View Dependent Claims (15)
-
-
16. A method of processing resource requests in a computer network, the method comprising:
-
(A) providing a shared network of repeater servers;
(B) responsive to a first request from a first client for a first resource, said first resource being associated with a first content provider, at a first repeater server in the shared network of repeater servers, said first repeater server having been selected based at least in part on (i) load on said repeater servers in said shared network of repeater servers, and (ii) a location corresponding to said first client;
(b1) if said first repeater server does not have said first resource, said first repeater server obtaining a copy of said first resource; and
(b2) said first repeater server serving said first resource; and
(C) responsive to a second request from a second client, the second request being for a second resource distinct from said first resource, and said second resource being associated with a second content provider distinct from said first content provider, at a second repeater server in the shared network of repeater servers, said second repeater server having been selected based at least in part on (i) load on said repeater servers in said shared network of repeater servers, and (ii) a location corresponding to said second client;
(c1) if said second repeater server does not have said second resource, said second repeater server obtaining a copy of said second resource; and
(c2) said second repeater server serving said second resource. - View Dependent Claims (17, 18, 20, 21, 22, 23, 24)
-
-
19. A method as in claim 19 wherein said first repeater server attempts to obtain a copy of said first resource from a peer server or from a first origin server associated with said first content provider, and said second repeater server attempts to obtain a copy of said second resource from a peer server or from a second origin server associated with said second content provider.
-
25. A method of processing resource requests in a computer network, the method comprising:
-
(A) providing a shared network of repeater servers;
(B) responsive to a first request from a first client for a first resource, said first resource being associated with a first content provider, at a first repeater server in the shared network of repeater servers, said first repeater server having been selected based at least in part on (i) load on said repeater servers in said shared network of repeater servers, and (ii) a first group of network addresses containing an address corresponding to said first client;
(b1) if said first repeater server does not have said first resource, said first repeater server obtaining a copy of said first resource; and
(b2) said first repeater server serving said first resource; and
(C) responsive to a second request from a second client, the second request being for a second resource distinct from said first resource, and said second resource being associated with a second content provider distinct from said first content provider, at a second repeater server in the shared network of repeater servers, said second repeater server having been selected based at least in part on (i) load on said repeater servers in said shared network of repeater servers, and (ii) a second group of network addresses containing an address corresponding to said second client;
(c1) if said second repeater server does not have said second resource, said second repeater server obtaining a copy of said second resource; and
(c2) said second repeater server serving said second resource.
-
Specification