IP Library Granted Patent US 10,628,446
Granted Patent B2
US 10,628,446 · App. 15/881,785 · Granted Apr 21, 2020

System and method for integrating business logic into a hot/cold prediction

Inventors: Varun Srivastava (Sunnyvale, CA); Yiye Ruan (Columbus, OH); Yan Zheng (San Jose, CA)
Assignee: WALMART APOLLO, LLC
G06F16/27G06Q30/00
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,628,446
App. No.
15/881,785
Granted
Apr 21, 2020
Kind
B2
Abstract

A system and method for integrating business logic into a database system is disclosed herein. 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: providing a set of distinct records in a database system, the database system comprising a first database cluster H and a second database cluster L, wherein each record of the set of distinct records represents an item for online sale, and wherein the first database cluster H has higher processing capabilities than the second database cluster L; receiving a search request from a requester; comparing the each record of the set of distinct records to a white-list database, wherein one or more records in the white-list database are predicted to be accessed by most requests from other requests within the set of distinct records in the database system; when a first record of the set of distinct records is contained in the white-list database, placing the first record in the first database cluster H; when a second record of the set of distinct records is not contained in the white-list database, calculating a probability that the second record will be accessed and (a) placing the second record of the set of distinct records in the first database cluster H and adding the second record to the white-list database when the second record is likely to be accessed, or (b) placing the second record of the set of distinct records in the second database cluster L when the second record is not likely to be accessed; and presenting a search result containing one or more records of the set of distinct records to the requester. Other embodiments are disclosed herein.

Claims (120)

1. A system comprising:

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:

providing a set of distinct records in a database system, the database system comprising a first database cluster H and a second database cluster L, wherein each record of the set of distinct records represents an item for online sale, and wherein the first database cluster H has higher processing capabilities than the second database cluster L;

receiving a search request from a requester;

comparing the each record of the set of distinct records to a white-list database, wherein one or more records in the white-list database are predicted to be accessed by most requests from other requests within the set of distinct records in the database system;

when a first record of the set of distinct records is contained in the white-list database, placing the first record in the first database cluster H;

when a second record of the set of distinct records is not contained in the white-list database, calculating a probability that the second record will be accessed and (a) placing the second record of the set of distinct records in the first database cluster H and adding the second record to the white-list database when the second record is likely to be accessed, or (b) placing the second record of the set of distinct records in the second database cluster L when the second record is not likely to be accessed; and

presenting a search result containing one or more records of the set of distinct records to the requester.

2. The system of claim 1 , wherein:

the one or more records in the white-list database represent items available for online sale that are prioritized.

3. The system of claim 1 , wherein the computing instructions are further configured to perform:

providing the one or more records in the white-list database to contain a field indicating a start date; and

keeping at least one record of the set of distinct records in the white-list database for a specified time-period after the start date.

4. The system of claim 3 , wherein:

the specified time-period is at least one month; and

the start date of the at least one record of the set of distinct records is automatically filled based on a time of entry of the at least one record into the white-list database.

5. The system of claim 1 , wherein the computing instructions are further configured to perform:

providing the one or more records in the white-list database to contain a field indicating an expiration date; and

keeping at least one record in the white-list database until the expiration date for the at least one record is reached.

6. The system of claim 1 , wherein the computing instructions are further configured to perform:

when the first record is contained in the white-list database, updating the first record to indicate that the first record is on a white-list.

7. The system of claim 1 , wherein:

calculating the probability that the second record of the set of distinct records will be accessed comprises:

using a predictive model to calculate the probability that a record of the set of distinct records will be accessed; and

using the predictive model to calculate the probability comprises:

using information stored in the database system.

8. The system of claim 1 , wherein the computing instructions are further configured to perform:

when the second record of the set of distinct records is not likely to be accessed and after placing the second record of the set of distinct records in the second database cluster L:

generating a random number; and

using the random number to determine when the second record of the set of distinct records should be (a) moved from the second database cluster L to the first database cluster H and (b) added to the white-list database.

9. The system of claim 8 , wherein:

using the random number to determine when the second record of the set of distinct records should be (a) moved from the second database cluster L to the first database cluster H and (b) added to the white-list database comprises:

determining a total number of records in the second database cluster L and a target number of records in the second database cluster L; and

when the random number is less than a predetermined value, then moving the second record from the second database cluster L to the first database cluster H; and

the predetermined value is calculated by a formula [the total number of records in the second database cluster L−the target number of records in the second database cluster L]/[the total number of records in the second database cluster L].

10. The system of claim 1 , wherein:

when the second record of the set of distinct records is not contained in the white-list database, calculating the probability that the second record will be accessed further comprises a random chance that the second record is moved to the first database cluster H using an algorithm to make predictions, wherein a “hot” item is associated with the first database cluster H and added to the white-list database, and a “cold” item is associated with the second database cluster L as expressed as:

for each product p in P:

A) when p is in W, mark p as “hot”;

B) otherwise, let v be a feature vector of p;

when F(v)=1, mark p as hot, otherwise, mark p as cold;

let W be a total number of white-listed products and p be a total number of all products;

