IP Library Granted Patent US 9,836,537
Granted Patent B2
US 9,836,537 · App. 15/274,390 · Granted Dec 5, 2017

Search engine for a video recorder

Inventors: Haig H. Krakirian (Burbank, CA); Geoffrey Z. Ombao (Pacific Palisades, CA); James A. Bumgardner (Shadow Hills, CA)
Assignee: Rovi Guides, Inc.
G06F17/3084G06F3/04842G06F17/3005G06F17/30023G06F17/3082G06F17/30864H04N5/44543H04N5/782H04N21/4147H04N21/4325H04N21/4333H04N21/4334H04N21/47202H04N21/47214H04N21/482H04N21/4828H04N21/8405
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 9,836,537
App. No.
15/274,390
Granted
Dec 5, 2017
Kind
B2
Abstract

The present invention is directed to a search engine for video recorder. One embodiment of the present invention operates in a environment that includes one or more set-top boxes connected to or integrated within one or more output devices. The set-top boxes are used to transfer shows from a broadcast input source to one or more types of storage devices and to play back the shows from the storage devices to the output devices, either in a delayed-live fashion or at a later time of the user's choosing. The set-top box displays a graphical user interface (GUI), which gives the user the ability to watch and/or record timeslot based programming, to order and programming, and to playback previously recorded shows that reside on a local or remote storage device. A search engine is added to toe GUI that lets the search for shows and receive results in an enhanced manner.

Claims (136)

1. A system for organizing search results generated for display on a graphical user interface into contextually relevant categories for efficient user review, the system comprising:

control circuitry configured to:

receive a user input comprising a character string;

match the character string to a first value in a first database field of a first database entry;

determine that the first database field is a title field;

in response to determining that the first database field is the title field, generate for display a first show listing for the first database entry;

match the character string to a second value in a second database field of a second database entry;

determine that the second database field is an actor name field;

in response to determining that the second database field is the actor name field, generate for display a selectable category for an actor that corresponds to the second value in the second database field, wherein the selectable category is simultaneously displayed with the first show listing in a single search results area based on receiving the user input;

generate for display a second show listing for the second database entry in response to a user selection of the selectable category; and

generate for display a video corresponding to the second show listing in response to a user selection of the second show listing.

2. The system of claim 1 , wherein the second show listing is generated for simultaneous display with the first show listing in response to receiving the user selection of the selectable category.

3. The system of claim 1 , wherein the control circuitry is further configured to:

compare the character string to a plurality of database fields of the first database entry; and

determine that a value in a database field of the plurality of database fields matches the character string.

4. The system of claim 1 , further comprising:

memory configured to store the video corresponding to the second show listing; and

wherein the control circuitry is further configured to:

retrieve a pointer, from a location field of the second database entry, to a location in the memory of the video corresponding to the second show listing; and

access the location in the memory of the video corresponding to the second show listing in response to the user selection of the second show listing.

5. The system of claim 1 , further comprising:

memory configured to store a threshold maximum number of search results; and

wherein the control circuitry is further configured to:

retrieve the threshold maximum number of search results from the memory;

enumerate a plurality of database entries matching an initial character string to identify a number of database entries matching the initial character string; and

determine whether the threshold maximum number of search results is less than the number of database entries matching the initial character string; and

in response to determining that the threshold maximum number of search results is less than the number of database entries matching the initial character string:

wait until an additional character entered via the alpha-numeric input area is received before generating for display the first show listing.

6. The system of claim 5 , wherein the control circuitry is further configured to:

receive the additional character;

generate the character string in response to receiving the additional character;

enumerate a plurality of database entries matching the character string to identify a number of database entries matching the character string;

determine whether the threshold maximum number of search results is greater than or equal to the number of database entries matching the character string; and

in response to determining that the threshold maximum number of search results is greater than or equal to the number of database entries matching the character string, generate for display the first show listing.

7. The system of claim 1 , wherein the character string is received via a bi-directional path.

8. A method for organizing search results generated for display on a graphical user interface into contextually relevant categories for efficient user review, the method comprising:

receiving a user input comprising a character string;

matching the character string to a first value in a first database field of a first database entry;

determining that the first database field is a title field;

in response to determining that the first database field is the title field, generating for display a first show listing for the first database entry;

matching the character string to a second value in a second database field of a second database entry;

determining that the second database field is an actor name field;

