throbber
United States Patent
`Graf
`
`[19]
`
`lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll
`US005619656A
`5,619,656
`Patent Number:
`Date of Patent:
`Apr. 8, 1997
`
`[45]
`
`[11]
`
`[54] SYSTEM FOR UNINTERRUPTIVELY
`DISPLAYING ONLY RELEVANT AND
`NON-REDUNDANT ALERT MESSAGE OF
`THE HIGHEST SEVERITY FOR SPECIFIC
`CONDITION ASSOCIATED WITH GROUP OF
`COMPUTERS BEING MANAGED
`
`[75]
`
`Inventor: Lars 0. Graf, Rensselaer, N.Y.
`
`[73] Assignee: OPENService, Inc., Albany, N.Y.
`
`[21] Appl. No.: 238,476
`
`[22] Filed:
`
`May 5, 1994
`
`[51]
`
`Int. Cl.6
`
`..••..•.••.••••••••••••.••.• G06F 11/00; G06F 11/30;
`G06F 13/10
`[52] U.S. Cl •................................ 395/200.11; 395/185.01;
`3951185.1; 395/839; 364/141; 364/152;
`364/265; 3641267; 364/280; 364/284.3
`[58] Field of Search ..................................... 395/650, 575,
`395/700, 200.11, 185.Dl, 185.1, 835, 839;
`364/141, 144, 146, 152, 264.5, 284.3, 280,
`286.3, 974.5
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,589,068
`4,815,030
`4,866,712
`4,888,690
`
`5/1986 Heinen, Jr ............................... 364/300
`3/1989 Cross et al .............................. 364/900
`9/1989 Chao ........................................ 37115.1
`12/1989 Huber ...................................... 364/200
`
`911991 Hill et al. ................................ 364/900
`5,047,977
`5,109,486
`411992 Seymour ................................. 395/200
`5,111,384
`511992 Aslanian et al ......................... 395/575
`5,146,587
`911992 Francisco ................................ 395/575
`5,155,842
`10/1992 Rubin ...................................... 395/575
`5,163,151
`11/1992 Bronikowski et al. ................. 395n25
`5,226,150
`7/1993 Callander et al ....................... 395/575
`5,230,048
`7/1993 Moy ........................................ 395/600
`5,418,966
`511995 Madduri .................................. 395/725
`5,432,932
`711995 Chen et al .............................. 395/650
`5,528,759
`611996 Moore ..................................... 395/200
`Primary Examiner-Thomas C. Lee
`Assistant Examiner-Ki S. Kim
`[57]
`ABSTRACT
`
`The system and method of this invention automatically
`manages a group of computers by automatically gathering
`data, storing the data, analyzing the stored data to identify
`specified conditions, and initiating automated actions to
`respond to the detected conditions. The invention, hereafter
`"SYSTEMWatch AI-L", comprises a SYSTEMWatch AI-L
`client which turns a computer into a managed computer, a
`SYSTEMWatch AI-L console, which turns a computer into
`a monitoring computer, a SYSTEMWatch AI-L send facility,
`which allows a system administrator to send commands to
`various SYSTEMWatch AI-L clients through the SYSTEM(cid:173)
`Watch AI-L console, and a SYSTEMWatch AI-L report
`facility which allows a system administrator to query infor(cid:173)
`mation collected and processed by the SYSTEMWatchAI-L
`clients and SYSTEMWatch AI-L consoles.
`
`22 Claims, 12 Drawing Sheets
`
`READ MAILBOX FOR
`MESSAGES & EXECUTE
`COMMANDS PLACED IN
`MAILBOX. READ DATA
`IN MAILBOX
`
`Petitioners Old Republic Gen'l Insur. Group, et al., Ex. 1005, p. 1
`
`

