US20020138663A1 - System and method for ensuring and managing situation awareness - Google Patents

System and method for ensuring and managing situation awareness Download PDF

Info

Publication number
US20020138663A1
US20020138663A1 US10/017,739 US1773901A US2002138663A1 US 20020138663 A1 US20020138663 A1 US 20020138663A1 US 1773901 A US1773901 A US 1773901A US 2002138663 A1 US2002138663 A1 US 2002138663A1
Authority
US
United States
Prior art keywords
data
data stream
event
events
stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/017,739
Inventor
Michael Ladwig
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northrop Grumman Corp
Original Assignee
Northrop Grumman Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northrop Grumman Corp filed Critical Northrop Grumman Corp
Priority to US10/017,739 priority Critical patent/US20020138663A1/en
Publication of US20020138663A1 publication Critical patent/US20020138663A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Definitions

  • the present invention relates generally to monitoring of data streams, and more particularly, relates to providing situation awareness by monitoring incoming data streams using a rule base.
  • the incoming data streams can be sent by hunter and gatherer agents or can be incoming message traffic.
  • Intelligent systems have been developed which are focused on the needs of situation awareness users. These systems shared a common internal system architecture that significantly lowered system development cost and risk. The flexibility of the architecture was demonstrated when it solved a wide variety of user problems including terrorist activity analysis, low intensity conflict monitoring, military intelligence, and strategic threat assessment. However, the goal of a generic user environment remained unrealized throughout this period. Some generic, reusable user tools could be developed, but most had to be closely linked to the problem being solved.
  • a method and apparatus in which one or more data streams are sent to a computer and the data streams are sorted using a rule base into streams representative of events.
  • the incoming data streams can be sent by hunter agents which search for specified types of data and forward the data to the computer.
  • the incoming data stream can also be sent by a gatherer agent.
  • the incoming data stream can also be incoming message traffic such as e-mail and other types of message traffic data.
  • the incoming message traffic data is then sorted into event streams and can be displayed as event streams on a time line. Actions can be taken based upon specified events.
  • events from disjointed sources can be sorted and displayed in a unified manner in which a user can readily and quickly know which events have occurred for a particular issue, such as a forest fire, hospital patient, etc.
  • the foregoing objects of the present invention are also achieved by a method for monitoring an incoming data stream for specified events. At least one data stream is received at a computer, the data stream including data representative of events. Rules are applied to the data stream for sorting data representative of events and for taking an action based on a specified event.
  • a medium bears the executable instructions in machine readable form, wherein execution of the instructions by one or more processors causes the one or more processors to receive at least one data stream at a computer, the data stream including data representative of events.
  • the processors apply rules to the data stream for sorting data representative of events and for taking an action based on a specified event.
  • the foregoing objects of the present invention are also achieved by a computer architecture for monitoring an incoming data stream for specified events.
  • the computer architecture includes receiving means for receiving at least one data stream at a computer, the data stream including data representative of events.
  • the computer architecture also includes applying means for applying rules to the data stream for sorting data representative of events and for taking an action based on a specified event.
  • a computer system including a processor and a memory coupled to the processor, the memory having stored therein sequences of instructions, which, when executed by the processor, causes the processor to perform the following steps.
  • At least one data stream is received at a computer, the data stream including data representative of events. Rules are applied to the data stream for sorting data representative of events and for taking an action based on a specified event.
  • FIG. 1 is a high level block diagram of a computer system usable with the present invention
  • FIG. 2 is a block diagram of an exemplary network architecture usable with the present invention
  • FIG. 2A is a schematic illustration of various event stream objects usable in the present invention.
  • FIG. 3 is an illustration of events being ingested by a presence and sorted using rules and actions into streams
  • FIG. 4 is an illustration of an event explorer window
  • FIG. 5 is an illustration of a stream rules/criteria window
  • FIG. 6 is an illustration of a stream actions/matched tasks window
  • FIG. 7 is an illustration of a stream management/general window
  • FIG. 8 is an illustration of a stream management/substreams window
  • FIG. 9 is an illustration of an event search window
  • FIG. 10 is an illustration of an event display stream.
  • FIG. 1 is a block diagram illustrating an exemplary computer system 100 upon which an embodiment of the invention may be implemented.
  • the present invention is usable with currently available personal computers, mini-mainframes and the like.
  • the computer system 100 can be a “presence” as described below.
  • Computer system 100 includes a bus 102 or other communication mechanism for communicating information, and a processor 104 coupled with the bus 102 for processing information.
  • Computer system 100 also includes a main memory 106 , such as a random access memory (RAM) or other dynamic storage device, coupled to the bus 102 for storing information and instructions to be executed by processor 104 .
  • Main memory 106 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 104 .
  • Computer system 100 further includes a read only memory (ROM) 108 or other static storage device coupled to the bus 102 for storing static information and instructions for the processor 104 .
  • a storage device 110 such as a magnetic disk or optical disk, is provided and coupled to the bus 102 for storing information and instructions.
  • Computer system 100 may be coupled via the bus 102 to a display 112 , such as a cathode ray tube (CRT) or a flat panel display, for displaying information to a computer user.
  • a display 112 such as a cathode ray tube (CRT) or a flat panel display
  • An input device 114 is coupled to the bus 102 for communicating information and command selections to the processor 104 .
  • cursor control 116 is Another type of user input device, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 104 and for controlling cursor movement on the display 112 .
  • This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y) allowing the device to specify positions in a plane.
  • the invention is related to the use of a computer system 100 , such as the illustrated system, to display enterprise architecture information.
  • enterprise architecture information and display is provided by computer system 100 in response to processor 104 executing sequences of instructions contained in main memory 106 .
  • Such instructions may be read into main memory 106 from another computer-readable medium, such as storage device 110 .
  • the computer-readable medium is not limited to devices such as storage device 110 .
  • the computer-readable medium may include a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave embodied in an electrical, electromagnetic, infrared, or optical signal, or any other medium from which a computer can read.
  • Execution of the sequences of instructions contained in the main memory 106 causes the processor 104 to perform the process steps described below.
  • hardwired circuitry may be used in place of or in combination with computer software instructions to implement the invention.
  • embodiments of the invention are not limited to any specific combination of hardware circuitry and software.
  • Computer system 100 also includes a communication interface 118 coupled to the bus 102 .
  • Communication interface 108 provides a two-way data communication as is known.
  • communication interface 118 may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line.
  • ISDN integrated services digital network
  • communication interface 118 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN.
  • LAN local area network
  • communication interface 118 is coupled to a virtual blackboard.
  • Wireless links may also be implemented.
  • communication interface 1 18 sends and receives electrical, electromagnetic or optical signals which carry digital data streams representing various types of information.
  • the communications through interface 118 may permit transmission or receipt of the enterprise architecture information.
  • two or more computer systems 100 may be networked together in a conventional manner with each using the communication interface 118 .
  • Network link 120 typically provides data communication through one or more networks to other data devices.
  • network link 120 may provide a connection through local network 122 to a host computer 124 or to data equipment operated by an Internet Service Provider (ISP) 126 .
  • ISP 126 in turn provides data communication services through the world wide packet data communication services through the world wide packet data communication network now commonly referred to as the “Internet” 128 .
  • Internet 128 uses electrical, electromagnetic or optical signals which carry digital data streams.
  • the signals through the various networks and the signals on network link 120 and through communication interface 118 which carry the digital data to and from computer system 100 , are exemplary forms of carrier waves transporting the information.
  • Computer system 100 can send messages and receive data, including program code, through the network(s), network link 120 and communication interface 118 .
  • a server 130 might transmit a requested code for an application program through Internet 128 , ISP 126 , local network 122 and communication interface 118 .
  • the received code may be executed by processor 104 as it is received, and/or stored in storage device 110 , or other non-volatile storage for later execution. In this manner, computer system 100 may obtain application code in the form of a carrier wave.
  • a network usable with the present invention includes a presence 150 , a computer system 160 and a computer system 170 connected to a network such as the Internet.
  • the network illustrated in FIG. 2 can also be called a virtual space.
  • Other types of networks such as local area networks, wide area networks and the like can also be used with the present invention.
  • the presence 150 includes the computer software used in the present invention.
  • Other computer systems including the depicted computer systems 172 and 174 generate message traffic which is sent to presence 150 .
  • the presence 150 is expecting the event stream sent by the gatherer agent to be of a predetermined format.
  • the presence 150 is configured to be able to use this native format information and, if necessary, perform a transformation.
  • the information sent by a gatherer agent should have information such
  • Computer system 160 includes an illustrated hunter agent 175 and a message database 180 .
  • the hunter agent 175 is sent by the presence 150 to the computer system 160 .
  • the message database 180 can receive information from many sources such as the illustrated satellite link.
  • an agent is computer software, transportable over a computer network from one computer to another, to implement a desired function on the destination computer.
  • An agent can also be defined as a transferable self-contained set of executable code instructions.
  • the hunter agent 175 uses information contained in the message database 180 to create and send an event stream object (ESO) 182 to the presence 150 .
  • ESO event stream object
  • a relationship 184 exists between the ESO 182 and the message database 180 .
  • the hunter agent 175 have to go out and look for information contained in databases throughout the network.
  • the hunter agent can transform the events into a standardized format for use by the presence which can include at least some of the following information associated with each event: type, title, datetime, keywords, summary, priority, and duration.
  • Computer system 170 includes an illustrated gatherer agent 190 and a database 195 .
  • the gatherer agent 190 is sent by the presence to the computer system 170 .
  • the database 195 can receive information from many sources such as the illustrated satellite link.
  • the gatherer agent 190 sends information to the presence 150 .
  • the gatherer agent 190 relays information to the presence in a native format as the information is updated at the database 195 .
  • the events will have at least some of the following information associated with each event: type, title, datetime, keywords, summary, priority, and duration.
  • the first, “Hunter Dynamic” 200 depicts the extraction of event information from a legacy data source.
  • an event stream object specialized 202 to the particular legacy data type is created to represent the data source record.
  • This specialized object 202 retains a pointer back to the original record, allowing it to extract additional information and update information as appropriate.
  • the second, “Hunter Static” 204 also depicts the extraction of event information from a legacy data source. In this case, however, a generic event stream object 206 is created and the standard information elements are “filled in” as appropriate.
  • the “Gatherer” approach shows the identification of newly created information in “new development” data sources 208 .
  • the information objects 210 were developed with the standard event stream interface 212 and elements in mind, and can thus be used by the presence with no additional modification.
  • the diagram depicts each of the event stream objects being sent to a top-level presence entity 150 for its use, and any delegated use by subordinate presence objects.
  • events sent by computer systems 160 , 170 , 172 , 174 to the presence 150 are in a standardized format and include the information listed above for the hunter 175 and gatherer 190 agents. It may be necessary to have separate code at the presence 150 for standardizing the incoming message traffic.
  • the presence 150 includes the inventive computer software for applying rules and taking actions of the events ingested by the presence 150 and sorting the ingested events into streams of events 220 , 222 , 224 . Only three streams are depicted although the present invention is not limited to any specific number of streams. Events received by a presence are usually organized into logical groupings known as streams. These streams can be used to systematize information. The stream names are devised by the user and events are moving onto streams through the automatic application of rules created by the user.
  • the present invention replaces the static spatial metaphor with one based on a dynamic temporal flow.
  • information is presented as events spread over a timeline with a past, present and future.
  • This organization provides the user with an “as it happens” record of the things that occur, tasks assigned to the user and actions taken by the user.
  • Event and streams are manipulated with a set of commands that make it easy to organize, analyze, and exploit the information that makes up the virtual world of the user.
  • the building blocks of the present invention—Presence, Event and Stream are discussed below.
  • An event represents something that happened in the “real” world.
  • the event can be a value received from a sensor, results from an expert system analysis, a work assignment from a supervisor or a request from a co-worker that the user approve a decision.
  • An event is composed of a number of standardized elements; it also allows for an infinite variety of extensions specific to the “something” that it represents.
  • An example of an event summary is illustrated in FIG. 4 as the event summary display. The following are standardized elements of an event:
  • a Type the type of event.
  • Datetime an event “happens” at a particular date and time.
  • Keywords a list of words that describe the event.
  • Priority the importance of an event; there are five levels described.
  • Duration the length of time that an event occurred (optional).
  • An event also has a standardized set of operations that can be performed on it. These are:
  • Display display the full information represented by the event.
  • event types can define custom operations that can be performed on a given event.
  • possible extended options could be to “Reply” or “Forward” it.
  • An event representing the “crash” of a computer system could offer the user extended options related to dealing with it, such as “Attempt Restart” or “Submit Service Order”.
  • Events representing occurrences with a geo-spatial dimension, such as power outage reports, could offer the user extended options relating to charting their location on a map.
  • a presence represents an individually identifiable entity within the virtual space.
  • the user is a presence, as are co-workers.
  • Organizational departments such as maintenance or publications could also be represented by a presence. Although only one presence is depicted in FIG. 2, there can be many presences in the virtual space.
  • a presence is the basic unit for external interaction or collaboration within the virtual space.
  • the user receives information and assignments from other presence entities. Should the user want to send information or a request elsewhere, the user targets a presence to receive the information.
  • a presence is working all the time, whether the user is logged on to a computer or not.
  • the presence is always available to receive and act on incoming events.
  • When an event is received by the presence it follows instructions that help the presence to determine what, if anything, to do with the event. These instructions are called rules and are made from two components: criteria and actions.
  • Criteria are simple statements that examine the values of the standardized data elements in the event.
  • An example of a criteria statement might be “Type is equal to Lightning Strike”.
  • a rule can have many individual criteria statements, and a rule can require that either all, any, or none of the individual criteria statements be satisfied. Examples of stream rules are depicted in FIG. 5.
  • Actions are commands that the presence 150 can perform to help filter, organize, and exploit information sent by the hunter agent 175 , gatherer agent 190 and other incoming message traffic from computer systems 172 , 174 .
  • Organizational actions let the user file incoming information in the user's personal organizational scheme. For example, streams 220 , 222 , 224 in FIG. 3 can be stored in separate files. As illustrated in FIG. 4, there are five separate files associated with five sorted streams: zone 1 issues, zone 2 issues, zone 3 issues, resource requests and local resource schedules.
  • Other actions allow the user to have the information automatically brought to the user's attention with various notification mechanisms such as alert windows, flashing icons, email or beeper notification as depicted in FIG. 6.
  • GUI graphical user interface
  • FIG. 4 When the user first launches the computer software of the present invention, a window like the one illustrated in FIG. 4 will appear.
  • This window has seven areas: Toolbar, Summary Panel, Event Size Controls, Timeline Scaling Controls, Time Progression Mode Control, Highlight Time Display and the EventStream Display.
  • Selecting the “setup” menu in FIG. 4 offers the user three choices: Stream Rules (FIGS. 5 and 6), Stream Management (FIGS. 7 and 8) and Preferences. The first two choices “Stream Rules” and “Stream Management” are discussed below.
  • the Preferences choice brings up a window allowing the user to configure, for example, ease-of-use (e.g., keyboard shortcuts) and cosmetic (e.g., window color) features.
  • ease-of-use e.g., keyboard shortcuts
  • cosmetic e.g., window color
  • Selecting “stream Rules” brings up a window like the one shown in FIG. 5.
  • the window illustrated in FIG. 5 allows the user to create rules which check each event received in the data stream against criteria. If all criteria are matched then matched actions (FIG. 6) are performed; likewise a failure to match all criteria can cause unmatched actions to be performed.
  • the criteria are formed by simple pattern matching statements allowing the user to compare the contents of fields in each event with values selected by the user. These statements allow the user to, for example, check the type of event, time it occurred, and the contents of the event's keyword list.
  • the actions that can be performed in the “Matched” or “Unmatched” cases include placing an event on one or more streams, informing the user via alert or sound, or deleting the event. Other operations appropriate to your environment may be available as well.
  • Selecting “Streams Management” from the “Setup” menu will open the window illustrated in FIG. 7 to appear.
  • the user can set preferences for each stream.
  • the user can set general preferences for the stream and create, edit or modify display substreams (FIG. 8) for the stream.
  • Display substreams are simply a means available to “declutter” a display of events within a stream.
  • the toolbar offers five commands.
  • the five commands are:
  • Search Search the stream for events matching some criteria.
  • New Create a new event and place it on a stream.
  • Pressing “Go To” pops up a menu where the user can either center the current time on the display (the default action), or enter a datetime to center the display on.
  • Pressing “New” pops up a menu where the user can select a type of event to be created. Once the user makes a selection, the event will be created, and a window will be created to specify the event information.
  • the event types available and the interface used to specify them will vary from system to system.
  • Pressing “Search” brings up a window like the one illustrated in FIG. 9. Within this window, search criteria can be entered to locate a particular event. Pressing “Find” will cause the computer software to focus on the desired event. If more than one matching event is found, repeatedly selecting “Find” will bring each up in succession.
  • the output of the sorted, selected and displayed event streams is depicted in the Event Stream Display in FIG. 10.
  • the top part of the display is the Stream Selection area and allows the user to select a stream to be displayed. There can only be one stream selected. If the user has more streams than can be displayed in the Stream Selection area, the Stream Title Navigation Controls will be active, allowing the user to move within a list of stream titles.
  • the titles displayed in the Stream Selection area may present cues to any unacknowledged priority events within the stream.
  • the color coding (black, yellow and red) indicates increasing levels of significance. If the title itself is yellow or red, it means that there is a priority event within the “current time” window.
  • the size of this window is configurable via the “Streams Management” window in illustrated in FIG. 7. Similarly, colored markers before or after the title text indicates the presence of unacknowledged priority events before or after the current time window.
  • a stream can have several substreams, and the display in FIG. 10 illustrates a stream with two substreams.
  • the Current Time Indicator shows the user where the current time is centered on the display.
  • the default location for this indicator can be moved from side to side by using the small square handles at the ends of the indicator.

Abstract

Disclosed is a method and apparatus in which one or more data streams are sent to a computer and the data streams are sorted using a rule base into streams representative of events. The incoming data streams can be sent by hunter agents which search for specified types of data and forward the data to the computer. The incoming data stream can also be sent by a gatherer agent. The incoming data stream can also be incoming message traffic such as e-mail and other types of message traffic data. The incoming message traffic data is then sorted into event streams and can be displayed as event streams on a time line. Actions can be taken based upon specified events. Thus, events from disjointed sources can be sorted and displayed in a unified manner in which a user can readily and quickly know which events have occurred for a particular issue, such as a forest fire, hospital patient, etc.

Description

    FIELD OF THE INVENTION
  • The present invention relates generally to monitoring of data streams, and more particularly, relates to providing situation awareness by monitoring incoming data streams using a rule base. The incoming data streams can be sent by hunter and gatherer agents or can be incoming message traffic. [0001]
  • BACKGROUND OF THE INVENTION
  • In government and commercial environments, human activity is directed at understanding events in the real world and solving problems based on that understanding. This process is called Situation Awareness. [0002]
  • Rapid advances in computer technologies such as remote sensing, networking and data mining have in many cases overwhelmed organizational and visualization tools used to interpret and respond to the information. As autonomous intelligent agents and subscription-based “push” technology becomes commonplace, this flood of information will increase to tidal wave proportions. [0003]
  • The traditional response to these types of problems has been to build an individualized user environment tuned carefully to the needs of the specific problem to be solved. Each type of data processed or produced by the system has a customized user interface dedicated to exploiting it. [0004]
  • While this approach can be effective, experience has shown that it is also often expensive and high-risk to build such systems. A major reason is that there is little opportunity for code reuse; the system must be built from the ground up. After becoming operational, these systems tend to be hard to adapt to changes in an organization's workflow process. These factors led us to seek “horizontal” system architectures and end user environments; as the problem of data overload becomes part of everyone's experience, the need for such solutions becomes urgent. [0005]
  • Intelligent systems have been developed which are focused on the needs of situation awareness users. These systems shared a common internal system architecture that significantly lowered system development cost and risk. The flexibility of the architecture was demonstrated when it solved a wide variety of user problems including terrorist activity analysis, low intensity conflict monitoring, military intelligence, and strategic threat assessment. However, the goal of a generic user environment remained unrealized throughout this period. Some generic, reusable user tools could be developed, but most had to be closely linked to the problem being solved. [0006]
  • SUMMARY OF THE INVENTION
  • It is, therefore, an object of the present invention to provide a method and apparatus for monitoring and sorting incoming data streams using a rule base. [0007]
  • It is another object of the present invention to provide incoming data stream which is sent by hunter agents and gatherer agents to a presence. [0008]
  • It is another object of the present invention to provide a rule base which can sort the incoming data streams and provide a display of an event stream on a time line. [0009]
  • These and other objects of the present invention are achieved by a method and apparatus in which one or more data streams are sent to a computer and the data streams are sorted using a rule base into streams representative of events. The incoming data streams can be sent by hunter agents which search for specified types of data and forward the data to the computer. The incoming data stream can also be sent by a gatherer agent. The incoming data stream can also be incoming message traffic such as e-mail and other types of message traffic data. The incoming message traffic data is then sorted into event streams and can be displayed as event streams on a time line. Actions can be taken based upon specified events. Thus, events from disjointed sources can be sorted and displayed in a unified manner in which a user can readily and quickly know which events have occurred for a particular issue, such as a forest fire, hospital patient, etc. [0010]
  • The foregoing objects of the present invention are also achieved by a method for monitoring an incoming data stream for specified events. At least one data stream is received at a computer, the data stream including data representative of events. Rules are applied to the data stream for sorting data representative of events and for taking an action based on a specified event. [0011]
  • The foregoing objects of the present invention are also achieved by an article including at least one sequence of machine executable instructions. A medium bears the executable instructions in machine readable form, wherein execution of the instructions by one or more processors causes the one or more processors to receive at least one data stream at a computer, the data stream including data representative of events. The processors apply rules to the data stream for sorting data representative of events and for taking an action based on a specified event. [0012]
  • The foregoing objects of the present invention are also achieved by a computer architecture for monitoring an incoming data stream for specified events. The computer architecture includes receiving means for receiving at least one data stream at a computer, the data stream including data representative of events. The computer architecture also includes applying means for applying rules to the data stream for sorting data representative of events and for taking an action based on a specified event. [0013]
  • The foregoing objects of the present invention are also achieved by a computer system including a processor and a memory coupled to the processor, the memory having stored therein sequences of instructions, which, when executed by the processor, causes the processor to perform the following steps. At least one data stream is received at a computer, the data stream including data representative of events. Rules are applied to the data stream for sorting data representative of events and for taking an action based on a specified event. [0014]
  • Still other objects and advantages of the present invention will become readily apparent to those skilled in the art from following detailed description, wherein the preferred embodiments of the invention are shown and described, simply by way of illustration of the best mode contemplated of carrying out the invention. As will be realized, the invention is capable of other and different embodiments, and its several details are capable of modifications in various obvious respects, all without departing from the invention. Accordingly, the drawings and description thereof are to be regarded as illustrative in nature, and not as restrictive.[0015]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present invention is illustrated by way of example, and not by limitation, in the figures of the accompanying drawings, wherein elements having the same reference numeral designations represent like elements throughout and wherein: [0016]
  • FIG. 1 is a high level block diagram of a computer system usable with the present invention; [0017]
  • FIG. 2 is a block diagram of an exemplary network architecture usable with the present invention; [0018]
  • FIG. 2A is a schematic illustration of various event stream objects usable in the present invention; [0019]
  • FIG. 3 is an illustration of events being ingested by a presence and sorted using rules and actions into streams; [0020]
  • FIG. 4 is an illustration of an event explorer window; [0021]
  • FIG. 5 is an illustration of a stream rules/criteria window; [0022]
  • FIG. 6 is an illustration of a stream actions/matched tasks window; [0023]
  • FIG. 7 is an illustration of a stream management/general window; [0024]
  • FIG. 8 is an illustration of a stream management/substreams window; [0025]
  • FIG. 9 is an illustration of an event search window; and [0026]
  • FIG. 10 is an illustration of an event display stream.[0027]
  • BEST MODE FOR CARRYING OUT THE INVENTION
  • A method and apparatus for monitoring of incoming data streams and sorting the incoming data streams into event streams according to the present invention are described. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be readily apparent, however, that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to unnecessarily obscure the present invention. [0028]
  • HARDWARE OVERVIEW
  • FIG. 1 is a block diagram illustrating an [0029] exemplary computer system 100 upon which an embodiment of the invention may be implemented. The present invention is usable with currently available personal computers, mini-mainframes and the like. The computer system 100 can be a “presence” as described below.
  • [0030] Computer system 100 includes a bus 102 or other communication mechanism for communicating information, and a processor 104 coupled with the bus 102 for processing information. Computer system 100 also includes a main memory 106, such as a random access memory (RAM) or other dynamic storage device, coupled to the bus 102 for storing information and instructions to be executed by processor 104. Main memory 106 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 104. Computer system 100 further includes a read only memory (ROM) 108 or other static storage device coupled to the bus 102 for storing static information and instructions for the processor 104. A storage device 110, such as a magnetic disk or optical disk, is provided and coupled to the bus 102 for storing information and instructions.
  • [0031] Computer system 100 may be coupled via the bus 102 to a display 112, such as a cathode ray tube (CRT) or a flat panel display, for displaying information to a computer user. An input device 114, including alphanumeric and other keys, is coupled to the bus 102 for communicating information and command selections to the processor 104. Another type of user input device is cursor control 116, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 104 and for controlling cursor movement on the display 112. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y) allowing the device to specify positions in a plane.
  • The invention is related to the use of a [0032] computer system 100, such as the illustrated system, to display enterprise architecture information. According to one embodiment of the invention, enterprise architecture information and display is provided by computer system 100 in response to processor 104 executing sequences of instructions contained in main memory 106. Such instructions may be read into main memory 106 from another computer-readable medium, such as storage device 110. However, the computer-readable medium is not limited to devices such as storage device 110. For example, the computer-readable medium may include a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave embodied in an electrical, electromagnetic, infrared, or optical signal, or any other medium from which a computer can read. Execution of the sequences of instructions contained in the main memory 106 causes the processor 104 to perform the process steps described below. In alternative embodiments, hardwired circuitry may be used in place of or in combination with computer software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software.
  • [0033] Computer system 100 also includes a communication interface 118 coupled to the bus 102. Communication interface 108 provides a two-way data communication as is known. For example, communication interface 118 may be an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 118 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. In the preferred embodiment communication interface 118 is coupled to a virtual blackboard. Wireless links may also be implemented. In any such implementation, communication interface 1 18 sends and receives electrical, electromagnetic or optical signals which carry digital data streams representing various types of information. Of particular note, the communications through interface 118 may permit transmission or receipt of the enterprise architecture information. For example, two or more computer systems 100 may be networked together in a conventional manner with each using the communication interface 118.
  • Network link [0034] 120 typically provides data communication through one or more networks to other data devices. For example, network link 120 may provide a connection through local network 122 to a host computer 124 or to data equipment operated by an Internet Service Provider (ISP) 126. ISP 126 in turn provides data communication services through the world wide packet data communication services through the world wide packet data communication network now commonly referred to as the “Internet” 128. Local network 122 and Internet 128 both use electrical, electromagnetic or optical signals which carry digital data streams. The signals through the various networks and the signals on network link 120 and through communication interface 118, which carry the digital data to and from computer system 100, are exemplary forms of carrier waves transporting the information.
  • [0035] Computer system 100 can send messages and receive data, including program code, through the network(s), network link 120 and communication interface 118. In the Internet example, a server 130 might transmit a requested code for an application program through Internet 128, ISP 126, local network 122 and communication interface 118.
  • The received code may be executed by [0036] processor 104 as it is received, and/or stored in storage device 110, or other non-volatile storage for later execution. In this manner, computer system 100 may obtain application code in the form of a carrier wave.
  • As depicted in FIG. 2, a network usable with the present invention includes a [0037] presence 150, a computer system 160 and a computer system 170 connected to a network such as the Internet. The network illustrated in FIG. 2 can also be called a virtual space. Other types of networks such as local area networks, wide area networks and the like can also be used with the present invention. The presence 150 includes the computer software used in the present invention. Other computer systems including the depicted computer systems 172 and 174 generate message traffic which is sent to presence 150. The presence 150 is expecting the event stream sent by the gatherer agent to be of a predetermined format. The presence 150 is configured to be able to use this native format information and, if necessary, perform a transformation. The information sent by a gatherer agent should have information such
  • [0038] Computer system 160 includes an illustrated hunter agent 175 and a message database 180. The hunter agent 175 is sent by the presence 150 to the computer system 160. The message database 180 can receive information from many sources such as the illustrated satellite link. Functionally, an agent is computer software, transportable over a computer network from one computer to another, to implement a desired function on the destination computer. An agent can also be defined as a transferable self-contained set of executable code instructions. The hunter agent 175 uses information contained in the message database 180 to create and send an event stream object (ESO) 182 to the presence 150. A relationship 184 exists between the ESO 182 and the message database 180. The hunter agent 175 have to go out and look for information contained in databases throughout the network. The hunter agent can transform the events into a standardized format for use by the presence which can include at least some of the following information associated with each event: type, title, datetime, keywords, summary, priority, and duration.
  • [0039] Computer system 170 includes an illustrated gatherer agent 190 and a database 195. The gatherer agent 190 is sent by the presence to the computer system 170. The database 195 can receive information from many sources such as the illustrated satellite link. The gatherer agent 190 sends information to the presence 150. The gatherer agent 190 relays information to the presence in a native format as the information is updated at the database 195. The events will have at least some of the following information associated with each event: type, title, datetime, keywords, summary, priority, and duration.
  • There are three basic types of event stream object production as used by a cluster of presence entities, as illustrated in FIG. 2A. [0040]
  • The first, “Hunter Dynamic” [0041] 200, depicts the extraction of event information from a legacy data source. In this case, an event stream object specialized 202 to the particular legacy data type is created to represent the data source record. This specialized object 202 retains a pointer back to the original record, allowing it to extract additional information and update information as appropriate.
  • The second, “Hunter Static” [0042] 204, also depicts the extraction of event information from a legacy data source. In this case, however, a generic event stream object 206 is created and the standard information elements are “filled in” as appropriate.
  • Third, the “Gatherer” approach shows the identification of newly created information in “new development” data sources [0043] 208. In this case, it is assumed that the information objects 210 were developed with the standard event stream interface 212 and elements in mind, and can thus be used by the presence with no additional modification.
  • Finally, the diagram depicts each of the event stream objects being sent to a top-[0044] level presence entity 150 for its use, and any delegated use by subordinate presence objects.
  • As illustrated in FIG. 3, events sent by [0045] computer systems 160, 170, 172, 174 to the presence 150. Preferably, the events or event streams sent by the computer systems 160, 170, 172, 174 are in a standardized format and include the information listed above for the hunter 175 and gatherer 190 agents. It may be necessary to have separate code at the presence 150 for standardizing the incoming message traffic. The presence 150 includes the inventive computer software for applying rules and taking actions of the events ingested by the presence 150 and sorting the ingested events into streams of events 220, 222, 224. Only three streams are depicted although the present invention is not limited to any specific number of streams. Events received by a presence are usually organized into logical groupings known as streams. These streams can be used to systematize information. The stream names are devised by the user and events are moving onto streams through the automatic application of rules created by the user.
  • With the previous description in mind, before describing the present invention in further detail, some paradigms and definitions are provided. Because of the popularity of “desktop metaphor” user environments such as Apple's Macintosh and Microsoft's Windows, most everyone is familiar with the spatial visualization of hierarchical organizations as “documents” contained within “folders”. Like file cabinets in the real world, such an organization can be effective if the user has a limited quantity of fairly static information. [0046]
  • As the information the user handles becomes increasingly “active”, the user must spend a greater amount of his or her time managing the organization—removing outdated information, filing freshly received reports and organizing new assignments. [0047]
  • The present invention replaces the static spatial metaphor with one based on a dynamic temporal flow. In the present invention, information is presented as events spread over a timeline with a past, present and future. This organization provides the user with an “as it happens” record of the things that occur, tasks assigned to the user and actions taken by the user. [0048]
  • Event and streams are manipulated with a set of commands that make it easy to organize, analyze, and exploit the information that makes up the virtual world of the user. The building blocks of the present invention—Presence, Event and Stream are discussed below. [0049]
  • Event
  • An event represents something that happened in the “real” world. The event can be a value received from a sensor, results from an expert system analysis, a work assignment from a supervisor or a request from a co-worker that the user approve a decision. [0050]
  • An event is composed of a number of standardized elements; it also allows for an infinite variety of extensions specific to the “something” that it represents. An example of an event summary is illustrated in FIG. 4 as the event summary display. The following are standardized elements of an event: [0051]
  • A Type—the type of event. [0052]
  • Title—the “name” of the event. [0053]
  • Datetime—an event “happens” at a particular date and time. [0054]
  • Keywords—a list of words that describe the event. [0055]
  • Summary—a brief overview of the information in the event. [0056]
  • Priority—the importance of an event; there are five levels described. [0057]
  • Duration—the length of time that an event occurred (optional). [0058]
  • An event also has a standardized set of operations that can be performed on it. These are: [0059]
  • Copy—add a reference to the event to some other presence. [0060]
  • Move—move the current event reference to some other presence. [0061]
  • Delete—remove the current event reference. [0062]
  • Display—display the full information represented by the event. [0063]
  • In addition to these operations, event types can define custom operations that can be performed on a given event. In the case of an event representing the arrival of a mail message, possible extended options could be to “Reply” or “Forward” it. An event representing the “crash” of a computer system could offer the user extended options related to dealing with it, such as “Attempt Restart” or “Submit Service Order”. Events representing occurrences with a geo-spatial dimension, such as power outage reports, could offer the user extended options relating to charting their location on a map. [0064]
  • Presence
  • A presence represents an individually identifiable entity within the virtual space. The user is a presence, as are co-workers. Organizational departments such as maintenance or publications could also be represented by a presence. Although only one presence is depicted in FIG. 2, there can be many presences in the virtual space. [0065]
  • A presence is the basic unit for external interaction or collaboration within the virtual space. The user receives information and assignments from other presence entities. Should the user want to send information or a request elsewhere, the user targets a presence to receive the information. [0066]
  • A presence is working all the time, whether the user is logged on to a computer or not. The presence is always available to receive and act on incoming events. When an event is received by the presence, it follows instructions that help the presence to determine what, if anything, to do with the event. These instructions are called rules and are made from two components: criteria and actions. [0067]
  • Criteria are simple statements that examine the values of the standardized data elements in the event. An example of a criteria statement might be “Type is equal to Lightning Strike”. A rule can have many individual criteria statements, and a rule can require that either all, any, or none of the individual criteria statements be satisfied. Examples of stream rules are depicted in FIG. 5. [0068]
  • Using a rule, after the [0069] processor 104 in presence 150 has determined that the criteria have been met for a particular event, actions can then be performed. Actions are commands that the presence 150 can perform to help filter, organize, and exploit information sent by the hunter agent 175, gatherer agent 190 and other incoming message traffic from computer systems 172, 174. Organizational actions let the user file incoming information in the user's personal organizational scheme. For example, streams 220, 222, 224 in FIG. 3 can be stored in separate files. As illustrated in FIG. 4, there are five separate files associated with five sorted streams: zone 1 issues, zone 2 issues, zone 3 issues, resource requests and local resource schedules. Other actions allow the user to have the information automatically brought to the user's attention with various notification mechanisms such as alert windows, flashing icons, email or beeper notification as depicted in FIG. 6.
  • The user interacts with the computer software of the present invention through a graphical user interface (GUI) application. The GUI is a tool for organizing and browsing information sent to the user's “presence”. [0070]
  • When the user first launches the computer software of the present invention, a window like the one illustrated in FIG. 4 will appear. This window has seven areas: Toolbar, Summary Panel, Event Size Controls, Timeline Scaling Controls, Time Progression Mode Control, Highlight Time Display and the EventStream Display. [0071]
  • Selecting the “setup” menu in FIG. 4 offers the user three choices: Stream Rules (FIGS. 5 and 6), Stream Management (FIGS. 7 and 8) and Preferences. The first two choices “Stream Rules” and “Stream Management” are discussed below. [0072]
  • The Preferences choice brings up a window allowing the user to configure, for example, ease-of-use (e.g., keyboard shortcuts) and cosmetic (e.g., window color) features. [0073]
  • Stream Rules
  • Selecting “stream Rules” brings up a window like the one shown in FIG. 5. The window illustrated in FIG. 5 allows the user to create rules which check each event received in the data stream against criteria. If all criteria are matched then matched actions (FIG. 6) are performed; likewise a failure to match all criteria can cause unmatched actions to be performed. The criteria are formed by simple pattern matching statements allowing the user to compare the contents of fields in each event with values selected by the user. These statements allow the user to, for example, check the type of event, time it occurred, and the contents of the event's keyword list. [0074]
  • The actions that can be performed in the “Matched” or “Unmatched” cases include placing an event on one or more streams, informing the user via alert or sound, or deleting the event. Other operations appropriate to your environment may be available as well. [0075]
  • Selecting “Streams Management” from the “Setup” menu will open the window illustrated in FIG. 7 to appear. In this window, the user can set preferences for each stream. With a stream selected in the leftmost list, the user can set general preferences for the stream and create, edit or modify display substreams (FIG. 8) for the stream. Display substreams are simply a means available to “declutter” a display of events within a stream. [0076]
  • Toolbar
  • The toolbar offers five commands. The five commands are: [0077]
  • Back—Shift stream display to show older events. [0078]
  • Go To—Shift stream display to center a particular time on the display. [0079]
  • Forward—Shift stream display to show more recent events. [0080]
  • Search—Search the stream for events matching some criteria. [0081]
  • New—Create a new event and place it on a stream. [0082]
  • Pressing “Go To” pops up a menu where the user can either center the current time on the display (the default action), or enter a datetime to center the display on. [0083]
  • Pressing “New” pops up a menu where the user can select a type of event to be created. Once the user makes a selection, the event will be created, and a window will be created to specify the event information. The event types available and the interface used to specify them will vary from system to system. [0084]
  • Search
  • Pressing “Search” brings up a window like the one illustrated in FIG. 9. Within this window, search criteria can be entered to locate a particular event. Pressing “Find” will cause the computer software to focus on the desired event. If more than one matching event is found, repeatedly selecting “Find” will bring each up in succession. [0085]
  • Event Summary Display
  • The output of the sorted, selected and displayed event streams is depicted in the Event Stream Display in FIG. 10. The top part of the display is the Stream Selection area and allows the user to select a stream to be displayed. There can only be one stream selected. If the user has more streams than can be displayed in the Stream Selection area, the Stream Title Navigation Controls will be active, allowing the user to move within a list of stream titles. [0086]
  • The titles displayed in the Stream Selection area may present cues to any unacknowledged priority events within the stream. The color coding (black, yellow and red) indicates increasing levels of significance. If the title itself is yellow or red, it means that there is a priority event within the “current time” window. The size of this window is configurable via the “Streams Management” window in illustrated in FIG. 7. Similarly, colored markers before or after the title text indicates the presence of unacknowledged priority events before or after the current time window. [0087]
  • Immediately below the Steam Selection area is where events are displayed. A stream can have several substreams, and the display in FIG. 10 illustrates a stream with two substreams. [0088]
  • The Current Time Indicator shows the user where the current time is centered on the display. The default location for this indicator (useful when using the “Now” toolbar command) can be moved from side to side by using the small square handles at the ends of the indicator. [0089]
  • It will be readily seen by one of ordinary skill in the art that the present invention fulfills all of the objects set forth above. After reading the foregoing specification, one of ordinary skill will be able to affect various changes, substitutions of equivalents and various other aspects of the invention as broadly disclosed herein. It is therefore intended that the protection granted hereon be limited only by the definition contained in the appended claims and equivalents thereof. [0090]