in response to determining that the second database field is the actor name field, generating for display a selectable category for an actor that corresponds to the second value in the second database field, wherein the selectable category is simultaneously displayed with the first show listing in a single search results area based on receiving the user input;

in response to a user selection of the selectable category, generating for display a second show listing for the second database entry; and

in response to a user selection of the second show listing, generating for display a video corresponding to the second show listing.

9. The method of claim 8 , wherein the second show listing is generated for simultaneous display with the first show listing in response to receiving the user selection of the selectable category.

10. The method of claim 8 , wherein matching the character string to the first database field of the first database entry comprises:

comparing the character string to a plurality of database fields of the first database entry; and

determining that a value in a database field of the plurality of database fields matches the character string.

11. The method of claim 8 , further comprising:

retrieving a pointer, from a location field of the second database entry, to a location, in memory, of the video corresponding to the second show listing; and

accessing the video corresponding to the second show listing in response to the user selection of the second show listing.

12. The method of claim 8 , further comprising:

retrieving a threshold maximum number of search results from memory;

enumerating a plurality of database entries matching an initial character string to identify a number of database entries matching the initial character string;

determining whether the threshold maximum number of search results is less than the number of database entries matching the initial character string; and

in response to determining that the threshold maximum number of search results is less than the number of database entries matching the initial character string, waiting to receive an additional character entered via the alpha-numeric input area before generating for display the first show listing.

13. The method of claim 12 , further comprising:

receiving the additional character;

generating the character string in response to receiving the additional character entered via the alpha-numeric input area;

enumerating a plurality of database entries matching the character string to identify a number of database entries matching the character string;

determining whether the threshold maximum number of search results is greater than or equal to the number of database entries matching the character string; and

in response to determining that the threshold maximum number of search results is greater than or equal to the number of database entries matching the character string, generating for display the first show listing.

14. A system for organizing search results generated for display on a graphical user interface into contextually relevant categories for efficient user review, the system comprising:

control circuitry configured to:

match a character string, received from a user, to a first value in a first database field of a first database entry, a second value in a second database field of a second database entry, and a third value in a third database field of a third database entry;

determine that the first database field is a title field of the first database entry, the second database field is a title field of the second database entry, and the third database field is a title field of the third database entry;

determine that the first value matches the second value;

in response to determining that the first value matches the second value, generate for display a selectable category for a show title that corresponds to the first value and the second value, wherein the selectable category includes a first show listing that corresponds to the first database entry and a second show listing that corresponds to the second database entry;

determine that the third value does not match the first value or the second value;

in response to determining that the third value does not match the first value or the second value, generate for simultaneous display with the selectable category a third show listing that corresponds to the third database entry;

in response to a user selection of the selectable category, generate for display the first show listing; and

in response to a user selection of the first show listing, generate for display a video corresponding to the first show listing.

15. The system of claim 14 , wherein the first show listing is generated for simultaneous display with the third show listing in response to the user selection of the selectable category.

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

compare the character string to a plurality of database fields of the first database entry; and

determine that a value in a database field of the plurality of database fields matches the character string.

17. The system of claim 14 , further comprising:

memory configured to store a show corresponding to the first show listing; and

wherein the control circuitry is further configured to:

retrieve a pointer, from a location field of the first database entry, to a location in the memory of the show corresponding to the first show listing; and

access the location in the memory of the show corresponding to the first show listing in response to the user selection of the first show listing.

18. The system of claim 14 , further comprising:

memory configured to store a threshold maximum number of search results; and

wherein the control circuitry is further configured to:

retrieve the threshold maximum number of search results from the memory;

enumerate a plurality of database entries matching an initial character string to identify a number of database entries matching the initial character string; and

determine whether the threshold maximum number of search results is less than the number of database entries matching the initial character string; and

in response to determining that the threshold maximum number of search results is less than the number of database entries matching the initial character string, wait until an additional character is received before generating for display the third show listing.

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

receive the additional character;

generate the character string in response to receiving the additional character;

enumerate a plurality of database entries matching the character string to identify a number of database entries matching the character string;

determine whether the threshold maximum number of search results is greater than or equal to the number of database entries matching the character string; and

in response to determining that the threshold maximum number of search results is greater than or equal to the number of database entries matching the initial character string:

generate for display the third show listing.

20. The system of claim 14 , wherein the character string is received via a bi-directional path.

