Scalable content delivery network request handling mechanism
First Claim
1. A system comprising:
- a content delivery network (CDN) server that has circuitry forming one or more processors and memory holding non-transitory computer-program instructions to be executed by the one or more processors to cause the CDN server to;
receive a first request for particular content from a client, the request including a host header associated with a given content provider;
in response to the first request, determine a configuration file stored at the CDN server to apply for handling the first request, the configuration file being associated with any of;
the given content provider and a service provider to the given content provider that is distinct from the content delivery network service provider, wherein the determination is based at least in part on a string in the host header;
identify, within the configuration file, a content control that indicates how to handle the first request from within a set of content controls stored at the CDN server in the configuration file, the content control comprising a function that relies on a variable;
determine that the content control has at least one dependency, wherein the dependency comprises a reference to particular control information that sets the value of the variable;
extract an identifier from the first request, the extracted identifier comprising any of (i) at least part of a URI, (ii) at least part of a hostname, and (iii) at least part of a request header field;
in response to the identification of the content control with the at least one dependency, send a second request that includes the extracted identifier to a remote host for the particular control information, so as to satisfy the dependency;
receive the particular control information from the remote host, the particular control information comprising a value for the variable;
satisfy the at least one dependency with the particular control information;
apply the content control to determine how to handle the first request, said application of the content control comprising using the value given by the particular control information for the variable, said application occurring prior to serving a response to the first request;
the remote host having circuitry forming one or more processors coupled to memory holding non-transitory computer-program instructions to be executed by the one or more processors to cause the remote host to;
receive the second request for the particular control information;
select the value from amongst a plurality of stored values for the variable, based at least in part on the extracted identifier sent with the second request; and
,send the value to the CDN server, in response to the second request.
1 Assignment
0 Petitions
Accused Products
Abstract
Described herein are improved systems, methods, and devices for delivering and managing metadata in a distributed computing platform such as a content delivery network (CDN) so as to configure content servers to handle client requests. The teachings hereof provide, among other things, scalable and configurable solutions for delivering and managing metadata, preferably by leveraging dynamically obtained control information. For example, in one embodiment, a given content server may store metadata, e.g., in a configuration file, that references dynamic, late-bound control information for use in satisfying dependencies. This dynamic control information can be requested by the CDN content server, typically from a remote host, when needed to parse and execute the metadata.
112 Citations
14 Claims
-
1. A system comprising:
a content delivery network (CDN) server that has circuitry forming one or more processors and memory holding non-transitory computer-program instructions to be executed by the one or more processors to cause the CDN server to; receive a first request for particular content from a client, the request including a host header associated with a given content provider; in response to the first request, determine a configuration file stored at the CDN server to apply for handling the first request, the configuration file being associated with any of;
the given content provider and a service provider to the given content provider that is distinct from the content delivery network service provider, wherein the determination is based at least in part on a string in the host header;identify, within the configuration file, a content control that indicates how to handle the first request from within a set of content controls stored at the CDN server in the configuration file, the content control comprising a function that relies on a variable; determine that the content control has at least one dependency, wherein the dependency comprises a reference to particular control information that sets the value of the variable; extract an identifier from the first request, the extracted identifier comprising any of (i) at least part of a URI, (ii) at least part of a hostname, and (iii) at least part of a request header field; in response to the identification of the content control with the at least one dependency, send a second request that includes the extracted identifier to a remote host for the particular control information, so as to satisfy the dependency; receive the particular control information from the remote host, the particular control information comprising a value for the variable; satisfy the at least one dependency with the particular control information; apply the content control to determine how to handle the first request, said application of the content control comprising using the value given by the particular control information for the variable, said application occurring prior to serving a response to the first request; the remote host having circuitry forming one or more processors coupled to memory holding non-transitory computer-program instructions to be executed by the one or more processors to cause the remote host to; receive the second request for the particular control information; select the value from amongst a plurality of stored values for the variable, based at least in part on the extracted identifier sent with the second request; and
,send the value to the CDN server, in response to the second request. - View Dependent Claims (2, 3, 4, 5, 11, 13)
-
6. A method implemented with a content delivery network (CDN) server, and a remote host, the method comprising:
-
A. with the CDN server, receiving a first request for particular content from a client, the request including a host header associated with a given content provider; in response to the first request, determining a configuration file stored at the CDN server to apply for handling the first request, the configuration file being associated with any of;
the given content provider and a service provider to the given content provider that is distinct from the content delivery network service provider, wherein said determining is based at least in part on a string in the host header;identifying, within the configuration file, a content control that indicates how to handle the first request from within a set of content controls stored at the CDN server in the configuration file, the content control comprising a function that relies on a variable; determining that the content control has at least one dependency; in response to the determination that the content control has the at least one dependency, wherein the dependency comprises a reference to particular control information that sets the value of the variable; extract an identifier from the first request, the extracted identifier comprising any of (i) at least part of a URI, (ii) at least part of a hostname, and (iii) at least part of a request header field; in response to the identification of the content control with the at least one dependency, send a second request that includes the extracted identifier to a remote host for the particular control information, so as to satisfy the dependency; receiving the particular control information from the remote host, the particular control information comprising a value for the variable; satisfying the at least one dependency with the particular control information; applying the content control to determine how to handle the first request, said application of the content control comprising using the value given by the particular control information for the variable, said application occurring prior to serving a response to the first request; B. with the remote host; receiving the second request for the particular control information; selecting the value policy from amongst a plurality of stored values for the variable, based at least in part on the extracted identifier sent with the second request; and
,sending the value to the CDN server, in response to the second request. - View Dependent Claims (7, 8, 9, 10, 12, 14)
-
Specification