Claims (27)

What is claimed is:
1. A method for monitoring an incoming data stream for specified events, comprising:
receiving at least one data stream at a computer, the data stream including data representative of events; and
applying rules to the data stream for sorting data representative of events and for taking an action based on a specified event.
2. The method of claim 1, comprising displaying events associated with a selected data stream on a time line.
3. The method of claim 1, comprising gathering data at a remote location and placing the gathered data in a data stream and forwarding the data stream to the computer.
4. The method of claim 3, wherein said gathering step is performed by an agent.
5. The method of claim 1, comprising hunting for predetermined data at a remote location and placing the hunted data in a data stream and forwarding the data stream to the computer.
6. The method of claim 5, wherein said hunting step is performed by an agent.
7. The method of claim 5, comprising normalizing the data before the data is placed in the data stream.
8. The method of claim 1, wherein the at least one data stream includes message traffic.
9. The method of claim 5, comprising linking the hunted data with a location where the hunted data was located.
10. The method of claim 9, comprising updating the received hunted data with new hunted data as new data is received at the hunted data location.
11. The method of claim 6, comprising constructing an event stream object which is forwarded to the computer by the agent.
12. The method of claim 11, wherein the event stream object includes information descriptive of an event.
13. The method of claim 12, wherein the information includes at least one of the following: the time that the event occurred; the duration that event covered; and key words that describe the event.
14. The method of claim 1, comprising filing the sorted information in separate data stream files.
15. The method of claim 1, wherein an event is comprised of at least one of the following elements: type, title, datetime, keywords, summary, priority and duration.
16. The method of claim 1, wherein a rule includes a criteria component and an action component.
17. The method of claim 16, wherein the criteria component includes at least one criteria statement and to satisfy a rule either all, any or none of the at least one criteria statements need to be satisfied.
18. The method of claim 17, wherein at least one action is taken if the at least one rule is satisfied.
19. The method of claim 1, wherein the data in the event data stream is received in a standardized format.
20. The method of claim 14, comprising displaying an event stream using information stored in stored data stream files.
21. The method of claim 20, comprising displaying an event stream using a received sorted data stream.
22. An article comprising:
at least one sequence of machine executable instructions;
a medium bearing the executable instructions in machine readable form, wherein execution of the instructions by one or more processors causes the one or more processors to:
receive at least one data stream at a computer, the data stream including data representative of events; and
apply rules to the data stream for sorting data representative of events and for taking an action based on a specified event.
23. The article of claim 22, comprising causing the processor to display events associated with a selected data stream on a time line.
24. A computer architecture for monitoring an incoming data stream for specified events, comprising:
receiving means for receiving at least one data stream at a computer, the data stream including data representative of events; and
applying means for applying rules to the data stream for sorting data representative of events and for taking an action based on a specified event.
25. The computer architecture of claim 24, comprising displaying means for displaying events associated with a selected data stream on a time line.
26. A computer system, comprising:
a processor; and
a memory coupled to said processor, the memory having stored therein sequences of instructions, which, when executed by said processor, causes said processor to perform the steps of:
receiving at least one data stream at a computer, the data stream including data representative of events; and
applying rules to the data stream for sorting data representative of events and for taking an action based on a specified event.
27. The computer system of claim 26, comprising causing the processor to display events associated with a selected data stream on a time line.
US10/017,739 1998-07-29 2001-12-18 System and method for ensuring and managing situation awareness Abandoned US20020138663A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/017,739 US20020138663A1 (en) 1998-07-29 2001-12-18 System and method for ensuring and managing situation awareness

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/124,002 US6408404B1 (en) 1998-07-29 1998-07-29 System and method for ensuring and managing situation awareness
US10/017,739 US20020138663A1 (en) 1998-07-29 2001-12-18 System and method for ensuring and managing situation awareness

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/124,002 Continuation US6408404B1 (en) 1998-07-29 1998-07-29 System and method for ensuring and managing situation awareness

