# US 11,910,032 B1 · Systems and methods for distributed media streaming

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

- Number: US 11,910,032 B1
- Document ID: US11910032B1
- Status: Granted
- Kind: B1
- Application number: 17/879,211
- Filed: 2022-08-02
- Published: 2024-02-08
- Granted: 2024-02-20
- Earliest claimed: 2022-08-02
- Assignees: Rovi Guides, Inc.
- Applicants: Rovi Guides, Inc.
- Inventors: Antti Heikkinen; Mikko Uitto
- Web page: https://patentgrep.com/patent/US11910032B1

## CPC

- H04L 65/61: for supporting one-way streaming services, e.g. Internet radio
- 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)}
- H04L 65/765: {intermediate}
- H04L 65/80: Responding to QoS
- H04L 67/289: Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
- H04L 67/568: Storing data temporarily at an intermediate stage, e.g. caching
- H04N 21/2187: Live feed
- H04N 21/2225: Local VOD servers
- H04N 21/23439: {for generating different versions}
- H04N 21/6131: {involving transmission via a mobile phone network (wireless downlink channel access H04W74/006)}
- 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/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04L 67/101: based on network conditions
- 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 and methods are described for identifying a first network (associated with an edge server comprising a cache) and a second network available to a user equipment device. A request to access at least a portion of a media asset may be received from the user equipment device. In response to determining that the at least a portion of the media asset is not stored in the cache, a determination may be made whether the edge server, via the first network, or whether the user equipment device, via the second network, should obtain such at least a portion of the media asset. Such at least a portion of the media asset may be obtained using the selected server via the first network or using the selected user equipment device via the second network, caused to be stored at the cache, and generated for display at the user equipment device.

## Claims

### Claim 1

A computer-implemented method comprising:
identifying a first network and a second network available to a user equipment device, wherein the user equipment device is configured to communicate with a content server via at least one of the first network or via the second network, and wherein the first network is associated with an edge server comprising a cache;
receiving, from the user equipment device, a request to access at least a portion of a media asset;
determining whether the at least a portion of the media asset is stored in the cache;
in response to determining that the at least a portion of the media asset is not stored in the cache:
determining whether the edge server should be selected to obtain the at least a portion of the media asset via the first network from the content server or the user equipment device should be selected to obtain the at least a portion of the media asset via the second network from the content server;
in response to determining that the user equipment device should be selected to obtain the at least a portion of the media asset via the second network from the content server, causing the at least a portion of the media asset to be obtained using the selected user equipment device via the second network;
causing the at least a portion of the media asset obtained using the selected user equipment device via the second network to be stored at the cache; and
causing the at least a portion of the media asset obtained using the selected user equipment device via the second network to be generated for display at the user equipment device.

### Claim 2 (depends on 1)

The method of claim 1, wherein the user equipment device is a first user equipment device, the method further comprising:
receiving, from a second user equipment device, a request to access the at least a portion of the media asset;
wherein determining whether the edge server should be selected to obtain the at least a portion of the media asset via the first network or the first user equipment device should be selected to obtain the at least a portion of the media asset via the second network further comprises determining whether the edge server should be selected to obtain the at least a portion of the media asset via the first network or the first user equipment device should be selected to obtain the at least a portion of the media asset via the second network or the second user equipment device should be selected to obtain the at least a portion of the media asset via the second network.

### Claim 3 (depends on 2)

The method of claim 2, wherein:
the first network is a localized private network,
the second network is a cellular network;
each of the first user equipment device and the second user equipment device is located in a physical environment associated with the localized private network; and
the at least a portion of the media asset obtained using the selected user equipment device via the second network is provided to the edge server by the selected first user equipment device via the localized private network.

### Claim 4 (depends on 3)

The method of claim 3, wherein:
causing the at least a portion of the media asset obtained using the selected user equipment device via the second network to be stored to the cache is performed based at least in part on determining that the at least a portion of the media asset is likely to be requested by another user equipment device in the physical environment associated with the localized private network.

### Claim 5 (depends on 3)

The method of claim 3, wherein:
causing the at least a portion of the media asset obtained using the selected user equipment device via the second network to be stored to the cache is performed based at least in part on determining that one or more portions of the media asset are being provided to a plurality of user equipment devices in the physical environment associated with the localized private network.

### Claim 6 (depends on 1)

The method of claim 1, wherein:
the media asset is a live broadcast; and
causing the at least a portion of the media asset obtained using the selected user equipment device via the second network to be stored to the cache is performed based at least in part on determining that the user equipment device is likely to request that a trick-play operation be performed on the at least a portion of the media asset.

### Claim 7 (depends on 1)

The method of claim 1, wherein the at least a portion of a media asset is a first portion of the media asset, the method further comprising:
receiving, from the user equipment device, a request to access a second portion of a media asset;
in response to determining that the second portion of the media asset is not stored in the cache:
determining whether the edge server should be selected to obtain the second portion of the media asset via the first network or the user equipment device should be selected to obtain the second portion of the media asset via the second network; and
in response to determining that the edge server should be selected to obtain the second portion of the media asset via the first network from a content server, causing the second portion of the media asset to be obtained using the selected edge server via the first network.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
causing the user equipment device to provide the at least a portion of the media asset to the edge server via the first network.