`
`="'
`="' Ol
`-.
`\C
`="' ~
`-.
`Ol
`
`N
`1-"
`s,
`00. =-i
`
`1-"
`
`-....)
`\C
`\C
`1-"
`~
`:"l
`"'CC
`>
`
`~
`•
`rJJ
`~ •
`
`~ = """"
`
`fig. 1
`
`COMPUTER
`MONITORING
`
`COMPUTER
`MONITORING
`
`COMPUTER
`MANAGED
`
`COMPUTER
`MANAGED
`
`COMPUTER
`MANAGED
`
`COMPUTER
`MANAGED
`
`GROUP OF MANAGED COMPUTERS
`
`Petitioners Old Republic Gen'l Insur. Group, et al., Ex. 1005, p. 2
`
`

`
`~
`Ol
`~
`\C
`~
`~
`Ol
`
`~
`
`~
`
`N
`iooo-0
`g,
`N
`r:l:l =-$!.
`
`\C
`iooo-0
`
`::s
`
`~
`
`~r:x;
`~
`
`= ~
`~ ;-
`~
`rJ1 •
`•
`Cj
`
`SYSTEMWotch Al-L
`
`CLIENT
`
`13
`
`OPERATING SYSTEM
`
`COMPONENTS
`
`OPERA liNG SYSTEM
`
`OPERATING SYSTEM
`
`OPERATING SYSTEM
`
`11
`
`USER PROGRAMS
`
`I
`
`I
`
`_l
`
`I
`
`I
`
`.... ...
`... -
`
`-
`
`MEMORY
`
`10
`
`14
`
`fig. 2
`
`9
`
`CPU
`
`15
`
`PERIPHERIALS
`
`OTHER
`
`16
`
`COMMUNICATIONS
`
`INTERFACE
`
`Petitioners Old Republic Gen'l Insur. Group, et al., Ex. 1005, p. 3
`
`

`
`~
`(It
`~
`....
`\C
`~
`~
`....
`(It
`
`~
`
`"""' N
`s,
`rJJ. =-m.
`
`"'-l
`\C
`"""'
`\C
`S'J
`:'1
`~
`
`~ = """"
`Pi
`~
`•
`rJ'l
`0 •
`
`SYSTEMWatch Al-L
`
`CONSOLE
`
`21
`
`OPERATING SYSTEM
`
`COMPONENTS
`
`OPERATING SYSTEM
`
`OPERATING SYSTEM
`
`OPERATING SYSTEM
`
`19
`
`USER PROGRAMS
`
`I
`
`I
`
`I
`
`I
`
`I
`
`... ....
`
`-...
`
`....
`
`MEMORY
`
`18
`
`22
`
`fig. 3
`
`23
`
`PERIPHERIALS
`
`OTHER
`
`CPU
`
`24
`
`COMMUNICATIONS
`
`INTERFACE
`
`Petitioners Old Republic Gen'l Insur. Group, et al., Ex. 1005, p. 4
`
`

`
`="
`=" 01
`-.
`\C
`=" ~
`-.
`01
`
`r ol::o
`
`N
`~
`g,
`
`.....:J
`'-=
`'-=
`S'J
`:"i
`~
`
`~
`
`~ = ~
`
`~
`~
`•
`00
`d •
`
`l}3
`SYSTEMWotch Al-L I 31
`
`SYSTEMWatch Al-L
`
`CLIENT
`
`29
`
`fig. 4
`
`. I-)
`
`CONSOLE
`
`OPERATING SYSTEM
`
`COMPONENTS
`
`OPERATING SYSTEM
`
`27
`
`OPERATING SYSTEM
`
`USER PROGRAMS
`
`I
`
`I
`
`I
`
`I
`
`1
`
`... -
`... ...
`...
`
`MEMORY
`
`26
`
`30
`
`PERIPHERIALS
`
`OTHER
`
`CPU
`
`31
`
`COMMUNICATIONS
`
`INTERFACE
`
`Petitioners Old Republic Gen'l Insur. Group, et al., Ex. 1005, p. 5
`
`

`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 5 of 12
`
`5,619,656
`
`SYSTEMWatch Al-L CLIENT _5 32
`
`CORE LAYER
`
`APPLICATION LAYER
`
`3 3
`
`3 4
`
`SYSTEMWatch Al-L CONSOLE _5 35
`
`CORE LAYER
`
`APPLICATION LAYER
`
`3 3
`
`3 6
`
`fig. 5
`
`Petitioners Old Republic Gen'l Insur. Group, et al., Ex. 1005, p. 6
`
`

`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 6 of 12
`
`5,619,656
`
`38
`
`42
`
`39
`
`Al-L LANGUAGE
`INTERPRETER
`
`COMMUNICATIONS
`FACILITY
`
`M----t
`
`ROUTINES
`ROUTINES
`ROUTINES
`
`41
`
`40
`
`DATABASE
`ENTITIES
`
`Vl w
`1-a::
`w a.
`0 a:: a.
`
`DATA
`
`DATA
`
`DATA
`
`DATA
`
`EXPERT SYSTEM
`
`RULES
`
`RULES
`
`RULES
`
`fig. 6
`
`Petitioners Old Republic Gen'l Insur. Group, et al., Ex. 1005, p. 7
`
`

