IP Library Granted Patent US 6,983,421
Granted Patent B1
US 6,983,421 · App. 10/086,757 · Granted Jan 3, 2006

Using connectors to automatically update graphical user interface elements at a client system according to an updated state of a configuration

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,983,421
App. No.
10/086,757
Granted
Jan 3, 2006
Kind
B1
Abstract

A method for automatically updating a GUI element at a client system according to an updated state of a configuration includes displaying the GUI element at the client system in connection with a configuration workflow, the GUI element being associated with a configuration choice involving a configuration element of a configuration model stored at a server system. At the client system, a connector is created and maintained, the connector linking a property of the configuration element of the configuration model to the GUI element. Also at the client system, configuration data is maintained, the configuration data representing a current state of a configuration in relation to the configuration model. In response to user input during the configuration workflow, data is received from the server system representing an update to the updated state of the configuration with respect to the property of the configuration element. Using the connector linking the property of the configuration element to the GUI element, the GUI element is automatically caused to be updated to reflect the updated state of the configuration with respect to the property of the configuration element.

Claims (131)

1. A system for automatically updating graphical user interface (GUI) elements at a client system according to an updated state of a configuration, the system comprising one or more software components at the client system operable to:

display a GUI element at the client system in connection with a configuration workflow, the GUI element being associated with one or more configuration choices being available for a configuration element of a configuration model stored at a server system;

create and maintain at the client system a connector, using a format string comprising JavaScript code to link a property of the configuration element of the configuration model to the GUI element;

maintain at the client system configuration data representing a current state of a configuration in relation to the configuration model;

in response to a configuration choice selection at the GUI element during the configuration workflow, receive data from the server system representing an update to the current state of the configuration with respect to the property of the configuration element; and

use the connector linking the property of the configuration element to the GUI element to cause other GUI elements to be automatically updated to reflect the updated state of the configuration with respect to the property of the configuration element in order to associate available configuration choices for the other GUI elements according to the configuration choice selection.

2. The system of claim 1 , wherein the connector is created automatically at the client system in response to the GUI element being generated for display at the client system.

3. The system of claim 1 , wherein the connector allows other GUI elements to be automatically updated to reflect the updated state of the configuration without requiring data associated with any properties of any configuration elements unaffected by the configuration choice selection to be communicated from the server system to the client system and without requiring any GUI elements unaffected by the update to be updated.

4. The system of claim 1 , wherein:

the configuration model comprises a plurality of configuration elements, each configuration element involving one or more configuration choices each having one or more configuration element properties; and

the software components are further operable to create and maintain at the client system a separate connector for each configuration element property that is to be linked to one of a plurality of GUI elements, such that each configuration element property may be linked to one or more GUI elements using separate connectors and each GUI element may be linked to one or more configuration element properties using separate connectors.

5. The system of claim 1 , wherein the format string allows for Hypertext Markup Language (HTML) formatting of the GUI element linked to the connector according to the format string.

6. The system of claim 1 , wherein the format string allows for:

the updated state of the configuration to be determined in response to the configuration choice selection associated with the GUI element linked to the connector; and

if appropriate according to the updated state of the configuration, a different Hypertext Markup Language (HTML) class to be used for displaying the GUI element linked to the connector.

7. The system of claim 1 , wherein the format string allows information associated with a configuration element specified in the format string to be obtained and used.

8. The system of claim 1 , wherein the software components are further operable to create and maintain at the client system:

a connector linking specified Hypertext Markup Language (HTML) layer content to a JavaScript function, the connector operable to be used to call the JavaScript function in response to the configuration choice selection associated with the HTML content to indicate the configuration choice selection;

a connector linking a specified HTML layer property to the JavaScript function, the connector operable to be used to call the JavaScript function in response to the configuration choice selection associated with the HTML layer to indicate the configuration choice selection; and

a connector linking the JavaScript function to a callback operable to communicate the configuration choice selection to the server system and, in response, receive the data representing the update from the server system.

9. The system of claim 1 , wherein the one or more software components comprise:

a first frame associated with a web page and generated at the server system for communication to the client system upon initiation of the configuration workflow, the first frame operable to:

maintain the connector at the client system;

store the data representing the update to maintain configuration data representing the updated current state of the configuration at the client system;

according to the data representing the update, determine the property of the configuration element;

determine the connector for the property; and

using the connector for the property, update other GUI elements linked to the property; and

a second frame associated with the web page and generated at the server system for communication to the client system in association with the first frame, the second frame comprising at least one of the other GUI elements linked to the property.

10. The system of claim 9 , further comprising a third frame associated with the web page and generated at the server system for communication to the client system in association with the first and second frames, when executed at the client system the third frame operable to:

receive from the second frame data representing a configuration choice selection associated with at least one of the other GUI elements, the configuration choice selection of the second frame affecting the property of the associated configuration element;

post the data received from the second frame as a Hypertext Transfer Protocol (HTTP) request to the server system;

receive an HTTP response from the server system comprising data reflecting the update to the current state of the configuration resulting from the configuration choice selection of the second frame; and

communicate the data received from the server system to the second frame to initiate updating of other GUI elements for the third frame.

11. The system of claim 9 , wherein the system consists of the web page comprising the first and second frames.

12. The system of claim 1 , wherein the one or more software components comprise:

a first frame associated with a web page comprising a JavaServer Page (JSP) and generated at the server system for communication to the client system upon initiation of the configuration workflow, the first frame comprising a plurality of JavaScript functions each operable when executed at the client system in response to a call to create a connector for a corresponding type of GUI element; and

a second frame associated with the web page comprising a JSP and generated at the server system for communication to the client system in association with the first frame, the second frame comprising a JavaScript code associated with the GUI element and operable to, in response to the GUI element being initially generated for display, automatically call the JavaScript function in the first frame that corresponds to the type of the GUI element to create the connector for the GUI element.

13. The system of claim 1 , wherein the one or more software components comprise:

a first non-viewable configuration application program interface (API) frame associated with a web page and generated at the server system for communication to the client system in response to initiation of the configuration workflow; and

one of a plurality of second viewable configuration dialog frames associated with the web page and generated at the server system for communication to the client system in association with the first frame in response to initiation of the configuration workflow.

14. The system of claim 1 , wherein the configuration is a configuration for a product, the configuration choice is associated with one or more configuration elements available for selection in configuring a corresponding portion of the product, and the configuration model is a product configuration model.

15. The system of claim 1 , wherein the GUI element is associated with a dynamic Hypertext Markup Language (DHTML) layer and comprises one of a text label, a text field, a text area, a radio button, a drop-down list box, a check box, and an image.

16. A method for automatically updating a graphical user interface (GUI) element at a client system according to an updated state of a configuration, comprising:

displaying a GUI element at the client system in connection with a configuration workflow, the GUI element being associated with one or more configuration choices for a configuration element of a configuration model stored at a server system;

creating and maintaining at the client system a connector, using a format string comprising JavaScript code to link a property of the configuration element of the configuration model to the GUI element;

maintaining at the client system configuration data representing a current state of a configuration in relation to the configuration model;

in response to a configuration choice selection at the GUI element during the configuration workflow, receiving data from the server system representing an update to the current state of the configuration with respect to the property of the configuration element; and

using the connector linking the property of the configuration element to the GUI element to cause other GUI elements to be automatically updated to reflect the updated state of the configuration with respect to the property of the configuration element in order to associate available configuration choices for the other GUI elements according to the configuration choice selection.

17. The method of claim 16 , wherein the connector is created automatically at the client system in response to the GUI element being generated for display at the client system.

18. The method of claim 16 , wherein the connector allows other GUI elements to be automatically updated to reflect the updated state of the configuration without requiring data associated with any properties of any configuration elements unaffected by the configuration choice selection to be communicated from the server system to the client system and without requiring any GUI elements unaffected by the update to be updated.

19. The method of claim 16 , wherein:

the configuration model comprises a plurality of configuration , each configuration element involving one or more configuration choices each having one or more configuration element properties; and

the method further comprises creating and maintaining at the client system a separate connector for each configuration element property that is to be linked to one of a plurality of GUI elements, such that each configuration element property may be linked to one or more GUI elements using separate connectors and each GUI element may be linked to one or more configuration element properties using separate connectors.

20. The method of claim 16 , wherein the format string allows for Hypertext Markup Language (HTML) formatting of the GUI element linked to the connector according to the format string.

21. The method of claim 16 , wherein the format string allows for:

the updated state of the configuration to be determined in response to the configuration choice selection associated with the GUI element linked to the connector; and

if appropriate according to the updated state of the configuration, a different Hypertext Markup Language (HTML) class to be used for displaying the GUI element linked to the connector.

22. The method of claim 16 , wherein the format string allows information associated with a configuration element specified in the format string to be obtained and used.

23. The method of claim 16 , further comprising creating and maintaining at the client system:

a connector linking specified Hypertext Markup Language (HTML) layer content to a JavaScript function, the connector operable to be used to call the JavaScript function in response to the configuration choice selection associated with the HTML content to indicate the configuration choice selection;

