IP Library Granted Patent US 7,403,975
Granted Patent B2
US 7,403,975 · App. 10/704,141 · Granted Jul 22, 2008

Design for highly-scalable, distributed replenishment planning algorithm

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 7,403,975
App. No.
10/704,141
Granted
Jul 22, 2008
Kind
B2
Abstract

The present invention divides processing across multiple nodes to escape limitations placed by the processing power of commonly available application server platforms. The solution processing divides the problem into independently processed batches. Coordination of processing between nodes is achieved using a relational database tables and coordination for algorithm startup and initialization may be accomplished through a messaging system. The database table is loaded with rows to represent batches to be processed, and the independent processing nodes are given a message via the messaging system to start processing various jobs at a particular level. The nodes may then signal back when they can no longer find batches to process at that level. Once all nodes have completed a level, a message is sent to the nodes starts on to the next level. In this way, the messaging between the nodes is generally limited to two messages per level per node. The solution may be applied to supply chain problems by dividing the supply chain into separate levels and using separate nodes for calculations at each of the levels.

Claims (37)

1. A supply chain management system, comprising:

a plurality of computer systems, wherein each computer system comprises: a plurality of computational nodes each capable of executing jobs related to supply chain management and providing a job output, each computational node having no communication link to any other computational node;

a database stores planning instructions and planning data for the jobs as executed on the plurality of computational nodes; and

a database messaging system including,

(a) a controller,

(b) a first communication link coupled between the controller and the database,

(c) a plurality of second communication links respectively coupled between the controller and each of the plurality of computational nodes for transmitting messages between the controller and each of the plurality of computational nodes, the second communication links each having a communication bandwidth, and

(d) a plurality of third communication links respectively coupled between each of the plurality of computations nodes and the database for accessing the planning instructions and planning data from the database to execute the jobs on the plurality of computational nodes and sending the job output to the database, the third communication links each having a communication bandwidth greater than the communication bandwidth of the second communication links; wherein the plurality of computational nodes communicates with the database asynchronously and the jobs execute asynchronously on the plurality of computational nodes according to the planning instructions and planning data received from the database;

wherein the controller synchronizes the jobs for execution on the plurality of computational nodes by detecting a job processing request and assigning one of the plurality of computational nodes to execute the job.

2. The supply chain management system of claim 1 , wherein the database resides on multiple computing systems.

3. The supply chain management system of claim 1 , wherein the controller schedules the jobs for execution on the plurality of computational nodes.

4. The supply chain management system of claim 1 , wherein the controller detects a job failure on one of the plurality of computational nodes and reschedules the failed job for execution on one of the plurality of computational nodes.

5. The supply chain management system of claim 1 , wherein the plurality of computational nodes includes a distributed computing network.

6. A computer implemented method of managing a supply chain, comprising:

storing planning instructions and planning data for jobs related to supply chain management on a database;

scheduling the jobs for execution on a plurality of computational nodes through a controller, wherein each computational node has no communication link to any other computational node;

routing communications between the controller and database through a first communication link;

routing messages between the controller and plurality of computational nodes through a plurality of second communication links, the second communication links each having a communication bandwidth, wherein the controller synchronizes the jobs for execution on the plurality of computational nodes by detecting a job processing request and assigning one of the plurality of computational nodes to execute the job;

routing the planning instructions and planning data between the database and plurality of computational nodes through a plurality of third communication links, wherein the plurality of computational nodes communicates with the database asynchronously, the third communication links each having a communication bandwidth greater than the communication bandwidth of the second communication links; and

executing the jobs on the plurality of computational nodes asynchronously according to the planning instructions and planning data received from the database, and sending jobs output to the database.

7. The computer implemented method of claim 6 , wherein the database resides on multiple computing systems.

8. The computer implemented method of claim 6 , further including:

detecting a job failure on one of the plurality of computational nodes; and

rescheduling the failed job for execution on one of the plurality of computational nodes.

9. The computer implemented method of claim 6 , further including distributing the plurality of computational nodes across a computing network.

10. A computer program storage product usable with a programmable computer processor having computer readable program code embodied therein, comprising:

computer readable program code which stores planning instructions and planning data for jobs related to supply chain management on a database;

computer readable program code which schedules the jobs for execution on a plurality of computational nodes through a controller, wherein each computational node has no communication link to any other computational node;

computer readable program code which routes communications between the controller and database through a first communication link;

computer readable program code which routes messages between the controller and plurality of computational nodes through a plurality of second communication links, the second communication links each having a communication bandwidth, wherein the controller synchronizes the jobs for execution on the plurality of computational nodes by detecting a job processing request and assigning one of the plurality of computational nodes to execute the job;