further, let P hot and P cold be a number of products marked as “hot” and “cold,” respectively;

thus, P hot +P cold =P;

when P cold >c*P: for each product p in P: when p is marked “hot,” then do nothing; and

otherwise, re-mark p from “cold” to “hot” with a probability:

P

cold

-

(

c

*

P

)

P

cold

wherein:

P is a set of all products and feature vectors without labels, respectively;

F: P {0, 1} is a prediction algorithm that predicts either “hot” or “cold”; and

c is a desired ratio of “cold” products to all products.

11. A method comprising:

providing, with a computer system using one or more processors, a set of distinct records in a database system, the database system comprising a first database cluster H and a second database cluster L, wherein each record of the set of distinct records represents an item for online sale, and wherein the first database cluster H has higher processing capabilities than the second database cluster L;

receiving, with the computer system, a search request from a requester;

comparing, with the computer system, the each record of the set of distinct records to a white-list database, wherein one or more records in the white-list database are predicted to be accessed by most requests from other requests within the set of distinct records in the database system;

when a first record of the set of distinct records is contained in the white-list database, placing, with the computer system, the first record in the first database cluster H;

when a second record of the set of distinct records is not contained in the white-list database, calculating, with the computer system, a probability that the second record will be accessed and (a) placing the second record of the set of distinct records in the first database cluster H and adding the second record to the white-list database when the second record is likely to be accessed, or (b) placing the second record of the set of distinct records in the second database cluster L when the second record is not likely to be accessed; and

presenting, with the computer system, a search result containing one or more records of the set of distinct records to the requester.

12. The method of claim 11 wherein:

the one or more records in the white-list database represent items available for online sale that are prioritized.

13. The method of claim 11 further comprising:

providing, with the computer system, the one or more records in the white-list database to contain a field indicating a start date; and

keeping, with the computer system, at least one record of the set of distinct records in the white-list database for a specified time-period after the start date.

14. The method of claim 13 wherein:

the specified time-period is at least one month; and

the start date of the at least one record of the set of distinct records is automatically filled based on a time of entry of the at least one record into the white-list database.

15. The method of claim 11 further comprising:

providing, with the computer system, the one or more records in the white-list database to contain a field indicating an expiration date; and

keeping, with the computer system, at least one record in the white-list database until the expiration date for the at least one record is reached.

16. The method of claim 11 further comprising:

when the first record is contained in the white-list database, updating, with the computer system, the first record to indicate that the first record is on a white-list.

17. The method of claim 11 wherein:

calculating, with the computer system, the probability that the second record of the set of distinct records will be accessed comprises:

using a predictive model to calculate the probability that a record of the set of distinct records will be accessed; and

using the predictive model to calculate the probability comprises:

using information stored in the database system.

18. The method of claim 11 further comprising:

when the second record of the set of distinct records is not likely to be accessed and after placing the second record of the set of distinct records in the second database cluster L:

generating a random number; and

using the random number to determine when the second record of the set of distinct records should be (a) moved from the second database cluster L to the first database cluster H and (b) added to the white-list database.

19. The method of claim 18 wherein:

using the random number to determine when the second record of the set of distinct records should be (a) moved from the second database cluster L to the first database cluster H and (b) added to the white-list database comprises:

determining a total number of records in the second database cluster L and a target number of records in the second database cluster L; and

when the random number is less than a predetermined value, then moving the second record from the second database cluster L to the first database cluster H; and

the predetermined value is calculated by a formula [the total number of records in the second database cluster L−the target number of records in the second database cluster L]/[the total number of records in the second database cluster L].

20. The method of claim 11 wherein:

when the second record of the set of distinct records is not contained in the white-list database, calculating the probability that the second record will be accessed further comprises a random chance that the second record is moved to the first database cluster H using an algorithm to make predictions, wherein a “hot” item is associated with the first database cluster H and added to the white-list database, and a “cold” item is associated with the second database cluster L as expressed as:

for each product p in P:

A) when p is in W, mark p as “hot”;

B) otherwise, let v be a feature vector of p;

when F(v)=1, mark p as hot, otherwise, mark p as cold;

let W be a total number of white-listed products and p be a total number of all products;

further, let P hot and P cold be a number of products marked as “hot” and “cold,” respectively;

thus, P hot +P cold =P;

when P cold >c*P: for each product p in P: when p is marked “hot,” then do nothing; and

otherwise, re-mark p from “cold” to “hot” with a probability:

P

cold

-

(

c

*

P

)

P

cold

wherein:

P is a set of all products and feature vectors without labels, respectively;

F: P {0, 1} is a prediction algorithm that predicts either “hot” or “cold”; and

c is a desired ratio of “cold” products to all products.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2018
From: WAL-MART STORES, INC.
To: WALMART APOLLO, LLC
Reel/Frame 045817/0115 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2018
From: SRIVASTAVA, VARUN; RUAN, YIYE; ZHANG, YAN
To: WAL-MART STORES, INC.
Reel/Frame 044757/0069 →
Continuity (2)
Division 14498305 · Sep 26, 2014
Related Publication 20180150538A1 · May 31, 2018
Cited By (1)
US 12,399,908