IP Library Granted Patent US 12,470,757
Granted Patent B2
US 12,470,757 · App. 17/412,929 · Granted Nov 11, 2025

Systems and methods for storing a media asset rescheduled for transmission from a different source

Inventor: Sean William Rosqvist (Kaysville, UT)
Assignee: Adeia Guides Inc.
H04N21/23439G06F16/7867H04N5/765H04N21/231H04N21/232H04N21/2402H04N21/262H04N21/278H04N21/432H04N21/433H04N21/4343H04N21/4345H04N21/44029H04N21/44209H04N21/458H04N21/8352H04N21/8456H04N21/8547
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,470,757
App. No.
17/412,929
Granted
Nov 11, 2025
Kind
B2
Abstract

Systems and methods for efficiently determining that a media asset scheduled to be stored from one content source has been rescheduled to another content source. For example, by examining the contents of data packets received with a media asset which identify the media asset currently being received (e.g., a field in an event information table), a media guidance application executed on a set-top box or other user equipment device may determine in real-time that the media asset scheduled to be stored is not currently being transmitted from the originally-scheduled content source. In response to determining the media asset is not available from the originally-scheduled content source, the media guidance application may search through packets received from other content sources to determine a content source the media asset has been rescheduled to and store the media asset from that content source.

Claims (77)

1 . A method comprising:

receiving a storage instruction indicating that a media asset scheduled to be transmitted from a first content source at a scheduled time is to be stored;

based on determining that a current time corresponds to the scheduled time, determining whether the media asset to be stored is currently being transmitted from the first content source at the current time corresponding to the scheduled time based on a data packet corresponding to the media asset;

based at least in part on determining that the media asset is not currently being transmitted from the first content source at the current time corresponding to the scheduled time, searching a plurality of data packets received from a plurality of content sources for information that indicates that the media asset is currently being transmitted from a second content source at the current time corresponding to the scheduled time;

retrieving a portion of the media asset currently being transmitted from the second content source;

identifying, based at least in part on metadata corresponding to the media asset, a play position of the portion of the media asset retrieved from the second content source;

stitching, based at least in part on the play position, the portion of the media asset retrieved from the second content source; and

storing the media asset comprising the stitched portion of the media asset retrieved from the second content source.

2 . The method of claim 1 , wherein the storage instruction comprises an instruction to store the media asset from the first content source during a scheduled time interval, the method further comprising:

during the scheduled time interval:

monitoring data packets received from the first content source.

3 . The method of claim 2 , further comprising storing the storage instruction as an entry in a data structure, wherein the entry comprises a first field indicating a current content source.

4 . The method of claim 3 , further comprising:

based at least in part on determining that a second data packet received from the second content source of the plurality of content sources comprises the second indicator that corresponds to the identifier of the media asset, updating the current content source in a field of a stored entry to indicate that the media asset is being transmitted from the second content source.

5 . The method of claim 2 , wherein the monitoring data packets comprises:

accessing a database containing the information for the plurality of content sources, wherein the information comprises indications of subsets of the plurality of content sources that are similar to each content source of the plurality of content sources;

retrieving an indication from a field in the database associated with the first content source that the second content source is similar to the first content source; and

searching data packets from the second content source for a media asset indicator that corresponds to the identifier of the media asset.

6 . The method of claim 1 , further comprising:

determining, based on a data packet corresponding to the media asset, a duration of the media asset;

comparing the duration of the media asset to a scheduled time interval;

in response to determining that the duration of the media asset is shorter than the scheduled time interval:

comparing a difference between the duration of the media asset and the scheduled time interval to a threshold difference; and

in response to determining that the difference between the duration of the media asset and the scheduled time interval meets the threshold difference, determining that the media asset is not complete.

7 . The method of claim 6 , further comprising:

in response to determining that the difference between the duration of the media asset and the scheduled time interval meets the threshold difference:

determining, from media asset listings retrieved from a media guidance database, whether the media asset is available at a future time; and

in response to determining the media asset is available at the future time from a third content source, storing a second storage instruction to store the media asset from the third content source.

8 . The method of claim 1 , wherein the storage instruction is associated with a user profile, the method further comprising:

