An Efficient Network Management System Based on XML Technology Fu-Min Chang*, Hau-Wen Chang, and Shang-Juh Kao Department of Applied Mathematics National Chung-Hsing University 250,Kuo Kuang Road,Taichung 40227, Taiwan Email : {fmchamg, hwchang ,sjkao}@amath.nchu.edu.tw ABSTRACT In this paper, we presented XMS, an XML-based network management system with three-layered hierarchical structure. With XMS, management operations of existing SNMP agents can be efficient incorporated by taking the advantages of the XML technology. Our XMS fully utilizes the XML technologies such as DOM, XSLT, XPath, and Xindice to network management. We were able to reduce the development cost of management system through the support of standard API for processing XML document. KEY WORDS SNMP, XML, network management, DOM, XPath 1 Introduction Simple Network Management Protocol (SNMP) [1] is a widely used solution for TCP/IP network management in last decades. Although the SNMP model is suitable for most management applications, it is inadequate for the rapidly expanding network because of its poor scalability and inefficiency [2]. Recently, eXtensible Markup Language (XML) [3] has gained its popularity for data interchange and information representation. XML-based network management [4,5,6,7,8] has been proposed as an alternative approach to supplement traditional network management systems. The use of XML in network management has several advantages, such as providing powerful semantic features for management information presentation and efficient reliable management information transmission. In addition, XML-formatted management information can be easily integrated with a database through the support of various available tools, such as XML Parser, Document Object Model (DOM) [9], XPath, Simple API for XML (SAX)[19], etc. Consequently, database processing for network management applications is easily achieved. A number of articles of applying XML in network management have been reported. We will gives several recent developments in the following. A. John et al. introduced a paradigm, named XNAMI [4,5], for the retrieval and presentation of management data. XNAMI is Java-based network and application management toolkit which uses XML and DOM to specify a MIB at runtime. With XNAMI, variables can be added or deleted from the MIB at a managed element dynamically. J.P. also Martin-Flatin presented an idea to use XML for integrated management in his research on Web-based Integrated Network Management Architecture (WIMA) [6]. SNMP MIB to XML translation models, namely Model-level mapping and Metamodel-level mapping were also proposed in WIMA. F. Strauss’s presented a library to access SMI MIB information, named “libsmi” [7], which translates SNMP MIB information to other languages, such as Java, CORBA, C, XML, etc. This library provides a tool for MIB dump (mibdump), which allows dumping the content of a MIB module into an XML document. An SNMP-to-XML gateway using mibdump was implemented. In the paper about embedded Web server, H. T. Ju et al. proposed an XML-based management (XBM) architecture [8]. With the XBM, HTTP server is embedded into both Web-based Management manager and agent. Management information are encoded by XML and transferred by HTTP. In order to integrate the legacy SNMP agent into XBM, they also proposed three interaction translation methods, DOM-based translation, HTTP-based translation, and SOAP-based translation, for XML/SNMP gateway. More previous efforts of applying XML technology to network management are accomplished by modifying the existing agents. Even a number of XML/SNMP gateways had been proposed [7,8], they didn’t clearly specify how to develop the management applications using XML technologies. The most appropriate and practical method could be to reserve the existing SNMP agent and develop an XML-based manager as an alternative to take the advantages of the XML technology. Under this approach, a management proxy is required for communication and management information interchange between XML-based managers and SNMP agents. Since XML support a variety of databases, it is easy to store and process management information together with, XML data manipulation tools such as Parser, DOM, XPATH, etc., for management purpose. That is, a manager can efficiently process the management data through popular XML APIs. Consequently, management applications can be easily developed. In this paper we designed an XML-based network management system with three-layered hierarchical structure. The top layer is an interface for system managers which operate with the web browser. Middle layer is the core part and plays the management proxy role. The low layer contains management information providers. For validation purpose, an XML-based management system (XMS) is developed with four distinguished management applications: Control, Information Query, Visualization, and Notification. Specifically, Scalable Vector Graphics (SVG) [10] is applied for graph representation of traffic, and eXtensible Stylesheet Language Transformations (XSLT) [11] is taken as our query language. The entire system is written by Java [12]. By taking the advantages of XML processing, the proposed management system is expected more powerful and widely accessible. The remainders of this paper are organized as follows. In section 2, we introduce the organization of the management system. The implementation of our proposal is described next. Finally, we give a summary and possible improvement. 2 Architecture of XMS The XML-based network management system is organized as a three-layered hierarchical structure as shown in Figure 1. Browser ready management servers are located at the top layer. Through the Web browser, a network manager can interact with the management proxy through HTTP protocol. The low layer includes all management devices. The middle layer includes five components: Web server with Servlet, Management Applications, XML Parser, XSLT Filter, and Information Collection Module. Web server is responsible for communication between managers and management applications. Servlet/JSP is a programming interface for constructing Web pages and cooperating with database. Based on a variety of management functions, four distinguished management applications are taken into consideration in our system: Control, Information Query, Visualization, and Notification. Through the application of Control, manager can easily modify parameters and change management functions in managed devices. The function of Information Query application is to provide management information queries and historical management information analysis. It can be enhanced by adding complex aggregations. Visualization application is to render management information graphically in order to make it clear and friendly. As for Notification, it is to monitor a MIB variable and notify the manager to send out a notification message. Figure 1. Architecture of the proposed network management system Information collection module includes Translator, SNMP stack, and Virtual MIB. Virtual MIB is the repository for XML-formatted management information. It can be a simple file system or a sophisticated XML database. Translator is responsible for translation between XML documents and SNMP MIB data. The translated XML documents are stored in Virtual MIB, while the translated SNMP messages are forwarded to SNMP stack. Management information is operated by the SNMP stack through the communication with management agents using SNMP. SNMP stack sends the management request to managed devices using SNMP operations such as GET and SET. It also forwards the response message from managed devices to the Translator. XML Parser is responsible for validation check of XML documents generated by management applications. After it has passed the validation check, the XML document is forwarded to Translator. XSLT Engine provides data transformation between management applications and Virtual MIB. XSLT is a template-based declarative language that transforms an XML document from one data structure to another. It employs XPATH to address elements in the XML document. It’s powerful in filtering and disseminating data. 3 Implementation Details An XML-based Management System, named XMS has been implemented and presented in the section to exercise the before-mentioned management architecture. XMS was implemented on Windows XP using Java language. The XML packages used in XMS are mostly derived from the Apache project [13] and implemented in Java. We take the Apache Tomcat 4.0 [14] as Servlet/JSP engine, which follows servlet 2.3 and JSP 1.2 specifications. We also employ Xerces2 [15] as a XML Parser, Xalan-Java 2.5.0 [16] as XSLT Engine. We make use of Xindice 1.0 [17], a native XML database, to store the XML documents of management information. AdventNet SNMP API 3.3 [18] is employed as SNMP stack. Table 1 summaries the software packages used in XMS. Software Package Functions Apache Tomcat 4.0 Web Server, Servlet/JSP Engine, Implementation of Servlet 2.3 and JSP 1.2 specification Xerces2 Java Parser 2.4.0 XML Parser, Support DTD, Name Space, DOM API, SAX 2.0, JAXP 1.2, XML Schema 1.0 Xalan-Java 2.5.0 XLST Engine, Support XSLT 1.0, XPath 1.0, TRaX interfaces Xindice 1.0 Native XML database, Support XML:DB API AdventNet SNMP API 3.3 SNMP stack Table 1. Software packages used in XMS 3.1 Translator The functions of Translator are to translate the XML documents into SNMP commands and the MIB values into XML documents. The former task is easily made using DOM. DOM models an XML document as a tree of nodes, such as Element, Entity, Attr, Document, etc. It provides two kinds of operations: tree traversal and node manipulation. Traversal operations, such as getFirstChild() and getParentNode(), can obtain the necessary data from the input XML document for preparing SNMP command. Manipulation operations, such as appendChild() and serAttribute(), can manipulate the XML documents. Regarding the translation to XML documents, there are two ways for transforming MIB variables into Document Type Definition (DTD) as presented in [6]: Model-level mapping and Metamodel-level mapping. In Model-level mapping, the DTD is specific to a particular MIB, and the XML elements and attributes in the DTD have the same names as the MIB variables. In Metamodel-level mapping, the DTD is identical for all MIBs. Based on the consideration of flexibility and consistency, we adopted Metamodel-level mapping as our transformation method. The DTD is shown in Figure 2. The experimental system is developed at the distributed system laboratory in the Department of Applied Mathematics, National Chung-Hsing University, Taiwan Figure 2. Output DTD 3.2 Management Applications In XMS, four management applications were developed. They are Control, Notification, Visualization, and Information Query. With Control application, manager can perform basic SNMP operations by filling the form or pointing out an input XML as shown in Figure 3. The result is represented by a table on the Web page or an XML file as shown in Figure 4 and Figure 5 respectively. Figure 3. Screenshot of Control. Figure 4. Result of “GET .1.3.6.1.2.1.1.3.0 on 140.120.7.10” on Web page. Figure 5. Result of “GET .1.3.6.1.2.1.1.3.0 on 140.120.7.10” in XML file. With Notification application, manager can specify an OID for intensive watch on a fixed polling frequency. After an OID being specified by manager, an input document will be generated and passed to XML Parser. The XML Parser validates this document to ensure the input is well-defined. If it is valid, it will be translated to a sequence of operations and be performed sequentially. The regular polling value will be stored in Virtual MIB for further query. Manager can also set a threshold of accumulation value or mean value and action to be performed whenever an event occurs. As shown in Figure 6, we monitor ifInOctets of ifTable group on 140.120.8.1 which means the income traffic flow of subnet 140.120.8.*. When its mean value exceeds 100MB an hour, a warning message is generated and sent to manager. Figure 6. Input form of Notification application. A graphic report is also possible through Visualization application. With Visualization application, a graphic display is generated by SVG through XSLT transformation. XSLT uses XPath to select a desired set of node, and then prints these nodes out with a predefined template. An outcome of monitoring ifInOctets as in previous notification application is shown in Figure 7. Figure 7. Outcome of a visualization application. To make a long term analysis or for further processing by other applications, the management information is reported in Virtual MIB. Virtual MIB is implemented by using Xindice. Xindice supports XML:DB API core 1 which is a standard access interface, just like JDBC for relational database. XML:DB API adopts XPath as a query expressing language. The XPath model operates on a tree like structure. For example, the XPath expression //value[@device="140.120.8.10"] is a query for finding out any element node whose tag name is “value” with a “device” attribute and has attribute "140.120.8.10". The result of a query will returns a ResourceSet which may contains many XML instances. Every instance is called a Resource. Note that the root element will be the target we specified in XPath, and some of its attributes are generated automatically by Xindice. Part of the XML is shown in Figure 8. As another example providing by “/value[@device="140.120.8.10" and oid=".1.3.6.1.2.1.2.2"][last()]”, we get the last record of “.1.3.6.1.2.1.2.2” of the device IP “140.120.8.10”. Figure 8. Part of a query result (may contain several instances). 4 Conclusion Applying XML technology in network management presents several advantages such as powerful management information presentation model, efficient and reliable management information transmission, and easily archived database processing in management function. In this paper, we designed and implemented an xml-based network management system called XMS with three-layer structure. By employing management proxy, SNMP agent can be managed in XMS. XMS fully utilized XML technology such as DOM, XSLT, XPath, and Xindice to network management. Through the support of XML standard API, the cost of development of management application can be reduced. By taking the advantage of XML technology, the proposed management system becomes more flexible wide accessible, we also implemented four distinguish mgmt application in the report. For the future study, we will overcome the shortcomings of centralized management and turn to pursue decentralized. The enhancement of integrating with other management protocols such as CMIP or WBEM is also interested. References [1] Case, J., Fedor, M., Schoffstall, M., and Davin, J. (1990). Simple Network Management Protocol, RFC 1157. [2] Meyer, K., Erlinger, M., Bester, J., Sunshine, C., Goldszmidt, G.., and Yemini, Y. (1995). Decentralizing Control and Intelligence in Network Management, Proceedings of the 4th International Symposium on Integrated Network Management. [3] Bray, T., Paoli, J., Sperberg-McQueen, C. M., and Maler, E. (2000). Extensible Markup Language (XML) 1.0 (Second Edition) W3C Recommendation. http://www.w3.org/XML/ [4] John, A., Vanderveen, K., and Sugla, B. (1999). An XML-based Framework for Dynamic SNMP MIB Extension, IFIP/IEE International Workshop on Distributed Systems Operations and Management (DSOM), pp 107-120, Zurich. [5] John, A., Vanderveen, K., and Sugla, B. (1999). XNAMI – An eXtensible XML-based paradigm for Network and Application Management Instrumentation, Networks, 1999. (ICON '99) Proceedings. IEEE International Conference, Page(s): 115 -124. [6] Martin-Flatin, J. P. (2000). Web-Based Management of IP Networks and Systems, Ph.D. Thesis, EPFL, Lausanne, Switzerland. [7] Straus, F. A library to access SMI MIB information. http://www.ibr.cs.tubs.de/projects/libsmi/ [8] Ju, H.T., Choi, M.J., Han, S., Oh, Y., Yoon, J.H., Lee, H. and Hong, J.W. (2002). An Embedded Web Server Architecture for XML-Based Network Management, Proc. of the IEEE Network Operations and Management Symposium, Florence, Italy, pp. 7-18. [9] W3C DOM Working Group. Document Object Model. http://www.w3.org/DOM/ [10] SVG Working Group (2003). Scalable Vector Graphics 1.1 Specification, W3C Recommendation. http://www.w3.org/TR/SVG11/ [11] Clark, J. (1999). “XSL Transformations (XSLT) 1.0” W3C Recommendation http://www.w3.org/TR/xslt [12] Sun Microsystems Computer Corporation (1995). The Java Language: A White Paper. [13] Apache Software Foundation. The Apache XML Project. http://xml.apache.org [14] Apache Software Foundation, The Jakarta Project - Tomcat, http://jakarta.apache.org/tomcat/. [15] Apache Software Foundation, The Xerces Java XML parser. http://xml.apache.org/xerces2-j/ [16] Apache Software Foundation, The Apache XML Project -- Xalan 2. http://xml.apache.org/xalan-j/. [17] Apache Software Foundation, The Apache Xindice Project. http://xml.apache.org/xindice/ [18] AdventNet Inc., AdventNet SNMP API 3.3. http://www.dventnet.com/products/. [19] SAX Project. SAX: Simple API for XML. http://www.saxproject.org/