IP Library › Granted Patent US 7,216,142
Granted Patent B2
US 7,216,142 · App. 09/930,673 · Granted May 8, 2007

Network application program interface facilitating communication in a distributed network environment

Assignee: i2 Technologies US, Inc.
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,216,142
App. No.
09/930,673
Granted
May 8, 2007
Kind
B2
Abstract

A request broker receives a request from a client, including a description of a method and parameters to be used in executing the method. The parameters have one of multiple acceptable native formats. The request broker determines the native format and communicates the parameters in the native format to a selected one of multiple translators for translation to an internal format, where each translator is associated with a different native format. The request broker communicates the parameters in the internal format to an application server system to enable execution of the method, receives a return value from the application server system reflecting execution of the method, communicates the return value in the internal format to the selected translator for translation to the native format, generates a reply including the description of the method and the return value in the native format, and communicates the reply to the client.

Claims (58)

1. A computer-implemented system for facilitating communication in a distributed network environment, the system comprising:

a request broker, implemented as a servlet operating at a Secure Hypertext Transport Protocol (HTTPS) web server within a hub system, operable to:

receive a network application program interface (API) request component from one or more clients within the distributed network environment, the one or more clients located remote from the hub system, the network API request component comprising a description of a system API method to be called and one or more parameters to be used in executing the system API method, the parameters having one of a plurality of acceptable native formats, wherein the plurality of acceptable native formats comprise formats selected from the group consisting of Extensible Markup Language (XML), Electronic Data Interchange (EDI), and serialized object formats;

determine the native format of the parameters;

communicate the parameters in the native format to a selected one of a plurality of translators for translation of the parameters from the native format to an internal format wherein the internal format comprises serialized object format, each translator being associated with a different native format and the parameters being converted into serialized object classes by the selected translator; and

communicate the parameters in the internal format to an application server within the hub system, to enable execution of the system API method according to the parameters; and

the application server system, operable to receive the parameters from the request broker in the internal format, generate a return value reflecting execution of the system API method according to the parameters, and communicate the return value to the request broker in the internal format;

the request broker further operable to receive the return value from the application server system in the internal format, communicate the return value in the internal format to the selected translator for translation of the return value from the internal format to the native format, generate a network API reply component that comprises the description of the system API method that was called and the return value in the native format, and communicate the network API reply component to the one or more clients; and

a system firewall having a plurality of ports, the system maintaining at least one port of the system firewall open for communication with the one or more clients, the one or more clients initiating a connection to the system through the at least one open port of the system firewall to communicate the network API request component to the request broker, independent of any port of a client firewall being open for communication with the system.

2. The system of claim 1 , wherein:

the network API request and network API reply components comprise Multi-purpose Internet Mail Extension (MIME) containers communicated over the Internet in HTTPS messages.

3. The system of claim 1 , wherein the one or more clients comprise at least one of a remote application, a remote spoke, and a remote hub system.

4. The system of claim 1 , wherein the request broker is a component of an electronic marketplace, the one or more clients are remote from the electronic marketplace, and the one or more clients comprise at least one of a remote enterprise application, a remote spoke, and a remote electronic marketplace.

5. The system of claim 1 , wherein the system API method is called using a synchronous method invocation semantic.

6. The system of claim 1 , wherein the application server system comprises an application server and a plurality of associated adapters, the request broker communicating the parameters in the internal format to a selected one of the plurality of adapters to enable execution of the system API method according to the parameters, the selected adapter being operable to:

receive the parameters from the request broker in the internal format;

communicate the parameters to the application server in the internal format for execution of the system API method according to the parameters;

receive the return value from the application server reflecting execution of the system API method according to the parameters; and

communicate the return value to the request broker in the internal format.

7. The system of claim 1 , wherein the application server system supports one or more applications comprising at least a collaborative planning application operable to provide planning data for one or more clients within a supply chain.

8. The system of claim 1 , wherein the network API request component and network API reply component each comprise a version identifier indicating the version of the network API request component and network API reply component being used.

9. The system of claim 1 , wherein the network API reply comprises a format field describing how to interpret the return value and corresponding to the selected translator.

10. The system of claim 1 , wherein the network API reply comprises a deprecation notice indicating to the one or more clients that the system API method that was called should not be further used.

11. The system of claim 1 , wherein the request broker is further operable to generate a network API exception component based on an exception occurring in connection with execution of a second system API method called based on a network API request component received from a second client, the network API exception component comprising a description of the second system API method, a description of the exception, and a deprecation notice indicating to the second client that the second system API method should not be further used.

12. A computer-implemented method for facilitating communication in a distributed network environment, the method comprising:

receiving a network application program interface (API) request component at a request broker implemented as a servlet operating at a Secure Hypertext Transport Protocol (HTTPS) web server within a hub system from one or more clients within the distributed network environment, the one or more clients located remote from the hub system, the network API request component comprising a description of a system API method to be called and one or more parameters to be used in executing the system API method, the parameters having one of a plurality of acceptable native formats, wherein the acceptable native formats comprise formats selected from the group consisting of Extensible Markup Language (XML), Electronic Data Interchange (EDI), and serialized object formats;

