US2011131555A1PendingUtilityA1

External programmatic interface for ios cli compliant routers

42
Assignee: CISCO TECH INCPriority: Jul 29, 2005Filed: Feb 8, 2011Published: Jun 2, 2011
Est. expiryJul 29, 2025(expired)· nominal 20-yr term from priority
H04L 41/0226
42
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method of receiving and translating data within an external programmatic interface (EPI) is described. The method calls for receiving input into the EPI. The input is traversed. Where the input is presented in a prescribed format other than CLI, it is translated into a corresponding CLI statement, with reference to a representation of the CLI syntax. Where the input is presented in CLI, it is translated into a corresponding prescribed output format, with reference to a model of the prescribed output format derived from the CLI syntax. The translated input is output.

Claims

exact text as granted — not AI-modified
1 . (canceled) 
     
     
         2 . A method comprising:
 receiving an input command requesting an operation be performed by a routing system;   translating the input command from an extensible markup language (XML) format into a CLI command having a CLI format based on a parse graph corresponding to a CLI parser of the routing system, wherein the CLI parser is configured to analyze CLI commands for proper CLI syntax based on parser code that defines the proper CLI syntax for the CLI commands input to the CLI parser, and wherein the parse graph is generated from the parser code extracted from the CLI parser; and   transmitting the CLI command to the routing system for execution.   
     
     
         3 . The method of  claim 2 , wherein the translating further comprises:
 identifying an end-of-line node for each command attribute associated with the CLI command based on the parse graph; and   recursively traversing the parse graph, starting with the identified end-of-line node and continuing to a root node, to connect CLI nodes, wherein the CLI command is generated based on the connection of the CLI nodes.   
     
     
         4 . The method of  claim 2 , further comprising:
 receiving an output message in a CLI format from the routing system responsive to the transmitted CLI command;   translating the output message from the CLI format into the XML format having the CLI syntax; and   transmitting the output message in the XML format having the CLI syntax to a remote device external from the routing system.   
     
     
         5 . The method of  claim 4 , wherein the translating of the output message further comprises:
 parsing the output message to identify at least one CLI token;   translating each CLI token of the output message into a corresponding XML value according to a stored mapping of CLI tokens-to-XML values; and   generating the output message in the XML format with the XML values.   
     
     
         6 . The method of  claim 4 , further comprising:
 determining the output message received from the routing system is a CLI command having a CLI format;   traversing the parse graph to locate one or more nodes that correspond to the CLI command;   accessing an XML data model to identify object or attribute definitions that corresponds to located nodes; and   constructing a translated output message from the corresponding objects or attributes.   
     
     
         7 . The method of  claim 2 , wherein the input command comprises XML data formatted in accordance with an XML schema of CLI rules and behaviors. 
     
     
         8 . An apparatus including a computer-readable storage device storing instructions configured to cause a processing system to perform operations comprising:
 extracting parser code of a command line interface (CLI) parser, wherein the parser code is configured to define a proper CLI syntax for CLI commands input to a CLI prompt;   converting the parser code into a parse graph having an Extensible Markup Language (XML) format; and   exporting the parse graph to an external programmable interface, wherein the external programmable interface is configured to translate input commands from an extensible markup language (XML) format into a CLI command having a CLI format based on the parse graph.   
     
     
         9 . The apparatus of  claim 8 , wherein the instructions configured to cause the processing system to perform operations further comprising:
 encapsulating parse nodes of the parser with XML tags; and   stitching together the encapsulated parse nodes of the parser code to generate the parse graph.   
     
     
         10 . The apparatus of  claim 8 , wherein the instructions configured to cause the processing system to perform operations further comprising:
 extracting information explicitly within macroinstructions and other information pointed to in the parser code by the macroinstructions; and   encapsulating the information pointed to in the parser code by the macroinstructions with XML tags for inclusion in the parse graph.   
     
     
         11 . The apparatus of  claim 8 , wherein the parser code includes macroinstructions that are hard-coded into the parser code of the CLI parser. 
     
     
         12 . The apparatus of  claim 11 , wherein the instructions configured to cause the processing system to perform operations further comprising identifying elements associated with the macroinstructions that are pointed to but not conspicuously named in the macroinstructions. 
     
     
         13 . The apparatus of  claim 8 , wherein the instructions configured to cause the processing system to perform operations further comprising:
 generating an AND/OR command tree structure from the parse graph; and   outputting an exportable representation of the AND/OR command structure from the processing system.   
     
     
         14 . The apparatus of  claim 13 , wherein the instructions configured to cause the processing system to perform operations further comprising:
 hiding selected information within parse nodes of the parse graph to create condensed parse nodes;   simplifying selected complex patterns in the parse graph to create simplified parse graph patterns;   creating branches on the AND/OR command tree structure from the parse nodes, the condensed parse nodes, and the simplified parse graph patterns.   
     
     
         15 . The apparatus of  claim 13 , wherein the instructions configured to cause the processing system to perform operations further comprising:
 generating a command data model from the AND/OR command tree structure; and   simplifying selected structures within the command data model according to one or more simplification rules, wherein the simplifying creates a simplified command data model that is available for use by an external management system in at least one of device validation or testing processes.   
     
     
         16 . The apparatus of  claim 15 , wherein the command data model is the AND/OR command tree structure is expressed using elements of EBNF (Extended Backus-Naur-Form) notation. 
     
     
         17 . An apparatus comprising:
 a processing system to translate an input command from an extensible markup language (XML) format into a CLI command having a CLI format based on a parse graph generated from the parser code extracted from a CLI parser, wherein the CLI parser is configured to analyze CLI commands for proper CLI syntax based on parser code that defines the proper CLI syntax for the CLI commands input to the CLI parser, and wherein the processing system is configured to transmit the CLI command to the CLI parser.   
     
     
         18 . The apparatus of  claim 17 , wherein the parser code includes macroinstructions that are hard-coded into the parser code of the CLI parser. 
     
     
         19 . The apparatus of  claim 17 , wherein the parser code is configured to define a proper CLI syntax for CLI commands input to a CLI prompt. 
     
     
         20 . The apparatus of  claim 17 , wherein the parse graph is in an Extensible Markup Language (XML) format. 
     
     
         21 . The apparatus of  claim 17 , wherein parse graph generated from the parser code extracted from a CLI parser.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.