US 11,797,919 B2
Document-based distributed inventory system with rebalancing
Rishabh Saumil Thakkar, Plano, TX (US); William Jacob Kalter, Cedar Park, TX (US); and Fahd Murtuza Siddiqui, Cedar Park, TX (US)
Assigned to Adobe Inc., San Jose, CA (US)
Filed by Adobe Inc., San Jose, CA (US)
Filed on Nov. 8, 2019, as Appl. No. 16/679,039.
Prior Publication US 2021/0142263 A1, May 13, 2021
Int. Cl. G06F 17/00 (2019.01); G06Q 10/08 (2023.01); G06Q 10/06 (2023.01); G06Q 30/06 (2023.01); G06Q 10/087 (2023.01); G06F 16/93 (2019.01); G06F 16/23 (2019.01)
CPC G06Q 10/087 (2013.01) [G06F 16/2329 (2019.01); G06F 16/93 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
maintaining, by a processing device as part of a distributed inventory system, a document-based database of a first region, each document in the document-based database corresponding to a different item;
receiving, by the processing device, a request from a client device to update an inventory count for an item by a first amount, the inventory count for the item split up among multiple regions where inventory is physically located;
checking, by the processing device, a first version of a document in the document-based database indicating a current inventory count for the item assigned to the first region to determine whether performing the request would result in the current inventory count for the item falling below zero;
returning, by the processing device, in response to determining that performing the request would result in the current inventory count for the item falling below zero, an indication to the client device for display in a user interface of the client device of failure of the request without updating the current inventory count for the item by the first amount;
determining, by the processing device, that the inventory count has fallen below a threshold amount;
communicating, by the processing device, in response to determining that the inventory count has fallen below the threshold amount, a first rebalance request, for display in the user interface of the client device, to a second region of the distributed inventory system to transfer inventory count from the second region to the first region;
receiving, by the processing device, in response to the first rebalance request, a second version of the document indicating a transfer of a second amount of inventory count from the second region to the first region;
transferring a number of items corresponding to the second amount of inventory count from the second region to the first region; and
replacing, by the processing device, the first version of the document with a third version of the document indicating an increase in the current first inventory count for the item by the second amount, the third version of the document generated by merging the first version of the document with the second version of the document and updating the current inventory count for the item in each region to be equal to a highest inventory count indicated by the first version of the document or the second version of the document.