`
`I!
`
`....:J
`~
`"'""' ~
`
`~ss
`
`I PROPERTY I _..,DATA I--""
`I
`
`I
`
`i
`
`fig. 7
`
`•----•----•
`
`I
`
`I
`
`---
`
`I
`
`I
`
`I
`
`PROPERTY
`
`PROPERTY ~ DATA I
`
`56
`
`--48
`
`PROPERTY t---f DATA I DATA I
`
`I
`
`471
`
`54--..
`
`46
`
`45
`
`I
`
`44
`
`C\
`til
`C\
`-..
`\C
`~
`C\
`-..
`til
`
`"'""' N
`0 .....,
`....:J
`~ ......
`~
`::r
`00
`
`I
`
`I
`
`I
`
`I
`
`57
`
`58
`
`I r"\ATA I r"\ATA I
`
`I
`
`'-J PROPERTY I
`"
`
`I
`
`I
`
`~ f"'t(cid:173) n> = f"'t-
`
`00. •
`d •
`
`c.--53
`
`ENTITY
`
`43
`
`ENTITY
`
`41
`
`Petitioners Old Republic Gen'l Insur. Group, et al., Ex. 1005, p. 8
`
`

`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 8 of 12
`
`5,619,656
`
`START
`
`60
`
`SORT RULE IN DECENDING
`SPECIFICITY ORDER; IN
`CASE OF TIE, SORT
`TIES IN ASCENDING
`DECLARATION ORDER
`
`INITIALIZE RULES BY:
`1. SET EACH RULE'S
`LASTCHECK TIME TO ZERO.
`~~ 2. SET EACH RULE'S ONCE
`STATE TO TRUE
`3. EXECUTE EACH RULE'S
`INITIALIZATION SECTION
`
`y
`
`SET EXPERT SYSTEM
`RULE STATE TO
`EMPTY STRING
`
`SET CURRENT RULE
`POINTER TO RULE #1
`
`63
`
`64
`
`N
`
`71
`
`69
`
`y
`
`70
`
`EXECUTE THE STATEMENTS
`IN THE CURRENT RULE'S
`ELSE CLAUSE, IF IT EXISTS
`
`EXECUTE THE STATEMENTS
`IN THE CURRENT RULE'S
`THEN CLAUSE
`
`CD
`
`fig. BA
`
`Petitioners Old Republic Gen'l Insur. Group, et al., Ex. 1005, p. 9
`
`

`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 9 of 12
`
`5,619,656
`
`65
`
`~
`
`MAKE CURRENT RULE
`BE THE RULE POINTED
`TO BY THE CURRENT
`RULE POINTER
`
`MAKE THE CURRENT
`RULE POINTER POINT
`TO THE NEXT RULE IN
`THE EXPERT SYSTEM
`
`73
`
`y
`
`fig. BB
`
`Petitioners Old Republic Gen'l Insur. Group, et al., Ex. 1005, p. 10
`
`

`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 10 of 12
`
`5,619,656
`
`75
`
`READ MAILBOX FOR
`MESSAGES & EXECUTE
`COMMANDS PLACED IN
`MAILBOX. READ DATA
`IN MAILBOX
`
`76
`
`N
`
`77
`
`78
`
`79
`
`CALL EXECRULES
`TO RUN THROUGH
`THE EXPERT SYSTEM
`
`CALL CHECKALERT
`TO ESCALATE/CLEAR
`ALERTS AS NEEDED
`
`DISPLAY ALERTS
`
`SLEEP 5 SECONDS
`
`80
`
`fig. 9
`
`Petitioners Old Republic Gen'l Insur. Group, et al., Ex. 1005, p. 11
`
`

`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 11 of 12
`
`5,619,656
`
`81
`
`READ MAILBOX FOR
`MESSAGE & EXECUTE
`COMMANDS IN
`MAILBOX. READ DATA
`IN MAILBOX
`
`82
`
`83
`
`DISPLAY ALERTS
`
`SLEEP 5 SECONDS
`
`84
`fig. 10
`
`FORMAT MESSAGES
`
`87
`
`88
`
`fig. 11
`
`Petitioners Old Republic Gen'l Insur. Group, et al., Ex. 1005, p. 12
`
`

`
`U.S. Patent
`
`Apr. 8, 1997
`
`Sheet 12 of 12
`
`5,619,656
`
`READ REQUEST & LIB PROGRAMS
`
`89
`
`SETUP REPORT WINDOWS _5
`
`90
`
`91
`
`READ SPECIFIED REPORT FILE
`
`QUERY DATABASE &
`AWAIT RESULTS
`
`OISPLA Y INFORMATION
`
`93
`
`94
`
`99
`
`fig. 12
`
`Petitioners Old Republic Gen'l Insur. Group, et al., Ex. 1005, p. 13
`
`

