# US 10,313,223 B2 · Object integrity verification in a content delivery network (CDN)

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

- Number: US 10,313,223 B2
- Document ID: US10313223B2
- Status: Granted
- Kind: B2
- Application number: 15/379,222
- Filed: 2016-12-14
- Published: 2018-06-14
- Granted: 2019-06-04
- Earliest claimed: 2016-12-14
- Assignees: Level 3 Communications, LLC
- Applicants: Level 3 Communications, LLC
- Inventors: William Crowder
- Web page: https://patentgrep.com/patent/US10313223B2

## CPC

- H04L 43/50: Testing arrangements
- H04L 9/0869: {involving random numbers or seeds}
- H04L 9/3226: {using a predetermined code, e.g. password, passphrase or PIN (network architectures or network communication protocols for supporting authentication of entities using passwords in a packet data network H04L63/083)}
- H04L 43/045: for graphical visualisation of monitoring data
- H04L 43/06: Generation of reports
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A computer-implemented method, in a content delivery (CD) network, wherein said CD network delivers content on behalf of multiple content providers. The method includes, at a client, requesting one or more parts of a randomly generated test object; in response to said requesting, receiving one or more response objects; generating one or more portions of said randomly generated test object, and comparing the one or more response objects received to at least some of the one or more portions of the object generated. Based on said comparing, when said one or more response objects received do not match said at least some of the one or more portions of the object generated, reporting and logging an error.

## Claims

### Claim 1

A computer-implemented method, in a content delivery (CD) network, wherein said CD network delivers content on behalf of multiple content providers, the method comprising:
at a client,
(A) requesting one or more parts of a randomly generated test object comprising a plurality of logical slices;
(B) in response to said requesting, receiving one or more response objects;
(C) generating only one or more slices of the plurality of logical slices that are spanned by the one or more parts of said randomly generated test object, and
(D) comparing the one or more response objects received in (B) to at least some of the one or more slices generated in (C);
(E) based on said comparing in (D), when said one or more response objects received in (B) do not match said at least some of the one or more slices generated in (C), reporting and logging an error.

### Claim 2 (depends on 1)

The method of claim 1 wherein a part of said one or more parts is a block specified by offset and range relative to the start of the randomly generated test object.

### Claim 3 (depends on 1)

The method of claim 1 wherein said randomly generated test object was generated using a given pseudorandom number generator (PRNG) and a given seed, and wherein said generating in (D) uses the same PRNG and the same given seed.

### Claim 4 (depends on 1)

The method of claim 1 wherein the one or more parts of the randomly generated test object requested in (A) are contained entirely within one logical slice of said randomly generated test object.

### Claim 5 (depends on 4)

The method of claim 4 wherein the one or more parts of the randomly generated test object requested in (A) span multiple logical slices of said randomly generated test object.

### Claim 6 (depends on 1)

The method of claim 1, wherein said generating of said one or more slices in (C) uses a seed associated with each of said slices to generate said portions of said slices.

### Claim 7 (depends on 1)

The method of claim 1 wherein said randomly generated test object is specified by seed.

### Claim 8 (depends on 7)

The method of claim 7 wherein said randomly generated test object is also specified by an object size.

### Claim 9 (depends on 8)

The method of claim 8 wherein said randomly generated test object is also specified by an identity of a pseudorandom number generator (PRNG).

### Claim 10 (depends on 8)

The method of claim 8 wherein said randomly generated test object is also specified by slice information.

### Claim 11 (depends on 8)

The method of claim 8 wherein the client is provided with the seed.

### Claim 12 (depends on 1)

The method of claim 1 wherein the one or more response objects were received from one or more servers in the CD network, and wherein each of the one or more servers generated or obtained at least a part of the randomly generated test object prior to serving a requested part to the client.

### Claim 13 (depends on 12)

The method of claim 12 wherein at least one of the one or more servers generated or obtained the entire randomly generated test object prior to serving a requested part to the client.

### Claim 14 (depends on 1)

The method of claim 1 wherein the one or more parts consist of exactly one part.

### Claim 15 (depends on 14)

The method of claim 14 wherein the one or more response objects consist of exactly one response object.

### Claim 16 (depends on 15)

The method of claim 15 wherein the one or more slices consist of exactly one slice.

### Claim 17 (depends on 1)

The method of claim 1 wherein said requesting in (A) comprises an HTTP range request with multiple ranges.

### Claim 18 (depends on 1)

The method of claim 1 wherein said requesting in (A) requests multiple parts of said randomly generated test object, and wherein said receiving in (B) receives one response object.

### Claim 19 (depends on 1)

The method of claim 1 wherein said CD network divides large objects into smaller objects and wherein said randomly generated test object is a large object.

### Claim 20

An article of manufacture comprising a non-transitory computer-readable medium having program instructions stored thereon, the program instructions, operable on a computer system in a content delivery network (CDN), said device implementing at least one content delivery (CD) service, wherein execution of the program instructions by one or more processors of said computer system causes the one or more processors to carry out the acts of:
at a client,
(A) requesting one or more parts of a randomly generated test object comprising a plurality of logical slices;
(B) in response to said requesting, receiving one or more response objects;
(C) generating only one or more slices of the plurality of logical slices that are spanned by the one or more parts of said randomly generated test object, and
(D) comparing the one or more response objects received in (B) to at least some of the one or more slices generated in (C);
(E) based on said comparing in (D), when said one or more response objects received in (B) do not match said at least some of the one or more slices generated in (C), reporting and logging an error.

### Claim 21

A device in a content delivery network (CDN), wherein said CDN delivers content on behalf of at least one content provider, said device comprising a processor and a memory, said device implementing a content delivery (CD) service, the device:
(A) requesting one or more parts of a randomly generated test object comprising a plurality of logical slices;
(B) in response to said requesting, receiving one or more response objects;
(C) generating only one or more slices of the plurality of logical slices that are spanned by the one or more parts of said randomly generated test object, and
(D) comparing the one or more response objects received in (B) to at least some of the one or more slices generated in (C);
(E) based on said comparing in (D), when said one or more response objects received in (B) do not match said at least some of the one or more slices generated in (C), reporting and logging an error.
