Devices Monitoring Tool with Intelligent Software Agents

13 downloads 6137 Views 405KB Size Report
Devices Monitoring Tool with Intelligent Software Agents. Calebe de Paula Bianchini. Computing Department. Federal University of São Carlos. Rod.
Devices Monitoring Tool with Intelligent Software Agents Calebe de Paula Bianchini Eduardo Santana de Almeida Antonio Francisco do Prado Computing Department Computing Department Computing Department Federal University of São Carlos Federal University of São Carlos Federal University of São Carlos Rod. Washington Luis, Km 235 Rod. Washington Luis, Km 235 Rod. Washington Luis, Km 235 São Carlos – Brazil São Carlos – Brazil São Carlos – Brazil P.O. box 676 – Zip 13.565-905 P.O. box 676 – Zip 13.565-905 P.O. box 676 – Zip 13.565-905 Phone/Fax: +55 16 260.8233 Phone/Fax: +55 16 260.8233 Phone/Fax: +55 16 260.8233 [email protected]

[email protected]

Abstract The increasing decentralization of computational resources and the need of distributed and heterogeneous systems management are motivating the researches to construct tools that assist the network managers, in great part of their tasks through automatic monitoring devices. Pervasive computing worries about controlling the distributed devices on the computing network, including the Internet. On the other hand, the Software Engineering tries to improve the quality of process and products of software, with the reduction of efforts and costs of its development. Among the techniques to achieve these goals, stand out the ones that use software agents. The tasks signalized by events and repetitive from the different application domains are assigned to the software agents. Combining the ideas of pervasive computing and software agents, this article presents a tool for monitoring devices. It was developed based on components and uses intelligent software agents as the main mechanism to achieve the monitoring.

1. Introduction The evolution and expansion of computer networks opened up way for new applications development in this computing area, provoking a great need of improvements in the network management, to facilitate and speed up of its managers’ tasks. To assure these new demands, it is necessary to improve the service quality, mostly the ones related to network management. Several research fields are being developed involving network management, mainly using the SNMP (Simple Network Management Protocol)[1] management protocol. This protocol appeared in the decade of 80 with the purpose of standardizing the network and equipment management. In 1989, the SNMP was adopted as being the network management pattern based in TCP/IP[2]. That standardization interconnected environments of several manufactures and equipments. SNMP is a set of patterns for network management, that includes the protocol and the

[email protected]

specification of a tree whose leaf node contain monitored objects of each device. The growth of Internet was motivated by the development of Web applications, accessed by devices with different software platforms. The appearance of the wireless network, also allowed the access of the Internet through mobile equipments, as digital cellular phones, PDA's, and pagers, among others. This new resource extended more the Internet boundaries, and it allowed a larger distribution of Web applications. The mobile communication protocol WAP (Wireless Application Protocol)[3] is a pattern defined by the consortium of four companies: Nokia, Ericcson, Motorola and Unwired Planet. The objective of this consortium is the convergence of the Internet with the cellular telephony, supplying specifications for the development of applications that operate on wireless. This pattern specifies a framework for applications and protocols of a network with mobile devices. Using the resources of a browser in the network, these devices, such as switches, palmtops, PDAs, cellular, and computers, they can be configured and monitored remotely[4,5]. Another technique used to speed up the network management tasks is the software agents[6]. Software agent is a computational system that inhabits some environment, which can be physical world, an user through a graphical interface, a collection of other agents, the Internet or everything together, acting in an autonomous way to reach objectives and to accomplish tasks for which it was designed[7,8]. Some researches done in this area use neural nets[9], diffuse logic[10], or simply filters[11] as agent’s intelligence. Another way to define its behavior is through clauses of a logic language, like Prolog. For example, there is a language, called KB, constructed by Lumina Corporate Solutions[12]. This language incorporates the ObjectOriented[13,14] and the Logic[15,16] paradigm principles, supporting the use of software agents, which can communicate with real world objects. It supports the ObjectOriented programming, expressed in clauses in the knowledge base. Its fundamental operation is based on terms unification, and two terms are unify if there is a variable substitution that turn them the same.