`
`5,619,656
`
`1
`SYSTEM FOR UNINTERRUPTIVELY
`DISPLAYING ONLY RELEVANT AND
`NON-REDUNDANT ALERT MESSAGE OF
`THE HIGHEST SEVERITY FOR SPECIFIC
`CONDITION ASSOCIATED WITH GROUP OF
`COMPUTERS BEING MANAGED
`
`FIELD OF THE INVENTION
`
`This invention relates in general to system administration
`and in particular to automated management of a group of
`computers and its associated hardware and software.
`
`BACKGROUND ART
`
`5
`
`15
`
`2
`In a typical system administration environment, the work
`cycle consists of the following. A problem occurs on the
`computer which prevents the end user from carrying out
`some task. The end user detects that problem some time after
`it has occurred, and calls the complaint desk. The complaint
`desk dispatches a system administrator to diagnose and
`remedy the problem. This has three important consequences:
`First, problems are detected after they have blocked a user's
`work. This can be of substantial impact in organizations
`10 which use their computers to run their businesses. Second,
`problems which do not necessarily block a user's work, but
`which may nonetheless have important consequences, are
`difficult to detect. For example, one vendor supplies an
`electronic mail package which is dependent upon a func-
`tional mail daemon process. This mail daemon process has
`a tendency to die on an irregular, but frequent basis. In such
`situations, the end user typically does not realize that he is
`not capable of receiving electronic mail until after they've
`missed a meeting scheduled by electronic mail. Third,
`20 because problems are not detected until after they block a
`user's work, a problem which at an earlier state might have
`been easier to fix cannot be fixed until it has escalated into
`something more serious, and more difficult to correct.
`Currently, system administrators manage a group of com-
`25 puters by performing most actions manually. Typically, the
`system administrator periodically issues a variety of com(cid:173)
`mands to gather information regarding the state of the
`various computers in the group. Based upon the information
`gathered, and based upon a variety of non-computer infor-
`30 mation, the system administrator detects problems and for(cid:173)
`mulates action plans to deal with the detected problems.
`Automation of a system administration's task is difficult for
`several reasons:
`1. Data regarding the state of the computer is difficult to
`obtain. Typically, the system administrator must issue a
`variety of commands and consider several pieces of
`information from each command in order to diagnose a
`problem. If the system administrator is responsible for
`several machines, these commands must be repeated on
`each machine.
`2. When the system administrator detects a problem, the
`appropriate action plan may vary depending on a variety
`of external factors. For example, suppose a particular
`computer becomes slow and unresponsive when the sys(cid:173)
`tem load on that computer crosses a certain threshold. If
`this problem occurs during normal business hours under
`ordinary circumstances, it will probably be a problem
`which must be resolved in a timely manner. On the other
`hand, suppose this problem occurs in the middle of the
`night. While this situation might still be a problem, the
`resolution need not be as timely since the organization's
`work will not be impacted, unless the problem still exists
`by the start of the business day. Now suppose the account(cid:173)
`ing department, at the end of each month, runs a processor
`intensive task to do the end-of-month accounting, which
`normally forces the load average above that threshold. If
`the system load crosses that same average during the time
`when the accounting department runs their end of month
`program, that's not a problem. In order to build a tool to
`handle situations like these using current tools would
`require writing a large series of inter-related complex
`boolean expressions. Unfortunately, writing and testing
`such a series of complex boolean expressions are difficult.
`3. Current system administration tools view the universe of
`computer problems as a static universe. Computer prob(cid:173)
`lems, however, evolve over time as hardware and soft(cid:173)
`ware are added, removed, and replaced in a computer.
`
`The following documents are hereby incorporated by
`reference in its entirety:
`1. Object Oriented Programming, Coad P., and Nicola J.,
`YourDon Press Computing Series, 1993., ISBN 0-13-
`032616-X.
`2. The C Programming Language, Kernighan B., and
`Ritchie D., 1st Edition, Prentice-Hall Inc., ISBN 0-13-
`110163-3
`3. The Unix Programming Environment, Kernighan and
`Pike, Prentice-Hall Inc., ISBN 013-937699-2
`4. Unix Network Programming, Stevens, Prentice Hall Soft(cid:173)
`ware Series, 1990, ISBN 0-13-949876-1.
`5. Intemetworking with TCP/IP, Volume I, Principles, Pro(cid:173)
`tocols, and Architecture, 2d Ed, Prentice Hall, 1991,
`ISBN 0-13-468505-9
`6. Solaris 1.1, SMCC VersionA, AnswerBook for SunOS
`4.1.3 and Open Windows Version 3, Sun Microsystems
`Computer Corporation, Part Number 704-3183-10, Revi- 35
`sian A.
`7. Artificial Intelligence, Rich E., McGraw-Hill, 1983, ISBN
`0-07-052261-8.
`8. Artificial Intelligence, Winston P., 2d Edition, 1984, ISBN
`0-201-08259-4.
`9. Documentation for the SunOS 4.1.3 operating system
`from Sun Microsystems, Inc.
`10. SunOS 4.1.3 manual pages ("man pages") from Sun
`Microsystems, Inc.
`As used within this document and its accompaning draw- 45
`ings and figures, the following terms are to be construed in
`this manner:
`1. "CPU" shall refer to the central processing unit of a
`computer if that computer has a single processing unit. If
`the computer has multiple processors, the term CPU shall 50
`refer to all the processing units of such a system.
`2. "Managing a computer" shall refer to the steps necessary
`to manage a computer, for example, gathering and storing
`information, analyzing information to detect conditions,
`and acting upon detected conditions.
`The problem of system administration for a computer
`with a complex operating system such as the UNIX oper(cid:173)
`ating system is a complex one. For example, in the UNIX
`workstation market, it is common for an organization to hire
`one system administrator for every 20-50 workstations 60
`installed, with each such administrator costing a company
`(including salary and overhead) between $60,000 and $100,
`000. Indeed, some corporations have discovered that despite
`freezing or cutting back hardware and software purchases,
`the rising cost of retaining system administrators has nev- 65
`ertheless continued to escalate the cost of maintaining an
`Information Services organization at a substantial rate.
`
`40
`
`55
`
`Petitioners Old Republic Gen'l Insur. Group, et al., Ex. 1005, p. 14
`
`

