# US 11,310,543 B2 · Content-modification system with system resource request feature

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

- Number: US 11,310,543 B2
- Document ID: US11310543B2
- Status: Granted
- Kind: B2
- Application number: 17/201,322
- Filed: 2021-03-15
- Published: 2021-12-09
- Granted: 2022-04-19
- Earliest claimed: 2019-06-07
- Assignees: Roku, Inc.
- Applicants: Roku, Inc.
- Inventors: Matthew George Grover
- Web page: https://patentgrep.com/patent/US11310543B2

## CPC

- H04N 21/23424: {involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement}
- G06F 9/5005: {to service a request}
- H04N 21/2405: {Monitoring of the internal components or processes of the server, e.g. server load (allocation of resources in multiprogramming arrangements G06F9/50; performance measurement of computer activity G06F11/34)}
- H04N 21/25866: {Management of end-user data (customer care in data networks H04L41/5077)}
- H04N 21/26241: {involving the time of distribution, e.g. the best time of the day for inserting an advertisement or airing a children programme}
- H04N 21/26291: {for providing content or additional data updates, e.g. updating software modules, stored at the client (deployment, distribution, installation, update of software G06F8/65; error detection or correction during software upgrading G06F11/1433; arrangements for updating broadcast information or broadcast-related information H04H60/25)}
- H04N 21/44008: {involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream (arrangements characterised by components specially adapted for monitoring, identification or recognition of video in broadcast systems H04H60/59)}
- H04N 21/44016: {involving splicing one content stream with another content stream, e.g. for substituting a video clip}
- H04N 21/4622: {Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet (web site content organization and management for information retrieval from the Internet G06F16/958; transmission by internet of broadcast information H04H60/82; stock exchange data over packet-switching network H04L12/1804; push services including data channel over packet-switching network H04L12/1859)}
- H04N 21/812: {involving advertisement data (advertising per se G06Q30/02)}
- H04N 21/858: Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In one aspect, a method includes identifying an upcoming content modification opportunity on a channel. The method also includes responsive to identifying the upcoming content modification opportunity on the channel, identifying a group of multiple content-presentation devices tuned to the channel. The method also includes using, at least in part, an amount of content-presentation devices in the identified group as a basis to determine an amount of system resources to request. The method also includes requesting the determined amount of system resources for use in performing actions that facilitate at least a portion of the content-presentation devices in the identified group performing respective content-modification operations.

## Claims

### Claim 1

A method comprising:
identifying, by a server computing system, an upcoming content modification opportunity on a channel;
responsive to identifying the upcoming content modification opportunity on the channel, identifying, by the server computing system, a group of multiple content-presentation devices tuned to the channel;
using, by the server computing system, at least in part, an amount of content-presentation devices in the identified group as a basis to determine an amount of system resources to request for use in performing actions that facilitate at least a portion of the content-presentation devices in the identified group performing respective content-modification operations, wherein using the amount of content-presentation devices in the identified group as a basis to determine the amount of system resources to request comprises using data that maps the amount of content-presentation devices to a respective corresponding amount of system resources, to determine the amount of system resources to request; and
requesting, by the server computing system, the determined amount of system resources for use in performing the actions that facilitate at least a portion of the content-presentation devices in the identified group performing respective content-modification operations.

### Claim 2 (depends on 1)

The method of claim 1, wherein the determined amount of system resources comprises more than one system resource.

### Claim 3 (depends on 1)

The method of claim 1, wherein using, at least in part, the amount of content-presentation devices in the identified group as a basis to determine the amount of system resources to request further comprises using, at least in part, the amount of content-presentation devices in the identified group and historical content consumption data associated with the content-presentation devices in the identified group as a basis to determine the amount of system resources to request.

### Claim 4 (depends on 3)

The method of claim 3, wherein the historical content consumption data relates to tendencies of the content-presentation devices in the identified group to change channels.

### Claim 5 (depends on 3)

The method of claim 3, wherein using, at least in part, the amount of content-presentation devices in the identified group and historical content consumption data associated with the content-presentation devices in the identified group as a basis to determine the amount of system resources to request comprises:
determining that a portion of content-presentation devices of the identified group are over a threshold percentage likely to change channels before the upcoming content modification opportunity; and
in response to determining that the portion of content-presentation devices of the identified group are over the threshold percentage likely to change channels before the upcoming content modification opportunity, determining the amount of system resources to request based on an amount of content-presentation devices in a remaining portion of the identified group.

### Claim 6 (depends on 1)

The method of claim 1, wherein using, at least in part, the amount of content-presentation devices in the identified group as a basis to determine the amount of system resources to request comprises determining that one instance of a server running a particular software application should be requested for every n content-presentation devices of the identified group, wherein n is an integer greater than zero, the particular software application having logic for selecting supplemental content to deliver to at least the portion of the content-presentation devices for at least the portion of the content-presentation devices.

### Claim 7 (depends on 1)

The method of claim 1, wherein requesting the determined amount of system resources comprises requesting launching one or more instances of servers running a particular software application having logic for selecting supplemental content to deliver to at least the portion of the content-presentation devices for at least the portion of the content-presentation devices to use in performing the respective content-modification operations.

### Claim 8 (depends on 7)

The method of claim 7, wherein the particular software application further has logic for causing, for each content-presentation device of at least the portion of the content-presentation devices in the identified group, selected supplemental content to be transmitted to that content-presentation device.

