# US 10,313,035 B1 · Switching content

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

- Number: US 10,313,035 B1
- Document ID: US10313035B1
- Status: Granted
- Kind: B1
- Application number: 14/883,532
- Filed: 2015-10-14
- Granted: 2019-06-04
- Earliest claimed: 2009-03-23
- Assignees: Conviva Inc.
- Applicants: Conviva Inc.
- Inventors: Ningning Hu; John W. Heffner; Mei-Hsuan Lu; Aditya Ravikumar Ganjam; Ion Stoica
- Web page: https://patentgrep.com/patent/US10313035B1

## CPC

- H04H 20/10: Arrangements for replacing or switching information during the broadcast or the distribution
- H04N 5/268: Signal distribution or switching
- H04N 21/20: Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N 21/2187: Live feed
- H04N 21/222: Secondary servers, e.g. proxy server, cable television Head-end {(provisioning of proxy services in data packet switching networks H04L67/56)}
- H04N 21/234: Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N 21/40: Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N 21/4302: {Content synchronisation processes, e.g. decoder synchronisation}
- H04N 21/43072: {of multiple content streams on the same device}
- H04N 21/4438: {Window management, e.g. event handling following interaction with the user interface}
- 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/631: {Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols}
- H04N 21/8455: {involving pointers to the content, e.g. pointers to the I-frames of the video stream}
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04H: BROADCAST COMMUNICATION (multiplex communication H04J; pictorial communication aspects of broadcast systems H04N)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Displaying video on a video display device is disclosed. A first video stream from a first video streaming source is displayed on the display device. A second video stream from a second video streaming source is processed on the display device without displaying the second video stream. Displaying the first video stream is ceased and instead the second video stream is displayed. Supporting operations on a video stream is also disclosed. At least one video chunk is received at a first granularity. A determination is made that an operation is to be performed at a different granularity. At least one video chunk is requested at the different granularity.

## Claims

### Claim 1

A system, comprising:
one or more computer processors configured to:
receive, from a first source comprising a first node in a content delivery network, at least one video chunk associated with a content item, wherein the received at least one video chunk is of a first predetermined length of time, wherein a first copy of the content item is stored using video chunks of the first predetermined length of time, and wherein a second copy of the content item is stored using video chunks of a second predetermined length of time that is different from the first predetermined length of time;
subsequent to receiving the at least one video chunk of the first predetermined length of time, determine, based at least in part on an operation to be performed, that a video chunk of the second predetermined length of time should be requested;
request at least one video chunk of the second predetermined length of time;
perform the operation at least in part by switching from a video chunk of the first predetermined length of time to the requested at least one video chunk of the second predetermined length of time; and
subsequent to performing the operation, revert to receiving video chunks of the first predetermined length of time, wherein the reverting comprises switching at a position in the content item at which an end of a video chunk of the second predetermined length of time corresponds to a start of a video chunk of the first predetermined length of time; and
a memory coupled to the one or more computer processors and configured to provide the one or more computer processors with instructions.

### Claim 2 (depends on 1)

The system of claim 1 wherein the requested at least one video chunk of the second length of time is also requested from the first source.

### Claim 3 (depends on 1)

The system of claim 1 wherein the requested at least one video chunk of the second length of time is requested from a second source comprising a second node that is different from the first node.

### Claim 4 (depends on 1)

The system of claim 1 wherein the operation includes adjusting a bitrate.

### Claim 5 (depends on 1)

The system of claim 1 wherein the operation includes performing a switch from the first source to another source.

### Claim 6 (depends on 1)

The system of claim 1 wherein the video chunk of the first length of time includes a same content as a plurality of chunks of the second length of time.

### Claim 7 (depends on 1)

The system of claim 1 wherein the operation to be performed comprises seeking to a time point in the content item.

### Claim 8

A method, comprising:
receiving, from a first source comprising a first node in a content delivery network, at least one video chunk associated with a content item, wherein the received at least one video chunk is of a first predetermined length of time, wherein a first copy of the content item is stored using video chunks of the first predetermined length of time, and wherein a second copy of the content item is stored using video chunks of a second predetermined length of time that is different from the first predetermined length of time;
subsequent to receiving the at least one video chunk of the first predetermined length of time, determining, based at least in part on an operation to be performed and using one or more computer processors, that a video chunk of the second predetermined length of time should be requested;
requesting at least one video chunk of the second predetermined length of time;
performing the operation at least in part by switching from a video chunk of the first predetermined length of time to the requested at least one video chunk of the second predetermined length of time; and
subsequent to performing the operation, reverting to receiving video chunks of the first predetermined length of time, wherein the reverting comprises switching at a position in the content item at which an end of a video chunk of the second predetermined length of time corresponds to a start of a video chunk of the first predetermined length of time.

### Claim 9 (depends on 8)

The method of claim 8 wherein the requested at least one video chunk of the second length of time is requested from the first source.

### Claim 10 (depends on 8)

The method of claim 8 wherein the requested at least one video chunk of the second length of time is requested from a second source comprising a second node that is different from the first node.

### Claim 11 (depends on 8)

The method of claim 8 wherein the operation includes adjusting a bitrate.

### Claim 12 (depends on 8)

The method of claim 8 wherein the operation includes performing a switch from the first source to another source.

### Claim 13 (depends on 8)

The method of claim 8 wherein the video chunk of the first length of time includes a same content as a plurality of chunks of the second length of time.

### Claim 14 (depends on 8)

The method of claim 8 wherein the operation to be performed comprises seeking to a time point in the content item.

### Claim 15

A computer program product embodied in a non-transitory computer readable storage medium and comprising instructions for:
receiving, from a first source comprising a first node in a content delivery network, at least one video chunk associated with a content item, wherein the received at least one video chunk is of a first predetermined length of time, wherein a first copy of the content item is stored using video chunks of the first predetermined length of time, and wherein a second copy of the content item is stored using video chunks of a second predetermined length of time that is different from the first predetermined length of time;
subsequent to receiving the at least one video chunk of the first predetermined length of time, determining, based at least in part on a type of operation to be performed and using one or more computer processors, that a video chunk of the second predetermined length of time should be requested;
requesting at least one video chunk of the second predetermined length of time;
performing the operation at least in part by switching from a video chunk of the first predetermined length of time to the requested at least one video chunk of the second predetermined length of time; and
subsequent to performing the operation, reverting to receiving video chunks of the first predetermined length of time, wherein the reverting comprises switching at a position in the content item at which an end of a video chunk of the second predetermined length of time corresponds to a start of a video chunk of the first predetermined length of time.
