WO2005054988A2 - System and method for configuring a graphical user interface based on data type - Google Patents

System and method for configuring a graphical user interface based on data type Download PDF

Info

Publication number
WO2005054988A2
WO2005054988A2 PCT/US2004/039082 US2004039082W WO2005054988A2 WO 2005054988 A2 WO2005054988 A2 WO 2005054988A2 US 2004039082 W US2004039082 W US 2004039082W WO 2005054988 A2 WO2005054988 A2 WO 2005054988A2
Authority
WO
WIPO (PCT)
Prior art keywords
data type
configuration
machine
operations
block
Prior art date
Application number
PCT/US2004/039082
Other languages
French (fr)
Other versions
WO2005054988A3 (en
Inventor
Brett Watson-Luke
Matthew L. Callanan
Original Assignee
Intec Telecom Systems Plc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/723,612 external-priority patent/US20050114692A1/en
Priority claimed from US10/723,581 external-priority patent/US20050114479A1/en
Priority claimed from US10/723,246 external-priority patent/US20050114642A1/en
Priority claimed from US10/723,582 external-priority patent/US20050114240A1/en
Priority claimed from US10/723,243 external-priority patent/US20050114851A1/en
Application filed by Intec Telecom Systems Plc filed Critical Intec Telecom Systems Plc
Priority to EP04811745A priority Critical patent/EP1706805A2/en
Publication of WO2005054988A2 publication Critical patent/WO2005054988A2/en
Publication of WO2005054988A3 publication Critical patent/WO2005054988A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Definitions

  • BACKGROUND Telecommunications providers offer a wide variety of products and services to their continuously expanding consumer bases.
  • many telecommunications providers employ Operations Support Systems (OSS) to track resource provisioning, convergent billing, customer management information, and other telecommunication-related information.
  • the OSS typically include a number of separate databases for storing the mforaiatiori. related to . resource provisioning, convergent billing, etc.
  • One disadvantage of some OSS is that several different databases have to be updated when new products and services are offered. For example, when a new wireless Internet plan is offered, both the convergent billing and customer management information databases must be updated.
  • the method includes receiving an input through a graphical user interface.
  • the method further includes determining a data type, wherein the data type is associated with a set of configuration items, wherein each of the configuration items is represented in a markup language, and wherein the configuration items correspond to configuration data stored in an operation support system.
  • the method also includes selecting an operation based on the configuration item data type, wherein the operation is associated with the input.
  • the method also includes performing the operation.
  • the apparatus includes a data types module to determine a data type, wherein the data type is associated with a set of configuration items, wherein each of the configuration items is represented in a markup language, and wherein the configuration items correspond to configuration data stored in an operation support system.
  • the apparatus also includes a system controller module to receive the data type from the data types module, wherein the system controller module is adapted to select an operation based on the data type, and wherein the system controller is adapted to perform the operation.
  • Figure 1 illustrates an exemplary computer system used in conjunction with certain embodiments of the invention
  • Figure.2 is a block diagram illustrating: a configuration management system, according to exemplary embodiments of the invention
  • Figure 3 illustrates a configuration tools interface unit, according to exemplary embodiments of the invention
  • Figure 4 is a screenshot of one view of the graphical user interface, according to exemplary embodiments of the invention
  • Figure 5A is a flow diagram illustrating operations for presenting graphical user interface components and processing user selections, according to exemplary embodiments of the invention
  • Figure 5B is a flow diagram illustrating additional operations (the flow diagram continues from the flow of Figure 5 A) for presenting graphical user interface components and processing user selections, according to exemplary embodiments of the invention
  • Figure 6 is a flow diagram illustrating operations (the flow diagram continues from the flow of Figure 5A) for determining data types associated with configuration items, according to exemplary embodiments of the
  • the present invention can include any variety of combinations and/or integrations of the embodiments described herein.
  • the phrase "exemplary embodiment" means that the embodiment being referred to serves as an example or illustration.
  • block diagrams illustrate exemplary embodiments of the invention.
  • flow diagrams illustrate operations of the exemplary embodiments of the invention. The operations of the flow diagrams will be described with reference to the exemplary embodiments shown in the block diagrams. However, it should be understood that the operations of the flow diagrams could be performed by embodiments of the invention other than those discussed with reference to the block diagrams, and embodiments discussed with references to the block diagrams could perform operations different than those discussed with reference to the flow diagrams.
  • FIG. 1 illustrates an exemplary computer system used in conjunction with certain embodiments of the invention.
  • computer system 100 comprises processor(s) 102.
  • the computer system 100 also includes a memory unit 130, processor bus 122, and Input/Output controller hub (ICH) 124.
  • the processors) 102, memory unit 130, and ICH 124 are coupled to the processor bus 122.
  • the processors) 102 may comprise any suitable processor architecture.
  • the computer system 100 may comprise one, two, three, or more processors, any of which may execute a set of instructions in accordance with embodiments of the present invention.
  • the memory unit 130 includes a configuration tools interface, which is described in greater detail below (see Figures 2 and 3).
  • the memory unit 130 stores data and/or instructions, and may comprise any suitable memory, such as a dynamic random access memory (DRAM), for example.
  • the computer system 100 also includes IDE drive(s) 108 and/or other suitable storage devices.
  • a graphics controller 104 controls the display of information on a display device 106, according to embodiments of the invention.
  • the input/output controller hub (ICH) 124 provides an interface to I/O devices or peripheral components for the computer system 100.
  • the ICH 124 may comprise any suitable interface controller to provide for any suitable communication link to the processor(s) 102, memory unit 130 and/or to any suitable device or component in communication with the ICH 124.
  • the ICH 124 provides suitable arbitration and buffering for each interface.
  • the ICH 124 provides an interface to one or more suitable integrated drive electronics (IDE) drives 108, such as a hard disk drive (HDD) or compact disc read only memory (CD ROM), drive, or to suitable universal., serial bus ,(USB) devices through one or more USB ports 110.
  • IDE integrated drive electronics
  • the ICH 124 also provides an interface to a keyboard 112, a mouse 114, a CD-ROM drive 118, one or more, suitable devices through one or more firewire ports 116.
  • the ICH 124 also provides a network interface 120 though which the computer system 100 can communicate with other computers and/or devices.
  • the computer system 100 includes a machine-readable medium that stores a set of instructions (e.g., software) embodying any one, or all, of the methodologies for configuring a graphical user interface based on data type described herein.
  • software can reside, completely or at least partially, within memory unit 130 and/or within the processors) 102.
  • Figure 2 shows a block diagram of a system for scheduling I/O requests. Operations of the functional units of Figure 2 are described in the following sections.
  • Figure 2 is a block diagram illustrating a configuration management system, according to exemplary embodiments of the invention.
  • the • configuration management system 200 includes an Extensible Markup Language (XML) repository (shown as XML repository 202), which includes an XML schemata 204 for configuration and XML file-based representation of configuration 206.
  • XML Extensible Markup Language
  • configuration is a set of one or more configuration items.
  • configuration items are data that change the operations or behavior of the one or more components of the configuration management system 200.
  • the configuration items are represented in any suitable fashion (e.g., the configuration items can be represented any suitable markup language).
  • the XML repository 202 is connected to version confrol tools 208, configuration tools user interface 210, and additional tools and scripts for manipulating configuration 212.
  • the configuration tools user interface 210 is connected to the version confrol tools 208, a version confrol server 214, and a configuration server 216.
  • the version confrol tools 208 is connected with the version confrol server 214, which is connected to a version control .repository 212.
  • the configuration server 216 s connected. to a configuration server database 224, a convergent billing unit 218, and a customer management unit 226.
  • the convergent billing unit 218 is connected to a convergent billing database 220, while the customer management unit 226 is connected to a customer management database 228.
  • the configuration server 216 can be connected to additional components, such as a provisioning management unit and a provisioning management database.
  • the additional components can be added after the configuration management system 200 has been deployed in the field.
  • the version confrol tools 208, version confrol server 214, and version confrol repository 212 are used for tracking version information associated with configuration stored in the system's various storage units (e.g., the XML repository 202, convergent billing database 220, customer management database 228, etc.).
  • low-level representations of configuration are stored in the convergent billing database 220 and the customer management database 228.
  • low-level configuration representations include relational database representations of the configuration.
  • other embodiments call of other suitable low-level persistent representations of the configuration.
  • the configuration server 224 and the XML repository 202 store high-level representations (also referred to as file-based representations) of the configuration.
  • the high-level representations of the configuration can be used for querying and updating configuration stored in the various databases (e.g., the convergent billing database 220 and the customer management database 228), as described in greater detail below (see exemplary implementation section).
  • the high-level representations of the configuration include XML representations of configuration.
  • the high-level representations include other suitable representations of the configuration (e.g., other markup language representations of the configuration).
  • the XML schemata 204 define the structure and content of the high-level configuration representation.
  • _ _ ari ⁇ us components of the configuration management' ' system 200 e.g., the configuration tools user interface 210) use information contained within the XML schemata 204 when reading and processing configuration.
  • the configuration tools user interface unit 210 uses the XML schemata 204 and the XML ( file-based representation of configuration 206 for processing configuration. Additionally, the configuration tools user interface unit 210 presents various user interface components based on the XML schemata 204 and the high-level representations of configuration, as described in greater detail throughout this description.
  • the convergent billing unit 218 and the convergent billing database 220 store and process configuration used in executing a convergent billing system.
  • the customer management unit 226 and the customer management database 228 store and process configuration used in executing a customer management system.
  • the configuration management system 200 includes an operations support system (OSS).
  • OSS operations support system
  • an operations support system generally refers to a system for performing management, inventory, engineering, planning, and repair functions for communications service providers and their networks.
  • Figure 3 illustrates a configuration tools interface unit, according to exemplary embodiments of the invention.
  • the configuration tools interface unit 210 includes a system controller module 308.
  • the system confroller module 308 is connected to a configurable interactive utility module 302, configurable search module 304, taskbar module 310, property sheet module 316, a product catalog data types module 314, configuration grouping module 312, and a data types module 306. Operations for each of the components shown in Figure 3 will be described in greater detail below, in the next section.
  • the configuration tools interface unit 210 is included within the computer system 100.
  • the computer system 100 includes or is communicatively coupled with (directly or indirectly) other components of the configuration management system 200.
  • the components e.g., the system controller module 308, data types module 306, etc.
  • the components can be integrated or divided, forming a lesser or greater number of components.
  • the components can include queues, stacks, and/or other data sfructures necessary for performing the ⁇ _runctionality described herein.
  • the components units can be logically/communicatively coupled using any suitable communication method (message passing, parameter passing, signals, etc.).
  • the components can be connected according to any suitable interconnection architecture (fully connected, hypercube, etc.).
  • Machine-readable media includes any mechanism that provides (i.e., stores and/or transmits) information in a form readable by a machine (e.g., a computer).
  • a machine-readable medium includes read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, electrical, optical, acoustical or other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.), etc.
  • the functional units can be other types of logic (e.g., digital logic) for executing the operations for configuring a graphical user interface (GUI) described herein.
  • GUI graphical user interface
  • Figure 4 shows a screenshot of a GUI
  • Figures 5-6 describe operations performed by the configuration tools interface unit 210 for presenting components of the GUI.
  • Figures 7-14 include additional screen shots and operations for presenting components of the GUI.
  • Figure 4 is a screenshot of the graphical user interface presented by the graphical tools user interface unit, according to exemplary embodiments of the invention.
  • the screenshot includes a set of GUI components 400.
  • the GUI components 400 include a title bar 402, which is located at the top edge of the GUI components 400.
  • the title bar 402 displays an application program name and other application program information.
  • the title bar 402 also includes minimize, maximize, and exit buttons, which are displayed in the upper right corner of the GUI components 400.
  • the GUI components 400 also include a menu bar 402 for displaying names of the available menus. Additionally, the GUI components 400 include system icons 418, toolbars 408, status bar 404, and taskbar 416.
  • the GUI components 400 also include a hierarchy window 412, which displays a hierarchical view of various configuration items stored within the configuration management system 200.
  • the hierarchy window 412 includes configuration item icons 420.
  • a source editor window 414 is shown adjacent to the hierarchy window 412, while a taskbar 416 a shown adj acent to the source editor window 414.
  • Figure 4 describes a screenshot presented by the configuration tools interface unit 210
  • Figures 5 A and 5B describe operations performed by the graphical tools user interface unit 210. Some of the operations described in Figures 5A and 5B are performed in the course of presenting the GUI components 400, whereas others of the operations are for processing other GUI-related information.
  • the system confroller module 308 interacts with other modules of the configuration tools interface unit 210. That is, the system confroller module 308 requests and receives information from the other configuration tools interface unit modules.
  • Figure 5A is a flow diagram illustrating operations for presenting graphical user interface components and processing user selections, according to exemplary embodiments of the invention.
  • the flow diagram 500A will be described with reference to the exemplary configuration tools interface unit 210 of Figure 3 and the screenshot of Figure 4.
  • the flow 500 begins at block 502.
  • system icons are presented.
  • the system controller module 308 presents system icons 418.
  • the system icons 418 include drop-down menus for performing system-supported operations, such as opening files, searching text, etc.
  • configuration icons are requested and received.
  • the system confroller module 308 requests and receives configuration item icons from the data types module 306.
  • the configuration icons graphically represent configuration items.
  • a user selects a set of configuration items to display.
  • a user selects certain configuration repositories to display (e.g., the configuration server database 224). Operations of the data types module 306 will be described in greater detail below, in the discussion of Figure 6:.
  • the flow continues at block 506. '- At block 506, configuration item icons are presented!
  • the system confroller module 308 presents the configuration item icons as part of its GUI. In Figure 4, the configuration item icons 420 appear in the hierarchy window 4-12.
  • the flow continues at block 508.
  • icons for the taskbar are requested and received.
  • the system confroller module 308 requests and receives taskbar icons from the taskbar module 310.
  • the flow continues at block 510. As shown in block 510, the taskbar icons are presented.
  • the system confroller module 308 presents the taskbar icons. As shown in Figure 4, the taskbar icons appear on the right side of the GUI components 400.
  • the flow continues at block 512.
  • a user selection is received.
  • the system confroller module 308 receives a user selection.
  • the user selection is represented by a mouse click associated with one of the GUI components 400 (e.g., configuration item icons 420, taskbar 416, etc. ). More specifically, the user selection can be represented a right mouse click, left mouse click, or double left mouse click associated with one of the GUI components 400.
  • the user selection can be represented by any other suitable I/O device input (e.g., touchscreen input, frackball input, voice-recognition software input, etc.).
  • the process continues at block 514. As shown in block 514, it is determined whether one or more configuration items in the repository hierarchy have been selected. For example, the system confroller module 308 determines whether one or more of the configuration item icons 420 have been selected. That is, the system controller module 308 determines whether a user has performed a mouse click on one or more of the configuration item icons 420. If one or more configuration items of the repository hierarchy have been selected, the flow continues at "A”. Otherwise, the flow continues at block 516. At block 516, it is determined whether an item in the taskbar has been selected.
  • the system confroller module 308 determines whether one or more of the configuration item icons 420 have been selected. That is, the system controller module 308 determines whether a user has performed a mouse click on one or more of the configuration item icons 420. If one or more configuration items
  • the system controller module determines whether one of the taskbar items has been selected. In one embodiment, the system controller module 308 determines whether the user has performed a mouse click on one or more of the taskbar icons 416. If a. taskbar item ha not been selected, .the flow continues at block 518. -Otherwise, the flow continues at block 520. As shown in block 520, it is requested that a task associated with the selected , taskbar-item be performed. For example, the system controller module 308 requests that the taskbar module 310 performed the task associated with the selected taskbar item. From block 520, the flow ends. At block 518, operations associated with the selected system icon are performed.' For example, the system controller module 308 performed operations associated with the selected system icon.
  • Figure 5B is a flow diagram illustrating additional operations (the flow diagram continues from the flow of Figure 5 A) for presenting graphical user interface components and processing user selections, according to exemplary embodiments of the invention.
  • the flow diagram 500B will be described with reference to the exemplary configuration tools interface unit 210 of Figure 3 and the screenshot of Figure 4.
  • the flow 500B flows from "A" to block 522.
  • it is determined whether the user selection requests a menu For example, the system controller module 308 determines whether the user selection requests a menu.
  • the system confroller module 308 determines whether the user selection requests a menu by determining whether the user selection is a right mouse click. If the user selection requests a menu, the process continues at block 524. Otherwise, the flow continues at block 548.
  • configuration items in the next hierarchy level are presented. For example, the system confroller module 308 presents configuration items of the next hierarchy level in the hierarchy window 412. In one embodiment, this operation is performed in response to receiving a left mouse click associated with a configuration item shown in the hierarchy window 412. In alternative embodiment, the system confroller module 308 performed this operation in response to other types of user input (e.g., input generated by a touchscreen, trackbal, etc.). From block 548, the flow ends.
  • menu items for the menu are requested and received.
  • .the,system confroller module 308 requests ⁇ and receives-menu items for the menu from the data types module 306.
  • the data types module 306 returns menu items based on the data type of the one or more selected configuration items (see block 514 of Figure 5A).
  • the process continues at block 526.
  • a menu that includes the menu items is presented.
  • the system confroller module 308 presents a menu that includes the menu items that were received from the data type module 306.
  • the menu items include a properties item, interactive, utility item, search item, catalog item, and references item. Alternative embodiments include other suitable menu items.
  • the process continues at block 528.
  • a menu selection is received.
  • the system confroller module 308 receives a menu selection.
  • the menu selection is represented by a left mouse click.
  • the process continues at block 530. As shown in block 530, it is dete ⁇ riined whether an interactive utility was selected. For example, the system confroller module 308 determines whether an interactive utility item was selected from the menu, which was presented at block 526. If an interactive utility was selected, the process continues at block 532. Otherwise, the process continues at block 536.
  • interactive utility identifiers are requested and received. For example, the system controller module 308 requests and received interactive utility identifiers from the data types module 306.
  • the interactive utility identifiers are identifiers that indicate one or more interactive utilities that are to be used with the menu selection. In one embodiment, the interactive utilities that are to be used are based on the data type associated with the selected configuration items.
  • execution of the interactive utilities is requested. For example, the system controller module 308 requests that the configurable interactive utility module 302 execute the interactive utilities. From block 534, the flow ends.
  • a data type associated with the selected configuration item(s) is requested and received.
  • the system confroller module 308 requests a type associated with the selected configuration items from the data types module 306.
  • execution of the property sheet utility associated with the data type is requested.
  • the system controller module 308 requests that the property sheet module 316 execute the property sheet utility for the data type associated with the selected configuration item(s).
  • a request is made for execution of operations associated with the menu selection.
  • the system confroller module 308 requests that another module of the configuration tools interface unit 210 execute operations associated with the menu selection.
  • the system confroller module 308 requests that the product catalog data types module 314 perform operations associated with a menu selection. That is, if a product catalog menu item is selected, the system confroller module 308 calls the product catalog data types module 314 to perform operations associated with the product catalog menu item.
  • the system confroller module 308 can call the configuration grouping module 312, configurable interactive utility module 302, data types module 306, etc. to perform operations associated with the menu selection. From block 542, the flow continues at block 544. As shown in block 544, it is determined whether additional operations are needed.
  • the system confroller module 308 determines whether additional modules should be called for performing operations associated with the menu selection. For example, if the data types module 306 were called to determine the data type associated with a selected configuration item, additional modules (e.g., configurable search module 304) could be called to perform operations based on the data type. If additional operations are needed, the process continues at block 542. Otherwise, the process continues at block 546. At block 546, data associated with the operations is presented. For example, the system controller 308 presents data associated with the operations performed by the various configuration tools interface unit modules. As a more specific example, the •system, confroller 308 presents the results- of search operations performed by the configurable search module 304. Alternatively, the results of operations performed by other modules could be presented.
  • XML files define attributes of a data type.
  • the data type definition specifies the following: 1) a display name for the data type; 2) information for recognizing files of the data type, for example, the data type schema; 3) references applicable to the data type; 4) properties of the data type; and 5) properties of the references.
  • configuration tools interface unit modules use the data type definition for determining a data type associated with selected configuration items.
  • XPath expressions are used to determine data types.
  • XPath is a set of Syntax rules for defining different parts of an XML document.
  • the primary purpose of XPath is to address parts of an XML document and to provide basic facilities for manipulating strings, numbers, and Boolean expressions.
  • XPath is also designed so that it has a natural, subset that can be used for pattern matching.
  • the foUowing XML code segment is an exemplary definition of the group data type.
  • 2 ⁇ dt :dataTy ⁇ e xmlns : dt 3 "http: //www. adc . com/ConfigurationUI/ 4 DatatypeDefinition”
  • 5 xmlns:xsi http: //www. w3. org/2001/XMLSchema-instance”
  • 6 xsi:schemaLocation -7 "http: //ww . adc. com/Configuration ⁇ l 8 /DatatypeDefinition 9 ' http://www.adc.com/schema/confui/
  • the exemplary code segment shown above is one example of a data type definition.
  • users can define any number of data types.
  • Some other exemplary sample data types include (data type definitions for the following data types are not shown): 1) CBAccountType - this data type defines 5 account specifications to identify the type of account to which financial fransactions are to be applied; and 2) CB AddressFormat - this data type specifies the layout and style of address fields and defines a list of attribute types applied to those fields.
  • Figure 6 is a flow diagram illustrating operations for determining data types associated with configuration items, according to exemplary embodiments of the bin 10 invention. The flow diagram 600 will be described with reference to the exemplary configuration tools interface unit 210 of Figure 3. The flow begins at block 602.
  • a request that includes a list of selected configuration items is received.
  • the data types module 306 receives a request that includes a list of selected configuration items from the system controller module 308. Additionally, the 15 request includes data types associated with the selected configuration items.
  • the flow continues at block 604.
  • configuration item data types are determined. For example, the data types module 306 determines a data type associated with the selected , configuration items.
  • the data types module 306 inspects the high- level XML representation of the configuration items to determine their data type. In an 25 alternative embodiment, the data types module 306 determines a data type associated with the selected configuration items by inspecting low-level representations of the configuration items. From block 630, the flow continues at block 632. At block 632, based on the configuration item data types, configuration item icons are associated with the configuration items. For example, based on the configuration item data types, the data types module 306 associates icons with the configuration items. The process continues at block 634. As shown in block 634, a list of the configuration items and their associated icons is returned. For example, the data types module 306 returns a list of the configuration items and their associated icons to the system controller r odule 308.
  • the flow ends.
  • the data types module 306 determines whether the request is a request for menu items. If the request is a request for menu items, the flow continues at block 608. Otherwise, the process continues at block 612.
  • actions are associated with the selected configuration item.
  • the data types module 306 associates a set of actions with the selected configuration item, depending on its data type.
  • the actions define operations that the modules of the configuration tools interface unit 210 perform on the selected configuration items. In one embodiment the modules perform the operations in response to receiving menu selections from a user interface.
  • the flow continues at block 610.
  • the list of actions is returned as a list of menu items.
  • the data types module 306 returns a list of menu items to the system confroller module 308, where the list of menu items is based on the actions associated with these configuration items. From block 610, the flow ends.
  • an interactive utility identifier is determined and returned, where the interactive utility identifier is determined based on the data type associated with the selected configuration item.
  • the data types module 306 determines an ⁇ interactive utility identifier based on the type of the selected configuration item.
  • the interactive utility identifier identifies an interactive utility that can be called an executed by the system confroller module 308 and the configurable interactive utility module 302.
  • the data types module 306 inspects the high- level XML representation of the configuration items to determine their data type. In an alternative embodiment, the data types module 306 determines data type by inspecting low-level representations of the configuration items. From block 614, the flow ends. As shown in block 616, it is determined whether the request is a request for a reference search. For example, the data types module 306 determines whether the request is a request for a reference search.
  • a list of configuration items that refer to the selected configuration items is determined and returned.
  • the data ypes module 306 determines and returns a list of configuration items that refer to the selected configuration item.
  • the data types module 306 inspects the config ⁇ ration items of selected repositories and determines which of those configuration items refers to the selected configuration items.
  • the configuration items stored in the selected repositories are represented in XML.
  • the data types, module 306 compares the XML representation of the selected configuration item with the XML representation of other configuration items in the selected repositories.
  • the process ends.
  • a list of configuration items that are of the same data type as the selected configuration items is determined and returned.
  • the data types module 306 determines and returns a list of configuration items that are of the same data type as the selected configuration items. In one, embodiment, the data types module 306 determines this list by inspecting configuration items (which are represented in XML) of selected repositories.
  • the XML code representing the configuration items is stored in the XML repository 202, while in an alternative embodiment, the XML code is stored in the configuration server database 224.
  • the data types module 306 determines which of the configuration items stored in the selected repositories are of the same data type as the selected configuration item. From block 622, the flow ends. 5 At block 624, it is determined whether the request is a request to search for a . missing reference. If the request is a request to search for a missing reference, the process continues at block 626. Otherwise, the flow ends. As shown in block 626, a list of configuration items that contain missing references is determined and returned.
  • the data types module 306 10 determines and returns a list of configuration items that contain missing references. In one embodiment, the data types module 306 determines this list by inspecting configuration items (which are represented in XML) of selected repositories. ' Based on the XML, the data types module 306 determines which of the configuration items contain missing references. In one embodiment, the XML representation of each configuration
  • Figure 10 describes operations for presenting a property sheet based on the data type associated with a selected configuration item.
  • Figure 7 is a screenshot of a graphical user interface used in conjunction with a0 configurable interactive utility, according to exemplary embodiments of the invention.
  • Figure 7 shows two GUI windows 704 and 706.
  • Each of the windows (704 and 706) include input fields 702 for receiving user input.
  • the user input includes text.
  • the user input includes one or more selections from a drop-down menu. Operations performed by the interactive utility are described below, in the description of Figure 8.
  • Figure 8 is a flow diagram illustrating operations for creating and/or modifying configuration items with an interactive utility, according to exemplary embodiments of the invention.
  • the flow diagrams 800 will be described with reference to the exemplary embodiments of Figures 3, 5A, 5B, and 7.
  • the flow commences at block 802.
  • a request to execute one or more interactive utilities is received.
  • the configurable interactive utility module 302 receives a request to execute one or more interactive utilities.
  • the request includes one or more fdeht ⁇ fiers indicating on particular interactive utilities.
  • the process continues at block 804.
  • a dialog box of the interactive utility is presented.
  • the configurable interactive utility module 302 presents a dialog box of the interactive utility.
  • a dialog box is included in a window.
  • the dialog box includes input fields (for more details, see input fields 702 of Figure 7).
  • the flow continues at block 806.
  • input for a field of the dialog box is received.
  • the configurable interactive utility module 302 receives input in a field of the dialog box.
  • the input is text, while in an alternative embodiment, the input is one or more selections from a drop-down menu.
  • the input is associated with a value associated with a. configuration item. For example, numeric input received from a field can be associated with a configuration item's price value. Alternative embodiments call for other suitable forms of input and value.
  • the flow continues at block 808.
  • the configurable interactive utility module 302 determines whether the input for an input field 720 is valid. In one embodiment, the interactive utility module 302 determines whether the input is within a range of acceptable values for an attribute associated with the field. For example, for a field associated with a time-of-day value, the input must be a valid time-of-day. If the input for the field is not valid, the process continues at block 806. Otherwise, the flow continues at block 810. As shown in block 810, it is determined whether there are more fields of the dialog box. For example, the configurable interactive utility module 302 determines whether there are more input fields 702 of the dialog box. If there are more fields of the dialog box, the process continues at block 806.
  • the process continues at block 812.
  • the configurable interactive utility module 302 performs fewer validity checks. For example, one embodiment, the configurable interactive utility module 302 only determines whether the input for the entire dialog box is valid, thus it does not perform validity checks at the field and dialog box levels.
  • the input is formatted. For example, the configurable interactive utility module 302 formats the input. In one embodiment, the configurable interactive utility module 302 formats the input so that it can be inserted into an XML representation of configuration items. For example, numeric input associated with a configuration item's price value is converted into a format suitable for insertion into an XML representation of the configuration item.
  • the flow continues at block 820. At block 820, it is determined whether another interactive utility is to be executed.
  • the configurable interactive utility module 302 determines whether another interactive utility is to be executed. If there is another interactive utility to be executed, the process continues at block 802. Otherwise, the process continues at block 822. At block 822, all formatted input is combined to create/modify a configuration item. For example, the configurable interactive utility module 302 combines all the ! formatted input (received from the input fields and/or dialog boxes) to create/modify a configuration item. The process continues at block 824. . As shown in block 824, the new/modified configuration item is saved and returned.
  • the configurable interactive utility module 302 saves the new/modified configuration item to its designated repository and returns the configuration item to the calling module (e.g., the system confroller module 308).
  • saving the configuration item includes inserting the combined formatted input into an XML representation of the.config ⁇ ration ite and storing the configuration item in the appropriate repository.
  • the modified/new configuration item is saved in high-level and low-level representations. That is, for example, the modified/new configuration item is saved to the XML repository 202 and the convergent billing database 220. While Figures 7 and 8 describe a screen shot and operations for a configurable interactive utility module, Figures 9 and 10 describe a screen shot and operations for the property sheet module 316.
  • Figure 9 is a screenshot of a graphical user interface used in conjunction with a property sheet, according to exemplary embodiments of the invention.
  • the screen shot 900 includes a window 902.
  • the window 902 includes a graphical view of configurable items 904, properties 906, and property values 908.
  • the configurable items 904 include configuration items.
  • the properties 906 and property values 908 are represented in a grid. In the grid, the properties 906 appear in one column and the property values 908 appear in another column.
  • a user can modify the property values 908. For example, a user can change the property values 908 by inputting text and/or selecting menu options.
  • FIG. 10 is a flow diagram illustrating operations for modifying configuration item property values using property sheets, according to exemplary embodiments of the invention.
  • the flow diagram 1000 commences at block 1002.
  • an execution request that includes a list of selected configuration items is received.
  • the property sheet module 316 receives an execution requests that includes a list of selected configuration items from the system confroller module 308.
  • the flow continues at block 1004.
  • a property sheet is selected and presented.
  • the property sheet module 316 selects a property sheet based on the selected configuration items' data type.
  • the property sheet module 316 also presents the property sheet.
  • the property sheet module 316 inspects the high-level XML representation of the configuration items to determine their data type.
  • the property sheet module 316 determines data type by inspecting low-level representations of the configuration items. As shown in
  • a property sheet is a grid including properties 906 and property values 908. As noted above, users can modify the property values 908. The flow continues at block
  • the property sheet module 316 determines whether changes in the property sheet are received. For example, the property sheet module 316 determines whether it has received modifications to the property values of the property sheet. In one embodiment, the property sheet module 316 determines whether a user has modified any of the property values. If no changes are received, the process ends. Otherwise, the process continues at block 1008. As shown in block 1008, the properties of the selected configuration items are updated. For example, the property sheet module 316 updates the property values to reflect the received changes. In one embodiment, the property sheet module 316 updates the configuration items by modifying portions of the XML representation of the configuration items (stored in the XML repository 202).
  • the property sheet module 316 updates the configuration items by modifying portions of the low-level representation of the configuration items (stored in the convergent billing database 220 or customer management database 228). From block 1008, the flow ends.
  • Figure 11 describes operations for executing a product catalog
  • Figure 12 describes operations for searching for configuration items that contain a particular value or regular expression.
  • Figure 13 describes operations for grouping configuration items.
  • Figure 15 describes operations for implementing a taskbar.
  • Figure 11 is a flow diagram illustrating operations for implementing a product catalog s according to exemplary embodiments of the invention-. The flow diagram 1100 will be described with reference to exemplary embodiments shown in Figure 3.
  • the flow diagram 1100 commences at block 1102.
  • a list of configuration items Of- a specific data type and a requests to launch a property sheet hierarchy view are received.
  • the product catalog data types module 314 receives a list of items of a specific data type.
  • the product catalog data types module 314 also receives a request to launch a property sheet hierarchy view (see hierarchy window of Figure 4 for more details about the hierarchy view).
  • the flow continues at block 1104.
  • the configuration items are presented in a hierarchy view.
  • the product catalog data types module 314 presents the configuration items in a hierarchy view.
  • the hierarchy view is shown in the hierarchy window 412 of Figure 4.
  • the flow continues at block 1106.
  • a configuration item selection is received.
  • the product catalog data types module 314 receives a configuration item selection.
  • a configuration item selection is received when a user selects (e.g., using a mouse) a configuration item shown in the hierarchy view.
  • the flow continues at block 1108.
  • the property sheet is presented.
  • the product catalog data types module 314 presents a property sheet based on the data type associated with the selected configuration item.
  • the property sheet includes properties and property values. The property values can be modified by a user (see the description of property sheets above). Because the property sheet is based on the data type associated with the selected configuration item, the product catalog data types module 314 can present different property sheets for different data types.
  • the process continues at block 1110.
  • the product catalog data types module 314 determines whether it has received modifications to the property values of the property sheet.
  • the product catalog data types module 314 determines whether a user has modified any of the property values through a GUI. If no changes are received, the . process ends.. Otherwise, the process continues at bloek-1112r
  • the properties of the selected configuration items are updated.
  • the product catalog module 314 updates the property values to reflect the received changes.
  • theproduct eatalog module 314 updates the configuration items by modifying portions of the XML representation of the configuration items (stored in the XML repository 202).
  • the product catalog module 314 updates the .configuration items by modifying portions of the low-level representation of the configuration items (stored in the convergent billing database 220 or customer management database 228). From block 1112, the flow ends.
  • Figure 12 is a flow diagram illustrating operations for searching for values within a configuration item, according to exemplary embodiments of the invention.
  • the flow diagram 1200 will be described with reference to the exemplary embodiments shown in Figures 3 and 4.
  • the flow diagram 1200 commences at block 1202.
  • a request to search for configuration items that contain a specific value or regular expression is received.
  • the configurable search module 304 receives a request to search for configuration items that contain a specific value or regular expression.
  • a regular expression is a set of characters that is defined by a set of symbols and rules.
  • the specific value is a property value, as described above.
  • the flow continues at block 1204.
  • a list of the configuration items that contain a specific value or regular depression is determined and returned.
  • the configurable search module 304 determines and returns a list of configuration items that contain a specific value or regular expression.
  • the configurable search module 304 searches through the configuration stored in selected repositories for configuration items containing a specific value or regular expression.
  • the configurable search module 304 searches through configuration items stored in the XML repository 202 for ones containing a specific value or regular expression.
  • the configurable search module 304 searches through multiple repositories (e.g., the configuration server database 220, convergent billing database 224, and the customer management database 228) for configuration items containing a specific value or regular expression.
  • the flow-endsr Figure 13 is a flow diagram illustrating operations for grouping configuration items, according to exemplary vitamins of the invention.
  • Flow diagram 1300 will be described with reference to the exemplary embodiments of Figures 2 and 3.
  • the flow diagram 1300 commences at block 1302.
  • an execution request is received.
  • configurable grouping module 312 receives and execution request:
  • the process continues at block 1304.
  • it ⁇ s determined whether the request is a request to return a group of configuration items.
  • the configurable grouping module 312 determines whether the request is a request to return a group of configuration items. If the request is to return a group of configuration items, the process continues at block 1306. Otherwise, the process continues at block 1308. At block 1306, a list of all configuration items in the selected group is determined and returned. For example, the configurable grouping module 312 determines and returns a list of configuration items in the selected group. In one embodiment, the selected group is a data type. In one embodiment, the configuration grouping module 312 inspects XML representations of the configuration items to determine their data type. From block 1306, the flow ends. " At block 1308, it is determined whether the request is a request to return configuration items referenced by group.
  • the configurable grouping module 312 determines whether the request is a request to return configuration items referenced by group. In one embodiment, the group includes a number of selected configuration items. If the request is a request to return configuration items referenced by group, the process continues at block 1310. Otherwise, the process continues at block 1312. At block 1310, a list of all configuration items referenced by the group is determined and presented. For example, the configuration grouping module 312: determines and presents of a list of all configuration items referenced by the group. In one embodiment, the configuration grouping module 312 inspects XML representations . of the configuration items to determine whether they reference other configuration items.” From block 1310, the flow ends.
  • the configuration grouping module 312 determines whether a request is requesting to add or remove configuration items from a group. For example, the configuration grouping module 312 determines whether a request is requesting to add or remove configuration items from a group. If the request is requesting to add or remove configuration items from a group, the process continues at bl ⁇ ck 1314. Otherwise, the process continues at block 1316. As shown block 1314, selected configuration items are added or remove from the group. For example, the configuration grouping module 312 adds or removes selected configuration items to/from the group. In one embodiment, when configuration items are added or removed from a group, the group is graphically presented with the configuration items added or removed.
  • the configuration grouping module 312 modifies high-level and/or low-level representations of the configuration items to indicate new group associations. From block 1314, the flow ends. At block 1316, is determined whether the request is to create a group. For example, the configuration grouping module 312 determines whether the request is to create a group. If the request is to create a group, the process continues at block 1318. Otherwise, the process continues at block 1320. At block 1318, the selected group is created and presented. For example, the configuration grouping module 312 creates and presents the selected group. In one embodiment, the configuration grouping module 312 creates groups by modifying XML code representations of the configuration items to indicate group association.
  • the configuration grouping module 312 graphically presents the group. From block 1318, the flow ends.
  • a list of the groups containing the specified data are determined and presented. For example, thexonfiguration grouping module 312 determines a list of groups that contain specified data.
  • FIG. 14 is a flow diagram illustrating operations for implementing a taskbar, according to exemplary embodiments of the invention.
  • the flow diagram 1400 will be described with reference to the exemplary embodiments shown in Figure 3.
  • Flow diagram 1400 commences at block 1402.
  • a request is received.
  • the taskbar module 310 receives a request.
  • the request includes a task selection.
  • the request is requesting a list of taskbar icons.
  • the process continues at block 1404. As shown in block 1404, it is determined whether the request is requesting a list of taskbar icons.
  • the taskbar module 310 determines whether the request is requesting a list of taskbar icons. If the request is a request for taskbar icons, the process continues at block 1406. Otherwise, the process continues at block 1408. At block 1406, a list of taskbar icons is returned. For example, the taskbar module 310 returns a list of taskbar icons. From block 1406, the flow ends. At block 1408, a selected task is launched. For example, the taskbar module 310 launches a selected task. In one embodiment, the taskbar calls other modules of the configuration tool interface unit 210 to lunch and perform a selected task. From block 1408, the flow ends. Thus, a system and method for configuring a graphical user interface based on data type have been described.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Machine Translation (AREA)