### Claim 9 (depends on 1)

The method of claim 1, wherein:
determining whether the edge server should be selected to obtain the at least a portion of the media asset via the first network or whether the user equipment device should be selected to obtain the at least a portion of the media asset via the second network comprises:
determining network characteristics associated with the first network;
determining network characteristics associated with the second network; and
selecting the user equipment device to obtain the at least a portion of the media asset via the second network based at least in part on the determined network characteristics associated with the first network and the determined network characteristics associated with the second network.

### Claim 10 (depends on 1)

The method of claim 1, wherein:
identifying the second network available to the user equipment device comprises receiving, at the edge server, an indication from the user equipment device specifying the second network and indicating a portion of the second network allocated for use in association with the edge server.

### Claim 11

A computer-implemented system comprising:
an edge server comprising a cache; and
control circuitry configured to:
identify a first network and a second network available to a user equipment device, wherein the user equipment device is configured to communicate with a content server via at least one of the first network or via the second network, and wherein the first network is associated with the edge server comprising the cache;
receive, from the user equipment device, a request to access at least a portion of a media asset;
determine whether the at least a portion of the media asset is stored in the cache;
in response to determining that the at least a portion of the media asset is not stored in the cache:
determine whether the edge server should be selected to obtain the at least a portion of the media asset via the first network from the content server or the user equipment device should be selected to obtain the at least a portion of the media asset via the second network from the content server;
in response to determining that the user equipment device should be selected to obtain the at least a portion of the media asset via the second network from the content server, cause the at least a portion of the media asset to be obtained using the selected user equipment device via the second network;
cause the at least a portion of the media asset obtained using the selected user equipment device via the second network to be stored at the cache; and
cause the obtained at least a portion of the media asset to be generated for display at the user equipment device.

### Claim 12 (depends on 11)

The system of claim 11, wherein the user equipment device is a first user equipment device, and the control circuitry is further configured to:
receive, from a second user equipment device, a request to access the at least a portion of the media asset;
determine whether the edge server should be selected to obtain the at least a portion of the media asset via the first network or the first user equipment device should be selected to obtain the at least a portion of the media asset via the second network by further determining whether the edge server should be selected to obtain the at least a portion of the media asset via the first network or the first user equipment device should be selected to obtain the at least a portion of the media asset via the second network or the second user equipment device should be selected to obtain the at least a portion of the media asset via the second network.

### Claim 13 (depends on 12)

The system of claim 12, wherein:
the first network is a localized private network,
the second network is a cellular network;
each of the first user equipment device and the second user equipment device is located in a physical environment associated with the localized private network; and
the control circuitry is further configured to:
cause the at least a portion of the media asset obtained using the selected user equipment device via the second network to be provided to the edge server by the selected first user equipment device or by the selected second user equipment device via the localized private network.

### Claim 14 (depends on 13)

The system of claim 13, wherein:
the control circuitry is configured to cause the at least a portion of the media asset obtained using the selected user equipment device via the second network to be stored at the cache by determining that the at least a portion of the media asset is likely to be requested by another user equipment device in the physical environment associated with the localized private network.

### Claim 15 (depends on 13)

The system of claim 13, wherein:
the control circuitry is configured to cause the at least a portion of the media asset obtained using the selected user equipment device via the second network to be stored at the cache by determining that one or more portions of the media asset are being provided to a plurality of user equipment devices in the physical environment associated with the localized private network.

### Claim 16 (depends on 11)

The system of claim 11, wherein:
the media asset is a live broadcast; and
the control circuitry is configured to cause the at least a portion of the media asset obtained using the selected user equipment device via the second network to be stored at the cache by determining that the user equipment device is likely to request that a trick-play operation be performed on the at least a portion of the media asset.

### Claim 17 (depends on 11)

The system of claim 11, wherein the at least a portion of a media asset is a first portion of the media asset, and the control circuitry is further configured to:
receive, from the user equipment device, a request to access a second portion of a media asset;
in response to determining that the second portion of the media asset is not stored in the cache:
determine whether the edge server should be selected to obtain the second portion of the media asset via the first network or the user equipment device should be selected to obtain the second portion of the media asset via the second network; and
in response to determining that the edge server should be selected to obtain the second portion of the media asset via the first network from a content server, cause the second portion of the media asset to be obtained using the selected edge server via the first network.

### Claim 18 (depends on 11)

The system of claim 11, wherein the control circuitry is further configured to:
cause the user equipment device to provide the obtained at least a portion of the media asset to the edge server via the first network.

### Claim 19 (depends on 11)

The system of claim 11, wherein the control circuitry is further configured to:
determine whether the edge server should be selected to obtain the at least a portion of the media asset via the first network or whether the user equipment device should be selected to obtain the at least a portion of the media asset via the second network by:
determining network characteristics associated with the first network;
determining network characteristics associated with the second network; and
selecting user equipment device to obtain the at least a portion of the media asset via the second network, based at least in part on the determined network characteristics associated with the first network and the determined network characteristics associated with the second network.

### Claim 20 (depends on 11)

The system of claim 11, wherein the control circuitry is further configured to:
identify the second network available to the user equipment device by receiving, at the edge server, an indication from the user equipment device specifying the second network and indicating a portion of the second network allocated for use in association with the edge server.
