WO2006017796A2 - Methods and apparatus for environmental monitoring - Google Patents

Methods and apparatus for environmental monitoring Download PDF

Info

Publication number
WO2006017796A2
WO2006017796A2 PCT/US2005/028019 US2005028019W WO2006017796A2 WO 2006017796 A2 WO2006017796 A2 WO 2006017796A2 US 2005028019 W US2005028019 W US 2005028019W WO 2006017796 A2 WO2006017796 A2 WO 2006017796A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
plug
measurement data
measurement
view definition
Prior art date
Application number
PCT/US2005/028019
Other languages
French (fr)
Other versions
WO2006017796A3 (en
Inventor
John A. Long
David Pilcher
Kenneth Ferguson
Joseph Leon
Richard Palatine
Michael Iwatschenko-Borho
Thea M. Philliou
Norbert Trost
Ralph Pijahn
Bernd Friedrich
Original Assignee
Thermo Electron Corporation
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 Thermo Electron Corporation filed Critical Thermo Electron Corporation
Priority to EP05779666A priority Critical patent/EP1784752A4/en
Publication of WO2006017796A2 publication Critical patent/WO2006017796A2/en
Publication of WO2006017796A3 publication Critical patent/WO2006017796A3/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01TMEASUREMENT OF NUCLEAR OR X-RADIATION
    • G01T7/00Details of radiation-measuring instruments
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • G05B23/0227Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions
    • G05B23/0235Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions based on a comparison with predetermined threshold or range, e.g. "classical methods", carried out during normal operation; threshold adaptation or choice; when or how to compare with the threshold
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0267Fault communication, e.g. human machine interface [HMI]

Definitions

  • Conventional environmental monitoring systems provide the ability to monitor various types of environmental instruments in order to detect changes in environmental conditions.
  • environmental monitoring systems designers have created systems that include a plurality of remotely operable radiation detection instruments that individually sense radiation levels in a relative vicinity and report detected radiation levels to a centralized computer system for display to a human operator.
  • the centralized computer system might contain, for example, a graphical user interface that identifies each individual radiation detection instrument within the system along with an associated radiation level sensed by that instrument.
  • Such conventional systems provide the ability for an operator to set alarm thresholds that allow the system to identify situations in which the radiation level sensed by a particular radiation detection instrument exceeds a certain value and in response, provide an alarm indication to a human operator.
  • Conventional environmental monitoring systems suffer from a variety of deficiencies.
  • such conventional environmental data processing systems lack a modular design that provides for easy adaptability and expandability for the addition of alternative types of environmental monitoring devices or instruments to be integrated into such systems.
  • conventional environmental monitoring systems such as those described above are typically limited or restricted to processing certain types of data that must conform to certain formats for device data collection.
  • an environmental monitoring system produced from vendor A might only efficiently operate using vendor A's environmental detection instruments or with other vendor's measurement instruments that conform to Vendor A's communications protocol. It is often difficult or impossible to integrate environmental detection instruments from other vendors into such a system if those devices do not communicate using on of the accepted protocols.
  • the vendor of the conventional systems typically collets customer request for new features (e.g., new processing operations or calculations on collected data) and releases a new version of the environmental monitoring system, such as a new release of the software program, that is capable of communicating with existing devices as well as new devices integrated into the new release of the software.
  • the new release may also support some of the requested processing operations. This is problematic since it requires upgrading from an earlier release to a new version of the environmental monitoring computer system and software in order to obtain the desired processing features and device compatibility and can often be challenging task.
  • conventional systems do not provide an open modular software design, adding new processing features is often not worth the trouble.
  • Embodiments of the invention significantly overcome such deficiencies and provide a flexible, dynamic and expandable environmental monitoring system that provides an open and modular architecture that is fully expandable to accommodate different types of devices and monitoring instruments, data formats, instrumentation protocols, processing operations and operator views.
  • embodiments of the invention provide a software-based design that supports the use of modular plug- ins for various processing tasks that include communication with environmental monitoring instruments, processing and conversion of raw data into measurement data, and storage and presentation of such raw data and measurement data within, for example, a database or upon a graphical user interface for viewing by a human operator of the environmental monitoring system provided in accordance with embodiments of the invention.
  • embodiments of the invention provide a system that is expandable and adaptable for different types of environmental monitoring instruments estimated using different formats and/or different communications protocols.
  • the environment monitoring software application and process referred to herein include a data engine core that coordinates the exchange and processing of information between the various plug-ins that operates as part of the application.
  • one implementation of a system configured in accordance with the invention provides plug-ins responsible for communicating with individual radiation detection instruments deployed in the field, for example, using wireless communications protocols.
  • the radiation data collection plug-ins collect and forward raw radiation data to the data engine core where this raw radiation detection data is routed via a route manager, for example, to a radiation conversion plug-in that can convert the raw radiation detection data into measurement data. Once converted to measurement data, the radiation data conversion plug-in then forwards this measurement data back to the data engine core.
  • the system of the invention routes raw data collected from environmental monitoring instruments between plug-ins using a routing mechanism defined within the data engine core.
  • the data engine core configured in accordance with embodiments of the invention provides the ability to define view definitions.
  • View definitions generally identify measurement data of interest to specific plug-ins that have registered an "interest" with a particular view definition.
  • the measurement data is returned to the data engine core which then tests each view definition to see if any defined view definitions identify the radiation measurement data as being applicable to that view definitions.
  • view definitions define filters for measurement data of interest to plug-ins that have registered to have an association or interest in that view definitions. If measurement data matches any view definitions, the data engine core transports, forwards or otherwise provides that measurement data to all plug-ins that have registered an interest in that view definition. In this manner, the radiation measurement data is disseminated to each plug-in for subsequent processing.
  • Plug-in processing can include operations such as data collection from instruments and partial conversion of raw data to measurement data.
  • Conversion plug-ins can receive a stream of raw data routed from the data engine core (i.e., the raw data being previously collected and forwarded from a data collection plug-in to the data engine core) and can perform conversion of the raw data to measurement data.
  • Display plug- ins can control operation of graphical user interfaces and display plug-in processing can include, for example, displaying the measurement data in a graphical user interface for viewing by human operator or any other type of processing.
  • Plug-ins are capable of defining custom view definitions and are also capable of registering for existing view definitions defined by other plug-ins.
  • the architecture of the environmental monitoring system provided in accordance with embodiments of the invention implements a flexible approach to the processing and routing of raw instrument data between plug-ins and conversion of raw data into measurement data and for post-processing of the measurement data for logging, alarm processing or display purposes.
  • Other aspects of the system of the invention including the dynamic ability to detect the presence of newly added plug-ins during operation of the system of the invention. In this manner, additional devices can be brought into operation in the system without having to shutdown or manually reconfigure the system to accommodate operation of the new instruments.
  • Embodiments of the invention can be implemented as software, hardware or a combination thereof.
  • One example embodiment of the invention provides an environment monitoring computer system that includes a memory, a processor, a display, a communications interface and an interconnection mechanism coupling the memory, the processor, the display and the communications interface.
  • the memory is configured with a set of plug-ins and a data engine core (e.g., as a software application and a set of dynamically linked libraries, one or more for each plug-in) that are collectively operable (e.g., executable) on the processor to produce an environment monitoring application program.
  • the environment monitoring application executes on the environment monitoring computer system to monitor ands control instruments for collection of environmental data by performing steps or operations that include operating a data collection plug-in to collect raw data associated with a measurement instrument.
  • the raw data may be, for example, streaming device data available from a field deployed device such as a radiation detection instrument.
  • the environment monitoring application receives, at a data engine core, the raw data from the data collection plug-in and routes the raw data to a conversion plug-in.
  • the conversion plug-in operates to convert the raw data into measurement data and provides the measurement data back to the data engine core for application to view definitions.
  • Such raw measurement data conversion can include, for example, streaming conversion of character data into numeric values or numerical processing of such data such as, for example, providing an average of collected values of radiation levels over time or other processing. It is to be understood that any other type of data processing may be applied to raw data to convert the raw data into measurement data.
  • the data engine core receives the measurement data from the conversion plug- in.
  • the data engine core also receives a view definition that identifies measurement data to be received by a destination plug-in.
  • View definitions can be configured at any time using a view definition protocol.
  • the data engine core processes the measurement data by providing measurement data that matches the view definition to each destination plug-in that registers an interest in the view definition. As noted in the above example, this can be done, for example, by testing the measurement data against view definitions and for each view definition to which the measurement data applies, transmitting that measurement data to any plug-ins that have registered an interest in that view definition.
  • measurement instruments are radiation detection instruments that can include mobile radiation monitors that operate to detect radiation levels of radiation sources while moving (e.g., on a person, or on or in a vehicle) and that provide raw data that includes a radiation level and specific location information associated with a radiation source producing the radiation level (e.g., the location of the moving detector at the time of detecting the radiation level).
  • at least one destination plug-in is a display mapping plug-in that defines a view definition that registers an interest on behalf of that display mapping plug-in and identifies measurement data indicating the radiation level and specific location information associated with a radiation source detected by a radiation detection instrument.
  • the display mapping plug-in is capable of producing a graphical user interface that includes a geographical map (e.g., a map of a city or a section of a city, building, or other geographical area) that identifies a location of the radiation detection instrument along with a radiation level detected at that location upon a geographical map for viewing by an operator of the environmental monitoring system.
  • a geographical map e.g., a map of a city or a section of a city, building, or other geographical area
  • the collection plug-ins associated with such instruments can provide this data to the system of the invention. Measurement data produced as a result in this information is then applied to a view defined by the display plug-in that receives this measurement data and can provide a geographical map.
  • the display plug-in controls a graphical user interface, in conjunction with the map, to indicate the specific location and detected radiation level of the instrument as the instrument moves within a geographical area represented by the map.
  • the system of the invention can identify sources of radiation at specific geographical locations as well as radiation levels produced by those sources.
  • the radiation detection instruments employ a natural background radiation (NBR) discrimination technique to distinguish between man-made radiation sources and natural background radiation levels in order to detect man-made radiation sources and produce raw data indicating the radiation level of the man-made radiation source(s) as well as a specific location of the radiation detection instrument at the time of detection of the man-made radiation source.
  • NBR natural background radiation
  • such a system can be used, for example, to identify man-made radiation sources (as opposed to naturally occurring radiation sources) as the system of the invention provides NBR discriminatory radiation detection instruments that move through a geographical region.
  • Other arrangements of embodiments of the invention that are disclosed herein include software programs and computer systems to perform the method embodiment steps and operations summarized above and disclosed in detail herein. More particularly, a computer program product is disclosed which has a computer-readable medium including computer program logic encoded thereon that, when executed on at least one processor with a computing system, causes the processor to perform the operations (e.g., the methods) indicated herein as embodiments of the invention.
  • Such arrangements of the invention are typically provided as software, code and/or other data (e.g., data structures) arranged or encoded on a computer readable medium such as an optical medium (e.g., CD-ROM), floppy or hard disk, magnetic medium or another medium such as firmware or microcode in one or more Random Access Memory (RAM) or Read Only Memory (ROM) or Programmable-ROM (PROM) chips or as an Application Specific Integrated Circuit (ASIC).
  • a computer readable medium such as an optical medium (e.g., CD-ROM), floppy or hard disk, magnetic medium or another medium such as firmware or microcode in one or more Random Access Memory (RAM) or Read Only Memory (ROM) or Programmable-ROM (PROM) chips or as an Application Specific Integrated Circuit (ASIC).
  • RAM Random Access Memory
  • ROM Read Only Memory
  • PROM Programmable-ROM
  • ASIC Application Specific Integrated Circuit
  • system of the invention can be embodied strictly as a software program, as software and hardware, or as hardware or circuitry alone and may be a combination of such elements in a single device or distributed within a system that uses a wireless or physical network or an equivalent communications system to perform environmental monitoring and instrument control.
  • Example commercial products that will be manufactured and sold that implement certain embodiments of the invention are the Mobile Detection System (MDS) and the "Viewpoint" data processing system manufactured by Thermo Electron Corporation of Waltham, Massachusetts, USA.
  • MDS Mobile Detection System
  • Viewpoint data processing system manufactured by Thermo Electron Corporation of Waltham, Massachusetts, USA.
  • Figure 1 illustrates an example configuration of an environmental monitoring system configured in accordance with one embodiment of the invention.
  • Figure 2 is a flow chart of high-level processing steps performed by an environmental monitoring application operating in an environmental monitoring computer system configured in accordance with one example embodiment of the invention.
  • Figure 3 is a flow chart of processing steps performed by the environmental monitoring application to operate a data collection plug-in to collect raw data associated with a measurement instrument in accordance with one example embodiment of the invention.
  • Figure 4 is a flow chart of processing steps performed by the environmental monitoring application to receive the raw data from the data collection plug-in and to route the raw data to a data conversion plug-in in accordance with one example embodiment of the invention.
  • Figure 5 is a flow chart of processing steps performed by the environmental monitoring application to operate a data conversion plug-in to convert the raw data into measurement data in accordance with one example embodiment of the invention.
  • Figure 6 is a flow chart of processing steps performed by the environmental monitoring application to receive the measurement data from the data conversion plug-in in accordance with one example embodiment of the invention.
  • Figure 7 is a flow chart of processing steps performed by the environmental monitoring application to receive a view definition that identifies measurement data to be received by a destination plug-in in accordance with one example embodiment of the invention.
  • Figure 8 is a flow chart of processing steps performed by the environmental monitoring application to provide measurement data that matches the view definition to each destination plug-in that registers an interest in the view definition in accordance with one example embodiment of the invention.
  • FIG. 1 illustrates an example environmental monitoring system 100 configured in accordance with embodiments of the invention.
  • the environmental monitoring system 100 in this example includes an environmental monitoring computer system 110 that operates as explained here in to collect data from, and to control, a plurality of measurement instruments 190-1 through 190-N deployed within an environment or geographical region to be monitored.
  • the measurement instruments 190 may be radiation detection instruments that can be either mobile (e.g., 190-1 mounted on or within a vehicle or carried by a person) or stationary.
  • the measurement instruments 190 collect and transmit (either wirelessly or via a physical data communications link) raw radiation level and location data 192 concerning the environment which they monitor for receipt by a communications interface 185 coupled to the environment monitoring computer system 110.
  • the system can include a respective communications instrument coupled to each remotely operating measurement instrument.
  • Each communications instrument can be, for example, a radio for transmission of radio signal and can include programmable logic operable to collect and forward the raw data, in a format obtainable from the measurement instrument (e.g., the vendor specific data format) from the remotely operating measurement instrument for transmission to the central environment monitoring computer system in the form of raw data 192.
  • the environment monitoring computer system 110 processes the raw data 192 and presents information concerning the processed raw data to an operator 105 by presentation, for example, within a graphical user interface 119 displayed on a monitor or other display 118 coupled to the environment monitoring computer system 110.
  • the environment monitoring computer system 1 10 in this example includes an interconnection mechanism 1 16 that couples the communications interface 185, a memory 112, a processor 114 and the display 118.
  • the memory 112 is encoded with an environmental monitoring application 120 configured in accordance with embodiments of the invention.
  • the environmental monitoring application 120 in this example represents software code (e.g., executable object code) that may be executed upon the processor 114 to carry out the processing operations of embodiments of the invention as explained herein.
  • the environmental monitoring application 120 includes a plurality of plug- ins 150 that are, for example, dynamically loadable and linkable software libraries for software processes that are capable of performing a variety of processing tasks as explained here in.
  • the plug-ins 150 communicate with a data engine core 130 that coordinates the processing operations of embodiments of the invention.
  • the data engine for 130 in this example includes sub-processes that include a route manager 132, a view manager 134 and a device or instrument manager 136. Specific functionality of these components will be explained in detail within this disclosure.
  • the environmental monitoring computer system 110 and its associated environmental monitoring application 120 provide a dynamic, adaptable and expandable environmental monitoring system that uses the plug-ins 150 to create an open and modular architecture that is fully expandable to accommodate different types of instruments 190 that communicate raw data 192 using a variety of data formats and instrumentation control and communications protocols.
  • the modular plug-ins 150 support various processing tasks that include communication with the environmental monitoring instruments 190 to receive commands, collect the raw data 192, process and convert the raw data 192 into measurement data 194, and storage and/or presentation of such raw data 192 and measurement data 194 within, for example, a database or upon the graphical user interface 1 19 for viewing by the human operator 105.
  • the monitoring instruments 190 include a respective communications instruments 191 or device (e.g., that may be a communications card, device, board, circuit or the like built-in to the instrument, or that may be a separate radio like device that couple to the measurement instrument 190 and that operate together in the field), different monitoring instruments 190 from different vendors can be used in the system 100.
  • the communications instrument 191, that operates in the field with the measurement instrument 190 can include programmable logic, such as firmware, that can be programmed to properly obtain the raw data 192 from the monitoring instrument 190 and can transmit this raw data 192 to the central environment monitoring computer system for receipt by the communications interface 185.
  • the programmable communications instrument 191 provide a mechanism to interface many different types of vendor supplied measurement instruments 190 from different vendors and each can include a coupling to a respective communications instrument 191 that provides a programmable technique to obtain the data form its respective measurement instruments 190.
  • a different plug-in 150 can be created to handle that type of communicates protocol to obtain raw data form measurement devices 190.
  • embodiments of the invention provide a system that is expandable and adaptable for different types of environmental monitoring measurement and communications instruments 190, 191 and the data engine core coordinates the exchange or "routing" and processing of raw data and conversion to measurement data between the various plug-ins 150.
  • a data collection plug-in 150-1 responsible for communicating with individual radiation detection instruments 190 deployed in the field, for example, operates wireless communications protocols to collect the raw data 192.
  • Different plug-ins can be provided to communicate with different radiation detection instruments manufactured by different vendors.
  • the data collection plug- in 150-1 forwards the raw data 192 to the data engine core 130 where this raw radiation detection data 192 is routed, using the route manager 132, for example, to a radiation data conversion plug-in 150-1 that converts and processes the raw radiation detection data 192 into measurement data 194 by applying conversion processing.
  • conversion processing can include, for example, conversion of string data to numeric data, or more complex processing such as signal analysis processing.
  • the radiation data conversion plug-in 150-2 then forwards this measurement data 194 back to the data engine core 130.
  • the data engine core 130 operating as part of the application 120 can test a set of view definitions 140 to determine if the measurement data 194 matches any view definitions 140.
  • Plug-ins can register and create new view definitions 140 or register an interest in existing view definitions 140 to indicate to the view manager that that plug-in wants to receive the measurement data defined in that view. Once defined, other plug-ins can subscribe to existing view definitions, or create view definitions defining views of their own.
  • the view manager 134 manages the view definitions 140.
  • the data engine core 130 can test newly received measurement data 194 (received, for example, from a conversion plug-in 150) against each view definition 140 to see if any view definitions identify the radiation measurement data that has been produced from the conversion plug-in 150. If any measurement data 194 matches any view definitions 140, the data engine core 130 transports or otherwise provides that measurement data 194 to all plug- ins in the set of plug-ins 150-1 through 150-M that have registered an interest in that view definition. In this manner, the radiation measurement data 194 is disseminated to each plug-in for subsequent processing.
  • Alarms can be detected by have a plug-in define a view definition 140 that indicates measurement data 194 must be of a certain value or threshold before the view manger 134 is to forward that measurement data 194 to plug-ins that have registered an interest in that view 140.
  • the architecture of the environmental monitoring system 100 provided in accordance with embodiments of the invention implements a flexible approach to the processing of raw instrument data into processed measurement data and for routing of the raw data and for proper presentation of the measurement data to plug-ins that have an interest in such measurement data. Further details of operation of the system of the invention will now be explained with respect to a series of flow charts that defined processing performed by the environmental monitoring computer system 110 configured with an environmental application 120.
  • Figure 2 is a flow chart of processing steps performed by the application 120 during execution to provide a method for monitoring environmental data in accordance with one embodiment of the invention. Details of processing steps shown in Figure 2 will be provided by subsequent flow charts that show sub-steps of such processing.
  • step 200 the application 120 initializes the plug-ins 150 for operation with the data engine core 130.
  • Initialization in one configuration takes place by operating a control plug-in 150 (e.g., 150-M) that can query each other plug-in 150-1 through 150-(M-I) to identify the protocol(s) that the plug-in uses to communicate with the data engine core 130 and to identify the type of device or instrument to which that plug-in 150 is associated.
  • a control plug-in 150 e.g., 150-M
  • 150-M can query each other plug-in 150-1 through 150-(M-I) to identify the protocol(s) that the plug-in uses to communicate with the data engine core 130 and to identify the type of device or instrument to which that plug-in 150 is associated.
  • device data structures can be established (e.g., creation of a device file to act as a repository or mailbox for data being sent to and/or from the plug-in 150) and the data engine core 130 can enter a processing loop in a shared or time sliced manner that provides a tick or signal to each data collection plug-in to "service" that plug-in by operating its specified protocol.
  • a plug-in tick mechanism or loop operates, for example, in a round robin or other sequential manner (or in a manner that is non-sequential, such as in a pattern based on time in which some plug-ins are serviced more often than others) to cycle through operation of plug-ins according to their defined protocols.
  • a protocol defined by a plug-in 150 may indicate it has a read call (an application programming interface or function call) to read raw data from the plug-in, and a write call to receive a command from the data engine core 130 for transport to an instrument 190 under control of that plug-in, thus allowing two way communication, via the plug-in, to instruments 190.
  • the read call would allow the data engine core to obtain the raw data from that plug-in (e.g., via the device file created during plug-in initialization), and would also allow any awaiting commands to be provided to that plug-in for transmission to the instrument. It is to be understood that this is a simple example and more complex protocols are supported.
  • the application 120 operates a data collection plug-in 150 to collect raw data 192 associated with a measurement instrument 190.
  • Collection of raw data 192 can be performed using a communications protocol between the plug-in 150 and the environmental instrument 190. This protocol can be bi-directional and can be based upon a standardized communications protocols such as TCP/IP or can be a proprietary or customized protocol.
  • Devices files can be used as communication repositories for data awaiting processing either from the plug-in to the data engine core, or from the data engine core to the plug-in.
  • Raw data 192 may be continuously streamed from the measurement instrument 190 to the data collection plug- in 150 (and maintained temporarily in a device file until the tick for that plug-in is performed by the data engine core 130 to obtain the current collected streamed data.
  • the plug- in 150 receives its tick from the data engine core and in response queries the instrument(s) 190 in real-time for raw data received as a packet, frame or other portion of data that is returned from the measurement instrument 190 in response to the query.
  • the application 120 receives, at the data engine core 130, the raw data 192 from the data collection plug-in 150 and in this example, routes the raw data to a conversion plug-in 150 via the route manager J32.
  • a data collection plug-in 150 can collect and convert, in whole or in part, the raw data 192 obtained from the measurement instrument 190 into the measurement data 194.
  • the raw data 192 can be passed or routed in its native or un-converted (i.e., unprocessed) form from the data collection plug-in 150 to a conversion plug-in for conversion of the raw data to measurement data 194 by a separate plug-in (or a series of application of multiple plug-ins).
  • the route manager 132 performs routing of raw data and details of this processing will be explained shortly.
  • the route manager 132 can be configured with routing information 142 describing routes for the transfer of raw data between sourcing destination plug-ins for processing purposes.
  • routing information 142 describing routes for the transfer of raw data between sourcing destination plug-ins for processing purposes.
  • raw data received from a particular source plug-in can be routed to one or more destination plug-ins and specified by routing information 142 maintained by the route manager 132.
  • the application 120 operates the conversion plug-in 150 (i.e., to which raw data 192 was routed) to convert the raw data 192 into measurement data 194.
  • Some plug-ins 150 operates strictly as conversion plug-ins to convert one form of data to another such as raw data 192 to measurement data 194.
  • Such conversion processing includes, for example, converting alphanumeric strings representing values to numeric data, or more complex data processing functionality such as performing transformations on the data.
  • embodiment of the invention provide a flexible data processing system that can be expanded and enhanced via the addition of newly defined plug-ins that provide enhanced data processing capabilities.
  • step 204 the application 120 receives the measurement data 194 from the conversion plug-in at the data engine core 130.
  • the data conversion plug- in 150 can return the measurement data 194 back to the data engine core 130 and for application to view definitions 140 as will be explained.
  • this example embodiment of the invention distinguishes between raw data 192 that is data collected from measurement instruments 190 and is relatively unprocessed versus measurement data 194 which represents raw data 192 to which plug-in processing has been applied to convert all or a portion of the raw data 192 into measurement data 194 in a format usable by application level processing, such as display or storage within a database 198.
  • the application 120 receives a view definition 140 that identifies measurement data to be received by a destination plug-in 150.
  • the environment monitoring application 120 at any time allows creation of view definitions 140 that define views or filters indicating measurement data 194 of interest to one or more plug-ins 150 using the processing of step 205.
  • a plug-in 150 can operate a view definition protocol to define the particular view definition that indicates measurement data of interest that plug-in 150.
  • a system operator 105 can manually define view definitions 140 for use by plug-ins 150.
  • any plug-in 150 is capable of registering an interest in view definition.
  • the plug-in 150 will receive updates or changes to take place to any measurement data 194 defined within that view definition upon receipt of that measurement data 194 by the data engine core 130.
  • the view manager 134 handles receipt of the measurement data 194 and application of the measurement data to any existing view definitions 140 by testing whether that measurement data 194 matches any view definitions 140.
  • the application 120 provides the measurement data 194 that matches the view defmition(s) 140 to each destination plug-in 150 that registers an interest in the view definition 140.
  • the term "destination" plug-in 150 as used herein indicates any plug-in that has registered interest in a view definition 140 and is a destination for receipt of a view defined by that view definition 140 upon occurrence measurement data 194 that the view manager 134 matches against the view defmition(s) 140.
  • a display plug-in 150 can define a view definition 140 that indicates measurement data 194 to be shown to the operator 105 via a graphical user interface 119 in situations in which the measurement data value exceeds a predetermined threshold.
  • the view manager 134 provides that measurement data 194 (i.e., that exceeds the predetermined value) to the display plug-in 150 that has registered an interest in that view definition 140.
  • the display plug-in 150 can then produce an image such as a hypertext markup language (HTML) document or other display (text, graphic or audio/visual) to the operator 105 of the graphical user interface 119 of the display 118 of the environment monitoring computer system 110.
  • HTML hypertext markup language
  • embodiments of the invention provide an environment management and monitoring application architecture that provides an underlying data processing infrastructure including the route manager functionality 132 to route raw data between plug-ins and view definition capabilities provided by the view manager 134 to allow post-processing of raw data received as measurement data 194 to be distributed to plug-ins, when appropriate (i.e., when the data 194 matches testing conditions defined in the view), for output to a user or for other processing purposes such as storage within a database 198.
  • a database plug-in 150 can define a view definition that identifies specific data to be stored within a database 198, such as occurrences of high values of measurement data (e.g., high radiation levels of interest at specific locations). Upon occurrence of measurement data 194 matching a view definition testing conditions, that measurement data 194 is provided to the database plug-in 150 for storage within the database 198.
  • example embodiments of the invention can be configured for use in the area of radiation detection, measurement and monitoring.
  • operating a data collection plug-in to collect raw data 192 in step 201 operates, for example, a wireless communication protocol to communicate with the radiation detection instruments 190 to obtain radiation detection levels detected by the radiation detection devices 190 for display on a graphical user interface 119.
  • the radiation detection instruments 190 can include mobile radiation monitors that may be mounted on or in vehicles or on a person, such as personal dosimeters.
  • Such instruments 190 operate to detect radiation levels of radiation sources while moving and provide raw data 192 that includes a radiation level and, in one specific configuration, specific location information (e.g., an address or a global positioning system (GPS) coordinate location) associated with a radiation source producing the detected radiation level.
  • specific location information e.g., an address or a global positioning system (GPS) coordinate location
  • one destination plug-in is a display mapping plug-in that defines a view definition 140 that registers an interest on behalf of that display mapping plug-in in the radiation level and location measurement data 194 (e.g., for any radiation levels detected above a certain threshold value).
  • Measurement data 194 converted from raw data 192 indicates the radiation level and specific location information associated with the radiation source detected by the radiation detection instrument and when that level 194 is equal to or exceeds the threshold defined in the view 140, the view manager transmits that measurement data 194 to the display mapping plug-in 150.
  • the display mapping plug-in 150 is capable of producing a graphical user interface 119 that includes a geographical map (e.g., as a detailed graphical image or a topology or layout of a region) that identifies a specific location of the radiation detection instrument 190 (i.e., based on the location information such as GPS data) along with the radiation level detected at that location.
  • An operator 105 of the environmental monitoring system 100 views this information as the plug-in display this dynamically upon a geographical map.
  • the map is displayed and an indicator of the location of a radiation source is provided on the map, such as with an icon, pointer or other indicator along with the detected level of radiation at that location.
  • an indicator of the location of a radiation source is provided on the map, such as with an icon, pointer or other indicator along with the detected level of radiation at that location.
  • the view manager causes transfer of the location and corresponding radiation level information (i.e., measurement data 194 converted to map coordinates) to the display plug-in 150 capable of superimposing or rendering a graphical image that indicates the specific location and strength of the detected radiation level upon a geographical map along the operator 105 to pinpoint particular sources radiation with an environmental area.
  • the location and corresponding radiation level information i.e., measurement data 194 converted to map coordinates
  • the raw data 192 and in the measurement data 194 can include a digital photograph or video taken at the time of peak detection.
  • the video data can show the terrain and objects present in the detected radiation region just before and after the detection process to help an operator assess what might be the particular object containing the radiation source.
  • the type of radiation source detected can also be displayed (e.g., gamma, X-ray, beta, specific wavelengths, decay rates, etc.) and processing can be performed by a plug-in to assist in identifying a supposed object or compound producing or containing the radioactive material.
  • the radiation detection instruments 190 employ a natural background radiation (NBR) discrimination technique to distinguish between man-made radiation sources and natural background radiation levels in order to primarily detect man-made radiation sources.
  • the NBR discrimination detection instruments 190 produce raw data 192 indicating the radiation level of the man-made radiation sources, as well as a specific location of the radiation detection instrument at the time of detection of the man-made radiation source. Details of application and operation of a natural background radiation discrimination technique that may be used within radiation detection system of the present invention are described in the following co-pending U.S. patent applications:
  • FIG. 3 is a flow chart showing processing steps performed by the application
  • the data engine core 130 is extendable with data collection plug-ins operable to collect and process raw data for different types of environmental instruments 190.
  • the application 120 identifies the existence of a new environmental instrument 190 by dynamically detecting the presence of a new data collection plug-in 150 operable in conjunction with the data engine core 130 for that type of environmental instrument 190.
  • the system of the invention allows plug-ins to begin operating in a dynamic manner without requiring shutdown or disruption of a currently operational system.
  • the system of the invention allows the introduction of new environmental instruments 190 that communicate using protocols different than the currently operating the plug-ins 150.
  • the data engine core 130 can be made aware of such plug-ins, for example, by dynamically and periodically querying a plug-in configuration file that identifies the set plug-ins that are ready for operation within the environment monitoring application 120. By periodically querying such a file, newly added plug-ins to the system can be identified within the file (e.g., by an operator adding the plug-in identification into the configuration file).
  • the application 120 thus checks this file and when plug-ins are detected, they are loaded and executed according to the processing operations explained here in to allow the dynamic introduction of such plug-ins into the operational system.
  • a command plug-in can be responsible for identifying each plug-in that is to operate with the system 100. In response to detecting the presence of a new data collection plug-in, the application 120 performs the processing steps 221 through 223.
  • the application 120 communicates with the data collection plug-in to identify the type of environmental instrument 190 for which the new data collection plug-in 150 collects raw data 192.
  • the application 120 communicates with a plug-in 150 to identify the type of data conversion that can be performed by the plug-in (in the case of data conversion plug-ins) and to identify the plug-in as either a source or destination of a route for raw data received by the data engine core 130.
  • any routing information associated with the plug-in can be configured within the route manager 132. Is to be understood that routes may also manually be configured by the operator 105 during initial installation and set up of the environment monitoring application 120. Additionally at this time, plug-ins can define view definitions 140.
  • step 222 the application 120 communicates with the data collection plug-in to identify a plug-in protocol by which to collect at least one of raw data and/or measurement data from a type of environmental instrument.
  • This example thus illustrates operation in relation to a data collection plug-in 150. It is to be understood that in step 222 in an alternative configuration, the application 120 communicates with a plug-in 150 to identify a plug-in protocol to use for transfer of data to and from that plug-in for conversion to measurement data and receipt of instrument commands.
  • step 223 the application 120 establishes a route within the data engine core 130 (via operation with the route manager 132) that indicates source and destination plug-ins 150 between which raw data 192 is to be transferred.
  • the plug-in can identify routing information to be used by the route manager 132 to establish that plug-in as either a source or destination plug- in (or both) for a route of raw data 192.
  • the operator 105 may manually configure the route manager 132 when certain plug-ins become available (i.e., are installed for use by the system 100 after placement of an instrument 190 in the field) for operation within the environment monitoring application 120.
  • step 223 is an optional step and is not intended to limit embodiments of the invention.
  • Figure 4 is a flow chart showing processing steps performed by the application 120 during execution to operate data collection plug-ins 150 to collect raw data 180 associated with measurement instruments 190.
  • the application 120 operates the data collection plug-ins 150 according to specified plug-in protocol(s) to collect raw data (and to optionally convert some or all of the raw data to measurement data) from that type of environmental instrument 190.
  • the application 120 performs a conversion of at least a portion of the raw data 192 collected from the environmental instrument into measurement data 194.
  • this conversion can include complex measurement conversion, data conversion, protocol conversions or any other type of data processing operation required to convert data from one format to another for use by the environmental monitoring application 120.
  • step 232 once the raw data 192 has been converted to measurement data 194, the application 120 provides the converted measurement data 194 to the data engine core 130.
  • a plug-in 150 can perform partial conversion of raw data 192 to measurement data 194 and the remaining un-converted portions of raw data 192 can be routed back to the data engine core 130 for receipt by the route manager 132 for forwarding to successive data conversion plug-ins 150 for further processing and conversion to measurement data 194.
  • some plug-ins may perform protocol conversion and if data packets contain several "layers" or different portions of data encoded in different protocols, and each plug-in can perform conversion of data related to its specific protocol.
  • the data collection plug-in 150 may perform no conversion of the raw data 192 into measurement data 194 but may simply operate to collect raw data from an instrument (and possibly receive commands from the data engine core as raw data to be forwarded to the instrument, according to the protocol specified by that plug-in). In such cases, conversion of raw data to measurement data is left up to the route manager 132 to route the data to one or more dedicated data conversion plug-ins 150 that operate in conjunction with each other, such as in a sequence, to perform the conversion of the collected raw data 192 to measurement data 194.
  • step 233 A variation of this is illustrated in step 233, in which the application 120 provides raw data 192 to the data engine core 130 in addition to the converted measurement data 194.
  • the data collection plug-in 150 also operates in part as a data conversion plug-in and can perform partial conversion of the raw data 192 and provide both those portions of the raw data 192 that were on converted as well as providing measurement data 194 representing those portions of the raw data 192 that the plug-in converted into the measurement data 194 to the data engine core 130.
  • Figure 5 is a flow chart showing processing steps performed by the application 120 during execution to receive, at a data engine core, the raw data 192 from the data collection plug-in 150 and to route the raw data 192 to a data conversion plug-in 150.
  • the application 120 establishes a route within the data engine core 130 (e.g., within the routing information 142 maintained by the route manager 132) that indicates source and destination plug-ins 150 between which raw data 192 is to be transferred.
  • the destination plug-ins 150 are typically data conversion or display plug-ins 150 that operate to convert the raw data (or at least a portion of the raw data) into measurement data 194 or to display the data on an interface (e.g., 119) or log the data 194 into a database 198.
  • Each plug-in 150 has a plug-in identity and routing information maintained by the route manager 132 indicates, in one configuration, plug-in identity pairs to indicate that raw data from one plug- in is to be routed to the plug-in associated with the other plug-in identity of the plug-in identity pair stored in the routing information 142.
  • more complex routing schemes can be provided that include an identity or type indication of the type of raw data being routed along with an indication of destination plug-in identity(s) that are to receive the raw data 192. Thus routing is performed in this example based on data type, as well as plug-in identity.
  • Still other configurations can provide selective routing in which raw data can be segmented into portions that are routed to the same or to different destination plug-ins based on the content of the data itself.
  • the route manager can implement content routing mechanisms such as point-to-point routing in which raw data is routed between one source plug-in and one destination plug-in if it contains certain values, and between other plug-ins if the data contains other values.
  • the route manager 132 can provide more robust routing such as multicast routing in which raw data received from a source plug-in is transferred to multiple destination plug-ins.
  • Bifurcation routing configurations are also possible in which raw data that has identifiable or distinct segments, packets or frames can be routed to respective different plug-ins 150 to provide parallel processing of raw data 192 into measurement data 194 in cases of large raw data segments.
  • Examples of such application include applying signal processing operations within a set of conversion plug-ins to a large segment of raw data in which each plug-in processes a respective segment of the raw data portion 192. Details of an example routing operation are shown in sub-steps 241 in 242.
  • step 241 the application 120 receives raw data 192 at the data engine core 130 from a source plug-in 150.
  • the route manager 132 operating in the data engine core 130 receives the stream of raw data 192.
  • the application 120 i.e., the route manager 132 operating as part of the data engine core 130
  • transfers i.e., routes according to establish routing information 142
  • the raw data 192 from a source plug-in that provided the raw data 192 to a destination plug- in that is to receive the raw data 192 as specified by applying the raw data to the routing information 142 maintained within the data engine core 130 that specifies the route for the raw data between source and destination plug-ins.
  • routing information 142 maintained within the data engine core 130 that specifies the route for the raw data between source and destination plug-ins.
  • Figure 6 is a flow chart showing processing steps performed by the application 120 during execution to operate a data conversion plug-in to convert the raw data 192 into measurement data 194.
  • the processing shown in Figure 6 shows details of step 203 from Figure 2.
  • the data engine core 130 is extendable with conversion plug-ins 150 operable to convert raw data 192 into measurement data 194.
  • step 250 the application 120 receives (i.e., routes) the raw data at (i.e., to) the conversion plug-in 150 as a result of application of the raw data to routing information in the data engine core 130 that specifies the conversion plug-in 150 as a destination plug-in in a route for the raw data 192.
  • step 251 the application 120 (i.e., the plug-in 150 operating as part of the application 120) applies data conversion processing to the raw data 192 to convert the raw data 192 to measurement data 194. As noted above, such conversion can include any type of data processing operations
  • step 252 the application 120 (i.e., the plug-in performing the conversion) returns the measurement data 194 to the data engine core 130.
  • step 253 the application 120, via a plug-in 150, also receives and outputs data to an instrument 190, thus providing two-way control and communications to and from the instrument 190.
  • the modular plug-in design allows two-way communication with instruments 190.
  • instruments 190 that provide for remote control are accommodated in the system of the invention.
  • Figure 7 is a flow chart showing processing steps performed by the application 120 during execution to receive a view definition 140 that identifies measurement data 194 to be received by (i.e. provided to) a destination plug-in (i.e., details of step 205 in Figure 2).
  • step 260 the application 120 operates a view definition protocol between the destination plug-in 150 and the data engine core 130 (i.e., the view manager 134) to allow that destination plug-in to perform the operations of defining a new view definition 140 and registering an interest in the new view definition 140.
  • Step 261 through 264 show further details of this processing.
  • the application 120 defines, within the data engine core 130, a new view definition 140 that specifies a set of measurement data of interest.
  • a plug- in 150 can use a view definition protocol for this purpose that allows transfer of a view definition (e.g., a data record definition or other data structure, or a set of rules indicating what measurement data values 194 that plug-in desires to obtain if certain conditions are met, such as the measurement data exceeding (or being below) a certain value) to the view manager 134.
  • a view definition can be a simple list of measurement values, or a more complex arrangement of if-tem rules, case statements, or other logic defining what situations or data conditions must be met for a plug-in to be the recipient of a portion of measurement data 194.
  • the view manager can obtain measurement data 194 from a plug-in and can apply this to each view definition (e.g., to each rule, list, case statement, etc.) to see if that measurement data 194 (or a calculation based on that value) meets the prescribed rules defined in the view definition 140.
  • each view definition e.g., to each rule, list, case statement, etc.
  • step 262 the application 120 adds the new view definition 140 to a set of defined view definitions (shown collectively as 140 in Figure 1).
  • the application 120 receives, from destination plug-ins 150, plug- in registrations for view definitions 140 within the set of defined view definitions that indicate, for a particular destination plug-in 150 providing a plug-in registration, that the destination plug-in 150 has an interest in the measurement data 194 specified within the view definition for which that plug-in 150 registers an interest.
  • each view definition can have an identify and the view manager can keep a list of plug-in identities that are associated with each view definition identity to be able to track which plug-ins have an interest in which views 140.
  • a display plug-in can register a view definition 140.
  • the application 120 receives, from the display plug-in 150, a display view definition 140 that identifies measurement data 194 associated with devices (i.e., a collection of measurement data converted from one or more instruments) that is to be displayed upon the graphical user interface 119 for viewing by the human operator 105 that is of interest to the display plug-in 150.
  • a view definition can be used as a filter such that the display plug-in can indicate, in its view definition 140 (i.e. that it registers), that the measurement data 194 is only to be provided to the display plug-in in situations in which the measurement value is equal to or exceeds a predetermined threshold.
  • Any other characteristic can be used for testing to determine if the measurement data 194 matches a view definition. This is useful for alarm purposes where a display plug-in only wishes to inform an operator 105 (via the GUI 1 19) if a measurement data value 194 is within a certain range, or exceeds or is below a certain value or range.
  • Figure 8 is a flow chart showing processing steps performed by the application 120 during execution to provide measurement data 194 that matches the view definition to each destination plug-in 150 that registers an interest in the view definition 140.
  • the application 120 tests measurement data 194 received at the data engine core 130 (by the view manager 134) against view definitions 140 within the set of defined view definitions to determine if the measurement data 194 matches the view definition 140.
  • the view definitions 140 thus operate as filters to allow the view manager 134 to identify or select certain measurement data 194 of interest to any plug-ins that register for receipt of the measurement data 194 defined in that view definition (e.g., that register an interest in that view definition).
  • step 271 for any measurement data that matches the view definition 140, the application 120 provides that measurement data 194 to any destination plug-in 150 which has registered an interest in that view definition 140.
  • At least one destination plug-in 150 is a display plug-in for controlling presentation of measurement data 194 upon a graphical user interface 119.
  • the operations of receiving the measurement data and providing the measurement data that matches the display view definition 140 are performed dynamically by the environment monitoring application 120 in a real-time manner such that measurement data associated with the display view definition 140 defined by the display plug-in 150 is provided to the display plug-in 150 for presentation on a graphical user interface 119 to allow a human operator 105 viewing the graphical user interface to identify dynamic real-time changes in the measurement data 194.
  • the application 120 tests the measurement data 194 received at the data engine core 130 to determine if portions of the measurement data 194 match the display view definition 140 that identifies measurement data 194 associated with devices (i.e., instruments) that are to be displayed upon the graphical user interface. If the portions of the measurement data 194 match the display view definition 140, the application 120 provides those portions of the measurement data 194 in accordance with the display view definition 140 to the display plug-in 150 for presentation upon the graphical user interface 1 19 of the environment monitoring computer system 110.
  • devices i.e., instruments
  • the view definition 140 defined by the display plug-in 150 identifies measurement data 194 of interest to the display plug-in 150 for only a subset (e.g., 190-1, 190-2) of all environment monitoring instruments 190 operational within the environment monitoring system 100, such that the human operator 105 viewing the graphical user interface 119 sees measurement data 194 for only a subset of environmental monitoring instruments 190 that are operational in the system 100.
  • the system 100 of the invention can display data for only those devices of interest to the user 105, as opposed to having to display all device data for all devices as is done in conventional systems.
  • the view definitions 140 thus allow system developer to define completely custom views of only selected data from some or only a portion of operating instruments 190.
  • a computer usable medium can include a computer readable memory device, such as a hard drive device, a CD-ROM, a DVD-ROM, or any type of computer diskette, having computer readable program code segments stored or encoded thereon.
  • Examples of the computer readable medium can also include a communications link, either optical, wired, or wireless, having program code segments as propagated signals carried thereon as digital or analog signals. Accordingly, the invention should not be limited to the described embodiments.

Abstract

An environment monitoring system (110) and application (120) monitor environmental data by operating one or more data collection plug-ins (150-1) to collect raw data associated with a measurement instrument. The system receives, at a data engine core (130), the raw data from the data collection plug-in(s) (150-1) and routes the raw data to a conversion plug-in (150-2). The system operates the conversion plug-in (150-2) to convert the raw data into measurement data and receives the measurement data from the conversion plug-in (150-2) at the data engine core (130). The system also receives a view definition that identifies measurement data to be received by a destination plug-in and provides measurement data that matches the view definition to each destination plug-in that registers an interest in the view definition for display (118) to an operator (105) of the system.

Description

METHODS AND APPARATUS FOR ENVIRONMENTAL MONITORING
CLAIM TO BENEFIT OF EARLIER FILED PROVISIONAL APPLICATION
This PCT Application claims the benefit to the following Provisional Application:
1) Provisional Patent Application entitled "METHODS AND APPARATUS FOR ENVIRONMENTAL MONITORING," filed August 6, 2004 having Serial Number 60/599,759 and having docket number TEC04-07(TAG)p.
BACKGROUND
Conventional environmental monitoring systems provide the ability to monitor various types of environmental instruments in order to detect changes in environmental conditions. By way of example, in the area of radiation monitoring systems, environmental monitoring systems designers have created systems that include a plurality of remotely operable radiation detection instruments that individually sense radiation levels in a relative vicinity and report detected radiation levels to a centralized computer system for display to a human operator. The centralized computer system might contain, for example, a graphical user interface that identifies each individual radiation detection instrument within the system along with an associated radiation level sensed by that instrument. Such conventional systems provide the ability for an operator to set alarm thresholds that allow the system to identify situations in which the radiation level sensed by a particular radiation detection instrument exceeds a certain value and in response, provide an alarm indication to a human operator.
Other conventional environmental monitoring systems include the ability to process other types of data such as video information collected from video cameras, temperature readings, location information and so forth. Such conventional systems generally provide remote sensing instruments that collect and provide data to the centralized computer system for alarm processing and dissemination to an operator's display. SUMMARY
Conventional environmental monitoring systems suffer from a variety of deficiencies. In particular, such conventional environmental data processing systems lack a modular design that provides for easy adaptability and expandability for the addition of alternative types of environmental monitoring devices or instruments to be integrated into such systems. As an example, conventional environmental monitoring systems such as those described above are typically limited or restricted to processing certain types of data that must conform to certain formats for device data collection. As a specific example, an environmental monitoring system produced from vendor A might only efficiently operate using vendor A's environmental detection instruments or with other vendor's measurement instruments that conform to Vendor A's communications protocol. It is often difficult or impossible to integrate environmental detection instruments from other vendors into such a system if those devices do not communicate using on of the accepted protocols. In addition, as new types of environmental monitoring devices are developed and enter the environmental monitoring marketplace, integration of such a devices requires significant reworking of existing environmental monitoring systems. Further still, it is difficult to implement customized processing of data collected by such system, such as performing some custom signal processing calculations on data gathered from the monitoring instrument. Instead, processing options are limited to those provided by the conventional system as delivered from the system vendor. Generally then, such conventional environmental monitoring systems do not provide a flexible mechanism to easily integrate different types of devices for different vendors into a single environmental monitoring system nor do such systems easily adapt to changes in existing devices or provide the ability to modify or easily add processing operations.
To accomplish such adaptability using conventional systems, the vendor of the conventional systems typically collets customer request for new features (e.g., new processing operations or calculations on collected data) and releases a new version of the environmental monitoring system, such as a new release of the software program, that is capable of communicating with existing devices as well as new devices integrated into the new release of the software. The new release may also support some of the requested processing operations. This is problematic since it requires upgrading from an earlier release to a new version of the environmental monitoring computer system and software in order to obtain the desired processing features and device compatibility and can often be challenging task. Moreover, since conventional systems do not provide an open modular software design, adding new processing features is often not worth the trouble. Once a conventional environmental monitoring system is deployed in the field, changes made to the existing system can require significant reconfiguration of the centralized computer system in order to allow, for example, newly deployed environmental monitoring instruments to be integrated into the existing system. That is, such conventional systems do not support the real-time dynamic ability to detect the existence of newly deployed devices and to allow such newly deployed devices to be seamlessly integrated into the real-time display of the pre-existing operational environmental monitoring devices without disrupting operation of the system prior to the introduction of new devices. Introduction of new devices with different functionality (than existing operational devices) into the system typically requires the shutdown of operation of the existing system, reconfiguration of software, data or other aspects of the system and then restarting and testing the system in order to integrate information from the new instruments into the existing system. Conventional systems thus lack the ability to dynamically detect an existence of a new device within the system after the system's initial operation and provide little ability to integrate the data from operation of the new devices into the existing system without shutting down and manually reconfiguring certain aspects of the existing system in order to allow the existing system to be aware of the new instruments.
Other drawbacks of conventional environmental monitoring systems include limitations in the flexibility of how such systems process and present data to a human operator. As an example, conventional environmental monitoring systems typically display all data from all environmental monitoring instruments or devices deployed in the system. It is often difficult or impossible to limit the amount of data presented, for example via a graphical user interface, from a specific set or type of environmental monitoring device or from a subset of such devices. That is, if an operator desires to perform data collection and presentation of such data from instruments in a different configuration than the vendor supplied view of the data, conventional environmental monitoring systems do not provide an easy way to significantly reconfigure the graphical user display for alternative presentation of such data. Thus each operator sees the same data in the same format. There may be choices provided by the system to view the data in a few different formats (e.g., table vs. graph), but other than the vendor supplied choices, the operator does not have the ability to completely customize the display. In addition, customer enhancement capabilities are limited in conventional environmental monitoring systems since such systems do not expose programming interfaces allowing customized feature development and deployment in conjunction with the existing system. Rather, the customer is limited to a selection of vendor supplied views of the data and processing operations.
Embodiments of the invention significantly overcome such deficiencies and provide a flexible, dynamic and expandable environmental monitoring system that provides an open and modular architecture that is fully expandable to accommodate different types of devices and monitoring instruments, data formats, instrumentation protocols, processing operations and operator views. In particular, embodiments of the invention provide a software-based design that supports the use of modular plug- ins for various processing tasks that include communication with environmental monitoring instruments, processing and conversion of raw data into measurement data, and storage and presentation of such raw data and measurement data within, for example, a database or upon a graphical user interface for viewing by a human operator of the environmental monitoring system provided in accordance with embodiments of the invention. By using a software plug-in-based design, embodiments of the invention provide a system that is expandable and adaptable for different types of environmental monitoring instruments estimated using different formats and/or different communications protocols. The environment monitoring software application and process referred to herein include a data engine core that coordinates the exchange and processing of information between the various plug-ins that operates as part of the application.
As an example, to collect, process and display radiation level information to identify alarms from a plurality of radiation detection instruments, one implementation of a system configured in accordance with the invention provides plug-ins responsible for communicating with individual radiation detection instruments deployed in the field, for example, using wireless communications protocols. The radiation data collection plug-ins collect and forward raw radiation data to the data engine core where this raw radiation detection data is routed via a route manager, for example, to a radiation conversion plug-in that can convert the raw radiation detection data into measurement data. Once converted to measurement data, the radiation data conversion plug-in then forwards this measurement data back to the data engine core. Thus the system of the invention routes raw data collected from environmental monitoring instruments between plug-ins using a routing mechanism defined within the data engine core.
In addition, the data engine core configured in accordance with embodiments of the invention provides the ability to define view definitions. View definitions generally identify measurement data of interest to specific plug-ins that have registered an "interest" with a particular view definition. Using the radiation detection example given above, once the data conversion plug-in converts raw radiation data to measurement data, the measurement data is returned to the data engine core which then tests each view definition to see if any defined view definitions identify the radiation measurement data as being applicable to that view definitions. In other words, view definitions define filters for measurement data of interest to plug-ins that have registered to have an association or interest in that view definitions. If measurement data matches any view definitions, the data engine core transports, forwards or otherwise provides that measurement data to all plug-ins that have registered an interest in that view definition. In this manner, the radiation measurement data is disseminated to each plug-in for subsequent processing.
There can be different types of plug-ins for different purposes such as data collection, data conversion, and display or other customized processing of data. Plug- in processing can include operations such as data collection from instruments and partial conversion of raw data to measurement data. Conversion plug-ins can receive a stream of raw data routed from the data engine core (i.e., the raw data being previously collected and forwarded from a data collection plug-in to the data engine core) and can perform conversion of the raw data to measurement data. Display plug- ins can control operation of graphical user interfaces and display plug-in processing can include, for example, displaying the measurement data in a graphical user interface for viewing by human operator or any other type of processing. Plug-ins are capable of defining custom view definitions and are also capable of registering for existing view definitions defined by other plug-ins. In this manner, the architecture of the environmental monitoring system provided in accordance with embodiments of the invention implements a flexible approach to the processing and routing of raw instrument data between plug-ins and conversion of raw data into measurement data and for post-processing of the measurement data for logging, alarm processing or display purposes.. Other aspects of the system of the invention including the dynamic ability to detect the presence of newly added plug-ins during operation of the system of the invention. In this manner, additional devices can be brought into operation in the system without having to shutdown or manually reconfigure the system to accommodate operation of the new instruments. Embodiments of the invention can be implemented as software, hardware or a combination thereof. One example embodiment of the invention provides an environment monitoring computer system that includes a memory, a processor, a display, a communications interface and an interconnection mechanism coupling the memory, the processor, the display and the communications interface. The memory is configured with a set of plug-ins and a data engine core (e.g., as a software application and a set of dynamically linked libraries, one or more for each plug-in) that are collectively operable (e.g., executable) on the processor to produce an environment monitoring application program. The environment monitoring application executes on the environment monitoring computer system to monitor ands control instruments for collection of environmental data by performing steps or operations that include operating a data collection plug-in to collect raw data associated with a measurement instrument. The raw data may be, for example, streaming device data available from a field deployed device such as a radiation detection instrument. The environment monitoring application receives, at a data engine core, the raw data from the data collection plug-in and routes the raw data to a conversion plug-in. The conversion plug-in operates to convert the raw data into measurement data and provides the measurement data back to the data engine core for application to view definitions. Such raw measurement data conversion can include, for example, streaming conversion of character data into numeric values or numerical processing of such data such as, for example, providing an average of collected values of radiation levels over time or other processing. It is to be understood that any other type of data processing may be applied to raw data to convert the raw data into measurement data. The data engine core receives the measurement data from the conversion plug- in. The data engine core also receives a view definition that identifies measurement data to be received by a destination plug-in. View definitions can be configured at any time using a view definition protocol. The data engine core processes the measurement data by providing measurement data that matches the view definition to each destination plug-in that registers an interest in the view definition. As noted in the above example, this can be done, for example, by testing the measurement data against view definitions and for each view definition to which the measurement data applies, transmitting that measurement data to any plug-ins that have registered an interest in that view definition.
Specific embodiments of the invention provide measurement instruments that are radiation detection instruments that can include mobile radiation monitors that operate to detect radiation levels of radiation sources while moving (e.g., on a person, or on or in a vehicle) and that provide raw data that includes a radiation level and specific location information associated with a radiation source producing the radiation level (e.g., the location of the moving detector at the time of detecting the radiation level). In one configuration, at least one destination plug-in is a display mapping plug-in that defines a view definition that registers an interest on behalf of that display mapping plug-in and identifies measurement data indicating the radiation level and specific location information associated with a radiation source detected by a radiation detection instrument. The display mapping plug-in is capable of producing a graphical user interface that includes a geographical map (e.g., a map of a city or a section of a city, building, or other geographical area) that identifies a location of the radiation detection instrument along with a radiation level detected at that location upon a geographical map for viewing by an operator of the environmental monitoring system. In this manner, one embodiment of the invention provide a system in which mobile radiation detection instruments produce radiation detection levels and corresponding locations of the instruments at that time of detecting the radiation levels. The collection plug-ins associated with such instruments can provide this data to the system of the invention. Measurement data produced as a result in this information is then applied to a view defined by the display plug-in that receives this measurement data and can provide a geographical map. The display plug-in controls a graphical user interface, in conjunction with the map, to indicate the specific location and detected radiation level of the instrument as the instrument moves within a geographical area represented by the map. In this manner, the system of the invention can identify sources of radiation at specific geographical locations as well as radiation levels produced by those sources. In one embodiment related to radiation detection, the radiation detection instruments employ a natural background radiation (NBR) discrimination technique to distinguish between man-made radiation sources and natural background radiation levels in order to detect man-made radiation sources and produce raw data indicating the radiation level of the man-made radiation source(s) as well as a specific location of the radiation detection instrument at the time of detection of the man-made radiation source. In a mobile application, such a system can be used, for example, to identify man-made radiation sources (as opposed to naturally occurring radiation sources) as the system of the invention provides NBR discriminatory radiation detection instruments that move through a geographical region. Other arrangements of embodiments of the invention that are disclosed herein include software programs and computer systems to perform the method embodiment steps and operations summarized above and disclosed in detail herein. More particularly, a computer program product is disclosed which has a computer-readable medium including computer program logic encoded thereon that, when executed on at least one processor with a computing system, causes the processor to perform the operations (e.g., the methods) indicated herein as embodiments of the invention. Such arrangements of the invention are typically provided as software, code and/or other data (e.g., data structures) arranged or encoded on a computer readable medium such as an optical medium (e.g., CD-ROM), floppy or hard disk, magnetic medium or another medium such as firmware or microcode in one or more Random Access Memory (RAM) or Read Only Memory (ROM) or Programmable-ROM (PROM) chips or as an Application Specific Integrated Circuit (ASIC). The software or firmware or other such configurations can be installed onto an environmental monitoring computer system to cause the computer system to perform the techniques explained herein as embodiments of the invention.
It is to be understood that the system of the invention can be embodied strictly as a software program, as software and hardware, or as hardware or circuitry alone and may be a combination of such elements in a single device or distributed within a system that uses a wireless or physical network or an equivalent communications system to perform environmental monitoring and instrument control. Example commercial products that will be manufactured and sold that implement certain embodiments of the invention are the Mobile Detection System (MDS) and the "Viewpoint" data processing system manufactured by Thermo Electron Corporation of Waltham, Massachusetts, USA.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of embodiments of the invention, as illustrated in the accompanying drawings and figures in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, with emphasis instead being placed upon illustrating the embodiments, principles and concepts of the invention. Figure 1 illustrates an example configuration of an environmental monitoring system configured in accordance with one embodiment of the invention.
Figure 2 is a flow chart of high-level processing steps performed by an environmental monitoring application operating in an environmental monitoring computer system configured in accordance with one example embodiment of the invention.
Figure 3 is a flow chart of processing steps performed by the environmental monitoring application to operate a data collection plug-in to collect raw data associated with a measurement instrument in accordance with one example embodiment of the invention. Figure 4 is a flow chart of processing steps performed by the environmental monitoring application to receive the raw data from the data collection plug-in and to route the raw data to a data conversion plug-in in accordance with one example embodiment of the invention.
Figure 5 is a flow chart of processing steps performed by the environmental monitoring application to operate a data conversion plug-in to convert the raw data into measurement data in accordance with one example embodiment of the invention.
Figure 6 is a flow chart of processing steps performed by the environmental monitoring application to receive the measurement data from the data conversion plug-in in accordance with one example embodiment of the invention.
Figure 7 is a flow chart of processing steps performed by the environmental monitoring application to receive a view definition that identifies measurement data to be received by a destination plug-in in accordance with one example embodiment of the invention.
Figure 8 is a flow chart of processing steps performed by the environmental monitoring application to provide measurement data that matches the view definition to each destination plug-in that registers an interest in the view definition in accordance with one example embodiment of the invention.
DETAILED DESCRIPTION
Figure 1 illustrates an example environmental monitoring system 100 configured in accordance with embodiments of the invention. The environmental monitoring system 100 in this example includes an environmental monitoring computer system 110 that operates as explained here in to collect data from, and to control, a plurality of measurement instruments 190-1 through 190-N deployed within an environment or geographical region to be monitored. As an example, the measurement instruments 190 may be radiation detection instruments that can be either mobile (e.g., 190-1 mounted on or within a vehicle or carried by a person) or stationary. The measurement instruments 190 collect and transmit (either wirelessly or via a physical data communications link) raw radiation level and location data 192 concerning the environment which they monitor for receipt by a communications interface 185 coupled to the environment monitoring computer system 110. In addition to the measurement instruments that are each capable of monitoring at least one environmental condition such as a radiation level to produce raw data, the system can include a respective communications instrument coupled to each remotely operating measurement instrument. Each communications instrument can be, for example, a radio for transmission of radio signal and can include programmable logic operable to collect and forward the raw data, in a format obtainable from the measurement instrument (e.g., the vendor specific data format) from the remotely operating measurement instrument for transmission to the central environment monitoring computer system in the form of raw data 192. The environment monitoring computer system 110 processes the raw data 192 and presents information concerning the processed raw data to an operator 105 by presentation, for example, within a graphical user interface 119 displayed on a monitor or other display 118 coupled to the environment monitoring computer system 110.
The environment monitoring computer system 1 10 in this example includes an interconnection mechanism 1 16 that couples the communications interface 185, a memory 112, a processor 114 and the display 118. The memory 112 is encoded with an environmental monitoring application 120 configured in accordance with embodiments of the invention. The environmental monitoring application 120 in this example represents software code (e.g., executable object code) that may be executed upon the processor 114 to carry out the processing operations of embodiments of the invention as explained herein. Some details of the software architecture of the environmental monitoring application 120 configured in accordance with embodiments of the invention are also illustrated in Figure 1.
In this example configuration, the environmental monitoring application 120 includes a plurality of plug- ins 150 that are, for example, dynamically loadable and linkable software libraries for software processes that are capable of performing a variety of processing tasks as explained here in. The plug-ins 150 communicate with a data engine core 130 that coordinates the processing operations of embodiments of the invention. The data engine for 130 in this example includes sub-processes that include a route manager 132, a view manager 134 and a device or instrument manager 136. Specific functionality of these components will be explained in detail within this disclosure.
Generally, the environmental monitoring computer system 110 and its associated environmental monitoring application 120 provide a dynamic, adaptable and expandable environmental monitoring system that uses the plug-ins 150 to create an open and modular architecture that is fully expandable to accommodate different types of instruments 190 that communicate raw data 192 using a variety of data formats and instrumentation control and communications protocols. The modular plug-ins 150 support various processing tasks that include communication with the environmental monitoring instruments 190 to receive commands, collect the raw data 192, process and convert the raw data 192 into measurement data 194, and storage and/or presentation of such raw data 192 and measurement data 194 within, for example, a database or upon the graphical user interface 1 19 for viewing by the human operator 105.
Since the monitoring instruments 190 include a respective communications instruments 191 or device (e.g., that may be a communications card, device, board, circuit or the like built-in to the instrument, or that may be a separate radio like device that couple to the measurement instrument 190 and that operate together in the field), different monitoring instruments 190 from different vendors can be used in the system 100. The communications instrument 191, that operates in the field with the measurement instrument 190, can include programmable logic, such as firmware, that can be programmed to properly obtain the raw data 192 from the monitoring instrument 190 and can transmit this raw data 192 to the central environment monitoring computer system for receipt by the communications interface 185. In this manner, the programmable communications instrument 191 provide a mechanism to interface many different types of vendor supplied measurement instruments 190 from different vendors and each can include a coupling to a respective communications instrument 191 that provides a programmable technique to obtain the data form its respective measurement instruments 190. For each different communications instrument 191 that uses a different type of communications protocol to transmit the raw data 192 back to the central computer system 110, a different plug-in 150 can be created to handle that type of communicates protocol to obtain raw data form measurement devices 190.
By using a plug-in-based design, embodiments of the invention provide a system that is expandable and adaptable for different types of environmental monitoring measurement and communications instruments 190, 191 and the data engine core coordinates the exchange or "routing" and processing of raw data and conversion to measurement data between the various plug-ins 150. As an example, to collect, process and display radiation level information obtained from a plurality of radiation detection instruments 190-1 through 190-N, a data collection plug-in 150-1 responsible for communicating with individual radiation detection instruments 190 deployed in the field, for example, operates wireless communications protocols to collect the raw data 192. Different plug-ins can be provided to communicate with different radiation detection instruments manufactured by different vendors. The data collection plug- in 150-1 forwards the raw data 192 to the data engine core 130 where this raw radiation detection data 192 is routed, using the route manager 132, for example, to a radiation data conversion plug-in 150-1 that converts and processes the raw radiation detection data 192 into measurement data 194 by applying conversion processing. Such processing can include, for example, conversion of string data to numeric data, or more complex processing such as signal analysis processing. Once converted to measurement data 194, the radiation data conversion plug-in 150-2 then forwards this measurement data 194 back to the data engine core 130. Upon receipt of measurement data 194, the data engine core 130 operating as part of the application 120 can test a set of view definitions 140 to determine if the measurement data 194 matches any view definitions 140. Plug-ins can register and create new view definitions 140 or register an interest in existing view definitions 140 to indicate to the view manager that that plug-in wants to receive the measurement data defined in that view. Once defined, other plug-ins can subscribe to existing view definitions, or create view definitions defining views of their own. The view manager 134 manages the view definitions 140.
The data engine core 130 can test newly received measurement data 194 (received, for example, from a conversion plug-in 150) against each view definition 140 to see if any view definitions identify the radiation measurement data that has been produced from the conversion plug-in 150. If any measurement data 194 matches any view definitions 140, the data engine core 130 transports or otherwise provides that measurement data 194 to all plug- ins in the set of plug-ins 150-1 through 150-M that have registered an interest in that view definition. In this manner, the radiation measurement data 194 is disseminated to each plug-in for subsequent processing. This can include, for example, displaying the measurement data in a graphical user interface for viewing by human operator by a display plug-in, storing or archiving such data in a database via a database plug- in, further processing of the measurement data for transport to other computer systems or for alarm level detection, or any other type of processing. Alarms can be detected by have a plug-in define a view definition 140 that indicates measurement data 194 must be of a certain value or threshold before the view manger 134 is to forward that measurement data 194 to plug-ins that have registered an interest in that view 140.
In this manner, the architecture of the environmental monitoring system 100 provided in accordance with embodiments of the invention implements a flexible approach to the processing of raw instrument data into processed measurement data and for routing of the raw data and for proper presentation of the measurement data to plug-ins that have an interest in such measurement data. Further details of operation of the system of the invention will now be explained with respect to a series of flow charts that defined processing performed by the environmental monitoring computer system 110 configured with an environmental application 120.
Figure 2 is a flow chart of processing steps performed by the application 120 during execution to provide a method for monitoring environmental data in accordance with one embodiment of the invention. Details of processing steps shown in Figure 2 will be provided by subsequent flow charts that show sub-steps of such processing.
In step 200, the application 120 initializes the plug-ins 150 for operation with the data engine core 130. Initialization in one configuration takes place by operating a control plug-in 150 (e.g., 150-M) that can query each other plug-in 150-1 through 150-(M-I) to identify the protocol(s) that the plug-in uses to communicate with the data engine core 130 and to identify the type of device or instrument to which that plug-in 150 is associated. Once the plug-ins have been identified and each has specified a specific communications protocol, device data structures can be established (e.g., creation of a device file to act as a repository or mailbox for data being sent to and/or from the plug-in 150) and the data engine core 130 can enter a processing loop in a shared or time sliced manner that provides a tick or signal to each data collection plug-in to "service" that plug-in by operating its specified protocol. Such a plug-in tick mechanism or loop operates, for example, in a round robin or other sequential manner (or in a manner that is non-sequential, such as in a pattern based on time in which some plug-ins are serviced more often than others) to cycle through operation of plug-ins according to their defined protocols. As an example, a protocol defined by a plug-in 150 may indicate it has a read call (an application programming interface or function call) to read raw data from the plug-in, and a write call to receive a command from the data engine core 130 for transport to an instrument 190 under control of that plug-in, thus allowing two way communication, via the plug-in, to instruments 190. During the "tick" for that plug-in, the read call would allow the data engine core to obtain the raw data from that plug-in (e.g., via the device file created during plug-in initialization), and would also allow any awaiting commands to be provided to that plug-in for transmission to the instrument. It is to be understood that this is a simple example and more complex protocols are supported.
In step 201, the application 120 operates a data collection plug-in 150 to collect raw data 192 associated with a measurement instrument 190. Collection of raw data 192 can be performed using a communications protocol between the plug-in 150 and the environmental instrument 190. This protocol can be bi-directional and can be based upon a standardized communications protocols such as TCP/IP or can be a proprietary or customized protocol. Devices files can be used as communication repositories for data awaiting processing either from the plug-in to the data engine core, or from the data engine core to the plug-in. By providing a specific plug-in 150 for each type of measurement instrument 190 for which interaction is to take place, customizations or features provided by one particular type of measurement instrument 190 can be implemented in the plug-in in a manner specific to that instrument type and other instruments can operate other protocols that may be standardized or vendor- specific in other manners. Raw data 192 may be continuously streamed from the measurement instrument 190 to the data collection plug- in 150 (and maintained temporarily in a device file until the tick for that plug-in is performed by the data engine core 130 to obtain the current collected streamed data. Alternatively, the plug- in 150 receives its tick from the data engine core and in response queries the instrument(s) 190 in real-time for raw data received as a packet, frame or other portion of data that is returned from the measurement instrument 190 in response to the query.
In step 202, the application 120 receives, at the data engine core 130, the raw data 192 from the data collection plug-in 150 and in this example, routes the raw data to a conversion plug-in 150 via the route manager J32. A data collection plug-in 150 can collect and convert, in whole or in part, the raw data 192 obtained from the measurement instrument 190 into the measurement data 194. Alternatively, the raw data 192 can be passed or routed in its native or un-converted (i.e., unprocessed) form from the data collection plug-in 150 to a conversion plug-in for conversion of the raw data to measurement data 194 by a separate plug-in (or a series of application of multiple plug-ins). The route manager 132 performs routing of raw data and details of this processing will be explained shortly. Generally however, the route manager 132 can be configured with routing information 142 describing routes for the transfer of raw data between sourcing destination plug-ins for processing purposes. Thus raw data received from a particular source plug-in can be routed to one or more destination plug-ins and specified by routing information 142 maintained by the route manager 132. In step 203, the application 120 operates the conversion plug-in 150 (i.e., to which raw data 192 was routed) to convert the raw data 192 into measurement data 194. Some plug-ins 150 operates strictly as conversion plug-ins to convert one form of data to another such as raw data 192 to measurement data 194. Such conversion processing includes, for example, converting alphanumeric strings representing values to numeric data, or more complex data processing functionality such as performing transformations on the data. By providing data conversion plug-ins, embodiment of the invention provide a flexible data processing system that can be expanded and enhanced via the addition of newly defined plug-ins that provide enhanced data processing capabilities. Once measurement data 194 has been produced by one or more plug-ins 150 and returned to the data engine core 130, the data engine core 130 can process the measurement data 194 as data that describes operation of a device or instrument 190.
In step 204, the application 120 receives the measurement data 194 from the conversion plug-in at the data engine core 130. In other words, in step 204, once the conversion plug-in 150 has performed processing to produce measurement data 194, the data conversion plug- in 150 can return the measurement data 194 back to the data engine core 130 and for application to view definitions 140 as will be explained. Accordingly, this example embodiment of the invention distinguishes between raw data 192 that is data collected from measurement instruments 190 and is relatively unprocessed versus measurement data 194 which represents raw data 192 to which plug-in processing has been applied to convert all or a portion of the raw data 192 into measurement data 194 in a format usable by application level processing, such as display or storage within a database 198.
In step 205, the application 120 receives a view definition 140 that identifies measurement data to be received by a destination plug-in 150. The environment monitoring application 120 at any time allows creation of view definitions 140 that define views or filters indicating measurement data 194 of interest to one or more plug-ins 150 using the processing of step 205. In one configuration, a plug-in 150 can operate a view definition protocol to define the particular view definition that indicates measurement data of interest that plug-in 150. In alternative configurations, a system operator 105 can manually define view definitions 140 for use by plug-ins 150. As will be further explained, once a view definition 140 is defined, any plug-in 150 is capable of registering an interest in view definition. In doing so, the plug-in 150 will receive updates or changes to take place to any measurement data 194 defined within that view definition upon receipt of that measurement data 194 by the data engine core 130. The view manager 134 handles receipt of the measurement data 194 and application of the measurement data to any existing view definitions 140 by testing whether that measurement data 194 matches any view definitions 140.
In step 206, the application 120 provides the measurement data 194 that matches the view defmition(s) 140 to each destination plug-in 150 that registers an interest in the view definition 140. The term "destination" plug-in 150 as used herein indicates any plug-in that has registered interest in a view definition 140 and is a destination for receipt of a view defined by that view definition 140 upon occurrence measurement data 194 that the view manager 134 matches against the view defmition(s) 140. As an example, a display plug-in 150 can define a view definition 140 that indicates measurement data 194 to be shown to the operator 105 via a graphical user interface 119 in situations in which the measurement data value exceeds a predetermined threshold. In such a case, as measurement data 194 is produced from plug-ins 150 that matches fields of a view defined by the display view definitions 140 (i.e., that exceeds the threshold value defined in the view definition 140), the view manager 134 provides that measurement data 194 (i.e., that exceeds the predetermined value) to the display plug-in 150 that has registered an interest in that view definition 140. The display plug-in 150 can then produce an image such as a hypertext markup language (HTML) document or other display (text, graphic or audio/visual) to the operator 105 of the graphical user interface 119 of the display 118 of the environment monitoring computer system 110.
In this manner, embodiments of the invention provide an environment management and monitoring application architecture that provides an underlying data processing infrastructure including the route manager functionality 132 to route raw data between plug-ins and view definition capabilities provided by the view manager 134 to allow post-processing of raw data received as measurement data 194 to be distributed to plug-ins, when appropriate (i.e., when the data 194 matches testing conditions defined in the view), for output to a user or for other processing purposes such as storage within a database 198. In a database example, a database plug-in 150 can define a view definition that identifies specific data to be stored within a database 198, such as occurrences of high values of measurement data (e.g., high radiation levels of interest at specific locations). Upon occurrence of measurement data 194 matching a view definition testing conditions, that measurement data 194 is provided to the database plug-in 150 for storage within the database 198.
As noted above, example embodiments of the invention can be configured for use in the area of radiation detection, measurement and monitoring. In one example configuration, there are a plurality of measurement instruments 190 that are radiation detection instruments. In such a case, operating a data collection plug-in to collect raw data 192 in step 201 operates, for example, a wireless communication protocol to communicate with the radiation detection instruments 190 to obtain radiation detection levels detected by the radiation detection devices 190 for display on a graphical user interface 119. The radiation detection instruments 190 can include mobile radiation monitors that may be mounted on or in vehicles or on a person, such as personal dosimeters. Such instruments 190 operate to detect radiation levels of radiation sources while moving and provide raw data 192 that includes a radiation level and, in one specific configuration, specific location information (e.g., an address or a global positioning system (GPS) coordinate location) associated with a radiation source producing the detected radiation level. Also in such a configuration, one destination plug-in is a display mapping plug-in that defines a view definition 140 that registers an interest on behalf of that display mapping plug-in in the radiation level and location measurement data 194 (e.g., for any radiation levels detected above a certain threshold value). Measurement data 194 converted from raw data 192 indicates the radiation level and specific location information associated with the radiation source detected by the radiation detection instrument and when that level 194 is equal to or exceeds the threshold defined in the view 140, the view manager transmits that measurement data 194 to the display mapping plug-in 150. The display mapping plug-in 150 is capable of producing a graphical user interface 119 that includes a geographical map (e.g., as a detailed graphical image or a topology or layout of a region) that identifies a specific location of the radiation detection instrument 190 (i.e., based on the location information such as GPS data) along with the radiation level detected at that location. An operator 105 of the environmental monitoring system 100 views this information as the plug-in display this dynamically upon a geographical map. In such a configuration, the map is displayed and an indicator of the location of a radiation source is provided on the map, such as with an icon, pointer or other indicator along with the detected level of radiation at that location. In this manner, one specific configuration of the invention allows many mobile or stationary (e.g., road side) radiation detectors to provide location and radiation level information to the environment monitoring application 120 and this data is rapidly (e.g. in real-time or substantially real-time) converted to measurement data 194 which is then applied to one or more view definitions 140. In alarm situations (when the detected level meets or exceeds the threshold defined by the view 140), the view manager causes transfer of the location and corresponding radiation level information (i.e., measurement data 194 converted to map coordinates) to the display plug-in 150 capable of superimposing or rendering a graphical image that indicates the specific location and strength of the detected radiation level upon a geographical map along the operator 105 to pinpoint particular sources radiation with an environmental area.
It is to be understood that the explanation provided above using the level of detected radiation and location is provided as a simple example for purposes of illustrating the operation of the system of the invention. Much more detailed information can be included in the raw data 192 and in the measurement data 194, such as a digital image or video of the region in which the radiation source was detected that is taken by the instrument 190 during the radiation detection process. As a specific example, the raw data 192 (and converted measurement data 194) can include a digital photograph or video taken at the time of peak detection. In the case of a video, the video data can show the terrain and objects present in the detected radiation region just before and after the detection process to help an operator assess what might be the particular object containing the radiation source. As another example, in addition to strength and location, the type of radiation source detected can also be displayed (e.g., gamma, X-ray, beta, specific wavelengths, decay rates, etc.) and processing can be performed by a plug-in to assist in identifying a supposed object or compound producing or containing the radioactive material. In another configuration, the radiation detection instruments 190 employ a natural background radiation (NBR) discrimination technique to distinguish between man-made radiation sources and natural background radiation levels in order to primarily detect man-made radiation sources. In such a configuration, the NBR discrimination detection instruments 190 produce raw data 192 indicating the radiation level of the man-made radiation sources, as well as a specific location of the radiation detection instrument at the time of detection of the man-made radiation source. Details of application and operation of a natural background radiation discrimination technique that may be used within radiation detection system of the present invention are described in the following co-pending U.S. patent applications:
1: U.S. Patent Application Serial number 10/663,417, entitled "Multi-way Radiation Monitoring", filed September 23, 2003, having Attorney Docket No. TEC03-04(TEG) that claims the benefit of the filing date of U.S. Provisional Patent Application Serial Number 60/492,429 having the same title and filed August 4, 2003 and having Attorney Docket No. TEC03-04(TEG)p.
2: U.S. Provisional Patent Application Serial number 60/551,099, entitled "Portable Radiation Monitor Methods and Apparatus ", filed March 8, 2004 having Attorney Docket No. TEC04-02(TEG)p.
Each of the above identified provisional and utility patent applications are assigned to the same assignee as the present invention and the entire disclosure, teachings and contents of these referenced patent applications are hereby incorporated by reference herein in their entirety.
Further details of the aforementioned high-level processing steps will now be explained with respect to the remaining flowcharts. Figure 3 is a flow chart showing processing steps performed by the application
120 during execution to initialize the plug-ins 150 for operation with the data engine core 130 (i.e., details of Step 200 from Figure 3). In this example, the data engine core 130 is extendable with data collection plug-ins operable to collect and process raw data for different types of environmental instruments 190. In step 220, the application 120 identifies the existence of a new environmental instrument 190 by dynamically detecting the presence of a new data collection plug-in 150 operable in conjunction with the data engine core 130 for that type of environmental instrument 190. In one configuration, the system of the invention allows plug-ins to begin operating in a dynamic manner without requiring shutdown or disruption of a currently operational system. Accordingly, the system of the invention allows the introduction of new environmental instruments 190 that communicate using protocols different than the currently operating the plug-ins 150. The data engine core 130 can be made aware of such plug-ins, for example, by dynamically and periodically querying a plug-in configuration file that identifies the set plug-ins that are ready for operation within the environment monitoring application 120. By periodically querying such a file, newly added plug-ins to the system can be identified within the file (e.g., by an operator adding the plug-in identification into the configuration file). The application 120 thus checks this file and when plug-ins are detected, they are loaded and executed according to the processing operations explained here in to allow the dynamic introduction of such plug-ins into the operational system. Alternatively, a command plug-in can be responsible for identifying each plug-in that is to operate with the system 100. In response to detecting the presence of a new data collection plug-in, the application 120 performs the processing steps 221 through 223.
In step 221, the application 120 communicates with the data collection plug-in to identify the type of environmental instrument 190 for which the new data collection plug-in 150 collects raw data 192. Alternatively, in step 221 the application 120 communicates with a plug-in 150 to identify the type of data conversion that can be performed by the plug-in (in the case of data conversion plug-ins) and to identify the plug-in as either a source or destination of a route for raw data received by the data engine core 130. In this manner, as the plug-ins are identified, any routing information associated with the plug-in can be configured within the route manager 132. Is to be understood that routes may also manually be configured by the operator 105 during initial installation and set up of the environment monitoring application 120. Additionally at this time, plug-ins can define view definitions 140.
In step 222, the application 120 communicates with the data collection plug-in to identify a plug-in protocol by which to collect at least one of raw data and/or measurement data from a type of environmental instrument. This example thus illustrates operation in relation to a data collection plug-in 150. It is to be understood that in step 222 in an alternative configuration, the application 120 communicates with a plug-in 150 to identify a plug-in protocol to use for transfer of data to and from that plug-in for conversion to measurement data and receipt of instrument commands.
In step 223, the application 120 establishes a route within the data engine core 130 (via operation with the route manager 132) that indicates source and destination plug-ins 150 between which raw data 192 is to be transferred. As noted above, during initialization of a plug-in, the plug-in can identify routing information to be used by the route manager 132 to establish that plug-in as either a source or destination plug- in (or both) for a route of raw data 192. Also as noted above, the operator 105 may manually configure the route manager 132 when certain plug-ins become available (i.e., are installed for use by the system 100 after placement of an instrument 190 in the field) for operation within the environment monitoring application 120. Thus step 223 is an optional step and is not intended to limit embodiments of the invention.
Figure 4 is a flow chart showing processing steps performed by the application 120 during execution to operate data collection plug-ins 150 to collect raw data 180 associated with measurement instruments 190.
In step 230, the application 120 operates the data collection plug-ins 150 according to specified plug-in protocol(s) to collect raw data (and to optionally convert some or all of the raw data to measurement data) from that type of environmental instrument 190. In step 231, the application 120 performs a conversion of at least a portion of the raw data 192 collected from the environmental instrument into measurement data 194. As noted above, this conversion can include complex measurement conversion, data conversion, protocol conversions or any other type of data processing operation required to convert data from one format to another for use by the environmental monitoring application 120.
In step 232, once the raw data 192 has been converted to measurement data 194, the application 120 provides the converted measurement data 194 to the data engine core 130. In one configuration, a plug-in 150 can perform partial conversion of raw data 192 to measurement data 194 and the remaining un-converted portions of raw data 192 can be routed back to the data engine core 130 for receipt by the route manager 132 for forwarding to successive data conversion plug-ins 150 for further processing and conversion to measurement data 194. As an example, some plug-ins may perform protocol conversion and if data packets contain several "layers" or different portions of data encoded in different protocols, and each plug-in can perform conversion of data related to its specific protocol. In other configurations, the data collection plug-in 150 may perform no conversion of the raw data 192 into measurement data 194 but may simply operate to collect raw data from an instrument (and possibly receive commands from the data engine core as raw data to be forwarded to the instrument, according to the protocol specified by that plug-in). In such cases, conversion of raw data to measurement data is left up to the route manager 132 to route the data to one or more dedicated data conversion plug-ins 150 that operate in conjunction with each other, such as in a sequence, to perform the conversion of the collected raw data 192 to measurement data 194.
A variation of this is illustrated in step 233, in which the application 120 provides raw data 192 to the data engine core 130 in addition to the converted measurement data 194. In other words, in step 233, the data collection plug-in 150 also operates in part as a data conversion plug-in and can perform partial conversion of the raw data 192 and provide both those portions of the raw data 192 that were on converted as well as providing measurement data 194 representing those portions of the raw data 192 that the plug-in converted into the measurement data 194 to the data engine core 130.
Figure 5 is a flow chart showing processing steps performed by the application 120 during execution to receive, at a data engine core, the raw data 192 from the data collection plug-in 150 and to route the raw data 192 to a data conversion plug-in 150. In step 240, the application 120 establishes a route within the data engine core 130 (e.g., within the routing information 142 maintained by the route manager 132) that indicates source and destination plug-ins 150 between which raw data 192 is to be transferred. The destination plug-ins 150 are typically data conversion or display plug-ins 150 that operate to convert the raw data (or at least a portion of the raw data) into measurement data 194 or to display the data on an interface (e.g., 119) or log the data 194 into a database 198. Each plug-in 150 has a plug-in identity and routing information maintained by the route manager 132 indicates, in one configuration, plug-in identity pairs to indicate that raw data from one plug- in is to be routed to the plug-in associated with the other plug-in identity of the plug-in identity pair stored in the routing information 142. Alternatively, more complex routing schemes can be provided that include an identity or type indication of the type of raw data being routed along with an indication of destination plug-in identity(s) that are to receive the raw data 192. Thus routing is performed in this example based on data type, as well as plug-in identity. Still other configurations can provide selective routing in which raw data can be segmented into portions that are routed to the same or to different destination plug-ins based on the content of the data itself. In this manner, the route manager can implement content routing mechanisms such as point-to-point routing in which raw data is routed between one source plug-in and one destination plug-in if it contains certain values, and between other plug-ins if the data contains other values. Alternatively, the route manager 132 can provide more robust routing such as multicast routing in which raw data received from a source plug-in is transferred to multiple destination plug-ins. Bifurcation routing configurations are also possible in which raw data that has identifiable or distinct segments, packets or frames can be routed to respective different plug-ins 150 to provide parallel processing of raw data 192 into measurement data 194 in cases of large raw data segments. Examples of such application include applying signal processing operations within a set of conversion plug-ins to a large segment of raw data in which each plug-in processes a respective segment of the raw data portion 192. Details of an example routing operation are shown in sub-steps 241 in 242.
In step 241, the application 120 receives raw data 192 at the data engine core 130 from a source plug-in 150. In particular, the route manager 132 operating in the data engine core 130 receives the stream of raw data 192.
In step 242, the application 120 (i.e., the route manager 132 operating as part of the data engine core 130) transfers (i.e., routes according to establish routing information 142) the raw data 192 from a source plug-in that provided the raw data 192 to a destination plug- in that is to receive the raw data 192 as specified by applying the raw data to the routing information 142 maintained within the data engine core 130 that specifies the route for the raw data between source and destination plug-ins. As noted above, several different routing mechanisms and techniques are possible in alternative configurations of the invention. Once routed, a recipient plug-in can process the raw data as explained next. Figure 6 is a flow chart showing processing steps performed by the application 120 during execution to operate a data conversion plug-in to convert the raw data 192 into measurement data 194. Generally, the processing shown in Figure 6 shows details of step 203 from Figure 2. In this example, the data engine core 130 is extendable with conversion plug-ins 150 operable to convert raw data 192 into measurement data 194.
In step 250, the application 120 receives (i.e., routes) the raw data at (i.e., to) the conversion plug-in 150 as a result of application of the raw data to routing information in the data engine core 130 that specifies the conversion plug-in 150 as a destination plug-in in a route for the raw data 192.
In step 251, the application 120 (i.e., the plug-in 150 operating as part of the application 120) applies data conversion processing to the raw data 192 to convert the raw data 192 to measurement data 194. As noted above, such conversion can include any type of data processing operations In step 252, the application 120 (i.e., the plug-in performing the conversion) returns the measurement data 194 to the data engine core 130.
In step 253, the application 120, via a plug-in 150, also receives and outputs data to an instrument 190, thus providing two-way control and communications to and from the instrument 190. In this example then, the modular plug-in design allows two-way communication with instruments 190. Thus instruments 190 that provide for remote control are accommodated in the system of the invention.
Figure 7 is a flow chart showing processing steps performed by the application 120 during execution to receive a view definition 140 that identifies measurement data 194 to be received by (i.e. provided to) a destination plug-in (i.e., details of step 205 in Figure 2).
In step 260, the application 120 operates a view definition protocol between the destination plug-in 150 and the data engine core 130 (i.e., the view manager 134) to allow that destination plug-in to perform the operations of defining a new view definition 140 and registering an interest in the new view definition 140. Step 261 through 264 show further details of this processing.
In step 261, the application 120 defines, within the data engine core 130, a new view definition 140 that specifies a set of measurement data of interest. A plug- in 150 can use a view definition protocol for this purpose that allows transfer of a view definition (e.g., a data record definition or other data structure, or a set of rules indicating what measurement data values 194 that plug-in desires to obtain if certain conditions are met, such as the measurement data exceeding (or being below) a certain value) to the view manager 134. Thus a view definition can be a simple list of measurement values, or a more complex arrangement of if-tem rules, case statements, or other logic defining what situations or data conditions must be met for a plug-in to be the recipient of a portion of measurement data 194. During view processing, the view manager can obtain measurement data 194 from a plug-in and can apply this to each view definition (e.g., to each rule, list, case statement, etc.) to see if that measurement data 194 (or a calculation based on that value) meets the prescribed rules defined in the view definition 140.
In step 262, the application 120 adds the new view definition 140 to a set of defined view definitions (shown collectively as 140 in Figure 1).
In step 263, the application 120 receives, from destination plug-ins 150, plug- in registrations for view definitions 140 within the set of defined view definitions that indicate, for a particular destination plug-in 150 providing a plug-in registration, that the destination plug-in 150 has an interest in the measurement data 194 specified within the view definition for which that plug-in 150 registers an interest. As an example, each view definition can have an identify and the view manager can keep a list of plug-in identities that are associated with each view definition identity to be able to track which plug-ins have an interest in which views 140.
In one configuration, a display plug-in can register a view definition 140. To do so, in step 264, the application 120 receives, from the display plug-in 150, a display view definition 140 that identifies measurement data 194 associated with devices (i.e., a collection of measurement data converted from one or more instruments) that is to be displayed upon the graphical user interface 119 for viewing by the human operator 105 that is of interest to the display plug-in 150. As noted above, a view definition can be used as a filter such that the display plug-in can indicate, in its view definition 140 (i.e. that it registers), that the measurement data 194 is only to be provided to the display plug-in in situations in which the measurement value is equal to or exceeds a predetermined threshold. Any other characteristic can be used for testing to determine if the measurement data 194 matches a view definition. This is useful for alarm purposes where a display plug-in only wishes to inform an operator 105 (via the GUI 1 19) if a measurement data value 194 is within a certain range, or exceeds or is below a certain value or range.
Figure 8 is a flow chart showing processing steps performed by the application 120 during execution to provide measurement data 194 that matches the view definition to each destination plug-in 150 that registers an interest in the view definition 140.
In step 270, the application 120 tests measurement data 194 received at the data engine core 130 (by the view manager 134) against view definitions 140 within the set of defined view definitions to determine if the measurement data 194 matches the view definition 140. The view definitions 140 thus operate as filters to allow the view manager 134 to identify or select certain measurement data 194 of interest to any plug-ins that register for receipt of the measurement data 194 defined in that view definition (e.g., that register an interest in that view definition).
In step 271, for any measurement data that matches the view definition 140, the application 120 provides that measurement data 194 to any destination plug-in 150 which has registered an interest in that view definition 140.
In one embodiment, at least one destination plug-in 150 is a display plug-in for controlling presentation of measurement data 194 upon a graphical user interface 119. In such a configuration, the operations of receiving the measurement data and providing the measurement data that matches the display view definition 140 are performed dynamically by the environment monitoring application 120 in a real-time manner such that measurement data associated with the display view definition 140 defined by the display plug-in 150 is provided to the display plug-in 150 for presentation on a graphical user interface 119 to allow a human operator 105 viewing the graphical user interface to identify dynamic real-time changes in the measurement data 194.
In step 272, the application 120 tests the measurement data 194 received at the data engine core 130 to determine if portions of the measurement data 194 match the display view definition 140 that identifies measurement data 194 associated with devices (i.e., instruments) that are to be displayed upon the graphical user interface. If the portions of the measurement data 194 match the display view definition 140, the application 120 provides those portions of the measurement data 194 in accordance with the display view definition 140 to the display plug-in 150 for presentation upon the graphical user interface 1 19 of the environment monitoring computer system 110.
In one configuration, the view definition 140 defined by the display plug-in 150 identifies measurement data 194 of interest to the display plug-in 150 for only a subset (e.g., 190-1, 190-2) of all environment monitoring instruments 190 operational within the environment monitoring system 100, such that the human operator 105 viewing the graphical user interface 119 sees measurement data 194 for only a subset of environmental monitoring instruments 190 that are operational in the system 100. In this manner, the system 100 of the invention can display data for only those devices of interest to the user 105, as opposed to having to display all device data for all devices as is done in conventional systems. The view definitions 140 thus allow system developer to define completely custom views of only selected data from some or only a portion of operating instruments 190.
Having described preferred embodiments of the invention it will now become apparent to those of ordinary skill in the art that other embodiments incorporating these concepts are within the scope of the claimed invention. Additionally, the software included as part of the invention may be embodied in a computer program product that includes a computer useable medium. For example, such a computer usable medium can include a computer readable memory device, such as a hard drive device, a CD-ROM, a DVD-ROM, or any type of computer diskette, having computer readable program code segments stored or encoded thereon. Examples of the computer readable medium can also include a communications link, either optical, wired, or wireless, having program code segments as propagated signals carried thereon as digital or analog signals. Accordingly, the invention should not be limited to the described embodiments.

Claims

What is claimed is:
1. A method for monitoring environmental data, the method comprising the steps of: operating a data collection plug-in to collect raw data associated with a measurement instrument; receiving, at a data engine core, the raw data from the data collection plug-in and routing the raw data to a conversion plug-in; operating the conversion plug-in to convert the raw data into measurement data; receiving the measurement data from the conversion plug-in at the data engine core; receiving a view definition that identifies measurement data to be received by a destination plug-in; and providing measurement data that matches the view definition to each destination plug-in that registers an interest in the view definition.
2. The method of claim 1 wherein the data engine core is extendable with data collection plug-ins operable to collect and process raw data for different types of environmental instruments; and wherein operating a data collection plug-in to collect raw data associated with an environmental instrument comprises: identifying the existence of a new environmental instrument by dynamically detecting the presence of a new data collection plug-in operable in conjunction with the data engine core for that type of environmental instrument; in response to detecting the presence of a new data collection plug-in: i) communicating with the data collection plug-in to identify the type of environmental instrument for which the new data collection plug-in collects data; and ii) communicating with the data collection plug-in to identify the protocol by which to collect at least one of raw data and measurement data from that type of environmental instrument; and operating the data collection plug-in according to the protocol to collect at least one of raw data and measurement data from that type of environmental instrument.
3. The method of claim 2 wherein operating the data collection plug-in according to the protocol to collect at least one of raw data and measurement data from that type of environmental instrument comprises: performing at conversion of at least a portion of the raw data collected from the environmental instrument into measurement data; and providing the converted measurement data to the data engine core.
4. The method of claim 3 wherein operating the data collection plug-in according to the protocol to collect at least one of raw data and measurement data from that type of environmental instrument further comprises: providing raw data to the data engine core in addition to the converted measurement data.
5. The method of claim 4 comprising: establishing a route within the data engine core that indicates source and destination plug-ins between which raw data is to be transferred; and wherein operating the data collection plug-in according to the protocol to collect at least one of raw data and measurement data from that type of environmental instrument comprises: receiving the raw data at the data engine core; and transferring the raw data from a source plug-in that provided the raw data to a destination plug-in that is to receive the raw data as specified in the route within the data engine core.
6. The method of claim 1 wherein receiving, at a data engine core, the raw data from the data collection plug-in and routing the raw data to a conversion plug-in comprises: establishing a route within the data engine core that indicates source and destination plug-ins between which raw data is to be transferred, the destination plug- in being a conversion plug-in operable to convert the raw data into measurement data; receiving raw data at the data engine core from a source plug-in; and transferring the raw data from a source plug-in that provided the raw data to a destination plug-in that is to receive the raw data as specified by applying the raw data to routing information within the data engine core that specifies the route for the raw data between source and destination plug-ins.
7. The method of claim 6 wherein the data engine core is extendable with conversion plug-ins operable to convert raw data into measurement data; and wherein operating the conversion plug-in to convert the raw data into measurement data comprises: receiving the raw data at the conversion plug-in as a result of application of the raw data to routing information in the data engine core that specifies the conversion plug-in as a destination plug-in in a route for the raw data; applying data conversion processing to the raw data to convert the raw data to measurement data; and returning the measurement data to the data engine core.
8. The method of claim 6 wherein receiving a view definition that identifies measurement data to be received by a destination plug-in comprises: defining, within the data engine core, a new view definition that specifies a set of measurement data of interest; adding the new view definition to a set of defined view definitions; and receiving plug-in registrations for view definitions within the set of defined view definitions that indicate that a destination plug-in has an interest in the measurement data specified within a view definition for which that plug-in registers an interest.
9. The method of claim 8 wherein receiving a view definition that identifies measurement data to be received by a destination plug-in further comprises: operating a view definition protocol between the destination plug- in and the data engine core to allow that destination plug-in to perform the operations of defining a new view definition and registering an interest in the new view definition.
10. The method of claim 8 wherein providing measurement data that matches the view definition to each destination plug-in that registers an interest in the view definition comprises: testing measurement data received at the data engine core against view definitions within the set of defined view definitions to determine if the measurement data matches the view definition; and for any measurement data that matches the view definition, providing that measurement data to any destination plug-in which has registered an interest in that view definition.
11. The method of claim 1 wherein receiving a view definition that identifies measurement data to be received by a destination plug-in comprises: defining, within the data engine core, a new view definition that specifies a set of measurement data of interest; adding the new view definition to a set of defined view definitions; and receiving, from destination plug-ins, plug-in registrations for view definitions within the set of defined view definitions that indicate, for a particular destination providing a plug-in registration, that the destination plug-in has an interest in the measurement data specified within a view definition for which that plug-in registers an interest.
12. The method of claim 11 wherein receiving a view definition that identifies measurement data to be received by a destination plug-in further comprises: operating a view definition protocol between the destination plug-in and the data engine core to allows that destination plug-in to perform the operations of defining a new view definition and registering an interest in the new view definition.
13. The method of claim 11 wherein providing measurement data that matches the view definition to each destination plug-in that registers an interest in the view definition comprises: testing measurement data received at the data engine core against view definitions within the set of defined view definitions to determine if the measurement data matches the view definition; and for any measurement data that matches the view definition, providing that measurement data to any destination plug-in which has registered an interest in that view definition.
14. The method of claim 1 at least one destination plug-in is a display plug-in for controlling presentation of measurement data upon a graphical user interface and wherein receiving a view definition that identifies measurement data to be received by a destination plug- in comprises: receiving, from the display plug-in, a display view definition that identifies measurement data associated with devices that is to be displayed upon a graphical user interface for viewing by a human operator that is of interest to the display plug- in; and wherein providing measurement data that matches the view definition to each destination plug-in that registers an interest in the view definition comprises: testing the measurement data received at the data engine core to determine if portions of the measurement data match the display view definition that identifies measurement data associated with devices that is to be displayed upon a graphical user interface, in the portions of the measurement data match the display view definition, providing those portions of the measurement data in accordance with the display view definition to the display plug-in for presentation upon a graphical user interface of the environment monitoring computer system.
15. The method of claim 14 wherein the operations of receiving the measurement data and providing the measurement data that matches the display view definition are performed dynamically in a real-time manner such that measurement data associated with the display view definition defined by the display plug-in is provided to the display plug-in for presentation on a graphical user interface to allow a human operator viewing graphical user interface to identify dynamic real-time changes in the measurement data.
16. The method of claim 15 wherein the view definition defined by the display plug- in identifies measurement data of interest to the display plug-in for only a subset of all environment monitoring instruments operational within the environment monitoring system such that the human operator viewing the graphical user interface sees measurement data for only a subset of environmental monitoring instruments that are operational.
17. The method of claim 1 wherein there are a plurality of measurement instruments that are radiation detection instruments and wherein operating a data collection plug- in to collect raw data comprises: operating a wireless communications protocol to communicate with the radiation detection instruments to obtain radiation detection levels detected by the radiation detection devices for display on a graphical user interface.
18. The method of claim 17 wherein: the radiation detection instruments include mobile radiation monitors that operate detect radiation levels of radiation sources while moving and that provide raw data that includes a radiation level and specific location information associated with a radiation source reducing the radiation level; at least one destination plug-in is a display mapping plug-in that defines a display view definition that registers an interest on behalf of that display mapping plug-in and measurement data indicating the radiation level and specific location information associated with the radiation source detected by the radiation detection instrument; and wherein the display mapping plug- in is capable of producing a graphical user interface that includes a geographical map that identifies a location of the radiation detection instrument along with a radiation level detected at that location upon a geographical map for viewing by and operator of the environmental monitoring system.
19. The method of claim 18 wherein the radiation detection instruments employ a natural background radiation discrimination technique to distinguish between man- made radiation sources and natural background radiation levels in order to contact man-made radiation sources and produce raw data indicating the radiation level off the man-made radiation source as well as a specific location of the radiation detection instrument at the time of detection of the man-made radiation source.
20. The method of claim 19 wherein the display view definition defines a threshold value that measurement data must meet in order for the display plug-in to receive the measurement value for presentation on the graphical user interface.
21. An environment monitoring computer system comprising: a memory; a processor; a display; a communications interface; and an interconnection mechanism coupling the memory, the processor, the display and the communications interface; wherein the memory is configured an environment monitoring application that is operable on the processor to cause the environment monitoring computer system to perform the operations of: operating a data collection plug-in to collect raw data, via the communications interface, associated with a measurement instrument; receiving, at a data engine core, the raw data from the data collection plug-in into the memory and routing the raw data for processing by a conversion plug-in; operating the conversion plug-in to convert the raw data into measurement data within the memory; receiving the measurement data from the conversion plug-in at the data engine core; receiving a view definition that identifies measurement data to be received by a destination plug-in; and providing measurement data that matches the view definition to each destination plug-in that registers an interest in the view definition, at least one destination plug-in outputting the measurement data on the display.
22. The environment monitoring computer system of claim 21 wherein the data engine core is extendable with data collection plug-ins operable to collect and process raw data for different types of environmental instruments; and wherein when the application causes the computer system to perform the operation of operating a data collection plug-in to collect raw data associated with an environmental instrument, the application causes the computer system to perform the operations of: identifying the existence of a new environmental instrument by dynamically detecting the presence of a new data collection plug-in operable in conjunction with the data engine core for that type of environmental instrument; in response to detecting the presence of a new data collection plug-in: i) communicating with the data collection plug-in to identify the type of environmental instrument for which the new data collection plug-in collects data; and ii) communicating with the data collection plug-in to identify the protocol by which to collect at least one of raw data and measurement data from that type of environmental instrument; and operating the data collection plug-in according to the protocol to collect at least one of raw data and measurement data from that type of environmental instrument.
23. A computer program product having a computer-readable medium including computer program logic encoded thereon that, when performed on a processor in an environment monitoring computer system provides a method for monitoring environmental data, by performing the operations of:: operating a data collection plug-in to collect raw data associated with a measurement instrument; receiving, at a data engine core, the raw data from the data collection plug-in and routing the raw data to a conversion plug-in; operating the conversion plug-in to convert the raw data into measurement data; receiving the measurement data from the conversion plug-in at the data engine core; receiving a view definition that identifies measurement data to be received by a destination plug-in; and providing measurement data that matches the view definition to each destination plug-in that registers an interest in the view definition.
24. An environment monitoring system comprising: a plurality of remotely operating measurement instruments, each capable of monitoring at least one environmental condition to produce raw data; a respective communications instrument coupled to each remotely operating measurement instrument, each communications instrument including programmable logic operable to collect and forward the raw data from the remotely operating measurement instrument to a central environment monitoring computer system in the form of raw data; the environment monitoring computer system including a memory, a processor, a communications interface and an interconnection mechanism coupling the memory, the processor and the communications interface, the environment monitoring computer system operable to operate a series of data collection plug-ins to collect, route, convert and process the raw data into measurement data for presentation via a display coupled to the environment monitoring computer system.
PCT/US2005/028019 2004-08-06 2005-08-05 Methods and apparatus for environmental monitoring WO2006017796A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP05779666A EP1784752A4 (en) 2004-08-06 2005-08-05 Methods and apparatus for environmental monitoring

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US59975904P 2004-08-06 2004-08-06
US60/599,759 2004-08-06