`
`5,619,656
`
`4
`FIG. 11 illustrates one embodiment of the
`Watch AI-L request facility; and
`FIG. 12 illustrates one embodiment of the
`Watch AI-L report facility.
`
`SYSTEM-
`
`SYSTEM-
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENT
`
`3
`4. Furthermore, an automated tool should also flexibly alter
`its behavior based on the nature of the commands a
`system administrator issues to it in guiding it in to resolve
`problems. Thus, if the system administrator routinely
`ignores a particular problem, the automated tool should 5
`warn the system administrator less frequently if the rou(cid:173)
`tinely ignored problem reoccurs.
`What is needed is a tool which will automatically gather
`the necessary computer information to manage a group of
`computers, detect problems based upon the gathered infor- 10
`mation, inform the system administrator of detected prob(cid:173)
`lems, and automatically perform corrective actions to
`resolve detected problems.
`
`SUMMARY OF THE INVENTION
`
`The shortcomings of the prior art are overcome and
`additional advantages are provided in accordance with the
`principles of the present invention through the provision of
`SYSTEMWatch AI-L, which automatically manages at least
`one computer by automatically gathering computer infor(cid:173)
`mation, storing the gathered information, analyzing the
`stored information to identify specific computer conditions,
`and performing automatic actions based on the identified
`computer conditions.
`
`BRIEF DESCRIPTION OF DRAWINGS
`
`20
`
`25
`
`45
`
`One preferred embodiment of the technique of the present
`invention of managing a group of computers is targeted at
`groups of workstations running the UNIX operating system.
`Alternative embodiments of the present invention can con(cid:173)
`sist of groups of computers running other operating systems,
`such as, Microsoft's Windows NT and IBM's OS/2. As
`viewed in FIG. 1, the invention comprises, for instance, 2
`15 groups of computers:
`a. A group of managed computers, 1, which includes
`computers, 2-5, comprising, for example, (see FIG. 2)
`a CPU, 9, memory, 10, disks, 14, communications
`interface, 16, other peripherals, 15, and a SYSTEM(cid:173)
`Watch AI-L client, 13. The size of the managed group
`of computers can range from 1 to several thousand.
`Data which is gathered from a managed computer is
`stored on the managed computer. From time to time, a
`managed computer may send data to a monitoring
`computer (see below).
`b. A group of monitoring computers, 6, which includes
`computers comprising, for example, (see FIG. 3) a
`CPU, 17, memory,18, disks, 22, communications inter(cid:173)
`face, 24, other peripherals, 23, and a SYSTEMWatch
`AI-L console, 21. The size of the monitoring group of
`computers can range from 0 to several hundred.
`Although data gathered from a managed computer is
`stored on the managed computer, from time to time a
`managed computer may send data to a monitoring
`computer. A monitoring computer can also explicitly
`request data from a managed computer. Data which is
`received by the monitoring computer from a managed
`computer is stored on the monitoring computer. Fur-
`thermore, since a monitoring computer can receive data
`from several managed computers, a monitoring com(cid:173)
`puter may perform post-processing on data received
`from several managed computer, and/or perform addi(cid:173)
`tional data gathering itself, in which case that data is
`stored on the monitoring computer.
`In another embodiment the two groups of computers may
`be the same group (all managed computers are also moni(cid:173)
`toring computers), two distinct groups (no managed com(cid:173)
`puters are monitoring computers), or overlap (some man-
`50 aged computers are monitoring computers). The computers
`which form the groups of computers may be heterogeneous
`or homogeneous. The only requirement is that each managed
`computer have the capability to communicate with at least
`one monitoring computer. One preferred embodiment of this
`invention is to have all the computers on a computer
`network, but any other means of communication, e.g., over
`a modem using a telecommunications network, is adequate.
`The differentiation between managed and monitoring com(cid:173)
`puters are the SYSTEMWatch AI-L client and the SYS-
`60 TEMWatch AI-L console, which are described below:
`a. As show in FIG. 2, a computer is a managed computer
`if the computer is running the SYSTEMWatch AI-L
`client, which provides a means for the computer to
`automatically detect and respond to problems. Addi(cid:173)
`tionally, the SYSTEMWatch AI-L client also accepts
`and responds to commands issued by a SYSTEMWatch
`AI-L console described below.
`
`The subject matter which is regarded as the invention is
`particularly pointed out and distinctly claimed in the claims
`at the conclusion of the specification. The foregoing and 30
`other objects, features, and advantages of the invention will
`be apparent from the following detailed description taken in
`conjunction with the accompaning drawings in which:
`FIG. 1 illustrates an embodiment of the present invention
`which comprises two groups of computers, a group of 35
`managed computers and a group of monitoring computers.
`FIG. 2 illustrates one example of the structure of a
`managed computer, comprising a processing unit, memory,
`disk, network interface, peripherals, and a SYSTEMWatch
`AI-L client;
`· 40
`FIG. 3 illustrates one embodiment of the structure of a
`monitoring & command computer, comprising a processing
`unit, disk, network interface, peripherals, and a SYSTEM(cid:173)
`Watch AI-L console;
`FIG. 4 illustrates one embodiment of the structure of a
`computer which is both a managed computer and a moni(cid:173)
`toring computer, comprising a processing unit, disk, network
`interface, peripherals, a SYSTEMWatch AI-L console, and
`a SYSTEMWatch AI-L client;
`FIG. 5 illustrates one embodiment of the SYSTEMWatch
`AI-L client and the SYSTEMWatch AI-L console, compris(cid:173)
`ing of a core layer plus an application layer.
`FIG. 6 illustrates one embodiment of the logical structure
`of the core layer in accordance with the principles of the
`present invention;
`FIG. 7 illustrates one example of an embodiment of data
`within the database of the core layer accordance with the
`principles of the present invention;
`FIGS. Sa-Sb illustrates one embodiment of the operation
`of the expert system found in the core layer of SYSTEM(cid:173)
`Watch AI-L;
`FIG. 9 illustrates one embodiment of the SYSTEMWatch
`AI-L client's "client loop";
`FIG. 10 illustrates one embodiment of the SYSTEM(cid:173)
`Watch AI-L console's "console loop";
`
`55
`
`65
`
`Petitioners Old Republic Gen'l Insur. Group, et al., Ex. 1005, p. 15
`
`

`
`5,619,656
`
`5
`b. As shown in FIG. 3, a computer is a monitoring
`computer if the computer is running the SYSTEM(cid:173)
`Watch AI-L console, which provides a means for the
`computer to receive and display notifications of
`detected problems, and to display the corrective actions
`taken. Additionally, the SYSTEMWatch Al-L console
`is also able to issue commands to any group of man(cid:173)
`aged computers.
`
`5
`
`6
`7, in the context of the database, SYSTEMWatch AI-L uses
`two concepts: ENTITYs, 43, 53, and PROPERTYs, 44, 47,
`49, 54, 56. These two features are now described in greater
`detail:
`1. PROPERTY
`Conceptually, PROPERTY s are similar to field descrip(cid:173)
`tions. In one embodiment, a PROPERTY has the following
`features:
`
`FEATURE
`
`DESCRIPTION
`
`TABLE 1
`
`NAME
`TYPE
`
`FORMAT
`
`HEADER
`
`DISPLAYUNIT
`
`DISPLAYTYPE
`
`SHORTDESC
`
`LONGDESC
`
`A property must have a name.
`A property must have a type, which corresponds to the type of the data to
`be stored in the field.
`A property may optionally have a string which describes how the data in
`the field should be formatted. The format string is similar to the C
`language's printf( )' s formatting control.
`A property may optionally contain a string which will be displayed as the
`column header when a report featuring records containing the property is
`displayed.
`A string used by the reporting facility which is appended to the data in the
`field during a report. Thus, if the PROPERTY is a description of memory
`utilization in kilobytes, an appropriate DISPLAYUNIT might be "kb"
`Some display formats are commonly used through SYSTEMWatch AI-L.
`DISPLAYTYPES are keywords which corresponds to a particular
`FORMAT. Examples of DISPLAYTYPEs include STRING20, for a string
`limited to 20 characters in width, DATESMALL, for displaying date in
`mm/dd format, PERCENT, for automatically display numbers between
`0.0 and 1.0 as percentages (e.g.: 0.52 is displayed as 52%)
`A PROPERTY may optionally contain an abbreviated description of the
`PROPERTY.
`A PROPERTY may optionally contain a long description of the
`PROPERTY.
`
`c. As shown in FIG. 4, a computer is both a managed
`computer and a monitoring computer if it contains both 35
`SYSTEMWatch AI-L client, 13, and SYSTEMWatch
`AI-L console, 21.
`An Overview of the SYSTEM Watch AI-L Client
`The task of the SYSTEMWatch AI-L client is to manage
`a computer and to provide notification of management 40
`actions to the SYSTEMWatch AI-L console. Before explain(cid:173)
`ing how the SYSTEMWatch AI-L client operates, however,
`it is necessary to consider how the SYSTEMWatch AI-L
`client is organized. As previously mentioned, the SYSTEM(cid:173)
`Watch AI-L client is bifurcated into a core layer, 33, which 45
`provides the SYSTEMWatchAI-Lclient with the underlying
`mechanism for detecting and responding to problems, and
`an application layer, 34, which configures the SYSTEM(cid:173)
`Watch AI-L client to operate in a useful manner. The
`SYSTEMWatch AI-L client was designed this way because 50
`the nature of a particular computer~s problem is not static.
`For example, problems may evolve as changes are made to
`the hardware and software of the computer, and if the
`computer is a multi-user computer, as users are added and
`removed from the system. As computer problems change, 55
`only the SYSTEMWatch AI-L client's application layer
`need be modified. As shown in FIG. 6, the core layer is
`composed of four elements: a database, 41, an expert
`system, 40, a language interpreter, 39, and a communica(cid:173)
`tions mechanism, 42. One example of a preferred embodi- 60
`ment of the application layer, 34, is a series of programs
`written in a language which can be interpreted by the
`language interpreter of the core layer.
`Care Layer Description-Database
`The first element of the core layer is SYSTEMWatchAI-L 65
`database, 41. The database is used for storing gathered data,
`intermediate results, and other information. Refering to FIG.
`
`2. ENTITY
`Conceptually, ENTITY s are similar to database tables. In
`SYSTEMWatch AI-L, ENTITYs are used to group related
`PROPERTYs.
`FIG. 7 illustrates the concept that each piece of data in the
`database is associated with a given PROPERTY and a given
`ENTITY. In this document, it will be necessary to refer to
`certain combinations of ENTITY s and PROPERTY s. The
`(e.g.:
`construction <entity name>_ <property name>
`IGNORE_IGNORETIME) will refer to a database entry
`with an entity equal to <entity name> and a property equal
`to <property name>.
`In addition to ENTITY s and PROPERTY s, the database,
`41, in SYSTEMWatch AI-L also has these additional fea(cid:173)
`tures:
`1. Host Information
`Each piece of data in database, 41, automatically has host
`information associated with it. Thus, as data is stored in the
`database, the database automatically associates the host
`from which the data originated from. This is because in
`SYSTEMWatch AI-L, data is "owned" by the host from
`where the data originated. Other hosts may request a copy of
`the data since SYSTEMWatch AI-L has communications
`capabilities. Some data may be stored in a central location
`(e.g.: a SYSTEMWatch AI-L console) if it is relevant to
`multiple computers. Because each piece of data has host
`information associated with it, a SYSTEMWatch AI-L con(cid:173)
`sole can conslidate data from multiple hosts.
`2. Time Information
`Each piece of data in database, 41, has a time field
`associated with it. The time field by default has the last time
`the data was updated, but SYSTEMWatch AI-L provides a
`mechanism of changing the time field so its possible to store
`some other time in the field.
`
`Petitioners Old Republic Gen'l Insur. Group, et al., Ex. 1005, p. 16
`
`

