IP Library Granted Patent US 10,936,646
Granted Patent B2
US 10,936,646 · App. 16/199,865 · Granted Mar 2, 2021

Systems and methods for enhancing search results by way of updating search indices

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,936,646
App. No.
16/199,865
Granted
Mar 2, 2021
Kind
B2
Abstract

Systems and methods are described herein for efficiently providing personalized search results to a user. Personalized search allows a user to receive search results that are most relevant to that user. For example, when a user with a strong interest in rap searches for “50 cent” they may be presented with top search results corresponding to 50 Cent's rap albums. Conversely, when a coin collector searches for “50 cent” they may be presented with top search results containing antique coins.

Claims (80)

1. A method for providing search results to a user, the method comprising:

receiving a search query comprising a symbol;

searching for data corresponding to a first database index that matches the symbol;

in response to determining that the searching for data corresponding to the first database index yields insufficient search results:

searching for data corresponding to a second database index that matches the symbol;

determining that the searching for data corresponding to the second database index yields a number of search results that is greater than a first predetermined number;

incrementing a counter value;

determining that the counter value corresponds to a second predetermined number; and

updating the first database index to include data of the second database index.

2. The method of claim 1 , further comprising generating for display the results of at least one of the searching for data corresponding to the first database index and searching for data corresponding to the second database index.

3. The method of claim 2 , wherein generating for display the search results of at least one of the searching for data corresponding to the first database index and searching for data corresponding to the second database index comprises:

determining attributes corresponding to each search result of the search results of at least one of the searching for data corresponding to the first database index and searching for data corresponding to the second database index;

grouping each search result of the search results of at least one of the searching for data corresponding to the first database index and searching for data corresponding to the second database index into a respective group of a plurality of groups based on the attributes of each search result of the search results of at least one of the searching for data corresponding to the first database index and searching for data corresponding to the second database index; and

generating for display the search results of at least one of the searching for data corresponding to the first database index and searching for data corresponding to the second database index in a manner that is organized based on the plurality of groups.

4. The method of claim 1 , further comprising performing the searching for data corresponding to the second database index in parallel to generating for display the search results corresponding to the searching for data corresponding to the first database index.

5. The method of claim 1 , further comprising, in response to finding a first search result of the search results corresponding to the searching for data corresponding to the first database index, generating for display the first search result while continuing to perform the searching for data corresponding to the first database index.

6. The method of claim 1 , further comprising:

monitoring symbols received in a plurality of search queries; and

dynamically modifying the first database index and the second database index based on the monitoring.

7. The method of claim 6 , further comprising:

determining an occurrence of a real-world event;

determining a plurality of attributes corresponding to the real-world event;

identifying data in the second database index that corresponds to an attribute of the plurality of attributes; and

updating the first database index to include the identified data from the second database index.

8. The method of claim 1 , further comprising:

comparing attributes associated with data that has not yet been placed in the first database index or the second database index to attributes associated with a database profile;

in response to determining that the attributes associated with the data match the attributes associated with the database profile by at least a first predetermined value:

updating the first database index to include the data; and

in response to determining that the attributes associated with the data match the attributes associated with the database profile by at least a second predetermined value, wherein the second predetermined value is less than the first predetermined value:

updating the second database index to include the data.

9. The method of claim 1 , further comprising:

in response to receiving the search query, associating an entry of the first database index that yielded a search result of the search results with a timestamp;

periodically comparing the timestamp against a predetermined timestamp;

in response to determining, based on the comparing, that the timestamp is older than the predetermined timestamp, identifying data in the first database index where the timestamp is older than the predetermined timestamp; and

in response to the identifying:

updating the second database index to include the entry; and

deleting the entry from the first database index.

10. The method of claim 1 , further comprising identifying a database profile of a plurality of database profiles that represents common user profile traits of a segment of users, wherein the database profile identifies the first database index and the second database index.

11. A system for providing search results to a user, the system comprising:

user input circuitry;

communications circuitry; and

control circuitry configured to:

receive a search query comprising a symbol;

search for data corresponding to a first database index that matches the symbol;

in response to determining that the searching for data corresponding to the first database index yields insufficient search results:

search for data corresponding to a second database index that matches the symbol;

determine that searching for data corresponding to the second database index yields a number of search results that is greater than a first predetermined number;

increment a counter value;

determine that the counter value corresponds to a second predetermined number; and

update the first database index to include data of the second database index.

12. The system of claim 11 , wherein the control circuitry is further configured to generate for display the results of at least one of the searching for data corresponding to the first database index and searching for data corresponding to the second database index.

13. The system of claim 12 , wherein the control circuitry, when generating for display the search results of at least one of the searching for data corresponding to the first database index and searching for data corresponding to the second database index, is further configured to:

determine attributes corresponding to each search result of the search results of at least one of the searching for data corresponding to the first database index and searching for data corresponding to the second database index;

group each search result of the search results of at least one of the searching for data corresponding to the first database index and searching for data corresponding to the second database index into a respective group of a plurality of groups based on the attributes of each search result of the search results of at least one of the searching for data corresponding to the first database index and searching for data corresponding to the second database index; and

generate for display the search results of at least one of the searching for data corresponding to the first database index and searching for data corresponding to the second database index in a manner that is organized based on the plurality of groups.

14. The system of claim 11 , wherein the control circuitry is further configured to perform the search for data corresponding to the second database index in parallel to generating for display the search results corresponding to the searching for data corresponding to the first database index.

15. The system of claim 11 , wherein the control circuitry is further configured to, in response to finding a first search result of the search results corresponding to the searching for data corresponding to the first database index, generate for display the first search result while continuing to perform the search for data corresponding to the first database index.

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

monitor symbols received in a plurality of search queries; and

dynamically modify the first database index and the second database index based on the monitoring.

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

determine an occurrence of a real-world event;

determine a plurality of attributes corresponding to the real-world event;

identify data in the second database index that corresponds to an attribute of the plurality of attributes; and

update the first database index to include the identified data from the second database index.

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

compare attributes associated with data that has not yet been placed in the first database index or the second database index to attributes associated with a database profile;

in response to determining that the attributes associated with the data match the attributes associated with the database profile by at least a first predetermined value:

update the first database index to include the data; and

in response to determining that the attributes associated with the data match the attributes associated with the database profile by at least a second predetermined value, wherein the second predetermined value is less than the first predetermined value:

update the second database index to include the data.

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

in response to receiving the search query, associate an entry of the first database index that yielded a search result of the search results with a timestamp;

periodically compare the timestamp against a predetermined timestamp;

in response to determining, based on the comparing, that the timestamp is older than the predetermined timestamp,

identify data in the first database index where the timestamp is older than the predetermined timestamp; and

in response to the identifying:

update the second database index to include the entry, and

delete the entry from the first database index.

20. The system of claim 11 , wherein the control circuitry is further configured to identify a database profile of a plurality of database profiles that represents common user profile traits of a segment of users, wherein the database profile identifies the first database index and the second database index.

Assignments (9)
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS Recorded Oct 27, 2022
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ROVI PRODUCT CORPORATION (AS SUCCESSOR-IN-INTEREST TO ROVI GUIDES, INC.)
Reel/Frame 061786/0768 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2022
From: ADEIA GUIDES INC.
To: ROVI PRODUCT CORPORATION
Reel/Frame 061747/0001 →
CHANGE OF NAME Recorded Oct 23, 2022
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 061746/0981 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2019
From: MAUGHAN, BENJAMIN H.; STATHACOPOULOS, PAUL
To: ROVI GUIDES, INC.
Reel/Frame 048393/0353 →