# US 10,311,012 B2 · Media content playback with state prediction and caching

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

- Number: US 10,311,012 B2
- Document ID: US10311012B2
- Status: Granted
- Kind: B2
- Application number: 15/721,138
- Filed: 2017-09-29
- Published: 2018-07-05
- Granted: 2019-06-04
- Earliest claimed: 2016-12-31
- Assignees: Spotify AB
- Applicants: Spotify AB
- Inventors: Simon Hofverberg; Fredrik Schmidt; Johan Oskarsson; Ariel Marcus; Chris Doyle; Joseph Tam; Minchull Kim
- Web page: https://patentgrep.com/patent/US10311012B2

## CPC

- G06F 15/167: using a common memory, e.g. mailbox
- G06F 12/0888: using selective caching, e.g. bypass
- G06F 12/1408: {by using cryptography (for digital transmission H04L9/00)}
- G06N 5/02: Knowledge representation; Symbolic representation
- H04L 67/5681: Pre-fetching or pre-delivering data based on network characteristics
- 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)}
- G06F 2212/602: Details relating to cache prefetching
- G06F 2212/603: of operating mode, e.g. cache mode or local memory mode
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Systems, devices, apparatuses, components, methods, and techniques for predicting user and media-playback device states are provided. Systems, devices, apparatuses, components, methods, and techniques for representing cached, user-selected, and streaming content are also provided.

## Claims

### Claim 1

A media-playback device comprising:
a media output device that plays media content items;
a cache storing media content items or media content keys;
a caching engine configured to curate the storage of media content items or media content keys in the cache according to caching parameters; and
at least one non-transitory computer readable data storage device storing instructions that, when executed by at least one processor, cause the media-playback device to:
determine whether the media-playback device is in a predetermined state or will enter a predetermined state within a threshold period of time; and
modify at least one of the caching parameters responsive to determining that the media-playback device is in the predetermined state or will enter the predetermined state within a threshold period of time.

### Claim 2 (depends on 1)

The media-playback device of claim 1, wherein the modified at least one of the caching parameters causes the caching engine to more aggressively cache media content items or media content keys, such that the caching engine caches more media content items or media content keys than the caching engine would have if the at least one of the caching parameters had not been modified.

### Claim 3 (depends on 1)

The media-playback device of claim 1, wherein the modified at least one of the caching parameters causes the caching engine to:
select uncached media content items based in part on predicted qualities of the predetermined state; and
cache one or more of the selected media content items prior to the media-playback device entering the predetermined state or while the media-playback device is in the predetermined state.

### Claim 4 (depends on 1)

The media-playback device of claim 1, wherein curating the storage of media content items or media content keys comprises:
retrieving media content items or media content keys from a location remote from the media-playback device; and
storing the retrieved media content items or media content keys in the cache.

### Claim 5 (depends on 1)

The media-playback device of claim 1, wherein curating the storage of media content items or media content keys comprises removing one or more media content items or one or more media content keys from the cache.

### Claim 6

A method, comprising:
determining whether the media-playback device is in a predetermined state or will enter a predetermined state within a threshold period of time; and
modifying one or more caching parameters responsive to determining that the media-playback device is in the predetermined state or will enter the predetermined state within a threshold period of time; and
curating storage of media content items or media content keys in a cache according to the one or more caching parameters.

### Claim 7 (depends on 6)

The method of claim 6, wherein modifying the one or more caching parameters causes more media content items or media content keys to be cached during the curating than would have been cached if the one or more caching parameters not been so modified.

### Claim 8 (depends on 6)

The method of claim 6, wherein curating storage of the media content items or media content keys in the cache according to the one or more caching parameters includes:
selecting one or more uncached media content items based in part on predicted qualities of the predetermined state; and
cache one or more of the one or more selected media content items prior to the media-playback device entering the predetermined state or while the media-playback device is in the predetermined state.

### Claim 9 (depends on 6)

The method of claim 6, wherein curating the storage of media content items or media content keys includes:
retrieving media content items or media content keys from a location remote from the media-playback device; and
storing the retrieved media content items or media content keys in the cache.

### Claim 10 (depends on 6)

The method of claim 6, wherein curating the storage of media content items or media content keys includes removing one or more media content items or one or more media content keys from the cache.

### Claim 11

A non-transitory computer readable data storage device storing instructions that, when executed by at least one processor, cause the at least one processor to:
determine whether a media-playback device is in a predetermined state or will enter a predetermined state within a threshold period of time; and
modify one or more caching parameters responsive to determining that the media-playback device is in the predetermined state or will enter the predetermined state within a threshold period of time; and
curate storage of media content items or media content keys in a cache according to the one or more caching parameters.

### Claim 12 (depends on 11)

The non-transitory computer readable data storage device of claim 11, wherein modifying the one or more caching parameters causes more media content items or media content keys to be cached during the curating than would have been cached if the one or more caching parameters had not been so modified.

### Claim 13 (depends on 11)

The non-transitory computer readable data storage device of claim 11, wherein curating the storage of media content items or media content keys in the cache according to the one or more caching parameters includes:
selecting one or more uncached media content items based in part on predicted qualities of the predetermined state; and
cache one or more of the one or more selected media content items prior to the media-playback device entering the predetermined state or while the media-playback device is in the predetermined state.

### Claim 14 (depends on 11)

The non-transitory computer readable data storage device of claim 11, wherein curating the storage of media content items or media content keys includes:
retrieving media content items or media content keys from a location remote from the media-playback device; and
storing the retrieved media content items or media content keys in the cache.

### Claim 15 (depends on 11)

The non-transitory computer readable data storage device of claim 11, wherein curating the storage of media content items or media content keys includes removing one or more media content items or one or more media content keys from the cache.
