Transparent redirection of resource requests
First Claim
1. A method for processing resource requests in a computer network, the method comprising:
- providing a repeater server network comprising a plurality of repeater servers, wherein each of the plurality of repeater servers is operable to serve to clients resources that are deemed repeatable;
intercepting a client request issued by a client, wherein the client request is associated with a resource requested by the client;
analyzing the client request to determine whether the resource is repeatable, wherein said analyzing act comprises comparing information contained in the client request with regular expression patterns of repeatable resources;
if it is determined that the resource is repeatable, then causing the client to be provided with an identifier of at least one repeater server in the repeater server network, wherein if the resource is not determined to be repeatable, the client is served the resource by a server distinct from the plurality of repeater servers.
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.
474 Citations
43 Claims
-
1. A method for processing resource requests in a computer network, the method comprising:
-
providing a repeater server network comprising a plurality of repeater servers, wherein each of the plurality of repeater servers is operable to serve to clients resources that are deemed repeatable; intercepting a client request issued by a client, wherein the client request is associated with a resource requested by the client; analyzing the client request to determine whether the resource is repeatable, wherein said analyzing act comprises comparing information contained in the client request with regular expression patterns of repeatable resources; if it is determined that the resource is repeatable, then causing the client to be provided with an identifier of at least one repeater server in the repeater server network, wherein if the resource is not determined to be repeatable, the client is served the resource by a server distinct from the plurality of repeater servers. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for processing resource requests in a computer network, the method comprising:
-
providing a repeater server network comprising a plurality of repeater servers;
by a reflector;receiving a request from a client in response to the client requesting a resource; analyzing the request to determine whether to direct the client to a repeater server from which to retrieve the resource, wherein said analyzing act comprises comparing information contained in the request with regular expression patterns of repeatable resources; if the analyzing act determines to direct the request to a repeater server, then causing the client to be provided with an identifier of at least one repeater server in the repeater server network; if the analyzing act determines not to direct the request to a repeater server, then causing the client to retrieve the resource from another server distinct from the plurality of repeater servers; by the at least one repeater server; receiving a second request by the client to serve the resource; determining whether a copy of the resource is located on the at least one repeater server; and if the resource is not located on the at least one repeater server, then obtaining a copy of the resource from another server prior to serving the resource to the client. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system for processing resource requests in a computer network, the system comprising:
-
a repeater server network comprising a plurality of repeater servers, wherein each of the plurality of repeater servers comprises a processor; and a reflector operable to receive requests from clients in response to the clients requesting resources, to analyze each request to determine whether to direct a client to a repeater server from which to retrieve a resource, and if so, then to provide the client with an identifier of at least one repeater server in the repeater server network if the reflector determines to direct a request to a repeater server; a table accessible by the reflector and comprising information for use by the reflector in determining whether to direct a client to a repeater server from which to retrieve a resource, wherein the information contained in the table comprises regular expression patterns of repeatable resources. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A system for processing resource requests in a computer network, the system comprising:
-
at least one repeater server comprising a processor; and a reflector operable to receive requests from clients in response to the clients requesting resources, to analyze each request to determine whether to direct a client to the at least one repeater server from which to retrieve a resource, and if so, then to provide the client with an identifier of the at least one repeater server if the reflector determines to direct a request to a repeater server, an origin server co-located with the reflector, wherein the request is directed to the origin server if the reflector determines not to direct the client to a repeater server, wherein the reflector is operable to receive requests from clients by taking over at least the port number of the origin server; and a table accessible by the reflector and system information for use by the reflector in determining whether to direct a client to a repeater server from which to retrieve a resource, wherein the at least one repeater server is operable to receive an HTTP request by the client to serve the resource, and in response to the HTTP request, obtain a copy of the resource from another server prior to serving the resource to the client. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33)
-
-
34. A system for processing resource requests in a computer network, the system comprising:
-
a first server operable to store and serve resources to clients; at least one repeater server comprising a processor; and a reflector operable to intercept requests from clients directed to the first server, to analyze each request to determine whether to direct a client to the at least one repeater server from which to retrieve a resource associated with the request, and if so, then to provide the client with an identifier of at least one repeater server if the reflector determines to direct a request to the at least one repeater server, wherein the reflector is operable to receive requests from clients by taking over at least the port number of the first server. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41)
-
-
42. A system for processing resource requests in a computer network, the system comprising:
-
a repeater server network comprising a plurality of repeater servers, wherein each of the plurality of repeater servers comprises a processor; a reflector operable to receive requests from clients in response to the clients requesting resources, to analyze each request to determine whether to direct a client to a repeater server from which to retrieve a resource, and if so, then to provide the client with an identifier of at least one repeater server in the repeater server network if the reflector determines to direct a request to a repeater server; and an origin server co-located with the reflector, wherein the request is directed to the origin server if the reflector determines not to direct the client to a repeater server, wherein the reflector is operable to receive requests from clients by taking over at least the port number of the origin server; wherein the at least one repeater server is operable to receive an HTTP request by the client to serve the resource, and in response to the HTTP request, to obtain a copy of the resource from another server prior to serving the resource to the client. - View Dependent Claims (43)
-
Specification