IP Library Granted Patent US 11,930,092
Granted Patent B2
US 11,930,092 · App. 18/077,588 · Granted Mar 12, 2024

Programmable delivery network

Inventors: Subramanian Varadarajan (Los Gatos, CA); Rosarin Roy Antonyraj (Sunnyvale, CA)
Assignee: Palo Alto Networks, Inc.
H04L67/568H04L67/01H04L67/1001H04L67/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,930,092
App. No.
18/077,588
Granted
Mar 12, 2024
Kind
B2
Abstract

A system and method are provided for provisioning code snippets for programming a content delivery network. The method includes receiving a first client code snippet from a first client. The first client code snippet includes identity information of origin servers, standard responses for network requests, and configuration parameters to configure programmable content delivery nodes to respond to the one or more network requests. The method also includes publishing the first client code snippet to a snippet library, and indexing the first client code snippet in the snippet library. The method also includes receiving, from a second client, a request for a second client code snippet. The method also includes selecting a subset of client code snippets stored in the snippet library. The method also includes rendering identification information for the subset of client code snippets, and outputting a selected client code snippet from the subset of client code snippets.

Claims (45)

1. A method comprising:

configuring a first set of nodes of a delivery network for content delivery based, at least in part, on a first set of client code snippets, wherein each of the first set of client code snippets includes (i) identity information of one or more origin servers and (ii) standard responses for one or more network requests for content of the one or more origin servers;

configuring the first set of nodes to monitor for anomalous resource usage when executing the first set of client code snippets;

buffering network requests for content on the one or more origin servers and then sending the buffered network requests to the one or more origin servers; and

after receipt of responses from the one or more origin servers, reconfiguring the first set of nodes to respond to network requests according to the first set of client code snippets.

2. The method of claim 1 , wherein configuring the first set of nodes to monitor for anomalous resource usage when executing the first set of client code snippets is based on the first set of client code snippets or monitoring code snippets.

3. The method of claim 1 , wherein the first set of client code snippets are uploaded to the first set of nodes from devices of a company.

4. The method of claim 1 further comprising:

configuring a second set of nodes of the delivery network for content delivery based, at least in part, on a second set of client code snippets, wherein the second set of client code snippets are for content of a different company than the first set of client code snippets;

configuring the second set of nodes to monitor for anomalous resource consumption when executing the second set of client code snippets;

buffering network requests for content on a second set of one or more origin servers indicated in the second set of client code snippets and then sending the buffered network requests to the second set of origin servers; and

after receipt of responses from the second set of origin servers, reconfiguring the second set of nodes to respond to network requests for the content from the second set of origin servers.

5. The method of claim 4 , wherein the first and second sets of nodes have at least a subset of nodes in common, wherein each of the subset of nodes are configured to respond based on the first and the second client code snippets and configured to monitor for anomalous resource consumption from execution of either of the first and second client code snippets.

6. The method of claim 1 , wherein monitoring for anomalous resource usage when executing one of the first set of client code snippets comprises inputting features into a machine learning model that has been trained to detect anomalous resource usage, wherein the features are based on the resource usage when executing the one of the first client code snippets.

7. The method of claim 6 further comprising generating the features based, at least in part, on trend information for network traffic, normalized trend information for the network traffic, and measured resource usage.

8. The method of claim 6 , wherein the machine learning model has been trained based on misbehaving client code snippets and abnormal network conditions.

9. The method of claim 1 , wherein reconfiguring the first set of nodes to respond to network requests according to the first set of client code snippets comprises prefetching and temporarily storing content from the one or more origin servers.

10. A non-transitory computer-readable storage medium having program code stored thereon, the program code comprising instructions to:

configure a first node of a delivery network for content delivery based, at least in part, on a first client code snippet, wherein the first client code snippet indicates identity information of a first set of one or more origin servers of content of a first company and standard responses for one or more network requests for content on the first set of origin servers;

configure the first node to monitor for anomalous resource usage when executing the first client code snippet;

buffer network requests for content on the first set of origin servers and then send the buffered network requests to the first set of origin servers; and

after receipt of responses from the first set of origin servers, reconfigure the first node to respond to network requests for content of the first set of origin servers.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the program code further comprises instructions to:

configure the first node based, at least in part, on a second client code snippet, wherein the second client code snippet indicates a second set of origin servers with content of a different company than the first set of origin servers;

