IP Library Granted Patent US 11,496,781
Granted Patent B2
US 11,496,781 · App. 17/451,055 · Granted Nov 8, 2022

Advanced preparation for content revision based on expected latency in obtaining new content

Inventors: Peter Dunker (Thuringia, DE); Markus K. Cremer (Orinda, CA); Shashank C. Merchant (Sunnyvale, CA); Kurt R. Thielen (Maple Grove, MN)
Assignee: ROKU, INC.
H04N21/23424H04N21/485H04N21/812H04N21/8358H04N21/845H04L65/611
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 11,496,781
App. No.
17/451,055
Granted
Nov 8, 2022
Kind
B2
Abstract

When a media client is receiving a media stream, the media client determines an upcoming time point at which the media client is to perform a content revision involving insertion (e.g., substitution or overlaying) of new content. The media client further determines an advanced time point when the media client should initiate a process of acquiring the new content, setting the advanced time point sufficiently in advance of the upcoming content-revision time point to enable the media client to obtain at least enough of the new content to be able to start the content revision on time. In an example implementation, the media client could determine the advanced time point by predicting how long the content-acquisition process will take, based on consideration of past instances of content acquisition, possibly correlated with operational factors such as content source, processor load, memory load, network speed, and time of day.

Claims (39)

1. A method comprising:

determining an upcoming time point in a media stream at which a media client is to perform a content revision involving insertion of new content;

scheduling an advanced time point at which the media client should initiate a process of acquiring the new content to facilitate performing the content revision at the upcoming time point, wherein scheduling the advanced time point comprises dynamically determining a content-acquisition duration and, based on the dynamically determined content-acquisition duration, setting the advanced time point to be at least the dynamically determined content-acquisition duration before the upcoming time point; and

at the advanced time point, initiating, by the media client, the process of acquiring the new content, to facilitate the media client performing, at the upcoming time point, the content revision with the acquired new content.

2. The method of claim 1 , wherein dynamically determining the content-acquisition duration comprises predicting the content-acquisition duration based on past instances of content-acquisition duration.

3. The method of claim 2 , further comprising tracking content-acquisition durations to facilitate the predicting.

4. The method of claim 2 , wherein predicting the content-acquisition duration based on past instances of content-acquisition duration comprises:

determining a state of at least one operational factor related to acquiring the new content;

predicting the content-acquisition duration based on past instances of content-acquisition duration in correlation with the determined state.

5. The method of claim 4 , wherein the at least one operational factor comprises at least one factor selected from the group consisting of content source, processor load, memory load, network speed, and time of day.

6. The method of claim 2 , wherein dynamically determining the content-acquisition duration further comprises adding a safety time segment to the predicted content-acquisition duration.

7. The method of claim 1 , carried out while the media client is receiving the media stream in a linear broadcast feed.

8. The method of claim 7 , wherein the content revision comprises ad replacement.

9. The method of claim 1 , carried out while the media client is playing out the media stream.

10. A media client comprising:

a processing unit;

non-transitory data storage; and

program instructions stored in the non-transitory data storage and executable by the processing unit to cause the media client to carry out operations including:

determining an upcoming time point in a media stream at which the media client is to perform a content revision involving insertion of new content,

setting an advanced time point at which the media client should initiate a process of acquiring the new content to facilitate performing the content revision at the upcoming time point, wherein setting the advanced time point comprises dynamically determining a content-acquisition duration and, based on the dynamically determined content-acquisition duration, setting the advanced time point to be at least the dynamically determined content-acquisition duration before the upcoming time point, and

at the advanced time point, initiating the process of acquiring the new content, to facilitate the media client performing, at the upcoming time point, the content revision with the acquired new content.

11. The media client of claim 10 , wherein dynamically determining the content-acquisition duration comprises predicting the content-acquisition duration based on past instances of content-acquisition duration.

12. The media client of claim 11 , wherein the operations further comprise tracking content-acquisition durations to facilitate the predicting.

13. The media client of claim 11 , wherein predicting the content-acquisition duration based on past instances of content-acquisition duration comprises:

determining a state of at least one operational factor related to acquiring the new content;

predicting the content-acquisition duration based on past instances of content-acquisition duration in correlation with the determined state.

14. The media client of claim 13 , wherein the at least one operational factor comprises at least one factor selected from the group consisting of content source, processor load, memory load, network speed, and time of day.

15. The media client of claim 11 , wherein dynamically determining the content-acquisition duration further comprises adding a safety time segment to the predicted content-acquisition duration.

16. The media client of claim 10 , wherein the operations are carried out while the media client is receiving the media stream.

17. The media client of claim 10 , wherein the content revision comprises ad replacement.

18. A non-transitory computer readable medium storing instructions executable by a processing unit to carry out operations comprising:

determining an upcoming time point in a media stream being received by a client at which the client is to perform a content revision involving insertion of new content;

setting an advanced time point at which the client should initiate a process of acquiring the new content to facilitate performing the content revision at the upcoming time point in the media stream, wherein setting the advanced time point comprises dynamically determining a content-acquisition duration and, based on the dynamically determined content-acquisition duration, setting the advanced time point to be at least the dynamically determined content-acquisition duration before the upcoming time point; and

at the advanced time point, causing the client to initiate the process of acquiring the new content, to facilitate the media client performing, at the upcoming time point, the content revision with the acquired new content.

19. The non-transitory computer readable medium of claim 18 ,

wherein dynamically determining the content-acquisition duration comprises predicting the content-acquisition duration based on past instances of content-acquisition duration,

wherein predicting the content-acquisition duration based on past instances of content-acquisition duration comprises (i) determining a state of at least one operational factor related to acquiring the new content and (ii) predicting the content-acquisition duration based on past instances of content-acquisition duration in correlation with the determined state, and

wherein the at least one operational factor comprises at least one factor selected from the group consisting of content source, processor load, memory load, network speed, and time of day.

20. The non-transitory computer readable medium of claim 18 , wherein the content revision comprises ad replacement.

Assignments (3)
SECURITY INTEREST Recorded Sep 18, 2024
From: ROKU, INC.
To: CITIBANK, N.A.
Reel/Frame 068982/0377 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2021
From: DUNKER, PETER; CREMER, MARKUS K.; MERCHANT, SHASHANK C.; THIELEN, KURT R.
To: GRACENOTE, INC.
Reel/Frame 057818/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2021
From: GRACENOTE, INC.
To: ROKU, INC.
Reel/Frame 057841/0340 →
Continuity (4)
Continuation 16924806 · Jul 9, 2020
Continuation 16166962 · Oct 22, 2018
Provisional Application 62700647 · Jul 19, 2018
Related Publication 20220038758A1 · Feb 3, 2022