IP Library Granted Patent US 11,457,016
Granted Patent B2
US 11,457,016 · App. 17/091,167 · Granted Sep 27, 2022

Managing shared applications at the edge of a content delivery network

Inventor: Tyler McMullen (San Francisco, CA)
Assignee: Fastly, Inc.
H04L63/102H04L67/02H04L67/5682H04L67/63
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,457,016
App. No.
17/091,167
Granted
Sep 27, 2022
Kind
B2
Abstract

Disclosed herein are enhancements for deploying applications in an edge system of a communication network. In one implementation, a cache node in a content delivery network identifies a request for an application that is shared by a plurality of customers. In response to the request, the cache node determines whether the customer associated with the request is permitted to execute the application and, if permitted, initiates the application as an isolation instance. The cache node further, in response to completing the application, returns control to a source operation associated with the request.

Claims (47)

1. A method comprising:

identifying a request for an application on a cache node of a content delivery network, wherein the application is shared amongst a plurality of customers;

determining that a customer associated with the request is permitted to execute the application;

in response to determining that the customer is permitted to execute the application, initiating the application as an isolation instance, comprising:

identifying an isolation resource from a plurality of isolation resources reserved in advance of the request;

identifying an artifact associated with the application, wherein the artifact comprises code and metadata; and

initiating execution of the code for the application and passing context to the code; and

in response to completing the application, returning control to a source operation associated with the request.

2. The method of claim 1 , wherein identifying the request for the application comprises identifying the request for the application from a Hypertext Transfer Protocol (HTTP) acceleration service.

3. The method of claim 1 , wherein identifying the request for the application comprises identifying the request for the application from a second application associated with the customer.

4. The method of claim 3 further comprising:

identifying a second request for the second application; and

in response to completing the second application, returning control to a Hypertext Transfer Protocol (HTTP) acceleration service.

5. The method of claim 4 , wherein identifying the second request for the second application comprises identifying the second request in the HTTP acceleration service.

6. The method of claim 1 , wherein the application comprises an image optimization application, advertisement application, or security application.

7. The method of claim 1 , wherein the isolation resource comprises a memory space, wherein the context comprises an addressing pointer to a memory location in the memory space.

8. A computing apparatus comprising:

a storage system;

a processing system operatively coupled to the storage system; and

program instructions stored on the storage system that, when executed by the processing system, direct the processing system to:

identify a request for an application on a cache node of a content delivery network, wherein the application is shared amongst a plurality of customers;

determine that a customer associated with the request is permitted to execute the application;

in response to determine that the customer is permitted to execute the application, initiating the application as an isolation instance, comprising:

identifying an isolation resource from a plurality of isolation resources reserved in advance of the request;

identifying an artifact associated with the application; and

initiating execution of code for the application and passing context to the code; and

in response to completing the application, return control to a source operation associated with the request.

9. The computing apparatus of claim 8 , wherein identifying the request for the application comprises identifying the request for the application from a Hypertext Transfer Protocol (HTTP) acceleration service.

10. The computing apparatus of claim 8 , wherein identifying the request for the application comprises identifying the request for the application from a second application associated with the customer.

11. The computing apparatus of claim 10 , wherein the program instructions further direct the processing system to:

identify a second request for the second application; and

in response to completing the second application, returning control to a Hypertext Transfer Protocol (HTTP) acceleration service.

12. The computing apparatus of claim 11 , wherein identifying the second request for the second application comprises identifying the second request in the HTTP acceleration service.

13. The computing apparatus of claim 8 , wherein the application comprises an image optimization application, advertisement application, or security application.

14. The computing apparatus of claim 8 , wherein the isolation resource comprises a memory space, wherein the context comprises an addressing pointer to a memory location in the memory space.

15. The computing apparatus of claim 8 , wherein the program instructions further direct the processing system to, after initiating execution of the code, copy data from the artifact to the isolation resource using the context.

16. The computing apparatus of claim 8 , wherein the program instructions further direct the processing system to maintain a record indicative of usage of the application by the customer.

17. A method comprising:

maintaining an application repository on a cache node of a content delivery network, wherein each application in the application repository is available to one or more customers of the content delivery network;

identifying a request for an application in the application repository, wherein the application is available to two or more customers;

determining that a customer associated with the request is permitted to execute the application;

identifying an isolation resource from a plurality of isolation resources reserved in advance of the request;

identifying an artifact associated with the application, wherein the artifact comprises code and metadata;

initiating execution of the code for the application and passing context to the code;

and

in response to completing the application, returning control to a source operation associated with the request.

18. The method of 17 further comprising, after initiating execution of the code, copy data from the artifact to the isolation resource using the context.

Assignments (2)
SECURITY INTEREST Recorded Feb 17, 2021
From: FASTLY, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AND COLLATERAL AGENT
Reel/Frame 055316/0616 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2020
From: MCMULLEN, TYLER
To: FASTLY INC.
Reel/Frame 054337/0988 →
Continuity (2)
Provisional Application 62931465 · Nov 6, 2019
Related Publication 20210136080A1 · May 6, 2021