accessing subscription data associated with the user profile;

identifying, based on the subscription data, one or more content sources to which the user profile subscribes, wherein the plurality of content sources comprises the one or more content sources to which the user profile subscribes; and

searching data packets corresponding to the one or more content sources for the information that indicates the media asset is currently being transmitted from the second content source at the current time corresponding to the scheduled time.

9 . The method of claim 1 , wherein the one or more data packets from the first content source comprises a table, and wherein determining, from the one or more data packets, the first indicator, comprises retrieving a value from a field in the table corresponding to the first indicator.

10 . The method of claim 1 , wherein determining whether the first indicator corresponds to the identifier of the media asset further comprises comparing the characters of the first indicator of the media asset with the characters of the identifier.

11 . A method comprising:

determining whether a media asset, associated with a storage instruction, is currently being transmitted from a first content source based on a data packet corresponding to the media asset;

in response to determining that the media asset is not currently being transmitted from the first content source, searching a plurality of data packets, each corresponding to one of a plurality of content sources, for information that indicates the media asset is currently being transmitted from a second content source;

accessing the second content source to store the media asset;

retrieving a first segment of the media asset from the first content source;

receiving a second segment of the media asset from the second content source; and

stitching, into a single file, the first segment and the second segment, wherein stitching, into the single file, the first segment and the second segment comprises:

comparing a first time stamp corresponding to the first segment and a second time stamp corresponding to the second segment to determine which of the first segment and the second segment comprises frames of the media asset that are intended to appear earlier in playback of the media asset; and

in response to determining that the first time stamp is earlier, adding the second segment to end of the first segment.

12 . A system comprising:

memory; and

control circuitry configured to:

receive a storage instruction indicating that a media asset scheduled to be transmitted from a first content source at a scheduled time is to be stored;

based on determining that a current time corresponds to the scheduled time, determine whether the media asset to be stored is currently being transmitted from the first content source at the current time corresponding to the scheduled time based on a data packet corresponding to the media asset;

based at least in part on determining that the media asset is not currently being transmitted from the first content source at the current time corresponding to the scheduled time, search a plurality of data packets received from a plurality of content sources for information that indicates that the media asset is currently being transmitted from a second content source at the current time corresponding to the scheduled time;

retrieve a portion of the media asset currently being transmitted from the second content source;

identify, based at least in part on metadata corresponding to the portion of the media asset, a play position of the portion of the media asset retrieved from the second content source;

stitch, based at least in part on the play position, the portion of the media asset retrieved from the second content source; and

store the media asset comprising the stitched portion of the media asset retrieved from the second content source.

13 . The system of claim 12 , wherein the storage instruction comprises an instruction to store the media asset from the first content source during a scheduled time interval, and wherein the control circuitry is further configured to:

during the scheduled time interval:

monitor data packets received from the first content source.

14 . The system of claim 13 , wherein the control circuitry is further configured to store the storage instruction as an entry in a data structure, wherein the entry comprises a first field indicating a current content source.

15 . The system of claim 14 , wherein the control circuitry is further configured to:

based at least in part on determining that a second data packet received from the second content source of the plurality of content sources comprises the second indicator that corresponds to the identifier of the media asset, update the current content source in a field of a stored entry to indicate that the media asset is being transmitted from the second content source.

16 . The system of claim 13 , wherein the control circuitry configured to monitor data packets is further configured to:

access a database containing the information for the plurality of content sources, wherein the information comprises indications of subsets of the plurality of content sources that are similar to each content source of the plurality of content sources;

retrieve an indication from a field in the database associated with the first content source that the second content source is similar to the first content source; and

search data packets from the second content source for a media asset indicator that corresponds to the identifier of the media asset.

17 . The system of claim 12 , wherein the control circuitry is further configured to:

retrieve a first segment of the media asset from the first content source;

receive a second segment of the media asset from the second content source; and

stitch, into a single file, the first segment and the second segment, wherein the control circuitry, when stitching, into the single file, the first segment and the second segment, is configured to:

compare a first time stamp corresponding to the first segment and a second time stamp corresponding to the second segment to determine which of the first segment and the second segment comprises frames of the media asset that are intended to appear earlier in playback of the media asset; and

