Monitoring of computer events

Abstract
A data processing system (1) is programmed with an interface (2) for capturing events which arise, and a process engine (3) for automatically monitoring captured events to identify completion of steps, each comprising a plurality of events linked by dependency relationships; and to identify completion of processes, each comprising a plurality of steps linked by dependency relationships. Software functions (5) execute in response to output of the process engine (3). The process engine (3) processes events to recognise a plurality of potential steps, but terminates other potential steps when completion of a step is determined. The process engine (3) processes steps to recognise a plurality of potential processes, but terminates other potential process when completion of a process is determined. The dependency relationships include Boolean AND operators and Boolean OR operators. There is a discrete start event for each step and a discrete start step for each process. The engine executes a plurality of processes simultaneously, applying captured events in real time to relevant steps, some events being applied to a plurality of steps.
Description

DETAILED DESCRIPTION OF THE INVENTION
DETAILED DESCRIPTION OF THE INVENTION

The invention will be more clearly understood from the following description of some embodiments thereof, given by way of example only with reference to the accompanying drawings in which:



FIG. 1 is a flow diagram for operation of a computer of the invention;



FIG. 2 is a diagram illustrating valid and invalid event sequences;



FIG. 3 is a table of criteria for triggering processes;



FIGS. 4(
a) and 4(b) are representation of how events, steps, and processes are stored; and



FIG. 5 is a sample timeline graph.


Claims
  • 1. A data processing system comprising a processor, a memory, and a storage device, wherein the processor comprises: an interface for capturing, at an operating system level, events which arise in the system,a process engine for automatically monitoring captured events to: identify completion of steps, each comprising a plurality of events linked by dependency relationships; andidentify completion of processes, each comprising a plurality of steps linked by dependency relationships,a trigger engine for executing in response to output of the process engine to trigger software functions;a database manager for saving process data generated by the process engine; anda reporting engine for generating reports according to the saved data.
  • 2. The data processing system as claimed in claim 1, wherein the process engine processes events to simultaneously recognise a plurality of potential steps, and terminates other potential steps when completion of a step is determined.
  • 3. The data processing engine as claimed in claim 1, wherein the process engine processes steps to simultaneously recognise a plurality of potential processes, and terminates other potential process when completion of a process is determined.
  • 4. The data processing system as claimed in claim 1, wherein the process engine processes events to simultaneously recognise a plurality of potential steps, and terminates other potential steps when completion of a step is determined; and wherein the dependency relationships include Boolean AND operators.
  • 5. The data processing system as claimed in any of claim 1, wherein the process engine processes events to simultaneously recognise a plurality of potential steps, and terminates other potential steps when completion of a step is determined; and wherein the dependency relationships include Boolean OR operators.
  • 6. The data processing system as claimed in any of claim 1, wherein the process engine processes events to simultaneously recognise a plurality of potential steps, and terminates other potential steps when completion of a step is determined; and wherein the dependency relationships include Boolean NOT operators.
  • 7. The data processing system as claimed in claim 1, wherein there is a discrete start event for each step and a discrete start step for each process.
  • 8. The data processing system as claimed in claim 7, wherein the process engine treats a step as current if its start event is received.
  • 9. The data processing system as claimed in claim 1, wherein each step has an end event.
  • 10. The data processing system as claimed in claim 1, wherein the process engine stores event lists defining the steps and said event lists are stored as mark-up language documents.
  • 11. The data processing system as claimed in claim 1, wherein the process engine stores step lists defining the processes and said step lists are stored as mark-up language documents.
  • 12. The data processing system as claimed in claim 10, wherein the mark-up language is XML.
  • 13. The data processing system as claimed in claim 1, wherein the trigger engine triggers said software functions according to criteria for process inter-dependencies and rules specifying parameter ranges or thresholds.
  • 14. The data processing system as claimed in claim 1, wherein the trigger engine comprises feedback means for generating events and feeding the events to the process engine.
  • 15. The data processing system as claimed in claim 1, wherein the process engine comprises means for associating real time stamps with events and with completed processes, and the database manager saves said real time stamps.
  • 16. The data processing system as claimed in claim 1, wherein the reporting engine correlates event and process times with a real time axis for display.
  • 17. The data processing system as claimed in claim 1, wherein the reporting engine correlates event and process times with a real time axis for display; and wherein the reporting engine comprises means for generating an output of event data indicating when events, steps, and processes occurred, for generating a graphical user interface allowing a user to configure said events into new steps and to configure said steps into new processes.
  • 18. The data processing system as claimed in claim 1, wherein the interface comprises means for capturing an event by querying an operating system for display controls, receiving a list of controls from the operating system, applying a pattern signature to the returned list to identify a target control, making a query to the operating system concerning the target control, and receiving a response with data for the target control.
  • 19. The data processing system as claimed in claim 1, wherein the interface comprises means for capturing an event by querying an operating system for display controls, receiving a list of controls from the operating system, applying a pattern signature to the returned list to identify a target control, making a query to the operating system concerning the target control, and receiving a response with data for the target control; and wherein a query is a request for an operating system document object model for a web page interface screen.
  • 20. The data processing system as claimed in claim 19, wherein a signature is applied to all objects in the model.
  • 21. The data processing system as claimed in claim 1, wherein the interface comprises means for capturing an event by querying an operating system for display controls, receiving a list of controls from the operating system, applying a pattern signature to the returned list to identify a target control, making a query to the operating system concerning the target control, and receiving a response with data for the target control; and a query is a request for a visually-impaired accessibility stream output via an API.
  • 22. The data processing system as claimed in claim 1, wherein the interface recognises passback events which are not included in steps, but are processed in parallel to provide datagrams to the trigger engine or the database manager.
  • 23. The data processing system as claimed in claim 22, wherein the process engine links trails of passback events to provide a log concerning an activity.
  • 24. The data processing system as claimed in claim 21, wherein the process engine applies passback event datagrams with notifications of processes being completed.
  • 25. The computer readable medium comprising software for performing operations of a data processing system of claim 1 when executing on a digital processor.
Provisional Applications (1)
Number Date Country
60783043 Mar 2006 US