IP Library Granted Patent US 10,839,338
Granted Patent B2
US 10,839,338 · App. 15/154,007 · Granted Nov 17, 2020

Order sourcing with asynchronous communication and using optimization for large sourcing networks

Inventors: Sanjay E. Cheeran (Plano, TX); Ajay A. Deshpande (White Plain, NY); Saurabh Gupta (Irving, TX); Arun Hampapur (Norwalk, CT); Steve Igrejas (Nashua, NH); Ali Koc (White Plains, NY); Pradyumnha G. Kowlani (Foster City, CA); Yingjie Li (Chappaqua, NY); Ding Ding Lin (Beijing, CN); Xuan Liu (Yorktown Heights, NY); Christopher S. Milite (Oxford, CT); Brian L. Quanz (Yorktown Heights, NY); Vadiraja S. Ramamurthy (Allen, TX); Sachin Sethiya (Billerica, MA); Chek Keong Tan (Danbury, CT); Dahai Xing (White Plains, NY); Michael Yesudas (Plano, TX); Xiaobo Zheng (Shanghai, CN)
Assignee: International Business Machines Corporation
G06Q10/08345G06F3/0482G06F3/04847G06F16/148G06F16/1734G06F16/183G06F16/1844G06F16/2365G06N5/003G06N5/04G06N5/045G06N20/00G06Q10/0633G06Q10/06315G06Q10/06375G06Q10/083G06Q10/087G06Q10/0833G06Q10/0838G06Q10/0875G06Q30/0201G06Q30/0206G06Q30/0283G06Q30/0284G06Q30/0635H04L43/0882H04L43/16H04L43/0876
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,839,338
App. No.
15/154,007
Granted
Nov 17, 2020
Kind
B2
Abstract

A predictive engine on a computer environment comprising a shared pool of configurable computing resources is executed to perform a predictive analysis on data pipelined into the computer environment, the data received from a plurality of sources and in a plurality of different formats, the predictive engine generating a network level cost information based on the predictive analysis on a dynamic and continuous basis. Asynchronous communication comprising the network level cost information from the predictive engine is received and a set of candidate nodes for order fulfillment is generated based on the network level cost information and a defined distance between the set of candidate nodes and a target destination. An optimization engine on the computer environment is invoked that filters the set of candidate nodes. A number of fulfillment nodes that meet one or more of a constraint and preconfigured rule is output.

Claims (53)

1. A method of providing fulfillment source nodes using optimization performed in a computer environment comprising a shared pool of configurable computing resources, comprising:

provisioning a virtual machine on the computer environment;

executing a predictive engine on the computer environment running the virtual machine, to perform a predictive analysis on data pipelined into the computer environment, the data received from a plurality of sources and in a plurality of different formats, the predictive engine generating a network level cost information based on the predictive analysis on a dynamic and continuous basis, wherein the predictive engine is hosted on the computer environment allowing an on-demand network access to a shared pool of configurable computing resources, the computer environment supporting data infrastructure for receiving the data from a plurality of sources and in a plurality of different formats;

receiving, by one or more processors, an asynchronous communication from the predictive engine, the asynchronous communication comprising the network level cost information generated by the predictive engine dynamically, wherein one or more of the processors are configured remotely from the computer environment;

generating, by one or more of the processors, a set of candidate nodes for order fulfillment based on the network level cost information and a defined distance between the set of candidate nodes and a target destination;

executing an optimization engine on the computer environment, the optimization engine filtering the set of candidate nodes further based on the network level cost information;

receiving, by one or more of the processors, a synchronous communication from the optimization engine, the synchronous communication comprising a set of fulfillment nodes filtered from the set of candidate nodes;

executing, by one or more of the processors, a solver to select a threshold number of fulfillment nodes from the set of fulfillment nodes that meet one or more constraints, the threshold number being tunable and is tuned as to not overburden an on-premise system running the one or more processors, the on-premise system running the one or more processors interfaced with the computer environment via the data pipeline and call-outs from the one or more processors; and

outputting the threshold number of fulfillment nodes.

2. The method of claim 1 , wherein network level cost information comprises dynamic item cost at a node.

3. The method of claim 1 , further comprising:

executing a shipping optimization on the computer environment, the shipping optimization further selecting one or more fulfillment nodes from the set of fulfillment nodes that incur least shipping cost;

receiving, by one or more of the processors, a synchronous communication from the shipping optimization, the synchronous communication comprising the one or more fulfillment nodes selected from the set of fulfillment nodes by the shipping optimization,

wherein the threshold number of fulfillment nodes is output from the one or more fulfillment nodes selected from the set of fulfillment nodes by the shipping optimization.

4. The method of claim 1 , further comprising:

automatically directing the threshold number of fulfillment nodes to deliver order fulfillment to the target destination.

5. The method of claim 1 , wherein the method is performed responsive to an order management system running on one or more of the processors receiving an order for fulfillment.

6. The method of claim 1 , wherein the predictive engine is invoked via an application programming interface.

7. The method of claim 1 , wherein the optimization engine is invoked via an application programming interface.

8. A computer readable storage medium storing a program of instructions executable by a machine to perform a method of providing fulfillment source nodes using optimization performed in a computer environment comprising a shared pool of configurable computing resources, the method comprising:

provisioning a virtual machine on the computer environment;

executing a predictive engine on the computer environment running the virtual machine, to perform a predictive analysis on data pipelined into the computer environment, the data received from a plurality of sources and in a plurality of different formats, the predictive engine generating a network level cost information based on the predictive analysis on a dynamic and continuous basis, wherein the predictive engine is hosted on the computer environment allowing an on-demand network access to a shared pool of configurable computing resources, the computer environment supporting data infrastructure for receiving the data from a plurality of sources and in a plurality of different formats;

receiving, by one or more processors, an asynchronous communication from the predictive engine, the asynchronous communication comprising the network level cost information generated by the predictive engine dynamically, wherein one or more of the processors are configured remotely from the computer environment;

generating, by one or more of the processors, a set of candidate nodes for order fulfillment based on the network level cost information and a defined distance between the set of candidate nodes and a target destination;

executing an optimization engine on the computer environment, the optimization engine filtering the set of candidate nodes further based on the network level cost information;

receiving, by one or more of the processors, a synchronous communication from the optimization engine, the synchronous communication comprising a set of fulfillment nodes filtered from the set of candidate nodes;

executing, by one or more of the processors, a solver to select a threshold number of fulfillment nodes from the set of fulfillment nodes that meet one or more constraints, the threshold number being tunable and is tuned as to not overburden an on-premise system running the one or more processors, the on-premise system running the one or more processors interfaced with the computer environment via the data pipeline and call-outs from the one or more processors; and

outputting the threshold number of fulfillment nodes.

9. The computer readable storage medium of claim 8 , wherein network level cost information comprises dynamic item cost at a node.

10. The computer readable storage medium of claim 8 , further comprising:

executing a shipping optimization on the computer environment, the shipping optimization further selecting one or more fulfillment nodes from the set of fulfillment nodes that incur least shipping cost;

receiving, by one or more of the processors, a synchronous communication from the shipping optimization, the synchronous communication comprising the one or more fulfillment nodes selected from the set of fulfillment nodes by the shipping optimization,

wherein the threshold number of fulfillment nodes is output from the one or more fulfillment nodes selected from the set of fulfillment nodes by the shipping optimization.

11. The computer readable storage medium of claim 8 , further comprising:

automatically directing the threshold number of fulfillment nodes to deliver order fulfillment to the target destination.

12. The computer readable storage medium of claim 8 , wherein the method is performed responsive to an order management system running on one or more of the processors receiving an order for fulfillment.

13. The computer readable storage medium of claim 8 , wherein the predictive engine is invoked via an application programming interface.

14. The computer readable storage medium of claim 8 , wherein the optimization engine is invoked via an application programming interface.

15. A system of providing fulfillment source nodes using optimization performed in a computer environment comprising a shared pool of configurable computing resources, comprising:

one or more hardware processors having a network interface device;

one or more of the hardware processors operable to provision a virtual machine on the computer environment;

