# US 10,764,344 B2 · Apparatus, systems and methods for providing edge cached media content to media devices based on user history

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

- Number: US 10,764,344 B2
- Document ID: US10764344B2
- Status: Granted
- Kind: B2
- Application number: 16/113,122
- Filed: 2018-08-27
- Published: 2019-01-10
- Granted: 2020-09-01
- Earliest claimed: 2012-01-18
- Assignees: DISH Technologies L.L.C.
- Applicants: DISH Technologies L.L.C.
- Inventors: Christofer Hardy
- Web page: https://patentgrep.com/patent/US10764344B2

## CPC

- H04L 65/60: Network streaming of media packets
- H04L 65/611: for multicast or broadcast (systems for broadcast or conference H04L12/18; arrangements for broadcast or distribution combined with broadcast H04H20/00; arrangements for broadcast applications with a direct linkage to broadcast information or to broadcast space-time H04H60/00; selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS], H04W4/06)
- H04L 65/612: for unicast
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04N 21/251: {Learning process for intelligent management, e.g. learning user preferences for recommending movies (details of learning user preferences for the retrieval of video data in a video database G06F16/739; computer systems using learning methods G06N3/08)}
- H04N 21/254: Management at additional data server, e.g. shopping server, rights management server {(arrangements for maintenance or administration in data networks H04L41/00; network services using third party service providers H04L67/53)}
- H04N 21/25891: {being end-user preferences (retrieval of video data in a video database based on user preferences G06F16/739; arrangements for recognizing users' preferences H04H60/46; user profiles in network data switching protocols H04L67/306; processing of user preferences or user profiles in wireless networks H04W8/18)}
- H04N 21/262: Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists {(scheduling strategies for dispatcher in multiprogramming arrangements G06F9/4881; arrangements for scheduling broadcast services or broadcast-related services H04H60/06; flow control in packet networks H04L47/10; establishing a time schedule or organising the servicing of application requests H04L67/62)}
- H04N 21/4331: {Caching operations, e.g. of an advertisement for later insertion during playback}
- 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)}
- 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 provide media content events to media devices. An exemplary system receives a request for a media content event from a first media device; communicates the media content event to an edge server that is communicatively coupled to the first media device based on an identifier of the requesting media device; identifies a second media device based on preferred media content event characteristics associated with the second media device, wherein at least one media content event characteristic of the requested media content event corresponds to at least one of the preferred media content event characteristics of the second media device, and wherein the second media device is able to communicatively couple to the edge server; and in response to identifying the second media device, communicates an identifier of the second media device to the edge server, wherein the requested media content event is communicated to the second media device.

## Claims

### Claim 1

A method for providing media content events from a first edge server to a first plurality of media devices that are communicatively coupled to the first edge server, wherein the first edge server is communicatively coupled to a second edge server via a communication system, and wherein requested media content events are communicated from a media content event access system to the first edge server via the second edge server, the method comprising:
receiving, at the first edge server, a media content event from the media content event access system in response to a request for the media content event from a first media device that is a member of the first plurality of media devices;
storing the media content event requested by the first media device at the first edge server for a predefined storage duration, wherein the media content event is no longer stored at the first edge server after expiration of the predefined storage duration;
communicating the media content event from the first edge server to the first media device;
identifying a second plurality of media devices after the first edge server has received and stored the media content event,
wherein each of the second plurality of media devices has a memory medium with a first portion and a second portion that stores media content events,
wherein, when one media device of the second plurality of media devices presents an electronic program guide (EPG), the presented EPG includes a list of media content events received from the first edge server that are authorized to be presented and that are stored in a first portion of the memory medium at the one media device of the second plurality of media devices, and
wherein the presented EPG omits a list of media content events received from the first edge server that are not authorized to be presented and that are stored in a second portion of the memory medium at the one media device of the second plurality of media devices;
identifying a third plurality of media devices from the second plurality of media devices that are authorized to present the media content event;
identifying a fourth plurality of media devices from the second plurality of media devices that are not authorized to present the media content event;
communicating the media content event before expiration of the predefined storage duration from the first edge server to the second plurality of media devices that have not requested the media content event,
wherein the media content event is stored in a first portion of a memory medium at each of the third plurality of media devices that are authorized to present the media content event, and
wherein the media content event is stored in a second portion of a memory medium at each of the fourth plurality of media devices that are not authorized to present the media content event.

