IP Library Granted Patent US 10,002,172
Granted Patent B2
US 10,002,172 · App. 14/498,305 · Granted Jun 19, 2018

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

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,002,172
App. No.
14/498,305
Granted
Jun 19, 2018
Kind
B2
Abstract

A system and method for integrating business logic into a database system is disclosed herein. A database system may comprise a first database cluster H and a second database cluster L. After records are separated into the first database cluster H and the second database cluster L, the total number of records in the second database cluster L is compared to a target number of records. If there are too many records in the second database cluster L, a randomly generated number is used to randomly move records from second database cluster L into first database cluster H. In a situation where the first database cluster H is faster and accessed more often, such a method results in more products being placed in the faster database cluster and become more likely to become purchased. Other embodiments are also disclosed herein.

Claims (130)

1. A method comprising:

determining: (a) a total number of records in a set of distinct records contained in a database system and (b) a total number of records in the set of distinct records in a second database cluster L, wherein the database system comprises a first database cluster H and the second database cluster L, wherein the total number of records contained in the database system comprises the total number of records in the second database cluster L plus a total number of records in the first database cluster H, and wherein each record in the database system represents an item for sale in an electronic commerce system;

when the total number of records in the second database cluster L is greater than a target number of records in the second database cluster L, iterating through each record in the set of distinct records, and for each record in the second database cluster L:

generating a random number for each record in the second database cluster L; and

using the random number to determine when each record should be moved from the second database cluster L to the first database cluster H to provide an opportunity for each record in the second database cluster L to be placed in the first database cluster H;

receiving a search request from a requester; and

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

2. The method of claim 1 wherein:

using the random number to determine when each record should be moved from the second database cluster L to the first database cluster H comprises, when the random number is less than a predetermined value, moving each 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].

3. The method of claim 2 further comprising:

determining the target number of records in the second database cluster L by using a target ratio between the target number of records in the second database cluster L and the total number of records in the database system.

4. The method of claim 1 wherein:

the first database cluster H is stored on a first database server;

the second database cluster L is stored on a second database server apart from the first database server; and

the first database server has greater processing capabilities than the second database server.

5. 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 acts of:

determining: (a) a total number of records in a set of distinct records contained in a database system and (b) a total number of records in the set of distinct records in a second database cluster L, wherein the database system comprises a first database cluster H and the second database cluster L, wherein the total number of records contained in the database system comprises the total number of records in the second database cluster L plus a total number of records in the first database cluster H, and wherein each record in the database system represents an item for sale in an electronic commerce system;

when the total number of records in the second database cluster L is greater than a target number of records in the second database cluster L, iterating through each record in the set of distinct records, and for each record in the second database cluster L:

generating a random number for each record in the second database cluster L; and

using the random number to determine when each record should be moved from the second database cluster L to the first database cluster H to provide an opportunity for each record in the second database cluster L to be placed in the first database cluster H;

receiving a search request from a requester; and

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

6. The system of claim 5 wherein:

using the random number to determine when each record should be moved from the second database cluster L to the first database cluster H further comprises, when the random number is less than a predetermined value, moving each 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].

7. The system of claim 5 wherein:

the target number of records in the second database cluster L is determined by a target ratio between the target number of records in the second database cluster L and the total number of records in the database system.

8. The system of claim 5 wherein:

the first database cluster H is stored on a first database server;

the second database cluster L is stored on a second database server apart from the first database server; and

the first database server has greater processing capabilities than the second database server.

9. A method comprising:

determining: (a) a total number of records in a set of distinct records contained in a database system and (b) a total number of records in the set of distinct records in a second database cluster L, wherein the database system comprises a first database cluster H and the second database cluster L, wherein the total number of records contained in the database system comprises the total number of records in the second database cluster L plus a total number of records in the first database cluster H, and wherein each record in the database system represents an item for sale in an electronic commerce system;