`
`10
`
`20
`
`35
`
`3. Name
`Each piece of data in database, 41, has a key field which
`is called the name field. A name field must be unique for a
`given ENTITY, PROPERTY, and host (the name of a
`computer). Thus, within an ENTITY and PROPERTY used 5
`for tracking computer processes, the name field might be the
`process id since process ids are unique on each computer, so
`by specifying the ENTITY name, PROPERTY name, and
`host name, the name field forms a unique key to locate the
`data.
`4. Value
`Of course, a database stores data. In SYSTEMWatch
`AI-L, the term value refers to the data stored in the database.
`In one example, database, 41, is currently implemented as
`a relational database: One table is used for describing
`ENTITYs. This table is used to associate ENTITYs with 15
`PROPERTYs. Another table is used for describing PROP(cid:173)
`ERTY s. Finally, another table holds the information, which
`can be located by providing an ENTITY name, PROPERTY
`name, and the name field of the data. This table also contains
`the associated host and time information.
`In another embodiment, database, 41, can also be imple(cid:173)
`mented with a database which is object oriented, i.e, a
`database which supports the ability to inherit data and
`methods from super and sub classes.
`Additional requirements of database, 41, used in the core 25
`is that the database must support certain query operations
`and certain set operations. Specifically, the query operations
`supported by the database include:
`1. regular expression matching in queries.
`2. creation time or update time query, i.e., searching for a 30
`data item based upon the time the data was stored in the
`database or based on the time the data was last updated in
`the database.
`3. host of origin in queries, i.e., searching for a data item
`based on the host which created the data.
`4. time comparison query, i.e., searching for data based upon
`a time comparison. Note: SYSTEMWatch AI-L stores its
`time in a manner similar to the UNIX operating system.
`That is to say, all time is converted to seconds elapsed
`since the beginning of UNIX time. The advantages of 40
`using this method is that time comparisons are easily
`made, and a time plus an interval can be added to obtain
`a future time.
`The set operations which database, 41, supports include:
`1. set intersections (ANDs)-given 2 or more sets of data, 45
`return the elements present in all sets.
`2. set union (ORs)-given 2 or more sets of data, return the
`elements in all sets.
`3. set exclusion (NOTs)-given a first set and a second set,
`return elements in the first set which are not elements of
`the second set.
`Care Layer Description-The Expert System
`The second element of the core layer is an expert system,
`40, which is used for problem detection and action initiation.
`The expert system, 40, is a forward chaining rule based
`expert system using a rule specificity algorithm. When
`SYSTEMWatch AI-L client, 13, is started, the expert system
`contains no rules. Rules are declared and incorporated into
`the core layer. Rules support both the IF-THEN rules as well
`as IF-THEN-ELSE rules. The rules used in SYSTEMWatch
`AI-L permit assignments and function calls within the
`condition of the rule. Additionally, SYSTEMWatch AI-L
`expert system, 40, also has the following features:
`a. Rules can declare variables. All variables declared
`within a rule are static variables.
`b. Rules can have an initialization section. The initializa(cid:173)
`tion section contains actions which must be performed
`
`50
`
`55
`
`60
`
`65
`
`7
`
`5,619,656
`
`8
`only once, and before the rule is ever tested. It can, for
`example, contain a state declaration and an interval
`declaration (states and intervals are described below).lt
`may contain variable declarations for variables used by
`the rules, and it may contain code to do a variety of
`actions.
`c. Rules can have, for instance, an INTERVAL and a
`LASTCHECK time. In accordance with the principles
`of the present invention, in order for a rule to be eligible
`for testing by the expert system, at the time of testing
`the clock time must be equal to or greater than the
`LASTCHECK time plus the INTERVAL time. The
`LASTCHECK time for each rule is set to the clock time
`whenever a rule is actually tested. This way, the
`INTERVAL specifies the minimum amount of time
`which must elapse since the last time a rule was
`checked before the rule becomes eligible for testing
`again.
`d. The expert system and its rules have a state property.
`One example of the possible states is described below.
`Under expert system, 40, in order for a rule to be
`eligible for testing, the rule's state must equal the
`expert system's state. All rules except one must declare
`a state for the rule in its initialization section. The one
`rule without such a declaration is a rule used by expert
`system, 40, to switch it into the DATA state. Other rules
`are responsible for managing the transition from DATA
`to DATA2, and from DATA2 to EXCEPT. These states
`are described below:
`Data:
`The data state is assigned to rules which gather raw data
`from the computer system. Examples of such rules would be

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket