IP Library Granted Patent US 7,296,194
Granted Patent B1
US 7,296,194 · App. 10/919,887 · Granted Nov 13, 2007

Method and apparatus for maintaining the status of objects in computer networks using virtual state machines

Assignee: Shoregroup Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,296,194
App. No.
10/919,887
Granted
Nov 13, 2007
Kind
B1
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.

Claims (44)

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) first means for storing in memory a plurality of different finite state machine models;

(c) second means for storing in memory a virtual state machine associated with each of the plurality of monitored objects; and

(d) a decision engine, coupled to the first and second means for storing in 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 data identifying a current state of the virtual state machine and for determining which actions of a plurality of actions associated with an identified finite state machine model should be performed.

2. The apparatus of claim 1 wherein each finite state machine model comprises a finite set of states, only one of the states being active at a time and referred to as the current state.

3. The apparatus of claim 1 wherein each finite state machine model comprises a finite set of input events that trigger state changes and execution of actions.

4. The apparatus of claim 1 wherein each finite state machine model comprises 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.

5. The apparatus of claim 1 wherein each finite state machine model comprises a set of actions associated with selected of the finite states.

6. The apparatus of claim 5 wherein the set of actions associated with selected of the plurality of different finite state machine module comprises actions to be performed based on a current state of the finite state machine model and a received input data.

7. The apparatus of claim 5 wherein the set of actions associated with selected of the plurality of different finite state machine models comprises actions to be performed based on a next state of the virtual state machine model, without regard to a current state of the finite state machine model and any received input data.

8. The apparatus of claim 1 wherein each virtual state machine comprises data identifying the monitored object.

9. The apparatus of claim 1 wherein each virtual state machine comprises data identifying one of the plurality of finite state machine models.

10. The apparatus of claim 9 wherein each virtual state machine comprises data identifying one of the finite states of the identified finite state machine model as a current state of the virtual state machine.

11. In a computer system having a processor, memory and a network interface, an method for monitoring a plurality of device or process objects operatively coupled to the computer system over a computer network, a method comprising:

(a) monitoring the status of the plurality of monitored objects over the computer network;

(b) storing in memory a plurality of different finite state machine models;

(c) storing in memory a virtual state machine associated with each of the plurality of monitored objects;

(d) receiving with a decision engine input event data relating to one of the monitored objects and accessing the virtual state machine in memory associated with said one monitored object; and

(e) manipulating with the decision engine the data identifying the current state of the virtual state machine and determining which actions associated with an identified finite state machine model should be performed.

12. The method of claim 11 wherein each finite state machine model comprises a finite set of states, only one of the states being active at a time and referred to as the current state.

13. The method of claim 12 wherein each virtual state machine comprises data identifying one of the finite states of the identified finite state machine model as a current state of the virtual state machine.

14. The method of claim 11 wherein each finite state machine model comprises a finite set of input events that trigger state changes and execution of actions.

15. The method of claim 11 wherein each finite state machine model comprises 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.

16. The method of claim 11 wherein each finite state machine model comprises a set of actions associated with selected of the finite states.

17. The method of claim 16 wherein the set of actions associated with selected of the plurality of different finite state machine module comprises actions to be performed based on a current state of the finite state machine model and a received input data.

18. The method of claim 16 wherein the set of actions associated with selected of the plurality of different finite state machine models comprises actions to be performed based on a next state of a virtual state machine model, without regard to a current state of the finite state machine model and any received input data.

19. The method of claim 11 wherein each virtual state machine comprises data identifying the monitored object.

20. The method of claim 11 wherein each virtual state machine comprises data identifying one of the plurality of finite state machine models.

21. A 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 monitoring the status of the plurality of monitored objects over the computer network;

(b) program code for storing in memory a plurality of different finite state machine models;

(c) program code for storing in memory a virtual state machine associated with each of the plurality of monitored objects;

(d) program code for receiving input event data relating to one of the monitored objects and accessing the virtual state machine in memory associated with said one monitored object; and

(e) program code for manipulating the data identifying the current state of the virtual state machine associated with said one monitored object and determining which actions associated with the identified finite state machine model should be performed.

22. The computer program product of claim 21 wherein each finite state machine model comprises a finite set of states, only one of the states being active at a time and referred to as the current state.

23. The computer program product of claim 22 wherein each virtual state machine comprises data identifying one of the finite states of the identified finite state machine model as a current state of the virtual state machine.

24. The computer program product of claim 21 wherein each finite state machine model comprises a finite set of input events that trigger state changes and execution of actions.

25. The computer program product of claim 21 wherein each finite state machine model comprises 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.

26. The computer program product of claim 21 wherein each finite state machine model comprises a set of actions associated with selected of the finite states.

27. The computer program product of claim 26 wherein the set of actions associated with selected of the plurality of different finite state machine module comprises actions to be performed based on a current state of the finite state machine model and a received input data.

28. The computer program product of claim 26 wherein the set of actions associated with selected of the plurality of different finite state machine models comprises actions to be performed based on a next state of a virtual state machine model, without regard to a current state of the finite state machine model and any received input data.

29. The computer program product of claim 21 wherein each virtual state machine comprises data identifying the monitored object.

30. The computer program product of claim 21 wherein each virtual state machine comprises data identifying one of the plurality of finite state machine models.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Oct 30, 2024
From: OPTANIX, INC.
To: WHITEHORSE CAPITAL MANAGEMENT, LLC, AS COLLATERAL AGENT
Reel/Frame 069082/0586 →
RELEASE OF SECURITY INTEREST Recorded Oct 30, 2024
From: OPTANIX, INC.; VOLOGY, INC.
To: WELLS FARGO COMMERCIAL DISTRIBUTION FINANCE, LLC
Reel/Frame 069078/0628 →
SECURITY AGREEMENT Recorded May 10, 2023
From: OPTANIX, INC.; VOLOGY, INC.
To: WELLS FARGO COMMERCIAL DISTRIBUTION FINANCE, LLC
Reel/Frame 063590/0213 →
SECURITY INTEREST Recorded Nov 12, 2021
From: OPTANIX, INC.
To: WHITEHORSE CAPITAL MANAGEMENT, LLC, AS COLLATERAL AGENT
Reel/Frame 058102/0966 →
CHANGE OF NAME Recorded Oct 13, 2021
From: SHOREGROUP, INC.
To: OPTANIX, INC.
Reel/Frame 057789/0568 →
PATENT SECURITY AGREEMENT Recorded Jul 1, 2015
From: SHOREGROUP, INC.; J.R. COMMUNICATIONS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 036043/0572 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2015
From: LOVY, DAVID M.; FAGAN, BRANT M.; BOJANEK, ROBERT J.
To: SHOREGROUP, INC.
Reel/Frame 035721/0064 →
Continuity (1)
Continuation 1010948100 · Mar 28, 2002