IP Library Granted Patent US 12,519,996
Granted Patent B2
US 12,519,996 · App. 18/829,783 · Granted Jan 6, 2026

Methods and systems for efficiently downloading media assets

Inventors: Aaron Peter Blohowiak (Belmont, CA); Ryan Werth (San Francisco, CA); Olivier Chalouhi (Mountain View, CA); Ofer Vaisler (Sunnyvale, CA); Milan Patel (Santa Clara, CA)
Assignee: Adeia Guides Inc.
H04N21/2402H04N21/2407H04N21/4334H04N21/44209H04N21/4532H04N21/4622H04N21/4821H04N21/84H04N21/845H04N21/8456
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,519,996
App. No.
18/829,783
Granted
Jan 6, 2026
Kind
B2
Abstract

Methods and systems are described for downloading media assets efficiently and quickly before loss of network connectivity. The method may allow a user to download portions of a media asset in different versions to download a maximum portion of the media asset before loss of network connectivity. Certain versions of media assets may be downloaded more quickly than other versions of media assets. The method may also allow a user to view partially downloaded media assets without network connectivity. The method may also replace portions of media assets downloaded in a first version with portions of the media assets in a second version once network connectivity is restored.

Claims (69)

1 . A method, comprising:

accessing a user profile comprising event data that is indicative of network connectivity changes;

identifying, based on the event data, an event that causes a change in network connectivity;

determining, based on the event data, a time duration until the occurrence of the event;

determining a remaining download duration to download a remainder of a media asset on a computing device;

determining, based on the remaining download duration, whether the remainder of the media asset can be fully downloaded before the occurrence of the event; and

in response to determining that the remainder of the media asset cannot be fully downloaded before the occurrence of the event:

computing a first size of a first segment of a first version of the media asset and a second size of a second segment of the first version of the media asset, wherein a predicted download time for the first size of the first segment and the second size of the second segment exceeds the remaining duration until the event;

identifying a plurality of alternative versions of the media asset that have a smaller size than the first version of the media asset;

determining a subset of the plurality of alternative versions of the media asset such that, for each respective alternative version of the subset of the plurality of alternative versions of the media asset, downloading the second segment of the respective alternative version, instead of the second segment of the first version of the media asset, results in the media asset being fully downloaded within the time duration until the occurrence of the event;

selecting, from the subset of the plurality of alternative versions of the media asset, a second version of the media asset that has a largest size;

downloading, from a server, the first version of the first segment and the second version of the second segment.

2 . The method of claim 1 , wherein identifying the event causing the change in network connectivity further comprises:

retrieving location history of the user profile comprising of network connectivity history data;

identifying a location of the event from the event data; and

determining, from the network connectivity history data, that the location of the event has low network connectivity.

3 . The method of claim 1 , wherein the event data comprises of past event data, present event data, and future event data.

4 . The method of claim 3 , wherein identifying the event from the event data causing the change in network connectivity further comprises:

determining that the event from the event data matches a past event from the past event data, wherein the past event has low network connectivity;

determining, based on the matching of the event with the past event, that the event has low network connectivity.

5 . The method of claim 3 , wherein identifying the event from the event data causing the change in network connectivity further comprises:

identifying a first time period in past event data with low network connectivity;

identifying a second time period in past event data with low network connectivity;

determining that the second time period is a first periodical occurrence of the first time period; and

determining that the event from the event data occurs during a third time period;

determining that the third time period is a second periodical occurrence of the first time period; and

based on determining that the third time period is a second periodical occurrence of the first time period, determining that the event has low network connectivity.

6 . The method of claim 5 , wherein the first periodical occurrence and the second periodical occurrence are based on daily occurrences.

7 . The method of claim 5 , wherein the first periodical occurrence and the second periodical occurrence are based on weekly occurrences.

8 . The method of claim 5 , wherein the first periodical occurrence and the second periodical occurrence are based on annual occurrences.

9 . The method of claim 1 , wherein identifying the event from the event data causing the change in network connectivity further comprises:

retrieving a database of keywords, wherein the keywords indicate a change in network connectivity; and

identifying a keyword from the database of keywords in the event data.

10 . The method of claim 1 , wherein identifying the event further comprises determining, from the event data, that the time duration until the occurrence of the event occurs within a threshold time from a current time.

11 . A system, comprising:

control circuitry configured to:

access a user profile comprising event data that is indicative of network connectivity changes;

identify, based on the event data, an event that causes a change in network connectivity;

determine, based on the event data, a time duration until the occurrence of the event;

determine a remaining download duration to download a remainder of a media asset on a computing device;

determine, based on the remaining download duration, whether the remainder of the media asset can be fully downloaded before the occurrence of the event; and

in response to determining that the remainder of the media asset cannot be fully downloaded before the occurrence of the event:

compute a first size of a first segment of a first version of the media asset and a second size of a second segment of the first version of the media asset, wherein a predicted download time for the first size of the first segment and the second size of the second segment exceeds the remaining duration until the event;

identify a plurality of alternative versions of the media asset that have a smaller size than the first version of the media asset;

determine a subset of the plurality of alternative versions of the media asset such that, for each respective alternative version of the subset of the plurality of alternative versions of the media asset, downloading the second segment of the respective alternative version, instead of the second segment of the first version of the media asset, results in the media asset being fully downloaded within the time duration until the occurrence of the event;

select, from the subset of the plurality of alternative versions of the media asset, a second version of the media asset that has a largest size;

download, from a server, the first version of the first segment and the second version of the second segment.

12 . The system of claim 11 , wherein the control circuitry configured to identify the event causing the change in network connectivity is further configured to:

retrieve location history of the user profile comprising of network connectivity history data;

identify a location of the event from the event data; and

determine, from the network connectivity history data, that the location of the event has low network connectivity.

13 . The system of claim 11 , wherein the event data comprises of past event data, present event data, and future event data.

14 . The system of claim 13 , wherein the control circuitry configured to identify the event from the event data causing the change in network connectivity is further configured to:

determine that the event from the event data matches a past event from the past event data, wherein the past event has low network connectivity;

determine, based on the matching of the event with the past event, that the event has low network connectivity.

15 . The system of claim 13 , wherein the control circuitry configured to identify the event from the event data causing the change in network connectivity is further configured to:

identify a first time period in past event data with low network connectivity;

identify a second time period in past event data with low network connectivity;

determine that the second time period is a first periodical occurrence of the first time period; and

determine that the event from the event data occurs during a third time period;

determine that the third time period is a second periodical occurrence of the first time period; and

based on determining that the third time period is a second periodical occurrence of the first time period, determine that the event has low network connectivity.

16 . The system of claim 15 , wherein the first periodical occurrence and the second periodical occurrence are based on daily occurrences.

17 . The system of claim 15 , wherein the first periodical occurrence and the second periodical occurrence are based on weekly occurrences.

18 . The system of claim 15 , wherein the first periodical occurrence and the second periodical occurrence are based on annual occurrences.

19 . The system of claim 11 , wherein the control circuitry configured to identify the event from the event data causing the change in network connectivity is further configured to:

retrieve a database of keywords, wherein the keywords indicate a change in network connectivity; and

identify a keyword from the database of keywords in the event data.

20 . The system of claim 11 , wherein the control circuitry configured to identify the event is further configured to determine, from the event data, that the time duration until the occurrence of the event occurs within a threshold time from a current time.

Assignments (3)
SECURITY INTEREST Recorded May 28, 2025
From: ADEIA INC. (F/K/A XPERI HOLDING CORPORATION); ADEIA HOLDINGS INC.; ADEIA MEDIA HOLDINGS INC.; ADEIA IMAGING LLC; ADEIA MEDIA LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA TECHNOLOGIES INC.; ADEIA GUIDES INC.; ADEIA SOLUTIONS LLC; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR INTELLECTUAL PROPERTY LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA PUBLISHING INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 071454/0343 →
CHANGE OF NAME Recorded Oct 2, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069085/0731 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2024
From: BLOHOWIAK, AARON PETER; WERTH, RYAN; CHALOUHI, OLIVIER; VAISLER, OFER; PATEL, MILAN
To: ROVI GUIDES, INC.
Reel/Frame 068568/0026 →
Continuity (7)
Continuation 18382317 · Oct 20, 2023
Continuation 18115519 · Feb 28, 2023
Continuation 17873959 · Jul 26, 2022
Continuation 17522292 · Nov 9, 2021
Continuation 17222080 · Apr 5, 2021
Continuation 15087214 · Mar 31, 2016
Related Publication 20250274621A1 · Aug 28, 2025
References Cited (11)
US 8190760B2 · Hurst · 2012 [cited by examiner]
US 8880721B2 · Hurst · 2014 [cited by examiner]
US 12120366B2 · Blohowiak et al. · 2024 [cited by applicant]
US 20130326024A1 · Chen et al. · 2013 [cited by applicant]
US 20140040496A1 · Moorthy et al. · 2014 [cited by applicant]
US 20140095943A1 · Kohlenberg et al. · 2014 [cited by applicant]
US 20150282000A1 · Andersson et al. · 2015 [cited by applicant]
US 20160065995A1 · Phillips · 2016 [cited by applicant]
US 20160337430A1 · Lou et al. · 2016 [cited by applicant]
EP 2897337A1 · 2015 [cited by applicant]
Haakon, R., et al., “Video streaming using a location-based bandwidth-lookup service for bitrate planning”, ACM Transactions on Multimedia Computing Communications Andapplications, vol. 8, No. 3, Aug. 6, 2012, pp. 1-19. [cited by applicant]