# US 11,910,035 B2 · Systems and methods for interrupting streaming content provided via an inviolate manifest protocol

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

- Number: US 11,910,035 B2
- Document ID: US11910035B2
- Status: Granted
- Kind: B2
- Application number: 17/115,081
- Filed: 2020-12-08
- Published: 2021-03-25
- Granted: 2024-02-20
- Earliest claimed: 2016-12-30
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Michael Schwimmer; Kevin Flanagan
- Web page: https://patentgrep.com/patent/US11910035B2

## CPC

- H04N 21/23424: {involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement}
- H04N 21/23439: {for generating different versions}
- H04L 65/613: for the control of the source by the destination (control signals issued by the client directed to the server or network components specially adapted for selective content distribution H04N21/637)
- H04L 65/80: Responding to QoS
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04N 21/23106: {involving caching operations (prefetching while addressing of a memory level in which the access to the desired data or data block requires associative addressing means within memory systems or architectures G06F12/0862; caching at an intermediate stage in a data network H04L67/568)}
- H04N 21/2393: {involving handling client requests (scheduling or organising the servicing of application requests H04L67/60)}
- H04N 21/26258: {for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list (retrieval of multimedia data based on playlists G06F16/40)}
- H04N 21/6332: directed to client
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The present disclosure provides systems and methods for interrupting streaming content provided via a manifest inviolate protocol. An intelligent streaming server or edge cache may substitute different content than that which is requested, without the client's knowledge. In some implementations, the client may request a first segment of a file or stream, and the streaming server may instead deliver a segment of an entirely different file or stream. The replacement segment may have the same length as the requested segment, and may be renamed such that the client believes that the requested segment has been properly served. Accordingly, without changing the manifest or departing from the requirements of the manifest-inviolate protocol and without changing any functionality of the client, a system may provide content switching on a per-segment basis, rather than a per-manifest basis.

## Claims

### Claim 1

A method comprising:
receiving, by a streaming server from a client device, a request for a first streaming segment of a plurality of streaming segments identified in a manifest and including main content segments for streaming main content and one or more alternate content segments, the first streaming segment being an alternate content segment of the one or more alternate content segments, and the manifest identifying a break for streaming the one or more alternate content segments;
transmitting, by the streaming server to a server associated with a content provider, a request for a content selection flag having values indicating whether to provide the main content despite the request from the client device for the one or more alternate content segments;
receiving, by the streaming server from the server associated with the content provider, a value of the content selection flag indicating a command to interrupt the break and resume streaming of the main content; and
providing, by the streaming server to the client device, responsive to receipt of the command to interrupt the break, a second streaming segment different from the first streaming segment and carrying a portion of the main content.

### Claim 2 (depends on 1)

The method of claim 1, wherein the one or more alternate content segments correspond to advertisement content.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
selecting, by the streaming server based on an identifier of the client device, the one or more alternate content segments;
inserting, by the streaming server, one or more identifiers of the one or more alternate content segments in the manifest; and
providing, by the streaming server to the client device, the manifest.

### Claim 4 (depends on 1)

The method of claim 1, wherein the second streaming segment is not identified in the manifest.

### Claim 5 (depends on 1)

The method of claim 1, wherein providing the second streaming segment comprises modifying an identifier of the second streaming segment to match an identifier of the first streaming segment.

### Claim 6 (depends on 1)

The method of claim 1, wherein providing the second streaming segment comprises modifying metadata of the second streaming segment to match metadata of the first streaming segment.

### Claim 7 (depends on 1)

The method of claim 1, further comprising transmitting the request for the content selection flag to the content provider at a predetermined frequency.

### Claim 8 (depends on 1)

The method of claim 1, further comprising determining that the content selection flag indicates to resume streaming of the main content, providing the third streaming segment performed responsive to the content selection flag indicating to resume streaming of the main content.

### Claim 9

A system comprising:
a processor; and
a memory storing computer program instructions, the computer program instructions when executed by the processor cause the system to:
receive, from a client device, a request for a first streaming segment of a plurality of streaming segments identified in a manifest and including main content segments for streaming main content and one or more alternate content segments, the first streaming segment being an alternate content segment of the one or more alternate content segments, and the manifest identifying a break for streaming the one or more alternate content segments;
transmit a request for a content selection flag having values indicating whether to provide the main content despite the request from the client device for the one or more alternate content segments to a server associated with a content provider;
receive, from the server associated with the content provider, a value of the content selection flag indicating a command to interrupt the break and resume streaming of the main content; and
provide, to the client device, responsive to receipt of the command to interrupt the break, a second streaming segment different from the first streaming segment and carrying a portion of the main content.

### Claim 10 (depends on 9)

The system of claim 9, wherein the one or more alternate content segments correspond to advertisement content.

### Claim 11 (depends on 9)

The system of claim 9, wherein the computer program instructions when executed by the processor further cause the system to:
select, based on an identifier of the client device, the one or more alternate content segments;
insert one or more identifiers of the one or more alternate content segments in the manifest; and
provide, to the client device, the manifest.

### Claim 12 (depends on 9)

The system of claim 9, wherein the second streaming segment is not identified in the manifest.

### Claim 13 (depends on 9)

The system of claim 9, wherein in providing the second streaming segment the system is configured to modify an identifier of the second streaming segment to match an identifier of the first streaming segment.

### Claim 14 (depends on 9)

The system of claim 9, wherein in providing the second streaming segment the system is configured to metadata of the second streaming segment to match metadata of the first streaming segment.

### Claim 15 (depends on 9)

The method of claim 9, wherein the computer program instructions when executed by the processor cause the system to transmit the request for the content selection flag to the content provider at a predetermined frequency.

### Claim 16 (depends on 9)

The method of claim 9, wherein the computer program instructions when executed by the processor cause the system to further determine that the content selection flag indicates to resume streaming of the main content, providing the third streaming segment performed responsive to the content selection flag indicating to resume streaming of the main content.

### Claim 17

A non-transitory computer storage medium comprising computer program instructions stored thereon, the computer program instructions when executed by one or more processors cause the one or more processors to:
receive, from a client device, a request for a first streaming segment of a plurality of streaming segments identified in a manifest and including main content segments for streaming main content and one or more alternate content segments, the first streaming segment being an alternate content segment of the one or more alternate content segments, and the manifest identifying a break for streaming the one or more alternate content segments;
transmit a request for a content selection flag having values indicating whether to provide the main content despite the request from the client device for the one or more alternate content segments to a server associated with a content provider;
receive, from the server associated with the content provider, a value of the content selection flag indicating a command to interrupt the break and resume streaming of the main content; and
provide, to the client device, responsive to receipt of the command to interrupt the break, a second streaming segment different from the first streaming segment and carrying a portion of the main content.

### Claim 18 (depends on 17)

The non-transitory computer storage medium of claim 17, wherein the computer program instructions when executed by one or more processors cause the one or more processors, in providing the second streaming segment, to modify an identifier of the second streaming segment to match an identifier of the first streaming segment.
