Abstract:
A method and apparatus are provided for monitoring resource utilization within a connection oriented switch. An operator defines a utilization threshold in terms of percentage of maximum capacity, and a connection resource tracker determines whether utilization of specified resources within the switch have exceeded this threshold. The switch then either sends a report to the operator identifying all such resources, or generates an alarm, revealing sources of congestion within the switch without requiring the operator to manually query each resource. The method and apparatus can alternatively be used to monitor for underutilization of resources. The method and apparatus allow rapid diagnostic and simplified monitoring of connection oriented switches.

Description:
FIELD OF THE INVENTION 
     The invention relates to connection resource management in telecommunication systems, and more particularly to monitoring and display of node resources in such systems. 
     BACKGROUND OF THE INVENTION 
     Connection oriented network elements such as Asynchronous Transfer Mode switches have a number of resources. Resources have a maximum capacity and a utilization. Examples of resources are: traffic limited call admission control resources, such as bandwidth within an OC3 link or internal capacity within a line card; connection limited call admission control resources, such as the number of connection end points per line card; path identifications, such as VPI, VCI, and MPLS label ranges; and system limits, such as memory within the switch, number of leafs per system, number of connections per system, and number of connections in a connecting state (i.e. connections being set-up). Each of these and other resources are limited within a switch, each having a maximum capacity. The maximum capacity can be further limited when interfacing with other vendors&#39; switches which support a lower number of connections. For example, a lower range of VPIs may be required that would otherwise be supportable by the switch. 
     Traffic through a connection oriented switch, both in terms volume of traffic and number of connections, is limited by the capacity of the various resources. It is therefore important for diagnostic and monitoring purposes that an operator be able to determine utilization of the resources. Typically, the operator issues a command line interface (CLI) command to a management layer within the network element, asking for the utilization of a particular resource. The management layer queries a connection resource tracker, which determines the utilization of the resource. The connection resource tracker may determine the utilization by querying other components within the network element. The connection resource tracker reports the utilization of the resource to the management layer, which relays the utilization to the operator. 
     When a problem arises within a network, such as repeated call connection blockage or unwanted call cancellations, the operator typically queries each network element for resource utilization. Even in the absence of such a problem, the operator may want to monitor resource utilization to identify potential bottlenecks. The operator issues a separate CLI command for each resource in turn for each network element. Given the large number of resources used by a network element, this is a time consuming and inefficient process. Even if a script is used to retrieve the utilization of all resources, the amount of information which the operator must then process is cumbersome. Furthermore, by the time the operator queries utilization of the problematic resource, or even begins searching for the problem, the resource utilization may have changed and the source of the problem may no longer be apparent. A system which allowed resource shortages to be flagged to an operator automatically, or to alert an operator of resources approaching their maximum capacity, would allow speedier diagnostics and more convenient monitoring of connection oriented switches. 
     SUMMARY OF THE INVENTION 
     In accordance with one aspect of the invention, a method is provided for monitoring resource utilization within a connection oriented switch, comprising the steps of: providing at least one utilization threshold; for each of a plurality of resources, each corresponding to one of the at least one utilization threshold, determining whether a utilization of the resource is above the corresponding utilization threshold; and identifying each resource for which the utilization is above the corresponding utilization threshold. A report may be generated including any identified resources, and the report may be presented to an operator. Upon identification of a resource for which the utilization is above the corresponding utilization threshold, an alarm may be generated identifying the resource, and the alarm may be presented to the operator. In one embodiment, receipt of call connection establishment signals is monitored, and determination of a resource for which utilization is above the corresponding utilization threshold is only made upon receipt of a call connection establishment signal, as is identification of each such resource. 
     In accordance with another aspect of the invention, a method is provided for monitoring resource utilization within a connection oriented switch, comprising the steps of: providing at least one utilization threshold; for each of a plurality of resources, each corresponding to one of the at least one utilization threshold, determining whether a utilization of the resource is below the corresponding utilization threshold; and identifying each resource for which the utilization is below the corresponding utilization threshold. A report may be generated including any identified resources, and the report may be presented to an operator. 
     Processors and computer readable media are provided for implementing the methods summarized above. 
     The method and network elements of the present invention allow resource utilization to be monitored in a timely manner that is useful to an operator. The operator can determine quickly which resources are approaching maximum capacity, or alternatively which resources are being underutilized, without having to sift through an overwhelming amount of information. An alarm system can also be implemented, alerting an operator when utilization of any resource is approaching a critical level. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The features and advantages of the invention will become more apparent from the following detailed description of the preferred embodiment(s) with reference to the attached figures, wherein: 
         FIG. 1  is a block diagram of a communication network; 
         FIG. 2  is a block diagram of a network element within the communication network of  FIG. 1 , according to one embodiment of the invention; 
         FIG. 3  is a flowchart of a method by which the network element of  FIG. 2  monitors resource utilization according to one embodiment of the invention; 
         FIG. 4  is a flowchart of a method by which the network element of  FIG. 2  monitors resource utilization according to another embodiment of the invention; 
         FIG. 5  is a flowchart of a method by which the network element of  FIG. 2  monitors resource utilization according to yet another embodiment of the invention; 
         FIG. 6  is a flowchart of a method by which the network element of  FIG. 2  monitors resource utilization according to yet another embodiment of the invention; and 
         FIG. 7  is a flowchart of a method by which the network element of  FIG. 2  monitors resource utilization according to yet another embodiment of the invention. 
     
    
    
     It will be noted that in the attached figures, like features bear similar labels. 
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
     Referring to  FIG. 1 , a portion of an example connection oriented communication network is shown. A plurality of network elements  10 , such as Asynchronous Transfer Mode (ATM) switches, are interconnected by links  12 , and are under a single administrative control  14 . Although two network elements  10  are shown as being under the administrative control  14  in  FIG. 1  for the purposes of illustration, more generally there is at least one such network element  10 . At least one of the network elements  10  may also be interconnected with at least one external network element  16  via links  12 . A network management tool  18  is connected to at least one of the network elements  10 , and allows an operator to perform OAM&amp;P tasks on the network elements  10 . 
     Associated with each network element  10  is a plurality of resources. Examples of resources are bandwidth, line card capacity, number of connection end points supportable per line card, Virtual Path Identifier (VPI) ranges, Virtual Channel Identifier ranges, MultiProtocol Label Switching (MPLS) label ranges, memory within the switch, number of supportable leaf endpoints per system, number of supportable connections in a connecting state, number of MPLS state blocks, and number of connections stored in a database. Each resource has a utilization and a capacity. The utilization of a resource measures how much of the resource is currently in use or reserved for use. The capacity of a resource measures the total availability of the resource. The utilization is expressible as a percentage of the capacity. As an example of a utilization and a capacity, VPIs in some switches may be take values within a range of 0 to 255. If 205 virtual paths have been set up through the switch, the VPI utilization would be 80%. 
     Referring to  FIG. 2 , a block diagram of a network element  10  of  FIG. 1  according to one embodiment of the invention is shown. The network element  10  includes a management layer  30  and a connection resource tracker  32 . The connection resource tracker  32  includes instructions for retrieving resource information particular to the network element  10 . In the preferred embodiment, the instructions are in the form of software loaded into a processor, but may more generally be in any combination of software or hardware within a processor, including hardware within an integrated circuit. The processor need not be a single processor, but rather the instructions could be located in more than one processor. 
     The connection resource tracker  32  maintains a partial database of resource utilization, the contents of which are changed upon receipt of call clear messages  34  and call connection attempt messages  36 . When the management layer  30  receives an operator request  38 , for example from an operator via the network management tool  18 , the management layer  30  generates a query  40  in response thereto. The management layer  30  sends the query  40  to the connection resource tracker  32 , which then consults its database and queries other standard components (not shown in  FIG. 1 ) in the network element  10  to retrieve the resource information specified by the query  40 . 
     Referring to  FIG. 3 , a flowchart of a method by which the network element  10  performs resource utilization monitoring according to one embodiment of the invention is shown. Broadly, the connection resource tracker determines for each of a set of resources within the network element whether utilization of the resource is above a specified threshold, and reports any such resources. At step  50  the network element is prompted to begin resource utilization monitoring, such as the receipt of a signal sent by an operator. At step  51  the connection resource tracker  32  receives a utilization threshold in the form of a percentage of maximum capacity, such as “80%” or “0.8”. The utilization threshold can be received in a number of ways. As examples, the connection resource tracker could read the utilization threshold from a database, could access the utilization threshold from memory (including a hardcoded value), or could read the utilization threshold from a signal sent by an operator. In the latter case, the steps  50  and  51  could be combined into a single step of prompting the connection resource tracker by sending a utilization threshold. 
     At step  52  the connection resource tracker reads a list of resources. The list of resources may be read in a number of ways. As examples, the connection resource tracker could read the list of resources from a database, could access the list of resources from memory (including hardcoded values), or could read the list of resources from a signal sent by an operator. In the latter case, the steps  50 ,  51 , and  52  could be combined into a single step of prompting the connection resource tracker by sending a utilization threshold and a list of resources. Alternatively, the steps  50  and  52  could be combined into a single step of prompting the connection resource tracker by sending a list of resources, the utilization threshold being received at step  51  by some other means. 
     At step  53  the connection resource tracker attempts to select a next resource in the list of resources, which in the case of the first iteration will be a first resource in the list of resources. If a next resource exists at step  53 , the connection resource tracker  32  determines at step  54  whether the utilization of that resource expressed as a percentage of the capacity of that resource is above the utilization threshold received at step  51 . Determining the capacity and utilization of each resource is a capability already present in existing ATM switches and other connection oriented network elements. 
     If at step  54  the connection resource tracker  32  determines that the utilization of the resource is above the utilization threshold, then at step  56  the connection resource tracker  32  identifies the resource and adds an identification of the resource to a report. The connection resource tracker  32  may also add the actual utilization of the resource, either in absolute terms or as a percentage of capacity, to the report. Once an identification of the resource has been added to the report, or if the connection resource tracker  32  determines at step  54  that the utilization of the resource is not above the utilization threshold, then the connection resource tracker  32  attempts to select a next resource at step  53 . The connection resource tracker  32  determines whether the utilization of each resource in turn is above the utilization threshold, until no more resources are found at step  53 . At step  58 , the connection resource tracker sends the report to the management layer  30 . 
     Referring to  FIG. 4 , a flowchart of a method by which the network element  10  performs resource utilization monitoring according to a second embodiment of the invention is shown. Broadly, the connection resource tracker determines periodically for each resource in a set of resources within the network element whether the utilization of the resource has exceeded a specified threshold, and generates an alarm identifying any such resources. The connection resource tracker  32  receives a prompt  50 , receives a utilization threshold  51 , and reads a list of resources  52  as described above with reference to  FIG. 3 . The utilization threshold is in the form of a percentage of maximum capacity, such as “90%” or “0.9”. 
     At step  72  the connection resource selects a first resource in the list of resources. The connection resource tracker  32  determines at step  74  whether the utilization of the selected resource expressed as a percentage of the capacity of that resource is above the utilization threshold. If the utilization is above the utilization threshold, the connection resource tracker  32  generates an alarm identifying the resource and possibly indicating the actual utilization of the resource. The alarm is a particular example of a report. Generation of the alarm at step  76  is similar to the steps  56  and  58  of  FIG. 3  of adding an identification to the report and sending the report respectively, but the report (in the form of the alarm) is sent to the management layer  30  immediately. 
     Once an alarm has been generated, or if the utilization of the resource was not above the utilization threshold at step  74 , then the connection resource tracker  32  attempts to select a next resource at step  78 . If a next resource exists at step  78 , the connection resource tracker  32  determines at step  74  whether the utilization of that resource expressed as a percentage of the capacity of that resource is above the utilization threshold. The connection resource tracker  32  determines whether the utilization of each resource in turn is above the utilization threshold, until no more resources are found at step  78 . Once the connection resource tracker  32  has determined the utilization of each resource, the connection resource tracker  32  pauses at step  80  for a configured length of time before beginning again with the first resource at step  72 . The configured length of time will depend on how often an administrator or operator wishes the utilization of resources to be checked, and may in fact be equal to zero. 
     Referring to  FIG. 5 , a flowchart of a method by which the network element  10  performs resource utilization monitoring according to a third embodiment of the invention is shown. Broadly, the connection resource tracker determines, upon request, for each resource in a set of resources within the network element whether the utilization of the resource has exceeded a specified threshold, and generates an alarm identifying any such resources. This embodiment is similar to the embodiment described above with reference to  FIG. 3 , except that the steps  56  and  58  of adding an identification to the report and sending the report respectively are replaced by a single step  76  of generating an alarm, described above with reference to  FIG. 4 . This embodiment is different from the embodiment described with reference to  FIG. 4  in that the check for threshold crossing is performed when prompted to do so by an external agent. This allows an operator to query for threshold crossings at the operator&#39;s convenience, or allows software on the network management tool  18  to periodically query for threshold crossings. 
     Referring to  FIG. 6 , a flowchart of a method by which the network element  10  performs resource utilization monitoring according to a fourth embodiment of the invention is shown. Broadly, the connection resource tracker determines, upon receipt of a call connection signal, for each resource in a set of resources within the network element whether the utilization of the resource has exceeded a specified threshold, and generates an alarm identifying the resource if a set amount of time has elapsed since an alarm was last generated for the resource. This embodiment is similar to the embodiment described above with reference to  FIG. 4 , except that the step  50  of receiving a prompt is replaced by the step  80  of receiving a prompt in the form of a call connection signal. The call connection signal is any signal indicating to the connection resource tracker that a new call connection through the network element has been established. Furthermore, when the connection resource tracker determines at step  74  that the utilization of a resource is above the specified threshold, the resource tracker determines at step  82  whether a timer associated with the resource has expired. If the timer has expired, then the connection resource tracker generates an alarm at step  76  as described above, and resets the timer at step  84 . If the timer has not expired, then no alarm is generated. In this way, the connection resource tracker will not repeatedly generate alarms for a resource as new call connections are established, but rather will wait a preset duration between generating alarms. 
     The timer need not be used, in which case the steps of determining whether a timer has expired and of resetting the timer are omitted from  FIG. 6 . However, this could result in many repeated alarms being generated for the same resource shortage, due to numerous new call connection establishments while utilization of the resource is above the utilization threshold. 
     Referring to  FIG. 7 , a flowchart of a method by which the network element  10  performs resource utilization monitoring according to a fifth embodiment of the invention is shown. Broadly, the connection resource tracker determines, upon receipt of a call connection signal, for each resource in a set of resources within the network element whether the utilization of the resource has exceeded a specified threshold, and generates an alarm identifying the resource if an alarm has not been generated since the utilization of the resource last rose above the specified threshold. This embodiment is similar to the embodiment described above with reference to  FIG. 6 , except that the steps  82  and  84  involving the timer are removed, and steps  90 ,  92  and  94  involving a flag are introduced. 
     If the connection resource tracker determines at step  74  that the utilization of a resource is above the specified threshold, the resource tracker determines at step  90  whether a flag associated with the resource indicates that an alarm has recently been generated for that resource. If the flag does not indicate that the alarm has recently been set, then the connection resource tracker generates an alarm at step  76  as described above, and sets the flag at step  92  to indicate that an alarm has recently been generated for the resource. If the connection resource tracker determines at step  90  that the flag does indicate that the alarm has recently been set, then an alarm is not generated. If the connection resource tracker determines at step  74  that the utilization of the resource is not above the specified threshold, then at step  94  the connection resource tracker clears the flag so that the flag indicates that an alarm has not recently been generated for the resource. In this way, the connection resource tracker will not repeatedly generate alarms for a resource as new call connections are established, but rather will wait until the utilization of the resource falls below the threshold before considering whether to generate a new alarm. 
     The method described above with reference to  FIG. 3  may be combined with the method described above with reference to  FIG. 4 ,  FIG. 5 ,  FIG. 6 , or  FIG. 7 . In other words, the connection resource tracker can monitor for resources whose utilization exceeds a first threshold and generate an alarm in response thereto, while also responding to requests to identify resources whose utilization exceeds a second threshold. Generally, the first threshold used for generating alarms should be higher than the second threshold used to monitor high utilization, although this need not be the case. 
     The method has been described as monitoring for resource utilization which exceeds a utilization threshold. Alternatively, the connection resource tracker can be configured to monitor for resource utilization which falls below a utilization threshold by changing the steps  54  and  74  to determination of whether the utilization of a resource falls below a specified threshold. If this threshold is set at a low value, an operator can locate any resources which are being underutilized. This embodiment is particularly applicable to the method described above with reference to  FIG. 3 , as there is generally no need to generate an immediate alarm if resource utilization falls below a threshold. 
     The invention has been described as using a single threshold, expressed as a percentage of capacity, for all connection resources being monitored. Alternatively, each connection resource being monitored may have a respective utilization threshold. This allows different thresholds to be set for different connection resources, and also allows the thresholds to be expressed in absolute terms rather than as a percentage of capacity of the resource. However, the step  51  of receiving the threshold must then receive a threshold for each connection resource being monitored. 
     The invention has been described as considering whether the utilization of each resource is above or below a threshold. Alternatively, the connection resource tracker could determine whether the utilization of each resource is greater than or equal to a threshold, or whether the utilization of each resource is less than or equal to a threshold. 
     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. For example, methods which are logically equivalent or similar to the methods shown in  FIG. 3 ,  FIG. 4  and  FIG. 5  may be used to implement the methods of the invention. The scope of the invention is solely defined by the appended claims.