Abstract — This paper presents advantages of applying Petri Net analysis and simulation of Network Management based on Mobile Agent Technology. Mobile Agent Technology has proven to be very useful to network administrator for maintaining complex computer networks. By obtaining the simulation and analysis in early design phases for formal verification, some potential deadlocks and possible conflict activities can be discovered and avoided.
Index Terms — Petri Net, Mobile Agents, Network Management, Simulation and Analysis.
INTRODUCTION
The Network management becomes of significant importance due to explosive growth and complexity of the computer networks. Monitoring and maintaining distributed servers within the computer network are very demanding and complicated tasks.
The Network Management consists of monitoring and of control of network elements. Network monitoring involves observing and analysing the status of the network; and thus does not involve interface in the network functioning. Network control involves active interference and configuration of the state of the network. A Network Management System includes the management of the network elements and the use of a management protocol. The management protocol that has been extensively used is the Simple Network Management Protocol – SNMP. The manager communicates with the SNMP agents executing on the managed nodes through the set of management primitives. The SNMP agents are static programs that execute on the managed nodes and provide the manager with the information it requests from time to time.
Juraj Pukšec, Darije Ramljak and Darko Huljenić are with Research and Development Center of Ericsson Nikola Tesla,
Krapinska 45, HR - 10002 Zagreb, Croatia. Tel.: + 385 1 365 4644, Fax.: +385 1 365 3610
Email: {juraj.puksec, darije.ramljak, darko.huljenic }@etk.ericsson.se
The Network Management System secures the functionality of configuration of the network, monitoring of the network, studying the performance of the network, handling the security of the network and studying the alarms generated in the network [1].
The use of Mobile agents in distributed network management is expected to have a significant impact because Mobile agents can simultaneously perform different tasks on several locations (hosts) in the network. Mobile agents will be of excellent assistance to network administrator by performing different tasks like controlling and maintaining the computer network.
This paper discusses application of Mobile agent for maintaining and management of the computer network. Mobile Agent checks the status of client computers, if there is no response from them Mobile agent will try to restart (reboot) the client. The task for Mobile agent is also checking the installed version of software programs on client computers, and if necessary, it will install new version(s). After performing task(s) agent(s) will notify the network administrator about performed job.
The formal verification of the network was performed by using Petri Net model. Simulation and Analysis of the constructed Petri net was performed by using DaNAMiCS tools.
This paper is organised as follows: in the first section the overview of the mobile software agents is described. Second section deals with the application of mobile agents in the Network management. Petri Net based simulation is presented in the third section. In the fourth section the results of analysis are discussed. Conclusions are given at the end.
Petri Net Simulation and Analysis of Network
Management Based on Mobile Agent
Technology
I. MOBILE SOFTWARE AGENTS
The Mobile agent concept has grown out of three earlier technologies: process migration (PM), remote evaluation (RE) and mobile objects. All these three technologies have been developed to improve on Remote Procedure Calling (RPC) for distributed programming. Mobile agents have improved these three technologies for distributed programming by providing a way for executable code, program state information and other data to be transferred to any host Agent considers necessary to carry out the actions specified in an application.
The basic characteristics of mobile agents are mobility, autonomy, intelligence, persistence, goal orientation, communication and activity. For Mobile agents it is very important to be autonomous. By term autonomous it is understood that the Mobile agent can make its own decision how to reach the given goals.
A mobile agent is characterised by its behaviour, state and location. Behaviour is specified in class of an object inside the program. State of a mobile agent is stored in variables of an object. Location is a place where mobile agent performs certain actions in order to carry out its main task. Also, Mobile agent must have learning skills. The Mobile Agents have to learn about their environment and actions so that they can be more effective [2], [3].
II. APPLYING MOBILE AGENTS IN THE NETWORK MANAGEMENT
In the Figure 1, computer network based on Mobile agents is presented. Mobile agents are programmed on the server side. The tasks for mobile agent are:
• checking the status of client computer, • restarting the client computer (if needed), • checking the version of installed software, and • installation of software (if needed).
Mobile agent system contains three Mobile agents: Local agent (LA), Restart agent (RA), and Installer Agent (IA). Task of Local Mobile Agent (LA) is to roam through the network and check the status of client computer and the version of installed software. Restart Agent (RA) is responsible for restart (reboot) of the client computer, and Installer Agent (AI) install the software programs on client computers. Further is explained the role of mobile agents on client computer.
All three Mobile agents are situated on server, Figure 2. Administrator of the computer network supervises all four agents. Administrator must define version of the installed software on the client computers (version for Web explorer, Mail tool, audio-video explorer, …). Local Mobile Agent
(LA) will visit every client computer within a computer network, first checking the status of the client computer, if the client computer works properly (1). After checking the status of the computer, LA will check the version of the installed software (2). After performing the given task Mobile agent will migrate to another client computer within the computer network (3). But if there is no response from the client computer or some unexpected event occurs LA will call the Restart agent (RA) to restart the client computer (4). Restart Agent (RA) will restart the client computer (5), and after restarting the computer LA agent will check the status of the computer again (6). If after several restarts computer does not respond Mobile agent will disconnect the computer from the network and send notification to the server computer (10). LA agent will check the version of installed software on client computer, and if necessary will call the Installer Agent (IA) from the server (7). IA agent will install the new software on the client computer (8), and then restart the client computer (9). Every action that Mobile agent performs will be reported to the server computer – network administrator (10).
Server computer Network Mobile Agent Mobile Agent Mobile Agent i CC Client computer -1 CC Client computer -n CC Client computer -SC
...
...
Figure 1. – The Computer network based on Mobile agents
Figure 2. – The tasks for Mobile agents server computer LA checking the status of client computer checking the version of installed software restart installation
1)
client computer i2)
3)
4)
5)
6)
7)
8)
9)
10)
RA IA notificationA formal model of a distributed programming of a Mobile agent based network management is proposed in [4]. Multi agent system can be described as (1):
A= {agent1, ... agenti ..., agentn} (1)
where A denotes multi agent system which consists of n co-operating and communicating Mobile Agents. These mobile agents perform the service requests by their users in this multi agent system. This system can be described as:
A= {LA, RA, IA} (2)
The multi agent system can be consider as a distributed system whose processing nodes communicate. A set of processing nodes is denoted as:
S= {S1, ... , Si, ... , Sn} (3) Each node, Si, is characterised by a set of services it provides.
According to [4] and [5] Mobile agent based network is defined as a triple:
MAN = {A, S, N} (4)
A defines a multi agent system consisting of the co-operating and communicating mobile agents, S denotes the set of processing nodes capable of serving the agents and N stands for the network that connects the nodes and provides an agent migration.
Mobile agent can migrate autonomously from client to client (node to node), to perform the tasks on behalf of the network administrator. It can be defined as:
Agent = {idno, address, service, verinfo, installation} (4) where idno is a unique identification number of the agent, address denotes its location, service means check if there is a respond from the client and restart if there is no answer from the client, verinfo is number of the latest software version and instalation will be performed if latest version of software is not installed on the client computer.
In this paper multi agent system operating on the behalf of a network administrator will be discussed. An agent will be programmed on a server and will be spread throughout the computer network. The agent will migrate from node to node in the computer network and will perform management tasks.
III. PETRI NET BASED SIMULATION
Before the programming took place the Petri Net simulation was performed. The main task of the Petri Net simulation and results analysis is the control of are checking the formal properties of the proposed solution, particularly liveness, in early phases of the project in order to avoid potential deadlocks and possible conflict activities.
In the Figure 3 the Petri net model is proposed [6], [7], [8]. The Petri Net was constructed according to Petri Net model and the set of tasks that are given to the Mobile agents, presented in the Figure 2. The constructed Petri Net is presented in the Figure 4. In order to simplify the Petri Net, according to Figure 1, constructed computer network has one server computer (places pP1, pP2, pP3, pP4 and pS5) and three client computers (p1-p12, p13-p24, and p25-p36). In pP1 state Local mobile agents (LA) are created (programmed), and they migrate in the network to the first client computer. When the agent arrives to a client computer (p1), it will check the status of the computer. If there is a response from the computer, agent will check the version of the installed software (p2). If the computer does not work properly (p4) Local agent will call Restart agent (pP2). Restart agent (RA) will try to restart the computer (p7) and check its status again. If after three restarts computer does not respond the Mobile agent will disconnect the computer from the network (p8 and p12). After installation of software (p10 and p11) computer must be restarted (p7), if needed. All performed actions Local agent (LA) will report to the administrator after returning to the server (pP5). After visiting one client computer and performing all necessary action, Local agent will migrate to another computer within the network and perform assigned tasks. Different situations are investigated by simulating all possible operations. In this model several possible situation are demonstrated:
Figure 3. – The Petri Net model Petri Net server Petri Net CC1 Petri Net CCi Petri Net CCn
t1 t2 t3 t4 t5 t6 t7 t8 t11 t9 t10 t12 t13 t14 t15 t16 t17 t18 t19 t20 t23 t21 t22 t24 t25 t26 t27 t28 t29 t30 t31 t34 t35 t32 t33 t36 t37 t38 t39 P1 P2 P3 P4 P9 P5 P6 P7 P8 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 P24 P21 P22 P23 P25 P26 P27 P28 P29 P30 P31 P32 P36 P33 P34 P35 PP1 PP2 PP3 PP4 PP5 server
CCi
CC n
CC1
• regular transitions – everything is working properly:
pP1→p1→p2→p3→p13→p14→p15→p25→p26→p27→ →pP4,pP5,
• client 1 does not respond (p3):
pP1→p1,p4→p5,pP2→p6 →p7,p8→p1→p2 … • client 2 does not respond (p12):
…→p13,p16→p17,pP2→p18→p19,p20→p13→p14 … • client 3 does not respond (p22) not even after three
restarts:
…→p25,p28→p29,pP2→p30→p31,p32→p25,p28→p29,pP2
→p30→p31,p32→p25,p28→p29,pP2→p30→p31,p32→p36 • client 1 needs to install new version of software (p7):
pP1→p1→p2,p9→p10→p11→p7→p1→p2→p3→… • client 2 needs to install new version of software (p17),
…p13→p14,p21→p22→p23→p19→p13→p14→p15...
• client 3 needs to install new version of software (p26),
...→p25→p26,p33→p34→p23→p20→p21→p26→pS1,pS3 • some unpredicted situations that may occur if there is
a problem with restart of the system.
By using Java-based Petri net tool – DaNAMiCS [9] simulations were performed, Figure 5.
IV. RESULTS ANALYSIS
The DaNAMiCS tool was used for the simulation of the Petri net. Petri Net consists of 31 places and 28 transition. Petri net has been applied because of complex demand on the system and the configuration of the network. Inhibition arcs were used for modelling error conditions. This is explained by the fact that from every regular place transition is possible to next regular place but if some error
occurs (the client computers does not respond) or some unpredicted situations happen agent will drop to the place where some changes must be made.
Applying Petri net simulation before the programming has proved to be very useful. From the simulation results for checking the response of the client. Administrator should allow the mobile agent to restart the system for a maximum 3 times. If after several restarts of the system computer does not respond, mobile agent has to disconnect the computer from the network and notify the network administrator about some unpredicted errors.
The Petri Net is live and there are no deadlocks in the model. Conflict transitions are only transitions that model regular continuation and error-initiated termination, such as: (t1, t12), (t2, t3), (t4, t9), (t13, t24), (t14, t15), (t16, t21), (t26, t27), i (t28, t32). These conflicts are intentional and they describe mutually exclusive actions. The only unbounded places in the model were those collecting tokens for statistical purposes. Therefore, the modelled net is also persistent and has a home state.
From the simulation results we can conclude that the constructed Petri net is error-free. After the Petri net simulation was performed, the programming of the Mobile agents took place.
Performing formal description by using Petri Nets we defined the role of Mobile agents on client computer. Programming of Mobile agents can be performed on any platform.
CONCLUSION
Petri Net simulation and result analysis of Network Management based on Mobile Agent Technology is described in the paper. Petri net models were used for clarifying service concepts and implementation. Formal verification and simulation based on derived Petri net proved to be useful in early design phases. Petri net models and the analysis based on them were found to be an efficient way to improve design process and project controllability.
REFERENCES
[1] A. Sahai, C. Morin, “Mobile Agents for Enabling Mobile User Aware Applications”, IEEE Network Operations and Management Symposium - NOMS 98, pp. 455 – 464, vol. 2., February 15 – 20, 1998.
[2] J. Pukšec, “The Maintenance of Internet Service Nodes by using Mobile Software Agents”, Master Thesis, University of Zagreb – Faculty of Electrical Engineering and Computing, Croatia, 2001, (in Croatian).
[3] W. T. Cockayne, M. Zyda, “Mobile Agents”, Manning Publications Co, USA, 1998.
[4] V. Sinković, I. Lovrek, “Genetic Algorithm of a Mobile Agent Network Suitable for Performance Evaluation”, Proc. of KES 2000 Conf., pp. 675 – 678 Brighton, UK.
[5] G. Ježić, M. Kušek, I. Ljubi, “Mobile Agent Based Distributed Web Management”, Proc. of KES 2000 Conf., Brighton, UK, pp. 679 – 682.
[6] J. L. Peterson, “Petri Net Theory and the Modelling of systems”,
Prentice-Hall, Englewood Cliffs, 1981.
[7] I. Lovrek, “Modelling Telecommunications Processes – Theory and Application of Petri Nets”, Skolska knjiga, Zagreb, 1998. (in
Croatian).
[8] J. Pukšec, M. Opsenica, D. Frank, V. Maričić, K. P. Valavanis, I. Lovrek, “Petri Net based Modelling and Simulation of Email Alert System”, Proc. of 10th MELECON 2000 Conf., vol. 1, pp. 49–52, Lemesos, Cyprus, 2000.
[9] DaNAMiCS documentation - http://www.cs.uct.ac.za/Research /DNA /DaNAMiCS/