P
US9942363B2ActiveUtilityPatentIndex 92

Scalable content delivery network request handling mechanism to support a request processing layer

Assignee: AKAMAI TECH INCPriority: Dec 21, 2012Filed: Nov 2, 2016Granted: Apr 10, 2018
Est. expiryDec 21, 2032(~6.5 yrs left)· nominal 20-yr term from priority
Inventors:STEVENS MATTHEW JSHOTTON FREDERICK RCHEN TONG
H04L 41/0803H04L 63/08H04L 67/02H04L 41/509H04L 67/2814H04L 67/42H04L 67/322H04L 41/5051H04L 67/01H04L 67/61H04L 67/563
92
PatentIndex Score
14
Cited by
22
References
14
Claims

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.

Claims

exact text as granted — not AI-modified
The invention claimed is: 
     
       1. A system, comprising:
 a first server managed by a content delivery network (CDN) service provider and comprising 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 first server to:
 receive a first request from a client device over a network interface, the first request comprising an application programming interface (API) request; 
 in response to the first request, determine a configuration file stored at the first server to apply for handling the first request; 
 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 first server in the configuration file; 
 wherein the content control has a reference to an API endpoint content policy that controls, at least, client authorization; 
 extract an identifier from the first request received from the client, the extracted identifier comprising at least a portion of the first request; 
 in response to the identification of the content control with the reference to the API endpoint content policy, send a second request that includes the extracted identifier to a remote host for the API endpoint content policy; 
 receive the API endpoint content policy from the remote host in response to the second request, the API endpoint content policy calling a routine for authorizing any of the client device, client user, and client application; 
 apply the content control to the request at least by applying the API endpoint content policy and the routine to determine whether any of the client device, client user, and client application, is authorized to access a resource associated with the first request; 
 based at least in part on applying the content control and the API endpoint content policy and successfully authorizing any of the client device, client user, and client application for the access to the resource associated with the first request, send at least a portion of the first request to a second server, the second server being an API origin for the API; 
 
 the remote host comprising 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 from the first server, with the extracted identifier; 
 based at least in part on the extracted identifier, select the API endpoint content policy from amongst a plurality of API endpoint content policies stored at the remote host; 
 send the API endpoint content policy to the first server, in response to the second request; 
 
 wherein the first server is one of a plurality of distributed CDN servers, the first request is for a service accessible via the API, and the service enables any of: (i) interaction with a multi-tenant storage system operated by the CDN service provider on behalf of content providers, (ii) interaction with a multi-tenant computing system operated by the CDN service provider on behalf of content providers, and (iii) configuration by a CDN user of a CDN content delivery service, said configuration comprising configuration of CDN features and services for delivering any of a website and a web application on the CDN user's behalf over the CDN. 
 
     
     
       2. The system of  claim 1 , wherein the first request is directed to universal resource identifier (URI) that represents an API endpoint, the URI comprising any of a hostname and a path. 
     
     
       3. The system of  claim 1 , wherein the API endpoint content policy comprises any of a client identifier and data used for an authentication routine. 
     
     
       4. The system of  claim 1 , wherein the API endpoint content policy comprises logic for validating the first request. 
     
     
       5. The system of  claim 1 , wherein the first server is one of a plurality of distributed CDN servers, the first request is for a service accessible via the API, and the service comprises a service provided by the CDN. 
     
     
       6. The system of  claim 1 , wherein the first server is one of a plurality of distributed CDN servers, the first request is for a service accessible via the API, and the service enables interaction with any of: (i) a multi-tenant storage system operated by the CDN on behalf of content providers, and (ii) a multi-tenant computing system operated by the CDN on behalf of content providers. 
     
     
       7. The system of  claim 1 , wherein the first server is one of a plurality of distributed CDN servers, the first request is for a service accessible via the API, and the service enables configuration by a CDN user of a CDN content delivery service, said configuration comprising configuration of CDN features and services for delivering any of a website and a web application being delivered on the CDN user's behalf over the CDN. 
     
     
       8. A method, comprising:
 with at least one first server:
 receiving a first request from a client device over a network interface, the first request comprising an application programming interface (API) request; 
 in response to the first request, determining a configuration file stored at the at least one first server to apply for handling the first request; 
 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 at least one first server in the configuration file; 
 wherein the content control has a reference to an API endpoint content policy that controls, at least, client authorization; 
 extracting an identifier from the first request received from the client, the extracted identifier comprising at least a portion of the first request; 
 in response to the identification of the content control with the reference to the API endpoint content policy, sending a second request that includes the extracted identifier to at least one remote host for the API endpoint content policy; 
 receiving the API endpoint content policy from the at least one remote host in response to the second request, the API endpoint content policy calling a routine for authorizing any of the client device, client user, and client application; 
 applying the content control to the request at least by applying the API endpoint content policy and the routine to determine whether any of the client device, client user, and client application, is authorized to access a resource associated with the first request; 
 based at least in part on applying the content control and the API endpoint content policy and successfully authorizing any of the client device, client user, and client application for the access to the resource associated with the first request, sending at least a portion of the first request to a second server, the second server being an API origin for the API; 
 
 with the at least one remote host:
 receiving the second request from the at least one first server, with the extracted identifier; 
 based at least in part on the extracted identifier, selecting the API endpoint content policy from amongst a plurality of API endpoint content policies stored at the at least one remote host; 
 sending the API endpoint content policy to the at least one first server, in response to the second request; 
 
 wherein the at least one first server is one of a plurality of distributed CDN servers, the first request is for a service accessible via the API, and the service enables any of: (i) interaction with a multi-tenant storage system operated by the CDN service provider on behalf of content providers, (ii) interaction with a multi-tenant computing system operated by the CDN service provider on behalf of content providers, and (iii) configuration by a CDN user of a CDN content delivery service, said configuration comprising configuration of CDN features and services for delivering any of a website and a web application on the CDN user's behalf over the CDN. 
 
     
     
       9. The method of  claim 8 , wherein the first request is directed to universal resource identifier (URI) that represents an API endpoint, the URI comprising any of a hostname and a path. 
     
     
       10. The method of  claim 8 , wherein the API endpoint content policy comprises any of a client identifier and data used for an authentication routine. 
     
     
       11. The method of  claim 8 , wherein the API endpoint content policy comprises logic for validating the first request. 
     
     
       12. The method of  claim 8 , wherein the at least one first server is one of a plurality of distributed CDN servers, the first request is for a service accessible via the API, and the service comprises a service provided by the CDN. 
     
     
       13. The system of  claim 8 , wherein the at least one first server is one of a plurality of distributed CDN servers, the first request is for a service accessible via the API, and the service enables interaction with any of: (i) a multi-tenant storage system operated by the CDN on behalf of content providers, and (ii) a multi-tenant computing system operated by the CDN on behalf of content providers. 
     
     
       14. The system of  claim 8 , wherein the at least one first server is one of a plurality of distributed CDN servers, the first request is for a service accessible via the API, and the service enables configuration by a CDN user of a CDN content delivery service, said configuration comprising configuration of CDN features and services for delivering any of a website and a web application being delivered on the CDN user's behalf over the CDN.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.