The invention relates to managing communications networks via a graphical user interface in a network management context provided by a network management system, and in particular to graphical user interface techniques for filtering, displaying, and exporting data regarding a large number of managed network entities with improved efficiency.
Network management systems are employed by network operators to commission, configure, interact with, and decommission field installed equipment.
An exemplary manner in which the network operators interact with field installed equipment, employs means provided by the filed installed equipment to interact therewith, wherein the field installed equipment itself, and its configurable subcomponents, whether physical or virtual, are modeled by the network management system and changes to the models or to the field installed equipment are synchronized therebetween.
Via the network management system, trained management operations and administration personnel interact with the modeled objects and configurations are made to modeled objects. Enabling technologies are employed by the network management system to synchronize the configuration of the modeled objects with the corresponding field installed equipment or subsystems thereof as the case may be. Virtual managed entities include, but are not limited to: network partitions 106, virtual routers, logical ports, logical interfaces, end-to-end data links, paths 128, virtual circuits, virtual paths, etc.; are non-tangible entities some having applicability to at least two field installed entities or subsystems thereof; are also modeled; and model instances are employed for each instance thereof. For the latter, the network management system configures and interacts with corresponding modeled objects while the enabling technologies are employed to configure interfaces on associated field installed equipment or subsystems thereof.
In the current competitive market place experiencing an explosive technological development, network management and service provisioning tasks are complicated by many factors including: multiple communications network equipment vendors having multiple approaches in implementing the communications network equipment; a multitude of data transport technologies, with each vendor specializing in a subgroup of the multitude of data transport technologies; a multitude of network management and service provisioning protocols, with each vendor implementing only a subgroup of the multitude of network management and service provisioning protocols; a multitude of auxiliary network management and service provisioning equipment employing yet another multitude of network management and service provisioning technologies; etc.
With regards to communications network equipment, for example switching nodes schematically shown in
It is a daunting task to provide network management and service provisioning solutions taking into account the permutations and combinations of the elements and technologies mentioned above. Ever-increasing numbers of types of managed objects and object instances themselves have introduced large and increasing management overheads for network operators whom are looking to improve efficiency in interacting with the managed objects. Exemplary interaction with managed objects includes, but is not limited to: listing, filtering, sorting, obtaining data about, and exporting data regarding objects. Such interactivity is frequently used by network operators and therefore in need for improvement.
Prior art approaches to providing network management and service provisioning solutions include the coding of an inordinate number of managed object specific graphical user interface windows addressing listing, filtering, sorting, etc. aspects in respect of each of the multitude of network entities. Coding, deploying, maintaining, and extending such software applications for network management and service provisioning has been and continues to be an enormous undertaking as well as an extremely complex one. Such software applications require a large number of man-hours to create, do not benefit from code reusability, frequently are delivered with numerous problems, and are difficult to modify and/or support. There is always a risk of causing errors in existing code when maintaining such software thereby requiring extensive regression testing to verify the integrity of the code deployed. Such large programming efforts suffer in terms of reasonable performance, reliability, cost of development, and reasonable development cycles. And, last but not least, employing such a multitude of windows also requires extensive operation management personnel training.
Currently network operators perform managed object listing by launching a new listing window in order to generate each new list type. Each graphical user interface window opened must be closed at a later time. Current means for getting from one such window of interest to another include minimizing all windows, expanding selective windows, and cascading windows. The proliferation of windows leads to decreased productivity as valuable time is spent on managing windows displayed on network management system graphical user interfaces.
As managed communications networks grow more complex, network operators are less and less able to identify managed entities of interest. Also, current implementations only allow a determination as to whether a particular listing functionality invoked is adequate after the listing functionality invoked completes.
Network operators are looking to improve network management and service provisioning productivity in interacting with the above mentioned managed objects taking into account the above mentioned network management and service provisioning complexities.
In accordance with an aspect of the invention, a generic graphical user interface for identifying a multitude of managed objects corresponding to a multitude of field installed managed entities of a communications network and for interacting therewith in a communications network management and service provisioning context brokered via a network management system is provided. The graphical user interface includes a context sensitive listing pane and a menu bar. The context sensitive listing pane for listing managed objects includes: target object specification means for specifying the scope of a list of managed objects to be obtained; a list type specifier for selecting a managed object type for the managed objects in the list to be obtained; a filter pane for optionally specifying filtering criteria for refining the list of managed objects to be obtained; listing functionality invocation means for obtaining the list of managed objects; and, a results pane for displaying the list of managed objects obtained from one of a managed object server and a network management database. The menu bar provides access to graphical user interface functionality, the menu bar including at least one context sensitive menu having at least one list-type-selection-specific menu item providing selective access to listed managed-object-specific functionality.
In accordance with another aspect of the invention, a method of identifying a multitude of managed objects corresponding to a multitude of field-installed managed entities of a communications network and for interacting therewith in a communications network management and service provisioning context brokered via a network management system via a generic graphical user interface to the network management system. The method includes: selecting a target managed object defining the scope of a list of managed objects to be obtained; determining a group managed object list types corresponding to the target managed object selection; selecting a managed object list type defining the type of managed objects to be listed; optionally specifying filter criteria for refining the list of managed objects to be obtained; displaying managed object list results obtained from one of a managed object server and a network management database; and providing selective access to listed managed-object-specific functionality via at least one menu item of a context sensitive menu of the generic graphical user interface.
Advantages are derived from an enhanced usability through contextual filtering and sorting capabilities and improved performance in manipulating large managed object lists, exporting list results, and an increase in the operator inefficiency through a reduction in operator window management.
The features and advantages of the invention will become more apparent from the following detailed description of the exemplary embodiment(s) with reference to the attached diagrams wherein:
It will be noted that in the attached diagrams like features bear similar labels.
In view of the above described inefficiencies, window management overhead reductions, improved context sensitive filtering flexibility, interruptible listing functionality, providing an ability to judge whether list/filtering is adequate, and improved context sensitive sorting flexibility would go a long way towards addressing current network operators' needs.
In accordance with a preferred embodiment of the invention, improvements are made to a graphical user interface listing window and the software application provisioning the improved graphical user interface listing window. The improved graphical user interface listing window presented, hereinafter the generic listing window for short, is used by operations management personnel as a client typically to a managed object server and/or a network management database, the managed object server executing managed object methods, the network management database storing managed object attributes. The features, contents, and operation of either the managed object server and/or the network management database are described elsewhere and are beyond the scope of the present description. Suffice it to say that the managed object server and/or the network management database respond to queries issued by the client application provisioning the improved graphical user interface listing window, hereinafter the generic listing application for short.
In accordance with the exemplary embodiment of the invention, the listing window is provided as a common graphical user interface for accessing listing functionality for multiple types of lists filtered based on a scalable set of filter options.
In accordance with the exemplary embodiment of the invention, the primary pane (400/500) of a generic listing window 400/500 includes: a menu bar 402, a list toolbar 404, a list pane 406, and a status bar 408. The tool bar 404 typically provides easy access to most used menu (402) items and may be selectively disabled.
In accordance with the exemplary embodiment of the invention, the list pane 406 can contain multiple tabbed list panes 406 residing within the same generic list window 400/500, each tabbed listing pane 406 relating to a different list. Tabbed listing panes 406 appear to share the same desktop space minimizing spawning multiple listing windows in perform multiple listing operations concurrently. With the positioning of the multitude of listing panes 406 restricted within the generic listing window 400/500, tabs 410 provide the means for switching between each one of the multitude of generic listing panes 406. Simultaneous display of multiple generic listing panes 406 is provided via the use of a split pane enabling adjustment of the relative size of list panes 406 via a draggable splitter bar 412.
A new tabbed list pane 406 is created via a “new tabbed list pane” menu (402) item or via a special purpose “new tabbed list pane” button 430 on the list toolbar 404. An existing tabbed list pane 406 is closed by interacting with a special purpose destructor widget 432 on the corresponding tab 410 thereof.
In accordance with an exemplary implementation of the exemplary embodiment of the invention, a “query-in-progress” icon 434 is displayed in the tab 410 of a tabbed list pane 406 during the period of time the corresponding list is being compiled (i.e. the client generic listing application 400/500 is querying the managed object server/network management database and/or as list results are being received). Without limiting the invention, an exemplary icon includes animated arrows appearing to move in circle. The display of the query-in-progress icon 434 provides a visual indication of a query in progress particularly in the case in which the corresponding tabbed list pane 406 is not visible.
Each list pane 406 includes: a target managed object selector 420, a list type selector 422, a filter pane 424/524, and a results pane 426. In accordance with an exemplary implementation of the exemplary embodiment of the invention, the list pane 406 further includes a range of objects pane 520 shown in
If a new generic listing window 400/500 is launched, with no managed object being selected in the network management and service provisioning context, all data entry fields of the generic listing window 400/500 will be empty, except perhaps the list type selector 422—in order to consolidate overall functionality, the list type selector 422 may contain options for list types which do not relate to managed objects such as, but not limited to: ongoing processes, saved templates, etc.
The target object selector 420 includes a paste-in button 421 and a read-only field displaying a human-readable managed object specification of the managed object defining the scope of the list. Making reference to the above mentioned exemplary ways in which the generic listing window 400/500 may be launched, whenever the generic listing window 400/500 is launched with a managed object selected in the network management and service provisioning context, the target object selector 420 is populated with the selected managed object human readable specification based on a corresponding managed object identifier and/or network management database identifier. The invention is not limited to invoking listing functionality on an elemental managed object—complex managed objects such as network partitions and equipment racks represent groupings of managed objects which can be pasted in the target object selector 420 at once via the specification/selection/pasting-in of the corresponding complex managed object.
In accordance with the exemplary embodiment of the invention, the list type selector 422 displays a currently active list type. The list type selector 422 includes a list type selection button 436 for accessing a context-sensitive menu containing a group of list types corresponding to the target managed object(s) selected in the target managed object selector 420. The list type selection menu may contain submenus and/or hierarchical menus employed for organizing list type options.
In accordance with an exemplary implementation of the exemplary embodiment of the invention, if the list type selection was made from a submenu, the level of the list type selection in the related menu hierarchy is displayed. For example
Simply put, the combination of the list type specification 422 and the target manage object specification 422 respectively specify what managed objects to look for and the scope of the search.
The filter pane 424/524 enables management operations personnel to specify filtering criteria to be used in filtering hits as list results are generated. In accordance with an exemplary implementation of the exemplary embodiment of the invention, the filtering criteria is provided to the managed object server/network management database performing the search such that all search and filtering functionality is performed at, and by, the managed object server/network management database thereby reducing overheads otherwise incurred in conveying unwanted search hits to the client generic listing application (400/500) and further reducing performance requirements of network management workstations executing client generic listing application code and displaying the generic listing window 400/500. The resource utilization reductions are particularly important as management operations personnel expects to consult a multitude of managed object lists (interact with multiple tabbed list panes 406) substantially at the same time.
In accordance with an exemplary implementation of the exemplary embodiment of the invention, the filter pane 524 (424), shown in more detail in
List results are displayed in the results pane 426. Result rows 480 in the results pane 426 display information about managed objects that match the listing criteria 422 subject to the filter criteria 424 within the context of the target managed object specification 420/520. In accordance with the exemplary embodiment of the invention, the group of displayable columns depends on the list type specification 422. After a list type 422 is selected 606, corresponding attribute columns are displayed in the results pane 426 in accordance with the list type selection 606.
In accordance with the exemplary embodiment of the invention, by default a default filter row 440/540 is provided in the filter pane 424. The attribute associated with the default filter row 440/450 is one of the set of attributes/options associated with the list type selection 606. The option/attribute field 442/542 of each filter row 440/530 for example contains a combo box with attribute/option selections to be associated therewith. Additional filtering criteria can be specified via additional filter rows 540/440. An additional filter row 440/540 can be added to the filter pane 424/524 by interacting with an add filter row button 448 after specifying the attribute on which the additional filtering is to be performed. Specifying the attribute on which the additional filtering is to be performed may include, but is not limited to, selecting a column header in the results pane 426. A filter row 540 can also be added by using an add filter row button 548 on a filter row 540 which adds another filter row 540 with the same option/attribute 542 as the filter row 540 whose add filter row button 548 was interacted with. A filter row 440/540 can be removed by clicking the remove filter row button 549 on the corresponding filter row 440/540. If all filter rows 440/540 are removed from the filter pane 424 a full listing of all managed objects specified by the list type 422 in the scope of the selected target managed object 420 is requested.
The number of hits can be limited by: activating filter rows 548, by specifying 550 either an exclusive or an inclusive relevance of attribute values, by specifying modifiers 444/544 and filter specifier 446/546 fields, etc.
In accordance with an exemplary implementation of the exemplary embodiment of the invention shown in
The selection/specification of an option/attribute in field 442/542 causes the corresponding default modifier 444/544 and filter specifier 546/446 fields to be displayed.
Each modifier field 544/444 contains a combo box with choices relating the option/attribute field 542/442 specification. Modifier field choices would typically include: “Equals”, “Is Not”, “Between”, “Greater Than”, “Less Than”, etc for an attribute specification having numeric values. For example, for a Name attribute 542 having sting values, the modifier field choices are “Is”, “Is Not”, “Starts With”, and “Contains”. The default modifier selection 544/444 would typically be “Is/Equals” or equivalent, the most common setting.
The filter specifier field 546/446 enables operations management personnel to specify filtering criteria which can include, without limiting the invention: attribute specifications, attribute values, etc. Means are provided for entering wild cards and value rangers in specifying filtering criteria.
If the case sensitive query button 456 is activated, all textual filter criteria are treated as case sensitive when generating managed object lists.
In accordance with the exemplary embodiment of the invention, means are provided for management of filtering information. Clicking on a filter template widget 452 shown in
In accordance with the exemplary embodiment of the invention, means are further provided for managing filter templates and in particular for populating a filter templates menu 454 with available filter templates corresponding to managed objects specified via the list type specification 422. Means are provided for saving the current filter criteria as a default filter for subsequent invocation of the current list type.
Once the filtering criteria have been specified, managed object lists can be created by interacting with menu items of a list menu of the generic listing window 400/500 or via corresponding list making buttons. Creating managed object lists includes a coordinated interaction between the client generic listing application (400/500) and the managed object server/network management database wherein messages and queries relating to list making criteria including: the target managed object specification 420, the list type specification 422, and the filtering criteria specified in the filter pane 424/524, are sent by the client generic listing application (400/500) along perhaps with an indication of the expected format of the results.
In accordance with an exemplary implementation of the exemplary embodiment of the invention shown in
The status bar 408 provides more detailed information regarding the status of the listing job for the “in-focus” tabbed list pane 406 than otherwise is displayed on the tabbed list pane tab 410. In accordance with an exemplary implementation of the exemplary embodiment of the invention, the status bar 408 includes: a hits count specifier 460, a progress bar 462, pagination controls 464, a date/time specifier 466, and a status specifier 468.
In accordance with the exemplary embodiment of the invention, interacting with any of the make list buttons 470/570, besides invoking managed object server/network management database searches for managed objects in accordance with list making criteria as described hereinabove, includes requesting a tally of the total number of hits to be sent in advance of sending the search results. The hits count specifier 460 displays the total number of hits providing an early assessment of the adequacy of the list. In looking for a (few) specific managed object(s), a hits count three magnitudes larger would perhaps imply that more filtering is needed and that perhaps the current job needs to be interrupted before a lot of resources are expended. The “stop list” button 472 is employed for this purpose. Alerts may be automatically provided if the results exceed a certain number selected to specify the largest reasonable number of results acceptable. In accordance with another implementation of the exemplary embodiment of the invention a “count” button 474 is provided for requesting the tally of the total number of managed objects matching the listing criteria without any of the results.
Having determined that the results are worth waiting for, the progress bar 462 provides a level of assurance that the results are being compiled.
When a “make paginated list” is invoked, for example by interacting with the “make paginated list” button 470, the pagination controls 464 provide means for selectively displaying paginated results. The pagination controls 464 provide for the selection of a particular results page of a predetermined number of results, for progressing to the next page, and respectively for retrogressing back to the previous page; each results page having an adjustable number of displayable results. The pagination controls 464 further display the range of results displayable on the current page. An “All” range specifies that all results, the total count of which is displayed via the hits count specifier 460, are being displayed. The “All” range is the default selection in interacting with the “make entire list” button 570, the “All” range representing a valid selection irrespective of which make list button 470/570 was interacted with.
The status specifier 468 provides feedback on the overall status of operations of the generic listing application 400/500 such as, but not limited to: processing state, details on the current selection, tool tips, etc.
The date & time specifier 466 displays a date & time stamp associated with the creation of the list containing the results. In view of the highly dynamic nature of communications networks, the association of the data/time stamp is a loose one as the expressible granularity of the date/time stamp value may be far greater than the length of time it would take for all results in the list to be compiled.
In displaying results in the results pane 426, a default subgroup of columns may be specified for display in respect of a given list type (422). Without limiting the invention thereto, each results column relates to an attribute of the managed objects listed (422). If additional filters are added, corresponding columns are added to the results table 426. The display of each column can be turned on or off, for example by interacting with a column chooser widget 482 activating a column chooser menu 484. The horizontal ordering of the columns can be rearranged by dragging a column header to its new position in the table.
Obtained results, and therefore listed managed objects, can be sorted by column heading (e.g. Name, Type, Status, etc.) for example by clicking on corresponding column headers. Clicking a second time reverses the sorting order for that column. An arrow icon is provided in the column header of each column, the arrow icon's orientation (pointing up or down) corresponds to the sort order, if any, as shown in
In accordance with the exemplary embodiment of the invention, multiple column sorting is provided, the sort precedence between columns being displayed in column headers as shown in
In accordance with an exemplary implementation of the exemplary embodiment of the invention shown in
Managed objects in the list are selectable by clicking on corresponding rows 480. In accordance with the exemplary embodiment of the invention, right clicking on a list result row item (or other equivalent interaction therewith) selects the list item and opens a contextual menu. The contextual menu (490) provides access to commands associated with the corresponding managed object type.
In accordance with another exemplary implementation of the exemplary embodiment of the invention, a contextual “Actions” menu 490 on the menu bar 402 is updated to provide access to actions for the managed objects corresponding to the list type selection 422. For example, “Connect” and “Disconnect” could appear as actions for a list of paths, but would not appear on a list of nodes.
In accordance with another exemplary implementation of the exemplary embodiment of the invention, a contextual actions tool box 492 displays action buttons corresponding to menu items of the actions menu 490. In
Each list type has specific actions that can be performed on the managed objects in the list results pane 426. The buttons of the actions tool box 492 are updated according to the list type either as soon as the list type is selected (422), as soon as the first result is displayed, or whenever a list item is selected. The action corresponding to each action button is performed when at least one object is selected, unless the action is an “All” action, such as the “Disconnect All” action. If no action exists for a given list type, the actions tool box 492 is empty.
Means are provided, in the network management and service provisioning context, for identifying selected managed objects in a map of the managed communications network, such as exemplary shown in
Means are provided for saving managed object lists in a file format enabling the loading thereof into the generic listing application (400/500). The saved results file may also specify listing criteria including: the target managed object specification (420), the list type specification (422), the filtering criteria (424/524), and the data & time specification 466. When a list file is loaded the creation date & time stamp specified is used to populate field 466.
Means are provided for exporting the search results into a number of file formats e.g. HTML, XML, text (tab, coma, space delimited) which can be used to import the managed object list results into other applications.
Means are provided for retaining a trace of lists generated. The list trace information relates to stored lists as well as to active in other tabbed list panes 406. A history button 484 is provided for invoking list trace functionality.
In accordance with the exemplary embodiment of the invention, for ease of use and greater operator efficiency, the display and operation of the list pane 406 changes dynamically with selection of the target object (420) and the list type (422). When the target object changes (420), the list type menu items (422) change to display the applicable list types. Additionally, the various elements of the list pane 406 are context sensitive, in particular managed object specific action buttons are provided in a contextual actions menu 490 and contextual tool box 492 providing access to managed object specific actions.
In accordance with the exemplary embodiment of the invention, a method 600 of identifying managed objects corresponding to field-installed managed entities of a communications network in a communications network management and service provisioning context brokered via a network management system via a generic graphical user interface to the network management system is shown in
A target managed object is selected 602 defining the scope of a list of managed objects to be obtained. A group managed object list types corresponding to the target managed object selection is determined 604. A managed object list type defining the type of managed objects to be listed is selected 606. Filter criteria for refining the list are optionally specified 608. Once managed object list results are obtained from either the managed object server and the network management database, the results are displayed 610 in the results pane 426. The context sensitive menu 490 of the generic graphical user interface 400/500 is populated 612 with listed managed-object-specific functionality menu items. Selective access is provided 614 to context sensitive menu items.
Advantages are derived from an enhanced usability through contextual filtering and sorting capabilities and improved performance in manipulating large managed object lists and exporting list results.
The embodiments presented are exemplary only and persons skilled in the art would appreciate that variations to the above described embodiments may be made without departing from the spirit of the invention. The scope of the invention is solely defined by the appended claims.