when the total number of records in the second database cluster L is greater than a target number of records in the second database cluster L, iterating through each record in the set of distinct records, and for each record in the second database cluster L:

generating a random number for each record in the second database cluster L; and

using the random number to determine when each record should be moved from the second database cluster L to the first database cluster H to provide an opportunity for each record in the second database cluster L to be placed in the first database cluster H;

wherein:

using the random number to determine when each record should be moved from the second database cluster L to the first database cluster H comprises, when the random number is less than a predetermined value, moving each 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];

determining the target number of records in the second database cluster L by using a target ratio between the target number of records in the second database cluster L and the total number of records in the database system;

receiving a search request from a requester; and

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

10. A method comprising:

determining: (a) a total number of records in a set of distinct records contained in a database system and (b) a total number of records in the set of distinct records in a second database cluster L, wherein the database system comprises a first database cluster H and the second database cluster L, wherein the total number of records contained in the database system comprises the total number of records in the second database cluster L plus a total number of records in the first database cluster H, and wherein each record in the database system represents an item for sale in an electronic commerce system;

when the total number of records in the second database cluster L is greater than a target number of records in the second database cluster L, iterating through each record in the set of distinct records, and for each record in the second database cluster L:

generating a random number for each record in the second database cluster L; and

using the random number to determine when each record should be moved from the second database cluster L to the first database cluster H to provide an opportunity for each record in the second database cluster L to be placed in the first database cluster H;

wherein:

using the random number to determine when each record should be moved from the second database cluster L to the first database cluster H comprises, when the random number is less than a predetermined value, moving each record from the second database cluster L to the first database cluster H;

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];

the first database cluster H is stored on a first database server;

the second database cluster L is stored on a second database server apart from the first database server;

the first database server has greater processing capabilities than the second database server;

receiving a search request from a requester; and

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

11. A method comprising:

determining: (a) a total number of records in a set of distinct records contained in a database system and (b) a total number of records in the set of distinct records in a second database cluster L, wherein the database system comprises a first database cluster H and the second database cluster L, wherein the total number of records contained in the database system comprises the total number of records in the second database cluster L plus a total number of records in the first database cluster H, and wherein each record in the database system represents an item for sale in an electronic commerce system;

when the total number of records in the second database cluster L is greater than a target number of records in the second database cluster L, iterating through each record in the set of distinct records, and for each record in the second database cluster L:

generating a random number for each record in the second database cluster L; and

using the random number to determine when each record should be moved from the second database cluster L to the first database cluster H to provide an opportunity for each record in the second database cluster L to be placed in the first database cluster H;

wherein:

using the random number to determine when each record should be moved from the second database cluster L to the first database cluster H comprises, when the random number is less than a predetermined value, moving each record from the second database cluster L to the first database cluster H;

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];

determining the target number of records in the second database cluster L by using a target ratio between the target number of records in the second database cluster L and the total number of records in the database system;

the first database cluster H is stored on a first database server;

the second database cluster L is stored on a second database server apart from the first database server; and

the first database server has greater processing capabilities than the second database server;

receiving a search request from a requester; and

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

12. 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 acts of:

determining: (a) a total number of records in a set of distinct records contained in a database system and (b) a total number of records in the set of distinct records in a second database cluster L, wherein the database system comprises a first database cluster H and the second database cluster L, wherein the total number of records contained in the database system comprises the total number of records in the second database cluster L plus a total number of records in the first database cluster H, and wherein each record in the database system represents an item for sale in an electronic commerce system;

when the total number of records in the second database cluster L is greater than a target number of records in the second database cluster L, iterating through each record in the set of distinct records, and for each record in the second database cluster L:

generating a random number for each record in the second database cluster L; and

using the random number to determine when each record should be moved from the second database cluster L to the first database cluster H to provide an opportunity for each record in the second database cluster L to be placed in the first database cluster H;

wherein:

using the random number to determine when each record should be moved from the second database cluster L to the first database cluster H comprises, when the random number is less than a predetermined value, moving each 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];

