IP Library Granted Patent US 11,037,221
Granted Patent B2
US 11,037,221 · App. 15/940,747 · Granted Jun 15, 2021

System and method for prioritized index searching

Inventors: Varun Srivastava (Sunnyvale, CA); Yiye Ruan (Columbus, OH); Yan Zheng (San Jose, CA)
Assignee: WALMART APOLLO, LLC
G06Q30/0625G06F16/3326G06F16/3338
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,037,221
App. No.
15/940,747
Granted
Jun 15, 2021
Kind
B2
Abstract

Various embodiments include a system that can comprise one or more processing modules; and one or more non-transitory memory storage modules storing computing instructions configured to run on the one or more processing modules and perform acts of: determining a popularity factor for each record in a plurality of records using historical data that can comprise previous search data for each record in the plurality of records; assigning each record in the plurality of records to a first database cluster H on a first database server when the popularity factor for the record in the plurality of records is greater than a threshold value or to a second database cluster L on a second database server when the popularity factor for the record in the plurality of records is less than the threshold value, wherein the first database cluster H has a greater processing power than the second database cluster L; receiving a search request from a requester; executing the search in the first database cluster H to retrieve a first set of results; when the first set of results is greater than a minimum number of results, presenting the first set of results to the requester; and when the first set of results is less than a minimum number of results: executing the search in the second database cluster L to retrieve a second set of results; and presenting the first set of results and the second set of results to the requester. Other embodiments are also disclosed herein.

Claims (136)

1. A system comprising:

one or more processors; and

one or more non-transitory memory storage devices storing computing instructions configured to run on the one or more processors and perform:

determining a popularity factor for each respective record in a plurality of records using:

respective historical data comprising respective previous search data for each respective record in the plurality of records; and

multiple iterations of a machine learning algorithm to analyze the respective historical data;

for each respective record in the plurality of records, assigning the respective record:

(1) to a first database cluster H on a first database server when the respective popularity factor for the respective record in the plurality of records is greater than a threshold value; or

(2) to a second database cluster L on a second database server when the respective popularity factor for the respective record in the plurality of records is less than the threshold value, wherein the first database cluster H has a greater processing power than the second database cluster L;

receiving a search request from a requester;

executing the search request in the first database cluster H to retrieve a first set of results;

when the first set of results is greater than a minimum number of results, presenting the first set of results to the requester; and

when the first set of results is less than the minimum number of results:

executing the search request in the second database cluster L to retrieve a second set of results; and

presenting the first set of results and the second set of results to the requester, wherein:

the threshold value is configured such that a probability that the first set of results is greater than the minimum number of results is at least fifty percent.

2. The system of claim 1 , wherein the one or more non-transitory memory storage devices are further configured to run on the one or more processors and perform:

searching a pre-selected search term table; and

when the search request contains a term within the pre-selected search term table, presenting only the first set of results to the requester.

3. The system of claim 2 , wherein the pre-selected search term table comprises at least one of:

search terms prioritized based on historical search queries; or

search terms prioritized based on predicted future search queries.

4. The system of claim 1 , wherein determining the popularity factor further comprises at least one of:

determining, for each respective record in the plurality of records, a previous storage location;

or

predicting when each respective record in the plurality of records will be used as a search term by a user.

5. The system of claim 1 , wherein:

the first database cluster H further comprises a first memory storage module;

the second database cluster L further comprises a second memory storage module; and

the second memory storage module has a larger capacity than the first memory storage module.

6. The system of claim 1 , wherein:

the first database cluster H further comprises a first memory storage module;

the second database cluster L further comprises a second memory storage module; and

at least one of:

(a)

the first memory storage module comprises a first random access memory (RAM) module;

the second memory storage module comprises a second RAM module; and

the first RAM module has a larger capacity than the second RAM module;

or

(b)

the first memory storage module comprises a non-transitory solid state memory storage module;

the second memory storage module comprises a non-transitory magnetic disk memory storage module; and

the non-transitory magnetic disk memory storage module has a larger capacity than the non-transitory solid state memory storage module.

7. The system of claim 1 , wherein:

the first database cluster H further comprises a first processing module;

the second database cluster L further comprises a second processing module; and

the first processing module has greater processing power than the second processing module.

8. The system of claim 1 , wherein:

the first database cluster H further comprises a first internet connection;

the second database cluster L further comprises a second internet connection; and

the first internet connection is faster than the second internet connection.

9. The system of claim 1 , wherein the first database cluster H and the second database cluster L further comprise information about products being sold by retailers.

10. The system of claim 1 , wherein:

the one or more non-transitory memory storage devices are further configured to run on the one or more processors and perform:

searching a pre-selected search term table; and

