IP Library Granted Patent US 6,957,234
Granted Patent B1
US 6,957,234 · App. 09/580,327 · Granted Oct 18, 2005

System and method for retrieving data from a database using a data management system

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 6,957,234
App. No.
09/580,327
Granted
Oct 18, 2005
Kind
B1
Abstract

A system ( 10 ) for retrieving data from a database ( 22 ) using a data management system ( 20 ) includes a change retrieval engine ( 50 ) that is coupled to the data management system ( 20 ). The change retrieval engine ( 50 ) determines that data in the database ( 22 ) managed by the data management system ( 20 ) has been changed and receives information from the data management system ( 20 ) identifying one or more categories with which the changed data is associated. The change retrieval engine ( 50 ) also accesses a data model ( 54 ) to identify data to be retrieved from the database ( 22 ) using the data management system ( 20 ) according to the received information. The data model ( 54 ) identifies data related to the categories. Furthermore, the change retrieval engine ( 50 ) requests the data identified by the data model ( 54 ) from the data management system ( 20 ) and receives the data from the data management system ( 20 ). The change retrieval engine ( 50 ) stores the data in a data log ( 74 ) and communicates a transfer command. The system also includes a change transfer engine ( 90 ) that is coupled to the change retrieval engine ( 50 ). The change transfer engine ( 90 ) receives the transfer command, obtains the data from the data log ( 74 ), and communicates the data to an external system ( 40 ).

Claims (116)

1. A system for retrieving data from a database using a data management system, comprising:

a change retrieval engine coupled to the data management system and operable to:

determine that data in the database managed by the data management system has been changed;

receive information from the data management system identifying a particular business object with which the changed data is associated, a main table including data associated with the particular business object, and key values identifying a plurality of instances of the particular business object, each of the plurality of instances of the particular business object being associated with at least a portion of the changed data;

access a data model specifying, for the particular business object, references to plural tables associated with the particular business object and managed by the data management system that include data related to the plural instances of the particular business object, the data related to each instance being identifiable in one or more of the plural tables by the key value identifying that instance;

wherein the plural instances of the particular business object represent different subsets of data related to the particular business object such that the data related to different ones of the plural instances is at least partially different data;

identify, according to the data model and the information received from the data management system, the plural tables associated with the particular business object

for each of the plural instances of the particular business object, use the key value associated with that instance to identify, from the plural tables associated with the particular business object, the data in one or more of the plural tables that is related to that instance;

request from the data management system data to be retrieved included in the plural tables identified according to the data model, the requested data to be retrieved including at least a portion of the data identified as related to the plural instances of the particular business object; and

receive the data from the data management system.

2. The system of claim 1 , wherein:

the change retrieval engine is further operable to:

store the data received from the data management system in a data log; and

communicate a transfer command; and

the system further comprises a change transfer engine coupled to the change retrieval engine and operable to:

receive the transfer command;

obtain the data from the data log; and

communicate the data to an external system distinct from the data management system.

3. The system of claim 2 , wherein:

the data management system comprises an enterprise resource planning (ERP) system; and

the external system comprises an external planning system.

4. The system of claim 2 , wherein the change retrieval engine is further operable to:

access a distribution model to determine one or more serialization groups into which the data identified by the data model is to be divided; and

store the data received from the data management system in the data log according to the serialization groups.

5. The system of claim 4 , wherein the change retrieval engine is further operable to:

access the distribution model to determine destination information for one or more external systems to which the data in the serialization groups is to be communicated; and

store the destination information for the one or more external systems with the serialization groups in the data log.

6. The system of claim 5 , wherein the change transfer engine is further operable to communicate the serialization groups to the external systems identified by the destination information, the data in each serialization group communicated to the associated external system in an order that the data in the database was changed.

7. The system of claim 4 , wherein the change transfer engine is further operable to:

access the distribution model to determine destination information for one or more external systems to which the data in the serialization groups is to be communicated; and

communicate the serialization groups to the appropriate external systems using the destination information, the data in each serialization group communicated to the associated external system in an order that the data in the database was changed.

8. The system of claim 2 , wherein the change transfer engine is further operable to:

create an error log if data is not communicated to an external system;

receive a second transfer command indicating additional data has been stored in the data log; and

communicate the data associated with the error to the external system before communicating the additional data to the external system.

9. The system of claim 1 , wherein the change retrieval engine is further operable to monitor the data management system to determine when a change document is created, the change document indicating that data managed by the data management system has been changed.

10. The system of claim 1 , wherein the change retrieval engine is further operable to receive a message from the data management system indicating that data managed by the data management system has been changed.

11. The system of claim 1 , wherein the particular business object is identified in the data model by a business object name.

12. The system of claim 1 , wherein the particular business object is identified in the data model by a name of the main table of data associated with the particular business object in the data management system.

13. The system of claim 1 , wherein the change retrieval engine is further operable to:

apply field reductions to the tables identified according to the data model, the field reductions indicating one or more fields of the tables containing desired data; and