Publications (2)

Publication Number Publication Date
WO2006017796A2 true WO2006017796A2 (en) 2006-02-16
WO2006017796A3 WO2006017796A3 (en) 2006-03-30

Family

ID=35839962

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/028019 WO2006017796A2 (en) 2004-08-06 2005-08-05 Methods and apparatus for environmental monitoring

Country Status (2)

Country Link
EP (1) EP1784752A4 (en)
WO (1) WO2006017796A2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2967504A1 (en) * 2010-11-17 2012-05-18 Wytek AMBIANCE DOSIMETRY MONITORING SYSTEM, DOSIMETER AND ROOM DOSIMETRY METHOD
EP2574999A3 (en) * 2011-09-30 2013-04-24 Siemens Aktiengesellschaft Management system using function abstraction for output generation
EP1865338A3 (en) * 2006-03-15 2014-02-12 Aliaksandr Alexeevich Antanouski Personal radiation detector and method of operation of personal radiation detector
EP2108978A3 (en) * 2008-04-10 2015-01-21 Enea-Ente Per Le Nuove Tecnologie, L'Energia e L'Ambiente Mobile radiometric terminal for a geographically distributed network operating in real time
FR3023624A1 (en) * 2014-07-11 2016-01-15 Conseils Et Etudes En Radioprot METHOD AND DEVICE FOR SPATIAL AND TEMPORAL TRACKING OF RISK EXPOSURE
CN107290767A (en) * 2017-06-23 2017-10-24 江苏超敏仪器有限公司 A kind of distributed remote radiation environmental monitoring system
WO2018125765A1 (en) * 2016-12-28 2018-07-05 Dialight Corporation Lighting automation network
US10833924B2 (en) 2017-11-06 2020-11-10 Mitsubishi Electric Corporation Data collecting apparatus, data collecting method, and program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6031454A (en) 1997-11-13 2000-02-29 Sandia Corporation Worker-specific exposure monitor and method for surveillance of workers
US7045788B2 (en) 2003-08-04 2006-05-16 Thermo Electron Corporation Multi-way radiation monitoring
US7456405B1 (en) 2004-03-08 2008-11-25 Thermo Fisher Scientific Inc. Portable radiation monitor methods and apparatus

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5946471A (en) * 1995-08-10 1999-08-31 University Of Cincinnati Method and apparatus for emulating laboratory instruments at remote stations configured by a network controller
US20020188428A1 (en) * 2001-06-07 2002-12-12 Faust Paul G. Delivery and display of measurement instrument data via a network
WO2003004975A1 (en) * 2001-07-02 2003-01-16 Battelle Memorial Institute Intelligent microsensor module
US20050144274A1 (en) * 2003-12-12 2005-06-30 General Electric Company Apparatus for monitoring the performance of a distributed system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6031454A (en) 1997-11-13 2000-02-29 Sandia Corporation Worker-specific exposure monitor and method for surveillance of workers
US7045788B2 (en) 2003-08-04 2006-05-16 Thermo Electron Corporation Multi-way radiation monitoring
US7456405B1 (en) 2004-03-08 2008-11-25 Thermo Fisher Scientific Inc. Portable radiation monitor methods and apparatus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1784752A4

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1865338A3 (en) * 2006-03-15 2014-02-12 Aliaksandr Alexeevich Antanouski Personal radiation detector and method of operation of personal radiation detector
EP2108978A3 (en) * 2008-04-10 2015-01-21 Enea-Ente Per Le Nuove Tecnologie, L'Energia e L'Ambiente Mobile radiometric terminal for a geographically distributed network operating in real time
FR2967504A1 (en) * 2010-11-17 2012-05-18 Wytek AMBIANCE DOSIMETRY MONITORING SYSTEM, DOSIMETER AND ROOM DOSIMETRY METHOD
WO2012066497A1 (en) * 2010-11-17 2012-05-24 Wytek System for monitoring environmental dosimetry, dosimeter and environmental dosimetry method
EP2574999A3 (en) * 2011-09-30 2013-04-24 Siemens Aktiengesellschaft Management system using function abstraction for output generation
WO2016012290A1 (en) * 2014-07-11 2016-01-28 Conseils Et Etudes En Radioprotection Method and device for the spatial and temporal tracking of exposure to risks
FR3023624A1 (en) * 2014-07-11 2016-01-15 Conseils Et Etudes En Radioprot METHOD AND DEVICE FOR SPATIAL AND TEMPORAL TRACKING OF RISK EXPOSURE
US10353080B2 (en) 2014-07-11 2019-07-16 Conseils Et Etudes En Radioprotection Method and device for the spatial and temporal tracking of exposure to risks
WO2018125765A1 (en) * 2016-12-28 2018-07-05 Dialight Corporation Lighting automation network
EP3563201A4 (en) * 2016-12-28 2020-08-12 Dialight Corporation Lighting automation network
US11297168B2 (en) 2016-12-28 2022-04-05 Dialight Corporation Lighting automation network
CN107290767A (en) * 2017-06-23 2017-10-24 江苏超敏仪器有限公司 A kind of distributed remote radiation environmental monitoring system
CN107290767B (en) * 2017-06-23 2019-05-17 江苏超敏仪器有限公司 A kind of distributed remote radiation environmental monitoring system
US10833924B2 (en) 2017-11-06 2020-11-10 Mitsubishi Electric Corporation Data collecting apparatus, data collecting method, and program

