Simple Network Management Protocol (SNMP) [1] is a widely used

advertisement
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/
Download