throbber
US 6,732,359 B1
`(10) Patent No:
`a2) United States Patent
`May4, 2004
`(45) Date of Patent:
`Kirkpatrick et al.
`
`
`US006732359B1
`
`(54) APPLICATION PROCESS MONITOR
`(75)
`Inventors: Mark Kirkpatrick, Conyers, GA (US);
`Darin J. Morrow, Acworth, GA (US)
`
`(*) Notice:
`
`(73) Assignee: BellSouth Intellectual Property
`Corporation, Wilmington, DE (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`(21) Appl. No.: 09/468,446
`(22)
`Filed:
`Dec. 21, 1999
`7
`(51)
`Tint, CIeee tee nee eenee cette G06F 9/00
`_
`(52) US. Ch. cet 718/102; 718/104; 718/107
`
`(58) Field of Search «0.0.0.0... esse 709/104, 107,
`709/100, 101, 102, 103; 717/27, 127; 718/100,
`101, 102, 103, 104, 105, 106, 107
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`5,715,389 A *
`2/1998 Komori w.. eee 714/47
`5/1998 Notenboometal. .......... 700/3
`5,748,468 A *
`5,835,765 A * 11/1998 Matsumoto ...... 709/102
`* cited by examiner
`Primary Examiner—Majid A. Banankhah
`(74) Attorney, Agent, or Firm—Woodcock Washburn LLP
`(57)
`ABSTRACT
`A computer system has a memory, an operating system, and
`a computer application instantiated in a work space in the
`memory as managed by the operating system. The applica-
`tion includes a plurality of application processes running in
`the work space. An application monitor monitors whether
`each of the plurality of application processes is in fact
`running, and automatically attempts to remedy an occur-
`rence where anyof the plurality of application processesis
`not in fact running.
`
`59 Claims, 2 Drawing Sheets
`
`
`
`RUN APPLICATION MONITOR- 201
`
`!
`MONITOR WHETHEREACH AP. PROC. IS RUNNING — COMPARE
`APP. PROC. STATUS INFO. WITH EACH LISTED AP. PROC. - 203
`
`
`v
`
`
`
`
`
`
`AUTOMATICALLY ATTEMPT TO REMEDY NON-RUNNING
`APPLICATION PROCESSES — PERFORM RE-START -205
`
`t
`
`f=
`Y
`SHUTDOWN AND||SHUTDOWN EACH
`APPLICATION
`RE-START
`PROCESSIN
`APPLICATION ~||REVERSE ORDER
`RE-START EACH||SHUTDOWN EACH||Ont Somnt AND
`NON-RUNNING
`APPLICATION
`PE STAREADt
`APPLICATION
`PROCESSIN
`APPLICATION.
`
`PROCESS -205A||REVERSE ORDER ATION
`PROCESS FROM
`AS LISTEDIN
`SNe IN
`CONFIGURATION||-opwany ORDER -
`FILE - 2058
`an
`
`
`
`
`
`CHECK AFTER RE-START TO DETERMINE WHETHER EACH
`APPLICATION PROCESSIS RUNNING - 207
`4
`
`CREATE AND STORE RECORDOF RE-START- 209
`UO
`!
`ISSUE EMERGENCYNOTIFICATION IF REPEATED RE-STARTS
`OCCUR - 211
`
`
`
`Google Exhibit 1061
`Google v. VirtaMove
`
`Google Exhibit 1061
`Google v. VirtaMove
`
`

`

`U.S. Patent
`
`May 4, 2004
`
`Sheet 1 of 2
`
`US6,732,359 B1
`
`OPERATING
`SYSTEM 14
`
`CONFIG. FILE
`22
`
`RE-START
`JOURNAL26
`
`APPLICATION
`MONITOR10
`
`AP. PROC.
`STAT.INFO. 24
`
` COMPUTER 12
`
`AP. PROC. A
`18
`
`AP. PROC. B
`18
`
`AP. PROC. C
`18
`
`AP. PROC. D
`18
`
`APPLICATION 16
`
`WORKSPACE 20
`
`MEMORY13
`
`FIG. 1
`
`

`

`U.S. Patent
`
`May 4, 2004
`
`Sheet 2 of 2
`
`US6,732,359 B1
`
`RUN APPLICATION MONITOR- 201
`
`MONITOR WHETHER EACHAP. PROC. IS RUNNING — COMPARE
`APP. PROC. STATUS INFO. WITH EACH LISTED AP. PROC. - 203
`
`AUTOMATICALLY ATTEMPT TO REMEDY NON-RUNNING
`APPLICATION PROCESSES — PERFORM RE-START-205
`
`205C
` SHUT DOWN EACH
`
`RE-START EACH
`NON-RUNNING
`APPLICATION
`PROCESS- 205A
`
`SHUT DOWN AND
`RE-START
`APPLICATION —
`SHUT DOWN EACH
`APPLICATION
`PROCESS IN
`REVERSE ORDER
`AS LISTED IN
`CONFIGURATION
`FILE - 205B
`
`APPLICATION
`PROCESS IN
`REVERSE ORDER
`UNTIL POINT AND
`RE-START EACH
`APPLICATION
`PROCESS FROM
`POINTIN
`FORWARD ORDER-
`
`CHECK AFTER RE-START TO DETERMINE WHETHER EACH
`APPLICATION PROCESS IS RUNNING- 207
`
`CREATE AND STORE RECORDOF RE-START- 209
`
`ISSUE EMERGENCY NOTIFICATION IF REPEATED RE-STARTS
`OCCUR - 211
`
`FIG. 2
`
`

`

`US 6,732,359 B1
`
`1
`APPLICATION PROCESS MONITOR
`
`FIELD OF THE INVENTION
`
`The present invention relates to a method and apparatus
`for monitoring an application process. In particular,
`the
`present invention relates to monitoring the constituent com-
`ponents of an application and responding to failures in the
`operation thereof.
`BACKGROUND OF THE INVENTION
`
`Typically, a computer system/computer has an operating
`system, and a computer application is instantiated on the
`computer in the form of one or more application processes
`running in a work space managed by the operating system.
`This is especially truc with regards to large and/or complex
`applications, such as an application for managing one or
`more aspects of a factory, for controlling environmental
`conditions in a large building, for controlling power gen-
`eration in a powerfacility, etc.
`Forany of a variety of reasons, an application process can
`fail. For example, an application process can fail if a needed
`resource is not available, if an expected piece of information
`is missing, or if an impermissible operation is performed,
`among other things. While such a failure does not neces-
`sarily cause the entire application to fail immediately, such
`failure of such entire application is likely to be inevitable.
`As should be evident, failure of an entire application can
`be annoying to a system operator to say the least, and can
`cause critical and even fatal damage to say the most. In the
`most benign situation, a computer operator must somehow
`be informed that the application has failed and then must
`re-start the application on the computer. Of course, if the
`operator must be summoned at an inopportune hour, and/or
`if the operator must travel a relatively long distance to an
`appropriate location to commandthe re-start, even the most
`benign situation can become very costly and/or highly
`troublesome. In the most ominoussituation, the failure of
`the application can lead to loss of life, if for example the
`application controls medical equipment in a hospital; loss of
`property, if for example the application controls environ-
`mental equipmentin a sensitive location; and/or other dan-
`gerous situations.
`Accardingly, a need exists for a method and apparatus for
`monitoring the application processes that comprise an appli-
`cation running on an operating system, and for automatically
`attempting to address the failure of an application process
`before such failure causes the failure of the entire applica-
`tion.
`
`SUMMARYOF THE INVENTION
`
`invention, a computer system has a
`In the present
`memory, an operating system, and a computer application
`instantiated in a work space in the memory as managed by
`the operating system. The application includesa plurality of
`application processes running in the work space. An appli-
`cation monitor monitors whether each of the plurality of
`application processes is in fact running, and automatically
`attempts to remedy an occurrence where anyof the plurality
`of application processes is not in fact running.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The foregoing summary, as well as the following detailed
`description of preferred embodiments of the present
`invention, will be better understood when read in conjunc-
`
`10
`
`15
`
`20
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`tion with the appended drawings. For the purpose of illus-
`trating the invention,
`there are shown in the drawings
`embodiments which are presently preferred. As should be
`understood, however,
`the invention is not
`limited to the
`precise arrangements and instrumentalities shown. In the
`drawings:
`FIG. 1 is a block diagram showing an application monitor
`operating in conjunction with a plurality of application
`processes constituting an application on a computer in
`accordance with one embodimentof the present invention;
`and
`
`FIG. 2 is a flow chart depicting steps employed by the
`application monitor of FIG. 1 in accordance with one
`embodimentof the present invention.
`
`DETAILED DESCRIPTION OF PREFERRED
`EMBODIMENTS
`
`Referring now to FIG. 1, an application monitor 10 is
`shown in accordance with one embodiment of the present
`invention. As seen, the application monitor 10 runs on a
`computer system/computer 12 or the like, and therefore may
`be embodied in the form of appropriate computer software.
`Of course, the application monitor 10 mayalso be embodied
`in the form of appropriate hardware or a combination of
`appropriate hardware and software without departing from
`the spirit and scope of the present invention.
`As was discussed above, the computer 12 typically has a
`memory 13 and an operating system 14, and a computer
`application 16 is instantiated on the computer 12 in the form
`of one or more application processes 18 running in a work
`space 20 in the memory 13 as managed by the operating
`system 14 and set aside specifically for the application 16.
`Notably, any appropriate computer 12, operating system 14,
`and application 16 may be employed without departing from
`the spirit and scope of the present invention. For example,
`the computer 12 may be a mainframe computer, a mini-
`computer, a desktop- or laptop-bascd personal computer, or
`the like;
`the operating system may be a LINUX-based
`operating system, a WINDOWS-basedoperating system, a
`UNIX-based operating system, or some other operating
`system; and the application may be a banking system an
`environmental control system, a physical plant control
`system,a factory operation system, a medical facility opera-
`tion system, or another application.
`As shown,
`the operating system 14 may be operating
`separately from the memory 13, or may be operated in the
`memory13. Such memory 13 maybe any type of computer
`memory, such as RAM, ROM, a hard disk drive, a remov-
`able disk drive, a CD-ROM drive, or combinations thereof,
`without departing from the spirit and scope of the present
`invention.
`
`Typically, when an operator commands the operating
`system 14 of a computer 12 to instantiate an application 16,
`such operating system 14 performs a numberof procedures.
`In one of such procedures, the operating system 14 locates
`a configuration file 22 for the application 16 in the memory
`13, and then processes the located configuration file 22. In
`particular, the configuration file includesa list of the appli-
`cation processes 18 that are to be run as part of instantiating
`the application 16. For example, the configurationfile 22 for
`a particular application 16 may include the following com-
`mands:
`
`RUN APPLICATION PROCESS A
`RUN APPLICATION PROCESS B
`
`

`

`US 6,732,359 B1
`
`3
`RUN APPLICATION PROCESS C
`RUN APPLICATION PROCESS D
`
`As should be apparent from FIG. 1, the processing of the
`aforementioned configuration file 22 creates such applica-
`tion processes A-D in the work space 20 set aside for the
`application 16 by the operating system 14 of the computer
`12. Of course, any particular configuration file 22 may be
`employed without departing from the spirit and scope of the
`present invention, and such configuration file 22 may con-
`tain other commands,again without departing from the spirit
`and scope of the present invention.
`Depending on the application 16, the constituent appli-
`cation processes 18 thereof may work independently of each
`other. That is, the operation of each application process 18
`does not affect the operation of any other application process
`18. More likely, though, at least some of the constituent
`application processes 18 of the application 16 are dependent
`on other application processes 18. That is, for at least some
`of the application processes 18, the operation of each such
`application process 18relics at lcast in part on the operation
`of at least one other application process 18. Accordingly,if
`a first application process 18 fails and therefore does not
`perform a particular function, a second application process
`that
`is depending on the first application process 18 to
`perform the particular function will likely in turn fail. Since
`a third application process 18 may be dependent on the
`second application process 18, a fourth application process
`18 may be dependent on the third application process 18,
`etc., such third, fourth, and further application processeswill
`likely eventuallyfail, too, until the underlying application 16
`collapses and grinds to a halt. As may be appreciated, such
`a cascade offailures can occur overa relatively short period
`(a millisecond, for example) or a relatively long period
`(days, for example).
`In one embodiment ofthe present invention, in addition to
`running each application process 18 as specified in the
`configuration file 22 to create such application process 18 in
`the work space 20 of the application 16,
`the operating
`system 14 of the computer 12 also runs the aforementioned
`application monitor 10 to create such application monitor 10
`(step 201, FIG. 2). As should be understood, the application
`monitor 10 is for monitoring the application 16, and in
`particular is for monitoring whether each constituent appli-
`cation process 18 is running (step 203, FIG. 2).
`As shown, the application monitor 10 for the application
`16 may be created by the operating system 14 in the work
`space 20 of the application 16. However, such application
`monitor 10 mayalso be created elsewhere without departing
`from the spirit and scope of the present invention. Further,
`the running of the application monitor 10 may take place in
`the course of processing the configuration file 22, or may
`take place separately. If separately, an application script or
`the like associated with the application 16 may include
`commands such as:
`
`RUN CONFIGURATION FILE
`RUN APPLICATION MONITOR
`
`Such application script thus causes the operating system 14
`to locate and process the configuration file 22 and also to
`locate and run the application monitor 10.
`In one embodiment of the present application, the appli-
`cation monitor 10 periodically checks with the operating
`system 14 to determine whether each application process 18
`is still running. The actual frequency of the checks may of
`course vary without departing from the spirit and scope of
`
`10
`
`15
`
`20
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`the present invention, and may be a function of such factors
`as the degree of reliability of the application 16, the criti-
`cality of the application 16, system resources available, the
`meantime for a failure of an application process 18 to cause
`a failure of the entire application 16, and the like.
`In operation, the application monitor 10 is aware of each
`application proccss 18 listed in the configuration file 22 for
`the application 16, and refers to application process status
`information 24 maintained by the operating system 14 in the
`memory 13 (and perhaps even in the work space 20) to
`ascertain whether each such application process 18 is still
`running. The application monitor 10 may be made aware of
`each application process 18listed in the configurationfile 22
`in anyof several ways without departing from the spirit and
`scope of the present application. For example, the applica-
`tion monitor 10 may be specifically programmed with the
`name of each such application process 18, or may be
`provided with the capability to read the name of each
`application process from the configuration file 22, among
`other things.
`The application process status information 24 maintained
`by the operating system 14 includes the name of each
`application process 18 currently running or the equivalent,
`and perhapsfurther information as to the status of each such
`application process 18 (i.e., ‘running’, ‘standby’, etc.). Such
`information 24 is likely organized in a table and stored by
`the operating system 14 in an appropriate location such as
`the memory 13, as shown. If an application process 18 has
`failed, it may be listed in the information 24 as such, or as
`some variation thereof (‘failed’,
`‘not responding’, e.g.).
`Alternatively, such a failed application process 18 may not
`be listed in the information 24 at all. Thus,
`to ascertain
`whether each application process 18 of the application 16 is
`still running, the application monitor 10 in essence checks
`that each application process 18as listed in the configuration
`file 22 for the application 16 is also listed in the application
`process status information 24 as running or the equivalent
`(ie.,
`‘running’,
`‘standby’, etc., and not
`‘failed’,
`‘not
`responding’, etc.) (step 203, FIG. 2).
`If each such application process 18 of the application 16
`is in fact still running or the equivalent, the application
`monitor 10 need take no action except to remind itself to
`perform another check after the specified period has passed.
`However, if one or more of the application processes 18 of
`the application 16 have stopped, either due to failure or
`otherwise, the application monitor 10 attempts to address
`and remedy the situation, as will be explained in moredetail
`as follows (step 205, FIG. 2).
`In one embodiment of the present invention, addressing
`and remedyingthe situation involves the application monitor
`10 executing a command in cooperation with the operating
`system 14to re-start each failed application process 18 (step
`205A, FIG. 2). Notably, though, application processes 18
`often must be started in a particular sequence, such as that
`specified in the configuration file 22, owing to their depen-
`dent nature. Accordingly, re-starting a particular application
`process 18 out of sequence may not be successful, and in fact
`could cause other application processesto fail. Accordingly,
`such re-starting of a particular application process 18 is
`preferably immediately followed by the application monitor
`10 re-checking with the operating system 14 to determine
`whether each application process 18 is still running (step
`207, FIG. 2).
`In one embodiment of the present invention, if the afore-
`mentioned re-start of particular application processes 18 is
`unsuccessful, or as an alternative thereto, addressing and
`remedying the situation involves the application monitor 10
`
`

