IP Library Granted Patent US 11,061,957
Granted Patent B2
US 11,061,957 · App. 14/558,648 · Granted Jul 13, 2021

System and method for searching multimedia

Inventors: Jim Funk (Los Altos, CA); Brandon Noffsinger (Colorado Springs, CO)
Assignee: ROKU, INC.
G06F16/48G06F16/24565G06F16/43G06F16/438G06F16/951G06F16/9535H04N21/237H04N21/2387H04N21/4126H04N21/4668H04N21/47208H04N21/47217H04N21/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 11,061,957
App. No.
14/558,648
Granted
Jul 13, 2021
Kind
B2
Abstract

A system and method for intelligent content searching is disclosed herein. The system saves all searches executed by the user and periodically re-executes one or more of the previously saved searches and display the subsequent search results to the user at an appropriate time without any user intervention. In one aspect, the system periodically re-executes one or more of the previously saved searches upon the occurrence of a trigger event, which may be trending events, news events, type of menus and/or screens accessed, new content being added on one or more service providers, a boot event, passage of time since last search, etc. In this way, users do not need to set alert or follow any search topic.

Claims (55)

1. A method for displaying search results comprising:

determining that an interface including one or more previously saved searches is displayed, each of the previously saved searches corresponding to a set of one or more search terms;

receiving an updated plurality of search results for each of the previously saved searches from a remote server, wherein a signal to the remote server to re-run the previously saved searches is triggered based on a trigger event, and wherein each of the search results corresponds to execution of a corresponding one of the previously saved searches performed at a different time;

displaying a grouping of the plurality of search results for each of a plurality of different search terms, wherein each search term is associated with a different grouping of search results, wherein at least one of the groupings of search results comprises the plurality of search results for each of the plurality of previously saved searches on data across a plurality of individual time periods, wherein a first set of the displayed search results corresponding to a first time period of a first one of the previously saved searches differs from a second set of the displayed search results corresponding to a second time period of the first one of the previously saved searches, wherein the first set of displayed search results and the second set of displayed search results include at least one overlapping result that is displayed;

re-executing a first one of the previously saved searches automatically without user intervention;

receiving a most recent search result on at least a portion of the data that has been updated for a more recent date/time based on the re-executed first one of the previously saved searches, for a first one of the previously saved searches; and

updating the displaying of the grouping of the plurality of search results, wherein the updated display includes the most recent search result for the more recent date/time for the first one of the saved searches, displayed concurrently with the first set and the second set of search results that were previously displayed.

2. The method of claim 1 , wherein the portion of the data for the most recent search result comprises one or more new or most relevant contents since a previous search date.

3. The method of claim 1 , further comprising:

displaying a plurality of dates to indicate when each of the plurality of previous searches was performed, wherein each date is displayed adjacent to its respective portion of the search results.

4. The method of claim 1 , wherein the most recent search result is displayed in a timeline format, including both previous search results and the portion of the data that has been updated.

5. The method of claim 4 , wherein the updating comprises:

determining that a threshold number of search results has been exceeded;

determining an oldest one of the plurality of search results; and

removing the oldest one of the plurality of search results from the display, wherein after the removing, the threshold number of search results is no longer exceeded.

6. The method of claim 1 , further comprising:

receiving a user command to enter a search user interface;

displaying the search user interface in response to the user command; and

requesting search results for a current search and the plurality of previously saved searches by re-executing the current search and the plurality of previously saved searches, wherein the requesting for the search results is done automatically without the user intervention.

7. The method of claim 1 , wherein the displaying comprises:

determining that a first one of the plurality of search results displayed for a first one of the previously saved searches comprises a first set of search results; and

determining that a second one of the plurality of search results displayed for the first one of the previously saved searches comprises a second set of search results different from the first set of search results.

8. The method of claim 1 , wherein the receiving comprises:

determining a selection of a channel associated with the request to execute one or more of the previously saved searches executable against the channel, wherein the channel includes both relevant and irrelevant content corresponding to the previously saved searches;

identifying at least one of the previously saved searches is irrelevant to content available on the selected channel; and

receiving the updated plurality of search results for each of the plurality of previously saved searches that are relevant to content available on the selected channel, wherein the identified at least one previously saved searches that is irrelevant to the content available on the selected channel is not re-run.

9. The method of claim 8 , wherein the at least one of the previously saved searches is associated with a channel other than the selected channel.

10. The method of claim 1 , wherein the re-executing is performed upon a boot event of a computing device.

11. A non-transitory processor-readable medium having one or more instructions operational on a client device which, when executed by a processor, cause the processor to:

determine that an interface including one or more previously saved searches is displayed, each of the previously saved searches corresponding to a set of one or more search terms;

receive an updated plurality of search results for each of the previously saved searches from a remote server, wherein a signal to the remote server to re-run the previously saved searches is triggered based on a trigger event, and wherein each of the search results corresponds to execution of a corresponding one of the previously saved searches performed at a different time;

