IP Library Granted Patent US 9,471,678
Granted Patent B2
US 9,471,678 · App. 14/925,513 · Granted Oct 18, 2016

Search engine for a video recorder

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,471,678
App. No.
14/925,513
Granted
Oct 18, 2016
Kind
B2
Abstract

The present invention is directed to a search engine for a video recorder. One embodiment of the present invention operates in an 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 on-demand programming, and to playback previously recorded shows that reside on a local or remote storage device. A search engine is added to the GUI that lets the search for shows and receive results in an enhanced manner.

Claims (127)

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:

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

control circuitry configured to:

match a 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:

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;

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 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;

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 , wherein:

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

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 , 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.

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

7. 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 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:

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;

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 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 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.

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

9. The method of claim 7 , 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.

10. The method of claim 7 , 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 second user selection.

11. The method of claim 7 , 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.

12. 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:

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

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:

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;

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 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.

13. The system of claim 12 , 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.

14. The system of claim 12 , 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.

15. The system of claim 12 , wherein:

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

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.

16. The system of claim 12 , 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.

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

18. The system of claim 12 , wherein:

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

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.

19. 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:

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 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.

20. The method of claim 19 , 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.

21. The method of claim 19 , 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.

22. The method of claim 19 , 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.

23. The method of claim 19 , 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.

24. The method of claim 19 , 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 May 20, 2016
From: PDT INTERACTIVE, INC.
To: APTIV DIGITAL, INC.
Reel/Frame 038768/0155 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2016
From: APTIV DIGITAL, INC.
To: ROVI GUIDES, INC.
Reel/Frame 038654/0869 →
CHANGE OF NAME Recorded May 20, 2016
From: PIONEER DIGITAL TECHNOLOGIES, INC.
To: PDT INTERACTIVE, INC.
Reel/Frame 038768/0135 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2016
From: KRAKIRIAN, HAIG H.; BUMGARDNER, JAMES A.; OMBAO, GEOFFREY Z.
To: PIONEER DIGITAL TECHNOLOGIES, INC.
Reel/Frame 038654/0807 →