Publications (1)

Publication Number Publication Date
US20020138663A1 true US20020138663A1 (en) 2002-09-26

Family

ID=22412192

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/124,002 Expired - Lifetime US6408404B1 (en) 1998-07-29 1998-07-29 System and method for ensuring and managing situation awareness
US10/017,739 Abandoned US20020138663A1 (en) 1998-07-29 2001-12-18 System and method for ensuring and managing situation awareness

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/124,002 Expired - Lifetime US6408404B1 (en) 1998-07-29 1998-07-29 System and method for ensuring and managing situation awareness

Country Status (3)

Country Link
US (2) US6408404B1 (en)
AU (1) AU5390599A (en)
WO (1) WO2000007102A2 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030167335A1 (en) * 2002-03-04 2003-09-04 Vigilos, Inc. System and method for network-based communication
US20060114324A1 (en) * 2004-11-16 2006-06-01 Northrop Grumman Corporation Method and apparatus for collaborative aggregate situation awareness
US7480715B1 (en) * 2002-01-25 2009-01-20 Vig Acquisitions Ltd., L.L.C. System and method for performing a predictive threat assessment based on risk factors
US20090120651A1 (en) * 2007-05-07 2009-05-14 Schmutter Bruce E Water powered firefighting vehicle and methods for use
US7774790B1 (en) * 2000-07-18 2010-08-10 Apple Inc. Event logging and performance analysis system for applications
US7965178B1 (en) 2005-09-26 2011-06-21 Schmutter Bruce E System and method for integrated facility and fireground management
USRE43598E1 (en) 2000-09-28 2012-08-21 Vig Acquisitions Ltd., L.L.C. Method and process for configuring a premises for monitoring
US8392552B2 (en) 2000-09-28 2013-03-05 Vig Acquisitions Ltd., L.L.C. System and method for providing configurable security monitoring utilizing an integrated information system
US20170004025A1 (en) * 2010-12-13 2017-01-05 Microsoft Technology Licensing, Llc Reactive coincidence
JP2021152908A (en) * 2014-12-19 2021-09-30 スプランク インコーポレイテッド Data stream processing language for analyzing measurement means incorporated software
US11928046B1 (en) 2015-01-29 2024-03-12 Splunk Inc. Real-time processing of data streams received from instrumented software

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000194726A (en) * 1998-10-19 2000-07-14 Sony Corp Device, method and system for processing information and providing medium
US7231327B1 (en) * 1999-12-03 2007-06-12 Digital Sandbox Method and apparatus for risk management
US8407281B2 (en) * 2000-07-25 2013-03-26 Newton Howard Intention-based automated conflict prediction and notification system
JP2004528643A (en) * 2001-04-05 2004-09-16 インスツルメンタリウム コーポレイション Method and system for detecting differences in a tracking environment
US7464154B2 (en) * 2001-05-18 2008-12-09 Network Resonance, Inc. System, method and computer program product for analyzing data from network-based structured message stream
US7936693B2 (en) * 2001-05-18 2011-05-03 Network Resonance, Inc. System, method and computer program product for providing an IP datalink multiplexer
US7124299B2 (en) * 2001-05-18 2006-10-17 Claymore Systems, Inc. System, method and computer program product for auditing XML messages in a network-based message stream
US7451110B2 (en) * 2001-05-18 2008-11-11 Network Resonance, Inc. System, method and computer program product for providing an efficient trading market
WO2003003194A1 (en) 2001-06-27 2003-01-09 Sony Corporation Integrated circuit device, information processing device, information recording device memory management method, mobile terminal device, semiconductor integrated circuit device, and communication method using mobile terminal device
JP3901484B2 (en) * 2001-10-05 2007-04-04 株式会社ジェイテクト Electric power steering device
US20030101065A1 (en) * 2001-11-27 2003-05-29 International Business Machines Corporation Method and apparatus for maintaining conversation threads in electronic mail
US7359936B2 (en) * 2001-11-27 2008-04-15 International Business Machines Corporation Method and apparatus for electronic mail interaction with grouped message types
US7930756B1 (en) 2001-12-12 2011-04-19 Crocker Steven Toye Multi-level cryptographic transformations for securing digital assets
US7380120B1 (en) 2001-12-12 2008-05-27 Guardian Data Storage, Llc Secured data format for access control
US8006280B1 (en) 2001-12-12 2011-08-23 Hildebrand Hal S Security system for generating keys from access rules in a decentralized manner and methods therefor
US7921450B1 (en) 2001-12-12 2011-04-05 Klimenty Vainstein Security system using indirect key generation from access rules and methods therefor
US7565683B1 (en) 2001-12-12 2009-07-21 Weiqing Huang Method and system for implementing changes to security policies in a distributed security system
US7921288B1 (en) 2001-12-12 2011-04-05 Hildebrand Hal S System and method for providing different levels of key security for controlling access to secured items
US7260555B2 (en) 2001-12-12 2007-08-21 Guardian Data Storage, Llc Method and architecture for providing pervasive security to digital assets
US7178033B1 (en) 2001-12-12 2007-02-13 Pss Systems, Inc. Method and apparatus for securing digital assets
US7921284B1 (en) 2001-12-12 2011-04-05 Gary Mark Kinghorn Method and system for protecting electronic data in enterprise environment
US10360545B2 (en) 2001-12-12 2019-07-23 Guardian Data Storage, Llc Method and apparatus for accessing secured electronic data off-line
US10033700B2 (en) 2001-12-12 2018-07-24 Intellectual Ventures I Llc Dynamic evaluation of access rights
US8065713B1 (en) 2001-12-12 2011-11-22 Klimenty Vainstein System and method for providing multi-location access management to secured items
US7950066B1 (en) 2001-12-21 2011-05-24 Guardian Data Storage, Llc Method and system for restricting use of a clipboard application
US8176334B2 (en) 2002-09-30 2012-05-08 Guardian Data Storage, Llc Document security system that permits external users to gain access to secured files
US7769997B2 (en) * 2002-02-25 2010-08-03 Network Resonance, Inc. System, method and computer program product for guaranteeing electronic transactions
US6874089B2 (en) * 2002-02-25 2005-03-29 Network Resonance, Inc. System, method and computer program product for guaranteeing electronic transactions
US20030195955A1 (en) * 2002-04-12 2003-10-16 Cochran Robert A. Method and system for selecting a cluster owner based on one or more risk factors of the candidates
US7000150B1 (en) * 2002-06-12 2006-02-14 Microsoft Corporation Platform for computer process monitoring
US20030233366A1 (en) * 2002-06-17 2003-12-18 Aspetuck Systems Inc. Database monitoring system with formatted report information delivery
AU2003291988A1 (en) * 2002-11-04 2004-06-07 Instrumentarium Corporation Method and system for integrated processing of automatically collected interaction data
US7376969B1 (en) 2002-12-02 2008-05-20 Arcsight, Inc. Real time monitoring and analysis of events from multiple network security devices
US7650638B1 (en) 2002-12-02 2010-01-19 Arcsight, Inc. Network security monitoring system employing bi-directional communication
US7788722B1 (en) 2002-12-02 2010-08-31 Arcsight, Inc. Modular agent for network security intrusion detection system
US7219239B1 (en) 2002-12-02 2007-05-15 Arcsight, Inc. Method for batching events for transmission by software agent
US7607169B1 (en) 2002-12-02 2009-10-20 Arcsight, Inc. User interface for network security console
US8176527B1 (en) 2002-12-02 2012-05-08 Hewlett-Packard Development Company, L. P. Correlation engine with support for time-based rules
US7899901B1 (en) 2002-12-02 2011-03-01 Arcsight, Inc. Method and apparatus for exercising and debugging correlations for network security system
US8707034B1 (en) 2003-05-30 2014-04-22 Intellectual Ventures I Llc Method and system for using remote headers to secure electronic files
US7260844B1 (en) 2003-09-03 2007-08-21 Arcsight, Inc. Threat detection in a network security system
US7703140B2 (en) 2003-09-30 2010-04-20 Guardian Data Storage, Llc Method and system for securing digital assets using process-driven security policies
US8127366B2 (en) 2003-09-30 2012-02-28 Guardian Data Storage, Llc Method and apparatus for transitioning between states of security policies used to secure electronic documents
US9027120B1 (en) 2003-10-10 2015-05-05 Hewlett-Packard Development Company, L.P. Hierarchical architecture in a network security system
US8015604B1 (en) 2003-10-10 2011-09-06 Arcsight Inc Hierarchical architecture in a network security system
US7333999B1 (en) 2003-10-30 2008-02-19 Arcsight, Inc. Expression editor
US7565696B1 (en) 2003-12-10 2009-07-21 Arcsight, Inc. Synchronizing network security devices within a network security system
US7702909B2 (en) * 2003-12-22 2010-04-20 Klimenty Vainstein Method and system for validating timestamps
US20050222895A1 (en) * 2004-04-03 2005-10-06 Altusys Corp Method and Apparatus for Creating and Using Situation Transition Graphs in Situation-Based Management
US20050222810A1 (en) * 2004-04-03 2005-10-06 Altusys Corp Method and Apparatus for Coordination of a Situation Manager and Event Correlation in Situation-Based Management
US8694475B2 (en) * 2004-04-03 2014-04-08 Altusys Corp. Method and apparatus for situation-based management
US7788109B2 (en) * 2004-04-03 2010-08-31 Altusys Corp. Method and apparatus for context-sensitive event correlation with external control in situation-based management
US8528077B1 (en) 2004-04-09 2013-09-03 Hewlett-Packard Development Company, L.P. Comparing events from multiple network security devices
US7509677B2 (en) 2004-05-04 2009-03-24 Arcsight, Inc. Pattern discovery in a network security system
US7406199B2 (en) * 2004-05-12 2008-07-29 Northrop Grumman Corporation Event capture and filtering system
WO2006034135A2 (en) 2004-09-17 2006-03-30 Proximex Adaptive multi-modal integrated biometric identification detection and surveillance system
US9100422B1 (en) 2004-10-27 2015-08-04 Hewlett-Packard Development Company, L.P. Network zone identification in a network security system
US7424742B1 (en) 2004-10-27 2008-09-09 Arcsight, Inc. Dynamic security events and event channels in a network security system
US7644438B1 (en) 2004-10-27 2010-01-05 Arcsight, Inc. Security event aggregation at software agent
DE102004054742A1 (en) * 2004-11-12 2006-05-24 Siemens Ag Information transmission method and associated information transmission system
US7809131B1 (en) 2004-12-23 2010-10-05 Arcsight, Inc. Adjusting sensor time in a network security system
US7647632B1 (en) 2005-01-04 2010-01-12 Arcsight, Inc. Object reference in a system
US8850565B2 (en) * 2005-01-10 2014-09-30 Hewlett-Packard Development Company, L.P. System and method for coordinating network incident response activities
US20060190960A1 (en) * 2005-02-14 2006-08-24 Barker Geoffrey T System and method for incorporating video analytics in a monitoring network
US7844999B1 (en) 2005-03-01 2010-11-30 Arcsight, Inc. Message parsing in a network security system
US7437359B2 (en) * 2006-04-05 2008-10-14 Arcsight, Inc. Merging multiple log entries in accordance with merge properties and mapping properties
WO2008070101A2 (en) * 2006-12-05 2008-06-12 Center For Advanced Defense Studies Situation understanding and intent-based analysis for dynamic information exchange
US7777783B1 (en) 2007-03-23 2010-08-17 Proximex Corporation Multi-video navigation
US9544563B1 (en) 2007-03-23 2017-01-10 Proximex Corporation Multi-video navigation system
US8527655B2 (en) * 2007-05-22 2013-09-03 Vidsys, Inc. Optimal routing of audio, video, and control data through heterogeneous networks
US8068588B2 (en) * 2007-06-26 2011-11-29 Microsoft Corporation Unified rules for voice and messaging
US8230024B2 (en) 2007-06-28 2012-07-24 Microsoft Corporation Delegating instant messaging sessions
US8843621B2 (en) * 2011-10-25 2014-09-23 International Business Machines Corporation Event prediction and preemptive action identification in a networked computing environment
US9299246B2 (en) 2014-07-19 2016-03-29 Oracle International Corporation Reporting results of processing of continuous event streams
EP3985602A1 (en) 2020-10-14 2022-04-20 Yoosec Lda A real-time prevention and emergency management system and respective method of operation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6223143B1 (en) * 1998-08-31 2001-04-24 The United States Government As Represented By The Administrator Of The National Aeronautics And Space Administration Quantitative risk assessment system (QRAS)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555346A (en) 1991-10-04 1996-09-10 Beyond Corporated Event-driven rule-based messaging system
US5321837A (en) 1991-10-11 1994-06-14 International Business Machines Corporation Event handling mechanism having a process and an action association process
US5893911A (en) 1996-04-17 1999-04-13 Neon Software, Inc. Method for defining and applying rules for message distribution for transaction processing in a distributed application
US5787253A (en) * 1996-05-28 1998-07-28 The Ag Group Apparatus and method of analyzing internet activity
US5995113A (en) 1996-08-02 1999-11-30 Hewlett-Packard Company Coloring events in event streams in order to provide information about operation of a software library
US6085243A (en) 1996-12-13 2000-07-04 3Com Corporation Distributed remote management (dRMON) for networks
US6192364B1 (en) * 1998-07-24 2001-02-20 Jarg Corporation Distributed computer database system and method employing intelligent agents

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6223143B1 (en) * 1998-08-31 2001-04-24 The United States Government As Represented By The Administrator Of The National Aeronautics And Space Administration Quantitative risk assessment system (QRAS)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7774790B1 (en) * 2000-07-18 2010-08-10 Apple Inc. Event logging and performance analysis system for applications
US20100269101A1 (en) * 2000-07-18 2010-10-21 Stan Jirman Event logging and performance analysis system for applications
US8392552B2 (en) 2000-09-28 2013-03-05 Vig Acquisitions Ltd., L.L.C. System and method for providing configurable security monitoring utilizing an integrated information system
USRE43598E1 (en) 2000-09-28 2012-08-21 Vig Acquisitions Ltd., L.L.C. Method and process for configuring a premises for monitoring
USRE45649E1 (en) 2000-09-28 2015-08-11 Vivint, Inc. Method and process for configuring a premises for monitoring
US8700769B2 (en) 2000-09-28 2014-04-15 Vig Acquisitions Ltd., L.L.C. System and method for providing configurable security monitoring utilizing an integrated information system
US7933989B1 (en) * 2002-01-25 2011-04-26 Barker Geoffrey T Predictive threat assessment
US7480715B1 (en) * 2002-01-25 2009-01-20 Vig Acquisitions Ltd., L.L.C. System and method for performing a predictive threat assessment based on risk factors
US20030167335A1 (en) * 2002-03-04 2003-09-04 Vigilos, Inc. System and method for network-based communication
US20060114324A1 (en) * 2004-11-16 2006-06-01 Northrop Grumman Corporation Method and apparatus for collaborative aggregate situation awareness
US7123169B2 (en) 2004-11-16 2006-10-17 Northrop Grumman Corporation Method and apparatus for collaborative aggregate situation awareness
US7965178B1 (en) 2005-09-26 2011-06-21 Schmutter Bruce E System and method for integrated facility and fireground management
US20090120651A1 (en) * 2007-05-07 2009-05-14 Schmutter Bruce E Water powered firefighting vehicle and methods for use
US20170004025A1 (en) * 2010-12-13 2017-01-05 Microsoft Technology Licensing, Llc Reactive coincidence
US10394625B2 (en) * 2010-12-13 2019-08-27 Microsoft Technology Licensing, Llc Reactive coincidence
JP2021152908A (en) * 2014-12-19 2021-09-30 スプランク インコーポレイテッド Data stream processing language for analyzing measurement means incorporated software
US11709661B2 (en) 2014-12-19 2023-07-25 Splunk Inc. Representing result data streams based on execution of data stream language programs
US11733982B1 (en) 2014-12-19 2023-08-22 Splunk Inc. Dynamically changing input data streams processed by data stream language programs
JP7437351B2 (en) 2014-12-19 2024-02-22 スプランク インコーポレイテッド Data stream processing language for analyzing software with built-in instrumentation
US11928046B1 (en) 2015-01-29 2024-03-12 Splunk Inc. Real-time processing of data streams received from instrumented software

