As a result of the growth, the network management programs have become essential to service providers. Most of these network management systems are based on Simple Network Management Protocol (SNMP) that makes them quite versatile and powerful. However, these programs can't utilize the management data gathered by SNMP as effectively as they should. Too often the network management programs can only display data or they add only minimal value to the raw SNMP data. The main problem is the capability of programs to analyze collected SNMP data. For instance there are programs that can't handle more than one MIB variable simultaneously.
Let us consider a case where we want to monitor the percentage of the discarded input packets that is defined as: if%InDiscards = ifInDiscards / (ifInDiscards + ifInErrors + ifInUnknownProtos + ifInUcastPkts + ifInNUcastPkts) * 100 %. The calculation may become a problem because of the formula consists of five separate variables. Some programs can solve this, but the results are basically only graphs or list of numbers which are meaningless for persons who are not specialists in SNMP or network technologies. For them a single representative number that reflects the health of a network component, would be more useful. Even though experts can easily follow calculated graphs, formulas are too sensitive for temporary network traffic profile changes. For example, oscillation or sharp peaks and gaps in the result value of formula may cause unnecessary alarms, if alarm thresholds have been set.
The core technology of this research has been fuzzy logic that is used as a decisionmaking logic. SNMP management variables form a user-configurable calculation function. The function and its rate of change are inputs to fuzzy logic. By taking into consideration the rate of change, the influence of the oscillation of the function has been wanted to decrease. The influence of single disturbance peaks has been also then avoided.
Fuzzy logic is a quite young area of technology. The first publications in fuzzy set theory was introduced in 1965 by Zadeh Lofti. Fuzzy logic differs totally from conventional crisp dual on-off logic or formal modeling technologies. Fuzzy logic don't try to model a system at all but it behaves like human thinking process do. In classical dual logic state of element is true or false. In fuzzy logic theory state of element could also be somewhere between true and false. The basic idea underlaying fuzzy logic is to represent different things by help of linquistic variables which take linquistic values. The word linquistic means here word or sentence of living language. For example, a rate of error packets could be represented with a linquistic variable "speed" that might get values like very slow, slow, moderate, fast, very fast, etc. instead of "exact" numbers. Fuzzy logic makes decisions from linquistic input values of input variables by the help of linquistic desicionmaking rules which usually are IF-THEN form. Value of the output variable is also linquistic. Conversion from exact input number values into linquistic values is done by the fuzzification interface. Reconversion back to exact output number value is handled by a defuzzification interface. The fuzzification and defuzzification interfaces use mapping information stored in a database called knowledge base to make conversion between linquistic and number values.
Based on the theory describe above, there has been implemented a software. The created software consists of three separate programs: decision logic, pre-calculation and configuration program. Software can be used, depending on how pre-calculation program is implemented, to monitoring components in real-time or to analyzing historical data. It supports all standard MIBs and enterprise-spesific MIBs. Calculation of the function and its rate of change are done by pre-calculation program. Pre-calculation also takes care of updating of quality factors. To configure the pre-calculation and the gauge program there is a special configuration tool that helps to set and change the calculation function and different parameters of fuzzy logic.