Abstract:
A network management apparatus and method is disclosed for determining an optimum threshold value for a monitored characteristic of a network. The optimum threshold value is determined by counting the number of previously received values for a monitored characteristic which values exceeded an existing threshold value for said monitored characteristic, and determining the optimum threshold value in dependence on the counted number. An optimum threshold value is provided, which is tailored to suit the network concerned.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates generally to an apparatus and method for the management of a network, and more particularly to a network management apparatus and method for monitoring the stress of a network, and generating events when high stress conditions are detected.  
           [0003]    2. Description of the Related Art  
           [0004]    The following description is concerned with a data communications network, and in particular a local area network (LAN). It will be appreciated, however, that the invention but has more widespread applicability to other managed communications systems including wide area networks (WANs) or wireless communications systems.  
           [0005]    Networks typically comprise a plurality of computers, peripherals and other electronic devices capable of communicating with each other by sending and receiving data packets in accordance with a predefined network protocol. Each computer or other device on the network is connected by a port to the network media, which in the case of a LAN network may be coaxial cable, twisted pair cable or fibre optic cable. Each device on the network typically has hardware for media access control (MAC) with its own unique MAC address. Data packets are sent and received in accordance with the MAC protocol (e.g. CSMA/CD protocol as defined by the standard IEEE 802.2, commonly known as Ethernet). Data packets transmitted using the MAC protocol identify the source MAC address (i.e. the MAC address of the device sending the data packet) and the destination MAC address (i.e. the MAC address of the device for which the data packet is destined) in the header of the data packet.  
           [0006]    A network is generally configured with core devices having a plurality of ports, which can be used to interconnect a plurality of media links on the network. Such devices include hubs, routers and switches which pass data packets received at one port to one or more of its other ports, depending upon the type of device. Such core devices can be managed or unmanaged.  
           [0007]    A managed device is capable of monitoring data packets passing through its ports. For example, a managed device can learn the physical or MAC addresses of the devices connected to its ports by monitoring the source address of data packets passing through the respective ports. Identified source and destination addresses transmitted from or to a port of a managed network device, such as a router, hub, or switch, are stored in a respective “address table” associated with the port.  
           [0008]    Managed devices additionally have the capability of communicating with each other using a management protocol such as the SNMP (Simple Network Management Protocol), as described in more detail below. Whilst the following description is concerned with the SNMP management protocol, the skilled person will appreciate that the invention is not limited to use with SNMP, but can be applied to managed networks using other network management protocols.  
           [0009]    SNMP forms part of the TCP/IP protocol suite, which is a number of associated protocols developed for networks connected to the Internet. SNMP defines agents, managers and MIBs (where MIB is Management Information Base), as well as various predefined messages and commands for data communication. An agent is present in each managed network device and stores management data, responds to requests from the manager using the GETRESPONSE message and may send a TRAP message to the manager after sensing a predefined condition. A manager is present within the network management station of a network and automatically interrogates the agents of managed devices on the network using various SNMP commands such as GET and GETNEXT commands, to obtain information suitable for use by the network administrator, whose function is described below. A MIB is a managed “object” database which stores management data obtained by managed devices, and is accessible to agents for network management applications.  
           [0010]    It is becoming increasingly common for an individual, called the “network administrator”, to be responsible for network management, and his or her computer system or workstation is typically designated the network management station. The network management station incorporates the manager, as defined in the SNMP protocol, i.e. the necessary hardware, and software applications to retrieve data from MIBs by sending standard SNMP requests to the agents of managed devices on the network.  
           [0011]    An example of a known network management software application capable of determining monitoring the stress of a network is the 3Com® Network Supervisor available from 3Com Corporation of Santa Clara, Calif., USA. This application, and similar applications, uses SNMP commands to retrieve relevant management data from managed network devices, and processes the data as described below.  
           [0012]    A part of the network administrator&#39;s function is to identify and resolve problems occurring on the network, such as device or link malfunction or failure. In order to provide the network administrator with the necessary information to identify such problems, the network management application monitors the devices on the network. An example of such monitoring is described in co pending UK Patent Application No 9917993.9 entitled “Management System and Method for Monitoring Stress in a Network” in the name of the present applicant. In the system and method described in UK Patent Application No 9917993.9 the SNMP manager in the network management station requests the agents of managed network devices on the network to retrieve selected MIB data indicative of device and link operation, and performs tests for device activity and service availability. Such MIB data may relate to characteristics such as traffic activity or errors occurring at a particular port in the relevant network device. Tests may include sending ICMP Ping requests to each device on the network, or sending selected requests for services such as SMTP, NFS and DNS to servers, and monitoring the time taken to receive a response. The monitored parameters or characteristics are referred to herein as “stress metrics”.  
           [0013]    The network management application compares, for each stress metric, the retrieved data or test results against a corresponding threshold level for the stress metric. The threshold level is the level above (or below) which performance is considered to be unacceptable. For simplicity, the following description is based on a maximum threshold, that is, a threshold level above which performance is considered to be unacceptable. The skilled person will appreciate that for some stress metrics the threshold level could be a level below which performance is unacceptable. Default values for threshold levels of monitored stress metrics are typically preset by the application vendor, but may be adjusted by the network administrator.  
           [0014]    Each time a threshold is exceeded, the application logs an “Event”. The “Event log” lists each Event, and includes information such as the date and time of the Event, the identity of the device affected and the nature of the Event. The network administrator can then review the Event list to identify problems on the network.  
           [0015]    It is important that the thresholds for the monitored stress metrics are chosen so that the number of Events presented in the Event log for review is minimised whilst still keeping the network administrator informed of Events which indicate genuine problems on the network. It can be difficult for the network administrator to choose a threshold level which will be exceeded only if genuine problems exist on his particular network. Accordingly, there is a need for a system and method which can be used to assist the network administrator in the task of setting the threshold levels.  
           [0016]    In the present applicant&#39;s UK Patent Application number 0009050.6 entitled “Network Management Apparatus and Method for Monitoring Stress in a Network”, a method is proposed to assist the network administrator in setting threshold levels. In the method the administrator moves the threshold value up or down and the program simulates the Events which would have been generated if the threshold had been set at the changed value using previously received stress values from the network devices. The administrator can use the simulated Event lists to select a threshold level which generates only significant Events.  
           [0017]    A problem with the method proposed in UK Patent Application number 0009050.6 is that the network administrator must have sufficient knowledge of the nature and type of Events generated so that he or she can determine which simulated Event list produced by the method includes all significant Events but few, and preferably no, unimportant Events. It cannot assist the inexperienced network administrator who does not have this knowledge.  
           [0018]    The present invention seeks to address this problem, and provide a method and apparatus which can be used by even the most inexperienced network administrator in setting threshold levels.  
         SUMMARY OF THE INVENTION  
         [0019]    In accordance with a first aspect, the present invention provides a method for determining an optimum threshold value for a monitored characteristic of a managed network, the method comprising the steps of: for a preceding time period, counting a number of values for a monitored characteristic, received during the time period, which exceeded an existing threshold value for said monitored characteristic, and determining an optimum threshold value for the monitored characteristic in dependence on the number determined by the counting step.  
           [0020]    The method of the present invention thus provides the user with a suggested optimum threshold value for a monitored characteristic based on the number of previously received monitored values for the characteristic. The network administrator does not need to have knowledge of the nature and type of Events in order to adjust the threshold setting for the monitored characteristic. By using previously received monitored values, the suggested optimum threshold level is specific to the particular network.  
           [0021]    In accordance with a second aspect, the present invention provides a computer readable medium carrying a computer program for carrying out the method of the first aspect of the present invention.  
           [0022]    In accordance with a third aspect, the present invention provides a network management apparatus for monitoring a network and for determining an optimum threshold value for a monitored characteristic of the network, the apparatus comprising: a processor configured to count the number of values for a monitored characteristic which exceeded an existing threshold value for said monitored characteristic, said values previously received during a preceding time period, and configured to determine an optimum threshold value for the monitored characteristic in dependence on the number determined by the counting step.  
           [0023]    Other preferred features of the present invention will be apparent from the following description and accompanying claims. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0024]    Embodiments of the present invention will now be described, by way of example, with reference to the accompanying drawings, in which:  
         [0025]    [0025]FIG. 1 is a block diagram of a typical network having a network management station which may be employed in accordance with the present invention, and  
         [0026]    [0026]FIG. 2 is a flow chart showing the steps carried out by a computer program implementing a method in accordance with a preferred embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0027]    [0027]FIG. 1 shows a typical network  1  incorporating a network management system according to a preferred embodiment of the present invention. The network  1  includes a network management station  3 A which incorporates the necessary hardware and software for network management. In particular, the network management station  3 A includes a processor, a memory and a disk drive as well as user interfaces such as a keyboard and mouse, and a visual display unit. Network management application software in accordance with the present invention is loaded into the memory of management station  3 A for processing data as described in detail below. The network management station  3 A is connected by network media links  5  to a plurality of managed network devices including core devices such as network switch  7 , hubs  11  and  12 , and a router (not shown) which may be managed or unmanaged, and end stations including personal computers (PCs)  3  and workstations. The network may also include unmanaged devices, for example peripheral devices such as printers.  
         [0028]    The network management station  3 A is capable of communicating with the managed network devices such as network switch  7  and hubs  11  and  12  by means of a network management protocol, in the present embodiment the SNMP protocol, in order to obtain network management data. Each managed device includes a processor which monitors operational characteristics and an SNMP agent which stores the monitored data as MIB data in memory on the device as is well known in the art, including data relating to inter alia data traffic at the device.  
         [0029]    An SNMP managed device may monitor data for a number of MIBs. An example of a MIB containing network management data is MIB-II (formerly MIB-I) as specified by the IETF (Internet Engineering Task Force) in specification RFC1213. MIB-II is common to most vendors&#39; core devices and any network management system should preferably be capable of reading and utilising management data from MIB-II. Furthermore, the network management system of the preferred embodiment of the present invention is additionally capable of reading and utilising more complex management data contained in such MIBs as RMON (Remote Monitoring MIB, RFC1271), RMON2 (Remote Monitoring MIB 2, RFC2021), the standard bridge MIB (RFC1493), the standard repeater MIB (RFC1516), or any proprietary MIBs produced by original equipment manufacturers (e.g. the 3Com Remote Poll MIB).  
         [0030]    In network  1 , hubs  11  and  12  and switch  7  are MIB-II compatible, and switch  7  is also RMON compatible. Other configurations are possible, and contemplated.  
         [0031]    In accordance with the preferred embodiment of the present invention, the network management station  3 A monitors a plurality of stress metrics. The stress levels or values for the metrics are obtained by periodically requesting relevant MIB-II data from hubs  11  and  12  and switch  7 , and RMON data from switch  7 , and by periodically polling all network devices using Ping or service requests and monitoring response times.  
         [0032]    The network management station  3 A compares each monitored stress level against a corresponding predetermined threshold level for the stress metric. Each time a threshold is exceeded, the network management station  3 A stores details about the monitored stress level in an Event log in memory. The memory typically stores the Event log data in the form of a database or similar data file, which stores Event data in different time intervals separately. Thus, the database provides a history of Events that have occurred on the network for different time periods. It should be noted that monitored stress levels which do not exceed the threshold are not stored in the Event log, in accordance with the preferred embodiment, and the received data about these monitored levels is discarded or overwritten by subsequent monitored stress levels. It will be appreciated that in other embodiments all monitored stress levels for some or all time intervals may be stored in the database. A typical Event log is shown in Table 1 below. Each Event listed in the Event log represents a monitored stress level which exceeded the threshold set for the stress metric at the time of the Event.  
                           TABLE 1                       Time   Device Name   Device Type   Description                   11.06   HUB10-1-72   FMS II   Utilisation on port 2                   exceeded 80%       11.00   S1000-1-72   SWITCH 1000   Errors on port 24                   exceeded 5%       10.58   S1000-1-72   SWITCH 1000   Errors on port 2                   exceeded 5%       10.58   PSH40-1-72   PSHUB 40   Broadcasts on port 12                   exceeded 200/s       10.57   HUB10-1-72   FMS II   Utilisation on port 2                   exceeded 80%       10.56   S1000-1-72   SWITCH 1000   Utilisation on port 24                   exceeded 80%                  
 
         [0033]    The threshold for each metric is preset to a default value in the network management station  3 A and is adjustable by the network administrator. The network administrator conventionally has no means of establishing the appropriate threshold level for the monitored stress metrics to ensure that he or she is informed of all genuine Events, i.e. Events indicative of genuine problems on the network, but is not notified of Events which are not significant for the network concerned.  
         [0034]    In accordance with a preferred embodiment of the present invention, the network management station  3 A operates a method which uses data obtained during previous monitoring of the network to suggest the optimum value for the threshold level of a stress metric for the network concerned.  
         [0035]    The method of the present invention is preferably implemented in a computer program which is run on the management station  3 A. It will be appreciated that the method may be implemented in other forms such as hardware. In accordance with the preferred embodiment, the computer program carries out the steps illustrated in FIG. 2.  
         [0036]    As described above, the network management system employed in the present invention monitors stress metrics by retrieving and processing management data from managed network devices, and generates Events when threshold levels for the relevant metrics are exceeded.  
         [0037]    For the purposes of the following description it is assumed that the network management station  3 A has an Event log stored in a database as described above, which the program of FIG. 2 utilises, as described below.  
         [0038]    The program begins when the network administrator runs the part of the management software application to set the threshold level of the stress metrics. It will be appreciated that the program may be initiated automatically at selectable regular time intervals, e.g. once a week, in order to prompt the administrator to optimise the threshold levels.  
         [0039]    At step  101  the program retrieves Event data from the database, preferably for a selected time period. In accordance with the preferred embodiment, the selected time period is an immediately preceding time period such as the last 7 days. It will be appreciated that in other embodiments, other time ranges, which need not be immediately preceding, may be selected. The selected time period ideally represents the time interval since the last threshold adjustment was performed. The Event data includes an identifier for each separate Event (this is generated when an Event is logged in the Event log and/or stored in the database, as is well known in the art), the identity of the monitored metric, the value of the monitored metric, which caused the Event and the threshold which the value exceeded.  
         [0040]    In the preferred embodiment, the Events for all metrics in the relevant time interval are retrieved at this stage. In other embodiments, the user may select a monitored metric and only events relating to the selected metric may be retrieved and processed.  
         [0041]    At step  102  the program counts the number of Events for a selected metric represented in the Event data retrieved by step  101 . This is the number of Events occurring in the immediately preceding selected time interval for the monitored metric.  
         [0042]    As will be appreciated from the following, the way in which the program proceeds to determine the optimum threshold for the selected monitored metric is dependent upon the number of Events found in step  102 .  
         [0043]    The program first considers if there are any Events at step  103 .  
         [0044]    If step  103  determines that there are no Events for the monitored metric, this could suggest that the network is operating well for this metric, and no problems have therefore arisen. Alternatively, it may be that the threshold has been set too high, and the network management station has failed to log values for the metric which represent problems of high stress.  
         [0045]    Thus, at step  104  the program compares the “current” threshold value for the monitored stress metric concerned (i.e. the threshold which led to no Events being logged in the relevant time interval) against the “default” threshold for the metric. As previously mentioned, the default value for each threshold is preset, typically by the application vendor, at a level which is expected to be suited to the average network.  
         [0046]    If step  104  determines that the current threshold exceeds the default threshold, the threshold may be too high, and the program therefore determines, at step  105 , that the optimum threshold level is the default value for the threshold.  
         [0047]    The program may then end, or continue for another monitored stress metric.  
         [0048]    If step  104  determines that the current threshold is less than or equal to the default threshold, the program continues at step  106  by considering whether the current threshold exceeds the minimum recommended threshold. The minimum recommended threshold is typically expressed as a percentage Z of the default value for each stress metric (e.g. Z=20). Both the value of Z and the default threshold value are specific to the stress metric, and corresponding values are laid down by the application for each monitored stress metric. If no value Z is preset for a stress metric, the program of the preferred embodiment uses a default percentage value defined for all stress metrics (e.g. 20%). If a threshold is set below the minimum recommended threshold, Events are likely to be generated for monitored values which are normal, thus giving the administrator the false impression that the network is stressed.  
         [0049]    If step  106  determines that the current threshold is above the minimum recommended threshold, the current threshold is within appropriate parameters and the network is most likely operating well. The program therefore determines, at step  107 , that the optimum threshold level is the current threshold level.  
         [0050]    The program may then end, or continue for another monitored stress metric.  
         [0051]    If step  106  determines that the current threshold is below the minimum recommended threshold, the current threshold is not within appropriate parameters and, although the network is probably operating well (since no Events have been generated that represent normal operation), the program continues with step  105  by determining that the optimum threshold level is the default threshold level.  
         [0052]    Again, the program may then end, or continue for another monitored stress metric.  
         [0053]    It will be appreciated that, in another embodiment, step  106  may be omitted, so that if step  104  determines that the current threshold is above the default threshold, the program proceeds directly to step  107  and determines that the current threshold does not need to be changed.  
         [0054]    Returning now to the situation in which Events are present, i.e. step  103  determines that there was at least one logged Event for the relevant monitored stress metric in the selected time interval.  
         [0055]    The program proceeds with step  108  which considers whether there are five or more Events. The integer five is employed in the preferred embodiment as the number of Events which would be expected in a typical 7-day time interval for a network operating normally. However, it will be appreciated that this number is arbitrary and other numbers may be used depending upon the selected time interval and the nature of the stress metric. Typically, for a 7-day time interval, integer values between 3 and 7 may be used, and for other time intervals the number calculated on a pro rata basis.  
         [0056]    If step  108  determines that there are fewer than five Events for the monitored metric, this suggests that the network is operating normally and, whilst problems have arisen, the number of occasions is not significant and represents normal network behaviour. This current threshold is likely to be optimal, and, accordingly, in some embodiments the program may simply proceed with step  107 .  
         [0057]    Alternatively, it is possible that the threshold has been set too low, therefore highlighting situations that should not need attention. Thus, in accordance with the preferred embodiment shown in FIG. 2, the program continues with step  106 , as described above, to ensure that the current threshold is within appropriate parameters (i.e. above the minimum recommended threshold). The optimum threshold is then determined as the default threshold or the current threshold depending upon whether the program proceeds from step  106  to step  105  or step  107  respectively.  
         [0058]    If there are five or more Events, this could suggest the network is experiencing severe problems or is under more that average stress. Alternatively is may be that the threshold for the monitored metric is too low, thereby generating Events for monitored values which are normal (i.e. represent low stress).  
         [0059]    In order to determine which of these situations has arisen, the program calculates the optimal threshold on the basis of the Events under consideration.  
         [0060]    Thus, if step  108  determines that there are at least five Events, the program continues with step  109  which, using the Event data retrieved in step  101 , calculates the mean average of all the values of the monitored metric which caused the Events. In particular, using the Event data, the program adds together the values of all the Events for the monitored metric and divides the resulting sum by the number of Events determined in step  102 . It will be appreciated that other statistical techniques for calculating a statistical average may be employed e.g. a median average may be calculated.  
         [0061]    At step  110  the program adds to the average value, calculated in step  109 , a metric-specific percentage, which is illustrated as X % where X is dependent on the monitored metric. If X is not preset, in the preferred embodiment, X=5 by default. Thus, in the default situation, the resulting value is equal to 105% of the average value determined in step  109 . It will be appreciated that in other embodiments step  110  may be omitted. In the preferred embodiment, step  110  is employed to filter out minor stress conditions as they occur.  
         [0062]    The value calculated in step  110  may be used as the new threshold value to reduce the number of Events logged in the future. However, this value should not be used as a new threshold if the excessive number of Events is not because the current threshold is too low but instead is because all the Events in the time interval concerned are genuine and the network has been experiencing severe problems.  
         [0063]    To deal with this, in accordance with the preferred embodiment, the program continues with step  111 , which compares the value calculated in step  110  with the maximum recommended threshold for the monitored metric. The maximum recommended threshold is a threshold value which, if exceeded, is likely to prevent genuine Events from being generated and logged. The maximum recommended threshold is typically calculated as the default threshold plus Y % of the default threshold value (e.g. 40-90%), where Y is dependent on the stress metric concerned, and may be laid down by the application vendor along with the percentage value Z and the default threshold value for each stress metric. If no maximum recommended threshold of value for Y is preset, the program of the preferred embodiment uses a default percentage value Y % for all stress metrics (e.g. 50%, so that the maximum recommended threshold=150% of the default value).  
         [0064]    If the value calculated in step  110  exceeds the maximum recommended threshold, the program continues with step  112  and determines that the optimum threshold is the maximum recommended threshold (default+Y %).  
         [0065]    If the value calculated in step  110  is less than or equal to the maximum recommended threshold, the program continues with step  113  by comparing the value calculated in step  110  with the minimum recommended threshold (Z % of the default as described above).  
         [0066]    If step  113  determines that the value calculated in step  110  is less than the minimum recommended threshold, the value is too low, and the program continues to step  114  by determining that the optimum threshold value is the minimum threshold value (Z % of the default threshold).  
         [0067]    The program may then end, or continue for another monitored stress metric.  
         [0068]    Alternatively, if step  113  determines that the value calculated in step  110  is greater than or equal to than the minimum recommended threshold, the value calculated in step  110  is within appropriate boundaries, and the program continues to step  115  by determining that the optimum threshold value is the average value+X % as calculated instep  110 .  
         [0069]    Again, the program may then end, or continue for another monitored stress metric.  
         [0070]    It will be appreciated from above that in accordance with the preferred embodiment, the present invention is implemented in the form of a computer program which may be included on a computer readable medium such as a disk, and which may be loaded in the disk drive of the network management station  3 A. The network management station  3 A typically comprises a processor, a disk drive, memory, and user interfaces including a display screen, keyboard, mouse, and a printer. The computer program described above is typically loaded onto the network management station using the disk drive and processor runs the program. Alternatively, the computer program may be carried on a computer system having the website of, for example, the supplier of network devices, which permits downloading of the program over the Internet on a carrier wave to the network management station  3 A.  
         [0071]    It will be appreciated that various modifications and changes may be made to the described embodiments.  
         [0072]    For example, whilst the program of the preferred embodiment retrieves Event data for a preceding predetermined time interval, in other embodiments the program could be run in real time by maintaining a counter for each metric and incrementing the counter by one each time an Event for the metric is generated. Each time the counter is incremented, or each time the counter reaches a value which is a multiple of n, where n is an integer greater than one, the program would then be run to determine a new optimum threshold value.  
         [0073]    It is intended to include all such variations, modifications and equivalents which fall within the spirit and scope of the present invention as defined in the accompanying claims.