Thus, after studies on software agents and on distributed application domain, was decided to construct a tool to assist in the network management, with distributed devices, through automatic monitoring using intelligent software agents. This article is divided as follow: section 2 presents the monitoring tool; section 3 presents a case study using the tool, and finally, section 4 presents the conclusions about this research.

2. Devices Monitoring Tool using Pervasive Computing and Software Agents The Devices Monitoring Tool, called MoDPAI, supports the specification described by the SNMP protocol. It is in a machine, and monitors distributed devices remotely in a network to, collect its information This information are analyzed by the software agents, programmed in a knowledge base, to manage the monitored devices. According to the intelligence degree, previously defined, through clauses written in the KB language[12], the agents make decision that change the devices configuration. Optionally, the network administrator can interact directly with the tool, through its interface and menus, participating in the monitoring. Figure 1 shows a typical network architecture, monitored by the MoDPAI tool. It is in a computer and offers resources to the monitoring, including the collection and information analysis, and the decision-making for network management. Each computer has a native software for its communication with the tool, through the SNMP protocol. The tool supports adding devices, the software agent’s configuration, and other monitoring operational requirements. Besides the direct interaction, through a graphical interface (GUI), a digital cellular phone can be used via WAP interaction (WUI).

Figure 1. Network monitoring architecture by MoDPAI tool

The MoDPAI tool interacts with the Web server to receive the requisitions via WAP and send the answers via cellular phone. The database stores information about the monitored devices, and is consulted during the monitoring.

Another resource is the knowledge base where the agents, that assist the network devices monitoring, are programmed. To reduce complexity, facilitate the maintenance, and increase reuse, it was used the Component-Based Development (CBD) approach in the construction of the tool. Reused software components are self-contained workmanships, clearly identified, which describe or accomplish a specific task and have clear interfaces in accordance with a given software architecture model, appropriate documentation, and a defined reused degree. Thus, MoDPAI was designed with UML (Unified Modeling Language)[14] techniques, following the Catalysis method[17] of Component-Based Development (CBD). A part of the tool was implemented in Java and the other part in the logic language KB, which supports the software agent’s construction. In the first phase of Catalysis, Problem Domain, the tool’s main requirements, in the network management applications domain, were identified. This step has counted with backgrounds of professional that accomplish network management tasks, and with observation techniques, meetings, and the available documentation about network management problems and the adopted solutions. In the system design, were identified two main actors whose interactions with the tool are important: the Administrator and the MonitoredDevice. The Administrator actor interacts with the tool to add devices, establish the devices that will be monitored, create software agents, define its intelligence in the knowledge base, receive messages about device problems, request reports containing devices and monitoring information, change the devices configuration, establish its control conditions, administrate the management and other operational activities of the tool. The MonitoredDevice actor interacts with the tool to establish its access type, authenticate the access requisitions, receive new configurations, report its current configuration and other activities related to its monitoring. After defining the actors, it is created the use cases, used to obtain the tool’s required behaviors and establish its context and architecture. Besides the use cases, that obtain the objects behavior, other models, like the Sequence Diagram, which details each normal or alternative course of the tool use cases, were specified in this problem domain level. In the second phase of Catalysis, Components Specification, the MoDPAI tool components[13,14,17] were specified, based on the problem domain modeling. For example, the Device component, which supports the adding of monitored devices, depends on the Agent and Mib components. The Agent component[6] defines the intelligent software agent’s behavior that assists the monitoring. An agent's behavior is defined through clauses in the knowledge base. The agents are able to analyze the devices configuration, defined in a Mib, and make decisions of

devices management, during the monitoring. The Mib component describes the devices configuration. To describe a device, the Mib component uses a language which grammar is based on the Asn1[18] pattern. It was developed an analyzer to this grammar, which verifies the devices description syntax and uses the semantic actions to generate its configuration in the database. In the third and last phase of Catalysis, Components Inner Project, it was elaborated the component inner project, based on the components specification. The Inner Project is obtained by refining the classes of the components specified in the previous step, considering the implementation constraints and the non-functional requirements. New classes and interfaces were added to take care of the component implementation aspects, considering the hardware and software platform defined for its execution. Finishing all the components, we have a first prototype of the tool, which allowed testing and validating the proposed ideas.

their configuration defined by the Mib.

