IP Library Granted Patent US 11,157,543
Granted Patent B2
US 11,157,543 · App. 16/365,288 · Granted Oct 26, 2021

Systems and methods for generating bandwidth constrained recommendations

Inventors: Vikram Makam Gupta (Karnataka, IN); Vishwas Sharadanagar Panchaksharaiah (Tumkur District, IN)
Assignee: Rovi Guides, Inc.
G06F16/4387G06F16/29G06F16/437H04N21/44209H04N21/4524H04N21/47217
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,157,543
App. No.
16/365,288
Granted
Oct 26, 2021
Kind
B2
Abstract

The system and methods described generate a content playlist by receiving, from a content device, a request for a content playlist. The system obtains a geographic route associated with the content device and the time period and determines a bandwidth profile associated with the geographic route, the content device, and the time period. The system then identifies a plurality of candidate content items based on a user profile associated with the content device and determines, for each of the plurality of candidate content items, an interest profile representing the correlation of segments in the respective candidate content item and the user profile. The system selects a plurality of the selected content items from the plurality of candidate content items for inclusion in the content playlist based on the interest profile for the respective candidate content item and the determined bandwidth profile and provides the content playlist to the content device.

Claims (91)

1. A method for generating a content playlist, the method comprising:

receiving, from a content device, a request for a content playlist, wherein the request comprises a time period associated with playback of content;

obtaining a geographic route based on a geographic start location and a geographic stop location of the content device and the time period;

determining a bandwidth profile associated with the geographic route, the content device, and the time period;

identifying a plurality of candidate content items based on a user profile associated with the content device;

determining, for each of the plurality of candidate content items, an interest profile representing the correlation of segments in the respective candidate content item and the user profile;

selecting a plurality of the selected content items from the plurality of candidate content items for inclusion in the content playlist based on the interest profile for the respective candidate content item and the determined bandwidth profile comprises:

generating a plurality of recommendation scores for the plurality of candidate content items by:

retrieving a plurality of content attributes for each respective candidate content item, wherein the plurality of content attributes corresponds with segments of content aligned with the plurality of time segments;

generating a plurality of interest scores for the respective candidate content item based on the plurality of content attributes and an interest profile associated with the content device; and

combining the plurality of interest scores and the estimated available bandwidth for each of the plurality of time segments to generate a recommendation score for the respective candidate content item;

sorting the plurality of candidate content items using the generated recommendation score for each respective candidate item; and

identifying a subset of the sorted plurality of candidate content items to include in the content playlist, wherein a total runtime of the subset of the sorted plurality of candidate content items does not exceed a travel time associated with the geographic route; and

providing the content playlist to the content device.

2. A system for generating a content playlist, the system comprising:

communication circuitry configured to receive, from a content device, a request for a content playlist, wherein the request comprises a time period associated with playback of content;

control circuitry configured to:

obtain a geographic route based on a geographic start location and a geographic stop location of the content device and the time period;

determine a bandwidth profile associated with the geographic route, the content device, and the time period;

identify a plurality of candidate content items based on a user profile associated with the content device;

determine, for each of the plurality of candidate content items, an interest profile representing the correlation of segments in the respective candidate content item and the user profile;

select a plurality of the selected content items from the plurality of candidate content items for inclusion in the content playlist based on the interest profile for the respective candidate content item and the determined bandwidth profile by

generating a plurality of recommendation scores for the plurality of candidate content items by:

retrieving a plurality of content attributes for each respective candidate content item, wherein the plurality of content attributes corresponds with segments of content aligned with the plurality of time segments;

generating a plurality of interest scores for the respective candidate content item based on the plurality of content attributes and an interest profile associated with the content device; and

combining the plurality of interest scores and the estimated available bandwidth for each of the plurality of time segments to generate a recommendation score for the respective candidate content item;

sorting the plurality of candidate content items using the generated recommendation score for each respective candidate item; and

identifying a subset of the sorted plurality of candidate content items to include in the content playlist, wherein a total runtime of the subset of the sorted plurality of candidate content items does not exceed a travel time associated with the geographic route; and

provide the content playlist to the content device.

3. A non-transitory computer-readable medium having instructions encoded thereon that when executed by control circuitry cause the control circuitry to:

receive, from a content device, a request for a content playlist, wherein the request comprises a time period associated with playback of content;

obtain a geographic route based on a geographic start location and a geographic stop location of the content device and the time period;

determine a bandwidth profile associated with the geographic route, the content device, and the time period;

identify a plurality of candidate content items based on a user profile associated with the content device;

determine, for each of the plurality of candidate content items, an interest profile representing the correlation of segments in the respective candidate content item and the user profile;

select a plurality of the selected content items from the plurality of candidate content items for inclusion in the content playlist based on the interest profile for the respective candidate content item and the determined bandwidth profile by:

generating a plurality of recommendation scores for the plurality of candidate content items by:

retrieving a plurality of content attributes for each respective candidate content item, wherein the plurality of content attributes corresponds with segments of content aligned with the plurality of time segments;

generating a plurality of interest scores for the respective candidate content item based on the plurality of content attributes and an interest profile associated with the content device; and

combining the plurality of interest scores and the estimated available bandwidth for each of the plurality of time segments to generate a recommendation score for the respective candidate content item;

