System and method for network management using extensible markup language
The invention relates to a system and method for management of an IP network using eXtensible Markup Language (XML) or a similar protocol in addition to SNMP or other managed-device protocol. In embodiments of the invention, a XNMP gateway is coupled between the network management system and one or managed devices. The XNMP gateway performs transformations so that the link between the network management system and XNMP gateway uses XML or a similar protocol, and the links between the XNMP gateway and managed devices use SNMP or other local protocol.
The invention relates generally to the field of communications. More specifically, but not by way of limitation, the invention relates to a system and method for management of a Voice Over Internet Protocol (VoIP) or other Internet Protocol (IP) network using eXtensible Markup Language (XML).
BACKGROUNDVoice over Internet Protocol (VoIP) is an alternative to circuit-committed protocols such as Time Division Multiplexing (TDM) that are used on conventional Public Switched Telephone Networks (PSTN's). With VoIP, voice communications share the same network with data, effectively consolidating bandwidth by sending packets to any available path at any given time. Monitoring and managing a VoIP network requires a network protocol to communicate with, and gather information from, numerous Internet Protocol (IP) network devices.
SNMP has many disadvantages, however. For example, SNMP is limited to five management commands: “get” to request values from the Management Information Base (MIB) of a managed device; “get next” to request the successive values from the MIB; “get response” to retrieve the answer returned; “set” to update MIB values; and “trap” to send an event notification. Moreover, SNMP information is presented in long unstructured data strings. The limited command set and unwieldy data formats associated with SNMP result in increased cost and cycle time for the development and maintenance of IP network management systems. Moreover, the processing overhead for SNMP-based network management systems may be substantial, making them unsuitable for VoIP and other network communications that must operate in near real-time with low packet losses. A more robust management protocol is needed for time-sensitive IP network applications.
SUMMARY OF THE INVENTIONThe invention relates to a system and method for management of an IP network using eXtensible Markup Language (XML) or a similar protocol in addition to SNMP or other managed-device protocol. In embodiments of the invention, an XML Network Management Protocol (XNMP) gateway is coupled between the network management system and one or managed devices. The XNMP gateway performs transformations so that the link between the network management system and XNMP gateway uses XML or a similar protocol, and the links between the XNMP gateway and managed devices use SNMP or other local protocol. Advantageously, XML is more flexible and robust than SNMP, resulting in improved processing efficiencies at the network management system.
Embodiments of the invention provide a method for managing a network, including: receiving an eXtensible Mark-up Language (XML)-formatted request for data, the data associated with a managed Voice over IP (VoIP) device; transforming the XML-formatted request to a Simple Network Management Protocol (SNMP)-formatted command; and receiving an SNMP-formatted result based on the SNMP-formatted command.
Embodiments of the invention provide a method for processing data, including: receiving an eXtensible Mark-up Language (XML)-formatted request for data, the data associated with a managed Voice over IP (VoIP) device; specifying a device IP address in a first argument and a Xpath query in a second argument, the device IP address and the Xpath query based on the XML-formatted request; and identifying a Management Information Base (MIB) variable based on the Xpath query.
Embodiments of the invention provide a method for processing data, including: receiving Simple Network Management Protocol (SNMP) data; marking up the SNMP data based on an extensible Markup Language (XML) schema; and converting the SNMP data to XML-formatted data.
Embodiments of the invention also provide computer-readable medium for performing the foregoing methods.
Embodiments of the invention provide a system configured to manage a network, including: a network management system; an extensible Network Management Protocol (XNMP) gateway coupled to the network management system; and at least one managed Voice over IP (VoIP) device coupled to the XNMP gateway, the XNMP gateway configured to receive an extensible Markup language (XML) request from the network management system, the XNMP gateway further configured to transform the XML request into an Simple Network Management Protocol (SNMP) command, the XNMP gateway further configured to send the SNMP to the at least one managed VoIP device.
The features and advantages of the invention will become apparent from the following drawings and detailed description.
BRIEF DESCRIPTION OF THE DRAWINGSEmbodiments of the invention are described with reference to the following drawings, wherein:
This section provides an overview of an exemplary system and method for managing IP networks. More detailed disclosure is provided for transformation from XML to SNMP, and for transformation from SNMP to XML. A functional architecture for an exemplary XNMP gateway is also provided. Sub-headings are used below for organizational convenience. The disclosure of any particular feature is not necessarily limited to any particular section, however.
Overview
In the illustrated embodiment, the network management system 205 may be or include, for example, a personal computer, network server, or other networked device or system configured to perform administrative functions such as issuing commands, processing received information, and/or displaying information. The XNMP gateway 210 is configured to perform protocol transformations between the network management system 205 and the managed devices 215, 220, 225, 230, 235, and 240. The managed devices 215, 220, 225, 230, 235, 240, and 245 may be or include, for instance, routers, switches, call servers, gateways, gatekeepers, handsets, Multipoint Control Units (MCU's), Session Initiation Protocol (SIP) proxy servers, or other network devices.
In the illustrated embodiment, managed devices 215, 220, 225, and 230 each include a Management Information Base (MIB) and a SNMP agent. The MIB stores objects that relate to the status of the managed device. The SNMP agent updates the stored objects, is responsive to status requests from the network management system 205, and may also issue alerts to the network management system 205.
In the illustrated embodiment, links 250, 255, 260, and 265 utilize SNMP, link 270 utilizes a proprietary protocol, link 275 utilizes Hyper-Text Transfer Protocol (HTTP) Common Gateway Interface (CGI), link 280 utilizes XNMP, and link 285 utilizes either XML over HTTP. The XNMP gateway 210 provides transformations between SNMP and XML, and between proprietary protocols and XML.
In the illustrated embodiment, the XNMP gateway 210 removes presentation information from the HTTP CGI formatted data received from the call server 240 to transform the HTTP CGI data to XML format. Because managed device 245 communicates via XNMP, managed device 245 is linked directly to the network management system 205 via link 280 without being routed through the XNMP gateway 210.
The functional architecture presented in
Exemplary transformations between SNMP and XML are described below with reference to
The messaging sequence illustrated in
Accordingly, a variety of powerful and flexible tools exist to process received XML data. Using XML at the network management system may therefore result in decreased development time and maintenance expense. Moreover, because run-time overhead can also be reduced compared to a pure SNMP-based system, a network management system using XML may better support application environments such as VoIP that require near real-time performance.
In embodiments of the invention, Xpath process 410 and/or Xquery process 420 are executed in the XNMP gateway 210 to transform an XML request into an SNMP command, and XSLT process 415 is used in the XNMP gateway 210 to transform an SNMP result into an XML result. CSS process 425 may optionally be used to display at least a portion of the XML result at the network management system 205.
XML-to-SNMP Transformation
In executing step 510, interface code such as “helper.getsnmp( )” may be used to specify the address and Xpath query. For example, the form of an output from step 510 may be “helper.getsnmp(10.10.1.221,//dot1dTpFdbPort)” where “10.10.1.221” is the target IP address and “dotldTpFdbPort” is the Xpath query. Requests received in step 505 may require that MIB variables associated with phone number, voice quality, phone status, or other information is specified in step 510 in the alternative to, or in combination with, MAC address information.
SNMP-to-XML Transformation
Accordingly,
The code illustrated in
Functional Architecture of an XNMP Gateway
As shown in
Components of the gateway illustrated in
The invention described above thus overcomes the disadvantages of known systems and methods by inserting a XNMP gateway between the network management system and one or managed devices so that the VoIP network management system operates with XML instead of the more conventional SNMP. While this invention has been described in various explanatory embodiments, other embodiments and variations can be effected by a person of ordinary skill in the art without departing from the scope of the invention. For example, although disclosed embodiments utilize XML at the network management system, other common languages, such as XHTML, could be used so long as the appropriate transformations are performed at the gateway that is connected between the network management system and the managed device(s). Moreover, the invention is not necessarily limited to VoIP applications.
Claims
1. A method for managing a network, comprising:
- receiving an extensible Mark-up Language (XML)-formatted request for data, the data associated with a Voice over IP (VoIP) device;
- transforming the XML-formatted request to a Simple Network Management Protocol (SNMP)-formatted command; and
- receiving an SNMP-formatted result based on the SNMP-formatted command.
2. The method of claim 1, wherein the transforming the XML-formatted request includes using an XML schema.
3. The method of claim 1, further comprising:
- transforming the SNMP-formatted result to an XML-formatted result; and
- outputting the XML-formatted result.
4. The method of claim 3, wherein transforming the SNMP-formatted result includes performing an extensible Style sheet Transformation (XSLT).
5. A method for processing data, comprising:
- receiving an extensible Mark-up Language (XML)-formatted request for data, the data associated with a Voice over IP (VoIP) device;
- specifying a device IP address in a first argument and a Xpath query in a second argument, the device IP address and the Xpath query based on the XML-formatted request; and
- identifying a Management Information Base (MIB) variable based on the Xpath query.
6. The method of claim 5, the identifying a MIB variable based on a predetermined XML schema.
7. The method of claim 5, further comprising issuing a Simple Network Management Protocol (SNMP) command based on the device IP address and the MIB variable.
8. A method for processing data, comprising:
- receiving Simple Network Management Protocol (SNMP) data, the SNMP data associated with a VoIP device;
- marking up the SNMP data based on an eXtensible Markup Language (XML) schema to create a first XML result; and
- converting the first XML result to a second XML result.
9. The method of claim 8, the converting the first XML result is based on an eXtensible Style sheet Language Transformation (XSLT).
10. The method of claim 8, the converting the first XML result including:
- selecting an eXtensible Style sheet Language Transformation (XSLT) template;
- listing a port number; and
- for the listed port number, listing at least one Media Access Control (MAC) address, the listing a port number and the listing the at least one MAC address based on the XSLT template.
11. The method of claim 8, further comprising outputting the second XML result to a network management system.
12. A machine-readable medium having instructions stored thereon for execution by a processor to perform a method comprising:
- receiving an extensible Mark-up Language (XML)-formatted request for data, the data associated with a Voice over IP (VoIP) device;
- transforming the XML-formatted request to a Simple Network Management Protocol (SNMP)-formatted command; and
- receiving an SNMP-formatted result based on the SNMP-formatted command.
13. A machine-readable medium having instructions stored thereon for execution by a processor to perform a method comprising:
- receiving an extensible Mark-up Language (XML)-formatted request for data, the data associated with a Voice over IP (VoIP) device;
- specifying a device IP address in a first argument and a Xpath query in a second argument, the device IP address and the Xpath query based on the XML-formatted request; and
- identifying a Management Information Base (MIB) variable based on the Xpath query.
14. A machine-readable medium having instructions stored thereon for execution by a processor to perform a method comprising:
- receiving Simple Network Management Protocol (SNMP) data, the SNMP data associated with a VoIP device;
- marking up the SNMP data based on an extensible Markup Language (XML) schema to create a first XML result; and
- converting the first XML result to a second XML result.
15. A system configured to manage a network, comprising:
- a network management system;
- a extensible Network Management Protocol (XNMP) gateway coupled to the network management system; and
- at least one Voice over IP (VoIP) device coupled to the XNMP gateway, the XNMP gateway configured to receive an extensible Markup language (XML) request from the network management system, the XNMP gateway further configured to transform the XML request into an Simple Network Management Protocol (SNMP) command, the XNMP gateway further configured to send the SNMP command to the at least one VoIP device.
16. The system of claim 15, wherein the XNMP gateway includes:
- a processor; and
- a database coupled to the processor, the database having at least one XML schema and at least one XML style sheet.
17. The system of claim 16, wherein the XNMP gateway further includes:
- an interface to the network management system; and
- an interface to the at least one VoIP device.
18. The system of claim 16, wherein the processor is configured to transform the XML request into the Simple Network Management Protocol (SNMP) command using the at least one XML style sheet.
19. The system of claim 16, wherein the processor is configured to transform a SNMP result from the at least one VoIP device using the at least one XML schema, the SNMP result being responsive to the SNMP command.
Type: Application
Filed: Dec 29, 2004
Publication Date: Jul 27, 2006
Inventors: Choon Shim (Ijamsville, MD), Dongwook Shin (Potomac, MD)
Application Number: 11/023,629
International Classification: G06F 15/16 (20060101); G06F 15/173 (20060101);