### Claim 2 (depends on 1)

The method of claim 1, wherein the communicating the media content event to the second plurality of media devices comprises:
communicating one of first information or second information with the communicated media content event,
wherein the first information causes each of the third plurality of media devices to store the media content event in the first portion of the memory medium at each of the third plurality of media devices, and
wherein the second information causes each of the fourth plurality of media devices to store the media content event in the first portion of the memory medium at each of the fourth plurality of media devices.

### Claim 3 (depends on 1)

The method of claim 1, wherein after the media content event has been communicated to the second plurality of media devices, the method further comprises:
receiving a request for the media content event at the first edge server from one media device of the fourth plurality of media devices;
communicating the request to the media content event access system via the second edge server;
receiving authorization from the media content event access system at the first edge server, wherein the authorization authorizes the requesting one media device of the fourth plurality of media devices to present the media content event; and
communicating third information from the first edge server to the requesting one media device of the fourth plurality of media devices,
wherein the third information permits the requesting one media device of the fourth plurality of media devices to access and present the media content event that is stored in the second portion of the memory medium at the requesting one media device of the fourth plurality of media devices.

### Claim 4 (depends on 1)

The method of claim 1, wherein after the media content event has been communicated to the second plurality of media devices, the method further comprises:
receiving a request for the media content event at the media content event access system from the one media device of the fourth plurality of media devices;
determining, by the media content event access system, that the requesting one media device of the fourth plurality of media devices is authorized to present the media content event; and
communicating third information from the media content event access system to the requesting one media device of the fourth plurality of media devices,
wherein the third information permits the requesting one media device of the fourth plurality of media devices to access and present the media content event that is stored in the second portion of the memory medium at the requesting one media device of the fourth plurality of media devices.

### Claim 5 (depends on 4)

The method of claim 4, wherein the request received from the requesting one media device of the fourth plurality of media devices includes payment to access the media content event.

### Claim 6 (depends on 1)

The method of claim 1, wherein, after the media content event has been communicated to the second plurality of media devices, the method further comprises:
receiving a request for the media content event at a media service provider that provides the media content event to the media content event access system for distribution to the first plurality of media devices;
determining, by the media service provider, that a requesting one media device of the fourth plurality of media devices is authorized to present the media content event; and
communicating third information from the media service provider to the requesting one media device of the fourth plurality of media devices,
wherein the third information permits the requesting one media device of the fourth plurality of media devices to access and present the media content event that is stored in the second portion of the memory medium at the requesting one media device of the fourth plurality of media devices.

### Claim 7 (depends on 6)

The method of claim 6, wherein the request received from the requesting one media device of the fourth plurality of media devices includes payment to access the media content event.

### Claim 8 (depends on 1)

The method of claim 1, wherein, prior to communicating the media content event to the second plurality of media devices, the method further comprising:
establishing a communication link between the first edge server and each one of the second plurality of media devices,
wherein the media content event is then communicated from the first edge server to the second plurality of media devices via the respective established communication link.

### Claim 9 (depends on 1)

The method of claim 1, wherein, after the predefined storage duration, the method further comprising:
erasing the media content event requested by the first media device that is stored at the first edge server in response to expiration of the predefined storage duration,
wherein the media content event remains stored in the memory medium at each of the second plurality of media devices.

### Claim 10 (depends on 1)

The method of claim 1, wherein the communication system communicatively coupling the first edge server and the second edge server is a private data transport system that transports the media content event requested by the first media device from the second edge server to the first edge server for a fee.

### Claim 11 (depends on 1)

The method of claim 1, wherein the identifying the second plurality of media devices after the first edge server has received and stored the media content event comprises:
predicting, for each media device of the second plurality of media devices, that the media device of the second plurality of media devices is likely to request the media content event,
wherein the prediction is based on an analysis of usage history about presentation of other media content events at each media device of the second plurality of media devices.

### Claim 12 (depends on 1)

The method of claim 1, wherein the identifying the second plurality of media devices after the first edge server has received and stored the media content event comprises:
determining if the media content event has already been communicated to each of the first plurality of media devices,
wherein any of the first plurality of media devices that have already received the media content event are not selected as members of the second plurality of media devices.

### Claim 13

