# US 2013/0159472 A1 · Content delivery network

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2013/0159472 A1
- Document ID: US20130159472A1
- Status: Published application
- Kind: A1
- Application number: 13/714,410
- Filed: 2012-12-14
- Published: 2013-06-20
- Earliest claimed: 2011-12-14
- Assignees: Level 3 Communications, LLC
- Inventors: Christopher Newton; Laurence R. Lipstone; William Crowder; Jeffrey G. Koller; David Fullagar; Maksim Yevmenkin
- Web page: https://patentgrep.com/patent/US20130159472A1

## CPC

- H04L 67/5682: Policies or rules for updating, deleting or replacing the stored data
- H04L 41/0856: {by backing up or archiving configuration information}
- H04L 41/5064: {Customer relationship management}
- H04L 41/509: {wherein the managed service relates to media content delivery, e.g. audio, video or TV}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L 67/55: Push-based network services
- H04L 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- H04L 67/60: Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources (admission control or resource allocation H04L47/70)
- H04L 69/22: Parsing or analysis of headers
- H04L 63/166: {at the transport layer}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A content delivery network (CDN) includes a control core; and a plurality of caches, each of said caches constructed and adapted to: upon joining the CDN, obtain global configuration data from the control core; and obtain data from other caches. Each of the caches is further constructed and adapted to, having joined the CDN, upon receipt of a request for a particular resource: obtain updated global configuration data, if needed; obtain a customer configuration script (CCS) associated with the particular resource; and serve the particular resource in accordance with the CCS.

## Claims

### Claim 1

A content delivery network (CDN) comprising:
(a) a control core; and
(b) a plurality of cache servers, each particular cache server of said plurality of cache servers being constructed and adapted to:
(b)(1) upon joining the CDN,
(b)(1)(1) obtain global configuration data from the control core; and
(b)(2) having joined the CDN,
(b)(2)(1) obtain updated global configuration data, if needed; and
(b)(2)(2) obtain customer configuration information associated with at least one customer of the CDN;
(b)(2)(3) serve a particular resource associated with a particular customer of the CDN in accordance with (i) the global configuration data, and (ii) customer configuration information obtained in (b)(2)(2) and associated with the particular customer.

### Claim 2 (depends on 1)

The CDN of claim 1 wherein each particular cache server of said plurality of cache servers is constructed and adapted to, upon joining the CDN,
(b)(1)(2) obtain data from one or more other locations in the CDN.

### Claim 3 (depends on 1)

The CDN of claim 1 wherein processing by a cache server in (b)(2)(2) to obtain customer configuration information associated with a specific customer occurs upon receipt of a request for a resource associated with the specific customer.

### Claim 4 (depends on 1)

The CDN of claim 1 wherein processing by a cache server in (b)(2)(2) to obtain customer configuration information associated with a specific customer occurs prior to receipt of a request for a resource associated with the specific customer.

### Claim 5 (depends on 1)

The CDN of claim 1 wherein customer configuration information associated with the particular customer comprises one or more scripts to be used by the particular cache server to process requests for resources associated with the particular customer.

### Claim 6 (depends on 1)

The CDN of claim 1 wherein the customer configuration information comprises at least one CDN resource.

### Claim 7 (depends on 1)

The CDN of claim 1 wherein the customer configuration information associated with the particular customer comprises at least one customer configuration script (CCS) associated with the particular customer.

### Claim 8 (depends on 1)

The CDN of claim 1 wherein the customer configuration information associated with the particular customer specifies customer-specific processing requirements for resources served on behalf of that customer.

### Claim 9 (depends on 1)

The CDN of claim 1 wherein the global configuration data comprises at least one CDN resource.

### Claim 10 (depends on 9)

The CDN of claim 9 wherein the global configuration data comprises global configuration object (GCO).

### Claim 11 (depends on 2)

The CDN of claim 2 wherein the one or more other locations in the CDN comprise at least one location selected from: a cache server, a cache server site, a region of cache servers, a cache cluster, and a cache cluster site.

### Claim 12 (depends on 11)

The CDN of claim 11 wherein the one or more other locations in the CDN comprise at least one peer location.

### Claim 13 (depends on 2)

The CDN of claim 2 wherein the particular cache server determines said one or more other locations using said information in said global configuration data.

### Claim 14 (depends on 1)

The CDN of claim 1 wherein said particular cache server obtains said updated global configuration data from one or more locations in the CDN.

### Claim 15 (depends on 14)

The CDN of claim 14 wherein the one or more locations in the CDN comprise one or more locations selected from: (i) the control core; and (ii) one or more locations in selected from: a cache server, a cache server site, a region of cache servers, a cache cluster, and a cache cluster site.

### Claim 16 (depends on 1)

The CDN of claim 1 wherein the control core comprises a distributed system consisting of a plurality of machines.

### Claim 17 (depends on 16)

The CDN of claim 16 wherein the control core uses a distributed consensus algorithm to achieve consensus among the plurality of machines.

### Claim 18 (depends on 1)

The CDN of claim 1 wherein each particular cache server of said plurality of cache servers is further constructed and adapted to:
determine validity of a version of global configuration data stored on said particular cache server, and wherein said particular cache server obtains updated global configuration data in (b)(2)(1) when said particular cache server determines that said version of said global configuration data stored on said particular cache server is invalid.

### Claim 19 (depends on 1)

The CDN of claim 1 wherein each particular cache server of said plurality of cache servers is further constructed and adapted to:
determine validity of a version of particular customer configuration information associated with a particular customer and stored on said particular cache server, and wherein said particular cache server obtains customer configuration information in (b)(2)(2) when said particular cache server determines that said version of said particular customer configuration information stored on said particular cache server is invalid.

### Claim 20 (depends on 19)

The CDN of claim 19 wherein said particular cache server is constructed and adapted to determine said validity of said version of particular customer configuration information stored on said particular cache server in response to a request to serve content associated with said particular customer.

### Claim 21 (depends on 1)

The CDN of claim 1 further comprising:
(c) at least one rendezvous mechanism.

### Claim 22 (depends on 1)

The CDN of claim 1 further comprising:
(d) a collector system comprising one or more collector mechanisms, each of said collector mechanisms being constructed and adapted to:
(d)(1) obtain information from at least one cache server.

### Claim 23 (depends on 22)

The CDN of claim 22 wherein each particular cache server of said plurality of cache servers is further constructed and adapted to:
(b)(3) generate information; and
(b)(4) provide at least some of said generated information to said collector system.

### Claim 24 (depends on 21)

The CDN of claim 21 wherein each particular cache server of said plurality of cache servers provides at least some of said generated information in (b)(4) by streaming said at least some of said generated information to one or more collector mechanisms in said collector system.

### Claim 25 (depends on 1)

The CDN of claim 1 wherein the CDN has customer configuration information associated therewith, and wherein each particular cache server serves CDN resources in accordance with the global configuration data and the customer configuration information associated with the CDN.

### Claim 26 (depends on 1)

The CDN of claim 1 wherein at least one cache server of said plurality of cache servers comprises an executive system supporting concurrent processing of tasks on said at least one cache server.

### Claim 27

A computer-implemented method, operable in a content delivery network (CDN) comprising: (a) a control core; and (b) a plurality of cache servers, the method comprising, by hardware and software on a particular cache server of said plurality of cache servers:
(A) obtaining global configuration data from the control core;
(B) selectively obtaining updated global configuration data; and
(C) obtaining customer configuration information associated with a particular customer of the CDN;
(D) serving a particular resource associated with the particular customer in accordance with (i) the global configuration data; and (ii) the customer configuration information associated with the particular customer.

### Claim 28 (depends on 27)

The method of claim 27 further comprising:
(A)(2) obtaining data from one or more other locations in the CDN.

### Claim 29 (depends on 27)

The method of claim 27 wherein the obtaining of said customer configuration information in (C) occurs upon receipt of a request of said particular cache server for a resource associated with the particular customer.

### Claim 30 (depends on 27)

The method of claim 27 wherein the obtaining of said customer configuration information in (C) occurs prior to receipt of a request of said particular cache server for a resource associated with the particular customer.

### Claim 31 (depends on 27)

The method of claim 27 wherein the customer configuration information comprises one or more scripts to be used by the particular cache server to process requests for resources associated with the particular customer.

### Claim 32 (depends on 27)

The method of claim 27 wherein the customer configuration information comprises at least one CDN resource.

### Claim 33 (depends on 27)

The method of claim 27 wherein the customer configuration information comprises at least one customer configuration script (CCS) associated with the particular customer.

### Claim 34 (depends on 27)

The method of claim 27 wherein the customer configuration information associated with the particular customer specifies customer-specific processing for resources served on behalf of that customer.

### Claim 35 (depends on 27)

The method of claim 27 wherein the global configuration data comprises at least one CDN resource.

### Claim 36 (depends on 35)

The method of claim 35 wherein the global configuration data comprises global configuration object (GCO).

### Claim 37 (depends on 28)

The method of claim 28 wherein the one or more other locations in the CDN comprise at least one location selected from: a cache server, a cache server site, a region of cache servers, a cache cluster, and a cache cluster site.

### Claim 38 (depends on 37)

The method of claim 37 wherein the one or more other locations in the CDN comprise at least one peer location.

### Claim 39 (depends on 28)

The method of claim 28 wherein the particular cache server determines said one or more other locations using said information in said global configuration data.

### Claim 40 (depends on 27)

The method of claim 27 wherein said particular cache server obtains said updated global configuration data in (B) from one or more locations in the CDN.

### Claim 41 (depends on 40)

The method of claim 40 wherein the one or more locations in the CDN comprise one or more locations selected from: (i) the control core; and (ii) one or more locations in selected from: a cache server, a cache server site, a region of cache servers, a cache cluster, and a cache cluster site.

### Claim 42 (depends on 27)

The method of claim 27 wherein the control core comprises a distributed system consisting of a plurality of machines.

### Claim 43 (depends on 42)

The method of claim 42 wherein the control core uses a distributed consensus algorithm to achieve needed consensus among the plurality of machines.

### Claim 44 (depends on 27)

The method of claim 27 further comprising, by said particular cache server:
(F) determining validity of a version of global configuration data stored on said particular cache server, and wherein said particular cache server obtains updated global configuration data in (B) when said particular cache server determines that said version of said global configuration data stored on said particular cache server is invalid.

### Claim 45 (depends on 27)

The method of claim 27 further comprising, by said particular cache server:
(G) determining validity of a version of particular customer configuration information associated with the particular customer and stored on said particular cache server, and wherein said particular cache server obtains customer configuration information in (C) when said particular cache server determines that said version of said particular customer configuration information stored on said particular cache server is invalid.

### Claim 46 (depends on 45)

The method of claim 45 wherein said particular cache server determines validity of said version of particular customer configuration information in (G) in response to a request to serve content associated with said particular customer.

### Claim 47 (depends on 27)

The method of claim 27 wherein the CDN further comprises: (d) a collector system comprising one or more collector mechanisms, each of said collector mechanisms being constructed and adapted to obtain information from at least one cache server, the method further comprising, by said particular cache server:
(E) generating information; and
(F) providing at least some of said generated information to said collector system.

### Claim 48 (depends on 47)

The method of claim 47 wherein said providing in (F) comprises:
(F)(1) streaming said at least some of said generated information to one or more collector mechanisms in said collector system.

### Claim 49 (depends on 27)

The method of claim 27 further comprising, by said particular cache server of said plurality of cache servers:
(E) obtaining second customer configuration information associated with a second customer of the CDN, said second customer being distinct from said particular customer; and
(F) serving a second particular resource associated with the second customer in accordance with (i) the global configuration data, and (ii) the second customer configuration information associated with the second customer.

### Claim 50 (depends on 27)

The method of claim 27 wherein the CDN has customer configuration information associated therewith, and wherein the particular cache server serves CDN resources in accordance with the global configuration data and the customer configuration information associated with the CDN.