request from the data management system data from the fields indicated as containing desired data.

14. The system of claim 1 , wherein the change retrieval engine is further operable to:

apply field filters to the tables identified according to the data model, the field filters indicating the desired data in the tables; and

request from the data management system the desired data.

15. A method for retrieving data from a database using a data management system, comprising:

determining that data in the database managed by the data management system has been changed;

receiving information from the data management system identifying a particular business object with which the changed data is associated, a main table including data associated with the particular business object, and key values identifying a plurality of instances of the particular business object, each of the plurality of instances of the particular business object being associated with at least a portion of the changed data;

accessing a data model specifying, for the particular business object, references to plural tables associated with the particular business object and managed by the data management system that include data related to the plural instances of the particular business object, the data related to each instance being identifiable in one or more of the plural tables by the key value identifying that instance;

wherein the plural instances of the particular business object represent different subsets of data related to the particular business object such that the data related to different ones of the plural instances is at least partially different data;

identifying, according to the data model and the information received from the data management system, the plural tables associated with the particular business object;

for each of the plural instances of the particular business object, using the key value associated with that instance to identify, from the plural tables associated with the particular business object, the data in one or more of the plural tables that is related to that instance;

requesting from the data management system data to be retrieved included in the plural tables identified according to the data model, the requested data to be retrieved including at least a portion of the data identified as related to the plural instances of the particular business object; and

communicating the data to an external system distinct from the data management system.

16. The method of claim 15 , wherein:

the data management system comprises an enterprise resource planning (ERP) system; and

the external system comprises an external planning system.

17. The method of claim 15 , wherein determining that data managed by the data management system has been changed comprises monitoring the data management system to determine when a change document is created, the change document indicating that data managed by the data management system has been changed.

18. The method of claim 15 , wherein determining that data managed by the data management system has been changed comprises receiving a message from the data management system indicating that data managed by the data management system has been changed.

19. The method of claim 15 , wherein the particular business object is identified in the data model by a business object name.

20. The method of claim 15 , wherein the particular business object is identified in the data model by a name of a main table of data associated with the business object in the data management system.

21. The method of claim 15 , wherein the method further comprises applying field reductions to the tables identified according to the data model, the field reductions indicating one or more fields of the tables from which to request data from the data management system.

22. The method of claim 15 , wherein the method further comprises applying field filters to the tables identified by the data model, the field filters indicating the relevant data in the tables to be requested from the data management system.

23. The method of claim 15 , further comprising:

accessing a distribution model to determine one or more serialization groups into which the data identified by the data model is to be divided;

accessing the distribution model to determine destination information for one or more external systems to which the data in the serialization groups is to be communicated; and

communicating the serialization groups to the external systems identified by the destination information, the data in each serialization group communicated to the associated external system in an order that the data in the database was changed.

24. The method of claim 15 , further comprising:

creating an error log if data is not communicated to an external system; and

communicating the data associated with the error to the external system before communicating additional data received from the data management system to the external system.

25. A system for retrieving data from a database using a data management system, comprising:

a database operable to store data;

a data management system operable to access and change the data in the database; and

a data access interface system operable to:

receive information from the data management system identifying a particular business object with which the changed data is associated, a main table including data associated with the particular business object, and key values identifying a plurality of instances of the particular business object, each of the plurality of instances of the particular business object being associated with at least a portion of the changed data;

access a data model specifying, for the particular business object, references to plural tables associated with the particular business object and managed by the data management system that include data related to the plural instances of the particular business object, the data related to each instance being identifiable in one or more of the plural tables by the key value identifying that instance;

wherein the plural instances of the particular business object represent different subsets of data related to the particular business object such that the data related to different ones of the plural instances is at least partially different data;

identify, according to the data model and the information received from the data management system, the plural tables associated with the particular business object;

for each of the plural instances of the particular business object, use the key value associated with that instance to identify, from the plural tables associated with the particular business object, the data in one or more of the plural tables that is related to that instance;

request from the data management system data to be retrieved included in the plural tables identified according to the data model, the requested data to be retrieved including at least a portion of the data identified as related to the plural instances of the particular business object; and

communicate the data to an external system distinct from the data management system.

26. Software for retrieving data from a database using a data management system, the software being embodied in computer-readable media and when executed operable to:

determine that data in the database managed by the data management system has been changed;

receive information from the data management system identifying a particular business object with which the changed data is associated, a main table including data associated with the particular business objects, and key values identifying a plurality of instances of the particular business object, each of the plurality of instances of the particular business object being associated with at least a portion of the changed data;

access a data model specifying, for the particular business object, references to plural tables associated with the particular business object and managed by the data management system that include data related to the plural instances of the particular business object, the data related to each instance being identifiable in one or more of the plural tables by the key value identifying that instance;

wherein the plural instances of the particular business object represent different subsets of data related to the particular business object such that the data related to different ones of the plural instances is at least partially different data;

