A network appliance for monitoring, diagnosing and documenting problems among
a
plurality of devices and processes (objects) coupled to a computer network utilizes
periodic polling and collection of object-generated trap data to monitor the status
of objects on the computer network. The status of a multitude of objects is maintained
in memory utilizing virtual state machines which contain a small amount of persistent
data but which are modeled after one of a plurality of finite state machines. The
memory further maintains dependency data related to each object which identifies
parent/child relationships with other objects at the same or different layers of
the OSI network protocol model. A decision engine verifies through on-demand polling
that a device is down. A root cause analysis module utilizes status and dependency
data to locate the highest object in the parent/child relationship tree that is
affected to determine the root cause of a problem. Once a problem has been verified,
a "case" is opened and notification alerts may be sent out to one or more devices.
A user interface allows all objects within the network to be displayed with their
respective status and their respective parent/child dependency objects in various formats.