display a grouping of the plurality of search results for each of a plurality of different search terms, wherein each search term is associated with a different grouping of search results, wherein at least one of the groupings of search results comprises the plurality of search results for each of the plurality of previously saved searches on data across a plurality of individual time periods, wherein a first set of the displayed search results corresponding to a first time period of a first one of the previously saved searches differs from a second set of the displayed search results corresponding to a second time period of the first one of the previously saved searches, wherein the first set of displayed search results and the second set of displayed search results include at least one overlapping result that is displayed;

re-execute a first one of the previously saved searches automatically without user intervention;

automatically receive a most recent search result on at least a portion of the data that has been updated for a more recent date/time based on the re-executed first one of the previously saved searches, for a first one of the previously saved searches; and

update the display of the grouping of the plurality of search results, wherein the updated display includes the most recent search result for the more recent date/time for the first one of the saved searches, displayed concurrently with the first set and the second set of search results that were previously displayed.

12. The non-transitory processor-readable medium of claim 11 , wherein the portion of the data for the most recent search result comprises one or more new or most relevant contents since a previous search date.

13. The non-transitory processor-readable medium of claim 11 , further comprising instructions which, when executed by the processor, cause the processor to:

display one or more dates to indicate when each of the plurality of previous searches was performed, wherein each date is displayed adjacent to its respective portion of the search results.

14. The non-transitory processor-readable medium of claim 11 , further comprising instructions which, when executed by the processor, cause the processor to:

display a search term used by each of the one or more previous searches.

15. The non-transitory processor-readable medium of claim 11 , further comprising instructions which, when executed by the processor, cause the processor to:

receive a user command to enter a search user interface;

display the search user interface in response to the user command; and

request for search results for the current search and for the one or more previously saved searches, wherein the request for the search results is done automatically without the user intervention.

16. The non-transitory processor-readable medium of claim 11 , wherein the plurality of search results are generated using search terms based on a user profile.

17. A system for displaying search results, comprising:

a display;

a memory; and

one or more hardware processors, coupled to the display and memory and configured to:

determine that an interface including one or more previously saved searches is displayed, each of the previously saved searches corresponding to a set of one or more search terms;

receive an updated plurality of search results for each of the previously saved searches from a remote server, wherein a signal to the remote server to re-run the previously saved searches is triggered based on a trigger event, and wherein each of the search results corresponds to execution of a corresponding one of the previously saved searches performed at a different time;

display a grouping of the plurality of search results for each of a plurality of different search terms, wherein each search term is associated with a different grouping of search results, wherein at least one of the groupings of search results comprises the plurality of search results for each of the plurality of previously saved searches on data across a plurality of individual time periods, wherein a first set of the displayed search results corresponding to a first time period of a first one of the previously saved searches differs from a second set of the displayed search results corresponding to a second time period of the first one of the previously saved searches, wherein the first set of displayed search results and the second set of displayed search results include at least one overlapping result that is displayed;

re-execute a first one of the previously saved searches automatically without user intervention;

receive a most recent search result on at least a portion of the data that has been updated for a more recent date/time based on the re-executed first one of the previously saved searches, for a first one of the previously saved searches; and

update the displaying of the grouping of the plurality of search results, wherein the updated display includes the most recent search result for the more recent date/time for the first one of the saved searches, displayed concurrently with the first set and the second set of search results that were previously displayed.

Assignments (8)
SECURITY INTEREST Recorded Sep 18, 2024
From: ROKU, INC.
To: CITIBANK, N.A.
Reel/Frame 068982/0377 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT (REEL/FRAME 048385/0375) Recorded Feb 22, 2023
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROKU, INC.
Reel/Frame 062826/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2021
From: FUNK, JIM; NOFFSINGER, BRANDON
To: ROKU, INC.
Reel/Frame 055786/0128 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2019
From: SILICON VALLEY BANK, AS BANK
To: ROKU, INC.
Reel/Frame 048420/0903 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2019
From: SILICON VALLEY BANK, AS BANK
To: ROKU, INC.
Reel/Frame 048420/0841 →
PATENT SECURITY AGREEMENT Recorded Feb 20, 2019
From: ROKU, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 048385/0375 →
AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 12, 2017
From: ROKU, INC.
To: SILICON VALLEY BANK
Reel/Frame 042768/0268 →
SECURITY INTEREST Recorded Jun 1, 2015
From: ROKU, INC.
To: SILICON VALLEY BANK
Reel/Frame 035753/0739 →
Continuity (4)
Continuation 14536339 · Nov 7, 2014
Continuation In Part 13778068 · Feb 26, 2013
Continuation In Part 13431932 · Mar 27, 2012
Related Publication 20150088869A1 · Mar 26, 2015
Cited By (1)
US 12,627,863