IP Library Granted Patent US 11,593,759
Granted Patent B2
US 11,593,759 · App. 16/938,359 · Granted Feb 28, 2023

Inventory information distribution systems, devices and methods

Inventors: Christopher L. Undernehr (Bentonville, AR); Tushar Agrawal (Bentonville, AR); Sandesh N. Ramnathkar (Bentonville, AR); John Turknett (Centerton, AR); Mohandas N. Vonga (O'fallon, MO); Matthew S. Woitaszek (San Bruno, CA)
Assignee: Walmart Apollo, LLC
G06Q10/0875G06F8/65G06Q10/087G06Q10/107G06Q30/0639G07F5/18G07F9/026
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,593,759
App. No.
16/938,359
Granted
Feb 28, 2023
Kind
B2
Abstract

Some embodiments provide a product inventory information distribution apparatus, comprising: a central electronic data storage buffer; a control circuit; and a memory storing computer instructions that when executed cause the control circuit to: detect product inventory update information messages, wherein each of the product inventory update information messages is received from one of multiple different product inventory systems and is generated by a corresponding one of the multiple product inventory systems when one of the multiple product inventory systems detects a change in an inventory state corresponding to any one of hundreds or more products available through the product inventory storage facility; direct each of the multiple product inventory update information messages to the central electronic data storage buffer; and maintain messages in the central electronic data storage buffer received during a buffer retention window of time.

Claims (56)

1. A product inventory information distribution system, comprising:

a central electronic data storage buffer comprising multiple memory each communicatively coupled with a distributed communication network;

a control circuit communicatively coupled over the distributed communication network with the central electronic data storage buffer and with each of multiple different product inventory systems; and

a memory coupled to the control circuit and storing computer instructions that when executed by the control circuit cause the control circuit to:

receive, over time, product inventory update information messages received over the distributed communication network without requesting the product inventory update information messages, wherein each of the product inventory update information messages is received from one of the multiple different product inventory systems corresponding to one of the multiple different product inventory storage facilities when one of the multiple product inventory systems detects a change in an inventory corresponding to any one of hundreds or more products available through the corresponding product inventory storage facility;

communicate, in real time and in response to receiving the product inventory update information, over the distributed communication network each of the multiple product inventory update information messages to the central electronic data storage buffer;

control the central electronic data storage buffer to maintain at least a portion of the product inventory update information messages in the central electronic data storage buffer for a respective buffer retention window of time wherein multiple different inventory update information messages of the product inventory updated information messages are each associated with a different buffer retention window of time having different durations as a function of a product corresponding to the respective inventory update information message; and

automatically control the central electronic data storage buffer to cause, in response to buffering, each of the product inventory update information messages to be streamed from the central electronic data storage buffer over the distributed communication network to each of multiple different application services without requests from the multiple different application services and communicate instructions over the distributed communication network to each of the multiple different application services to control the multiple different application services causing each of the multiple different application services to sequentially update and compile inventory information to duplicate a current, real-time inventory state at each of the multiple product inventory storage facilities for each of one or more of the hundreds or more products available through each of the multiple product inventory storage facilities.

2. The system of claim 1 , wherein each of the multiple product inventory update information messages comprises a corresponding universal time code defining a time of the respective change in an inventory to a corresponding product, and defines the respective change in the inventory.

3. The system of claim 1 , wherein the control circuit is further configured to maintain each of the product inventory update information messages in the central electronic data storage buffer for the respective buffer retention window of time such that each of the product inventory update information messages is available, during the respective buffer retention window, to be subsequently supplied to a requesting one or more of the multiple application services in response to a failure of the one or more of the multiple application services to receive one or more of the product inventory update information messages when attempted to be streamed.

4. The system of claim 3 , wherein the control circuit is further configured to:

receive a first restore request from a first application service of the multiple different application services;

identify, from the first restore request, a first starting read point time designating a past time from which product inventory update information messages are being requested; and

cause a first set of one or more previously buffered product inventory update information messages that were buffered following the first starting read point time to be communicated to the first application service.

5. The system of claim 1 , wherein a first product inventory update information message of the multiple product inventory update information messages is assigned a first buffer retention window of time, and a second product inventory update information message of the multiple product inventory update information messages is assigned a second buffer retention window of time that has a different time duration than the first buffer retention window of time.

6. The system of claim 1 , wherein the control circuit is further configured to:

receive a first restore request from a first application service of the multiple different application services;

identify, from the first restore request, a first starting read point time; and

cause a first set of one or more previously buffered product inventory update information messages that were buffered following the first starting read point time to be communicated to the first application service.

7. The system of claim 6 , wherein the control circuit is further configured to:

receive a second restore request from a second application service of the multiple different application services;

identify, from the second restore request, a second starting read point time different than the first read point time; and

cause a second set of one or more previously buffered product inventory update information messages that were buffered following the second starting read point time to be communicated to the second application service.

8. The system of claim 1 , wherein the control circuit is further configured to:

identify, for each of the product inventory update information messages, one or more servers, of multiple servers operated by each of the multiple application services, intended to receive the product inventory update information message;

wherein the causing each of the product inventory update information messages to be streamed to each of the multiple different application services comprises causing each of the product inventory update information messages to be streamed to the corresponding identified one or more servers intended to receive a respective product inventory update information message such that the product inventory update information messages are distributed amongst the multiple servers operated by each of the multiple application services.

9. The system of claim 1 , wherein at least some of the multiple product inventory update information messages each comprises a product inventory storage facility identifier that uniquely identifies the product inventory storage facility from which a product inventory update information message is received, and a product identifier that uniquely identifies a product for which the product inventory update information message corresponds.

10. The system of claim 9 , wherein each of the at least some of the multiple product inventory update information messages further comprises a data type wherein the data type comprises at least one of: a change in a quantity of the product in inventory at the identified product inventory storage facility, and a change in pricing at the product inventory storage facility corresponding to the product.

11. The system of claim 1 , comprising the multiple different application services wherein two or more of the multiple different application services comprise multiple application servers each configured to identify a subset of the product inventory update information messages corresponding to a partition of the inventory information for which the respective application server is responsible and update inventory information based on the respective subset of the product inventory update information messages.

12. A method of distributing inventory information, comprising:

by a control circuit of an inventory information distribution system:

receiving, over time, product inventory update information messages received over a distributed communication network without requesting the product inventory update information messages, wherein each of the product inventory update information messages is received from one of multiple different product inventory systems of multiple different product inventory storage facilities, and wherein each of the product inventory update information messages is generated by a corresponding one of the multiple product inventory systems when one of the multiple product inventory systems detects a change in an inventory corresponding to any one of hundreds or more products available through the product inventory storage facility;

communicating at least a portion of each of the multiple product inventory update information messages to the central electronic data storage buffer;

maintaining at least the portion of each of the multiple product inventory update information messages in the central electronic data storage buffer for a respective buffer retention window of time wherein multiple different inventory update information messages of the product inventory updated information messages are each associated with a different buffer retention window of time having different durations as a function of a product corresponding to the respective inventory update information message; and

automatically controlling the central electronic data storage buffer and causing, in response to buffering, a streaming of each of the product inventory update information messages from the central electronic data storage buffer over the distributed communication network to each of multiple different application services without requests from the multiple different application services; and

causing each of the multiple different application services to sequentially update and compile inventory information to duplicate a current, real-time inventory state at each of the multiple product inventory storage facilities for each of one or more of the hundreds or more products available through each of the multiple product inventory storage facilities.

13. The method of claim 12 , wherein each of the multiple product inventory update information messages comprises a corresponding universal time code defining a time of the respective change in an inventory to a corresponding product, and defining the respective change in the inventory.

14. The method of claim 12 , further comprising:

maintaining each of the product inventory update information messages in the central electronic data storage buffer for the respective buffer retention window of time such that each of the product inventory update information messages is available, during the respective buffer retention window, to be subsequently supplied to a requesting one or more of the multiple application services in response to a failure of the one or more of the multiple application services to receive one or more of the product inventory update information messages when attempted to be streamed.

15. The method of claim 14 , further comprising:

receiving a first restore request from a first application service of the multiple different application services;

identifying, from the first restore request, a first starting read point time designating a past time from which product inventory update information messages are being requested; and

causing a first set of one or more previously buffered product inventory update information messages that were buffered following the first starting read point time to be communicated to the first application service.

16. The method of claim 12 , wherein a first product inventory update information message of the multiple product inventory update information messages is assigned a first buffer retention window of time, and a second product inventory update information message of the multiple product inventory update information messages is assigned a second buffer retention window of time that has a different time duration than the first buffer retention window of time.

17. The method of claim 12 , further comprising:

receiving a first restore request from a first application service of the multiple different application services;

identifying, from the first restore request, a first starting read point time; and

causing a first set of one or more previously buffered product inventory update information messages that were buffered following the first starting read point time to be communicated to the first application service.

18. The method of claim 17 , further comprising:

receiving a second restore request from a second application service of the multiple different application services;

identifying, from the second restore request, a second starting read point time different than the first read point time; and

causing a second set of one or more previously buffered product inventory update information messages that were buffered following that second starting read point time to be communicated to the second application service.

19. The method of claim 12 , further comprising:

identifying, for each of the product inventory update information messages, one or more servers, of multiple servers operated by each of the multiple application services, intended to receive the product inventory update information message;

wherein the causing each of the product inventory update information messages to be streamed to each of the multiple different application services comprises causing each of the product inventory update information messages to be streamed to the corresponding identified one or more servers intended to receive a respective product inventory update information messages such that the product inventory update information messages are distributed amongst the multiple servers operated by each of the multiple application services.

20. The method of claim 12 , wherein at least some of the multiple product inventory update information messages each comprises a product inventory storage facility identifier that uniquely identifies the product inventory storage facility from which a product inventory update information message is received, and a product identifier that uniquely identifies a product for which the product inventory update information message corresponds.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2020
From: WAL-MART STORES, INC.
To: WALMART APOLLO, LLC
Reel/Frame 053311/0787 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2020
From: UNDERNEHR, CHRISTOPHER L.; AGRAWAL, TUSHAR; RAMNATHKAR, SANDESH N.; TURKNETT, JOHN; VONGA, MOHANDAS N.; WOITASZEK, MATTHEW S.
To: WAL-MART STORES, INC.
Reel/Frame 053311/0934 →
Continuity (3)
Continuation 15568207
Provisional Application 62150755 · Apr 21, 2015
Related Publication 20200356948A1 · Nov 12, 2020