Server-side XML-based development environment for network device management applications
First Claim
1. A computer-implemented method for processing XML requests on a router, the method comprising the machine executed steps of:
- generating, at a client element by a first client application, an XML file that includes XML tag information that corresponds to attribute values for each property of a plurality of properties for one or more components that are supported by the router, wherein the XML file is generated based in part on command line interface (CLI) definition files corresponding to each of the one or more components;
receiving, at the client element from a second client application, a request that conforms to a table-based data model to perform an operation on management data maintained by the router,wherein the client application is not XML-aware, andwherein parameters of the request are expressed in name/value pairs;
examining the parameters of the request;
retrieving the XML tag information that corresponds to each of the parameters from the XML file;
generating, by the client element, an XML request based on the parameters of the request from the client application that is not XML-aware, wherein the XML request is generated using the XML tag information;
receiving, at the router from the client, the XML request to perform the operation on the management data maintained in a database by the router;
parsing the XML request to identify one or more XML elements contained in the XML request;
generating one or more data requests based upon the one or more XML elements contained in the XML request; and
processing the one or more data requests against the management data maintained in the database by the router; and
storing updated management data at the router without implementing the updated management data,wherein the one or more data requests comprise a request for a confirmation that updated management data have been implemented by the router in response to a request to commit changes to the management data on the router.
1 Assignment
0 Petitions
Accused Products
Abstract
An end-to-end approach is provided for developing and maintaining network device management applications. The approach includes an XML-based development environment for network device management applications that uses Management Data API (MDA) schemas that define a hierarchical data model for components supported by a network device. The XML-based development environment also uses XML schemas to define a common XML-based interface used by management applications to access management data maintained on the network device. The approach provides programmatic access to network device management data and management data schema with an XML-based data model and interface that is consistent across all network device components. The approach includes mechanisms for automatically generating XML requests that conform to a hierarchical data model from requests that conform to a table-based data model. The approach also includes mechanisms for automatically extracting data from XML replies and conforming to the table-based data model.
75 Citations
20 Claims
-
1. A computer-implemented method for processing XML requests on a router, the method comprising the machine executed steps of:
-
generating, at a client element by a first client application, an XML file that includes XML tag information that corresponds to attribute values for each property of a plurality of properties for one or more components that are supported by the router, wherein the XML file is generated based in part on command line interface (CLI) definition files corresponding to each of the one or more components; receiving, at the client element from a second client application, a request that conforms to a table-based data model to perform an operation on management data maintained by the router, wherein the client application is not XML-aware, and wherein parameters of the request are expressed in name/value pairs; examining the parameters of the request; retrieving the XML tag information that corresponds to each of the parameters from the XML file; generating, by the client element, an XML request based on the parameters of the request from the client application that is not XML-aware, wherein the XML request is generated using the XML tag information; receiving, at the router from the client, the XML request to perform the operation on the management data maintained in a database by the router; parsing the XML request to identify one or more XML elements contained in the XML request; generating one or more data requests based upon the one or more XML elements contained in the XML request; and processing the one or more data requests against the management data maintained in the database by the router; and storing updated management data at the router without implementing the updated management data, wherein the one or more data requests comprise a request for a confirmation that updated management data have been implemented by the router in response to a request to commit changes to the management data on the router. - View Dependent Claims (2, 3)
-
-
4. A computer-implemented method for processing XML requests on a router, the method comprising the machine executed steps of:
-
generating, at a client element by a first client application, an XML file that includes XML tag information that corresponds to attribute values for each property of a plurality of properties for one or more components that are supported by the router, wherein the XML file is generated based in part on command line interface (CLI) definition files corresponding to each of the one or more components; receiving, at the client element from a second client application, a request that conforms to a table-based data model to perform an operation on management data maintained by the router, wherein the client application is not XML-aware, and wherein parameters of the request are expressed in name/value pairs; examining the parameters of the request; retrieving the XML tag information that corresponds to each of the parameters from the XML file; generating, by the client element, an XML request based on the parameters of the request from the client application that is not XML-aware, wherein the XML request is generated using the XML tag information; receiving, at the router from the client, the XML request to perform the operation on the management data maintained in a database by the router; parsing the XML request to identify one or more XML tags contained in the XML request; identifying one or more management data items in the management data that are associated with the one or more XML tags; generating one or more operations to be performed on the one or more management data items, wherein a first operation includes receiving updated management data from the client, and wherein a second operation includes implementing the updated management data on the router in response to a request to commit changes to the management data on the router; processing the one or more operations against the one or more management data items maintained in the database; and generating an XML response and sending the XML response to the client; wherein the XML response contains a confirmation that the first operation and the second operation occurred.
-
-
5. A method for generating schema data used by a router to process XML requests, the method comprising the machine-implemented steps of:
-
generating, at a client element by a first client application, an XML file that includes XML tag information that corresponds to attribute values for each property of a plurality of properties for one or more components that are supported by the router, wherein the XML file is generated based in part on command line interface (CLI) definition files corresponding to each of the one or more components; receiving, at the client element from a second client application, a request that conforms to a table-based data model to perform an operation on management data maintained by the router, wherein the client application is not XML-aware, and wherein parameters of the request are expressed in name/value pairs; examining the parameters of the request; retrieving the XML tag information that corresponds to each of the parameters from the XML file; generating, by the client element, an XML request based on the parameters of the request from the client application that is not XML-aware, wherein the XML request is generated using the XML tag information; receiving schema definition data that defines both a hierarchical data model used by the router and an XML interface used by client to generate XML requests for the router wherein the XML request comprises at least one of; a request to perform one or more operations on the management data maintained in a database by the router, wherein a first operation includes receiving updated management data from the client, and wherein a second operation includes implementing the updated management data on the router;
ora data request, wherein the data request comprises a request for a confirmation that updated management data has been implemented by the router in response to a request to commit changes to management data on the router; processing the schema definition data to generate processed schema definition data; and storing the processed schema definition data on the router.
-
-
6. A machine-readable storage medium for processing XML requests on a router, the machine-readable storage medium carrying instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
generating, at a client element by a first client application, an XML file that includes XML tag information that corresponds to attribute values for each property of a plurality of properties for one or more components that are supported by the router, wherein the XML file is generated based in part on command line interface (CLI) definition files corresponding to each of the one or more components; receiving, at the client element from a second client application, a request that conforms to a table-based data model to perform an operation on management data maintained by the router, wherein the client application is not XML-aware, and wherein parameters of the request are expressed in name/value pairs; examining the parameters of the request; retrieving the XML tag information that corresponds to each of the parameters from the XML file; generating, by the client element, an XML request based on the parameters of the request from the client application that is not XML-aware, wherein the XML request is generated using the XML tag information; receiving, at the router from the client, the XML request to perform the operation on the management data maintained in a database by the router; parsing the XML request to identify one or more XML elements contained in the XML request; generating one or more data requests based upon the one or more XML elements contained in the XML request; and processing the one or more data requests against the management data maintained in the database by the router; and storing updated management data at the router without implementing the updated management data, wherein the one or more data requests comprise a request for a confirmation that updated management data have been implemented by the router in response to a request to commit changes to the management data on the router. - View Dependent Claims (7, 8)
-
-
9. A machine readable storage medium for processing XML requests on a router, the machine-readable storage medium carrying instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
generating, at a client element by a first client application, an XML file that includes XML tag information that corresponds to attribute values for each property of a plurality of properties for one or more components that are supported by the router, wherein the XML file is generated based in part on command line interface (CLI) definition files corresponding to each of the one or more components; receiving, at the client element from a second client application, a request that conforms to a table-based data model to perform an operation on management data maintained by the router, wherein the client application is not XML-aware, and wherein parameters of the request are expressed in name/value pairs; examining the parameters of the request; retrieving the XML tag information that corresponds to each of the parameters from the XML file; generating, by the client element, an XML request based on the parameters of the request from the client application that is not XML-aware, wherein the XML request is generated using the XML tag information; receiving, at the router from the client, the XML request to perform the operation on the management data maintained in a database by the router; parsing the XML request to identify one or more XML tags contained in the XML request; identifying one or more management data items in the management data that are associated with the one or more XML tags; generating one or more operations to be performed on the one or more management data items, wherein a first operation includes receiving updated management data from the client, and wherein a second operation includes implementing the updated management data on the router in response to a request to commit changes to the management data on the router; processing the one or more operations against the one or more management data items maintained in the database; and generating an XML response and sending the XML response to the client; wherein the XML response contains a confirmation that the first operation and the second operation occurred.
-
-
10. A machine-readable storage medium for generating schema data used by a router to process XML requests, the machine-readable storage medium carrying instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
generating, at a client element by a first client application, an XML file that includes XML tag information that corresponds to attribute values for each property of a plurality of properties for one or more components that are supported by the router, wherein the XML file is generated based in part on command line interface (CLI) definition files corresponding to each of the one or more components; receiving, at the client element from a second client application, a request that conforms to a table-based data model to perform an operation on management data maintained by the router, wherein the client application is not XML-aware, and wherein parameters of the request are expressed in name/value pairs; examining the parameters of the request; retrieving the XML tag information that corresponds to each of the parameters from the XML file; generating, by the client element, an XML request based on the parameters of the request from the client application that is not XML-aware, wherein the XML request is generated using the XML tag information; receiving schema definition data that defines both a hierarchical data model used by the router and an XML interface used by client to generate XML requests for the router, wherein the XML request comprises at least one of; a request to perform one or more operations on management data maintained in a database by the router, wherein a first operation includes receiving updated management data from the client, and wherein a second operation includes implementing the updated management data on the router;
ora data request, wherein the data request comprises a request for a confirmation that updated management data has been implemented by the router in response to a request to commit changes to management data on the router; processing the schema definition data to generate processed schema definition data; and storing the processed schema definition data on the router.
-
-
11. An apparatus for processing XML requests on a router, the apparatus comprising a memory storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
generating, at a client element by a first client application, an XML file that includes XML tag information that corresponds to attribute values for each property of a plurality of properties for one or more components that are supported by the router, wherein the XML file is generated based in part on command line interface (CLI) definition files corresponding to each of the one or more components; receiving, at the client element from a second client application, a request that conforms to a table-based data model to perform an operation on management data maintained by the router, wherein the client application is not XML-aware, and wherein parameters of the request are expressed in name/value pairs; examining the parameters of the request; retrieving the XML tag information that corresponds to each of the parameters from the XML file; generating, by the client element, an XML request based on the parameters of the request from the client application that is not XML-aware, wherein the XML request is generated using the XML tag information; receiving, at the router from the client, the XML request to perform the operation on the management data maintained in a database by the router; parsing the XML request to identify one or more XML elements contained in the XML request; generating one or more data requests based upon the one or more XML elements contained in the XML request; and processing the one or more data requests against the management data maintained in the database by the router; and storing updated management data at the router without implementing the updated management data, wherein the one or more data requests comprise a request for a confirmation that updated management data have been implemented by the router in response to a request to commit changes to the management data on the router. - View Dependent Claims (12, 13)
-
-
14. An apparatus for processing XML requests on a router, the apparatus comprising a memory carrying instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
generating, at a client element by a first client application, an XML file that includes XML tag information that corresponds to attribute values for each property of a plurality of properties for one or more components that are supported by the router, wherein the XML file is generated based in part on command line interface (CLI) definition files corresponding to each of the one or more components; receiving, at the client element from a second client application, a request that conforms to a table-based data model to perform an operation on management data maintained by the router, wherein the client application is not XML-aware, and wherein parameters of the request are expressed in name/value pairs; examining the parameters of the request; retrieving the XML tag information that corresponds to each of the parameters from the XML file; generating, by the client element, an XML request based on the parameters of the request from the client application that is not XML-aware, wherein the XML request is generated using the XML tag information; receiving, at the router from the client, the XML request to perform the operation on the management data maintained in a database by the router; parsing the XML request to identify one or more XML tags contained in the XML request; identifying one or more management data items in the management data that are associated with the one or more XML tags; generating one or more operations to be performed on the one or more management data items, wherein a first operation includes receiving updated management data from the client, and wherein a second operation includes implementing the updated management data on the router in response to a request to commit changes to the management data on the router; processing the one or more operations against the one or more management data items maintained in the database; and generating an XML response and sending the XML response to the client; wherein the XML response contains a confirmation that the first operation and the second operation occurred.
-
-
15. An apparatus for generating schema data used by a router to process XML requests, the apparatus comprising a memory storing instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:
-
generating, at a client element by a first client application, an XML file that includes XML tag information that corresponds to attribute values for each property of a plurality of properties for one or more components that are supported by the router, wherein the XML file is generated based in part on command line interface (CLI) definition files corresponding to each of the one or more components; receiving, at the client element from a second client application, a request that conforms to a table-based data model to perform an operation on management data maintained by the router, wherein the client application is not XML-aware, and wherein parameters of the request are expressed in name/value pairs; examining the parameters of the request; retrieving the XML tag information that corresponds to each of the parameters from the XML file; generating, by the client element, an XML request based on the parameters of the request from the client application that is not XML-aware, wherein the XML request is generated using the XML tag information; receiving schema definition data that defines both a hierarchical data model used by the router and an XML interface used by client to generate XML requests for the router, wherein the XML request comprises at least one of; a request to perform one or more operations on management data maintained in a database by the router, wherein a first operation includes receiving updated management data from the client, and wherein a second operation includes implementing the updated management data on the router;
ora data request, wherein the data request comprises a request for a confirmation that updated management data has been implemented by the router in response to a request to commit changes to management data on the router; processing the schema definition data to generate processed schema definition data; and storing the processed schema definition data on the router.
-
-
16. An apparatus for processing XML requests on a router, the apparatus comprising:
-
means for generating, at a client element by a first client application, an XML file that includes XML tag information that corresponds to attribute values for each property of a plurality of properties for one or more components that are supported by the router, wherein the XML file is generated based in part on command line interface (CLI) definition files corresponding to each of the one or more components; means for receiving, at the client element from a second client application, a request that conforms to a table-based data model to perform an operation on management data maintained by the router, wherein the client application is not XML-aware, and wherein parameters of the request are expressed in name/value pairs; means for examining the parameters of the request; means for retrieving the XML tag information that corresponds to each of the parameters from the XML file; means for generating, by the client element, an XML request based on the parameters of the request from the client application that is not XML-aware, wherein the XML request is generated using the XML tag information; means for receiving, at the router from the client, the XML request to perform the operation on the management data maintained in a database by the router; means for parsing the XML request to identify one or more XML elements contained in the XML request; means for generating one or more data requests based upon the one or more XML elements contained in the XML request; and means for processing the one or more data requests against the management data maintained in the database by the router; and means for storing updated management data at the router without implementing the updated management data, wherein the one or more data requests comprise a request for a confirmation that updated management data have been implemented by the router in response to a request to commit changes to the management data on the router. - View Dependent Claims (17, 18)
-
-
19. An apparatus for processing XML requests on a router, the apparatus comprising:
-
means for generating, at a client element by a first client application, an XML file that includes XML tag information that corresponds to attribute values for each property of a plurality of properties for one or more components that are supported by the router, wherein the XML file is generated based in part on command line interface (CLI) definition files corresponding to each of the one or more components; means for receiving, at the client element from a second client application, a request that conforms to a table-based data model to perform an operation on management data maintained by the router, wherein the client application is not XML-aware, and wherein parameters of the request are expressed in name/value pairs; means for examining the parameters of the request; means for retrieving the XML tag information that corresponds to each of the parameters from the XML file; means for generating, by the client element, an XML request based on the parameters of the request from the client application that is not XML-aware, wherein the XML request is generated using the XML tag information; means for receiving, at the router from the client, the XML request to perform the operation on the management data maintained in a database by the router; means for parsing the XML request to identify one or more XML tags contained in the XML request; means for identifying one or more management data items in the management data that are associated with the one or more XML tags; means for generating one or more operations to be performed on the one or more management data items, wherein a first operation includes receiving updated management data from the client, and wherein a second operation includes implementing the updated management data on the router in response to a request to commit changes to the management data on the router; means for processing the one or more operations against the one or more management data items maintained in the database; and means for generating an XML response and sending the XML response to the client; wherein the XML response contains a confirmation that the first operation and the second operation occurred.
-
-
20. An apparatus for generating schema data used by a router to process XML requests, the apparatus comprising:
-
means for generating, at a client element by a first client application, an XML file that includes XML tag information that corresponds to attribute values for each property of a plurality of properties for one or more components that are supported by the router, wherein the XML file is generated based in part on command line interface (CLI) definition files corresponding to each of the one or more components; means for receiving, at the client element from a second client application, a request that conforms to a table-based data model to perform an operation on management data maintained by the router, wherein the client application is not XML-aware, and wherein parameters of the request are expressed in name/value pairs; means for examining the parameters of the request; means for retrieving the XML tag information that corresponds to each of the parameters from the XML file; means for generating, by the client element, an XML request based on the parameters of the request from the client application that is not XML-aware, wherein the XML request is generated using the XML tag information; means for receiving schema definition data that defines both a hierarchical data model used by the router and an XML interface used by client to generate XML requests for the router, wherein the XML request comprises at least one of; a request to perform one or more operations on management data maintained in a database by the router, wherein a first operation includes receiving updated management data from the client, and wherein a second operation includes implementing the updated management data on the router;
ora data request, wherein the data request comprises a request for a confirmation that updated management data has been implemented by the router in response to a request to commit changes to management data on the router; means for processing the schema definition data to generate processed schema definition data; and means for storing the processed schema definition data on the router.
-
Specification