a connector linking a specified HTML layer property to the JavaScript function, the connector operable to be used to call the JavaScript function in response to the configuration choice selection associated with the HTML layer to indicate the configuration choice selection; and

a connector linking the JavaScript function to a callback operable to communicate the configuration choice selection to the server system and, in response, receive the data representing the update from the server system.

24. The method of claim 16 , further comprising:

loading at the client system a first frame associated with a web page and generated at the server system for communication to the client system upon initiation of the configuration workflow, the first frame operable to:

maintain the connector at the client system;

store the data representing the update to maintain configuration data representing the updated current state of the configuration at the client system;

according to the data representing the update, determine the property of the configuration element;

determine the connector for the property; and

use the connector for the property to update other GUI elements linked to the property; and

loading at the client system a second frame associated with the web page and generated at the server system for communication to the client system in association with the first frame, the second frame comprising at least one of the other GUI elements linked to the property.

25. The method of claim 24 , further comprising loading at the client system a third frame associated with the web page and generated at the server system for communication to the client system in association with the first and second frames, when executed at the client system the third frame operable to:

receive from the second frame data representing a configuration choice selection associated with the at least one of the other GUI elements, the configuration choice selection of the second frame affecting the property of the associated configuration element;

post the data received from the second frame as a Hypertext Transfer Protocol (HTTP) request to the server system;

receive an HTTP response from the server system comprising data reflecting the update to the current state of the configuration resulting from the configuration choice selection of the second frame; and

communicate the data received from the server system to the second frame to initiate updating of other GUI elements for the third frame.

26. The method of claim 24 , wherein:

the first frame comprises a non-viewable configuration application program interface (API) frame; and

the second frame is one of a plurality of viewable configuration dialog frames associated with the web page and generated at the server system for communication to the client system in association with the first frame in response to initiation of the configuration workflow.

27. The method of claim 16 , further comprising:

loading at the client system a first frame associated with a web page comprising a JavaServer Page (JSP) and generated at the server system f or communication to the client system upon initiation of the configuration workflow, the first frame comprising a plurality of JavaScript functions each operable when executed at the client system in response to a call to create a connector for a corresponding type of GUI element; and

loading at the client system a second frame associated with the web page comprising a JSP and generated at the server system for communication to the client system in association with the first frame, the second frame comprising a JavaScript code associated with the GUI element and operable to, in response to the GUI element being initially generated for display, automatically call the JavaScript function in the first frame that corresponds to the type of the GUI element to create the connector for the GUI element.

28. The method of claim 16 , wherein the configuration is a configuration for a product, the configuration choice is associated with one or more configuration elements available for selection in configuring a corresponding portion of the product, and the configuration model is a product configuration model.

29. The method of claim 16 , wherein the GUI element is associated with a dynamic Hypertext Markup Language (DHTML) layer and comprises one of a text label, a text field, a text area, a radio button, a drop-down list box, a check box, and an image.

30. Software for automatically updating graphical user interface (GUI) elements at a client system according to an updated state of a configuration, the software being embodied in computer-readable media and when executed operable to:

display a GUI element at the client system in connection with a configuration workflow, the GUI element being associated with one or more configuration choices for a configuration element of a configuration model stored at a server system;

create and maintain at the client system a connector, using a format string comprising JavaScript code to link a property of the configuration element of the configuration model to the GUI element;

maintain at the client system configuration data representing a current state of a configuration in relation to the configuration model;

in response to a configuration choice selection at the GUI element during the configuration workflow, receive data from the server system representing an update to the current state of the configuration with respect to the property of the configuration element; and

use the connector linking the property of the configuration element to the GUI element to cause other GUI elements to be automatically updated to reflect the updated state of the configuration with respect to the property of the configuration element.

31. The software of claim 30 , wherein the connector is created automatically at the client system in response to the GUI element being generated for display at the client system.

32. The software of claim 30 , wherein the connector allows other GUI elements to be automatically updated to reflect the updated state of the configuration without requiring data associated with any properties of any configuration elements unaffected by the configuration choice selection to be communicated from the server system to the client system and without requiring any GUI elements unaffected by the update to be updated.

33. The software of claim 30 , wherein:

the configuration model comprises a plurality of configuration elements, each configuration element involving one or more configuration choices each having one or more configuration element properties; and

the software is further operable to create and maintain at the client system a separate connector for each configuration element property that is to be linked to one of a plurality of GUI elements, such that each configuration element property may be linked to one or more GUI elements using separate connectors and each GUI element may be linked to one or more configuration element properties using separate connectors.

34. The software of claim 30 , wherein the format string allows for Hypertext Markup Language (HTML) formatting of the GUI element linked to the connector according to the format string.

