An XML description language for web-based network ... - CiteSeerX

3 downloads 3735 Views 118KB Size Report
Feb 19, 2009 - for QoS monitoring, SLA validation and measurement- based modeling in ... a graphical editor that allows the user to interactively create and modify ... for the simulation back-end, formed by a cluster of Linux. PCs, running the ...
An XML Description Language for Web-based Network Simulation R. Canonico, D. Emma, G. Ventre Università di Napoli "Federico II", Dipartimento di Informatica e Sistemistica Via Claudio, 21 – I-80125 – Napoli (Italy) [email protected], [email protected], [email protected] Abstract Simulation of large scale network scenarios is a challenging task and requires a great amount of computational power. Hence, realizing web-accessible simulation servers is a key step for the success of network simulation as a useful instrument in the context of network administration and capacity planning. This paper presents an XML-based description language for describing network simulation scenarios. For the proposed language, we also present an XSL translation process that can be used to automatically translate a simulation scenario into a simulation script for a well known network simulator. This work is part of a larger project, aimed at implementing a cluster-based network simulation server to be integrated in a distributed system for QoS monitoring, SLA validation and measurementbased modeling in an inter-domain environment.

1. Introduction In recent years, simulation has become an indispensable technique to evaluate the performance of communication protocols for computer networks [1]. Quite a large number of network simulators have been developed over the past decade [2, 3, 4, 5, 6, 7]. More recently, simulation has been proposed as an useful tool for network planning and what-if analysis [8, 9, 10, 11]. Packet-level simulation of large scale computer networks is a challenging task, due to the great amount of computation it requires. To overcome such a difficulty, researchers have investigated in two directions: parallelism and abstraction. Parallel simulators [12, 13] rely on multiprocessors and clusters of workstations to achieve the computation power and memory necessary to run large scale simulations. Abstraction, on the other hand, is aimed at reducing the unnecessary details of packet level simulation, in order to obtain a significant picture of the network behavior with a significant reduction of computation time [14, 15]. These two approaches are complementary, and can be exploited at the same time to scale up the potential of network simulation. The combination of analytical models with

classical discrete event simulation has lead to so-called hybrid simulation techniques. In the framework of the European INTERMON Research Project [16], the authors are investigating the problem of realizing a powerful network simulation server, based on a cluster of PCs. Our simulation server can be accessed from remote users through a web based interface. This component is integrated in a more general architecture [17], aimed at providing network administrators with a powerful set of tools that can be used for capacity planning and Service Level Agreement tuning and validation. The whole INTERMON architecture relies upon a distributed database, which is updated by proper measurement tools deployed within the real network. To integrate our simulation server with the rest of the INTERMON architecture, it was necessary to define a precise service interface, so that simulation scenarios could be automatically generated from other components and submitted to the server. These reasons have motivated our work, i.e. the use of XML to describe network simulation scenarios that can be automatically translated into simulation scripts, for a variety of network simulators. The rest of this paper is organized as follows. In section 2 we describe the architecture of a network simulation server based on a cluster of PCs that provides a network simulation service that can be accessed through a web-based interface. In section 3, we describe an XML description language that we have defined to describe network simulation scenarios in a simulator-neutral way. In section 4, we present how we managed to automatically translate an XML simulation scenario into an ns-2 simulation script [6]. Finally, in section 5, we present some concluding remarks and future work.

2. A Web Based Network Simulation Server In the context of the INTERMON research project [16], we are developing a web-accessible network simulation server. Our server has been designed according to a 3-tier architecture, as illustrated in Figure 1.

Proceedings of the Seventh IEEE International Symposium on Distributed Simulation and Real-Time Applications (DS-RT’03) 1530-1990/03 $17.00 © 2003 IEEE

Authorized licensed use limited to: Luiz Perrone. Downloaded on February 19, 2009 at 18:51 from IEEE Xplore. Restrictions apply.

Figure 1. A three tier network simulation server

