A Generic Rule-Based Agent for Monitoring Temporal Data Processing

Document Sample
A Generic Rule-Based Agent for Monitoring Temporal Data Processing Powered By Docstoc
					                                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                  Vol. 9, No. 3, 2011



              A Generic Rule-Based Agent for Monitoring Temporal Data Processing


             S. Laban                                               A.I. El-Desouky                                 A. S. ElHefnawy
 International Data Centre (IDC)                         Computer and Systems Department,                       Information Technology
    Comprehensive Nuclear Test-Ban                        Faculty of Engineering, Mansoura                   Department, Faculty of Computer
     Treaty Organization (CTBT),                            University, Mansoura, Egypt                         & Information, Mansoura
           Vienna, Austria*                                                                                    University, Mansoura, Egypt
       shaban.laban@ctbto.org


Abstract—Most of the current real-time monitoring tools are task                   restrictions. The agent proposes a unified and flexible format
specific, lacking alerts capabilities, inflexible, and consuming                   for representing the temporal data and objects (intervals) as
many of the organization resources in maintaining and adding                       well as their different attributes. Also, the agent is using
newer monitored objects. This paper introduces the design and                      customized rules for workflow monitoring and generating
implementation of a generic rule-based agent model that                            different exception reports and alerts when necessary.
minimizes the previous limitations and restrictions. The proposed
intelligent agent is using dedicated rules for workflow monitoring
and generating alerts as well as exception reports to the
                                                                                       The overall structure of the system that the proposed agent
operators. A unified data model is proposed to reduce the
irregularity and complexity of the monitored data and objects.                     is modeled is explained in Section 2. In Section 3, detailed
The suggested rule-based monitoring agent is generic,                              architecture and design of the rule-based agent are presented.
autonomous, configurable, and platform-independent.                                Real-time practical implementation of the proposed system is
                                                                                   illustrated in Section 4. Section 5 evaluates the performance of
     Keywords- rule-based; monitoring; workflow; agent.                            the suggested agent and presents the results of the comparison
                                                                                   with the available tools. Section 6 concludes this paper by
                          I.     INTRODUCTION                                      summarizing the contributions of the proposed approach and
    The workflow of real-time data processing systems consist                      discussing future directions.
generally of series or sequence of complex stages and
processes [1]. In every stage, the states of the different objects
or elements, as well as their internal attributes, are dynamically                                 II.   THE OVERALL FRAMEWORK
changed during its different steps. Generally, real-time systems                       In order to achieve the maximum scalability, efficiency,
use monitoring tools to increase their productivity and                            and robustness of the overall system, the web-enabled
efficiency by detecting anomalies, potential workflow failures                     monitoring approach is structured into three main different
and tracing workflow progress of the different processes [2-4].                    modules as shown in Fig. 1. The arrows in the graph indicate
The operators of the real-time systems use several instances of                    the direction of data flow between the different modules. The
the monitoring tools to supervise, control, monitor workflow                       dashed line indicates the direct data flow for intranet
progress and trace the states of the different objects and                         monitoring agents.
resources during the life cycle of monitored systems.


    Most of the traditional monitoring tools have many                                Real-time Data                                   Rule-Based
limitations. Such monitoring tools are usually platform                                Processing &          Web server/               Monitoring
                                                                                                              Services                   Agent
dependent, task specific, inflexible, and having limited                               Repositories
resources management. Also, the monitoring tools consume
most of the organization resources, need long time, more                                                 Figure 1. Overall framework
human resources to maintain or configure newer monitored                               The first module comprises a set of knowledge-based
objects. Moreover, usually they lack intelligence decision                         repositories as well as intelligent scheduled or continuous
support. In addition, the monitoring tools are not available to                    running programs. These programs act as data collectors,
remote users and are not portable. Furthermore, the monitored                      processors, and producers. They regularly collect states of
data have no standard format or unified structures which                           objects from the different data sources of the monitored system.
complicate building those monitoring tools.                                        Then, they infer the monitored data and classify the status of
   The aim of this paper is to present an approach for                             the different objects as well as their necessary
