Abstract:
A user interface for managing connections across multiple cross connects of a communication network. The user interface provides for creating, viewing and removing connections in the cross connect. The user interface displays the relative position of cross connects along the communication network. Time slots for communicating ports are adjacently displayed so that mis-configured connections may be easily recognized.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of Invention  
           [0002]    The invention relates generally to user interfaces and in particular to a user interface for interacting with a network cross connect.  
           [0003]    2. Description of Related Art  
           [0004]    Optical communication networks utilize a variety of network elements to transmit information from sender to receiver. One such network element is a cross connect which essentially serves as a switch for establishing paths along the network. Through a user interface, the cross connect allows a user to create connections, analyze connections and remove connections.  
           [0005]    Many communication networks carry time divisions multiplexed (TDM) signals in which signals are assigned to one or more time slots. Exemplary TDM transmission formations include SONET and SDH. In TDM transmissions, in order for a signal to be communicated between two network elements, both network elements must have the same time slots allocated for this signal. By contrast, within a network element, time slot interchange may occur between ports such that the time slots allocated to the signal change within a network element.  
           [0006]    The need for consistent time slot allocation between network elements causes difficulties in establishing or troubleshooting connections. To provision a connection around a ring of four network elements, for example, the operator needs to know the order of the network elements in the ring and the time slots to be associated with the connection at each network element. Given current data rates at the OC-192 level and higher, this translates into managing 192 time slots or more across four network elements, with the possible inclusion of time slot interchange within one or more network elements. This high number of time slots makes it burdensome to create, remove, troubleshoot and otherwise manage connections that extend along multiple cross connects. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0007]    Embodiments of the present invention will become more fully understood from the detailed description given hereinbelow and the accompanying drawings which are given by way of illustration only, and thus are not limitative of the present invention, and wherein:  
         [0008]    [0008]FIG. 1 is a block diagram of an exemplary communication network;  
         [0009]    [0009]FIG. 2 depicts an exemplary user interface illustrating correct connections between network elements;  
         [0010]    [0010]FIG. 3 depicts an exemplary user interface illustrating incorrect connections between network elements;  
         [0011]    [0011]FIG. 4 is a flowchart of an exemplary process for generating the user interface;  
         [0012]    [0012]FIG. 5 depicts an exemplary cross connection search interface;  
         [0013]    [0013]FIG. 6 depicts an exemplary user interface highlighting a cross connection retrieved through the search interface; and  
         [0014]    [0014]FIG. 7 depicts an exemplary user interface including a navigation grid in an alternate embodiment. 
     
    
     DETAILED DESCRIPTION OF INVENTION  
       [0015]    The following detailed description of embodiments of the invention refers to the accompanying drawings. The same reference numbers in different drawings identify the same or similar elements. Also, the following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims and equivalents thereof.  
         [0016]    The invention may be used in a variety of communication networks, including electrical and optical networks. The expression “communicates” as used herein refers to any connection, coupling, link or the like by which signals carried by one system element are imparted to the “communicating” element. Such “communicating” devices are not necessarily directly connected to one another and may be separated by intermediate components or devices. Likewise, the expressions “connected” and “coupled” as used herein are relative terms and do not require a direct physical connection.  
         [0017]    [0017]FIG. 1 is a block diagram of an exemplary communication network  10  including a cross connects  20   1 - 20   4  having bi-directional east ports  25  and west ports  27  for directing signals around ring  4 . A switch fabric  24  provides for interconnection between ports  25  and  27 . A processor  26  is used to control the switch fabric and a memory device  28  stores information concerning connections between ports as described in further detail herein. In the example shown in FIG. 1, the cross connects  20  carry traffic around the network ring referred to as line connections. Cross connects  20  may also include an add/drop multiplexer to provide for adding or dropping tributary connections  6  to and from the ring  4  at ports  22 .  
         [0018]    The ring  4  may include further network elements such as optical amplifiers, OADMs, other cross connects, etc. Furthermore, cross connect  20  may provide cross connections between segments of a linear network, between different network rings, and may even be part of a mesh network and cross connect multiple network segments and otherwise serve as an N-degree node. In other words, cross connect  20  and the cross connections displayed by the invention are not limited to the ring cross connects illustrated in the example of FIG. 1.  
         [0019]    An embodiment of the invention is a user interface that allows a user to create, view and remove connections across cross connects  20 . The user interface may be implemented by a user interface application executed by a user system  30  coupled to one or more cross connects  20  through processor  26 . The user system  30  may be a general-purpose computer executing the user interface application stored in a storage medium  31  accessible by user system  30 . The user system  30  includes suitable input devices (e.g., keyboard, mouse) and a graphical display device (e.g., CRT).  
         [0020]    User system  30  may be a craft terminal that connects directly to a cross connect  20  (e.g., RS232 connection). Alternatively, the user system  30  may access cross connects  20  over one or more networks such as an overlay IP network. Thus, the user system  30  may interface with more than one cross connect  20  at a time. When the user system  30  contacts a cross connect  20 , the contents of memory device  28  may be synchronized with storage medium  31  using conventional database synchronization techniques. This allows the user system  30  to perform display and search operations without repeatedly accessing cross connect  20 .  
         [0021]    The user system  30  executes a user interface application that allows a user to create, view and remove connections across one or more cross connects  20 . Connections may be created and removed using graphical input techniques (e.g., drag and drop). Cross connects  20  store a list of all connections around the ring  4  in a memory device  28 . This list may be created and updated using neighbor discovery techniques where each cross connect  20  communicates with adjacent cross connects to build a map of connections around ring  4 . When the user system  30  contacts a cross connect  20 , the contents of memory device  28  are copied to storage medium  31 . As connections are added and/or removed, memory device  28  and storage medium  31  may be refreshed accordingly.  
         [0022]    The user system  30  preferably generates the user interface based on data in memory device  31 . This reduces the burden on cross connect  20  in responding to queries from user system  30 . FIG. 2 depicts an exemplary user interface generated at user system  30 . The user interface provides information concerning a path across multiple cross connects  20  to facilitate creation and troubleshooting of end-to-end connections.  
         [0023]    The user interface of FIG. 2 includes cross connect identifiers  102  that identify the cross connects  20   1 - 20   4  using a numeric or alphanumeric designator. The cross connect identifiers  102  also provide the relative positioning of the cross connects  20  around the ring  4 . In other words, the cross connect identifiers  102   1 - 102   4  represent that cross connect  20   1  is in communication with cross connect  20   2  which is in communication with cross connect  20   3 , etc. This provides the user with a representation of the cross connects that need to be provisioned to establish a connection from cross connect  20   1  to cross connect  20   4 .  
         [0024]    Beneath the cross connect identifiers  102  are east port identifiers  104  and west port identifiers  106  that identify the cross connect ports using a numeric or alphanumeric designator. The east port identifiers  104  and west port identifiers  106  also provide the relative position of ports around the ring  4 . In other words, the west port  106   1  is in communication with east port  104   2 , etc. This provides the user with a representation of which ports require consistent time slot allocation in order to continue a connection around the ring.  
         [0025]    Beneath the east port identifier  104  is a listing of the east port time slots  114  and beneath the west port identifier  106  is a listing of west port time slots  116 . As described in further detail herein, the east port time slots  114  and west port time slots  116  may be displayed in different formats and/or relative positions so that a user can easily create and subsequently manage connections around the communication network.  
         [0026]    Associated with the east port time slots  114  and the west port time slots  116  are scroll buttons  120  that allow an individual set of times slots to be scrolled. In the exemplary embodiment in FIG. 2, time slots  1 - 48  are shown for each port. Each port may carry, for example, 192 time slots. Thus, the scroll buttons  120  are used to change the time slots appearing in the user interface for a single port. Consolidated scroll buttons  122  allow a user to scroll all time slots for all ports simultaneously. A Rotation button  124  click would shift the cross connect view one position to the left or right. The horizontal scroll bar would bring additional cross connects into view if not already showing This allows the user to specify the originating and terminating cross connect. Thus, the user can view connections completely around the ring  4 .  
         [0027]    The user interface presents time slots and connections in a graphical format such that provisioning and troubleshooting connections around the communication network is facilitated. Working time slots available for establishing line connections around ring  4  may be shown in a first graphical format (e.g., colored, shaded or textured). For example, time slots  1 - 24  on east port time slots  114   1  are depicted white indicating that these time slots are available for line connections. Time slots  25 - 48  on east port time slots  114 , are depicted in a second graphical format (e.g., colored, shaded or textured) to indicate that the time slots are reserved for protection connections. Time slots  22 - 24  of west port time slots  1163  and east port time slots  114   4  are depicted in a third graphical format (e.g., colored, shaded or textured) to indicate that the time slots are designated for carrying enhanced, non-preemptible, unprotected traffic (ENUT).  
         [0028]    Line connections, protection connections and tributary connections are all represented in the user interface. Time slots designated for a line connection are depicted in a fourth graphical format (e.g., colored, shaded or textured). A connection between two cross connects is represented by one or more west port time slots on a first cross connect and corresponding east port time slots on an adjacent second cross connect having the fourth graphical format. For example, in FIG. 2, time slots  10 - 12  of west port time slots  116   2  and time slots  10 - 12  of east port time slots  1143  are commonly shaded. This indicates a line connection between cross connects  20   2  and  20   3  on time slots  10 - 12 . A pass through connection extending from an east port to a west port on the same cross connect is represented with a pass through connection line  130 . The cross connects may allow time slot interchanging, in which case the pass through connection line  130  may extend between differing groups of time slots.  
         [0029]    A tributary connection (also referred to as an add-drop connection) is represented graphically, for example, with a tributary connection designator  132 . Absent another designator, it is assumed that the tributary connection is unprotected. It is understood that other graphical and/or alphanumeric indicators may be used to designate a tributary connection. The tributary connection may be implemented using an add/drop multiplexer. In the example shown in FIG. 2, cross connect  20   1  and cross connect  20   4  include add/drop multiplexers to provide tributary connections to ring  4 .  
         [0030]    A protection connection providing protection for a tributary connection is represented graphically, for example, with a protection connection designator  134  adjacent to tributary connection designator  132 . It is understood that other graphical and/or alphanumeric indicators may be used to designate a protection connection. The protection connection may also be implemented using an add/drop multiplexer and provide a protection path in the event the tributary connection is unavailable. In the example shown in FIG. 2, cross connect  20   1  and cross connect  20   4  include add/drop multiplexers to access the protection connections.  
         [0031]    The user interface of FIG. 2 allows for efficient and rapid recognition of proper connections around ring  4 . For example, proper line connections between cross connects are represented by corresponding adjacent time slots having the fourth graphical format. The user interface in FIG. 3 includes a line connection that is not configured properly that is readily apparent as time slot  20  of west port time slots  116   2  being misaligned with time slot  21  of east port time slots  114   3 . Similarly, time slot  21  of west port time slots  116   3  is not aligned with time slot  20  of east port time slots  114   4 . Thus, the line connection from cross connect  20   1  to cross connect  20   4  is interrupted. Similarly, the ENUT configuration on time slots  10 - 12  of cross connect  20   1  to cross connect  20   4  is interrupted at cross connect  20   3  due to a time slot mismatch.  
         [0032]    [0032]FIG. 4 is a flowchart of an exemplary process for generating the user interface. The process begins at step  90  where a cross connect  20  obtains cross connect configuration data from other cross connects around the ring  4 . This process may be performed using existing neighbor discovery techniques. The cross connects may pass a data object around the ring  4  and each cross connect  20  stores cross connect configuration data to the data object. As described in further detail herein, the cross connect configuration data includes information about connections in each cross connection, the time slots used, the types of connections etc. The cross connect configuration data is stored in memory device  28  at step  92 . Preferably, each cross connect  20  stores a copy of the cross connect configuration data. At step  94 , the user system  30  requests the cross connect configuration data from a cross connect  20  and the contents of memory device  28  are copied to storage medium  31 .  
         [0033]    At step  96 , the user system  30  generates the user interface based on the cross connect configuration data. This includes adjusting the user interface in response to user selection of scroll buttons  120 , consolidated scroll buttons  122  or rotation buttons  124 . At step  98 , the cross connect configuration data may be refreshed by repeating the process. The refresh may automatically, periodically occur or may be initiated in response to a user command.  
         [0034]    The user system  30  provides search tools for retrieving information about connections. A connection search is implemented when the user selects a search icon  140  (FIG. 2). FIG. 5 depicts an exemplary cross connect search interface presented on user system  30 . The connection search interface includes a number of search fields that allow a user to specify one or more search criteria. A rate search field  142  allows a user to search for cross connections based on data rate. The rate search field  142  may be associated with a drop down menu that allows a user to select rates from a predefined list. A port search field  144  allows a user to search for cross connections based on port identifiers. The port search field  144  may be associated with a drop down menu that allows a user to select port identifiers from a predefined list. The port identifiers may be assigned by users when ports are provisioned, altered, etc.  
         [0035]    A connection type search field  146  allows a user to search for cross connections based on the type of connection. Connections may be provisioned as pass through, tributary, or protected tributary. Some systems also support a loop back or hairpin connection where the connection is between two sets of timeslots within the same port. The connection type search field  146  may be associated with a drop down menu that allows a user to select connection types from a predefined list.  
         [0036]    A connection label search field  148  allows a user to search for connections based on user-assigned labels. The user-assigned labels may be assigned by users when connections are provisioned, altered, etc.  
         [0037]    A protection type search field  150  allows a user to search for connections based on the type of protection provided for a connection. Protection schemes may be assigned to connections using a protection setup tool. The protection type search field  150  may be associated with a drop down menu that allows a user to select protection types from a predefined list. The different types of protection used may be stored in storage medium  31  to populate the drop down list.  
         [0038]    The search criteria presented in FIG. 5 and discussed are exemplary. It is understood that a number of different search criteria may be utilized to facilitate location of cross connections.  
         [0039]    Once the user has entered search criteria in one or more search fields, the user selects the search icon  152  to initiate the cross connection search. User system  30  searches a database of cross connections stored in storage medium  31  for cross connections meeting the search criteria. As described above, cross connect configuration data from memory device  28  may be copied into storage medium  31 . The cross connect configuration data includes connection rates, port identifiers, connection type, connection labels and protection types. The user system  30  retrieves connections meeting the search criteria.  
         [0040]    The retrieved cross connections are presented in a results table  154 . The user may retrieve detailed information concerning the cross connections in result table  154  by selecting a detail tab  156 . This causes the user interface application to retrieve information concerning retrieved cross connections from storage medium  31  and display the detailed information to the user.  
         [0041]    The user may also select a display icon  158  to view a retrieved cross connection from the result table in a graphical format such as that shown in FIG. 6. The user system  30  determines the time slots from each port needed to display the connection and positions those time slots for viewing. For example, assume a time slot interchange occurs and a connection is made between east port time slot  1  and west port time slot  192 . The user system  30  shifts the west port time slots so that west port time slot  192  is displayed in the same view as east port time slot  1 . The retrieved connection may be shown along with other connections on neighboring time slots. The retrieved cross connection may be designated by a connection line  130 , tributary connection designator  132  and protection connection designator  134  having a different color or a different format (e.g., dotted line).  
         [0042]    [0042]FIG. 7 depicts a user interface in an alternate embodiment. The user interface of FIG. 7 includes a navigation grid  200  that facilitates viewing time slots. Each of the sets of times slots is associated with a time slot navigation column  204  or  206 . For example, east port time slots  114 , are associated with navigation column  204   1 . Each set of time slots is divided into time slot subgroups. For example, there are 48 east port time slots  114   1  that are divided into  4  subgroups of 12 time slots per subgroup. Each navigation column  204 / 206  has a number of rows corresponding to the number of time slot subgroups. A subgroup indicator  208  is positioned in each navigation column  204 / 206  corresponding to the subgroup of time slots being currently being viewed. For example, time slots  13 - 24  (i.e., the second subgroup of time slots) of east port time slots  114   1  are in view. The subgroup indicator  208  is positioned in row  2  of navigation column  204   1 .  
         [0043]    The navigation grid  200  provides the user with a quick reference as to what subgroups of time slots are being viewed. This becomes particularly useful when the number of time slots increases (e.g., 192 time slots at the OC-192 level or more time slots at higher levels). Subgroups of time slots may be brought into view by selecting a row within a navigation column  204 / 206 .  
         [0044]    The user interface application may access other tools related to communication network  10 . For example, selecting a cross connect identifier  102  may cause the user system  30  to launch a cross connect user interface. Such a cross connect user interface is described in co-pending U.S. patent application filed concurrently herewith, referenced as attorney docket number 04-660. The cross connect user interface described herein and related tools may use a common rendering scheme to provide a consistent look across multiple tools.  
         [0045]    The terms “east” and “west” as used herein are not intended to define to specific directions of communication, but rather serve to distinguish different ports in the system. Terms such as north/south, left/right, clockwise/counter-clockwise, upstream/downstream may similarly be used to differentiate ports.  
         [0046]    As described above, the user interface application is implemented on a processor-based, user system. Thus, the invention may be embodied in the form of a computer program code including instructions embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, memory or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a processor, the processor becomes an apparatus for practicing an embodiment of the invention. Also included may be embodiments in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a processor, or as a data signal transmitted, whether a modulated carrier wave or not, over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a processor, the processor becomes an apparatus for practicing the embodiment of the invention. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.  
         [0047]    Embodiments of the invention being thus described, it will be obvious that the same may be varied in many ways. Such variations are not to be regarded as departure from the spirit and scope of the invention, and all such modifications as would be obvious to one skilled in the art are intended to be included within the scope of the following claims.