# US 12,120,366 B2 · Methods and systems for efficiently downloading media assets

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

- Number: US 12,120,366 B2
- Document ID: US12120366B2
- Status: Granted
- Kind: B2
- Application number: 18/382,317
- Filed: 2023-10-20
- Published: 2024-05-16
- Granted: 2024-10-15
- Earliest claimed: 2016-03-31
- Assignees: Rovi Guides, Inc.
- Applicants: Rovi Guides, Inc.
- Inventors: Aaron Peter Blohowiak; Ryan Werth; Olivier Chalouhi; Ofer Vaisler; Milan Patel
- Web page: https://patentgrep.com/patent/US12120366B2

## CPC

- H04N 21/2402: {Monitoring of the downstream path of the transmission network, e.g. bandwidth available (traffic monitoring in data switching networks H04L43/00; monitoring data switching networks utilization H04L43/0876)}
- H04N 21/2407: {Monitoring of transmitted content, e.g. distribution time, number of downloads (arrangements for monitoring programmes for broadcast or for distribution combined with broadcast H04H20/14)}
- H04N 21/4334: {Recording operations (recording of a television signal H04N5/76; arrangements for recording or accumulating broadcast information or broadcast-related information H04H60/27)}
- H04N 21/44209: {Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network (arrangements for maintenance or administration in data switching networks involving bandwidth and capacity management H04L41/0896)}
- H04N 21/4532: {involving end-user characteristics, e.g. viewer profile, preferences (monitoring of user activities for profile generation for accessing a video database G06F16/739; user profiles in network data switching protocols H04L67/306; processing of user preferences or user profiles in wireless networks H04W8/18)}
- 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/4821: {using a grid, e.g. sorted out by channel and broadcast time}
- H04N 21/84: Generation or processing of descriptive data, e.g. content descriptors {(systems specially adapted for using meta-information in broadcast systems H04H60/73)}
- H04N 21/845: Structuring of content, e.g. decomposing content into time segments
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Methods and systems are described for downloading media assets efficiently and quickly before loss of network connectivity. The method may allow a user to download portions of a media asset in different versions to download a maximum portion of the media asset before loss of network connectivity. Certain versions of media assets may be downloaded more quickly than other versions of media assets. The method may also allow a user to view partially downloaded media assets without network connectivity. The method may also replace portions of media assets downloaded in a first version with portions of the media assets in a second version once network connectivity is restored.

## Claims

### Claim 1

A method comprising:
receiving, via a computing device, a user selection of a media asset and a set time variable;
computing a size of a first segment of a first version of the media asset and a size of a second segment of a second version of the media asset such that the time to download a combination of the first segment and the second segment via a communication network is less than the set time variable, wherein the computing comprises optimizing the size of the first segment and the size of the second segment to maximize a higher quality version from among the first version of the media asset and the second version of the media asset; and
downloading, from a server via the communication network, the first segment and the second segment.

### Claim 2 (depends on 1)

The method of claim 1 wherein the combination of the first segment and the second segment forms a complete version of the media asset.

### Claim 3 (depends on 1)

The method of claim 1 further comprising generating for display the first segment and the second segment.

### Claim 4 (depends on 1)

The method of claim 1 further comprising estimating an amount of time remaining before a loss of connectivity between the computing device and the server and downloading the first segment and the second segment before the loss of connectivity.

### Claim 5 (depends on 4)

The method of claim 4 wherein estimating an amount of time remaining before a loss of connectivity between the computing device and the server comprises:
monitoring the size of the first segment and the size of the second segment;
determining an available download bandwidth; and
adjusting the size of the first segment and the size of the second segment based on the available download bandwidth.

### Claim 6 (depends on 1)

The method of claim 1 further comprising receiving a user selection of a requested version of the media asset and wherein computing a size of a first segment of a first version of the media asset and a size of a second segment of a second version of the media asset is based on the user selection of the requested version of the media asset.

### Claim 7 (depends on 1)

The method of claim 1 further comprising receiving a user selection of a size of a first segment of a first version of the media asset and a user selection a size of a second segment of a second version of the media asset and wherein a size of a first segment of a first version of the media asset and a size of a second segment of a second version of the media asset comprises adjusting the user selection of a size of the first segment of the first version of the media asset and the user selection a size of the second segment of the second version of the media asset.

### Claim 8 (depends on 1)

The method of claim 1 wherein the estimating the amount of time remaining before the loss of connectivity comprises retrieving a user profile comprising at least one of a calendar, a location, and a behavior pattern.

### Claim 9 (depends on 1)

The method of claim 1 wherein the computing comprises:
identifying a size of a plurality of versions of the media asset;
calculating a maximum download based on the set time variable; and
wherein the computing is based on the calculated maximum download.

### Claim 10

A system comprising:
communication circuitry configured for a communication network; and
control circuitry configured to:
receive, via a computing device, a user selection of a media asset and a set time variable;
compute a size of a first segment of a first version of the media asset and a size of a second segment of a second version of the media asset such that the time to download a combination of the first segment and the second segment via a communication network is less than the set time variable, wherein the computing comprises optimizing the size of the first segment and the size of the second segment to maximize a higher quality version from among the first version of the media asset and the second version of the media asset; and
download, from a server via the communication network, the first segment and the second segment.

### Claim 11 (depends on 10)

The system of claim 10 wherein the combination of the first segment and the second segment forms a complete version of the media asset.

### Claim 12 (depends on 10)

The system of claim 10 the control circuitry further configured to generate for display the first segment and the second segment.

### Claim 13 (depends on 10)

The system of claim 10 the control circuitry further configured to estimate an amount of time remaining before a loss of connectivity between the computing device and the server and downloading the first segment and the second segment before the loss of connectivity.

### Claim 14 (depends on 13)

The system of claim 13 the control circuitry further configured to estimate an amount of time remaining before a loss of connectivity between the computing device and the server by:
monitoring the size of the first segment and the size of the second segment;
determining an available download bandwidth; and
adjusting the size of the first segment and the size of the second segment based on the available download bandwidth.

### Claim 15 (depends on 10)

The system of claim 10 the control circuitry further configured to receive a user selection of a requested version of the media asset and wherein computing a size of a first segment of a first version of the media asset and a size of a second segment of a second version of the media asset is based on the user selection of the requested version of the media asset.

### Claim 16 (depends on 10)

The system of claim 10 the control circuitry further configured to receive a user selection of a size of a first segment of a first version of the media asset and a user selection a size of a second segment of a second version of the media asset and wherein a size of a first segment of a first version of the media asset and a size of a second segment of a second version of the media asset comprises adjusting the user selection of a size of the first segment of the first version of the media asset and the user selection a size of the second segment of the second version of the media asset.

### Claim 17 (depends on 10)

The system of claim 10 the control circuitry further configured to estimate the amount of time remaining before the loss of connectivity by retrieving a user profile comprising at least one of a calendar, a location, and a behavior pattern.

### Claim 18 (depends on 10)

The system of claim 10 the control circuitry further configured to compute by:
identifying a size of a plurality of versions of the media asset;
calculating a maximum download based on the set time variable; and
wherein the computing is based on the calculated maximum download.
