IP Library Granted Patent US 12,052,450
Granted Patent B2
US 12,052,450 · App. 18/218,934 · Granted Jul 30, 2024

Fragment server directed device fragment caching

Inventors: Charles Nooney (Peidmont, CA); Kent Karlsson (Berkeley, CA)
Assignee: TiVo Corporation
H04N21/2353H04L65/1101H04L65/60H04L65/612H04L65/80H04L67/568H04L67/5682H04N21/2187H04N21/23106H04N21/234H04N21/23418H04N21/234309H04N21/2387H04N21/2393H04N21/251H04N21/4331H04N21/44016H04N21/6543H04N21/8451H04N21/2181
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,052,450
App. No.
18/218,934
Granted
Jul 30, 2024
Kind
B2
Abstract

The media stream delivery system encodes and fragments media streams into numerous media stream fragments maintained on fragment servers. Devices obtain fragments to reconstruct media streams including live real-time media streams for playback on the devices. A device may perform caching of media stream fragments so that particular fragments need not be accessed again from a fragment server. A fragment server or even a content provider can analyze and monitor characteristics of media streams, viewing behavior, content popularity, etc., to identify fragments for caching at the playback devices. Caching indicators along with time period indicators may be included in the media stream fragments.

Claims (45)

1. A method comprising:

receiving a plurality of media stream fragments at a first device;

identifying characteristics associated with the plurality of media stream fragments;

determining, based on the characteristics, whether any fragment of the plurality of media stream fragments includes a repeated media sequence; and

in response to determining that a respective media stream fragment of the plurality of media stream fragments includes a repeated media sequence, adding an indication in metadata of the respective media stream fragment to direct a receiving device to maintain the respective media stream fragment in a local cache of the receiving device for a period of time,

wherein, when requesting media stream fragments, a second device, having previously received the respective media stream fragment within the period of time, retrieves the respective media stream fragment from a local cache of the second device.

2. The method of claim 1 , wherein neither of a first media stream fragment nor a second media stream fragment are in the local cache of the second device, the method further comprising:

receiving a request for the first media stream fragment from the second device;

receiving a request for the second media stream fragment from the second device; and

selecting, based on the characteristics associated with the first media stream fragment and the second media stream fragment, at least one of the first media stream fragment or the second media stream fragment for caching by the second device.

3. The method of claim 2 , further comprising adding an indication in metadata of a selected media stream fragment to direct the second device to maintain the selected media stream fragment in the local cache of the second device.

4. The method of claim 2 , wherein the first media stream fragment of the plurality of media stream fragments is decoded using the first media stream fragment and the second media stream fragment.

5. The method of claim 1 , wherein the repeated media sequence includes advertisements, introductions sequences, and ending sequences.

6. The method of claim 1 , wherein each media stream fragment of the plurality of media stream fragments is an H.264 encoded fragment processed using a plurality of distributed and dynamically scalable encoder resources.

7. The method of claim 6 , wherein the plurality of distributed and dynamically scalable encoder resources is a plurality of virtual machines configured to perform encoding and fragmentation.

8. The method of claim 6 , wherein the H.264 encoded fragment is encoded form an MPEG-2 group of pictures (GOP).

9. A system comprising:

an interface configured to receive a plurality of media stream fragments; and

a processor configured to:

identify characteristics associated with the plurality of media stream fragments;

determine, based on the characteristics, whether any fragment of the plurality of media stream fragments includes a repeated media sequence; and

in response to determining that a respective media stream fragment of the plurality of media stream fragments includes a repeated media sequence, add an indication in metadata of the respective media stream fragment to direct a receiving device to maintain the respective media stream fragment in a local cache of the receiving device for a period of time,

wherein, when requesting media stream fragments, a second device, having previously received the respective media stream fragment within the period of time, retrieves the respective media stream fragment from a local cache of the second device.

10. The system of claim 9 , wherein neither of a first media stream fragment nor a second media stream fragment are in the local cache of the second device, and wherein the processor is further configured to:

receive a request for the first media stream fragment from the second device;

receive a request for the second media stream fragment from the second device; and

select, based on the characteristics associated with the first media stream fragment and the second media stream fragment, at least one of the first media stream fragment or the second media stream fragment for caching by the second device.

11. The system of claim 10 , wherein the processor is further configured to add an indication in metadata of a selected media stream fragment to direct the second device to maintain the selected media stream fragment in the local cache of the second device.

12. The method of claim 10 , wherein the first media stream fragment of the plurality of media stream fragments is decoded using the first media stream fragment and the second media stream fragment.

13. The method of claim 9 , wherein the repeated media sequence includes advertisements, introductions sequences, and ending sequences.

14. The method of claim 9 , wherein each media stream fragment of the plurality of media stream fragments is an H.264 encoded fragment processed using a plurality of distributed and dynamically scalable encoder resources.

15. The method of claim 14 , wherein the plurality of distributed and dynamically scalable encoder resources is a plurality of virtual machines configured to perform encoding and fragmentation.

16. The method of claim 14 , wherein the H.264 encoded fragment is encoded form an MPEG-2 group of pictures (GOP).

17. A non-transitory computer-readable medium having non-transitory computer-readable instructions encoded thereon that, when executed by a processor, cause the processor to:

receive a plurality of media stream fragments at a first device;

identify characteristics associated with the plurality of media stream fragments;

determine, based on the characteristics, whether any fragment of the plurality of media stream fragments includes a repeated media sequence; and

in response to determining that a respective media stream fragment of the plurality of media stream fragments includes a repeated media sequence, add an indication in metadata of the respective media stream fragment to direct a receiving device to maintain the respective media stream fragment in a local cache of the receiving device for a period of time,

wherein, when requesting media stream fragments, a second device, having previously received the respective media stream fragment within the period of time, retrieves the respective media stream fragment from a local cache of the second device.

18. The non-transitory computer-readable medium of claim 17 , wherein neither of a first media stream fragment nor a second media stream fragment are in the local cache of the second device, and wherein execution of the instructions further causes the processor to:

receive a request for the first media stream fragment from the second device;

receive a request for the second media stream fragment from the second device; and

select, based on the characteristics associated with the first media stream fragment and the second media stream fragment, at least one of the first media stream fragment or the second media stream fragment for caching by the second device.

19. The non-transitory computer-readable medium of claim 18 , wherein execution of the instructions further causes the processor to add an indication in metadata of a selected media stream fragment to direct the second device to maintain the selected media stream fragment in the local cache of the second device.

20. The non-transitory computer-readable medium of claim 18 , wherein the first media stream fragment of the plurality of media stream fragments is decoded using the first media stream fragment and the second media stream fragment.

Assignments (4)
CHANGE OF NAME Recorded Oct 1, 2024
From: TIVO CORPORATION
To: TIVO LLC
Reel/Frame 069083/0260 →
CHANGE OF NAME Recorded Oct 1, 2024
From: TIVO LLC
To: ADEIA MEDIA HOLDINGS LLC
Reel/Frame 069083/0332 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2023
From: NOONEY, CHARLES; KARLSSON, KENT
To: MOBITV, INC.
Reel/Frame 064174/0238 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2023
From: MOBITV, INC.
To: TIVO CORPORATION
Reel/Frame 064174/0251 →