Method and apparatus for maintaining the status of objects in computer networks using virtual state machines
First Claim
1. In a computer system having a processor, memory and a network interface, an apparatus for monitoring a plurality of device or process objects operatively coupled to the computer system over a computer network, the apparatus comprising:
- (a) means for monitoring the status of the plurality of monitored objects over the computer network;
(b) a memory for storing a plurality of different finite state machine models, each finite state machine model comprising;
(i) a finite set of states, only one of the states being active at a time and referred to as the current state,(ii) a finite set of input events that trigger state changes and execution of actions,(iii) a finite set of transitions, each of which, given a current state and a specific input event, cause a transition of the finite state machine model to a next state, and(iv) a set of actions associated with selected of the finite states;
(c) the memory for further storing a virtual state machine associated with each of the plurality of monitored objects, each virtual state machine comprising;
(i) data identifying the monitored object,(ii) data identifying one of the plurality of finite state machine models, and(iii) data identifying one of the finite states of the identified finite state machine model as a current state of the virtual state machine; and
(d) a decision engine, coupled to the means for monitoring and the memory, for receiving input event data relating to one of the monitored objects and for accessing the virtual state machine in memory associated with said one monitored object, the decision engine further configured to manipulate the data identifying the current state of the virtual state machine associated with said one monitored object and for determining which actions associated with the identified finite state machine model should be performed.
5 Assignments
0 Petitions
Accused Products
Abstract
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.
263 Citations
16 Claims
-
1. In a computer system having a processor, memory and a network interface, an apparatus for monitoring a plurality of device or process objects operatively coupled to the computer system over a computer network, the apparatus comprising:
-
(a) means for monitoring the status of the plurality of monitored objects over the computer network; (b) a memory for storing a plurality of different finite state machine models, each finite state machine model comprising; (i) a finite set of states, only one of the states being active at a time and referred to as the current state, (ii) a finite set of input events that trigger state changes and execution of actions, (iii) a finite set of transitions, each of which, given a current state and a specific input event, cause a transition of the finite state machine model to a next state, and (iv) a set of actions associated with selected of the finite states; (c) the memory for further storing a virtual state machine associated with each of the plurality of monitored objects, each virtual state machine comprising; (i) data identifying the monitored object, (ii) data identifying one of the plurality of finite state machine models, and (iii) data identifying one of the finite states of the identified finite state machine model as a current state of the virtual state machine; and (d) a decision engine, coupled to the means for monitoring and the memory, for receiving input event data relating to one of the monitored objects and for accessing the virtual state machine in memory associated with said one monitored object, the decision engine further configured to manipulate the data identifying the current state of the virtual state machine associated with said one monitored object and for determining which actions associated with the identified finite state machine model should be performed. - View Dependent Claims (2, 3)
-
-
4. In an apparatus operatively coupled over a computer network to a plurality of device or process objects, a method comprising:
-
(a) storing in a memory a plurality of different finite state machine models, each finite state machine model comprising; (i) a finite set of states, only one of the states being active at a time and referred to as the current state, (ii) a finite set of input events that trigger state changes and execution of actions, and (iii) a finite set of transitions, each of which, given a current state and a specific input event, cause a transition of the finite state machine model to a next state, (iv) a set of actions associated with one of the states; (b) further storing in the memory a virtual state machine associated with each of the plurality of monitored objects, each virtual state machine comprising; (i) data identifying the monitored object, (ii) data identifying one of the plurality of finite state machine models, and (iii) data identifying one of the finite states of the identified finite state machine model as a current state of the virtual state machine; (c) monitoring the status of the plurality of monitored objects over the computer network; (d) receiving input event data relating to one of the monitored objects; (e) accessing the virtual state machine in memory associated with said one monitored object; (f) manipulating the data identifying a current state of the virtual state machine associated with said one monitored object; and (g) executing the actions associated with the identified finite state machine model. - View Dependent Claims (5, 6, 7, 8)
-
-
9. In a data processing system for monitoring a plurality of device or process objects operatively coupled to the data processing system over a computer network, an apparatus comprising:
-
a memory for storing a data structure usable to maintain a virtual finite state machine associated with one of the monitored objects, the data structure comprising; (a) data identifying said one monitored object; (b) data identifying one of a plurality of different finite state machine models, each finite state machine model comprising; (i) a finite set of states, only one of the states being active at a time and referred to as a current state, (ii) a finite set of input events that trigger state changes and execution of actions, (iii) a finite set of transitions, each of which, given a current state and a specific input event, cause a transition of the finite state machine model to a next state, and (iv) a set of actions associated with selected of the finite states; (c) data identifying one of the finite states of the identified finite state machine model as a current state of the virtual state machine; and a decision engine, coupled to the memory, for receiving input event data relating to one of the monitored objects and for accessing the virtual state machine in memory associated with said one monitored object, the decision engine for manipulating the data identifying the current state of the virtual state machine associated with said one monitored object and for determining which actions associated with the identified finite state machine model should be performed. - View Dependent Claims (10, 11)
-
-
12. The computer program product for use with an computer system operatively coupled over a computer network to a plurality of device or process objects, the computer program product comprising a computer useable medium having embodied therein program code comprising:
-
(a) program code for storing in a memory a plurality of different finite state machine models, each finite state machine model comprising; (i) a finite set of states, only one of the states being active at a time and referred to as the current state, (ii) a finite set of input events that trigger state changes and execution of actions, (iii) a finite set of transitions, each of which, given a current state and a specific input event, cause a transition of the finite state machine model to a next state, and (iv) a set of actions associated with selected of the finite states; (b) program code for further storing in the memory a virtual state machine associated with each of the plurality of monitored objects, each virtual state machine comprising; (i) data identifying the monitored object, (ii) data identifying one of the plurality of finite state machine models, and (iii) data identifying one of the finite states of the identified finite state machine model as a current state of the virtual state machine; (c) program code for monitoring the status of the plurality of monitored objects over the computer network; (d) program code for receiving input event data relating to one of the monitored objects; (e) program code for accessing the virtual state machine in memory associated with said one monitored object; (f) program code for manipulating the data identifying a current state of the virtual state machine associated with said one monitored object; and (g) program code for executing the actions associated with the identified finite state machine model. - View Dependent Claims (13, 14, 15, 16)
-
Specification