Content delivery network (CDN) content server request handling mechanism with metadata framework support
First Claim
1. A method of content delivery operative in a content delivery network on behalf of participating content providers, the content delivery network managed by a content delivery network service provider and comprising a plurality of content servers and a domain name service (DNS), and wherein participating content providers identify given content to be delivered over the content delivery network, comprising:
- associating a content provider domain or subdomain with a domain managed by the content delivery network service provider so that DNS queries to the content provider domain or subdomain are resolved by the content delivery network domain name service;
for a given piece of content identified by a participating content provider, specifying a given content control to be applied to the given piece of content prior to serving the given piece of content from the content delivery network, wherein the given content control is one of;
(i) first data for specifying whether the given piece of content is to be cached at a content server in the content delivery network and, if so, for how long, (ii) second data identifying a domain of a server from which an instance of the given piece of content can be retrieved, (iii) third data for associating the given piece of content with a given participating content provider for accounting purposes, and (iv) fourth data that enforces a given authentication method or a given access control method;
communicating the given content control for the given piece of content to the plurality of content servers;
resolving a DNS query to the content provider domain or subdomain to an IP address associated with a given content server in the plurality of content servers, wherein the DNS query is resolved by the content delivery network domain name service using the domain managed by the content delivery network service provider in lieu of the content provider domain or subdomain; and
at the given content server of the plurality of content servers;
receiving a request for the given piece of content, wherein the request contains a host header;
determining whether a string in the host header is associated with a content control located within a set of content controls stored at the given content server; and
if a participating content provider has specified a content control for the given piece of content, as indicated by determining whether the string in the host header is associated with a content control located within a set of content controls stored at the given content server, applying the given content control prior to serving the given piece of content from the given content server.
5 Assignments
0 Petitions
Accused Products
Abstract
To serve content through a content delivery network (CDN), the CDN must have some information about the identity, characteristics and state of its target objects. Such additional information is provided in the form of object metadata, which according to the invention can be located in the request string itself, in the response headers from the origin server, in a metadata configuration file distributed to CDN servers, or in a per-customer metadata configuration file. CDN content servers execute a request identification and parsing process to locate object metadata and to handle the request in accordance therewith. Where different types of metadata exist for a particular object, metadata in a configuration file is overridden by metadata in a response header or request string, with metadata in the request string taking precedence.
1047 Citations
18 Claims
-
1. A method of content delivery operative in a content delivery network on behalf of participating content providers, the content delivery network managed by a content delivery network service provider and comprising a plurality of content servers and a domain name service (DNS), and wherein participating content providers identify given content to be delivered over the content delivery network, comprising:
-
associating a content provider domain or subdomain with a domain managed by the content delivery network service provider so that DNS queries to the content provider domain or subdomain are resolved by the content delivery network domain name service; for a given piece of content identified by a participating content provider, specifying a given content control to be applied to the given piece of content prior to serving the given piece of content from the content delivery network, wherein the given content control is one of;
(i) first data for specifying whether the given piece of content is to be cached at a content server in the content delivery network and, if so, for how long, (ii) second data identifying a domain of a server from which an instance of the given piece of content can be retrieved, (iii) third data for associating the given piece of content with a given participating content provider for accounting purposes, and (iv) fourth data that enforces a given authentication method or a given access control method;communicating the given content control for the given piece of content to the plurality of content servers; resolving a DNS query to the content provider domain or subdomain to an IP address associated with a given content server in the plurality of content servers, wherein the DNS query is resolved by the content delivery network domain name service using the domain managed by the content delivery network service provider in lieu of the content provider domain or subdomain; and at the given content server of the plurality of content servers; receiving a request for the given piece of content, wherein the request contains a host header; determining whether a string in the host header is associated with a content control located within a set of content controls stored at the given content server; and if a participating content provider has specified a content control for the given piece of content, as indicated by determining whether the string in the host header is associated with a content control located within a set of content controls stored at the given content server, applying the given content control prior to serving the given piece of content from the given content server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of content delivery operative in a content delivery network on behalf of participating content providers, the content delivery network managed by a content delivery network service provider and comprising a plurality of content servers and a domain name service (DNS), and wherein participating content providers identify given content to be delivered over the content delivery network, comprising
aliasing a content provider domain to a domain managed by the content delivery network service provider so that DNS queries to the content provider domain are resolved by the content delivery network domain name service, wherein the content provider domain is part of a URL identifying a given piece of content published by the participating content provider; -
for the given piece of content identified by a participating content provider, specifying a given content control to be applied to the given piece of content prior to serving the given piece of content from the content delivery network, wherein the given content control is one of;
(i) first data for specifying whether the given piece of content is to be cached at a content server in the content delivery network and, if so, for how long, (ii) second data identifying a domain of a server from which an instance of the given piece of content can be retrieved, (iii) third data for associating the given piece of content with a given participating content provider for accounting purposes, and (iv) fourth data that invokes a security mechanism;resolving a DNS query to the content provider domain to an IP address associated with a given content server in the plurality of content servers, wherein the DNS query is resolved by the content delivery network domain name service using the domain managed by the content delivery network service provider in lieu of the content provider domain; and at the given content server of the plurality of content servers; receiving a request for the given piece of content, wherein the request contains a host header; determining whether a string in the host header is associated with a content control located within a set of content controls stored at the given content server; and if a participating content provider has specified a content control for the given piece of content, as indicated by determining whether the string in the host header is associated with a content control located within a set of content controls stored at the given content server, applying the given content control prior to serving the given piece of content from the given content server. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A method of content delivery operative in a content delivery network on behalf of participating content providers, the content delivery network managed by a content delivery network service provider and comprising a plurality of content servers and a domain name service (DNS), and wherein a participating content provider identifies given content to be delivered over the content delivery network by aliasing a content provider domain to a domain managed by the content delivery network service provider so that DNS queries to the content provider domain are resolved by the content delivery network domain name service, comprising:
-
for a given piece of content identified by a participating content provider, specifying a given content control to be applied to the given piece of content prior to serving the given piece of content from the content delivery network, wherein the given content control is one of;
(i) first data for specifying whether the given piece of content is to be cached at a content server in the content delivery network and, if so, for how long, (ii) second data identifying a domain of a server from which an instance of the given piece of content can be retrieved, (iii) third data for associating the given piece of content with a given participating content provider for accounting purposes, and (iv) fourth data that enforces a given authentication method or a given access control method;communicating the given content control for the given piece of content to the plurality of content servers in the content delivery network; resolving a DNS query to the content provider domain to an IP address associated with a given content server in the plurality of content servers, wherein the DNS query is resolved by the content delivery network domain name service using the domain managed by the content delivery network service provider in lieu of the content provider domain; and at the given content server of the plurality of content servers; receiving a request for the given piece of content, wherein the request contains a host header; determining whether a string in the host header is associated with a content control located within a set of content controls stored at the given content server; and if a participating content provider has specified a content control for the given piece of content, as indicated by determining whether the string in the host header is associated with a content control located within a set of content controls stored at the given content server, applying the given content control prior to serving the given piece of content from the given content server; and serving the given piece of content from the given content server after the given content control has been applied. - View Dependent Claims (16, 17, 18)
-
Specification