35. The software of claim 30 , wherein the format string allows for:

the updated state of the configuration to be determined in response to the configuration choice selection associated with the GUI element linked to the connector; and

if appropriate according to the updated state of the configuration, a different Hypertext Markup Language (HTML) class to be used for displaying the GUI element linked to the connector.

36. The software of claim 30 , wherein the format string allows information associated with a configuration element specified in the format string to be obtained and used.

37. The software of claim 30 , further operable to create and maintain at the client system:

a connector linking specified Hypertext Markup Language (HTML) layer content to a JavaScript function, the connector operable to be used to call the JavaScript function in response to the configuration choice selection associated with the HTML content to indicate the configuration choice selection

a connector linking a specified HTML layer property to the JavaScript function, the connector operable to be used to call the JavaScript function in response to the configuration choice selection associated with the HTML layer to indicate the configuration choice selection and

a connector linking the JavaScript function to a callback operable to communicate the configuration choice selection to the server system and, in response, receive the data representing the update from the server system.

38. The software of claim 30 , comprising:

a first frame associated with a web page and generated at the server system for communication to the client system upon initiation of the configuration workflow, the first frame operable to:

maintain the connector at the client system;

store the data representing the update to maintain configuration data representing the updated current state of the configuration at the client system;

according to the data representing the update, determine the property of the configuration element;

determine the connector for the property; and

using the connector for the property to update other GUI elements linked to the property; and

a second frame associated with the web page and generated at the server system for communication to the client system in association with the first frame, the second frame comprising at least one of the other GUI elements linked to the property.

39. The software of claim 38 , further comprising a third frame associated with the web page and generated at the server system for communication to the client system in association with the first and second frames, when executed at the client system the third frame operable to:

receive from the second frame data representing a configuration choice selection associated with the GUI element, the configuration choice selection of the second frame affecting the property of the associated configuration element;

post the data received from the second frame as a Hypertext Transfer Protocol (HTTP) request to the server system;

receive an HTTP response from the server system comprising data reflecting the update to the current state of the configuration resulting from the configuration choice selection of the second frame; and

communicate the data received from the server system to the second frame to initiate updating of at least one of the other GUI elements for the third frame.

40. The software of claim 38 , wherein the software consists of the web page comprising the first and second frames.

41. The software of claim 30 , comprising:

a first frame associated with a web page comprising a JavaServer Page (JSP) and generated at the server system for communication to the client system upon initiation of the configuration workflow, the first frame comprising a plurality of JavaScript functions each operable when executed at the client system in response to a call to create a connector for a corresponding type of GUI element; and

a second frame associated with the web page comprising a JSP and generated at the server system for communication to the client system in association with the first frame, the second frame comprising a JavaScript code associated with the GUI element and operable to, in response to the GUI element being initially generated for display, automatically call the JavaScript function in the first frame that corresponds to the type of the GUI element to create the connector for the GUI element.

42. The software of claim 30 , comprising:

a first non-viewable configuration application program interface (API) frame associated with a web page and generated at the server system for communication to the client system in response to initiation of the configuration workflow; and

one of a plurality of second viewable configuration dialog frames associated with the web page and generated at the server system for communication to the client system in association with the first frame in response to initiation of the configuration workflow.

43. The software of claim 30 , wherein the configuration is a configuration for a product, the configuration choice is associated with one or more configuration elements available for selection in configuring a corresponding portion of the product, and the configuration model is a product configuration model.

44. The software of claim 30 , wherein the GUI element is associated with a dynamic Hypertext Markup Language (DHTML) layer and comprises one of a text label, a text field, a text area, a radio button, a drop-down list box, a check box, and an image.

45. A system for automatically updating graphical user interface (GUI) elements at a client system according to an updated state of a configuration, comprising:

means for displaying a GUI element at the client system in connection with a configuration workflow, the GUI element being associated with one or more configuration choices for a configuration element of a configuration model stored at a server system;

means for creating and maintaining at the client system a connector, using a format string comprising JavaScript code to link a property of the configuration element of the configuration model to the GUI element;

means for maintaining at the client system configuration data representing a current state of a configuration in relation to the configuration model;

means for receiving, in response to a configuration choice selection at the GUI element during the configuration workflow, data from the server system representing an update to the current state of the configuration with respect to the property of the configuration element; and

means for using the connector linking the property of the configuration element to the GUI element to cause other GUI elements to be automatically updated to reflect the updated state of the configuration with respect to the property of the configuration element in order to associate available configuration choices for the other GUI elements according to the configuration choice selection.

Assignments (16)
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/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 →
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 →
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 →