`

`US 6,732,359 B1
`
`10
`
`15
`
`20
`
`6
`5
`whether each application process 18 is still running. If in fact
`causiog the application 16 to shut down by causing each
`the partial re-start was unsuccessful, a controlled shut-down
`application process 18 thereof to shut down, and then
`and re-start should be performed (step 207, FIG. 2).
`causing the application to re-start in the normal manner,1.e.,
`In one embodimentof the present invention, a record of
`according to a commandto the operating system 14 of the
`each re-start/shut-down,
`including all appropriate
`computer 12 to again instantiate the application 16 (step
`information, is created and stored in a re-start/shut-down
`205B,FIG. 2). Accordingly, such operating system 14 would
`journal 26 located in the memory 13 of the computer 12 or
`then perform normalstart-up proceduresfor the application,
`elsewhere (step 209, FIG. 2). Thus, an operator and/or
`including locating and processing the configuration file 22
`programmer may review the journal 26 to diagnose the
`for the application 16, and if necessary or desirable again
`cause of any repeated application shut-downs.If a repeated
`running the application monitor 10.
`shut-downs occur, orif re-starts are repeatedly unsuccessful,
`Such shut-down may be as simple as immediately killing
`the application monitor 10 may cause an emergency notifi-
`all of the application processes 18 of the application 16 in no
`cation or the like to be issued to appropriate personnel by
`particular order or sequence and without any attempt to save
`way of an electronic mail message, an electronic telephone
`any data. However, such a ‘kill’ shut-down may be quite
`message, a telephone call
`to a beeper number, a radio
`radical and needlessly harsh in most circumstances. In one
`message, a warning buzzer,etc. (step 211, FIG. 2).
`embodiment of the present
`invention,
`the shut-down is
`The programming necessary to effectuate the present
`controlled as much as possible and is done in an orderly
`invention, such as the programming run bythe application
`manner in an attempt to save as much data as possible.
`monitor 10, the operating system 14, and the application 16
`Accordingly, such a ‘controlled’ shut-downis in a manner
`and application processes 18 thereof, is knownoris readily
`similar to if nol identical with a normal shut-down of the
`apparent to the relevant public. Accordingly, further details
`as to the specifics of such programming are not believed to
`application 16, excepting of course the fact that one or more
`be necessary herein.
`constituent application processes 18 are already de facto
`As should now be understood, in the present invention, a
`shut down. Such controlled shut-down may be directed by
`method and apparatus are provided to monitor the applica-
`the application 16 itself or by the application monitor 10 if
`tion processes 18 that comprise an application 16 running on
`the application 16 is unable or willing to shut itself down.
`an operating system 14 of a computer 12, and for automati-
`Accordingly, in such a situation, the application monitor 10
`cally attempting to address the failure of an application
`includes appropriate controlled shut-downprocedures and is
`process 18 before such failure causes the failure of the entire
`capable of executing such procedures in cooperation with
`application 16. Changes could be made to the embodiments
`the operating system 14.
`described above without departing from the broad inventive
`Such shut-down procedures may comprise shutting down
`concepts thereof. It is understood, therefore, that this inven-
`each application process in the reverse order/sequence as
`listed in the configuration file 22 (i.e., Application Process
`tion is not limited to the particular embodiments disclosed,
`D, Application Process C, Application Process B, etc.). In
`but it is intended to cover modifications within the spirit and
`
`suchasituation, it is preferable that the application monitor scope of the present invention as defined by the appended
`35
`claims.
`10 not be run in the course of processing the configuration
`Whatis claimed is:
`file 22. Otherwise, the application monitor 10 could shut
`itself down prematurely. Once the application 16 is fully
`shut down, the application monitor 10, which shouldstill be
`running, then can execute an appropriate start-up command
`in cooperation with the operating system 14. The application
`monitor 10 may then shut itself down in anticipation of
`being re-started by the operating system 14 in the course of
`re-starting the application 16, or may leave itself running.
`In one embodiment of the present invention, if the afore-
`mentioned re-start of particular application processes 18 is
`unsuccessful, or as an alternative thereto, addressing and
`remedying the situation involves the application monitor 10
`executing a command in cooperation with the operating
`system 14 to partially shut down the application 16 to the
`point of the failed application process 18, and then
`re-starting from such point (step 205C, FIG. 2). That is,
`remembering that the application processes 18 were started
`in a particular order/sequence as specified in the configura-
`tion file 22 (i.e., Application Process A, Application Process
`B, Application Process C, etc.), such application processes
`18 are shut downin the reverse order/sequence (i-e., Appli-
`cation Process D, Application Process C, Application Pro-
`cessB, etc.) until the point whereall of the failed application
`processes 18 would have been shut down. Thereafter, the
`application monitor 10 causes the application 16 to re-start
`from that point accordingto the particular order/sequence as
`specified in the configuration file 22.
`Owing to the fact that such a ‘partial’ shut-down and
`re-start may not be successful for any of a variety of reasons,
`such partial re-start of the application 16 is preferably
`immediately followed by the application monitor 10
`re-checking with the operating system 14 to determine
`
`1. A computer system having a memory, an operating
`system, a computer application instantiated in a work space
`in the memory as managed by the operating system, the
`application including a plurality of application processes
`running in the work space, and an application monitor
`monitoring whether each of the plurality of application
`processesis in fact running and automatically attempting to
`remedy an occurrence where any of the plurality of appli-
`cation processes is not in fact running.
`2. ‘he computer system of claim 1 wherein the applica-
`tion monitor is created by the operating system in the work
`space of the application.
`3. The computer system of claim 1 wherein the operating
`system instantiates the application by processing a configu-
`ration file which includes a scquential list of the plurality of
`application processes to be run, and wherein the application
`monitor is run separately from the processing of the con-
`figuration file.
`4. The computer system of claim 1 wherein the applica-
`tion monitor periodically checks with the operating system
`to determine whether each of the plurality of application
`processes is in fact running.
`5. The computer system of claim 1 wherein if the appli-
`cation monitor finds that any of the plurality of application
`processes is not in fact running, such application monitor
`re-start each non-running application process.
`6. The computer system of claim 5 wherein there-start is
`followed by the application monitor checking to determine
`whether each application process is in fact running.
`7. The computer system of claim 5 wherein the applica-
`tion monitor creates and stores a record of the re-start.
`
`30
`
`40
`
`45
`
`55
`
`60
`
`65
`
`

