# US 10,873,516 B2 · Content delivery network server testing

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

- Number: US 10,873,516 B2
- Document ID: US10873516B2
- Status: Granted
- Kind: B2
- Application number: 15/989,419
- Filed: 2018-05-25
- Published: 2019-11-28
- Granted: 2020-12-22
- Earliest claimed: 2018-05-25
- Assignees: Comcast Cable Communications, LLC
- Applicants: Comcast Cable Communications, LLC
- Inventors: Chris Lemmons
- Web page: https://patentgrep.com/patent/US10873516B2

## CPC

- H04L 43/50: Testing arrangements
- H04L 43/0852: Delays
- H04L 43/16: Threshold monitoring
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 41/045: comprising client-server management architectures
- H04L 41/12: Discovery or management of network topologies
- H04L 43/022: by sampling
- H04L 43/0876: Network utilisation, e.g. volume of load or congestion level
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Described herein is a system and method for testing a computing device, such as a server, to minimize network impact. A computing device that is new or needs to be evaluated, such as an edge server, in a content delivery network may be determined and a sibling edge server which shares a common characteristic with the edge server may be selected. Requests received on the sibling edge server may be collected and filtered to determine a subset of the requests. The subset of the requests are transmitted to the edge server for processing and evaluation.

## Claims

### Claim 1

A device-implemented method comprising:
selecting a first server in a content delivery network comprising a plurality of servers that are associated with a plurality of mid-tier servers in a hierarchy;
selecting a sibling server, in the plurality of the servers, that shares a common parent mid-tier server with the first server;
determining requests received by the selected sibling server;
determining, based on an expiration schedule of content associated with the determined requests, an amount of delay time before sending the determined requests to the first server; and
after waiting for the amount of delay time, sending the determined requests to the first server.

### Claim 2 (depends on 1)

The device-implemented method of claim 1, wherein determining the amount of delay time comprises:
determining the amount of delay time based on a type of content associated with the requests.

### Claim 3 (depends on 1)

The device-implemented method of claim 1, wherein determining the requests further comprises:
filtering to select a subset from the determined requests.

### Claim 4 (depends on 1)

The device-implemented method of claim 1, wherein determining the requests further comprises:
filtering out requests associated with expired content based on the expiration schedule.

### Claim 5 (depends on 1)

The device-implemented method of claim 1, wherein determining the requests further comprises:
amplifying a subset of the determined requests based on an amplification rate; and
sending the amplified subset of the determined requests to the first server.

### Claim 6 (depends on 1)

The device-implemented method of claim 1, further comprising:
determining a sampling rate;
sampling a subset of the determined requests based on the sampling rate to generate a partition of the subset of the determined requests; and
sending the partition to the first server.

### Claim 7 (depends on 6)

The device-implemented method of claim 6, wherein the amount of delay time is zero.

### Claim 8 (depends on 6)

The device-implemented method of claim 6, wherein determining the sampling rate is based on a target load to be generated on the first server.

### Claim 9 (depends on 1)

The device-implemented method of claim 1, further comprising:
receiving, from the first server, a set of log information during or after a run of a load test with a load generated using the determined requests; and
adjusting the amount of delay time based on the set of log information.

### Claim 10 (depends on 9)

The device-implemented method of claim 9, further comprising:
increasing the amount of delay time based on a determination that a quantity of requests sent upstream from the common parent mid-tier server satisfies a threshold value.

### Claim 11 (depends on 9)

The device-implemented method of claim 9, further comprising:
decreasing the amount of delay time based on a determination that a quantity of requests sent upstream from the common parent mid-tier server is below a threshold value.

### Claim 12

A device-implemented method comprising:
determining a first server and a sibling server in a content delivery network, wherein the first server and the sibling server both connect to a common parent mid-tier server;
determining an expiration schedule for a list of content on the common parent mid-tier server;
receiving a history of requests from the sibling server;
based on the history of requests, selecting a subset of the requests, by;
filtering out requests associated with expired content based on the expiration schedule; and
sending the subset of the requests to the first server.

### Claim 13 (depends on 12)

The device-implemented method of claim 12, further comprising:
determining a sampling rate;
sampling the subset of the requests based on the sampling rate to generate a partition of the subset of the requests; and
sending the partition to the first server.

### Claim 14 (depends on 12)

The device-implemented method of claim 12, further comprising:
amplifying the subset of the requests based on an amplification rate; and
sending the amplified subset of the requests to the first server.

### Claim 15

An apparatus comprising:
one or more processors; and
memory storing instructions that, when executed by the one or more processors, cause the apparatus to:
determine a first server in a content delivery network comprising a plurality of servers that are associated with a plurality of mid-tier servers in a hierarchy;
select a sibling server in the plurality of the servers that shares a common parent mid-tier server with the first server;
determine requests received the selected sibling server;
determine, based on an expiration schedule of content associated with the determined requests, an amount of delay time before sending the determined requests to the first server; and
after waiting for the amount of delay time, send the determined requests to the first server.

### Claim 16 (depends on 15)

The apparatus of claim 15, wherein the amount of delay time is zero.

### Claim 17 (depends on 15)

The apparatus of claim 15, wherein the memory stores instructions that, when executed by the one or more processors, further cause the apparatus to:
filter to select a subset from the determined requests.

### Claim 18 (depends on 15)

The apparatus of claim 15, wherein the memory stores instructions that, when executed by the one or more processors, further cause the apparatus to:
filter out requests associated with expired content, from the determined requests, based on the expiration schedule.

### Claim 19 (depends on 15)

The apparatus of claim 15, wherein the memory stores instructions that, when executed by the one or more processors, further cause the apparatus to:
amplify a subset of the determined requests based on an amplification rate; and
send the amplified subset of the determined requests to the first server.

### Claim 20 (depends on 15)

The apparatus of claim 15, wherein the memory stores instructions that, when executed by the one or more processors, further cause the apparatus to:
determine a sampling rate;
sample a subset of the determined requests based on the sampling rate to generate a partition of the subset of the determined requests; and
send the partition to the first server.
