IP Library Granted Patent US 10,123,089
Granted Patent B2
US 10,123,089 · App. 15/853,511 · Granted Nov 6, 2018

Client-server electronic program guide

Inventors: Michael D. Ellis (Boulder, CO); Thomas R. Lemmons (Evergreen, CO); William L. Thomas (Evergreen, CO)
Assignee: ROVI GUIDES, INC.
H04N21/4828G06F17/30817G06F17/30823G06F17/30828H04H60/31H04H60/72H04H60/82H04N5/44543H04N7/165H04N7/17318H04N21/25866H04N21/25891H04N21/2665H04N21/2668H04N21/26283H04N21/278H04N21/4147H04N21/44222H04N21/4532H04N21/466H04N21/4622H04N21/4668H04N21/47H04N21/4755H04N21/4782H04N21/47214H04N21/482H04N21/4821H04N21/4825H04N21/4826H04N21/6125H04N21/812H04N21/84H04N21/858H04N21/8586
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 10,123,089
App. No.
15/853,511
Granted
Nov 6, 2018
Kind
B2
Abstract

A client-server interactive television program guide system is provided. An interactive television program guide client is implemented on user television equipment. The interactive television program guide provides users with an opportunity to define expressions that are processed by the program guide server. The program guide server may provide program guide data, schedules reminders, schedules program recordings, and parentally locks programs based on the expressions. Users' viewing histories may be tracked. The program guide server may analyze the viewing histories and generates viewing recommendations, targets advertising, and collects program ratings information based on the viewing histories.

Claims (78)

1. A method for maintaining a database of program recommendations based on user preferences comprising:

retrieving a plurality of entries from a database of program guide data, wherein each entry of the database comprises:

a narrow preference scope metric, moderate preference scope metric, and wide preference scope metric, and

a plurality of program guide attributes comprising:

a first subset of program guide attributes associated with a preference attribute comprising a level of like or dislike;

a second subset of program guide attributes associated with a preference attribute indicating whether respective program guide attributes of the second subset are required;

a third subset of program guide attributes associated with a preference attribute indicating whether respective program guide attributes of the third subset are disallowed;

for each entry of the retrieved plurality of entries:

determining whether the second subset of program guide attributes are associated with a preference attribute indicating that the program guide attributes of the second subset are required, and whether the third subset of program guide attributes are associated with a preference attribute indicating that the program guide attributes of the third subset are disallowed; and

based on determining that the second subset of program guide attributes are associated with a preference attribute indicating that the program guide attributes of the second subset are required, and that the third subset of program guide attributes are associated with a preference attribute indicating that the program guide attributes of the third subset are not disallowed, setting the respective wide preference scope metric to an affirmative value.

2. The method of claim 1 , wherein the program guide data further comprises at least one of a program title, genre, and rating.

3. The method of claim 1 , further comprising:

receiving a user indication of one of the narrow preference scope, the moderate preference scope and the wide preference scope; and

identifying a subset of the plurality of entries from the database matching the one of the narrow preference scope, the moderate preference scope and the wide preference scope; and

generating for display a plurality of program listings corresponding to the subset of the plurality of entries.

4. The method of claim 1 , further comprising:

determining whether an aggregate level of like or dislike for the first subset of program guide attributes is at least level of weak like; and

based on determining that the aggregate level of like or dislike is a level of weak like and that the second subset of program guide attributes are associated with a preference attribute indicating that the program guide attributes of the second subset are required, and that the third subset of program guide attributes are associated with a preference attribute indicating that the program guide attributes of the third subset are not disallowed, setting the respective moderate preference scope metric to an affirmative value.

5. The method of claim 1 , further comprising:

determining whether an aggregate level of like or dislike for the first subset of program guide attributes is at least level of strong like; and

based on determining that the aggregate level of like or dislike is a level of strong like and that the second subset of program guide attributes are associated with a preference attribute indicating that the program guide attributes of the second subset are required, and that the third subset of program guide attributes are associated with a preference attribute indicating that the program guide attributes of the third subset are disallowed, setting the respective narrow preference scope metric to an affirmative value.

6. The method of claim 1 , further comprising:

determining whether any of the third subset of program guide attributes is associated with a preference attribute indicating that a respective program guide attribute is disallowed; and

based on determining that a program guide attribute of the third subset of program guide attributes is disallowed, setting the respective narrow preference scope metric, the respective moderate preference scope metric, and the respective wide preference scope metric to a negative value.

7. The method of claim 1 , wherein the database of program guide is stored on a program guide server, further comprising:

receiving, from a client device located remote to the program guide server, an indication of a selected preference scope; and

transmitting, to the client device, a plurality of program guide data corresponding to the selected preference scope.

8. The method of claim 1 , further comprising:

determining whether an aggregate level of like or dislike for the first subset of program guide attributes is a level of dislike; and

based on determining that the aggregate level of like or dislike is a level of dislike and that the second subset of program guide attributes are associated with a preference attribute indicating that the program guide attributes of the second subset are required, and that the third subset of program guide attributes are associated with a preference attribute indicating that the program guide attributes of the third subset are not disallowed, setting the respective moderate preference scope metric and the respective narrow scope metric to a negative value.

9. The method of claim 1 , further comprising:

receiving a user selection of a user preference profile of a plurality of user preference profiles; and

in response to receiving the user selection of the user preference profile, retrieving, from the selected user preference profile, a plurality of preference attributes.

10. The method of claim 1 , further comprising:

receiving a first user selection of a user preference profile stored in the database comprising a plurality of preference attributes each associated with a respective preference level;

receiving a user indication of a preference attribute of the plurality of preference attributes;

generating for display a selectable option to modify a respective preference level associated with the preference attribute;

in response to generating for display the selectable option, receiving a second user selection modifying the respective preference level; and

in response to the second user selection, modifying the respective preference level in the user preference profile stored in the database.

11. A system for maintaining a database of program recommendations based on user preferences comprising control circuitry configured to:

retrieve a plurality of entries from a database of program guide data, wherein each entry of the database comprises:

a narrow preference scope metric, moderate preference scope metric, and wide preference scope metric, and

a plurality of program guide attributes comprising:

a first subset of program guide attributes associated with a preference attribute comprising a level of like or dislike;

a second subset of program guide attributes associated with a preference attribute indicating whether respective program guide attributes of the second subset are required;

a third subset of program guide attributes associated with a preference attribute indicating whether respective program guide attributes of the third subset are disallowed;

for each entry of the retrieved plurality of entries:

determine whether the second subset of program guide attributes are associated with a preference attribute indicating that the program guide attributes of the second subset are required, and whether the third subset of program guide attributes are associated with a preference attribute indicating that the program guide attributes of the third subset are disallowed; and

based on determining that the second subset of program guide attributes are associated with a preference attribute indicating that the program guide attributes of the second subset are required, and that the third subset of program guide attributes are associated with a preference attribute indicating that the program guide attributes of the third subset are not disallowed, set the respective wide preference scope metric to an affirmative value.

12. The system of claim 11 , wherein the program guide data further comprises at least one of a program title, genre, and rating.

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

receive a user indication of one of the narrow preference scope, the moderate preference scope and the wide preference scope; and

identify a subset of the plurality of entries from the database matching the one of the narrow preference scope, the moderate preference scope and the wide preference scope; and

generate for display a plurality of program listings corresponding to the subset of the plurality of entries.

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

determine whether an aggregate level of like or dislike for the first subset of program guide attributes is at least level of weak like; and

based on determining that the aggregate level of like or dislike is a level of weak like and that the second subset of program guide attributes are associated with a preference attribute indicating that the program guide attributes of the second subset are required, and that the third subset of program guide attributes are associated with a preference attribute indicating that the program guide attributes of the third subset are not disallowed, set the respective moderate preference scope metric to an affirmative value.

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

determine whether an aggregate level of like or dislike for the first subset of program guide attributes is at least level of strong like; and

based on determining that the aggregate level of like or dislike is a level of strong like and that the second subset of program guide attributes are associated with a preference attribute indicating that the program guide attributes of the second subset are required, and that the third subset of program guide attributes are associated with a preference attribute indicating that the program guide attributes of the third subset are disallowed, set the respective narrow preference scope metric to an affirmative value.

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

determine whether any of the third subset of program guide attributes is associated with a preference attribute indicating that a respective program guide attribute is disallowed; and

based on determining that a program guide attribute of the third subset of program guide attributes is disallowed, set the respective narrow preference scope metric, the respective moderate preference scope metric, and the respective wide preference scope metric to a negative value.

17. The system of claim 11 , wherein the database of program guide is stored on a program guide server, wherein the control circuitry is further configured to:

receive, from a client device located remote to the program guide server, an indication of a selected preference scope; and

transmit, to the client device, a plurality of program guide data corresponding to the selected preference scope.

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

determine whether an aggregate level of like or dislike for the first subset of program guide attributes is a level of dislike; and

based on determining that the aggregate level of like or dislike is a level of dislike and that the second subset of program guide attributes are associated with a preference attribute indicating that the program guide attributes of the second subset are required, and that the third subset of program guide attributes are associated with a preference attribute indicating that the program guide attributes of the third subset are not disallowed, set the respective moderate preference scope metric and the respective narrow scope metric to a negative value.

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

receive a user selection of a user preference profile of a plurality of user preference profiles; and

in response to receiving the user selection of the user preference profile, retrieve, from the selected user preference profile, a plurality of preference attributes.

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

receive a first user selection of a user preference profile stored in the database comprising a plurality of preference attributes each associated with a respective preference level;

receive a user indication of a preference attribute of the plurality of preference attributes;

generate for display a selectable option to modify a respective preference level associated with the preference attribute;

in response to generating for display the selectable option, receive a second user selection modifying the respective preference level; and

in response to the second user selection, modify the respective preference level in the user preference profile stored in the database.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2018
From: ELLIS, MICHAEL D.; LEMMONS, THOMAS R.; THOMAS, WILLIAM L.
To: UNITED VIDEO PROPERTIES, INC.
Reel/Frame 045538/0225 →
MERGER Recorded Apr 13, 2018
From: UNITED VIDEO PROPERTIES, INC.
To: UV CORP.
Reel/Frame 045538/0386 →
MERGER Recorded Apr 13, 2018
From: UV CORP.
To: TV GUIDE, INC.
Reel/Frame 045961/0114 →
MERGER Recorded Apr 13, 2018
From: TV GUIDE, INC.
To: ROVI GUIDES, INC.
Reel/Frame 045961/0304 →
Continuity (9)
Continuation 15213328 · Jul 18, 2016
Continuation 14985075 · Dec 30, 2015
Continuation 13303964 · Nov 23, 2011
Continuation 11894748 · Aug 20, 2007
Continuation 11355536 · Feb 15, 2006
Continuation 10298274 · May 21, 2002
Division 09374043 · Aug 13, 1999
Provisional Application 60097538 · Aug 21, 1998
Related Publication 20180192151A1 · Jul 5, 2018