when the search request contains a term within the pre-selected search term table, presenting only the first set of results to the requester;

the pre-selected search term table comprises:

search terms prioritized based on historical search queries; and

search terms prioritized based on predicted future search queries;

determining the popularity factor comprises:

determining, for each respective record in the plurality of records, a previous storage location;

and

predicting when each respective record in the plurality of records will be used as a search term by a user;

the first database cluster H further comprises a first memory storage module comprising a first random access memory (RAM) module;

the second database cluster L further comprises a second memory storage module comprising a second RAM module;

the first RAM module has a larger capacity than the second RAM module;

the first database cluster H further comprises a first processing module;

the second database cluster L further comprises a second processing module; and

the first processing module has greater processing power than the second processing module.

11. A method comprising:

determining a popularity factor for each respective record in a plurality of records using:

respective historical data comprising respective previous search data for each respective record in the plurality of records; and

multiple iterations of a machine learning algorithm to analyze the historical data;

for each respective record in the plurality of records, assigning the respective record:

(1) to a first database cluster H on a first database server when the a respective popularity factor for the respective record in the plurality of records is greater than a threshold value; or

(2) to a second database cluster L on a second database server when the respective popularity factor for the respective record in the plurality of records is less than the threshold value, wherein the first database cluster H has a greater processing power than the second database cluster L;

receiving a search request from a requester;

executing the search request in the first database cluster H to retrieve a first set of results;

when the first set of results is greater than a minimum number of results, presenting the first set of results to the requester; and

when the first set of results is less than the minimum number of results:

executing the search request in the second database cluster L to retrieve a second set of results; and

presenting the first set of results and the second set of results to the requester, wherein:

the threshold value is configured such that a probability that the first set of results is greater than the minimum number of results is at least fifty percent.

12. The method of claim 11 further comprising:

searching a pre-selected search term table; and

when the search request contains a term within the pre-selected search term table, presenting only the first set of results to the requester.

13. The method of claim 12 , wherein the pre-selected search term table comprises at least one of:

search terms prioritized based on historical search queries; or

search terms prioritized based on predicted future search queries.

14. The method of claim 11 , wherein determining the popularity factor further comprises at least one of:

determining, for each respective record in the plurality of records, a previous storage location;

or

predicting when each respective record in the plurality of records will be used as a search term by a user.

15. The method of claim 11 , wherein:

the first database cluster H further comprises a first memory storage module;

the second database cluster L further comprises a second memory storage module; and

the second memory storage module has a larger capacity than the first memory storage module.

16. The method of claim 11 , wherein:

the first database cluster H further comprises a first memory storage module;

the second database cluster L further comprises a second memory storage module; and

at least one of:

(a)

the first memory storage module comprises a first random access memory (RAM) module;

the second memory storage module comprises a second RAM module; and

the first RAM module has a larger capacity than the second RAM module;

or

(b)

the first memory storage module comprises a non-transitory solid state memory storage module;

the second memory storage module comprises a non-transitory magnetic disk memory storage module; and

the non-transitory magnetic disk memory storage module has a larger capacity than the non-transitory solid state memory storage module.

17. The method of claim 11 , wherein:

the first database cluster H further comprises a first processing module;

the second database cluster L further comprises a second processing module; and

the first processing module has greater processing power than the second processing module.

18. The method of claim 11 , wherein:

the first database cluster H further comprises a first internet connection;

the second database cluster L further comprises a second internet connection; and

the first internet connection is faster than the second internet connection.

19. The method of claim 11 , wherein the first database cluster H and the second database cluster L further comprise information about products being sold by retailers.

20. The method of claim 11 , wherein:

the method further comprises:

searching a pre-selected search term table; and

when the search request contains a term within the pre-selected search term table, presenting only the first set of results to the requester;

the pre-selected search term table comprises:

search terms prioritized based on historical search queries; and

search terms prioritized based on predicted future search queries;

determining the respective popularity factor comprises:

determining, for each record in the plurality of records, a previous storage location;

and

predicting when each respective record in the plurality of records will be used as a search term by a user;

the first database cluster H further comprises a first memory storage module comprising a first random access memory (RAM) module;

the second database cluster L further comprises a second memory storage module comprising a second RAM module;

the first RAM module has a larger capacity than the second RAM module;

the first database cluster H further comprises a first processing module;

the second database cluster L further comprises a second processing module; and

the first processing module has greater processing power than the second processing module.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 19, 2018
From: WAL-MART STORES, INC.
To: WALMART APOLLO, LLC
Reel/Frame 046131/0843 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2018
From: SRIVASTAVA, VARUN; RUAN, YIYE; ZHENG, YAN
To: WAL-MART STORES, INC.
Reel/Frame 045395/0899 →