identify, according to the data model and the information received from the data management system, the plural tables associated with the particular business object;

for each of the plural instances of the particular business object, use the key value associated with that instance to identify, from the plural tables associated with the particular business object, the data in one or more of the plural tables that is related to that instance;

request from the data management system data to be retrieved included in the plural tables identified according to the data model, the requested data to be retrieved including at least a portion of the data identified as related to the plural instances of the particular business object;

receive the requested data from the data management system; and

communicate the received data to an external system distinct from the data management system.

27. The software of claim 26 , further operable to monitor the data management system to determine when a change document is created, the change document indicating that data managed by the data management system has been changed.

28. The software of claims 26 , further operable to receive a message from the data management system indicating that data managed by the data management system has been changed.

29. The software of claims 26 , wherein the particular business object is identified in the data model by a name of a main table of data associated with the business object in the data management system.

30. The software of claims 26 , further operable to:

apply field reductions to the tables identified according to the data model, the field reductions indicating one or more fields of the tables containing desired data; and

request from the data management system data from the fields indicated as containing desired data.

31. The software of claims 26 , further operable to:

apply field filters to the tables identified according to the data model, the field filters indicating the desired data in the tables; and

request from the data management system the desired data.

32. The software of claims 26 , further operable to:

access a distribution model to determine one or more serialization groups into which the data identified by the data model is to be divided; and

store the data received from the data management system in the data log according to the serialization groups.

33. The software of claims 26 , further operable to:

create an error log if data is not communicated to an external system;

receive a second transfer command indicating additional data has been stored in the data log; and

communicate the data associated with the error to the external system before communicating the additional data to the external system.

34. A system for retrieving data from a database using a data management system, comprising:

means for determining that data in the database managed by the data management system has been changed;

means for receiving information from the data management system identifying a particular business object with which the changed data is associated, a main table including data associated with the particular business object, and key values identifying a plurality of instances of the particular business object, each of the plurality of instances of the particular business object being associated with at least a portion of the changed data;

means for accessing a data model specifying, for the particular business object, references to plural tables associated with the particular business object and managed by the data management system that include data related to the plural instances of the particular business object, the data related to each instance being identifiable in one or more of the plural tables by the key value identifying that instance;

wherein the plural instances of the particular business object represent different subsets of data related to the particular business object such that the data related to different ones of the plural instances is at least partially different data;

means for identifying, according to the data model and the information received from the data management system, the plural tables associated with the particular business object;

for each of the plural instances of the particular business object, using the key value associated with that instance to identify, from the plural tables associated with the particular business object, the data in one or more of the plural tables that is related to that instance;

means for requesting from the data management system data to be retrieved included in the plural tables identified according to the data model, the requested data to be retrieved including at least a portion of the data identified as related to the plural instances of the particular business object; and

means for communicating the data to an external system distinct from the data management system.

Assignments (18)
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 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REEL 026468 FRAME NUMBER FROM 0199 TO 0119 PREVIOUSLY RECORDED ON REEL 055136 FRAME 0623. ASSIGNOR(S) HEREBY CONFIRMS THE CORRECTION ASSIGNMENT. Recorded Apr 19, 2021
From: I2 TECHNOLOGIES US, INC.
To: JDA TECHNOLOGIES US, INC.
Reel/Frame 056813/0110 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE CONVEYING AND RECEIVING PARTIES TO INCLUDE A PERIOD AFTER THE TERM INC PREVIOUSLY RECORDED AT REEL: 026740 FRAME: 0676. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 8, 2021
From: JDA TECHNOLOGIES US, INC.
To: JDA SOFTWARE GROUP, INC.
Reel/Frame 055257/0747 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE CONVEYING AND RECEIVING PARTIES TO INCLUDE A PERIOD AFTER THE TERM INC PREVIOUSLY RECORDED ON REEL 026468 FRAME 0199. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME FROM I2 TECHNOLOGIES US, INC. TO JDA TECHNOLOGIES US, INC.. Recorded Dec 12, 2020
From: I2 TECHNOLOGIES US, INC.
To: JDA TECHNOLOGIES US, INC.
Reel/Frame 055136/0623 →
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/0760 →
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 →
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/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 TECHNOLOGIES US, INC.
Reel/Frame 029529/0812 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2011
From: JDA TECHNOLOGIES US, INC.
To: JDA SOFTWARE GROUP, INC.
Reel/Frame 026740/0676 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2011
From: I2 TECHNOLOGIES US, INC
To: JDA TECHNOLOGIES US, INC
Reel/Frame 026468/0119 →
PATENT SECURITY AGREEMENT Recorded Apr 4, 2011
From: JDA TECHNOLOGIES US, INC.
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 026072/0353 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2001
From: I2 TECHNOLOGIES, INC.
To: I2 TECHNOLOGIES US, INC.
Reel/Frame 012037/0462 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2000
From: STEINBACH, RALF D.
To: I2 TECHNOLOGIES, INC.
Reel/Frame 010852/0436 →