# US 10,313,760 B2 · Swivel search system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,313,760 B2
- Document ID: US10313760B2
- Status: Granted
- Kind: B2
- Application number: 12/121,619
- Filed: 2008-05-15
- Published: 2008-11-20
- Granted: 2019-06-04
- Earliest claimed: 2007-05-15
- Assignees: TiVo Solutions Inc.
- Applicants: Shelly Glennon; Robert F. Poniatowski; Bryan James; Brian Beach
- Inventors: Shelly Glennon; Robert F. Poniatowski; Bryan James; Brian Beach
- Web page: https://patentgrep.com/patent/US10313760B2

## CPC

- H04N 21/4828: {for searching programme descriptors (retrieval of video data G06F16/739)}
- G06F 16/3325: {Reformulation based on results of preceding query}
- G06F 16/7867: {using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings}
- G06F 16/9537: Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
- G06F 16/955: using information identifiers, e.g. uniform resource locators [URL]
- H04N 21/232: Content retrieval operation {locally} within server, e.g. reading video streams from disk arrays {(storage management G06F3/0604; details of querying and searching of video data from a database G06F16/739)}
- H04N 21/2393: {involving handling client requests (scheduling or organising the servicing of application requests H04L67/60)}
- H04N 21/242: Synchronisation processes, e.g. processing of PCR [Programme Clock References] {(arrangements for synchronising broadcast or distribution via plural systems in broadcast distribution systems H04H20/18)}
- H04N 21/25891: {being end-user preferences (retrieval of video data in a video database based on user preferences G06F16/739; arrangements for recognizing users' preferences H04H60/46; user profiles in network data switching protocols H04L67/306; processing of user preferences or user profiles in wireless networks H04W8/18)}
- H04N 21/2665: Gathering content from different sources, e.g. Internet and satellite
- H04N 21/2747: Remote storage of video programmes received via the downstream path, e.g. from the server
- H04N 21/4135: {external recorder (interface circuits between an apparatus for recording television signals and a television receiver H04N5/775)}
- H04N 21/4334: {Recording operations (recording of a television signal H04N5/76; arrangements for recording or accumulating broadcast information or broadcast-related information H04H60/27)}
- H04N 21/4532: {involving end-user characteristics, e.g. viewer profile, preferences (monitoring of user activities for profile generation for accessing a video database G06F16/739; user profiles in network data switching protocols H04L67/306; processing of user preferences or user profiles in wireless networks H04W8/18)}
- H04N 21/4622: {Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet (web site content organization and management for information retrieval from the Internet G06F16/958; transmission by internet of broadcast information H04H60/82; stock exchange data over packet-switching network H04L12/1804; push services including data channel over packet-switching network H04L12/1859)}
- H04N 21/47214: {for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market (stock exchange data over packet-switching network H04L12/1804; push services over packet-switching network H04L12/1859; notification of incoming messages in packet switching networks H04L51/224)}
- H04N 21/4788: communicating with other users, e.g. chatting {(arrangements for providing for computer conferences, e.g. chat rooms, to substation in data switching networks H04L12/1813; distributed application using peer-to-peer [P2P] networks H04L67/104)}
- H04N 21/4825: {using a list of items to be played back in a given order, e.g. playlists}
- H04N 21/632: {using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices (broadcast-related systems characterised by transmission among terminal devices H04H60/80; distributed application using peer-to-peer [P2P] networks H04L67/104)}
- H04N 21/6587: Control parameters, e.g. trick play commands, viewpoint selection
- H04N 21/8586: {by using a URL (processing chained hypermedia data for information retrieval G06F16/94; information retrieval from the Internet by using URLs G06F16/955; URL in broadcast information H04H20/93; Web-based protocols H04L67/02)}
- Y10S 707/914: Video
- Y10S 707/915: Image
- Y10S 707/916: Audio
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

A method and apparatus for performing an integrated search is provided. An interface is provided that allows users to search and select any data related to a searchable term. Searchable terms may comprise titles of content, actors, and tags. Upon receiving results from the initial search, the user progresses through the initial search by selecting a result from the initial search and conducting a further search of that selection. The search may progress through many layers of searching in order to find information useful to the user and the user may perform actions based upon results of the search. The search implements a display with two columns, the first column displaying selectable data, and the second column displaying results to the selected data. The search is further customizable based upon a privacy level selected by the user.

## Claims

### Claim 1

A method for operating an electronic search system, the method comprising:
in response to receiving, from a user viewing a first screen, a search string input comprising two or more alphanumeric characters,
performing a search based on the search string input to create a list of search terms, each term in the list of search terms containing the two or more alphanumeric characters received in the search string input; and
generating for display on the first screen the list of search terms;
receiving from the user, a selection of a particular search term from the list of search terms;
in response to receiving the selection of the particular search term from the list of search terms,
performing a search based upon the selected search term from the list of search terms;
determining whether a privacy policy opt-in indication was received from the user prior to receiving the search string input, the privacy policy opt-in being a consent to store private information associated with the user;
in response to determining that the privacy policy opt-in indication was received from the user prior to receiving the search string input, using full functionality of the electronic search system to filter results of the search based on the stored private information associated with the user,
in response to determining that the privacy policy opt-in indication was not received from the user prior to receiving the search string input, using limited functionality of the electronic search system, wherein the results of the search are not filtered based on the stored private information;
generating for display, to the user, the filtered results of the search in a first navigation list in a first area on a second screen, the first navigation list comprising the results of the search as a first plurality of selectable terms based upon the particular search term;
placing a cursor to highlight a current selectable term in the first navigation list in the first area of the second screen, the current selectable term in the first navigation list in the first area of the second screen corresponding to a result in the results of the search, and
generating for display a second navigation list in a second area on the second screen, the second navigation list comprising a second plurality of selectable terms or actions based upon the current selectable term of the first navigation list, the second area on the second screen being different from the first area on the first screen.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
receiving, from the user, a selection of one of the selectable terms in the second navigation list;
in response to the user selecting one of the selectable terms in the second navigation list, performing a second search, with the second search using the selected term from the second navigation list if the selected term in the second navigation list is a searchable term;
generating for display, to the user, results of the second search comprising a third navigation list in a third area of selectable terms based upon the selected search term in the second navigation list, wherein a current selectable term is highlighted, and a fourth navigation list in a fourth area of selectable terms or actions based upon the current selectable term of the third navigation list; and
initiating performance of the action indicated by the selected term if the selected term in the second navigation is an action.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
receiving, from the user, a selection of one of the selectable terms in a previously displayed navigation list;
performing a search of the selected term if the selected term in the previously displayed navigation list is a searchable term;
generating for display, to the user, results of the search comprising a current navigation list in one area of selectable terms based upon the selected search term in the previously displayed navigation list, wherein a current selectable term is highlighted, and a subsequent navigation list in another area of selectable terms or actions based upon the current selectable term of the current navigation list; and
initiating performance of the action indicated by the selected term if the selected term in the subsequent navigation list is an action.

### Claim 4 (depends on 1)

The method of claim 1, wherein the list of search terms comprises any combination of: tags, program titles, and credits.

### Claim 5 (depends on 1)

The method of claim 1, wherein results of the search includes or excludes any related data or categories of data.

### Claim 6 (depends on 1)

The method of claim 1, wherein results of the search comprises results that are allowed according to a privacy level selected by the user.

### Claim 7 (depends on 6)

The method of claim 6, wherein the user is able to change the privacy level.

### Claim 8 (depends on 4)

The method of claim 4, wherein credits comprise any combination of: actors, writers, directors, character names, or producers.

### Claim 9 (depends on 1)

The method of claim 1, wherein actions comprise recording and downloading.

### Claim 10 (depends on 9)

The method of claim 9, wherein performing the action indicated by the selected term further comprises:
scheduling a recording of an upcoming showing of the content if the action indicates recording content; and
initiating a download of the content if the action indicates downloading content.

### Claim 11 (depends on 10)

The method of claim 10, wherein the upcoming showing of the content is scheduled to be broadcast within a specified number of days.

### Claim 12 (depends on 1)

The method of claim 1, wherein the stored private information associated with user comprises a list of channels received by the user.

### Claim 13

An electronic search apparatus comprising:
a search term query subsystem that in response to receiving, from a user viewing a first screen, a search string input comprising two or more alphanumeric characters, performs a search based on the search string input to create a list of search terms, each term in the list of search terms containing the two or more alphanumeric characters received in the search string input;
a display subsystem that generates for display on the first screen the list of search terms;
a reception subsystem that receives from the user, a selection of a particular search term from the list of search terms;
a database query subsystem that performs a search based upon the selected search term from the list of search terms in response to receiving the selection;
a privacy subsystem that determines whether a privacy policy opt-in indication was received from the user prior to receiving the search string input, the privacy policy opt-in being a consent to store private information associated with the user;
a filtering subsystem that:
in response to determining that the privacy policy opt-in indication was received from the user prior to receiving the search string input, uses full functionality of the electronic search apparatus to filter results of the search based on the stored private information associated with the user; and
in response to determining that the privacy policy opt-in indication was not received from the user prior to receiving the search string input, uses limited functionality of the electronic search apparatus, wherein the results of the search are not filtered based on the stored private information;
the display subsystem generating for display, to the user, the filtered results of the search in a first navigation list in a first area on a second screen, the first navigation list comprising the results of the search as a first plurality of selectable terms based upon the particular search term, placing a cursor to highlight a current selectable term in the first navigation list in the first area of the second screen, and generating for display a second navigation list in a second area on the second screen, the second navigation list comprising a second plurality of selectable terms or actions based upon the current selectable term of the first navigation list, the second area on the second screen being different from the first area on the first screen, in response to receiving the selection of the particular search term from the list of search terms.

### Claim 14 (depends on 13)

The apparatus of claim 13, further comprising:
the reception subsystem receiving, from the user, a selection of one of the selectable terms in the second navigation list;
the database query subsystem performing a second search of the selected term in response to the user selecting one of the selectable terms in the second navigation list if the selected term in the second navigation list is a searchable term;
the display subsystem generating for display, to the user, results of the second search comprising a third navigation list in a third area of selectable terms based upon the selected search term in the second navigation list, wherein a current selectable term is highlighted, and a fourth navigation list in a fourth area of selectable terms or actions based upon the current selectable term of the third navigation list; and
a workload subsystem initiating performance of the action indicated by the selected term if the selected term in the second navigation is an action.

### Claim 15 (depends on 14)

The apparatus of claim 14, further comprising:
the reception subsystem receiving, from the user, a selection of one of the selectable terms in a previously displayed navigation list;
the database query subsystem performing a search of the selected term if the selected term in the previously displayed navigation list is a searchable term;
the display subsystem generating for display, to the user, results of the search comprising a current navigation list in one area of selectable terms based upon the selected search term in the previously displayed navigation list, wherein a current selectable term is highlighted, and a subsequent navigation list in another area of selectable terms or actions based upon the current selectable term of the current navigation list; and
the workload subsystem initiating performance the action indicated by the selected term if the selected term in the subsequent navigation list is an action.

### Claim 16 (depends on 13)

The apparatus of claim 13, wherein the list of search terms comprises any combination of: tags, program titles, and credits.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein credits comprise any combination of: actors, writers, directors, character names, or producers.

### Claim 18 (depends on 13)

The apparatus of claim 13, wherein results of the search includes or excludes any related data or categories of data.

### Claim 19 (depends on 13)

The apparatus of claim 13, wherein results of the search comprises results that are allowed according to a privacy level selected by the user.

### Claim 20 (depends on 19)

The apparatus of claim 19, wherein the user is able to change the privacy level.

### Claim 21 (depends on 13)

The apparatus of claim 13, wherein actions comprise recording and downloading.

### Claim 22 (depends on 21)

The apparatus of claim 21, wherein performing the action indicated by the selected term further comprises:
a scheduling subsystem for scheduling a recording of an upcoming showing of the content if the action indicates recording content; and
a downloading subsystem for initiating a download of the content if the action indicates downloading content.

### Claim 23 (depends on 22)

The apparatus of claim 22, wherein the upcoming showing of the content is scheduled to be broadcast within a specified number of days.

### Claim 24 (depends on 13)

The apparatus of claim 13, wherein the stored private information associated with user comprises a list of channels received by the user.

### Claim 25

A non-transitory machine-readable storage medium storing one or more sequences of instructions which, when executed by one or more processors, causes the one or more processors of an electronic search system to perform the steps:
in response to receiving, from a user viewing a first screen, a search string input comprising two or more alphanumeric characters,
performing a search based on the search string input to create a list of search terms, each term in the list of search terms containing the two or more alphanumeric characters received in the search string input; and
generating for display on the first screen the list of search terms;
receiving from the user, a selection of a particular search term from the list of search terms;
in response to receiving the selection of the particular search term from the list of search terms,
performing a search based upon the selected search term from the list of search terms;
determining whether a privacy policy opt-in indication was received from the user prior to receiving the search string input, the privacy policy opt-in being a consent to store private information associated with the user;
in response to determining that the privacy policy opt-in indication was received from the user prior to receiving the search string input, using full functionality of the electronic search system to filter results of the search based on the stored private information associated with the user;
in response to determining that the privacy policy opt-in indication was not received from the user prior to receiving the search string input, using limited functionality of the electronic search system, wherein the results of the search are not filtered based on the stored private information;
generating for display, to the user, the results of the search in a first navigation list in a first area on a second screen, the first navigation list comprising the results of the search as a first plurality of selectable terms based upon the particular search term;
placing a cursor to highlight a current selectable term in the first navigation list in the first area of the second screen, the current selectable term in the first navigation list in the first area of the second screen corresponding to a result in the results of the search, and
generating for display a second navigation list in a second area on the second screen, the second navigation list comprising a second plurality of selectable terms or actions based upon the current selectable term of the first navigation list, the second area on the second screen being different from the first area on the first screen.

### Claim 26 (depends on 25)

The non-transitory machine-readable storage medium of claim 25, further comprising the steps of:
receiving, from the user, a selection of one of the selectable terms in the second navigation list;
in response to the user selecting one of the selectable terms in the second navigation list, performing a second search, with the second search using the selected term from the second navigation list if the selected term in the second navigation list is a searchable term;
generating for display, to the user, results of the second search comprising a third navigation list in a third area of selectable terms based upon the selected search term in the second navigation list, wherein a current selectable term is highlighted, and a fourth navigation list in a fourth area of selectable terms or actions based upon the current selectable term of the third navigation list; and
initiating performance of the action indicated by the selected term if the selected term in the second navigation is an action.

### Claim 27 (depends on 26)

The non-transitory machine-readable storage medium of claim 26, further comprising the steps of:
receiving, from the user, a selection of one of the selectable terms in a previously displayed navigation list;
performing a search of the selected term if the selected term in the previously displayed navigation list is a searchable term;
generating for display, to the user, results of the search comprising a current navigation list in one area of selectable terms based upon the selected search term in the previously displayed navigation list, wherein a current selectable term is highlighted, and a subsequent navigation list in another area of selectable terms or actions based upon the current selectable term of the current navigation list; and
initiating performance of the action indicated by the selected term if the selected term in the subsequent navigation list is an action.

### Claim 28 (depends on 25)

The non-transitory machine-readable storage medium of claim 25, wherein the list of search terms comprises any combination of: tags, program titles, and credits.

### Claim 29 (depends on 28)

The non-transitory machine-readable storage medium of claim 28, wherein credits comprise any combination of: actors, writers, directors, character names, or producers.

### Claim 30 (depends on 25)

The non-transitory machine-readable storage medium of claim 25, wherein results of the search includes or excludes any related data or categories of data.

### Claim 31 (depends on 25)

The non-transitory machine-readable storage medium of claim 25, wherein results of the search comprises results that are allowed according to a privacy level selected by the user.

### Claim 32 (depends on 31)

The non-transitory machine-readable storage medium of claim 31, wherein the user is able to change the privacy level.

### Claim 33 (depends on 25)

The non-transitory machine-readable storage medium of claim 25, wherein actions comprise recording and downloading.

### Claim 34 (depends on 33)

The non-transitory machine-readable storage medium of claim 33, wherein, performing the action indicated by the selected term, further comprises performing the steps:
scheduling a recording of an upcoming showing of the content if the action indicates recording content; and
initiating a download of the content if the action indicates downloading content.

### Claim 35 (depends on 34)

The non-transitory machine-readable storage medium of claim 34, wherein the upcoming showing of the content is scheduled to be broadcast within a specified number of days.

### Claim 36 (depends on 25)

The non-transitory machine-readable storage medium of claim 25, wherein the stored private information associated with user comprises a list of channels received by the user.
