IP Library Granted Patent US 11,983,180
Granted Patent B1
US 11,983,180 · App. 17/988,645 · Granted May 14, 2024

Increasing database search speed and quality by caching user-provided metadata alongside non-user-provided metadata

Inventors: Dylan Mann (San Francisco, CA); Brian Lucas (Annapolis, MD); Henrique Harman (New York, NY); Yuan Yue (Seattle, WA); Jonathan Marks (Boulder, CO)
Assignee: QUORUM
G06F16/24552G06F16/22G06F16/2425
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,983,180
App. No.
17/988,645
Granted
May 14, 2024
Kind
B1
Abstract

An apparatus may map one or more fields from a plurality of tables having a first table type to one or more mapped fields of a single table having a second table type and index the one or more mapped fields to correspond to a single index for the single table having the second table type. The apparatus may execute a first query using the single index corresponding to the one or more mapped fields to output a result for the first query. The apparatus may execute a second query for search activity that has occurred on the database since a last update to the single index and combine the result for the first query with the search activity that has occurred on the database since the last update to the single index to output a combined result based on the second query.

Claims (37)

1. A method of searching a database, comprising:

mapping one or more fields from a plurality of tables having a first table type to one or more mapped fields of a single table having a second table type, the plurality of tables included in different data sets of the database, the single table included in a same data set of the database;

indexing the one or more mapped fields to correspond to a single index for the single table having the second table type;

executing a first query using the single index corresponding to the one or more mapped fields of the single table having the second table type to output a result for the first query, and

executing a second query for search activity that has occurred on the database since a last update to the single index to output a combined result based on the first query and the second query, the search activity corresponding to one or more search types.

2. The method of claim 1 , further comprising:

combining the result for the first query with the search activity that has occurred on the database since the last update to the single index.

3. The method of claim 2 , wherein the search activity associated with the second query is time bounded between a time of the last update to the single index and a current time.

4. The method of claim 1 , further comprising excluding a portion of the combined result associated with the search activity that has occurred on the database since the last update to the single index when the portion of the combined result does not correspond to the second query.

5. The method of claim 1 , wherein indexing the one or more mapped fields to correspond to the single index, further comprises:

adjusting a search destination for the first query from a first type of search associated with the plurality of tables to a second type of search associated with the single table.

6. The method of claim 1 , further comprising updating the single index at a periodic interval, the update including at least one of storing additional information to the database or removing stale information from the database.

7. The method of claim 6 , wherein the update including the at least one of the storing additional information to the database or the removing stale information from the database is based on at least one cron associated with at least one document type.

8. The method of claim 1 , wherein indexing the one or more mapped fields to correspond to the single index, further comprises:

sharding the single index into a plurality of logical segments associated with the one or more mapped fields of the single table having the second table type.

9. The method of claim 1 , wherein the one or more fields from the plurality of tables having the first table type correspond to one or more database fields from a plurality of database tables having a database table type, and wherein the one or more mapped fields of the single table having the second table type correspond to a combined search field of a combined table having a combined table type.

10. The method of claim 9 , wherein the one or more database fields are associated with at least one database field type, and wherein the combined search field is associated with a combined search field type.

11. The method of claim 1 , wherein mapping the one or more fields from the plurality of tables having the first table type to the one or more mapped fields of the single table having the second table type is based on a denormalization procedure that associates redundant data from the plurality of tables with the single table.

12. The method of claim 11 , wherein the denormalization procedure is performed for at least a subset of data types included in the plurality of tables.

13. The method of claim 1 , further comprising filtering the output of the first query that uses the single index, wherein the output is filtered to generate filtered results for the first query that are indicated to an application programming interface (API) layer.

14. The method of claim 1 , wherein the database is a standalone database including the single table having the second table type or a combined database including the plurality of tables having the first table type and the single table having the second table type.

15. A method of searching a database, comprising:

executing a first query on the database using a single index that corresponds to a mapping of one or more fields from a plurality of tables having a first table type to one or more mapped fields of a single table having a second table type, the plurality of tables included in different data sets of the database, the single table included in a same data set of the database;

executing a second query for search activity that has occurred on the database since a last update to the single index, the search activity corresponding to one or more search types; and

outputting a combined result based on the first query and the second query, the combined result corresponding to information stored in the database and the search activity that has occurred on the database since the last update to the single index.

16. An apparatus for searching a database, comprising:

a memory; and

at least one processor coupled to the memory and configured to:

map one or more fields from a plurality of tables having a first table type to one or more mapped fields of a single table having a second table type, the plurality of tables included in different data sets of the database, the single table included in a same data set of the database;

index the one or more mapped fields to correspond to a single index for the single table having the second table type;

execute a first query using the single index corresponding to the one or more mapped fields of the single table having the second table type to output a result for the first query; and

execute a second query for search activity that has occurred on the database since a last update to the single index to output a combined result based on the first query and the second query, the search activity corresponding to one or more search types.

17. The apparatus of claim 16 , wherein the at least one processor is further configured to:

combine the result for the first query with the search activity that has occurred on the database since the last update to the single index.

18. The apparatus of claim 16 , wherein the search activity associated with the second query is time bounded between a time of the last update to the single index and a current time.

19. The apparatus of claim 16 , wherein the at least one processor is further configured to exclude a portion of the combined result associated with the search activity that has occurred on the database since the last update to the single index when the portion of the combined result does not correspond to the second query.

20. The apparatus of claim 16 , wherein the at least one processor is further configured to update the single index at a periodic interval, the update including at least one of storing additional information to the database or removing stale information from the database.

Assignments (2)
PATENT SECURITY AGREEMENT Recorded Jul 17, 2026
From: PHONE2ACTION, INC.; QUORUM ANALYTICS, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 075994/0967 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2024
From: MANN, DYLAN; LUCAS, BRIAN; HARMAN, HENRIQUE; YUE, YUAN; MARKS, JONATHAN
To: QUORUM
Reel/Frame 066563/0547 →