in response to determining that the first time stamp is earlier, add the second segment to end of the first segment.

18 . The system of claim 12 , wherein the control circuitry is further configured to:

determine, based on a data packet corresponding to the media asset, a duration of the media asset;

compare the duration of the media asset to a scheduled time interval;

in response to determining that the duration of the media asset is shorter than the scheduled time interval:

compare a difference between the duration of the media asset and the scheduled time interval to a threshold difference; and

in response to determining that the difference between the duration of the media asset and the scheduled time interval meets the threshold difference, determine that the media asset is not complete.

19 . The system of claim 12 , wherein the one or more data packets from the first content source comprises a table, and wherein to determine, from the one or more data packets, the first indicator, the control circuitry is further configured to retrieve a value from a field in the table corresponding to the first indicator.

20 . The system of claim 12 , wherein to determine whether the first indicator corresponds to the identifier of the media asset, the control circuitry is further configured to compare the characters of the first indicator of the media asset with the characters of the identifier.

Assignments (3)
CHANGE OF NAME Recorded Oct 2, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069085/0755 →
SECURITY INTEREST Recorded May 19, 2023
From: ADEIA GUIDES INC.; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063707/0884 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2021
From: ROSQVIST, SEAN WILLIAM
To: ROVI GUIDES, INC.
Reel/Frame 057302/0584 →
Continuity (2)
Continuation 15239336 · Aug 17, 2016
Related Publication 20210392387A1 · Dec 16, 2021
References Cited (37)
US 6208799B1 · Marsh et al. · 2001 [cited by applicant]
US 6681396B1 · Bates et al. · 2004 [cited by applicant]
US 6795639B1 · Lord · 2004 [cited by applicant]
US 7055166B1 · Logan · 2006 [cited by examiner]
US 8085809B2 · Inoishi · 2011 [cited by applicant]
US 9374553B2 · Berry et al. · 2016 [cited by applicant]
US 9584387B1 · Cartlidge · 2017 [cited by examiner]
US 9973785B1 · Yang et al. · 2018 [cited by applicant]
US 11134283B2 · Rosqvist · 2021 [cited by applicant]
US 20070233602A1 · Zweig et al. · 2007 [cited by applicant]
US 20070239787A1 · Cunningham et al. · 2007 [cited by applicant]
US 20080022343A1 · Hodzic · 2008 [cited by examiner]
US 20080141317A1 · Radloff et al. · 2008 [cited by applicant]
US 20120304234A1 · Carbunar et al. · 2012 [cited by applicant]
US 20130156400A1 · Kummer · 2013 [cited by applicant]
US 20130170813A1 · Woods · 2013 [cited by examiner]
US 20130212622A1 · Yang · 2013 [cited by examiner]
US 20130216207A1 · Berry et al. · 2013 [cited by applicant]
US 20140074988A1 · Parekh · 2014 [cited by examiner]
US 20140082672A1 · Casey et al. · 2014 [cited by applicant]
US 20140223481A1 · Fundament · 2014 [cited by examiner]
US 20140259037A1 · Belyaev · 2014 [cited by examiner]
US 20140270680A1 · Bloch et al. · 2014 [cited by applicant]
US 20140331260A1 · Gratton · 2014 [cited by applicant]
US 20140337893A1 · Roe · 2014 [cited by examiner]
US 20150040172A1 · Zelesko et al. · 2015 [cited by applicant]
US 20150277781A1 · Maruyama · 2015 [cited by examiner]
US 20150319480A1 · Roe · 2015 [cited by applicant]
US 20150339396A1 · Ayers et al. · 2015 [cited by applicant]
US 20160127789A1 · Roberts · 2016 [cited by examiner]
US 20160210050A1 · Hyun et al. · 2016 [cited by applicant]
US 20160323482A1 · Chung · 2016 [cited by applicant]
US 20170085937A1 · Russ · 2017 [cited by applicant]
US 20170094330A1 · Maughan et al. · 2017 [cited by applicant]
US 20170131851A1 · Thompson · 2017 [cited by examiner]
US 20180132000A1 · Radloff · 2018 [cited by applicant]
EP 2461599A1 · 2012 [cited by applicant]