The client component of the architecture is implemented as a JAVA applet, extending the functionality of a plain web browser. This component provides the end-user with a graphical editor that allows the user to interactively create and modify the network simulation scenario. The client software also translates the network scenario in the XML-based language that we describe in the next section. The middle-tier of the architecture acts as an intermediary for the simulation back-end, formed by a cluster of Linux PCs, running the OpenMosix software [18]. This component of the architecture is responsible of user authentication and accounting. In such a middle-tier component, the XML simulation scenario is translated into a simulation-specific script. In our first implementation of the server, a JAVA servlet translates the XML document into a ns-2 simulation script. Finally, the middle tier, by exploiting the load balancing functionality offered by OpenMosix, selects the most suitable cluster node and runs the simulation on it. Simulation results are stored, in a XML format, in a proper document repository which can be asynchronously accessed by the end user. Further post-processing of simulation results can be executed by other servlets running in the middle tier component. Figure 2 shows the architecture of a prototypal simulation server implemented on a cluster of three Linux PCs.

Basically, a network scenario is composed of: a description of the network topology; • a description of the traffic flows that will be generated during the simulated time; • a description of particular events (e.g. link failures) that need to be modeled in the course of the simulation; • a description of the expected simulation output. In this section we describe the basic concepts that make a network simulation scenario. To better illustrate the logical relations among the various components of a simulation scenario, we make use of UML class diagrams. In a second step, we illustrate how a simulation scenario can be described by means of an XML document [19]. To describe the structure of such an XML document, we make use of XML Schema [20,21]. In the process of translating the UML description into an XML document, we had to face the lack of typical O-O paradigms in XML. Figure 3 illustrates the main components of a Simulation Scenario in terms of abstract classes. •

3. Network simulation scenarios in XML A simulation scenario is a description of all the network components that need to be modeled when the behavior of a given network needs to be simulated.

Figure 3: General Structure of a Simulation Scenario

Basically, Figure 3 shows that a Simulation Scenario is made of three parts:

Proceedings of the Seventh IEEE International Symposium on Distributed Simulation and Real-Time Applications (DS-RT’03) 1530-1990/03 $17.00 © 2003 IEEE

Authorized licensed use limited to: Luiz Perrone. Downloaded on February 19, 2009 at 18:51 from IEEE Xplore. Restrictions apply.

· a Network Description · a Traffic Description · a set of Simulation Commands The Network Description is a static representation of the network topology. Hence, it is a collection of Nodes and Links. Here, the term “node” stands for “router or endsystem”. In a node, one or more instances of Network Protocol may be present. Since modeling large scale networks is usually based on network partitioning at a domain level, the most important network abstraction is the “Autonomous System”. Hence, at a topological level, a simulated network should be represented as a collection of interconnected Autonomous Systems. However, we also take into account the possibility of simulating small networks in which the notion of AS is not present. For these smaller networks, the network description is simply made of network nodes connected by links. Figure 4 shows the structure of a Network Description in greater detail. This picture shows that a Network Description is made of ASes, each of which is identified by its own ID. Autonomous Systems are interconnected by Links.

generic “Node” class, which can also be used to model a generic network router and/or an end-system. The Traffic Description component (Figure 5) contains the information required to describe the traffic flows that will be generated during the simulation. Each flow may be characterized by a proper Traffic Model, which can be: • an analytical model, describing the stochastic properties of the traffic flow; • an application model, describing the specific traffic patterns generated by well-known applications (e.g. Telnet, HTTP, FTP, …); • an exact traffic trace, describing the traffic flow packet by packet. The latter part, the Simulation Command component, contains time-dependent events, such as variations in the network topology, in the routing policies, and so on.

Description component 3.1 XML Schemas for the proposed description language Figure 6 shows the format that we have defined for type="NodeType" an XMLdocument describing a network simulation scenario. These three files contains the three components of a @param link - Top level link xmlns:xs="http://www.w3.org/2001/XMLSchema"> The internal structure of an AS is described by its AS simulation scenario that weClass have described above. @parent Node model(s). The simplest description is by means of a model Model of Description AS Figure 7 shows the @param structure of- Analitical the Network “Topological Model”, in terms of Nodes and Links. --> part of a simulation However, an AS can also be described by other formalisms, that we call “Analytical Models”. All these Proceedings of the Seventh IEEE International Symposium on Distributed Simulation and Real-Time Applications (DS-RT’03) 1530-1990/03 $17.00 © 2003 IEEE

Figure 7: Network Description XMLDescription Schema Figure 8: Node Figure 6: Simulation Scenario XML Schema XML Schema

Authorized licensed use limited to: Luiz Perrone. Downloaded on February 19, 2009 at 18:51 from IEEE Xplore. Restrictions apply.

Schema, describing the format of the XML description of a simulated network node (e.g. a router or an endsystem). As illustrated in Figure 4, the Node element may be specialized into a “ASNode” element, describing a whole network domain. This is useful for hybrid kinds of simulation, in which a simplified analytical model is used to describe the behavior of a complex domain (such as an Autonomous System) [15].

4. Translating an XML scenario in ns-2 simulation scripts The XSD Schemas we have presented in the previous section may be used to describe a complete simulation scenario in a simulator-independent way. Besides the XML Schemas, we have also defined a set of precise translation rules that can be used to produce a simulation script for the well known ns-2 network simulator [6], starting from an XML simulation scenario. These translation rules have been expressed by means of the XSLT transformation language [22] and have been implemented by a JAVA servlet. The XSLT transformation document has been organized in independent files, according to the structure of the Schemas presented in Section 3. Figure 9 presents the root XSLT document, which includes other XSLT documents and translates the root element of the XML simulation scenario. The XSLT files contain ns-2 specific code and translates the XML simulation scenario in a script that can be executed by a ns-2 simulator.

6. Conclusions and future work In this paper we have presented an XML description language that can be used to describe network simulation scenarios in a simulator-neutral way. Such an approach can be useful to allow interoperation of different network simulators, especially in the context of distributed network simulation. We have defined this language as a way to submit network simulation scenarios to a simulation server through a web-based component implemented as a middle-tier for a cluster of Linux PCs running the ns-2 simulator. Such a simulation server is a component of a more complex distributed system for QoS monitoring, SLA validation and measurement-based modeling in an inter-domain environment. We are currently investigating the difficulty of translating simulation scenarios formatted according to our

#Code Generated by SimulationScenarioTons.xsl set ns [new Simulator] #finish proc proc finish {} { global ns $ns flush-trace global tf close $tf The creation and manipulation of complex network global nf generation of the XML simulation scenarios. To perform close $nf this task we are currently developing a graphical tool which extends the basic functionality of the applet exit 0 } mentioned in Section 2. #Simulation Run Such a tool provides users with the following features: $ns at "finish" • integration of existing topology generators; $ns run • localization and visualization of sets of nodes on large network topologies according to different selection criteria (e.g. mutual distance, AS identifier); • instantiation of network components of any type on the nodes of a given node set; # Trace definition • customization of network components; set tf [open w] $ns trace-all $tf • definition of new network components (e.g. web caches). # Nam trace definition set nf [open w] $ns namtrace-all $nf Proceedings of the Seventh IEEE International Symposium on Distributed Simulation and Real-Time Applications (DS-RT’03) 1530-1990/03 $17.00 © 2003 IEEE

5. Production of XML simulation scenarios

Figure 9: Root XSLT transformation document Authorized licensed use limited to: Luiz Perrone. Downloaded on February 19, 2009 at 18:51 from IEEE Xplore. Restrictions apply.

specification in simulation scripts suitable for different network simulators.

7. Acknowledgements This work has been carried out under the financial support of the European Community in the framework of the INTERMON-IST-2001-3412 Research Project. It has also been partially funded by MIUR, Ministero della Istruzione, dell’Università e della Ricerca, in the framework of the FIRB project “Middleware for advanced services over large-scale, wired-wireless distributed systems” (WEB-MINDS), and of the project “Scalability and Quality of Service in Web Systems”.

8. References [1] L. Breslau, D. Estrin, K. Fall, S. Floyd, J. Heidemann, A. Helmy, P. Huang, S. McCanne, K. Varadhan, Y. Xu, and H. Yu. "Advances in Network Simulation". IEEE Computer, 33 (5), pp. 59-67, May 2000. [2] L.S. Brakmo and L.L. Peterson. "Experiences with network simulator". In Proc. of SIGMETRICS, Philadelphia, PA, 1996. [3] OPNET - http://www.mil3.com/products/ [4] SSFNet - http://www.ssfnet.org/ [5] PARSEC - http://pcl.cs.ucla.edu/projects/parsec/ [6] UCB, LBLN, VINT. "The Network Simulator - ns-2". http://www.isi.edu/nsnam/ns, 2003. [7] S.Y. Wang and H.T. Kung. "A New Methodology for Easily Constructing Extensible and High-Fidelity TCP/IP Network Simulators". Computer Networks, Vol. 40, Issue 2, pp. 205-215, 2002. [8] D. Dutta, A. Goel, J. Heidemann. "Faster Network Design with Scenario Pre-Filtering". Procs. of 10th IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems (MASCOTS'02), Fort Worth, Texas, October 11-16, 2002. [9] B.K. Szymanski, A. Bivens, Y. Liu, K. Madnani, A. Sastry. "The Genesis Project: Network Decomposition in Monitoring and Simulation for Network Management and Intrusion Detection". Procs. of Virtual Worlds and Simulation Conference, SCS Press, January 2002. [10] T. Ye, S. Kalyanaraman, D. Harrison, B. Sikdar, B. Mo, H.T. Kaur, K. Vastold, B. Szymanski. "Network Management and Control Using Collaborative On-line Simulation". Procs. of IEEE International Conference on Communications, Helsinki, Finland, June 2001. [11] V. Firoiu, I. Yeom, and X. Zhang. “A framework for practical performance evaluation and traffic engineering in IP networks”. Procs. of IEEE International Conference on Telecommunications, ICT 2001, June 2001.

[12] M. H. Ammar, G. F. Riley, and R. M. Fujimoto. “A Generic Framework for Parallelization of Network Simulations”. Proceedings of 7th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems, October 1999.

[13] PADS research group at Georgia Tech. “PDNS Parallel/Distributed NS”. [Online]Available: http://www.cc.gatech.edu/computing/compass/pdns/index.html [14] P. Huang, D. Estrin, J. Heidemann. "Enabling Large-scale Simulations: Selective Abstraction Approach to The Study of Multicast Protocols". Proceedings of 6th IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems, MASCOTS 1998, 19-24 July, 1998, Montreal, Canada. [15] F. Baumgartner, M. Scheidegger, T. Braun. "Enhancing Discrete Event Network Simulators with Analytical Network Cloud Models". Procs. of First International Workshop on Inter-domain Performance and Simulation, IPS 2003, Salzburg, February 20-21, 2003. [16] IST INTERMON European Research Project (IST-200134123). http://www.ist-intermon.org [17] D. Hetzer, I. Miloucheva, U. Hofmann, J. Quittek, F. Saluta. "Integrated Information System for Inter-Domain QoS Monitoring, Modelling and Verification". EURESCOM Summit 2002 , Powerful Networks for Profitable Services, Heidelberg, Germany, 21 - 24 October 2002. [18] Moshe Bar. “The openMosix Project”. [Online] Available: http://openmosix.sourceforge.net/ [19] WWW Consortium (W3C). “Extensible Markup Language XML Specification 1.0 (Second Edition)”. [Online] Available: http://www.w3.org/TR/REC-xml [20] WWW Consortium (W3C). “XML Schema W3C Recommendation, 2 May 2001”. [Online] Available: http://www.w3.org/TR/xmlschema-0/ [21] J. Roy and A. Ramanujan. “XML schema language: taking XML to the next level”. IT Professional, vol. 3 issue 2, MarchApril 2001, pp. 37-40 [22] WWW Consortium (W3C). “XSL Transformations (XSLT) Version 1.0W3C Recommendation 16, November 1999”. [Online]. Available: http://www.w3.org/TR/xslt [23] R. Canonico, D. Emma, G. Ventre. “Extended nam: an ns2compatible network topology editor for simulation of web caching systems on large network topologies”. Submitted to ESMc’2003 European Simulation and Modelling Conference, October 2003, Naples (Italy).

Proceedings of the Seventh IEEE International Symposium on Distributed Simulation and Real-Time Applications (DS-RT’03) 1530-1990/03 $17.00 © 2003 IEEE

Authorized licensed use limited to: Luiz Perrone. Downloaded on February 19, 2009 at 18:51 from IEEE Xplore. Restrictions apply.