IP Library Granted Patent US 11,308,110
Granted Patent B2
US 11,308,110 · App. 16/541,969 · Granted Apr 19, 2022

Systems and methods for pushing content

Inventors: Albert Bennah (Cary, NC); Jonathan B. Gilpin (Raleigh, NC); James W. Lent (Durham, NC); Kyle Miller (Durham, NC); Bryan S. Scappini (Cary, NC)
Assignee: ROVI GUIDES, INC.
G06F16/248G06F16/212G06F16/24573G06F16/24575G06Q30/0263
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,308,110
App. No.
16/541,969
Filed
Aug 15, 2019
Granted
Apr 19, 2022
Kind
B2
Art Unit
2153
USPC
707/754
Abstract

Methods and systems for presenting contextually relevant push content when a user is passively engaged with an application are described herein. The system detects that the user is engaged with an application on a device and monitors the user's level of engagement with the application. If the system determines that the user is passively engaged, the system prepares to insert push content into the current output. The system identifies a region on the current output into which to insert push content, for example a region unoccupied by content or a particular object. The system identifies a context of the current output and selects a push content item based on the context of the current output. Then, the system inserts the push content item into the empty region on the current output.

Claims (115)

1. A method of presenting push content on a device to a user, the method comprising:

detecting that a device is providing an output from an application running on the device, wherein the output comprises first displayed content;

monitoring a level of engagement of the user with the application;

receiving a scroll command to navigate to second displayed content from the first displayed content, wherein at least a portion of the second displayed content is not included in the first displayed content;

in response to receiving the scroll command, navigating to the second displayed content and determining that the level of engagement is above a predetermined activity level;

determining an elapsed time since the scroll command was received;

determining that the elapsed time since the scroll command was received exceeds a predetermined period of time;

determining that no additional scroll commands have been received during the elapsed time;

in response to determining, while the application on the device is opened, that the elapsed time since the scroll command was received exceeds the predetermined period of time and that no additional scroll commands have been received during the elapsed time, determining that the level of engagement is below the predetermined activity level;

determining that push content should be inserted into the second displayed content having been navigated to in response to receiving the scroll command;

identifying a context of the second displayed content of the application by:

identifying a first object and a second object depicted by the second displayed content;

determining that the first object is depicted more prominently than the second object; and

in response to determining that the first object is depicted more prominently than the second object, determining that the context of the second displayed content relates to the first object;

selecting a push content item based at least on the context of the second displayed content; and

in response to determining that the level of engagement is below the predetermined activity level, causing the push content item to be inserted into the second displayed content.

2. The method of claim 1 , wherein determining that the push content should be inserted into the second displayed content comprises:

identifying one or more objects included in the second displayed content;

identifying a region in the second displayed content which does not include the one or more objects; and

determining a size of the region.

3. The method of claim 2 , further comprising:

comparing the size of the region with a plurality of dimensional requirements for one or more push content items;

determining that the one or more push content items fit within at least one dimensional requirement for at least one push content item; and

determining to insert the push content into the region.

4. The method of claim 1 , wherein identifying the context of the second displayed content comprises extracting one or more keywords from the second displayed content,

wherein selecting the push content item based on the context of the second displayed content comprises:

accessing metadata associated with a plurality of push content items;

comparing the one or more keywords from the second displayed content of the application to the metadata associated with the plurality of push content items; and

selecting the push content item from the plurality of push content items whose metadata conforms to the one or more keywords from the second displayed content.

5. The method of claim 1 , wherein identifying the context of the second displayed content of the application further comprises:

extracting one or more keywords from the second displayed content of the application;

processing the one or more keywords using a knowledge graph; and

extracting the context of the second displayed content from the knowledge graph,

wherein selecting the push content item based on the context of the second displayed content comprises selecting the push content item based on the extracted context.

6. The method of claim 1 , wherein identifying the context of the second displayed content of the application further comprises:

analyzing one or more images included in the second displayed content of the application;

identifying one or more objects within the one or more images; and

identifying an identifier for each of the one or more objects,

wherein selecting the push content item based on the context of the second displayed content comprises:

accessing metadata associated with a plurality of push content items; and

comparing the identifier for each of the one or more objects with the metadata associated with the plurality of push content items; and

selecting the push content item from the plurality of push content items whose metadata conforms to the identifier for one or more of the objects on the second displayed content.

7. The method of claim 1 , wherein identifying the context of the second displayed content of the application further comprises:

analyzing one or more images on the second displayed content of the application;

identifying one or more objects within the one or more images;

identifying an identifier for each of the one or more objects;

processing the identifier for each of the one or more objects using a knowledge graph; and

extracting the context of the second displayed content from the knowledge graph,

wherein selecting the push content item based on the context of the second displayed content comprises selecting the push content item based on the extracted context.

8. The method of claim 1 , further comprising:

accessing a user profile of the user;