### Claim 9 (depends on 7)

The method of claim 7, wherein requesting the determined amount of system resources further comprises requesting additional processing cycles for the servers running the particular software application.

### Claim 10

A non-transitory computer-readable storage medium, having stored thereon program instructions that, upon execution by a processor, cause performance of a set of operations comprising:
identifying an upcoming content modification opportunity on a channel;
responsive to identifying the upcoming content modification opportunity on the channel, identifying a group of multiple content-presentation devices tuned to the channel;
using, at least in part, an amount of content-presentation devices in the identified group as a basis to determine an amount of system resources to request for use in performing actions that facilitate at least a portion of the content-presentation devices in the identified group performing respective content-modification operations, wherein using the amount of content-presentation devices in the identified group as a basis to determine the amount of system resources to request comprises using data that maps the amount of content-presentation devices to a respective corresponding amount of system resources, to determine the amount of system resources to request; and
requesting, the determined amount of system resources for use in performing the actions that facilitate at least a portion of the content-presentation devices in the identified group performing respective content-modification operations.

### Claim 11 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein using, at least in part, the amount of content-presentation devices in the identified group as a basis to determine the amount of system resources to request further comprises using, at least in part, the amount of content-presentation devices in the identified group and historical content consumption data associated with the content-presentation devices in the identified group as a basis to determine the amount of system resources to request.

### Claim 12 (depends on 11)

The non-transitory computer-readable storage medium of claim 11, wherein the historical content consumption data relates to tendencies of the content-presentation devices in the identified group to change channels.

### Claim 13 (depends on 11)

The non-transitory computer-readable storage medium of claim 11, wherein using, at least in part, the amount of content-presentation devices in the identified group and historical content consumption data associated with the content-presentation devices in the identified group as a basis to determine the amount of system resources to request comprises:
determining that a portion of content-presentation devices of the identified group are over a threshold percentage likely to change channels before the upcoming content modification opportunity; and
in response to determining that the portion of content-presentation devices of the identified group are over the threshold percentage likely to change channels before the upcoming content modification opportunity, determining the amount of system resources to request based on an amount of content-presentation devices in a remaining portion of the identified group.

### Claim 14 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein using, at least in part, the amount of content-presentation devices in the identified group as a basis to determine the amount of system resources to request comprises determining that one instance of a server running a particular software application should be requested for every n content-presentation devices of the identified group, wherein n is an integer greater than zero, the particular software application having logic for selecting supplemental content to deliver to at least the portion of the content-presentation devices for at least the portion of the content-presentation devices.

### Claim 15 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein requesting the determined amount of system resources comprises requesting launching one or more instances of servers running a particular software application having logic for selecting supplemental content to deliver to at least the portion of the content-presentation devices for at least the portion of the content-presentation devices to use in performing the respective content-modification operations.

### Claim 16 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the upcoming content modification opportunity on the channel comprises an opportunity to perform a content-replacement operation for outputting, in place of a particular content segment of a linear sequence of content segments received on the channel, a replacement content segment, and
wherein using, at least in part, the amount of content-presentation devices in the identified group as a basis to determine the amount of system resources to request further comprises using, at least in part, the amount of content-presentation devices in the identified group as a basis to determine the amount of system resources to request for use in performing actions that facilitate at least a portion of the content-presentation devices in the identified group performing respective content-replacement operations at the upcoming content modification opportunity.

### Claim 17

A server computing system comprising:
a processor; and
a non-transitory computer-readable storage medium, having stored thereon program instructions that, upon execution by the processor, cause performance of a set of operations comprising:
identifying an upcoming content modification opportunity on a channel;
responsive to identifying the upcoming content modification opportunity on the channel, identifying a group of multiple content-presentation devices tuned to the channel;
using, at least in part, an amount of content-presentation devices in the identified group as a basis to determine an amount of system resources to request for use in performing actions that facilitate at least a portion of the content-presentation devices in the identified group performing respective content-modification operations, wherein using the amount of content-presentation devices in the identified group as a basis to determine the amount of system resources to request comprises using data that maps the amount of content-presentation devices to a respective corresponding amount of system resources, to determine the amount of system resources to request; and
requesting, the determined amount of system resources for use in performing the actions that facilitate at least a portion of the content-presentation devices in the identified group performing respective content-modification operations.

### Claim 18 (depends on 17)

The computing system of claim 17, wherein using, at least in part,
the amount of content-presentation devices in the identified group as a basis to determine the amount of system resources to request further comprises using, at least in part, the amount of content-presentation devices in the identified group and historical content consumption data associated with the content-presentation devices in the identified group as a basis to determine the amount of system resources to request.

### Claim 19 (depends on 18)

The computing system of claim 18, wherein the historical content consumption data relates to tendencies of the content-presentation devices in the identified group to change channels.

### Claim 20 (depends on 18)

The computing system of claim 18, wherein using, at least in part, the amount of content-presentation devices in the identified group and historical content consumption data associated with the content-presentation devices in the identified group as a basis to determine the amount of system resources to request comprises:
determining that a portion of content-presentation devices of the identified group are over a threshold percentage likely to change channels before the upcoming content modification opportunity; and
in response to determining that the portion of content-presentation devices of the identified group are over the threshold percentage likely to change channels before the upcoming content modification opportunity, determining the amount of system resources to request based on an amount of content-presentation devices in a remaining portion of the identified group.