determining the native format of the parameters at the request broker;

communicating the parameters in the native format from the request broker to a selected one of a plurality of translators for translation of the parameters from the native format to an internal format wherein the internal format comprises serialized object format, each translator being associated with a different native format and the parameters being converted into serialized object classes by the selected translator;

communicating the parameters in the internal format from the request broker to an application server system within the hub system, to enable execution of the system API method according to the parameters;

receiving a return value at the request broker from the application server system in the internal format;

communicating the return value from the request broker to the selected translator for translation of the return value from the internal format to the native format;

generating a network API reply component at the request broker comprising the description of the system API method that was called and the return value in the native format;

communicating the network API reply component from the request broker to the one or more clients;

maintaining at least one of a plurality of ports of a system firewall open for communication with the one or more clients; and

accepting a connection initiated by the one or more clients through the at least one open port of the system firewall to allow the one or more clients to communicate the network API request component to the request broker, independent of any port of a client firewall being open for communication.

13. The method of claim 12 , wherein:

the network API request and network API reply components comprise Multi-purpose Internet Mail Extension (MIME) containers communicated over the Internet in HTTPS messages.

14. The method of claim 12 , wherein the one or more clients comprise at least one of a remote application, a remote spoke, and a remote hub system.

15. The method of claim 12 , wherein the request broker is a component of an electronic marketplace, the one or more clients are remote from the electronic marketplace, and the one or more clients comprise at least one of a remote enterprise application, a remote spoke, and a remote electronic marketplace.

16. The method of claim 12 , further comprising calling the system API method using a synchronous method invocation semantic.

17. The method of claim 12 , wherein:

the application server system comprises an application server and a plurality of associated adapters; and

the method comprises communicating the parameters in the internal format from the request broker to a selected one of the plurality of adapters to enable execution of the system API method according to the parameters, communicating the parameters from the selected adapter to the application server in the internal format for execution of the system API method according to the parameters, receiving at the selected adapter the return value from the application server reflecting execution of the system API method according to the parameters, and communicating the return value from the selected adapter to the request broker in the internal format.

18. The method of claim 12 , wherein the application server system supports one or more applications comprising at least a collaborative planning application operable to provide planning data for one or more clients within a supply chain.

19. The method of claim 12 , wherein the network API request component and network API reply component each comprise a version identifier indicating the version of the network API request component and network API reply component being used.

20. The method of claim 12 , wherein the network API reply comprises a format field describing how to interpret the return value and corresponding to the selected translator.

21. The method of claim 12 , wherein the network API reply comprises a deprecation notice indicating to the one or more clients that the system API method that was called should not be further used.

22. The method of claim 12 , further comprising generating a network API exception component at the request broker based on an exception that has occurred in connection with execution of a second system API method called based on a network API request component received from a second client, the network API exception component comprising a description of the second system API method, a description of the exception, and a deprecation notice indicating to the second client that the second system API method should not be further used.

23. A computer-implemented system for facilitating communication in a distributed network environment, the system comprising:

means for receiving a network application program interface (API) request component at a request broker implemented as a servlet operating at a Secure Hypertext Transport Protocol (HTTPS) web server within a hub system from one or more clients within the distributed network environment, the one or more clients located remote from the hub system, the network API request component comprising a description of a system API method to be called and one or more parameters to be used in executing the system API method, the parameters having one of a plurality of acceptable native formats;

means for determining the native format of the parameters at the request broker;

means for communicating the parameters in the native format from the request broker to a selected one of a plurality of translators for translation of the parameters from the native format to an internal format wherein the internal format comprises serialized object format, each translator being associated with a different native format and the parameters being converted into serialized object classes by the selected translator;

means for communicating the parameters in the internal format from the request broker to an application server system within the hub system, to enable execution of the system API method according to the parameters;

means for receiving a return value from the application server system at the request broker reflecting execution of the system API method according to the parameters;

means for communicating the return value in the internal format from the request broker to the selected translator for translation of the return value from the internal format to the native format;

means for generating a network API reply component at the request broker comprising the description of the system API method that was called and the return value in the native format;

means for communicating the network API reply component from the request broker to the one or more clients; means for maintaining at least one of a plurality of ports of a system firewall open for communication with the one or more clients; and

means for accepting a connection initiated by the one or more clients through the at least one open port of the system firewall to allow the one or more clients to communicate the network API request component to the request broker, independent of any port of a client firewall being open for communication.

Assignments (14)
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 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 →
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 →
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 Aug 14, 2001
From: WHIPPLE, MARK B.; NOTANI, RANJIT N.
To: I2 TECHNOLOGIES US, INC.
Reel/Frame 012120/0608 →
Continuity (2)
Provisional Application 6022536600 · Aug 14, 2000
Related Publication 20020038340A1 · Mar 28, 2002