Fuzzy and Network managnet oppinion needed

Damir Delija (ddelija@srce.hr)
Mon, 15 Sep 1997 04:16:05 +0200 (MET DST)

I'm looking for opinions and advices about using fuzzy in network
management.

It looks like that fuzzy can be used as expert, but also that it can
filter out false events, detect trends, calculate the health values or
loads, maybe calculate the polling period. Also it can probably be
used in baselining process to "learn" boundaries for systems.

There are a lot of problems and interesting questions, how to develop
tools for such purpose, where to put fuzzy (in which part of management
system), how to merge it with existing tools, how to find out which
variables are important and which calculated values (gradient, delta,
average) to use for each monitored variable, which calculus to use, how
to handle sets, how to set initial conditions and many others.

In usual managment system there are few houndreds of events (data
pollings) so tool design is very important, also it is much more
varibales than usual fuzzy system support.

For experimenting we merged together tcl network management tool scotty,
and fuzzy toolkit library by Mr. Cox, so it is possible to write down
rules directly in TCL. It is not the so effcient but it is very
practical for playing. At the moment most of the job we done was on
the writing down efficent rules for detecting line breakdown (alarm
filtering).

I'll be glad if you can give me opinion about using some mib variables in
the process of definition the state of the router or host. In fact I'm
interested in creating general relationship among mib varibles
(expecially in mib-2) with status of the host, health and other "general
behaviour" variables.

Idea is to define set of rules which can be used in "fuzzy logic" like
method to determine if the intervention is needed, or to clean up
false actions. As result there will be set of few variables load,
action, state which will govern alarm triggering or some other action.

It is not simple to define relationship among variables and some
general values. In ordinary language rules can be described in very
broad terms like:

"router is heavily loaded if all its interfaces are heavily loaded"

"router is in bad condition if it is often restarting or its interfaces
are in bad condition"

"router is in bad condition if error are growing on its interfaces"

"interface is in bad condition if there is errors on it or if que is
long or if it is often changing status or if there is huge load on it"

There can be many similar rules in normal language.
I'm interested in writing down such rules in fuzzy of crisp form, like:

-------------------------

defineSet highpercentage ....
defineSet highspeed ....
defineSet highload ....

IF delta(sysUptime.0) < 0 THAN action is higly needed

For i in 1 to ifNumber.0
do

IF ifLoad.i is highpercentage AND ifSpeed.i is highspeed THAN
load is highload

IF delta(ifInErrors.i) is high or delta(ifOutError.i) is high
THAN state is bad AND action is needed

...

done

defuzzify action
defuzzify state
defuzzify load

-------------------------

( Because of ease of reading I've cleaned up the syntax of the rules, in TCL
it is just few $ [] {} signs more )

We hope that we will create page with result and cgi interface soon.
If there will be some discusion on this topics we will speed up the
effort in web page developement.

Damir Delija

SRCE University Computing Centre
Marohniceva 11
Zagreb,
Croatia

e-mail: ddelija@srce.hr