A system comprising:
a first edge server comprising a memory, the first edge server communicatively coupled to a first plurality of media devices,
wherein the first edge server is communicatively coupled to a second edge server via a private data transport system that transports media content events from a media content event access system via the second edge server to the first edge server for a fee,
the first edge server is configured to:
receive a media content event from a media content event access system in response to a request for the media content event from a first media device that is a member of the first plurality of media devices;
store the media content event requested by the first media device for a predefined storage duration, wherein the media content event is no longer stored at the first edge server after expiration of the predefined storage duration,
communicate the stored media content event to the first media device;
identify a second plurality of media devices after receiving the media content event,
wherein each of the second plurality of media devices has a memory medium with a first portion and a second portion that stores media content events,
wherein, when one media device of the second plurality of media devices presents an electronic program guide (EPG), the presented EPG includes a list of media content events received from the first edge server that are authorized to be presented and that are stored in a first portion of a memory medium at the one media device of the second plurality of media devices, and
wherein the presented EPG omits a list of media content events received from the first edge server that are not authorized to be presented and that are stored in a second portion of the memory medium at the one media device of the second plurality of media devices;
identify a third plurality of media devices from the second plurality of media devices that are authorized to present the media content event;
identify a fourth plurality of media devices from the second plurality of media devices that are not authorized to present the media content event; and
communicate the media content event before expiration of the predefined storage duration from the first edge server to the second plurality of media devices that have not requested the media content event,
wherein the media content event is stored in a first portion of a memory medium at each of the third plurality of media devices that are authorized to present the media content event, and
wherein the media content event is stored in a second portion of a memory medium at each of the fourth plurality of media devices that are not authorized to present the media content event.

### Claim 14 (depends on 13)

The system of claim 13, wherein the first edge server is further configured to:
communicate one of first information or second information with the communicated media content event,
wherein the first information causes the third plurality of media devices to store the media content event in the first portion of the memory medium at each of the third plurality of media devices, and
wherein the second information causes the fourth plurality of media devices to store the media content event in the first portion of the memory medium at each of the fourth plurality of media devices.

### Claim 15 (depends on 13)

The system of claim 13, wherein the first edge server is configured to:
after the media content event has been communicated to the second plurality of media devices, receive a request for the media content event at the first edge server from one media device of the fourth plurality of media devices;
communicate the request to the media content event access system via the second edge server;
receive authorization from the media content event access system at the first edge server, wherein the authorization authorizes the requesting one media device of the fourth plurality of media devices to present the media content event; and
communicate third information from the first edge server to the requesting one media device of the fourth plurality of media devices,
wherein the third information permits the requesting one media device of the fourth plurality of media devices to access and present the media content event that is stored in the second portion of the memory medium at the requesting one media device of the fourth plurality of media devices.

### Claim 16 (depends on 13)

The system of claim 13, wherein the first edge server is configured to:
after the media content event has been communicated to the second plurality of media devices, send a request for the media content event to the media content event access system from one media device of the fourth plurality of media devices;
where the system further comprises the media content event access system, which comprises a processor and memory, and is configured to:
determine that the requesting one media device of the fourth plurality of media devices is authorized to present the media content event; and
communicate third information to the requesting one media device of the fourth plurality of media devices,
wherein the third information permits the requesting one media device of the fourth plurality of media devices to access and present the media content event that is stored in the second portion of the memory medium at the requesting one media device of the fourth plurality of media devices.

### Claim 17 (depends on 16)

The system of claim 16, wherein the request received from the requesting one media device of the fourth plurality of media devices includes payment to access the media content event.

### Claim 18 (depends on 13)

The system of claim 13, wherein the system further comprises a media service provider that is configured to:
after the media content event has been communicated to the second plurality of media devices, receive a request for the media content event at the media service provider that provides the media content event to the media content event access system for distribution to the first plurality of media devices;
determine that a requesting one media device of the fourth plurality of media devices is authorized to present the media content event; and
communicate third information to the requesting one media device of the fourth plurality of media devices,
wherein the third information permits the requesting one media device of the fourth plurality of media devices to access and present the media content event that is stored in the second portion of the memory medium at the requesting one media device of the fourth plurality of media devices.

### Claim 19 (depends on 18)

The system of claim 18, wherein the request received from the requesting one media device of the fourth plurality of media devices includes payment to access the media content event.