the target number of records in the second database cluster L is determined by a target ratio between the target number of records in the second database cluster L and the total number of records in the database system;

receiving a search request from a requester; and

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

13. 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 acts of:

determining: (a) a total number of records in a set of distinct records contained in a database system and (b) a total number of records in the set of distinct records in a second database cluster L, wherein the database system comprises a first database cluster H and the second database cluster L, and wherein the total number of records contained in the database system comprises the total number of records in the second database cluster L plus a total number of records in the first database cluster H, wherein each record in the database system represents an item for sale in an electronic commerce system;

when the total number of records in the second database cluster L is greater than a target number of records in the second database cluster L, then iterating through each record in the set of distinct records, and for each record in the second database cluster L:

generating a random number for each record in the second database cluster L; and

using the random number to determine when each record should be moved from the second database cluster L to the first database cluster H to provide an opportunity for each record in the second database cluster L to be placed in the first database cluster H;

wherein:

using the random number to determine when each record should be moved from the second database cluster L to the first database cluster H comprises, when the random number is less than a predetermined value, moving each record from the second database cluster L to the first database cluster H;

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];

the first database cluster H is stored on a first database server;

the second database cluster L is stored on a second database server apart from the first database server;

the first database server has greater processing capabilities than the second database server;

receiving a search request from a requester; and

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

14. 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 acts of:

determining: (a) a total number of records in a set of distinct records contained in a database system and (b) a total number of records in the set of distinct records in a second database cluster L, wherein the database system comprises a first database cluster H and the second database cluster L, wherein the total number of records contained in the database system comprises the total number of records in the second database cluster L plus a total number of records in the first database cluster H, and wherein each record in the database system represents an item for sale in an electronic commerce system;

a target number of records in the second database cluster L is determined by a target ratio between the target number of records in the second database cluster L and the total number of records in the database system;

when the total number of records in the second database cluster L is greater than the target number of records in the second database cluster L, then iterating through each record in the set of distinct records, and for each record in the second database cluster L:

generating a random number for each record in the second database cluster L; and

using the random number to determine when each record should be moved from the second database cluster L to the first database cluster H to provide an opportunity for each record in the second database cluster L to be placed in the first database cluster H;

wherein:

the first database cluster H is stored on a first database server;

the second database cluster L is stored on a second database server apart from the first database server; and

the first database server has greater processing capabilities than the second database server;

receiving a search request from a requester; and

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

15. 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 acts of:

determining: (a) a total number of records in a set of distinct records contained in a database system and (b) a total number of records in the set of distinct records in a second database cluster L, wherein the database system comprises a first database cluster H and the second database cluster L, wherein the total number of records contained in the database system comprises the total number of records in the second database cluster L plus a total number of records in the first database cluster H, and wherein each record in the database system represents an item for sale in an electronic commerce system;

when the total number of records in the second database cluster L is greater than a target number of records in the second database cluster L, iterating through each record in the set of distinct records, and for each record in the second database cluster L:

generating a random number for each record in the second database cluster L; and

using the random number to determine when each record should be moved from the second database cluster L to the first database cluster H to provide an opportunity for each record in the second database cluster L to be placed in the first database cluster H;

wherein:

using the random number to determine when each record should be moved from the second database cluster L to the first database cluster H comprises, when the random number is less than a predetermined value, moving each record from the second database cluster L to the first database cluster H;

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];

the target number of records in the second database cluster L is determined by a target ratio between the target number of records in the second database cluster L and the total number of records in the database system;

the first database cluster H is stored on a first database server;

the second database cluster L is stored on a second database server apart from the first database server; and

the first database server has greater processing capabilities than the second database server;

receiving a search request from a requester; and

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

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 Oct 10, 2014
From: SRIVASTAVA, VARUN; RUAN, YIYE; ZHENG, YAN
To: WAL-MART STORES, INC.
Reel/Frame 033932/0481 →