one or more of the hardware processors operable to invoke a predictive engine to execute on the computer environment running the virtual machine, the predictive engine performing a predictive analysis on data pipelined into the computer environment, the data received from a plurality of sources and in a plurality of different formats, the predictive engine generating a network level cost information based on the predictive analysis on a dynamic and continuous basis, wherein the predictive engine is hosted on the computer environment allowing an on-demand network access to a shared pool of configurable computing resources, the computer environment supporting data infrastructure for receiving the data from a plurality of sources and in a plurality of different formats,

one or more of the hardware processors further operable to receive an asynchronous communication from the predictive engine via the network interface device, the asynchronous communication comprising the network level cost information generated by the predictive engine dynamically, wherein one or more of the hardware processors are configured remotely from the computer environment,

one or more of the hardware processors further operable to generate a set of candidate nodes for order fulfillment based on the network level cost information and a defined distance between the set of candidate nodes and a target destination,

one or more of the hardware processors further operable to invoke an optimization engine to execute on the computer environment, the optimization engine filtering the set of candidate nodes further based on the network level cost information,

one or more of the hardware processors further operable to receive a synchronous communication from the optimization engine via the network interface device, the synchronous communication comprising a set of fulfillment nodes filtered from the set of candidate nodes;

one or more of the hardware processors further operable to execute a solver to select a threshold number of fulfillment nodes from the set of fulfillment nodes that meet one or more constraints, the threshold number being tunable and is tuned as to not overburden an on-premise system running the one or more processors, the on-premise system running the one or more processors interfaced with the computer environment via the data pipeline and call-outs from the one or more processors, and

one or more of the hardware processors further operable to output the threshold number of fulfillment nodes.

16. The system of claim 15 , wherein network level cost information comprises dynamic item cost at a node.

17. The system of claim 15 , wherein one or more of the hardware processors are further operable to execute a shipping optimization on the computer environment, the shipping optimization further selecting one or more fulfillment nodes from the set of fulfillment nodes that incur least shipping cost, wherein one or more of the hardware processors are further operable to receive a synchronous communication from the shipping optimization, the synchronous communication comprising the one or more fulfillment nodes selected from the set of fulfillment nodes by the shipping optimization, wherein the threshold number of fulfillment nodes is output from the one or more fulfillment nodes selected from the set of fulfillment nodes by the shipping optimization.

18. The system of claim 15 , wherein one or more of the hardware processors are further operable to automatically directing the threshold number of fulfillment nodes to deliver order fulfillment to the target destination.

19. The system of claim 15 , wherein the predictive engine is invoked via an application programming interface.

20. The system of claim 15 , wherein the optimization engine is invoked via an application programming interface.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: DOORDASH, INC.
Reel/Frame 057826/0939 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SIGNATURE OF INVENTOR SANJAY E. CHEERAN PREVIOUSLY RECORDED ON REEL 038698 FRAME 0301. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Aug 3, 2016
From: CHEERAN, SANJAY E.; DESHPANDE, AJAY A.; GUPTA, SAURABH; HAMPAPUR, ARUN; IGREJAS, STEVE; KOC, ALI; KOWLANI, PRADYUMNHA G.; LI, YINGJIE; LIN, DING DING; LIU, XUAN; MILITE, CHRISTOPHER S.; QUANZ, BRIAN L.; RAMAMURTHY, VADIRAJA S.; SETHIYA, SACHIN; TAN, CHEK KEONG; XING, DAHAI; YESUDAS, MICHAEL; ZHENG, XIAOBO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039631/0357 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2016
From: CHEERAN, SANJAY E.; DESHPANDE, AJAY A.; GUPTA, SAURABH; HAMPAPUR, ARUN; IGREJAS, STEVE; KOC, ALI; KOWLANI, PRADYUMNHA G.; LI, YINGJIE; LIN, DING DING; LIU, XUAN; MILITE, CHRISTOPHER S.; QUANZ, BRIAN L.; RAMAMURTHY, VADIRAJA S.; SETHIYA, SACHIN; TAN, CHEK KEONG; XING, DAHAI; YESUDAS, MICHAEL; ZHENG, XIAOBO
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038698/0301 →
Continuity (2)
Provisional Application 62279738 · Jan 16, 2016
Related Publication 20170206481A1 · Jul 20, 2017