configure the first node to also monitor for anomalous resource usage when executing the second client code snippet;

buffer network requests for content on the second set of one or more origin servers and then send the buffered network requests to the second set of origin servers; and

after receipt of responses from the second set of origin servers, reconfigure the first node to also respond to network requests for the content of the second set of origin servers.

12. The non-transitory computer-readable storage medium of claim 10 , wherein the instructions to monitor for anomalous resource usage when executing the first client code snippet comprise instructions to input features into a machine learning model that has been trained to detect anomalous resource usage, wherein the features are based on the resource usage when executing the first client code snippet.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the program code further comprises instructions to generate the features based, at least in part, on trend information for network traffic, normalized trend information for the network traffic, and measured resource usage.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the machine learning model has been trained based on misbehaving client code snippets and abnormal network conditions.

15. The non-transitory computer-readable storage medium of claim 10 , wherein the instructions to reconfigure the first node to respond to network requests according to the first client code snippet comprise instructions to configure the first node to prefetch and temporarily store content from the one or more origin servers.

16. A programmable delivery network comprising:

a first set of nodes configured to,

after a first set of client code snippets are uploaded to the first set of nodes, buffer network requests for content of a first company on a first set of origin servers, wherein each of the first set of client code snippets includes identity information of the first set of origin servers and standard responses for network requests for content of the first company;

monitor for anomalous resource usage when executing the first set of client code snippets; and

after receipt of responses from the first set of origin servers, reconfigure to respond to network requests for the content of the first company according to the first set of client code snippets.

17. The programmable delivery network of claim 16 further comprising:

a second set of nodes configured to,

after a second set of client code snippets are uploaded to the second set of nodes, buffer network requests for content of a second company on a second set of origin servers, wherein each of the second set of client code snippets includes identity information of the second set of origin servers and standard responses for network requests for content of the second company;

monitor for anomalous resource usage when executing the second set of client code snippets; and

after receipt of responses from the second set of origin servers, reconfigure to respond to network requests for the content of the second company according to the second set of client code snippets,

wherein the first and second sets of nodes overlap.

18. The programmable delivery network of claim 16 , wherein the programmable delivery network is programmed to test the first set of client code snippets on a first subset of the first set of nodes to determine whether a predetermined safety threshold is satisfied and then increase nodes in the first set of nodes by a defined number of nodes in stages while no anomalous resource usage is detected until reaching the stages are complete.

19. The programmable delivery network of claim 16 , wherein the first set of nodes configured to monitor for anomalous resource usage when executing the first set of client code snippets comprises each of the first set of nodes being configured to input features into a machine learning model that has been trained to detect anomalous resource usage, wherein the features are based on the resource usage when executing one of the first client code snippets.

20. The programmable delivery network of claim 19 , wherein each of the first set of nodes is further configured to generate the features based, at least in part, on trend information for network traffic, normalized trend information for the network traffic, and measured resource usage.

Assignments (5)
NUNC PRO TUNC ASSIGNMENT Recorded Apr 11, 2024
From: SENTHIVEL, KUMARAVEL
To: ZYCADA NETWORKS, INC.
Reel/Frame 067077/0638 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE LEGAL NAME OF THE SECOND INVENTOR PREVIOUSLY RECORDED AT REEL: 62802 FRAME: 978. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 11, 2024
From: VARADARAJAN, SUBRAMANIAN; ANTONYRAJ, ROSARIN JOLLY ROY
To: ZYCADA NETWORKS, INC.
Reel/Frame 067097/0656 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY DATA PREVIOUSLY RECORDED ON REEL 063900 FRAME 0586. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Aug 14, 2023
From: ZYCADA NETWORKS, INC.
To: PALO ALTO NETWORKS, INC.
Reel/Frame 064585/0057 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2023
From: ZYCADA NETWORKS, INC.,
To: ZYCADA NETWORKS, INC.; PALO ALTO NETWORKS, INC.
Reel/Frame 063900/0586 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2023
From: VARADARAJAN, SUBRAMANIAN; ANTONYRAJ, ROSARIN ROY
To: ZYCADA NETWORKS, INC.
Reel/Frame 062802/0979 →
Continuity (4)
Continuation 17192593 · Mar 4, 2021
Continuation 16925189 · Jul 9, 2020
Provisional Application 62873637 · Jul 12, 2019
Related Publication 20230216936A1 · Jul 6, 2023