computer readable program code which routes the planning instructions and planning data between the database and plurality of computational nodes through a plurality of third communication links, wherein the plurality of computational nodes communicates with the database asynchronously, the third communication links each having a communication bandwidth greater than the communication bandwidth of the second communication links; and

computer readable program code which executes the jobs on the plurality of computational nodes asynchronously according to the planning instructions and planning data received from the database, and sending jobs output to the database.

11. The computer program storage product of claim 10 , wherein each computational node has no communication link to any other computational node.

12. The computer program storage product of claim 10 , further including:

computer readable program code which detects a job failure on one of the plurality of computational nodes; and

computer readable program code which reschedules the failed job for execution on one of the plurality of computational nodes.

13. The computer program storage product of claim 10 , further including computer readable program code which provides for distribution of the plurality of computational nodes across a computing network.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053383/0117) Recorded Nov 3, 2021
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: BLUE YONDER GROUP, INC.
Reel/Frame 058794/0776 →
RELEASE OF SECURITY INTEREST Recorded Sep 16, 2021
From: JPMORGAN CHASE BANK, N.A.
To: BLUE YONDER GROUP, INC.; BLUE YONDER, INC.; JDA SOFTWARE SERVICES, INC.; I2 TECHNOLOGIES INTERNATIONAL SERVICES, LLC; MANUGISTICS SERVICES, INC.; MANUGISTICS HOLDINGS DELAWARE II, INC.; REDPRAIRIE COLLABORATIVE FLOWCASTING GROUP, LLC; JDA SOFTWARE RUSSIA HOLDINGS, INC.; REDPRAIRIE SERVICES CORPORATION; BY BOND FINANCE, INC.; BY NETHERLANDS HOLDING, INC.; BY BENELUX HOLDING, INC.
Reel/Frame 057724/0593 →
SECURITY AGREEMENT Recorded Aug 3, 2020
From: BLUE YONDER GROUP, INC.
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 053383/0117 →
CHANGE OF NAME Recorded Apr 14, 2020
From: JDA SOFTWARE GROUP, INC.
To: BLUE YONDER GROUP, INC.
Reel/Frame 052392/0604 →
SECURITY AGREEMENT Recorded Oct 12, 2016
From: RP CROWN PARENT, LLC; RP CROWN HOLDING LLC; JDA SOFTWARE GROUP, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 040326/0449 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 29556/0809 Recorded Oct 12, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: JDA SOFTWARE GROUP, INC.
Reel/Frame 040337/0356 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 29556/0697 Recorded Oct 12, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: JDA SOFTWARE GROUP, INC.
Reel/Frame 040337/0053 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jan 2, 2013
From: JDA SOFTWARE GROUP, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 029556/0697 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jan 2, 2013
From: JDA SOFTWARE GROUP, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 029556/0809 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Dec 21, 2012
From: WELLS FARGO CAPITAL FINANCE, LLC
To: JDA SOFTWARE GROUP, INC.
Reel/Frame 029538/0300 →
PATENT SECURITY AGREEMENT Recorded Apr 4, 2011
From: JDA SOFTWARE GROUP, INC.
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 026073/0392 →
RELEASE OF SECURITY INTEREST Recorded Apr 13, 2010
From: CITICORP NORTH AMERICA, INC., AS COLLATERAL AGENT
To: JDA SOFTWARE GROUP, INC.; JDA SOFTWARE, INC.; JDA WORLDWIDE, INC.; MANUGISTICS CALIFORNIA, INC.; MANUGISTICS GROUP, INC.; MANUGISTICS HOLDINGS DELAWARE II, INC.; MANUGISTICS HOLDINGS DELAWARE, INC.; MANUGISTICS SERVICES, INC.; MANUGISTICS, INC.; STANLEY ACQUISITION CORP.
Reel/Frame 024225/0271 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2006
From: MANUGISTICS, INC.
To: JDA SOFTWARE GROUP
Reel/Frame 018367/0074 →
SECURITY AGREEMENT Recorded Oct 6, 2006
From: JDA SOFTWARE GROUP, INC.; JDA SOFTWARE, INC.; JDA WORLDWIDE, INC.; MANUGISTICS CALIFORNIA, INC.; MANUGISTICS GROUP, INC.; MANUGISTICS HOLDINGS DELAWARE II, INC.; MANUGISTICS HOLDINGS DELAWARE, INC.; MANUGISTICS SERVICES, INC.; MANUGISTICS, INC.; STANLEY ACQUISITION CORP.
To: CITICORP NORTH AMERICA, INC., AS COLLATERAL AGENT
Reel/Frame 018362/0151 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2004
From: BERKERY, DANIEL JOHN; SHEKAR, KONANUR CHANDRA; JENKINS, JOSEPH ALLEN; LINDSEY, JR., JOEL LAMARR; DROLET, THOMAS J.
To: MANUGISTICS, INC.
Reel/Frame 015170/0794 →