Also Published As

Publication number Publication date
EP1784752A2 (en) 2007-05-16
EP1784752A4 (en) 2009-02-25
WO2006017796A3 (en) 2006-03-30

Similar Documents

Publication Publication Date Title
WO2006017796A2 (en) Methods and apparatus for environmental monitoring
US7406400B2 (en) Equipment inspection support system, equipment inspection support method, and program therefor
US20010051952A1 (en) Sample analyzing system for facilitating control and maintenance of registered information
US20070206834A1 (en) Search system, image-capturing apparatus, data storage apparatus, information processing apparatus, captured-image processing method, information processing method, and program
US20190138487A1 (en) Sensor data correlation and analysis platform
CN107851085A (en) The laboratory of wireless connection
US9118635B2 (en) Medical imaging system
CN107038333B (en) Management device for measuring equipment
CN109564537A (en) Log sending device, result collection system
KR20210072252A (en) Development Tools and Methods of Smartfactory Service for Workers
EP3432145A1 (en) Data-flow control device and data-flow control method
CN101188512B (en) Network system
JP2007172469A (en) Print management program and print management device
CN109448306A (en) The remote diagnosis for flame detector of technology is recurred using fire
US9544741B2 (en) Terminal
US8547247B1 (en) Detecting, locating and tracing of buried assets using distributed processing over communications networks
US10795343B2 (en) Data providing apparatus and data providing method
JP2018055457A (en) Data acquisition system, acquisition device, information acquisition program, server device and server program
JP2003272074A (en) Measuring data gathering device
JP6992342B2 (en) Information processing equipment and programs
CN110688534A (en) Equipment facility information collection method, storage medium, electronic equipment and system
JP3974034B2 (en) Sales management system
US7007274B1 (en) Web-based apparatus and method for enhancing and monitoring picture archiving and communication systems
CN110100421A (en) Request the transmission bandwidth of mobile medical supply
EP3432593B1 (en) Data-flow control device and data-flow control method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005779666

Country of ref document: EP

NENP Non-entry into the national phase in:

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2005779666

Country of ref document: EP