sorting the plurality of candidate content items using the generated recommendation score for each respective candidate item; and

identifying a subset of the sorted plurality of candidate content items to include in the content playlist, wherein a total runtime of the subset of the sorted plurality of candidate content items does not exceed a travel time associated with the geographic route; and

provide the content playlist to the content device.

4. The method of claim 1 , further comprising:

detecting a change in the bandwidth profile associated with the geographic route, the content device, and the time period;

determining that bandwidth requirements for a content item in the content playlist will not be satisfied based on the changes in the bandwidth profile;

selecting, from the plurality of candidate content items, an alternative content item; and

replacing the content item with the alternative content item in the content playlist.

5. The method of claim 1 , wherein determining the bandwidth profile associated with the geographic route, the content device, and the time period comprises:

retrieving historical bandwidth usage for segments of the geographic route; and

estimating available bandwidth for segments of the geographic route at estimated entry and exit times associated with each segment of the geographic route based on the historical bandwidth usage for the respective segment of the geographic route.

6. The method of claim 1 , wherein determining the bandwidth profile associated with the geographic route, the content device, and the time period comprises:

retrieving logs of past network access speeds for the content device along the geographic route; and

estimating, based on the logs of past network access speeds for the content device, available bandwidth for segments of the geographic route.

7. The method of claim 1 , wherein obtaining the geographic route associated with the content device and the time period comprises:

retrieving information about a plurality of events associated with the content device;

extracting information about an event from the plurality of events, wherein the event is scheduled for the time period;

obtaining a geographic start location and a geographic stop location based on information about the event and geographic information associated with the content device; and

determining the geographic route using the geographic start location and geographic stop location.

8. The system of claim 2 , wherein the control circuitry is further configured to:

detect a change in the bandwidth profile associated with the geographic route, the content device, and the time period;

determine that bandwidth requirements for a content item in the content playlist will not be satisfied based on the changes in the bandwidth profile;

select, from the plurality of candidate content items, an alternative content item; and

replace the content item with the alternative content item in the content playlist.

9. The system of claim 2 , wherein the control circuitry determines the bandwidth profile associated with the geographic route, the content device, and the time period by:

retrieving historical bandwidth usage for segments of the geographic route; and

estimating available bandwidth for segments of the geographic route at estimated entry and exit times associated with each segment of the geographic route based on the historical bandwidth usage for the respective segment of the geographic route.

10. The system of claim 2 , wherein the control circuitry determines the bandwidth profile associated with the geographic route, the content device, and the time period by:

retrieving logs of past network access speeds for the content device along the geographic route; and

estimating, based on the logs of past network access speeds for the content device, available bandwidth for segments of the geographic route.

11. The system of claim 2 , wherein the control circuitry obtains a geographic route associated with the content device and the time period by:

retrieving information about a plurality of events associated with the content device;

extracting information about an event from the plurality of events, wherein the event is scheduled for the time period;

obtaining a geographic start location and a geographic stop location based on information about the event and geographic information associated with the content device; and

determining the geographic route using the geographic start location and geographic stop location.

12. The non-transitory computer-readable medium of claim 3 , further comprising instructions that cause the control circuitry to:

detect a change in the bandwidth profile associated with the geographic route, the content device, and the time period;

determine that bandwidth requirements for a content item in the content playlist will not be satisfied based on the changes in the bandwidth profile;

select, from the plurality of candidate content items, an alternative content item; and

replace the content item with the alternative content item in the content playlist.

13. The non-transitory computer-readable medium of claim 3 , wherein the instructions cause the control circuitry to determine the bandwidth profile associated with the geographic route, the content device, and the time period by:

retrieving historical bandwidth usage for segments of the geographic route; and

estimating available bandwidth for segments of the geographic route at estimated entry and exit times associated with each segment of the geographic route based on the historical bandwidth usage for the respective segment of the geographic route.

14. The non-transitory computer-readable medium of claim 3 , wherein the instructions cause the control circuitry to determine the bandwidth profile associated with the geographic route, the content device, and the time period by:

retrieving logs of past network access speeds for the content device along the geographic route; and

estimating, based on the logs of past network access speeds for the content device, available bandwidth for segments of the geographic route.

15. The non-transitory computer-readable medium of claim 3 , wherein the instructions cause the control circuitry to obtain the geographic route associated with the content device and the time period by:

retrieving information about a plurality of events associated with the content device;

extracting information about an event from the plurality of events, wherein the event is scheduled for the time period;

obtaining a geographic start location and a geographic stop location based on information about the event and geographic information associated with the content device; and

determining the geographic route using the geographic start location and geographic stop location.

Assignments (7)
CHANGE OF NAME Recorded Oct 3, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069106/0178 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053481/0790 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: HPS INVESTMENT PARTNERS, LLC
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053458/0749 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
PATENT SECURITY AGREEMENT Recorded Nov 25, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 051110/0006 →
SECURITY INTEREST Recorded Nov 22, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 051143/0468 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2019
From: GUPTA, VIKRAM MAKAM; PANCHAKSHARAIAH, VISHWAS SHARADANAGAR
To: ROVI GUIDES, INC.
Reel/Frame 048880/0696 →
Continuity (1)
Related Publication 20200311118A1 · Oct 1, 2020