implementing a platform-independent and task-unspecific rule-                      attributes/properties from the different stages of the monitored
based agent model that minimizes the previous limitations and                      system. Finally, these programs store the data into dedicated
*
 Disclaimer: The views expressed on this paper are those of the authors and
do not necessarily reflect the view of the CTBTO.




                                                                              84                            http://sites.google.com/site/ijcsis/
                                                                                                            ISSN 1947-5500
                                                                         (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                   Vol. 9, No. 3, 2011
data repositories either in an Extensible Markup Language                         A. Unified Data Representation Model
(XML) format or in a unified standard data format [8,9].
                                                                                      In the monitoring agent, and in order to reduce data
                                                                                  irregularity and complexity, the monitored objects are
   The second module consists of any ordinary web server and                      represented and modeled as temporal (interval-based) elements
a set of CGI programs or services (act as intermediate data                       [15]. Each interval-based element, in our case
producers) in charge to read the data generated from the first                    IntervalElementInfo class, is composed of a set of well defined
module, prepare the browser configuration data and a user                         fields or slots and array of optional attributes (AttributeInfo
specific views and to send all the information to the monitoring                  class). The simplified UML class diagram and composition
agents in Hypertext Markup Language (HTML) using                                  relationship are shown in Fig. 3.
Hypertext Transfer Protocol (HTTP) [10,11].
                                                                                           IntervalElementInfo                        AttributeInfo
                                                                                              ElementId:int                            Name:String
                                                                                           ElementClass:String                         Value:String
   The third module is our proposed monitoring agent (data                                ElementName:String                            Alias:String
consumers). This agent consists of a set of Java classes or                                ElementState:String                          color:Color
programs that can be run either from the web browsers for all                             ElementEpocStart:int                              ….
known platforms as a Java applet or in standalone mode [12-                               ElementEpocEnd:int                         getName():String
14].                                                                                       ElementColor:Color                        getValue():String
                                                                                         Attributes[]:AttributeInfo                  getAlias():String
                                                                                                   …..                               setColor(Color)
                                                                                                                                     getColor():Color
      III.   THE PROPOSED MONITORING AGENT MODEL                                          addAttribute(AttributeInfo)
                                                                                          setElementClass(String)
    In this paper, the rule-based techniques and agent                                               …
programming concepts are applied to workflow monitoring in                               getAttribute():AttributeInfo
order to provide more flexibility and intelligence to the                                getElementClass():String
monitoring process [18]. The agent reads regularly the                                               ….
                                                                                              getState():String
necessary information from the web server using the HTTP                                      setState(String)
protocol. Then, the agent aggregate, sort, infer, and finally                                  Figure 3. Class diagram and composition relationship
display the monitored data accordingly in the web browser.
The agent is using a dedicated customized rule engine for                            The implementation of such unified data format is
monitoring purposes as well as generating exceptional reports                     necessary for the monitoring agent model in order to support
and early warning alerts to the operators. The agent is able to                   new generations of portable digital assistance devices such as
communicate with its user/operator. It reads the user updated                     iPhone, embedded systems, as well as other similar devices.
configuration parameters and reacts with user requests and
needs. The internal structure including the main functions of
the monitoring agent is shown in Fig. 2.                                          B. Configuration and Control
                                                                                     The agent configuration is carried out either during
                                                                                  program loading (default configuration) or while the agent is
                                                                                  running (user preferences). During program initialization, the
                                 Requests         Configuration/                  parameters are fed to the agent using the HTML tag
                                                   Monitored                      <APPLET> or fed from a configuration file if the agent is
                                                      Data
                                                                                  running in a standalone mode.
                                       External interface                             During run time, the user can change most of loaded
        Configuration                                                             parameters. This is done by selecting either “Sort/Filter
         & Control           Update         Update                                Viewed Data” tab,              “View/Update Rules” tab or
                                            Agent knowledge-                      “Configuration” tab. The configuration and control parameters
                                                  base                            are classified into four main categories as follows:
               Working Memory
                (facts, reports,
                    alerts)                 Monitoring rules                          The first category contains the connection parameters that
                                                                                  are necessary for identifying and connecting to the specified
                                                                                  HTTP server.
         GUI components                   Inference engine
                                                                                      The second category contains the parameters that are
                                                                                  needed to read, parse, and display the received data from the
        Figure 2. The internal structure of the monitoring agent model            server.




                                                                             85                               http://sites.google.com/site/ijcsis/
                                                                                                              ISSN 1947-5500
                                                              (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                        Vol. 9, No. 3, 2011
    While, the third category contains the necessary parameters
that are needed to set up the graphical display of the applet
itself.


    Finally, the last category contains the parameters needed to
read, parse, map the various rules definitions, generate alerts
and exception reports and display the various states of the
interval.


C. Rule Engine
    The agent uses a time-dependent rule engine for states
identification and classification. The engine is a forward-
chaining rule engine based on JRuleEngine [16]. Default rules
definition is loaded at start up time from the HTTP server.
   Simplified rule syntax can be described as follows:


   RULE-n [description]
   [SALIENCE salience]
   IF                                                                                        Figure 4. Agent rules window

         IntervalElement.Property Operator State1 [State2]
          [IntervalElement.Property Operator state1 [State2] ]
   THEN
         set State Identifier <color code>
   [THEN           generate alert for Operator]


    Due to the nature of the monitored temporal data and the
agent, currently one rule will be fired per matched interval for
state setting. The rule with higher salience will have high
priority over the rule with lower salience. The agent is using by
default depth strategy for conflict resolution. This means that
newly activated rules are placed above all rules of the same
salience. Additionally, an exceptional conflict report entry will
be available to the operator for conflicting rules.
    The agent graphical rule implementation of the proposed
rule syntax is illustrated in Fig.4. The rules can be dynamically
inserted during run-time as well as adding new conditions for
any existing rule. The rules set are displayed in an editable
table that could be altered by the user. In addition, the user can
change directly the state-color relationship, by pressing the
color itself. A pop up dialog will appear and the user can select
his new color and hit the button “OK”. Also, check box is
available for every rule to allow the agent to generate alerts
automatically when rule matched. To activate the overall
changes, the user needs to press the button “Update Workflow”
in order to force the agent to immediately reprocess the new
rules definition. Fig. 5 shows a snapshot of an alert window.                            Figure 5. Example of an alerts window




                                                                     86                          http://sites.google.com/site/ijcsis/
                                                                                                 ISSN 1947-5500
                                                                   (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                             Vol. 9, No. 3, 2011
D. Main Graphical User Interface Components                                   to view older intervals. Another vertical scrollbar is linked to
   Fig. 6 shows the different components of the monitoring                    the two previous panels. It enables the user to view the hidden
agent. The main component of the agent is the tabbed pane.                    data if the number of pairs is greater than the number of objects
Currently, it contains six child panels. The child panels include             of the “Object Property” panel. A right mouse click on any
the graphical panel, the sort panel, the rules panel, the                     brick will pop up a window that displays all available
exceptional reports panel, the alerts panel and the configuration             attributes/information for this particular interval. Also, a
panel.                                                                        middle mouse click outside the bricks will pop up a menu that
                                                                              allows the user to change the current view. Finally, a zoom or
    The graphical panel consists of many different widgets or                 time expander scrollbar is created to allow the user to expand
components to support monitoring the data over time. The first                or zoom into the viewed area to display more detailed
panel is the “Object Property” panel. Each “Object Property”                  information about those intervals.
pair is displayed in a separate row. The main component is the
data display panel. This panel displays the status         of the
interval data in colored horizontal rows. The rows are
displayed adjacent to their corresponding “class name” objects.
Each horizontal row is composed of time interval columns or
bricks. The bricks are colored according to the status of that
interval where the mapping between states and colors are
defined and configured by specified rules. A dedicated
horizontal scrollbar is linked to that panel that allows the user




               Tabbed pane used for switching between
                                                                                                                 Current time
                       different agent panels.




                                               “Object Property” Panel
                                                                                                                                     Object &
                                                                                                                                    attributes
                                                                                                                                      pop up
                                                                                                                                     Window,
                                                                                                                                   alerts are in
                  “Object Property” scroll




                                                                                                                                        red




                                             Zoom scroll bar                          Interval time scroll bar




                                                        Figure 6. Agent main graphical components




                                                                         87                                http://sites.google.com/site/ijcsis/
                                                                                                           ISSN 1947-5500
                                                                   (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                             Vol. 9, No. 3, 2011
                    IV.     IMPLEMENTATION                                      The results of the comparison between the proposed agent
    The International Data Centre (IDC) of the Preparatory                  and the other available monitoring tools are summarized in
Commission for the Comprehensive Nuclear-Test-Ban Treaty                    Table I. If we compare the proposed system with the other
Organization (CTBTO) is receiving and processing, in near real              tools on the basis of N different instances, it is clear that the
time, data from all the International Monitoring System (IMS)               database and/or resources utilization have been decreased from
stations or facilities via a dedicated Global Communications                N to 1 per monitored system. Also, the response time of
Infrastructure (GCI) [17]. Monitoring IMS data includes                     proposed rule-based monitoring agent is faster time than the
receiving, forwarding, automatic processing, interactive                    current tools. Moreover, it is dynamic and simpler in
review, generation and distribution of IDC scientific bulletins             configuration, integration and implementation. Furthermore,
and reports, and archiving of the data.                                     the proposed system is portable, dynamically configurable, and
                                                                            generic. Finally, the proposed system is more advantageous
                                                                            than the other tools because of its web-oriented characteristics
                                                                            as well as alerts and reports capabilities.
    The proposed prototype agent has been implemented in
monitoring the real-time processing of the data received                                      TABLE I.        COMPARISON RESULTS
continuously from the IMS stations, including radionuclide and
meteorological data, or similar temporal data. The monitored                     No.           Attribute              Other           Proposed
data are from different technologies and different                                                                   Available          Agent
characteristics IDC seismic data processing and pipeline,                                                             Tools
radionuclide data processing and atmospherics data processing.
A recent real-time snapshot of the proposed agent is shown in                     1     Response Time                   Fast            Faster
Fig. 7.                                                                           2     Flexibility                     Hard             Easy
                                                                                  3     Configurability                Simple           Simple
                                                                                  4     Portability                      No              Yes
                                                                                  5     Dynamic                       Not Easy           Yes
                                                                                        Configuration
                                                                                  6     Web-Enabled                     No              Yes
                                                                                  7     Task Specific                   Yes            Generic
                                                                                  8     Scalability                   Not Easy          Easy
                                                                                  9     Resources                        N               1
                                                                                        Utilization
                                                                                        (per monitored
                                                                                        object)
                                                                                  10    Reports Capability              N/A              Yes
                                                                                  11    Alerts Capability               N/A              Yes


                                                                                        VI.     CONCLUSION AND FUTURE WORK
                                                                                The proposed lightweight rule-based agent is generic,
                                                                            portable, and flexible to handle any time interval, and platform
                                                                            independent. By implementing the proposed agent, status of
                                                                            the different objects, as well as their attributes or properties,
                                                                            can be easily monitored either via the organization Intranet, or
                                                                            remotely using Virtual Private Network (VPN) connections
                                                                            through the Internet. The agent allows timely generating
                                                                            exceptional reports and alerts. This will help the operators and
                                                                            decision making users to act faster on the anomalies that could
          Figure 7. Workflow of IDC radionuclide data processing            be occurred during the workflow monitoring process.

               V.     COMPARISON AND RESULTS                                    Future work will be dedicated to create special monitoring
                                                                            agent, for simulation and analysis purposes. Also, it is planned
    More than ten performance attributes have been identified               to integrate or enable the use of the proposed monitoring agent
to evaluate the proposed agent. Also, a comparison between the              in grid monitoring systems in order to share and distribute
proposed agent and the current available monitoring tools has               generated alerts and exceptional reports with the other intranet
been made. Selected datasets from different records, extracted              agents
from IDC databases and different critical processes, have been
used to evaluate the performance of the proposed system with                                       ACKNOWLEDGMENT
the existing similar monitoring tools.                                        The authors express their gratitude to thank CTBTO
                                                                            management for encouraging the research activities. Special




                                                                       88                                http://sites.google.com/site/ijcsis/
                                                                                                         ISSN 1947-5500
                                                                        (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                  Vol. 9, No. 3, 2011
thanks to the IDC staff and the radionuclide analysts for the                       [7] M. Klusch, “Information agent technology for the internet: a Survey”,
constructive comments during testing and implementing the                                 Data & Knowledge Engineering, vol. 36, 2001, 2001.
proposed agent.                                                                     [8] Extensible Markup Language, http://www.xml.org/
                                                                                    [9] T. Bray et al., Extensible Markup Language (XML): W3C (World-Wide
                              REFERENCES                                                  Web Consortium), http://www.w3c.org/.
                                                                                    [10] The Internet Society (ISOC), http://www.isoc.org/.
[1] F. J. Kurfess and D. P. Shah, "Monitoring distributed process with              [11] Request For Comments (RFC) Editor, http://www.rfc-editor.org/.
      intelligent agents," In: Proceedings of IEEE Conference and Workshop          [12] Java virtual machine, http://java.sun.com/.
      on Engineering of Computer-Based Systems, 1998.                               [13] J.E. Smith and R.Nair., “The architecture of virtual machines”, IEEE
[2] J.-J. Jeng, J. Schiefer, and H. Chang, "An agent-based architecture for               Computer, Volume 38(Issue 5):Pages 32–38, May 2005.
      analyzing business processes of real-time enterprises," Proceedings of        [14] S. Orlando, and S. Russo, “Java virtual machine for dependability
      the IEEE 7th International Conference on Enterprise Distributed Object              benchmarking”, Proceedings of the Ninth IEEE International
      Computing, pp. 86, 2003.                                                            Symposium on Object and Component-Oriented Real-Time Distributed
[3] I. Seilonen, T. Pirttioja, A. Halme, K. Koskinen, and A. Pakonen,                     Computing (ISORC'06),2006,pp. 433-440.
      ,”Indirect process monitoring with constraint handling agents,” 4th           [15] Bradshaw, J.M., Software agents. San Francisco, CA, USA: AAAI
      International IEEE Conference on Industrial Informatics, Aug. 2006 ,                Press/MIT Press, 1997.
      pp.1323 – 1328.                                                               [16] The Java Rule Engine, http://jruleengine.sourceforge.net/.
[4] L. Bunch, M. Breedy, J. M. Bradshaw, M. Carvalho, N. Suri, A. Uszok, J.         [17] Preparatory Commission for the Comprehensive Nuclear-Test-Ban Treaty
      Hansen, M. Pechoucek, V.Marik, “Software agents for process                         (CTBT) Organization, http://www.ctbto.org/.
      monitoring and notification,” ACM Symposium.
                                                                                    [18] S. Russell and P. Norvig, Artificial Intelligence, A Modern Approach,
[5] A. M. Shaw, S. Yada, “A comprehensive agent-based architecture for                    Prentice Hall, 1995.
      intelligent information retrieval in a distributed heterogeneous
      environment”, Decision Support Systems, vol. 32, 2002, pp. 401-415.
[6] R. Jennings, “An agent-based approach for building complex software
      systems”, Communications of the ACM, Vol. 44, No. 4, 2001,pp. 35-41.




                                                                               89                                http://sites.google.com/site/ijcsis/
                                                                                                                 ISSN 1947-5500