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 content provider being a subscriber to a shared content delivery network (CDN) including a plurality of repeater servers, each of the repeater servers being configured to serve resources on behalf of subscribers to the CDN, said first request including at least a first name identifying said first content provider,(a1) serving said first resource to the first client from a first repeater server in the shared CDN, 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
(a2) when the first repeater server does not have the first resource, the first repeater uses at least a first table on the first repeater server and information included with the first request for the first resource to determine a first origin server associated with the first resource, said first repeater server requesting a copy of the first resource from the first origin server, 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, said second content provider being a subscriber to the shared CDN, and said second request including at least a second name distinct from said first name, said second name identifying said second content provider,(b1) serving said second resource 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; and
(b2) when the second repeater server does not have the second resource, the second repeater uses at least a second table on the second repeater server and information included with the second request for the second resource to determine a second origin server associated with the second resource, said second repeater server requesting a copy of the second resource from the second origin server.
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
45 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 content provider being a subscriber to a shared content delivery network (CDN) including a plurality of repeater servers, each of the repeater servers being configured to serve resources on behalf of subscribers to the CDN, said first request including at least a first name identifying said first content provider, (a1) serving said first resource to the first client from a first repeater server in the shared CDN, 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 (a2) when the first repeater server does not have the first resource, the first repeater uses at least a first table on the first repeater server and information included with the first request for the first resource to determine a first origin server associated with the first resource, said first repeater server requesting a copy of the first resource from the first origin server, 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, said second content provider being a subscriber to the shared CDN, and said second request including at least a second name distinct from said first name, said second name identifying said second content provider, (b1) serving said second resource 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; and (b2) when the second repeater server does not have the second resource, the second repeater uses at least a second table on the second repeater server and information included with the second request for the second resource to determine a second origin server associated with the second resource, said second repeater server requesting a copy of the second resource from the second origin server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method of processing resource requests in a computer network, the method comprising:
-
(A) providing a shared content delivery network including a plurality of repeater servers, wherein each of the plurality of repeater servers is configured to serve resources on behalf of a plurality of subscribers to the shared content delivery network; (B) 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 content provider being a subscriber to the shared content delivery network, at a first repeater server in the shared content delivery network, said first repeater server having been selected based at least in part on (i) load on said repeater servers in said shared content delivery network, and (ii) a location corresponding to said first client; (b1) if said first repeater server does not have said first resource, the first repeater uses at least a first table on the first repeater server and information included with the first request to determine a first origin server associated with the first resource, and said first repeater server obtaining a copy of said first resource from the first origin server; 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, said second content provider being a subscriber to the content delivery network, at a second repeater server in the shared content delivery network, said second repeater server having been selected based at least in part on (i) load on said repeater servers in said shared content delivery network, and (ii) a location corresponding to said second client; (c1) if said second repeater server does not have said second resource, the second repeater uses at least a second table on the second repeater server and information included with the second request to determine a second origin server associated with the second resource, and said second repeater server obtaining a copy of said second resource from said second origin server; and (c2) said second repeater server serving said second resource. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A method of processing resource requests in a computer network, the method comprising:
-
(A) providing a shared content delivery network including a plurality of repeater servers, wherein each of the repeater servers is configured to serve resources on behalf of a plurality of content providers that subscribe to the content delivery network; (B) 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 content provider being a subscriber to the content delivery network, at a first repeater server in the shared content delivery network, said first repeater server having been selected based at least in part on (i) load on said repeater servers in said shared content delivery network, and (ii) a network address corresponding to said first client; (b1) if said first repeater server does not have said first resource, the first repeater uses at least a first table on the first repeater server and information included with the first request to determine a first origin server associated with the first resource, and said first repeater server obtaining a copy of said first resource from the first origin server; 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, said second content provider being a subscriber to the content delivery network, at a second repeater server in the shared content delivery network, said second repeater server having been selected based at least in part on (i) load on said repeater servers in said shared content delivery network, and (ii) a network address corresponding to said second client; (c1) if said second repeater server does not have said second resource, the second repeater uses at least a second table on the second repeater server and information included with the second request to determine a second origin server associated with the second resource, and said second repeater server obtaining a copy of said second resource from the second origin server; and (c2) said second repeater server serving said second resource. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45)
-
Specification