21. The system of claim 14 , further comprising:

memory configured to store a display position corresponding to the third show listing; and

wherein the control circuitry is further configured to:

access a fourth value in a fourth database field of the third database entry, wherein the fourth value is a show type associated with the third database entry;

identify a visual indicator associated with the show type;

retrieve the display position associated with the third show listing from the memory; and

generate for simultaneous display with the third show listing, at the display position, the visual indicator.

22. A method for organizing search results generated for display on a graphical user interface into contextually relevant categories for efficient user review, the method comprising:

matching a character string, received from a user, to a first value in a first database field of a first database entry, a second value in a second database field of a second database entry, and a third value in a third database field of a third database entry;

determining that the first database field is a title field of the first database entry, the second database field is a title field of the second database entry, and the third database field is a title field of the third database entry;

determining that the first value matches the second value;

in response to determining that the first value matches the second value, generating for display a selectable category for a show title that corresponds to the first value and the second value, wherein the selectable category includes a first show listing that corresponds to the first database entry and a second show listing that corresponds to the second database entry;

determining that the third value does not match the first value or the second value;

in response to determining that the third value does not match the first value or the second value, generating for simultaneous display with the selectable category a third show listing that corresponds to the third database entry;

in response to a user selection of the selectable category, generating for display the first show listing; and

in response to a user selection of the first show listing, generating for display a video corresponding to the first show listing.

23. The method of claim 22 , wherein the first show listing is generated for simultaneous display with the third show listing in response to the user selection of the selectable category.

24. The method of claim 22 , wherein matching the character string to the first database field of the first database listing comprises:

comparing the character string to a plurality of database fields of the first database entry; and

determining that a value in a database field of the plurality of database fields matches the character string.

25. The method of claim 22 , further comprising:

retrieving a pointer, from a location field of the first database entry, to a location of a show in memory corresponding to the first show listing; and

accessing the show in memory corresponding to the first show listing in response to the user selection of the first show listing.

26. The method of claim 22 , further comprising:

retrieving a threshold maximum number of search results from memory;

enumerating a plurality of database entries matching an initial character string to identify a number of database entries matching the initial character string;

determining whether the threshold maximum number of search results is less than the number of database entries matching the initial character string; and

in response to determining that the threshold maximum number of search results is less than the number of database entries matching the initial character string, waiting to receive an additional character entered via the alpha-numeric input area before generating for display the third show listing.

27. The method of claim 26 , further comprising:

receiving the additional character;

generating the character string in response to receiving the additional character;

enumerating a plurality of database entries matching the character string to identify a number of database entries matching the character string;

determining whether the threshold maximum number of search results is greater than or equal to the number of database entries matching the character string; and

in response to determining that the threshold maximum number of search results is greater than or equal to the number of database entries matching the character string, generating for display the third show listing.

28. The method of claim 22 , further comprising:

accessing a fourth value in a fourth database field of the third database entry, wherein the fourth value is a show type associated with the third database entry;

identifying a visual indicator associated with the show type;

retrieving a display position from memory associated with the third show listing; and

generating for simultaneous display with the third show listing, at the display position, the visual indicator.

Assignments (10)
CHANGE OF NAME Recorded Oct 2, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069085/0198 →
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 →
CHANGE OF NAME Recorded Jul 11, 2017
From: PDT INTERACTIVE, INC.
To: APTIV DIGITAL, INC.
Reel/Frame 043153/0365 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2017
From: KRAKIRIAN, HAIG H.; BUMGARDNER, JAMES A.; OMBAO, GEOFFREY Z.
To: PIONEER DIGITAL TECHNOLOGIES, INC.
Reel/Frame 041155/0772 →
CHANGE OF NAME Recorded Feb 2, 2017
From: PIONEER DIGITAL TECHNOLOGIES, INC.
To: PDT INTERACTIVE, INC.
Reel/Frame 041591/0963 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2017
From: APTIV DIGITAL, INC.
To: ROVI GUIDES, INC.
Reel/Frame 041155/0807 →
Continuity (6)
Continuation 14925513 · Oct 28, 2015
Continuation 14857384 · Sep 17, 2015
Continuation 14244268 · Apr 3, 2014
Continuation 13159089 · Jun 13, 2011
Continuation 10905489 · Jan 6, 2005
Related Publication 20170011052A1 · Jan 12, 2017