IP Library Granted Patent US 9,659,079
Granted Patent B2
US 9,659,079 · App. 14/319,956 · Granted May 23, 2017

Shard determination logic for scalable order and inventory management architecture with a sharded transactional database

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 9,659,079
App. No.
14/319,956
Granted
May 23, 2017
Kind
B2
Abstract

A store computer system is provided. The computer system includes a sharded store transactional database such as an order or inventory database. The database may include a first database shard which stores a first group of order or inventory data and a second database shard which stores a second group of order or inventory data which is different than the first group of data. The computer system may include a store order management computer system that implements a shard determination module which is programmed to receive a query regarding an order or item associated with the store, identify a database shard associated with the order or item from data in the query, and communicate data regarding the order or item to or from the identified database shard.

Claims (93)

1. A scalable computer system for managing orders and inventory in a store that makes sales at a physical retail location, through an online storefront, and through an online marketplace where third party goods are sold to customers, the scalable computer system comprising:

a sharded store order database that is horizontally scalable under an order management system application layer, the sharded store order database comprising:

a first order database shard in a first order database server, the first order database shard having inventory data for a first group of orders, the first group of orders corresponding to first items which have been sold by the store at the physical retail location;

a second order database shard in a second order database server, the second order database shard having order data for a second group of orders, the second group of orders corresponding to second items which have been sold by the store through the online storefront, the second group of orders being different than the first group of orders; and

a third order database shard in a third order database server, the third order database shard having order data for a third group of orders, the third group of orders corresponding to the third party goods which have been sold through the online marketplace, the third group of orders being different than the first group of orders and the third group of orders being different than the second group of orders;

a store order management computer system comprising:

a computer processor;

memory connected to the computer processor; and

an order shard determination module programmed to:

receive a first query regarding a first order to purchase a first ordered item from the store, wherein the first ordered item is one of the first items;

identify a first order database shard associated with the first order;

communicate data regarding the first order to the first order database shard;

receive a second query regarding a second order to purchase a second ordered item from the store, wherein the second ordered item is one of the second items;

identify a second order database shard associated with the second order;

communicate data regarding the second order to the second order database shard;

receive a third query regarding a third order to purchase a third ordered item, wherein the third ordered item is one of the third party goods;

identify a third order database shard associated with the third order; and

communicate data regarding the third order to the third order database shard.

2. The scalable computer system of claim 1 , wherein the order shard determination module is more specifically programmed to:

receive a new order from a customer to purchase an item;

identify a location where the customer resides;

identify a location order database shard which corresponds to the location where the customer resides; and

store data regarding the new order on the location order database shard.

3. The scalable computer system of claim 1 , wherein the order shard determination module is more specifically programmed to:

receive a new order from a customer to purchase an item;

perform a modulo operation on a sequence of the order to identify a modulo database shard; and

store data regarding the new order on the modulo database shard.

4. The scalable computer system of claim 1 , wherein the order shard determination module is more specifically programmed to:

receive a new order from a customer to purchase an item;

identify a round robin database shard in a round robin assignment;

assign the new order to the round robin database shard; and

store data regarding the new order on the round robin database shard.

5. The scalable computer system of claim 1 , wherein the order shard determination module is more specifically programmed to:

receive a new order from a customer to purchase an item;

identify a customer attribute database shard based on attributes of the customer;

assign the new order to the customer attribute database shard; and

store data regarding the new order on the customer attribute database shard.

6. The scalable computer system of claim 1 , wherein the order shard determination module is more specifically programmed to:

receive a new order from a customer to purchase an item;

identify an identified database shard for the new order;

assign the new order to the identified database shard;

store data regarding the new order on the identified database shard;

embed a code associated with the identified database shard in an order identification number for the new order; and

store the order identification number in an account associated with the customer.

7. The scalable computer system of claim 1 , wherein the order shard determination module is more specifically programmed to:

receive a new order from a customer to purchase an item;

identify an identified database shard;

assign the new order to the identified database shard;

store data regarding the new order on the identified database shard;

create an order identification number for the new order;

store a code associated with the identified database shard in a data field associated with the order identification number; and

store the order identification number and associated data field in an account associated with the customer.

8. The scalable computer system of claim 1 , wherein the order shard determination module is more specifically programmed to:

receive a query regarding a past order to purchase an item from the store;

identify an identified database shard which stores information associated with the past order based on the information associated with the past order; and

retrieve data regarding the past order from the identified database shard.

9. The scalable computer system of claim 1 , wherein:

the first order database shard stores information for purchases made in a brick and mortar store location;

the second order database shard stores information for online purchases; and

the order shard determination module is more specifically programmed to:

receive a query regarding a purchase made by a customer;

determine whether the purchase was made online or in the brick and mortar store location;

identify an identified database shard associated with the purchase; and

retrieve data regarding the purchase from the identified database shard.

10. A computer system for managing orders and inventory in a store, the computer system comprising:

a sharded store order database that is horizontally scalable under an order management system application layer, the sharded store order database comprising:

a first order database shard in a first order database server, the first order database shard having inventory data for a first group of orders, the first group of orders corresponding to first items which have been sold by the store;

a second order database shard in a second order database server, the second order database shard having order data for a second group of orders, the second group of orders corresponding to second items which have been sold by the store, the second group of orders being different than the first group of orders;

a store order management computer system comprising:

a computer processor;

memory connected to the computer processor; and

an order shard determination module programmed to:

receive a query regarding an order to purchase an item from the store;

identify an identified order database shard associated with the order; and

communicate data regarding the order to the identified order database shard;

wherein:

the first order database shard stores information for purchases made in a brick and mortar store location;

the second order database shard stores information for online purchases; and

the order shard determination module is more specifically programmed to:

receive a query regarding a purchase made by a customer;

determine whether the purchase was made online or in the brick and mortar store location;

identify an identified database shard associated with the purchase; and

retrieve data regarding the purchase from the identified database shard.

11. The computer system of claim 10 , wherein the order shard determination module is more specifically programmed to:

receive a new order from a customer to purchase an item;

identify a location where the customer resides;

identify a location order database shard which corresponds to the location where the customer resides; and

store data regarding the new order on the location order database shard.

12. The computer system of claim 10 , wherein the order shard determination module is more specifically programmed to:

receive a new order from a customer to purchase an item;

identify a round robin database shard in a round robin assignment;

assign the new order to the round robin database shard; and

store data regarding the new order on the round robin database shard.

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 Jun 30, 2014
From: VASANTHAM, MADHAVAN KANDHADAI; SREEDHARARAJ, SREEKANTH
To: WAL-MART STORES, INC.
Reel/Frame 033214/0644 →