3. Case Study Different case studies were developed to validate the MoDPAI tool, which combines the use of pervasive computing and software agents in the distributed devices monitoring. Among the accomplished case studies, stands out the network monitoring of the UFSCar Computing Department, called CDNet, composed by 1 Gateway (FreeBSD), 1 Web Server (SunOS), 1 E-mail Server (SunOS), 1 Domain Server (Windows NT Server), and 6 workstations (Windows NT Workstation). A sequence of steps that help in the use of the network devices monitoring tool, is presented.

3.1. Add devices Figure 2 shows the MoDPAI tool main interface. This interface is used so that the administrator can direct access the operations of adding devices and network management. Initially, the monitored devices are added, through the Device menu. The devices are identified preferentially by their IP (Internet Protocol) addresses. In the case of CDNet, we have a Gateway with IP 200.18.99.1, Web Server with IP 200.18.99.3, E-mail Server with IP 200.18.99.9, Domain Server with IP 200.18.98.79, and the workstations with IPs from 200.18.98.72 to 200.18.98.77. In Figure 2 we can see the CDNet added devices distribution. Figure 2 shows the screens for add devices, where it is possible to inform its IP number, socket ports[2] for communication, services type, and its Mib, and, for this last one, there are some previously defined, listed in the Mib Type combo-box, with edition possibility, through the New Mib and Edit Mib buttons. Once added the devices, we can start the first monitoring step, in which the tool collects devices information, based on

Figure 2. Tool’s main screen and Add device screen

3.2. Analyze data After collecting the devices information, the Administrator analyzes them to define the software agent’s behavior that will be used in the monitoring. In this case, the tcpConnTable table, a tcp node branch, was analyzed by the Administrator through the interface offered by the tool, allowing reducing the active connections amount in the device. This analysis, accomplished based on the collected information, in a certain period of time, is used to distinguish the software agents behavior that will act in the monitoring. In this case, the administrator analyzed: The number of TCP and UDP packages received and sent from the intranet by the gateway, making possible a second route of data transmission through a new interface, when this number is overloading the first data transmission route; The amount of established Web connections, relating its time and verifying the period of larger number of connections to characterize it as critical period; The smallest and larger period among two e-mail connections, considering if the e-mail service, considered critical, did not fail; The memory resources and the domain server disk, verifying if the latter did not stop working; and The beginning and end of use of each station, verifying

the volume of information exchanged by the network and the memory and disk resources available. This analysis allows the network administrator to program the agents to help in the devices monitoring, as it proceeds.

3.3. Specify Software Agents After analyzing the data, we can specify the software agents, with their behavior defined through facts and rules in the knowledge base. To program the behavior, it is used the KB language[12]. Figure 3 shows the screens for a software agent specification. The KB language code is verified and, in case it is syntactically correct, it is stored in the knowledge base.

transmitted are created dynamically, keeping the knowledge base updated. With the aid of rules, the traffic data are analyzed, consulting the facts already stored (2), and verifying if it is necessary to enable a new route, according to the maximum limit of packages (3) stipulated for the first route. Besides, it is possible to foresee the period of larger use of the network, advancing the action of enabling that new route, as well as the decreasing period of use of the network, allowing turning off that second route (4). For the decisions that interfere in the route, a message is generated and sent for an e-mail address and a cellular number (5), as defined at the left of Figure 3. Figure 4 shows the messages sent by the agent, after the analyzing the data, notifying the Administrator about the beginning and end of the operation of the new data transmission route. The interaction with the tool can also be done through a cellular phone, or from another mobile equipment, WAP-compatible. Through the cellular phone, it is possible to have access to most of the defined functionalities in the graphic interface of the tool, with the advantage of remote interaction with the devices, at any moment.

1 4 2

Figure 4. Notification message sent by the agent

3 5

Figure 3. Screen to define the agent and its behavior

Each agent interacts with only a device, identifying and correcting the problem analyzed in the previous step, acting according to the rules defined in the knowledge base. According to the making decision, the agent can send a message to the Administrator, relating this decision. At the right side of Figure 3 we have part of the KB code that defines the agent behavior, responsible for analyzing the number of packages that traffic through the gateway, enabling a new route (1), in case it is necessary. In this code, facts that indicate the period and amount of packages

4. Conclusion This work presented a device monitoring tool using pervasive computing and intelligent software agents. The Administrator, responsible for monitoring, can interact directly with the tool, or indirectly via WAP, through a digital cellular phone, or another mobile equipment. Although we have already known about the use of a cellular integrated with the Internet, this system differs mainly for its own characteristics of use of current resources of software engineering, computer network and artificial intelligence in the monitoring tasks of different devices distributed in a local network, or on the Internet. The tool stands out for being multi-platform and integrating Intelligent Software Agents techniques to accomplish tasks, assigned by the administrator, relieving him from the constant interaction, giving larger flexibility

for the monitoring. Other contributions come from the integration of the logical and object-oriented paradigms, using software components. Through this integration, it is possible to use fundamental characteristics of each paradigm for the intelligent software agent’s construction. The Intelligent Software Agent implementation facilitates its use in other several areas, besides the network devices monitoring. Among these areas, stand out the one of information search in the Internet, e-commerce, and other areas where the object orientation and the artificial intelligence has been used with success.

5. References [1] Stallings, Willian. SNMP, SNMPv2, SNMPv3, and RMON 1 and 2. 3. ed. Addison-Wesley, 1999. 619p. [2] Tanenbaum, A. S. Computer Networks. 3 ed. Prentice Hall, 1996. 848p. [3] WAP Forum Specifications. WAP Forum. URL: http://www.wapforum.com/what/technical.htm. Accessed on 01/26/2001. [4] Barillaud, F.; Deri, L.; Feridun, M. Network management using internet technologies. Fifth IFIP/IEEE International Symposium on Integrated Network Management, San Diego, CA, USA, p.61-70, 1997. [5] Maston, M. C. Using the world wide web and java for network service management. Fifth IFIP/IEEE International Symposium on Integrated Network Management, San Diego, CA, USA, p.71-84, 1997. [6] Bianchini, C.P., Sobral, D.S., Prado, A.F. A Distributed Software Agents Platform Framework. 1st. International Software Engineering for Large-Scale Multi-Agent Systems – SELMAS. Proceeding of 23rd. International Conference of Software Engineering. Orlando, Florida – USA. May 19 2002.

[7] Maes, P. Artificial life meets entertainment: lifelike autonomous agents. Communications of the ACM, v. 38, n. 11, p. 108-114, 1995. [8] Franklin, S., Graesser, A. Is it an agent or just a program?: a taxonomy for automonous agents, In: International Workshop On Agent Throries, Architecture And Languages, 3, 1996. [7] Nascimento, A.; Franklin, M.; Oliveira, M. Desenvolvendo agentes inteligentes para a gerência pró-ativa de redes ATM. XVII Simpósio Brasileiro de Redes de Computadores, Salvador, BA, Brasil, p.681-696, 1999. [8] Carvalho, E.; Belchior, A. D.; Souza, J. N. Gerenciamento próativo distribuído baseado em lógica difusa. XVII Simpósio Brasileiro de Redes de Computadores, Salvador, BA, Brasil, p.649-664, 1999. [9] Schulze, B.; Madeira, E. R. M., Ropelatto, P. MomentA: Gerenciamento de serviços usando agentes móveis em ambiente CORBA. XVII Simpósio Brasileiro de Redes de Computadores, Salvador, BA, Brasil, p.649-664, 1999. [12] Lumina Corporate Solution, Clipping Lumina URL: http://www.luminacorp.com/clipping.htm. Accessed on 01/26/2001. [13] Furlan, J. D. Modelagem de Objetos através da UML. 1. ed. Makron Books, 1998. 329p. [14] Booch, G., Rumbaugh, J., Jacobson, I. UML, guia do usuário. 1. ed. Editora Campus, 2000. 472p. [15] Clocksin, W.F.; Mellish, C.S. Programming in prolog. 2. ed. Springer-Verlag, 1984. 297p. [16] Sterling, L., Shapiro, E. The Art of Prolog. 2. ed. The MIT Press, 1994. 509p. [17] D’Souza, W. Objects, Components and Framework with UML– The Catalysis Approach. Addison Wesley, 1998. [18] Dubuisson, O. ASN.1 Communication between heterogeneous systems. 1. ed. Morgan Kaufman Publ Inc, 2000. 562p.