Abstract:
A method of monitoring a network, in particular a data or telecommunication network, where the network includes a number of units to be monitored, and where relevant states of these units are controlled with respect to functionality, efficiency and/or security by means of provided information elements called managed objects at the monitored units, that reflect states and/or parameters to be monitored, and that are read and/or written by a network management system using network management protocols, is characterized in that at the managed units an additional management object—the health check object—is being implemented, such that almost all relevant states of the respective monitored unit are aggregated into a single value, that can be read by the network management system.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention relates to a method for monitoring a network, particularly data or communication network, where the network includes a plurality of units to be monitored, and where relevant states of these monitored units are controlled with respect to functionality, efficiency and/or security by means of provided information elements called managed objects at the monitored units, that reflect states to be monitored, and that are read and/or written by a network management system using a predetermined network management protocol.  
         [0003]     2. Description of the Related Art  
         [0004]     Facing complexity and size of today&#39;s data and telecommunication networks, the importance of effective network management, particularly of effective network monitoring, is becoming increasingly higher. For network management, many of today&#39;s data and telecommunication networks use a network management system (NMS) that communicates with a number of monitored units (MU&#39;s) in the network. Monitored units are devices of any kind, i.e. server, hosts, routers, etc. For communication between NMS and MU, in general, standardized network management protocols may be used, as for example Simple Network Management Protocol (SNMP) that is common in IP (Internet Protocol) -based networks and the Common Management Information Protocol (CMIP) that is common in telecommunication networks.  
         [0005]     As part of its network monitoring activities, the NMS reads or writes managed objects (MO&#39;s) at the monitored units and in turn the monitored units send notifications back to the NMS. A monitored unit MO is an information unit with clearly defined semantics, that is implemented as a passive memory cell at a MU and that directly corresponds to the MU. A managed object MO may be for example a counter, a string of text characters, or something else of this kind, which can indicate, for example, the current status of a communication link connected to the corresponding MU. By reading managed objects MO&#39;s from a particular managed unit, the NMS can retrieve information about the current status of the monitored unit at which the MO&#39;s are implemented, for example on the status of a communication link. By writing to particular MO&#39;s, the NMS can change status or configuration of a MU, for example by setting the status of a communication link to ‘inactive.’ 
         [0006]     In order to achieve interoperability between NMS and monitored units of different manufacturers, MO&#39;s are standardized, for example in recommendations of the International Telecommunications Union (ITU) and in Requests for Comments (RFC&#39;s) of the Internet Engineering Task Force (IETF). In these standard documents, MO&#39;s are defined in a way that a NMS can receive sufficient and appropriately detailed information on the managed units. For example, there is a monitored object MO indicating the link status for each link connected to the managed unit.  
         [0007]     Monitoring communication networks in operation includes regularly checking network status and configuration. For this purpose, a pre-definable number of MO&#39;s must be read from each managed unit MU, where always the most current value must be read from the MU. For each of these MO&#39;s, an operation is required that checks whether or not the value of the individual MO—representing a relevant status with respect to functionality, efficiency and/or security of the network—or a combination of this value with values of other MO&#39;s is within acceptable limits for normal operations. If one of the values exceeds the limit, then the NMS must become active in order to return to normal operations. A set of all operations for checking whether or not all values of MO&#39;s in a MU are within the acceptable limits for normal operations is called ‘health check.’ 
         [0008]     In this context, it is problematic that checking all relevant MO&#39;s at all monitored units can cause scalability problems in the case where the number of monitored units becomes too large. The total number of MO&#39;s to be monitored is the product of the number of monitored units and the average number of MO&#39;s selected per monitored unit. A NMS has a limit for this total number; if the limit is exceeded, a network cannot be monitored in a sufficient way. Hence, for a fixed number of MO&#39;s to be monitored per monitored unit, the number of units to be monitored is limited.  
         [0009]     A known approach to avoiding this problem is the reduction of MO&#39;s to be monitored per MU based on programmability of monitored units, which allows a NMS to load programs on monitored units. Such a program performs a ‘health check’ locally at a MU, either for the respective MU only or also for a limited number of further monitored units. This approach is called “Management by Delegation (MbD).” See German Goldszmidt and Yechiam Yemini “Distributed Management by Delegation” (In proceedings of the 15th International Conference on Distributed Computing Systems, June 1995).  
         [0010]     Three technologies realizing the approach of Management by Delegation have been studied, implemented and standardized.  
         [0011]     The ITU has developed the so-called Command Sequencer for telecommunication networks, which is documented in ITU-T recommendation X.753. The Command Sequencer allows loading complex programs on monitored units, provided that the programs are to be written in a specific programming language that is part of the standard.  
         [0012]     The IETF has standardized a more flexible technology called Script MIB that is documented in IETF RFC 3165. It allows loading of in arbitrary programming languages and for arbitrary runtime environments, as far as they are supported by the respective MU.  
         [0013]     The IETF also has developed a simpler and functionally more restricted technology called Expression MIB that is documented in IETF RFC 2982. The Expression MIB allows a NMS to create simple expressions consisting of operations on MO&#39;s. These expressions can be used recursively for creating more complex expressions, for example a complete health check of a MU.  
         [0014]     The above-described method based on Management by Delegation can reduce the number of MO&#39;s to be read, but at the same time, it has several drawbacks.  
         [0015]     First, the manufacturing costs increase, because all monitored units must be extended by a program loader and a runtime environment for loaded programs. Furthermore, the complexity of the entire NMS increases, since programs for the local ‘health check’ must be provided in programming languages or for runtime environments that are available at the monitored units. Hence, several software components in different programming languages and/or for different runtime systems need to be developed and maintained.  
         [0016]     Second, security problems arise such that an unauthorized person or system may load and start harmful programs. Accordingly, loading of arbitrary programs must be strictly controlled. Several security mechanisms are required for this, leading again to an increase of cost and complexity. More specifically, loading of programs on monitored units must be restricted and controlled. Access of running programs to MO&#39;s must be appropriately restricted and controlled. For example, write access to monitored MO&#39;s should be blocked. Furthermore, the runtime environment must be restricted such that programs cannot access other resources of monitored units.  
         [0017]     The techniques of Command Sequencer and Script MIB as described above have a few organizations, but they were never used to monitor large networks, because of the above-mentioned drawbacks.  
         [0018]     The technique of Expression MIB as described above is less costly, less complex and easier to secure, compared with Script MIB and Command Sequencer, but the problems described above are not sufficiently reduced, which prevents this technology from being deployed in large networks with the result that the IETF does not recommend anymore to implement it.  
       SUMMARY OF THE INVENTION  
       [0019]     An object of the present invention is to provide network monitoring method and system, which can achieve network monitoring with high efficiency and security even in the case of large networks.  
         [0020]     According to the present invention, in each monitored unit an additional managed object—‘health check’ object—is implemented, that unifies or aggregates all relevant states of the monitored unit into a single value that can be read by the network management system.  
         [0021]     Since an increase of scalability can be realized with high cost-performance and non-critical concerning security, large networks can be monitored efficiently.  
         [0022]     From the view of the invention, it was recognized that conventional approaches to monitoring of networks, particularly of large, complex network architectures, are not feasible because of scalability problems.  
         [0023]     According to the present invention, the introduction of an additional managed object—so called ‘health check’ object—at the monitored units allows the NMS to only read a single managed object—namely ‘health check’ object—instead of a large number of MO&#39;s.  
         [0024]     According to the invention, the ‘health check’ object is implemented such that almost all relevant states of the respective monitored unit are unified or aggregated into a single value, that indicates the total result of the ‘health check’. The result is that significantly larger networks can be managed by a single NMS.  
         [0025]     Also, the invention can provide remarkable improvement in security, compared to the conventional methods, because neither arbitrary programs nor expressions are transmitted. In contrast to technologies such as the Command Sequencer or the Script MIB, it is not possible according to the present invention that unauthorized persons or systems for example, load harmful programs to a MU, which affect the operation thereof. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0026]      FIG. 1  is a block diagram schematically showing the structure of a network monitoring system according to an embodiment of the present invention;  
         [0027]      FIG. 2  is a schematic diagram showing the functional structure of processes and objects implemented in a monitored unit in the embodiment; and  
         [0028]      FIG. 3  is a schematic diagram showing calculation of health check object in the embodiment. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0029]     Referring to  FIG. 1 , a network management station (NMS)  101  manages a plurality of managed units MU 1 -MU N  in a network. Each managed unit MU is any kind of network element (NE) such as a server, host computer or router. Communication between NMS and each MU is made using a network management protocol (here, SNMP: Simple Network Management Protocol).  
         [0030]     Each managed unit MU has a SNMP agent as a resident process implemented therein. The SNMP agent manages MIB objects including health check object that will be described later and, in response to a request of a SNMP manager on the NMS  101 , sends the health check object back to the SNMP manger.  
         [0031]     As shown in  FIG. 2 , the SNMP agent  201  is implemented in the managed unit MU as a resident process generated by running a program on a processor (not shown). The SNMP agent  201  manages a health check object  202  and other managed objects  203  including statistics data and status variables as managed objects of that managed unit.  
         [0032]     The health check object  202  checks the other managed objects  203  at regular intervals or as necessary, and sends the resultant health check object back to the SNMP manager in response to the request.  
         [0033]     In a case where some failures or status changes occur at the managed unit, a value calculated based on such an event is stored in the health check object  202  and then the SNMP agent  201  accesses the value stored in the health check object  202  to send it to the SNMP manager on the network management station (NMS)  101 . The NMS  101  can identify the cause of the error by looking at the event-dependent value held in the health check object  202 , so that the NMS  101  can reconfigure the managed unit.  
         [0034]     Referring to  FIG. 3 , the NMS  101  sets check thresholds and managed object identifiers to be checked on a managed unit. A managed object value is compared to a corresponding check threshold and, when at least one managed object value has reached the corresponding threshold, the value of the health check object is set.  
         [0035]     An advantageous implementation could set individual limits for each MO that is included in the computation of a ‘health check’, for example as maximum and minimum values and/or as a set of regular status values. Regular status values correspond to states at which functional, error-free operation of the network is indicated. In such a case, additional MO&#39;s can indicate the limits and/or status values. For an MO, that for example indicates the status of a communication line by either the value ‘on’ or the value ‘off’, it is not necessary to indicate the set of regular status values. For such MO&#39;s regular state values could be fixed and they could be standardized.  
         [0036]     However, for most of the other MO&#39;s that are included in the ‘health check’ a flexible choice of limits and regular states is very extremely useful. Particularly, limits can be implemented such that they can be chosen by a NMS. For performance monitoring for example, different operators typically choose different threshold values for the maximum load allowed on a communication link in order to fulfill different quality requirements.  
         [0037]     With respect to a simple and efficient analysis of the results, a ‘health check’ object could be implemented such that it either indicates that all states at the monitored unit are within the regular limits or that at least one status exceeds the regular limits. In the latter case, the MO&#39;s of the respective monitored unit could be analyzed further, while in the former case no further operation are required.  
         [0038]     For achieving high flexibility and an easy and smooth adaptation to different requirements a set of MO&#39;s could be selected, which are to be considered when computing the ‘health check’. This way, certain aspects of network monitoring could be emphasized based on the selection of MO&#39;s. For this purpose further MO&#39;s could be introduced, that indicate which MO&#39;s are to be considered in the ‘health check’. Some of these additional MO&#39;s could be static, others could be configurable by the NMS.  
         [0039]     Flexibility and complexity of the computation of a health check object could be restricted and partially fixed in a way that is advantageous compared to known technologies. This would save cost and reduce the required computational power. The operations performed for computing the health check object could for example be restricted to comparison operations with threshold, values or regular states. In this case, the NMS would just configure the set of MO&#39;s to be compared and the set of thresholds and/or states to which the MO&#39;s are compared. This would also restrict the arguments on which operations act: one argument would be the MO at a MU, the other argument would be one or more selectable threshold or status values to compare the MO to. Such a restriction will disburden the network management, because only the values to compare to need to be known and specified.  
         [0040]     A further improvement of the invention uses several health check objects at a single MU. This is particularly advantageous if several NMS&#39;s serving different purposes manage and monitor the same network. In many cases, a NMS for monitoring the network configuration is separated from a NMS for monitoring network performance and they monitor different sets of MO&#39;s at a MU. In such a case, each NMS could create its own health check object. Even if configuration monitoring and performance monitoring are performed by the same NMS, the NMS could create two different health check objects.  
         [0041]     With respect to highly efficient network monitoring, health check objects could be hierarchically structured. Particularly if the health check at a MU consists of several groups of checks that can be clearly separated, then for each of these groups an individual health check object could be created. The total result of the entire health check could be represented by a single higher level health check object that includes only the values of lower level health check objects in its computation. The hierarchical decomposition of the health check object could be decomposed further in a recursive way such that more than two hierarchy levels are created.  
         [0042]     With respect to enhanced expressiveness of the conducted health check, weights could be assigned to the comparison operations that are performed for the individual MO&#39;s to be included in the computation of the health check object. The weights could reflect that for the MO&#39;s included in the health check the significance of exceeding the thresholds can be different. By introducing further managed objects a weight could be assigned to every comparison operation that is part of the health check. The value of the health check object could then be, for example, the maximum of all weights of MO&#39;s for which the value exceeds the assigned thresholds, or it could be the sum of all these weights. If no MO exceeds its thresholds, then this fact could be indicated by setting the value of the health check object to zero.  
         [0043]     As an alternative to the procedure that the NMS periodically checks the value of a health check object, a MU could take an active role and perform the health check periodically with a given time interval. If the result of the check is a value indicating that at least one of the checked MO&#39;s exceeds its thresholds to indicate an abnormal condition of the computation, a MU could send a notification to the NMS. A threshold for the value of the health check object could be specified such that a notification is sent if the value of the health check object exceeds the threshold.  
         [0044]     In order to make it easy to identify a malfunction quickly after the health check has indicated its existence, a notification containing a hint to the malfunction could be sent, for example, together with the failed health check. This hint could for instance consist of the list of MO&#39;s with values exceeding the respective thresholds. With such information given, the NMS can initiate actions dealing with the fault more quickly and more appropriately. Without such information, the NMS would have to repeat the health check explicitly, i.e. it would have to read each MO included in the health check and check the MO&#39;s value. Therefore, it is advantageous in several cases to introduce further MO&#39;s indicating for which of the MO&#39;s included in the health check the comparison with thresholds failed. In such a case, the network management system NMS can quickly reconfigure the monitored units with the erroneous managed objects in order to return to fully functional operation.  
         [0045]     In a particularly advantageous way, the range of MO&#39;s at a MU, which are included in a health check could be extended beyond the scope of the MU to MO&#39;s of one or more other MU&#39;s. According to the concept of Management by Delegation, a single monitored unit can perform the health check for multiple monitored units, resulting in increased scalability. Such a hierarchical approach could be structured such that each MU uses a local health check object and that the MU that performs a joint health check of multiple MU&#39;s accesses the local health check object for computing the joint health check. Then the NMS could access the result of the joint health check with a single read access.  
         [0046]     Furthermore, a restriction for the resources that are available for computing the value of a health check object could be established. This would effectively avoid that the number of MO&#39;s compared for computing the value of a health check object is set by unauthorized entities in a malicious way so high that the MU would get overloaded and not able anymore to sufficiently perform its original function. Alternatively or additionally to the resource restriction, the maximum number comparison operations could be limited to a maximum value that still allows regular operation.  
         [0047]     Finally, it is pointed out that there are different possibilities of embodying and further developing the teaching according to the invention in an advantageous way. In this context the reader is referred to the patent claims below.