Abstract

A system and method for configuring a graphical user interface based on data type are described herein. In one embodiment, the method includes receiving an input through a graphical user interface. The method further includes determining a data type, wherein the data type is associated with a set of configuration items, wherein each of the configuration items is represented in a markup language, and wherein the configuration items correspond to configuration data stored in an operation support system. The method also includes selecting an operation based on the configuration item data type, wherein the operation is associated with the input. The method also includes performing the operation.

Description

SYSTEM AND METHOD FOR CONFIGURING A GRAPHICAL USER INTERFACE BASED ON DATA TYPE
LIMITED COPYRIGHT WAIVER A portion of the disclosure of this patent document contains material to which the claim of copyright protection is made. The copyright owner has no objection to the facsimile reproduction by any person of the patent document or the patent disclosure, as it appears in the U.S. Patent and Trademark Office file or records, but reserves all other rights whatsoever. FIELD This invention relates generally to the field of operational support system software and more particularly„to graphical user interfaces used in conjunction with operational support system software.
- JRelated Files This invention is related to the following cofiled, coassigned and copending applications: Application serial number , filed November 26, 2003, entitled
"SYSTEMS, METHODS AND SOFTWARE TO CONFIGURE AND SUPPORT A TELECOMMUNICATIONS SYSTEM" (Attorney Docket No.: 500.825US1). Application serial number , filed November 26, 2003, entitled
"SYSTEM AND METHOD FOR HIERARCHICALLY REPRESENTING CONFIGURATION ITEMS" (Attorney Docket No.: 500.828US1); Application serial number , filed November 26, 2003, entitled
"SYSTEM AND METHOD FOR MANAGING OSS COMPONENT CONFIGURATION" (Attorney Docket No.: 500.827US1); Application serial number , filed November 26, 2003, entitled "BIDIRECTIONAL INTERFACE FOR CONFIGURING OSS COMPONENTS" (Attorney Docket No.: 500.830US1); and Provisional application serial number , filed November 26, 2003, entitled "SYSTEMS, METHODS AND SOFTWARE TO CONFIGURE AND SUPPORT A TELECOMMUNICATIONS SYSTEM" (Attorney Docket No.: 500.831PRV); all of the above which are hereby incorporated by reference.
BACKGROUND Telecommunications providers offer a wide variety of products and services to their continuously expanding consumer bases. In order to keep pace with ever-changing products and customer demands, many telecommunications providers employ Operations Support Systems (OSS) to track resource provisioning, convergent billing, customer management information, and other telecommunication-related information. The OSS typically include a number of separate databases for storing the mforaiatiori. related to . resource provisioning, convergent billing, etc. One disadvantage of some OSS is that several different databases have to be updated when new products and services are offered. For example, when a new wireless Internet plan is offered, both the convergent billing and customer management information databases must be updated. Another disadvantage of many OSS is that some OSS do not offer relatively fast and easy-to-use tools for changing information across numerous OSS databases. SUMMARY A system and method for configuring a graphical user interface based on data type are described herein. In one embodiment, the method includes receiving an input through a graphical user interface. The method further includes determining a data type, wherein the data type is associated with a set of configuration items, wherein each of the configuration items is represented in a markup language, and wherein the configuration items correspond to configuration data stored in an operation support system. The method also includes selecting an operation based on the configuration item data type, wherein the operation is associated with the input. The method also includes performing the operation. In one embodiment the apparatus includes a data types module to determine a data type, wherein the data type is associated with a set of configuration items, wherein each of the configuration items is represented in a markup language, and wherein the configuration items correspond to configuration data stored in an operation support system. The apparatus also includes a system controller module to receive the data type from the data types module, wherein the system controller module is adapted to select an operation based on the data type, and wherein the system controller is adapted to perform the operation. BRIEF DESCRIPTION OF THE FIGURES The present invention is illustrated by way of example and not limitation in the Figures of the accompanying drawings in which: Figure 1 illustrates an exemplary computer system used in conjunction with certain embodiments of the invention; Figure.2 is a block diagram illustrating: a configuration management system, according to exemplary embodiments of the invention; Figure 3 illustrates a configuration tools interface unit, according to exemplary embodiments of the invention; Figure 4 is a screenshot of one view of the graphical user interface, according to exemplary embodiments of the invention; Figure 5A is a flow diagram illustrating operations for presenting graphical user interface components and processing user selections, according to exemplary embodiments of the invention; Figure 5B is a flow diagram illustrating additional operations (the flow diagram continues from the flow of Figure 5 A) for presenting graphical user interface components and processing user selections, according to exemplary embodiments of the invention; Figure 6 is a flow diagram illustrating operations (the flow diagram continues from the flow of Figure 5A) for determining data types associated with configuration items, according to exemplary embodiments of the invention; Figure 7 is a screenshot of a graphical user interface used in conjunction with a configurable interactive utility, according to exemplary embodiments of the invention; Figure 8 is a flow diagram illustrating operations for creating and/or modifying configuration items with an interactive utility, according to exemplary embodiments of the invention; Figure 9 is a screen shot screenshot of a graphical user interface used in conjunction with a configurable interactive utility, according to exemplary embodiments of the invention; Figured 10 is a flow diagram illustrating operations for modifying configuration item attributes using property sheets, according to exemplary embodiments of the invention; Figure 11 is a flow diagram illustrating operations for implementing a product catalog, according to exemplary embodiments of the invention; _ Figure 12 is a flow diagram illustrating operations, forjsearching for values within a configuration item, according to exemplary embodiments of the invention; Figure 13 is a flow diagram illustrating operations for grouping configuration items, according to exemplary vitamins of the invention; and Figure 14 is a flow diagram illustrating operations for implementing a taskbar, according to exemplary embodiments of the invention.
DESCRIPTION OF THE EMBODIMENTS Systems and methods for configuring a graphical user interface based on data type are described herein. In the following description, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known circuits, structures and techniques have not been shown in detail in order not to obscure the understanding of this description. Note that in this description, references to "one embodiment" or "an embodiment" mean that the feature being referred to is included in at least one embodiment of the invention. Further, separate references to "one embodiment" in this description do not necessarily refer to the same embodiment; however, neither are such embodiments mutually exclusive, unless so stated and except as will be readily apparent to those of ordinary skill in the art. Thus, the present invention can include any variety of combinations and/or integrations of the embodiments described herein. Moreover, in this description, the phrase "exemplary embodiment" means that the embodiment being referred to serves as an example or illustration. Herein, block diagrams illustrate exemplary embodiments of the invention. Also herein, flow diagrams illustrate operations of the exemplary embodiments of the invention. The operations of the flow diagrams will be described with reference to the exemplary embodiments shown in the block diagrams. However, it should be understood that the operations of the flow diagrams could be performed by embodiments of the invention other than those discussed with reference to the block diagrams, and embodiments discussed with references to the block diagrams could perform operations different than those discussed with reference to the flow diagrams. Moreover, it should be understood that although the flow diagrams depict serial operations, certain .embodiments could perform certain of those operations in parallel. This description of the embodiments is divided into three sections. ' In the first section, an exemplary computer system and operating environment is described. In the- second section, a system level overview is presented. In the third section, an exemplary implementation is described.
Hardware and Operating Environment This section provides an overview of the exemplary hardware and the operating environment in which embodiments of the invention can be practiced. Figure 1 illustrates an exemplary computer system used in conjunction with certain embodiments of the invention. As illustrated in Figure 1, computer system 100 comprises processor(s) 102. The computer system 100 also includes a memory unit 130, processor bus 122, and Input/Output controller hub (ICH) 124. The processors) 102, memory unit 130, and ICH 124 are coupled to the processor bus 122. The processors) 102 may comprise any suitable processor architecture. The computer system 100 may comprise one, two, three, or more processors, any of which may execute a set of instructions in accordance with embodiments of the present invention. The memory unit 130 includes a configuration tools interface, which is described in greater detail below (see Figures 2 and 3). The memory unit 130 stores data and/or instructions, and may comprise any suitable memory, such as a dynamic random access memory (DRAM), for example. The computer system 100 also includes IDE drive(s) 108 and/or other suitable storage devices. A graphics controller 104 controls the display of information on a display device 106, according to embodiments of the invention. The input/output controller hub (ICH) 124 provides an interface to I/O devices or peripheral components for the computer system 100. The ICH 124 may comprise any suitable interface controller to provide for any suitable communication link to the processor(s) 102, memory unit 130 and/or to any suitable device or component in communication with the ICH 124. For one embodiment of the invention, the ICH 124 provides suitable arbitration and buffering for each interface. For one embodiment of the invention, the ICH 124 provides an interface to one or more suitable integrated drive electronics (IDE) drives 108, such as a hard disk drive (HDD) or compact disc read only memory (CD ROM), drive, or to suitable universal., serial bus ,(USB) devices through one or more USB ports 110. For one embodiment, the ICH 124 also provides an interface to a keyboard 112, a mouse 114, a CD-ROM drive 118, one or more, suitable devices through one or more firewire ports 116. For one embodiment of the invention, the ICH 124 also provides a network interface 120 though which the computer system 100 can communicate with other computers and/or devices. In one embodiment, the computer system 100 includes a machine-readable medium that stores a set of instructions (e.g., software) embodying any one, or all, of the methodologies for configuring a graphical user interface based on data type described herein. Furthermore, software can reside, completely or at least partially, within memory unit 130 and/or within the processors) 102.
System Level Overview This section provides a system level overview of exemplary embodiments of the invention. Figure 2 shows a block diagram of a system for scheduling I/O requests. Operations of the functional units of Figure 2 are described in the following sections. Figure 2 is a block diagram illustrating a configuration management system, according to exemplary embodiments of the invention. As shown in Figure 2, the • configuration management system 200 includes an Extensible Markup Language (XML) repository (shown as XML repository 202), which includes an XML schemata 204 for configuration and XML file-based representation of configuration 206. In one embodiment, configuration is a set of one or more configuration items. In one embodiment, configuration items are data that change the operations or behavior of the one or more components of the configuration management system 200. In an alternative embodiment, the configuration items are represented in any suitable fashion (e.g., the configuration items can be represented any suitable markup language). The XML repository 202 is connected to version confrol tools 208, configuration tools user interface 210, and additional tools and scripts for manipulating configuration 212. The configuration tools user interface 210 is connected to the version confrol tools 208, a version confrol server 214, and a configuration server 216. The version confrol tools 208 is connected with the version confrol server 214, which is connected to a version control .repository 212.-The configuration server 216 s connected. to a configuration server database 224, a convergent billing unit 218, and a customer management unit 226. The convergent billing unit 218 is connected to a convergent billing database 220, while the customer management unit 226 is connected to a customer management database 228. According to embodiments of the invention, the configuration server 216 can be connected to additional components, such as a provisioning management unit and a provisioning management database. In one embodiment, the additional components can be added after the configuration management system 200 has been deployed in the field. In the convergent management system 200, the version confrol tools 208, version confrol server 214, and version confrol repository 212 are used for tracking version information associated with configuration stored in the system's various storage units (e.g., the XML repository 202, convergent billing database 220, customer management database 228, etc.). These components include basic tools for committing changes to configuration, viewing differences between configuration versions, and grouping configuration items based on version. In the configuration management system 200, low-level representations of configuration are stored in the convergent billing database 220 and the customer management database 228. In one embodiment, low-level configuration representations include relational database representations of the configuration. However, other embodiments call of other suitable low-level persistent representations of the configuration. The configuration server 224 and the XML repository 202 store high-level representations (also referred to as file-based representations) of the configuration. The high-level representations of the configuration can be used for querying and updating configuration stored in the various databases (e.g., the convergent billing database 220 and the customer management database 228), as described in greater detail below (see exemplary implementation section). In one embodiment of the invention, the high-level representations of the configuration include XML representations of configuration. In alternative embodiments, the high-level representations include other suitable representations of the configuration (e.g., other markup language representations of the configuration). The XML schemata 204 define the structure and content of the high-level configuration representation._ _ ariσus components of the configuration management' ' system 200 (e.g., the configuration tools user interface 210) use information contained within the XML schemata 204 when reading and processing configuration. For example, the configuration tools user interface unit 210 uses the XML schemata 204 and the XML ( file-based representation of configuration 206 for processing configuration. Additionally, the configuration tools user interface unit 210 presents various user interface components based on the XML schemata 204 and the high-level representations of configuration, as described in greater detail throughout this description. In one embodiment of the invention, the convergent billing unit 218 and the convergent billing database 220 store and process configuration used in executing a convergent billing system. The customer management unit 226 and the customer management database 228 store and process configuration used in executing a customer management system. In one embodiment, the configuration management system 200 includes an operations support system (OSS). In one embodiment, an operations support system generally refers to a system for performing management, inventory, engineering, planning, and repair functions for communications service providers and their networks. Figure 3 illustrates a configuration tools interface unit, according to exemplary embodiments of the invention. As shown in Figure 3, the configuration tools interface unit 210 includes a system controller module 308. The system confroller module 308 is connected to a configurable interactive utility module 302, configurable search module 304, taskbar module 310, property sheet module 316, a product catalog data types module 314, configuration grouping module 312, and a data types module 306. Operations for each of the components shown in Figure 3 will be described in greater detail below, in the next section. In one embodiment, the configuration tools interface unit 210 is included within the computer system 100. Furthermore, the computer system 100 includes or is communicatively coupled with (directly or indirectly) other components of the configuration management system 200. According to embodiments of the invention, the components (e.g., the system controller module 308, data types module 306, etc.) of the configuration tools interface unit 210 can be integrated or divided, forming a lesser or greater number of components. According to embodiments, the components can include queues, stacks, and/or other data sfructures necessary for performing the ^_runctionality described herein. Moreover, the components units can be logically/communicatively coupled using any suitable communication method (message passing, parameter passing, signals, etc.). Additionally, the components can be connected according to any suitable interconnection architecture (fully connected, hypercube, etc.). Any of the components used in conjunction with embodiments of the invention can include machine-readable media for performing operations described herein. Machine-readable media includes any mechanism that provides (i.e., stores and/or transmits) information in a form readable by a machine (e.g., a computer). For example, a machine-readable medium includes read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, electrical, optical, acoustical or other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.), etc. According to embodiments of the invention, the functional units can be other types of logic (e.g., digital logic) for executing the operations for configuring a graphical user interface (GUI) described herein.
Exemplary Implementation This section describes an exemplary implementation of the invention. In this section, Figures 4-14 will be presented. In particular, Figure 4 shows a screenshot of a GUI, while Figures 5-6 describe operations performed by the configuration tools interface unit 210 for presenting components of the GUI. Similarly, Figures 7-14 include additional screen shots and operations for presenting components of the GUI. Figure 4 is a screenshot of the graphical user interface presented by the graphical tools user interface unit, according to exemplary embodiments of the invention. As shown in Figure 4, the screenshot includes a set of GUI components 400. The GUI components 400 include a title bar 402, which is located at the top edge of the GUI components 400. The title bar 402 displays an application program name and other application program information. The title bar 402 also includes minimize, maximize, and exit buttons, which are displayed in the upper right corner of the GUI components 400. The GUI components 400 also include a menu bar 402 for displaying names of the available menus. Additionally, the GUI components 400 include system icons 418, toolbars 408, status bar 404, and taskbar 416. The GUI components 400 also include a hierarchy window 412, which displays a hierarchical view of various configuration items stored within the configuration management system 200. The hierarchy window 412 includes configuration item icons 420. A source editor window 414 is shown adjacent to the hierarchy window 412, while a taskbar 416 a shown adj acent to the source editor window 414. While Figure 4 describes a screenshot presented by the configuration tools interface unit 210, Figures 5 A and 5B describe operations performed by the graphical tools user interface unit 210. Some of the operations described in Figures 5A and 5B are performed in the course of presenting the GUI components 400, whereas others of the operations are for processing other GUI-related information. In performing these operations, the system confroller module 308 interacts with other modules of the configuration tools interface unit 210. That is, the system confroller module 308 requests and receives information from the other configuration tools interface unit modules. Figure 5A is a flow diagram illustrating operations for presenting graphical user interface components and processing user selections, according to exemplary embodiments of the invention. The flow diagram 500A will be described with reference to the exemplary configuration tools interface unit 210 of Figure 3 and the screenshot of Figure 4. The flow 500 begins at block 502. At block 502, system icons are presented. For example, the system controller module 308 presents system icons 418. In one embodiment, the system icons 418 include drop-down menus for performing system-supported operations, such as opening files, searching text, etc. The flow continues at block 504. At block 504, configuration icons are requested and received. For example, the system confroller module 308 requests and receives configuration item icons from the data types module 306. In one embodiment, the configuration icons graphically represent configuration items. In one embodiment, prior to executing the system confroller module 308, a user selects a set of configuration items to display. For example, a user selects certain configuration repositories to display (e.g., the configuration server database 224). Operations of the data types module 306 will be described in greater detail below, in the discussion ofFigure 6:. The flow continues at block 506. '- At block 506, configuration item icons are presented! For example, the system confroller module 308 presents the configuration item icons as part of its GUI. In Figure 4, the configuration item icons 420 appear in the hierarchy window 4-12. The flow continues at block 508. At block 508, icons for the taskbar are requested and received. For example, the system confroller module 308 requests and receives taskbar icons from the taskbar module 310. The flow continues at block 510. As shown in block 510, the taskbar icons are presented. For example, the system confroller module 308 presents the taskbar icons. As shown in Figure 4, the taskbar icons appear on the right side of the GUI components 400. The flow continues at block 512. At block 512, a user selection is received. For example, the system confroller module 308 receives a user selection. In one embodiment, the user selection is represented by a mouse click associated with one of the GUI components 400 (e.g., configuration item icons 420, taskbar 416, etc. ). More specifically, the user selection can be represented a right mouse click, left mouse click, or double left mouse click associated with one of the GUI components 400. In alternative embodiments, the user selection can be represented by any other suitable I/O device input (e.g., touchscreen input, frackball input, voice-recognition software input, etc.). The process continues at block 514. As shown in block 514, it is determined whether one or more configuration items in the repository hierarchy have been selected. For example, the system confroller module 308 determines whether one or more of the configuration item icons 420 have been selected. That is, the system controller module 308 determines whether a user has performed a mouse click on one or more of the configuration item icons 420. If one or more configuration items of the repository hierarchy have been selected, the flow continues at "A". Otherwise, the flow continues at block 516. At block 516, it is determined whether an item in the taskbar has been selected. For example, the system controller module determines whether one of the taskbar items has been selected. In one embodiment, the system controller module 308 determines whether the user has performed a mouse click on one or more of the taskbar icons 416. If a. taskbar item ha not been selected, .the flow continues at block 518. -Otherwise, the flow continues at block 520. As shown in block 520, it is requested that a task associated with the selected , taskbar-item be performed. For example, the system controller module 308 requests that the taskbar module 310 performed the task associated with the selected taskbar item. From block 520, the flow ends. At block 518, operations associated with the selected system icon are performed.' For example, the system controller module 308 performed operations associated with the selected system icon. For example, the system confroller module 308 performes operations associated with saving files, searching text, etc. From block 518, the flow ends. Figure 5B is a flow diagram illustrating additional operations (the flow diagram continues from the flow of Figure 5 A) for presenting graphical user interface components and processing user selections, according to exemplary embodiments of the invention. The flow diagram 500B will be described with reference to the exemplary configuration tools interface unit 210 of Figure 3 and the screenshot of Figure 4. The flow 500B flows from "A" to block 522. At block 522, it is determined whether the user selection requests a menu. For example, the system controller module 308 determines whether the user selection requests a menu. In one embodiment, the system confroller module 308 determines whether the user selection requests a menu by determining whether the user selection is a right mouse click. If the user selection requests a menu, the process continues at block 524. Otherwise, the flow continues at block 548. At block 548, configuration items in the next hierarchy level are presented. For example, the system confroller module 308 presents configuration items of the next hierarchy level in the hierarchy window 412. In one embodiment, this operation is performed in response to receiving a left mouse click associated with a configuration item shown in the hierarchy window 412. In alternative embodiment, the system confroller module 308 performed this operation in response to other types of user input (e.g., input generated by a touchscreen, trackbal, etc.). From block 548, the flow ends. At block 524, menu items for the menu are requested and received. For example, .the,system confroller module 308 requests~and receives-menu items for the menu from the data types module 306. The data types module 306 returns menu items based on the data type of the one or more selected configuration items (see block 514 of Figure 5A). From block 524, the process continues at block 526. As shown in block 526, a menu that includes the menu items is presented. For example, the system confroller module 308 presents a menu that includes the menu items that were received from the data type module 306. In one embodiment, the menu items include a properties item, interactive, utility item, search item, catalog item, and references item. Alternative embodiments include other suitable menu items. The process continues at block 528. At block 528, a menu selection is received. For example, the system confroller module 308 receives a menu selection. In one embodiment, the menu selection is represented by a left mouse click. The process continues at block 530. As shown in block 530, it is deteπriined whether an interactive utility was selected. For example, the system confroller module 308 determines whether an interactive utility item was selected from the menu, which was presented at block 526. If an interactive utility was selected, the process continues at block 532. Otherwise, the process continues at block 536. At block 532, interactive utility identifiers are requested and received. For example, the system controller module 308 requests and received interactive utility identifiers from the data types module 306. In one embodiment, the interactive utility identifiers are identifiers that indicate one or more interactive utilities that are to be used with the menu selection. In one embodiment, the interactive utilities that are to be used are based on the data type associated with the selected configuration items. The flow continues at block 534. As shown in block 534, execution of the interactive utilities is requested. For example, the system controller module 308 requests that the configurable interactive utility module 302 execute the interactive utilities. From block 534, the flow ends. At block 536, it is determined whether a properties item is selected from the menu. For example, the system confroller module 308 determines whether a properties item was selected from the menu. If a properties item were selected, the process continues-at block 538. Qtherwise,'ihe process-continues at block 542. At block 538, a data type associated with the selected configuration item(s) is requested and received. For example, the system confroller module 308 requests a type associated with the selected configuration items from the data types module 306. The process continues at block 540. As shown in block 540, execution of the property sheet utility associated with the data type is requested. For example, the system controller module 308 requests that the property sheet module 316 execute the property sheet utility for the data type associated with the selected configuration item(s). From block 540, the flow ends. At block 542, a request is made for execution of operations associated with the menu selection. For example, the system confroller module 308 requests that another module of the configuration tools interface unit 210 execute operations associated with the menu selection. For example, the system confroller module 308 requests that the product catalog data types module 314 perform operations associated with a menu selection. That is, if a product catalog menu item is selected, the system confroller module 308 calls the product catalog data types module 314 to perform operations associated with the product catalog menu item. Similarly, the system confroller module 308 can call the configuration grouping module 312, configurable interactive utility module 302, data types module 306, etc. to perform operations associated with the menu selection. From block 542, the flow continues at block 544. As shown in block 544, it is determined whether additional operations are needed. For example, the system confroller module 308 determines whether additional modules should be called for performing operations associated with the menu selection. For example, if the data types module 306 were called to determine the data type associated with a selected configuration item, additional modules (e.g., configurable search module 304) could be called to perform operations based on the data type. If additional operations are needed, the process continues at block 542. Otherwise, the process continues at block 546. At block 546, data associated with the operations is presented. For example, the system controller 308 presents data associated with the operations performed by the various configuration tools interface unit modules. As a more specific example, the •system, confroller 308 presents the results- of search operations performed by the configurable search module 304. Alternatively, the results of operations performed by other modules could be presented. From block 546, the flow ends. In the following discussion of Figure 6.p©perations for determining a configuration item's data type will be described. Before discussing those operations, a brief description of data types will be given. In one embodiment of the invention, XML files define attributes of a data type. According to embodiments, the data type definition specifies the following: 1) a display name for the data type; 2) information for recognizing files of the data type, for example, the data type schema; 3) references applicable to the data type; 4) properties of the data type; and 5) properties of the references. According to embodiments, configuration tools interface unit modules use the data type definition for determining a data type associated with selected configuration items. In one embodiment, XPath expressions are used to determine data types. In one embodiment, XPath is a set of Syntax rules for defining different parts of an XML document. The primary purpose of XPath is to address parts of an XML document and to provide basic facilities for manipulating strings, numbers, and Boolean expressions. XPath is also designed so that it has a natural, subset that can be used for pattern matching. One example of an XPath expression is: /* [local -name ( ) = 'category' J /* [local - name ( ) = 'name' and string ( . ) = 'Small Business' ] This search will find all configuration items with the "category" element and the "name': element containing "Small Business". The foUowing XML code segment is an exemplary definition of the group data type. 5 Code Segment: 1 <?xml version="l .0" encoding="UTF-8"?> . 2 <dt :dataTyρe xmlns : dt= 3 "http: //www. adc . com/ConfigurationUI/ 4 DatatypeDefinition" 5 xmlns:xsi="http: //www. w3. org/2001/XMLSchema-instance" 6 xsi:schemaLocation= -7 "http: //ww . adc. com/Configurationϋl 8 /DatatypeDefinition 9 ' http://www.adc.com/schema/confui/
. 10 datatype . xsd"> .. _ . . , , . .. . .
""11 *<dt : displayNar e xml :lang="en">Group</dt"rdispTayName> 12 <dt : datatypeGroup x l : lang="en"> 13 Configuration Management 14 </dt : datatypeGroup> 15 <dt : schema> 16 http: //www. adc. com/conftool/group/vS .O 17 </dt : schema> 18 <dt : rootElement>group</d : rootElement> 19 <dt :matchXPath>
20 /ctDef ault : group [ @xsi: type= ' Group ' ]
21 </dt:matchXPath>
22 <dt :iconBase>
23 com/adc/confui/group/resources/GroupIcon
24 </dt:iconBase>
25 <dt:idXPath>@id</dt:idXPath>
26 <dt:linkType>
27 <d :dataTypeRef>any</dt :dataTypeRef>
28 <dt:elementName>member</dt:elementName>
29 <dt:xpath>
30 /ctDefault : group/ctDefaul :members/
31 ctDefault:member
32 </dt:xpath>
33 <dt:parentXpath>
34 /ctDefault:group/ctDefault:members
35 </dt:parentXpath>
36 <dt:propertySet name="Group Member">
37 <dt:proρerty>
38 <dt:xpath>@exportPriority</dt:xpath>
39 <dt:displayName>Export Priority</dt : displayName>
40 <dt : shortDescription>
41 ' For an exportable item, the priority of the item
42 during an export
43 </dt:shortDescription>
44 <dt:canEdit>true</dt: canEdit>
45 <dt:attributeName>
46 exportPriority 47 </dt:attributeName> 48 </dt:ρroperty> 49 </dt:propertySet> 50 </dt:linkType> 51 <dt:propertySet name="Properties"> 52 <dt:property> 53 <dt :xpath>ctDefault:name</dt : xpath> 54 <dt :displayName>Name</dt : displayName> 55 <dt:shortDescription> 56 Name of the group 57 </dt:shortDescriptior-> 58 <dt: javaDataType> 59 com.adc. confui . datatype . locale.Locale 60 </dt:javaDataType> 61 <dt : canEdit>true</dt: canEdit> 62 <dt : elementName>name</dt : elementName> 63 </dt:property> , 64 ' <dt :prop'erty> 65 <dt : path>ctDefault : description</dt :xpath> 66 <dt :displayName>Descriρtion</dt: displayName> ..67._ -<;dt.:.shortDescription>
" 68. "' Description for this group 69 </dt:shortDescription> 70 <dt:javaDataType> 71 ' com.adc. confui. datatype. locale. ocale 72 </dt:javaDataType> 73". • <dt : canEdit>true</d : canEdit> 74 <dt:previousSiblings> 75 <dt : eleιtιent>name</dt : element> 76 </dt :previousSiblings> 77 <dt : elementtsIame>description</d : elementName> 78 </dt:property> 79 ' <dt : roperty> 80 <dt : xpath>ctDefault : exportable</dt :xpath> 81 <dt : displayName>Exportable?</dt :displayName> 82 - <dt:shortDescription> 83 If true'v the contents of this group may be 84 exported 85 </dt:shortDescription> 86 <dt : javaDataType>boolean</dt : javaDataType> 87 <dt:canEdit>true</dt:canEdit> 88 </dt:property>
89 </dt :propertySet>
90 <dt:propertySet name="Attributes'^
91 <dt :property>
92 <dt :multiple>true</dt :multiple>
93 <dt : path>
94 /ctDefault : group/ctDefault : attributes/
95 ctDefault:attribute
96 </dt:xpath>
97 <dt : alueXpath> . </dt : valueXpath>
98 <dt : displayNameXpath>@name</dt- displayNameXpath>
99 <dt :shortDescription>Custom attribute for this00 group01 </dt:shortDescription>02 <dt : canEdit>true</dt : canEdit>03 </dt :property> 104 ' </dt:propertySet>
105 </dt : dataTyρe>
The exemplary code segment shown above is one example of a data type definition. According to embodiment of the invention, users can define any number of data types. Some other exemplary sample data types include (data type definitions for the following data types are not shown): 1) CBAccountType - this data type defines 5 account specifications to identify the type of account to which financial fransactions are to be applied; and 2) CB AddressFormat - this data type specifies the layout and style of address fields and defines a list of attribute types applied to those fields. Figure 6 is a flow diagram illustrating operations for determining data types associated with configuration items, according to exemplary embodiments of the„ 10 invention. The flow diagram 600 will be described with reference to the exemplary configuration tools interface unit 210 of Figure 3. The flow begins at block 602. At block 602, a request that includes a list of selected configuration itemsis received. For example, the data types module 306 receives a request that includes a list of selected configuration items from the system controller module 308. Additionally, the 15 request includes data types associated with the selected configuration items. The flow continues at block 604. At block 604, it is determined whether the request is a request for configuration item icons. For example, the data types module 306 determines whether the request is requesting configuration item icons. If configuration item icons are requested, the flow 20 continues at block 630. Otherwise, the flow continues at block 606. As shown in block 630, configuration item data types are determined. For example, the data types module 306 determines a data type associated with the selected , configuration items. In one embodiment, the data types module 306 inspects the high- level XML representation of the configuration items to determine their data type. In an 25 alternative embodiment, the data types module 306 determines a data type associated with the selected configuration items by inspecting low-level representations of the configuration items. From block 630, the flow continues at block 632. At block 632, based on the configuration item data types, configuration item icons are associated with the configuration items. For example, based on the configuration item data types, the data types module 306 associates icons with the configuration items. The process continues at block 634. As shown in block 634, a list of the configuration items and their associated icons is returned. For example, the data types module 306 returns a list of the configuration items and their associated icons to the system controller r odule 308. From block 634, the flow ends. At block 606, it is determined whether the request is a request for menu items. For example, the data types module 306 determines whether the request is a request for menu items. If the request is a request for menu items, the flow continues at block 608. Otherwise, the process continues at block 612. As shown in block 608, depending on the data type of the selected configuration item, actions are associated with the selected configuration item. For example, the data types module 306 associates a set of actions with the selected configuration item, depending on its data type. In one embodiment, the actions define operations that the modules of the configuration tools interface unit 210 perform on the selected configuration items. In one embodiment the modules perform the operations in response to receiving menu selections from a user interface. The flow continues at block 610. At block 610, the list of actions is returned as a list of menu items. For example, the data types module 306 returns a list of menu items to the system confroller module 308, where the list of menu items is based on the actions associated with these configuration items. From block 610, the flow ends. At block 612, it is determined whether the request is a request for an interactive utility. For example, the data types module 306 determines whether the request (received at block 602) is a request for an interactive utility. If the request is a request for an interactive utility, the process continues at block 614. Otherwise, the process continues at block 616. At block 614, an interactive utility identifier is determined and returned, where the interactive utility identifier is determined based on the data type associated with the selected configuration item. For example, the data types module 306 determines an interactive utility identifier based on the type of the selected configuration item. In one embodiment, the interactive utility identifier identifies an interactive utility that can be called an executed by the system confroller module 308 and the configurable interactive utility module 302. In one embodiment, the data types module 306 inspects the high- level XML representation of the configuration items to determine their data type. In an alternative embodiment, the data types module 306 determines data type by inspecting low-level representations of the configuration items. From block 614, the flow ends. As shown in block 616, it is determined whether the request is a request for a reference search. For example, the data types module 306 determines whether the request is a request for a reference search. If the request is a request for a reference search, the flow continues at block 618. Otherwise, the flow continues at block 620. At block 618, a list of configuration items that refer to the selected configuration items is determined and returned. For example, the data ypes module 306 determines and returns a list of configuration items that refer to the selected configuration item. In one embodiment, the data types module 306 inspects the configαration items of selected repositories and determines which of those configuration items refers to the selected configuration items. In one embodiment, the configuration items stored in the selected repositories are represented in XML. In one embodiment, the data types, module 306 compares the XML representation of the selected configuration item with the XML representation of other configuration items in the selected repositories. From block 618, the process ends. At block 620, it is determined whether the request is a request to return items of a specific type. If the request is a request to return items of a specific type, the process continues at block 622. Otherwise, the process continues at block 624. At block 622, a list of configuration items that are of the same data type as the selected configuration items is determined and returned. For example, the data types module 306 determines and returns a list of configuration items that are of the same data type as the selected configuration items. In one, embodiment, the data types module 306 determines this list by inspecting configuration items (which are represented in XML) of selected repositories. In one embodiment, the XML code representing the configuration items is stored in the XML repository 202, while in an alternative embodiment, the XML code is stored in the configuration server database 224. Based on the XML, the data types module 306 determines which of the configuration items stored in the selected repositories are of the same data type as the selected configuration item. From block 622, the flow ends. 5 At block 624, it is determined whether the request is a request to search for a . missing reference. If the request is a request to search for a missing reference, the process continues at block 626. Otherwise, the flow ends. As shown in block 626, a list of configuration items that contain missing references is determined and returned. For example, the data types module 306 10 determines and returns a list of configuration items that contain missing references. In one embodiment, the data types module 306 determines this list by inspecting configuration items (which are represented in XML) of selected repositories.' Based on the XML, the data types module 306 determines which of the configuration items contain missing references. In one embodiment, the XML representation of each configuration
15....„.i.tem contains a list of references to other configuration items. The data types module 306 searches for the configuration items recited in the reference list. If the referenced configuration items are not found, they are added to the list. From block 622, the flow ends. In the discussion of Figures 5A-6 above, operations for receiving user input and 0 calling different modules of the configuration tools interface unit 210 were described. Additionally, the discussion above described operations for determining parameters (e.g., menu items, interactive utility identifiers, etc.) based on a data type associated with a selected configuration item. The following discussion of Figures 7-14 will describe operations which are performed using the parameters determined in Figures 5A-6. For5 example, Figure 8 describes operations for executing an interactive utility associated with an interactive utility identifier. As another example, Figure 10 describes operations for presenting a property sheet based on the data type associated with a selected configuration item. Figure 7 is a screenshot of a graphical user interface used in conjunction with a0 configurable interactive utility, according to exemplary embodiments of the invention. Figure 7 shows two GUI windows 704 and 706. Each of the windows (704 and 706) include input fields 702 for receiving user input. In one embodiment, the user input includes text. In an alternative embodiment, the user input includes one or more selections from a drop-down menu. Operations performed by the interactive utility are described below, in the description of Figure 8. Figure 8 is a flow diagram illustrating operations for creating and/or modifying configuration items with an interactive utility, according to exemplary embodiments of the invention. The flow diagrams 800 will be described with reference to the exemplary embodiments of Figures 3, 5A, 5B, and 7. The flow commences at block 802. At block 802, a request to execute one or more interactive utilities is received. For example, the configurable interactive utility module 302 receives a request to execute one or more interactive utilities. In one embodiment, the request includes one or more fdehtϊfiers indicating on particular interactive utilities. The process continues at block 804. At block 804, a dialog box of the interactive utility is presented. For example, the configurable interactive utility module 302 presents a dialog box of the interactive utility.
In one embodiment, as shown in Figure 7, a dialog box is included in a window. In one embodiment, the dialog box includes input fields (for more details, see input fields 702 of Figure 7). The flow continues at block 806. As shown in block 806, input for a field of the dialog box is received. For example, the configurable interactive utility module 302 receives input in a field of the dialog box. In one embodiment, the input is text, while in an alternative embodiment, the input is one or more selections from a drop-down menu. In one embodiment, the input is associated with a value associated with a. configuration item. For example, numeric input received from a field can be associated with a configuration item's price value. Alternative embodiments call for other suitable forms of input and value. The flow continues at block 808. At block 808, it is determined whether the input for the field is valid. For example, the configurable interactive utility module 302 determines whether the input for an input field 720 is valid. In one embodiment, the interactive utility module 302 determines whether the input is within a range of acceptable values for an attribute associated with the field. For example, for a field associated with a time-of-day value, the input must be a valid time-of-day. If the input for the field is not valid, the process continues at block 806. Otherwise, the flow continues at block 810. As shown in block 810, it is determined whether there are more fields of the dialog box. For example, the configurable interactive utility module 302 determines whether there are more input fields 702 of the dialog box. If there are more fields of the dialog box, the process continues at block 806. Otherwise, the process continues at block 812. At block 812, it is determined whether the input for the dialog box is valid. For example, the configurable interactive utility module 302 determines whether the input for the dialog box is valid. If the input for the dialog box is valid, the flow continues at block 814. Otherwise the flow continues at block 806. As shown in block 814,- it is determined- whether there is another dialog box to - edit. For example, the configurable interactive module 302 determines whether there is another dialog box to edit. If there is another dialog box to edit, the process continues at block 804. Otherwise^ the process continues at block 816. At block 816, it is determined whether the input for the interactive utility is valid. For example, the configurable interactive utility module 302 determines whether the input for the interactive utility is valid. If the input is valid, the process continues at block 818. Otherwise, the process continues at block 804. According to alternative embodiments, the configurable interactive utility module 302 performs fewer validity checks. For example, one embodiment, the configurable interactive utility module 302 only determines whether the input for the entire dialog box is valid, thus it does not perform validity checks at the field and dialog box levels. As shown in block 818, the input is formatted. For example, the configurable interactive utility module 302 formats the input. In one embodiment, the configurable interactive utility module 302 formats the input so that it can be inserted into an XML representation of configuration items. For example, numeric input associated with a configuration item's price value is converted into a format suitable for insertion into an XML representation of the configuration item. The flow continues at block 820. At block 820, it is determined whether another interactive utility is to be executed.
For example, the configurable interactive utility module 302 determines whether another interactive utility is to be executed. If there is another interactive utility to be executed, the process continues at block 802. Otherwise, the process continues at block 822. At block 822, all formatted input is combined to create/modify a configuration item. For example, the configurable interactive utility module 302 combines all the ! formatted input (received from the input fields and/or dialog boxes) to create/modify a configuration item. The process continues at block 824. . As shown in block 824, the new/modified configuration item is saved and returned. For example, the configurable interactive utility module 302 saves the new/modified configuration item to its designated repository and returns the configuration item to the calling module (e.g., the system confroller module 308). In one embodiment, saving the configuration item includes inserting the combined formatted input into an XML representation of the.configύration ite and storing the configuration item in the appropriate repository. In one embodiment, the modified/new configuration item is saved in high-level and low-level representations. That is, for example, the modified/new configuration item is saved to the XML repository 202 and the convergent billing database 220. While Figures 7 and 8 describe a screen shot and operations for a configurable interactive utility module, Figures 9 and 10 describe a screen shot and operations for the property sheet module 316. Figure 9 is a screenshot of a graphical user interface used in conjunction with a property sheet, according to exemplary embodiments of the invention. As shown in Figure 9, the screen shot 900 includes a window 902. The window 902 includes a graphical view of configurable items 904, properties 906, and property values 908. In one embodiment, the configurable items 904 include configuration items. As shown in Figure 9, the properties 906 and property values 908 are represented in a grid. In the grid, the properties 906 appear in one column and the property values 908 appear in another column. In one embodiment, a user can modify the property values 908. For example, a user can change the property values 908 by inputting text and/or selecting menu options. In one embodiment, when a configurable item 904 is selected, the configurable item's properties 906 and property values 908 are shown in the grid. Operations for modifying properties and property values are described in greater detail below, in the discussion of Figure 10. Figured 10 is a flow diagram illustrating operations for modifying configuration item property values using property sheets, according to exemplary embodiments of the invention. The flow diagram 1000 will be described with reference to the exemplary embodiments shown in Figures 3 and 9.. The flow diagram 1000 commences at block 1002. At block 1002, an execution request that includes a list of selected configuration items is received. For example, the property sheet module 316 receives an execution requests that includes a list of selected configuration items from the system confroller module 308. The flow continues at block 1004. At block 1004, based'on the-coήfigufation items7 data type, a property sheet is selected and presented. For examplie, the property sheet module 316 selects a property sheet based on the selected configuration items' data type. The property sheet module 316 also presents the property sheet. In rare embodiment, the property sheet module 316 inspects the high-level XML representation of the configuration items to determine their data type. In an alternative embodiment, the property sheet module 316 determines data type by inspecting low-level representations of the configuration items. As shown in
Figure 9, a property sheet is a grid including properties 906 and property values 908. As noted above, users can modify the property values 908. The flow continues at block
1006. At block 1006, it is determined whether changes in the property sheet are received. For example, the property sheet module 316 determines whether it has received modifications to the property values of the property sheet. In one embodiment, the property sheet module 316 determines whether a user has modified any of the property values. If no changes are received, the process ends. Otherwise, the process continues at block 1008. As shown in block 1008, the properties of the selected configuration items are updated. For example, the property sheet module 316 updates the property values to reflect the received changes. In one embodiment, the property sheet module 316 updates the configuration items by modifying portions of the XML representation of the configuration items (stored in the XML repository 202). In an alternative embodiment, the property sheet module 316 updates the configuration items by modifying portions of the low-level representation of the configuration items (stored in the convergent billing database 220 or customer management database 228). From block 1008, the flow ends. In the following discussion of Figures 11-14, additional flow diagrams will be presented. In particular, Figure 11 describes operations for executing a product catalog, while Figure 12 describes operations for searching for configuration items that contain a particular value or regular expression. Additionally, Figure 13 describes operations for grouping configuration items.; and Figure 15 describes operations for implementing a taskbar. Figure 11 is a flow diagram illustrating operations for implementing a product catalogs according to exemplary embodiments of the invention-. The flow diagram 1100 will be described with reference to exemplary embodiments shown in Figure 3. The flow diagram 1100 commences at block 1102. At block 1102, a list of configuration items Of- a specific data type and a requests to launch a property sheet hierarchy view are received. For example, the product catalog data types module 314 receives a list of items of a specific data type. The product catalog data types module 314 also receives a request to launch a property sheet hierarchy view (see hierarchy window of Figure 4 for more details about the hierarchy view). The flow continues at block 1104. As shown in block 1104; the configuration items are presented in a hierarchy view. For example, the product catalog data types module 314 presents the configuration items in a hierarchy view. In one embodiment, the hierarchy view is shown in the hierarchy window 412 of Figure 4. The flow continues at block 1106. As shown in block 1106, a configuration item selection is received. For example, the product catalog data types module 314 receives a configuration item selection. In one embodiment, a configuration item selection is received when a user selects (e.g., using a mouse) a configuration item shown in the hierarchy view. The flow continues at block 1108. As shown in block 1108, based on the configuration item data type, the property sheet is presented. For example, the product catalog data types module 314 presents a property sheet based on the data type associated with the selected configuration item. As described above, in one embodiment, the property sheet includes properties and property values. The property values can be modified by a user (see the description of property sheets above). Because the property sheet is based on the data type associated with the selected configuration item, the product catalog data types module 314 can present different property sheets for different data types. The process continues at block 1110. At block 1110, is determined whether changes in the property sheet have been received. For example, the product catalog data types module 314 determines whether it has received modifications to the property values of the property sheet. In one embodiment, the product catalog data types module 314 determines whether a user has modified any of the property values through a GUI. If no changes are received, the . process ends.. Otherwise, the process continues at bloek-1112r As shown in block 1112, the properties of the selected configuration items are updated. For example, the product catalog module 314 updates the property values to reflect the received changes. In one embodiment, theproduct eatalog module 314 updates the configuration items by modifying portions of the XML representation of the configuration items (stored in the XML repository 202). In an alternative embodiment, the product catalog module 314 updates the .configuration items by modifying portions of the low-level representation of the configuration items (stored in the convergent billing database 220 or customer management database 228). From block 1112, the flow ends. Figure 12 is a flow diagram illustrating operations for searching for values within a configuration item, according to exemplary embodiments of the invention. The flow diagram 1200 will be described with reference to the exemplary embodiments shown in Figures 3 and 4. The flow diagram 1200 commences at block 1202. At block 1202, a request to search for configuration items that contain a specific value or regular expression is received. For example, the configurable search module 304 receives a request to search for configuration items that contain a specific value or regular expression. In one embodiment, a regular expression is a set of characters that is defined by a set of symbols and rules. In one embodiment the specific value is a property value, as described above. The flow continues at block 1204. At block 1204, a list of the configuration items that contain a specific value or regular depression is determined and returned. For example, the configurable search module 304 determines and returns a list of configuration items that contain a specific value or regular expression. In one embodiment, the configurable search module 304 searches through the configuration stored in selected repositories for configuration items containing a specific value or regular expression. For example, the configurable search module 304 searches through configuration items stored in the XML repository 202 for ones containing a specific value or regular expression. Alternatively, the configurable search module 304 searches through multiple repositories (e.g., the configuration server database 220, convergent billing database 224, and the customer management database 228) for configuration items containing a specific value or regular expression. From block 1204, the flow-endsr Figure 13 is a flow diagram illustrating operations for grouping configuration items, according to exemplary vitamins of the invention. Flow diagram 1300 will be described with reference to the exemplary embodiments of Figures 2 and 3. The flow diagram 1300 commences at block 1302. At block 1302, an execution request is received. For example, configurable grouping module 312 receives and execution request: The process continues at block 1304. As shown block 1304, it ϊs determined whether the request is a request to return a group of configuration items. For example, the configurable grouping module 312 determines whether the request is a request to return a group of configuration items. If the request is to return a group of configuration items, the process continues at block 1306. Otherwise, the process continues at block 1308. At block 1306, a list of all configuration items in the selected group is determined and returned. For example, the configurable grouping module 312 determines and returns a list of configuration items in the selected group. In one embodiment, the selected group is a data type. In one embodiment, the configuration grouping module 312 inspects XML representations of the configuration items to determine their data type. From block 1306, the flow ends." At block 1308, it is determined whether the request is a request to return configuration items referenced by group. For example, the configurable grouping module 312 determines whether the request is a request to return configuration items referenced by group. In one embodiment, the group includes a number of selected configuration items. If the request is a request to return configuration items referenced by group, the process continues at block 1310. Otherwise, the process continues at block 1312. At block 1310, a list of all configuration items referenced by the group is determined and presented. For example, the configuration grouping module 312: determines and presents of a list of all configuration items referenced by the group. In one embodiment, the configuration grouping module 312 inspects XML representations . of the configuration items to determine whether they reference other configuration items." From block 1310, the flow ends. At block 1312, it is determined whether a request is requesting to add or remove configuration items from a group. For example, the configuration grouping module 312 determines whether a request is requesting to add or remove configuration items from a group. If the request is requesting to add or remove configuration items from a group, the process continues at blσck 1314. Otherwise, the process continues at block 1316. As shown block 1314, selected configuration items are added or remove from the group. For example, the configuration grouping module 312 adds or removes selected configuration items to/from the group. In one embodiment, when configuration items are added or removed from a group, the group is graphically presented with the configuration items added or removed. In one embodiment, when configuration items are added to a group, the configuration grouping module 312 modifies high-level and/or low-level representations of the configuration items to indicate new group associations. From block 1314, the flow ends. At block 1316, is determined whether the request is to create a group. For example, the configuration grouping module 312 determines whether the request is to create a group. If the request is to create a group, the process continues at block 1318. Otherwise, the process continues at block 1320. At block 1318, the selected group is created and presented. For example, the configuration grouping module 312 creates and presents the selected group. In one embodiment, the configuration grouping module 312 creates groups by modifying XML code representations of the configuration items to indicate group association. After creating the group, the configuration grouping module 312 graphically presents the group. From block 1318, the flow ends. At block 1320, is determined whether the request is a request to find groups containing specific data. For example, configuration grouping module 312 determines whether the request is a request to find groups containing specific data. In one embodiment, the specific data includes alphanumeric symbols. In an alternative embodiment, the specific data includes binary data. If the request is a request to find groups containing specifiG-datarthe flow continues at block 1322. Otherwise, the flow ' ends. At block 1322, a list of the groups containing the specified data are determined and presented. For example, thexonfiguration grouping module 312 determines a list of groups that contain specified data. In one embodiment, the configuration grouping module 312 searches through the XML representations of the group's configuration items to determine whether the configuration items contained specified data. From block 1322, the flow ends. Figure 14 is a flow diagram illustrating operations for implementing a taskbar, according to exemplary embodiments of the invention. The flow diagram 1400 will be described with reference to the exemplary embodiments shown in Figure 3. Flow diagram 1400 commences at block 1402. At block 1402, a request is received. For example, the taskbar module 310 receives a request. In one embodiment, the request includes a task selection. In one embodiment, the request is requesting a list of taskbar icons. The process continues at block 1404. As shown in block 1404, it is determined whether the request is requesting a list of taskbar icons. For example, the taskbar module 310 determines whether the request is requesting a list of taskbar icons. If the request is a request for taskbar icons, the process continues at block 1406. Otherwise, the process continues at block 1408. At block 1406, a list of taskbar icons is returned. For example, the taskbar module 310 returns a list of taskbar icons. From block 1406, the flow ends. At block 1408, a selected task is launched. For example, the taskbar module 310 launches a selected task. In one embodiment, the taskbar calls other modules of the configuration tool interface unit 210 to lunch and perform a selected task. From block 1408, the flow ends. Thus, a system and method for configuring a graphical user interface based on data type have been described. Although the present invention has been described with reference to specific exemplary embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded iri ilhtsfrative rather than a restrictive sense:

Claims

CLAIMS We claim:
1. A method comprising: receiving an input through a graphical user interface; determining a data type, wherein the data type is associated with a set of configuration items, wherein each of the configuration items is represented in a markup language, and wherein the configuration items correspond to configuration data stored in an operation support system; selecting an operation based on the configuration item data type, wherein the operation is associated with the input; and performing the operation.
2. The method of claim 1, wherein the each of the configuration items is stored in a separate configuration item file.
3. The method of claim 2, wherein the determining the data type is based on content of the at least one of the separate configuration item files, and wherein the determining is based on a markup language schema or an XPath expression.
4. The method of claim 1 , wherein the data type is associated with a data type definition, wherein the data type definition is one of a user-extendable set of data type definitions.
5. The method of claim 4, wherein the data type definition is represented in a markup language.
6. The method of claim 1 , wherein the operation is one of a user-extendable set of operations associated with the data type.
7. A method comprising: receiving a selection of a configuration item, wherein the configuration item is associated with a data type, and wherein the configuration item is represented in a markup language; selecting a first set of one or more operations from a second set of operations, wherein the selecting is based on the data type; presenting the first set of one or more operations; receiving a selection of an operation of the first set the one or more operations; and performing the operation.
8. . The method of claim 7, wherein the configuration item is stored in an operations support system.
9. The method of claim 7, wherein the each of the configuration items is stored in a separate configuration item file.
10. The method of claim 7, wherein the data type is associated with a data type definition, wherein the data type definition is one of a user-extendable set of data type definitions. •
11. The method of claim 10, wherein the data type definition is represented in a markup language.
12. The method of claim 7, wherein the first set of operations is a user-extendable set.
13. A method comprising: executing an interactive utility that is associated with a configuration item data type, wherein the executing includes, displaying a dialog box,, wherein the dialog box includes one or more input fields; receiving data in one or more of the inputs fields; and inserting the data into a markup language representation of a configuration item, wherein the configuration item is of the configuration item data type.
14. The method of claim 13, wherein the interactive utility is on of a user-extendable set of interactive utilities.
15. The method of claim 13, wherein the configuration item data type is associated with a plurality of interactive utilities.
16. A method comprising: determining a data type associated with one or more configuration items, wherem the one or more configuration items include a fist set of property values, and wherein the one or more configuration items are associated with configuration data stored in an operations support, system; determining a second set of properties, wherein ones of the second set of properties are associated with the data type, and wherein ones of the second set of properties correspond with ones of the first set of property values; presenting a property sheet, wherein the property sheet includes certain ones of the set of properties, and wherein the property sheet includes input fields associated with certain ones of the first set of property values; receiving data in the input fields; and modifying ones of the first set of property values based on the data.
17. The method of claim 16, wherein the second set of properties is a user-extendable set.
18. The method of claim 16, wherein the data type is associated with a data type definition, wherein the data type definition is one of a user-extendable set of data type definitions.
19. The method of claim 18, wherein the data type definition is represented in a markup language.
20. An apparatus comprising: a data types module to determine a data type, wherein the data type is associated with a set of configuration items, wherein each of the configuration items is represented in a markup language, and wherein the configuration items correspond to configuration data stored in an operation support system; a system confroller module to receive the data type from the data types module, wherein the system confroller module is adapted to select an operation based on the data type, and wherein the system confroller is adapted to perform the operation.
21. The apparatus of claim 20, wherein the each of the configuration items is stored in a separate configuration item file.
22. - The apparatus of claim 21, wherein the determination of the data type is basecfon content of the at least one of the separate configuration item files, and wherein the determination of the data type is based on a markup language schema or an XPath expression.-
23. The apparatus of claim 20, wherein the data type is associated with a data type . definition, wherein the data type definition is one of a user-extendable set of data type definitions.
24. The apparaus of claim 23, wherein the data type definition is represented in a Extensible Markup Language.
25. A machine-readable medium that provides instructions, which when executed by a machine, cause the machine to perform operations comprising: receiving an input through a graphical user interface; determining a data type, wherein the data type is associated with a set of configuration items, wherein each of the configuration items is represented in a markup language, and wherein the configuration items correspond to configuration data stored in an operation support system; selecting an operation based on the configuration item data type, wherein the operation is associated with the input; and performing the operation.
26. The machine-readable medium of claim 25, wherein the each of the configuration items is stored in a separate configuration item file.
27. The machine-readable medium of claim 26, wherein the deteriiώiing the data type is based on content of the at least one of the separate configuration item files, and wherein the determining is based on a markup language schema or an XPath expression.
28. The machine-readable medium of claim 25, wherein the data type is associated with a data type definition, wherein the data type definition is one of a user-extendable set of data type definitions:
29. The machine-readable medium of claim 28, wherein the data type definition is represented in a markup language.
30. The machine-readable medium of claim 25, wherein the operation is one of a user-extendable set of operations associated with the data type.
31. A machine-readable medium that provides instructions, which when executed by a machine, cause the machine to perform operations comprising: receiving a selection of a configuration item, wherein the configuration item is associated with a data type, and wherein the configuration item is represented in a markup language; selecting a first set of one or more operations from a second set of operations, wherein the selecting is based on the data type; presenting the first set of one or more operations; receiving a selection of an operation of the first set the one or more operations; and performing the operation.
32. The machine-readable medium of claim 31 , wherein the configuration item is stored in an operations support system.
33. The machine-readable medium of claim 31, wherein the each of the configuration items is stored in a separate configuration item file.
34. The machine-readable medium of claim 31 , wherein the data type is associated with a data type definition, wherein the data type definition is one of a user-extendable set of data type definitions.
35. The machine-readable medium of claim 34, wherein the data type defimtion is represented in a markup language.
36. The machine-readable medium of claim 31, wherein the first set of operations is a user-extendable set.
37. A machine-readable medium that provides instructions, which when executed by a machine, cause the machine to perform operations comprising: executing an interactive utility that is associated with a configuration item data type, wherein the executing includes, displaying a dialog box, wherein the dialog box includes one or more input fields; receiving data in one or more of the inputs fields; and inserting the data into a markup language representation of a configuration item, wherein the configuration item is of the configuration item data type.
38. The machine-readable medium of claim 37, wherein the interactive utility is on of a user-extendable set of interactive utilities.
39. The machine-readable medium of claim 37, wherein the configuration item data type is associated with a plurality of interactive utilities.
40. A machine-readable medium that provides instructions, which when executed by a machine, cause the machine to perform operations comprising: determining a data type associated with one or more configuration items, wherein the one or more configuration items include a fist set of attributes, and wherein the one or more configuration items are associated with configuration data stored in an operations support system; determining a second set of properties, wherein ones of the second set of properties are associated with the data type, and wherem ones of the second set of properties correspond with ones of the first set of attributes; presenting a property sheet, wherein the property sheet includes certain ones of the set of properties, and wherein the property sheet includes input fields associated with certain ones of the first set of attributes; receiving data in the input fields; and modifying ones of the first set of attributes based on the data.
41. The machine-readable medium of claim 40, wherein the second set of properties is a user-extendable set.
42. The machine-readable medium of claim 40, wherein the data type is associated with a data type definition, wherein the data type definition is one of a user-extendable set of data type definitions.
43. The machine-readable medium of claim 42, wherein the data type definition is represented in a markup language.
PCT/US2004/039082 2003-11-26 2004-11-19 System and method for configuring a graphical user interface based on data type WO2005054988A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP04811745A EP1706805A2 (en) 2003-11-26 2004-11-19 System and method for configuring a graphical user interface based on data type

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
US52533103P 2003-11-26 2003-11-26
US10/723,246 2003-11-26
US10/723,612 US20050114692A1 (en) 2003-11-26 2003-11-26 Systems, methods and software to configure and support a telecommunications system
US10/723,581 US20050114479A1 (en) 2003-11-26 2003-11-26 System and method for hierarchically representing configuration items
US10/723,246 US20050114642A1 (en) 2003-11-26 2003-11-26 System and method for managing OSS component configuration
US10/723,582 US20050114240A1 (en) 2003-11-26 2003-11-26 Bidirectional interfaces for configuring OSS components
US60/525,331 2003-11-26
US10/723,581 2003-11-26
US10/723,582 2003-11-26
US10/723,243 US20050114851A1 (en) 2003-11-26 2003-11-26 System and method for configuring a graphical user interface based on data type
US10/723,612 2003-11-26
US10/723,243 2003-11-26

Publications (2)

Publication Number Publication Date
WO2005054988A2 true WO2005054988A2 (en) 2005-06-16
WO2005054988A3 WO2005054988A3 (en) 2007-06-07

Family

ID=34658299

Family Applications (5)

Application Number Title Priority Date Filing Date
PCT/US2004/038763 WO2005055561A2 (en) 2003-11-26 2004-11-19 System and method for managing oss component configuration
PCT/US2004/038970 WO2005054987A2 (en) 2003-11-26 2004-11-19 Systems, methods and software to configure and support a telecommunications system
PCT/US2004/039082 WO2005054988A2 (en) 2003-11-26 2004-11-19 System and method for configuring a graphical user interface based on data type
PCT/US2004/039107 WO2005054989A2 (en) 2003-11-26 2004-11-19 Bidirectional interfaces for configuring oss components
PCT/US2004/038835 WO2005055491A2 (en) 2003-11-26 2004-11-19 System and method for hierarchically representing configuration items

Family Applications Before (2)

Application Number Title Priority Date Filing Date
PCT/US2004/038763 WO2005055561A2 (en) 2003-11-26 2004-11-19 System and method for managing oss component configuration
PCT/US2004/038970 WO2005054987A2 (en) 2003-11-26 2004-11-19 Systems, methods and software to configure and support a telecommunications system

Family Applications After (2)

Application Number Title Priority Date Filing Date
PCT/US2004/039107 WO2005054989A2 (en) 2003-11-26 2004-11-19 Bidirectional interfaces for configuring oss components
PCT/US2004/038835 WO2005055491A2 (en) 2003-11-26 2004-11-19 System and method for hierarchically representing configuration items

Country Status (2)

Country Link
EP (5) EP1687691A2 (en)
WO (5) WO2005055561A2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9603582D0 (en) 1996-02-20 1996-04-17 Hewlett Packard Co Method of accessing service resource items that are for use in a telecommunications system
US7240068B2 (en) * 2002-09-06 2007-07-03 Truetel Communications, Inc. Service logic execution environment (SLEE) that is running on a device, supporting a plurality of services and that is compliant with a telecommunications computing standard for SLEES
US7803203B2 (en) * 2005-09-26 2010-09-28 Cabot Microelectronics Corporation Compositions and methods for CMP of semiconductor materials
US9122719B2 (en) * 2006-04-28 2015-09-01 Bmc Software, Inc. Database application federation
US8238538B2 (en) 2009-05-28 2012-08-07 Comcast Cable Communications, Llc Stateful home phone service
US8671036B2 (en) * 2009-11-06 2014-03-11 Microsoft Corporation User interface for defining account dimension combinations
US11436197B2 (en) * 2020-07-29 2022-09-06 Zixcorp Systems, Inc. Asynchronous method for provisioning a service using file distribution technology
US11611473B2 (en) 2014-01-14 2023-03-21 Zixcorp Systems, Inc. Provisioning a service using file distribution technology
US9531589B2 (en) 2014-05-30 2016-12-27 Cisco Technology, Inc. Automating monitoring using configuration event triggers in a network environment
CN113656347B (en) * 2021-08-17 2023-12-05 成都统信软件技术有限公司 File directory export method, file directory import method and computing device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040194069A1 (en) * 2003-03-27 2004-09-30 Surasinghe Lakshitha C. System and method for dynamic business logic rule integration
US20040205562A1 (en) * 2001-12-27 2004-10-14 G.E. Information Services, Inc. System and method for transforming documents to and from an XML format
US20040221026A1 (en) * 2003-04-30 2004-11-04 Dorland Chia-Chu S. Method and system for managing a network

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5175800A (en) * 1987-03-23 1992-12-29 Case Group Plc Expert and data base system and method for communications network
US5103421A (en) * 1988-11-29 1992-04-07 Massachusetts Institute Of Technology Process and apparatus for designing a system made of components
US5579384A (en) * 1995-02-17 1996-11-26 Bellsouth Corporation Telecommunications network service central management system interfacing with protocol specific regional stations providing services to subscribers
US5805602A (en) * 1995-09-25 1998-09-08 Bell Atlantic Network Services, Inc. Network monitoring system for cell delay variation
US6154738A (en) * 1998-03-27 2000-11-28 Call; Charles Gainor Methods and apparatus for disseminating product information via the internet using universal product codes
US6772396B1 (en) * 1999-10-07 2004-08-03 Microsoft Corporation Content distribution system for network environments
US6449624B1 (en) * 1999-10-18 2002-09-10 Fisher-Rosemount Systems, Inc. Version control and audit trail in a process control system
US7150037B2 (en) * 2001-03-21 2006-12-12 Intelliden, Inc. Network configuration manager
US6889172B2 (en) * 2001-08-15 2005-05-03 National Instruments Corporation Network-based system for configuring a measurement system using software programs generated based on a user specification
US20030158919A1 (en) * 2002-02-20 2003-08-21 Sun Microsystems, Inc., A Delaware Corporation Method for deploying version control system server software having remote access capability
US7082460B2 (en) * 2002-04-19 2006-07-25 Axeda Corporation Configuring a network gateway
US20050089027A1 (en) * 2002-06-18 2005-04-28 Colton John R. Intelligent optical data switching system
US8073935B2 (en) * 2002-07-25 2011-12-06 Oracle America, Inc. Pluggable semantic verification and validation of configuration data
US7444376B2 (en) * 2003-05-22 2008-10-28 Hewlett-Packard Development Company, L.P. Techniques for creating an activation solution for providing commercial network services
US20050091346A1 (en) * 2003-10-23 2005-04-28 Brijesh Krishnaswami Settings management infrastructure

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205562A1 (en) * 2001-12-27 2004-10-14 G.E. Information Services, Inc. System and method for transforming documents to and from an XML format
US20040194069A1 (en) * 2003-03-27 2004-09-30 Surasinghe Lakshitha C. System and method for dynamic business logic rule integration
US20040221026A1 (en) * 2003-04-30 2004-11-04 Dorland Chia-Chu S. Method and system for managing a network

Also Published As

Publication number Publication date
EP1706805A2 (en) 2006-10-04
WO2005054988A3 (en) 2007-06-07
WO2005054989A3 (en) 2006-05-11
EP1687925A2 (en) 2006-08-09
WO2005055561A3 (en) 2006-03-09
WO2005054987A2 (en) 2005-06-16
EP1687731A2 (en) 2006-08-09
WO2005054987A3 (en) 2007-07-19
WO2005055491A3 (en) 2006-12-07
EP1716493A2 (en) 2006-11-02
WO2005055491A2 (en) 2005-06-16
EP1687691A2 (en) 2006-08-09
WO2005054989A2 (en) 2005-06-16
WO2005055561A2 (en) 2005-06-16

Similar Documents

Publication Publication Date Title
US11163542B2 (en) Dynamically generating and rendering user interfaces based on data models
US6944622B1 (en) User interface for automated project management
US8972872B2 (en) Building computing applications based upon metadata
US8954950B2 (en) Web portal application customization method and system using profiles
US7039875B2 (en) Computer user interfaces that are generated as needed
US7788584B2 (en) Computer-implemented method, system, and program product for hiding columns in an electronic table
US7043716B2 (en) System and method for multiple level architecture by use of abstract application notation
US7725501B1 (en) System and method for rapid database application deployment and use
CN1604031B (en) Methods and systems for creating user interface to applications using generic user interface templates
US20070220429A1 (en) Layered customization of a help user interface
US20050114479A1 (en) System and method for hierarchically representing configuration items
US20110016448A1 (en) System and method for rapid development of software applications
WO2011081776A1 (en) Specifying user interface elements
JP2016029558A (en) Method of developing application to be executed in workflow management system, and device for supporting creation of application to be executed in workflow management system
US20110246535A1 (en) Apparatus and Method for Constructing Data Applications in an Unstructured Data Environment
US20130238605A1 (en) System, method and computer program product for creating a visual component for tenants of an on-demand database service
CN110780953B (en) Combined computer application
CN117519698B (en) Online form generation method and system based on distributed architecture
WO2022182796A1 (en) System, method, and apparatus for publication and external interfacing for a unified document surface
EP1706805A2 (en) System and method for configuring a graphical user interface based on data type
US8943397B2 (en) Configurable column display of information at a web client
CA2686367A1 (en) Dynamic native editor code view facade
US20050114851A1 (en) System and method for configuring a graphical user interface based on data type
US20230418828A1 (en) System and method for creating a filtering protocol-compliant uniform resource locator
WO2008097423A2 (en) Method and apparatus for managing system specifications

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 2004811745

Country of ref document: EP

NENP Non-entry into the national phase in:

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWP Wipo information: published in national office

Ref document number: 2004811745

Country of ref document: EP