extracting user information from the user profile; and

basing selection of the push content item based on the extracted user information.

9. The method of claim 8 , further comprising:

accessing metadata associated with a plurality of push content items; and

comparing the user information with the metadata associated with the plurality of push content items,

wherein selecting the push content item based on the context of the second displayed content is further based on the comparing of the user information with the metadata associated with the plurality of push content items.

10. A system of presenting push content items on a device to a user, the system comprising:

control circuitry configured to:

detect that a device is providing an output from an application running on the device, wherein the output comprises first displayed content;

monitor a level of engagement of the user with the application;

receive a scroll command to navigate to second displayed content from the first displayed content, wherein at least a portion of the second displayed content is not included in the first displayed content;

in response to receiving the scroll command, navigate to the second displayed content and determine that the level of engagement is above a predetermined activity level;

determine an elapsed time since the scroll command was received;

determine that the elapsed time since the scroll command was received exceeds a predetermined period of time;

determine that no additional scroll commands have been received during the elapsed time;

in response to determining, while the application on the device is opened, that the elapsed time since the scroll command was received exceeds the predetermined period of time and that no additional scroll commands have been received during the elapsed time, determine that the level of engagement is below the predetermined activity level;

determine that push content should be inserted into the second displayed content having been navigated to in response to receiving the scroll command;

identify a context of the second displayed content of the application by:

identifying a first object and a second object depicted by the second displayed content,

determining that the first object is depicted more prominently than the second object; and

in response to determining that the first object is depicted more prominently than the second object, determining that the context of the second displayed content relates to the first object;

select a push content item based at least on the context of the second displayed content; and

in response to the determination that the level of engagement is below the predetermined activity level, causing the push content item to be inserted into the second displayed content.

11. The system of claim 10 , wherein to determine that the push content should be inserted into the second displayed content, the control circuitry is configured to:

identify one or more objects included in the second displayed content;

identify a region of the second displayed content which does not include the one or more objects; and

determine a size of the region.

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

compare the size of the region with a plurality of dimensional requirements for one or more push content items;

determine that the one or more push content items fit within at least one dimensional requirement for at least one push content item; and

determine to insert the push content into the region.

13. The system of claim 10 , wherein, to identify the context of the second displayed content, the control circuitry is further configured to extract one or more keywords from the second displayed content,

wherein, to select the push content item based on the context of the second displayed content, the control circuitry is configured to:

access metadata associated with a plurality of push content items;

compare the one or more keywords from the second displayed content of the application to the metadata associated with the plurality of push content items; and

select the push content item from the plurality of push content items whose metadata conforms to the one or more keywords from the second displayed content.

14. The system of claim 10 , wherein, to identify the context of the second displayed content of the application, the control circuitry is further configured to:

extract one or more keywords from the second displayed content of the application;

process the one or more keywords using a knowledge graph; and

extract the context of the second displayed content from the knowledge graph,

wherein, to select the push content item based on the context of the second displayed content, the control circuitry is configured to select the push content item based on the extracted context.

15. The system of claim 10 , wherein, to identify the context of the second displayed content of the application, the control circuitry is further configured to:

analyze one or more images included in the second displayed content of the application;

identify one or more objects within the one or more images; and

identify an identifier for each of the one or more objects,

wherein, to select the push content item based on the context of the second displayed content, the control circuitry is configured to:

access metadata associated with a plurality of push content items; and

compare the identifier for each of the one or more objects to the metadata associated with the plurality of push content items; and

select the push content item from the plurality of push content items whose metadata conforms to the identifier for one or more of the objects on the second displayed content.

16. The system of claim 10 , wherein, to identify the context of the second displayed content of the application, the control circuitry is further configured to:

analyze one or more images on the second displayed content of the application;

identify one or more objects within the one or more images on the second displayed content;

identify an identifier for each of the one or more objects;

process the identifier for each of the one or more objects using a knowledge graph; and

extract the context of the second displayed content from the knowledge graph,

wherein, to select the push content item based on the context of the second displayed content, the control circuitry is configured to select the push content item based on the extracted context.

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

access a user profile of the user;

extract user information from the user profile; and

basing selection of the push content item based on the extracted user information.

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

access metadata associated with a plurality of push content items; and

compare the user information with the metadata associated with the plurality of push content items,

wherein the selection of the push content item based on the context of the second displayed content is further based on the comparing of the user information with the metadata associated with the plurality of push content items.

Assignments (7)
CHANGE OF NAME Recorded Oct 3, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069106/0231 →
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 Oct 28, 2019
From: BENNAH, ALBERT; GILPIN, JONATHAN B.; LENT, JAMES W.; MILLER, KYLE; SCAPPINI, BRYAN S.
To: ROVI GUIDES, INC.
Reel/Frame 050846/0243 →
Continuity (1)
Related Publication 20210049161A1 · Feb 18, 2021