`

`US 6,732,359 B1
`
`7
`8. The computer system of claim 5 wherein the applica-
`tion monitor issues an emergencynotification if repeated
`re-starts occur.
`
`9. The computer system of claim 8 wherein the applica-
`tion monitor issues the emergency notification by way of a
`memberof a group consisting of an electronic mail message,
`an clectronic telephone message,a telephonecall to a beeper
`number, a radio message, and a warning buzzer.
`10. The computer system of claim 1 wherein if the
`application monitor finds that any of the plurality of appli-
`cation processes is not in fact running, such application
`monitor shuts down and re-starts the application.
`11. The computer system of claim 10 wherein the re-start
`is followed by the application monitor checking to deter-
`mine whether each application processis in fact running.
`12. The computer system of claim 10 wherein the oper-
`ating system instantiates the application by processing a
`configuration file which includes an ordered list of the
`plurality of application processes to be run, and wherein the
`shut down comprises shutting down each of the plurality of
`application processes in a reverse order as listed in the
`configurationfile.
`13. The computer system of claim 10 wherein the appli-
`cation monitor creates and stores a record of the re-start.
`
`14. The computer system of claim 10 wherein the appli-
`cation monitor issues an emergency notification if repeated
`re-starts occur.
`
`15. The computer system of claim 14 wherein the appli-
`cation monitor issucs the emergency notification by way of
`a member of a group consisting of an electronic mail
`message, an electronic telephone message, a telephone call
`to a beeper number, a radio message, and a warning buzzer.
`16. The computer system of claim 1 wherein the operating
`system instantiates the application by processing a configu-
`ration file which includes an orderedlist of the plurality of
`application processes to be run, and wherein if the applica-
`tion monitor finds that any of the plurality of application
`processes is not in fact running, such application monitor
`shuts down each of the plurality of application processes in
`a reverse orderas listed in the configurationfile until a point
`where all of the non-running application processes would
`have been shut down, and then re-starts each of the plurality
`ot application processes from the point in a forward order as
`listed in the configuration file.
`17. The computer system of claim 16 whereinthe re-start
`is followed by the application monitor checking to deter-
`mine whether each application process is in fact running.
`18. The computer system of claim 16 wherein the appli-
`cation monitor creates and stores a record of the re-start.
`
`19. The computer system of claim 16 wherein the appli-
`cation monitor issucs an cmergency notification if repeated
`re-starts occur.
`
`20. The computer system of claim 19 wherein the appli-
`cation monitor issues the emergency notification by way of
`a member of a group consisting of an electronic mail
`message, an electronic telephone message, a telephonecall
`to a beeper number, a radio message, and a warning buzzer.
`21. An application monitor employed in connection with
`a computer system having a memory, an operating system,
`and a computer application instantiated in a work space in
`the memory as managed by the operating system,
`the
`application including a plurality of application processes
`running in the work space, the application monitor moni-
`toring whether each of the plurality of application processes
`is in fact running and automatically attempting to remedy an
`occurrence where any of the plurality of application pro-
`cesses is not in fact running.
`
`10
`
`15
`
`20
`
`30
`
`35
`
`40
`
`45
`
`55
`
`60
`
`65
`
`8
`22. The application monitor of claim 21 wherein the
`application monitor is created by the operating system in the
`work space of the application.
`23. The application monitor of claim 21 wherein the
`operating system instantiates the application by processing a
`configuration file which includes a sequential
`list of the
`plurality of application processes to be run, and wherein the
`application monitor is run separately from the processing of
`the configuration file.
`24. The application monitor of claim 21 wherein the
`application monitor periodically checks with the operating
`system to determine whether each of the plurality of appli-
`cation processes is in fact running.
`25. The application monitor of claim 21 wherein if the
`application monitor finds that any of the plurality of appli-
`cation processes is not in fact running, such application
`monitor re-starts each non-running application process.
`26. The application monitor of claim 25 wherein the
`re-start is followed by the application monitor checking to
`determine whether each application process is in fact run-
`ning.
`27. The application monitor of claim 25 wherein the
`application monitor creates and stores a record of the
`re-start.
`
`28. The application monitor of claim 25 wherein the
`application monitor issues an emergency notification if
`repeated re-starts occur.
`29. The application monitor of claim 28 wherein the
`application monitor issucs the emergency notification by
`way of a memberof a group consisting of an electronic mail
`message, an electronic telephone message, a telephonecall
`to a beeper number, a radio message, and a warning buzzer.
`30. The application monitor of claim 21 wherein if the
`application monitor finds that any of the plurality of appli-
`cation processes is not in fact running, such application
`monitor shuts down andre-starts the application.
`31. The application monitor of claim 30 wherein the
`re-start is followed by the application monitor checking to
`determine whether each application process is in fact run-
`ning.
`32. The application monitor of claim 30 wherein the
`operating systeminstantiates the application by processing a
`configuration file which includes an ordered list of the
`plurality of application processes to be run, and wherein the
`shut down comprises shutting downeachof the plurality of
`application processes in a reverse order as listed in the
`configurationfile.
`33. The application monitor of claim 30 wherein the
`application monitor creates and stores a record of the
`re-start.
`
`34. The application monitor of claim 30 wherein the
`application monitor issues an emergency notification if
`repeated re-starts occur.
`35. The application monitor of claim 34 wherein the
`application monitor issues the emergency notification by
`way of a memberof a group consisting of an electronic mail
`message, an electronic telephone message, a telephonecall
`to a beeper number, a radio message, and a warning buzzer.
`36. The application monitor of claim 21 wherein the
`operating system instantiates the application by processing a
`configuration file which includes an ordered list of the
`plurality of application processes to be run, and wherein if
`the application monitor finds that any of the plurality of
`application processesis not in fact running, such application
`monitor shuts down each of the plurality of application
`processesin a reverse order aslisted in the configuration file
`until a point where all of the non-running application
`
`

`

`US 6,732,359 B1
`
`
`
`9
`processes would have been shut down, and then re-starts
`each of the plurality of application processes from the point
`in a forward orderas listed in the configurationfile.
`37. The application monitor of claim 36 wherein the
`re-start is followed bythe application monitor checking to
`determine whether each application process is in fact run-
`ning.
`38. The application monitor of claim 36 wherein the
`application monitor creates and stores a record of the
`re-start.
`
`39. Th

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