Also Published As

Publication number Publication date
WO2000007102A3 (en) 2000-04-27
US6408404B1 (en) 2002-06-18
AU5390599A (en) 2000-02-21
WO2000007102A2 (en) 2000-02-10

Similar Documents

Publication Publication Date Title
US6408404B1 (en) System and method for ensuring and managing situation awareness
US20230342197A1 (en) Mobile tasks
US8060832B2 (en) Managing information display
US6505246B1 (en) User interface for system management applications
US7487452B2 (en) Method and system for making resources available
US7620647B2 (en) Hierarchy global management system and user interface
US7398529B2 (en) Method for managing objects created in a directory service
US6859217B2 (en) System and method to display and manage data within hierarchies and polyarchies of information
AU2004201344B2 (en) Computer searching with associations
US7526507B2 (en) Methods, apparatus and computer programs for visualization and management of data organisation within a data processing system
US8554783B2 (en) Computer object tagging
US20030227487A1 (en) Method and apparatus for creating and accessing associative data structures under a shared model of categories, rules, triggers and data relationship permissions
US20030137536A1 (en) Method and apparatus for communicating changes from and to a shared associative database using one-way communications techniques
US20090055477A1 (en) System for enabling collaboration and protecting sensitive data
US20020194177A1 (en) Selective information synchronization based on implicit user designation
CA2041992A1 (en) Routing objects on action paths in a distributed computing system
US20080255918A1 (en) Ontological representation of knowledge
JP2007193685A (en) Program for displaying personal connection information, recording medium with the program recorded thereon, device for displaying personal connection information, and method for displaying personal connection information
CA2481298A1 (en) Method and system for managing a computer system
US11809593B2 (en) Sensitive data compliance manager
US11582138B2 (en) Configurable system for resolving requests received from multiple client devices in a network system
CA2466676A1 (en) Information aggregation, processing and distribution system
JP2005509953A6 (en) Information collection, processing and distribution system
Rehman et al. Big Data Analysis in IoT
AU2014202494A1 (en) A system and method for categorizing time expenditure of a computing device user

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION