External Programmatic Interface for IOS CLI Routers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The IOS CLI interface, while comprehensive and widely supported, is not program-friendly, making it cumbersome to automate router access and configuration, especially for complex scripts and data extraction.
Innovation Solution
A method and system that transform IOS CLI commands into a more structured format, such as a parse graph, AND/OR command tree, and command data model, using a parse chain analyzer and graph-to-command tree transformer, to facilitate easier automation and data extraction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If IOS CLI interface is used for router access and configuration, then comprehensive functionality and wide support are achieved, but program-friendliness and ease of automation deteriorate
Solution Approach 1:
The patent introduces an External Programmatic Interface (EPI) as an intermediary layer between automated systems and the IOS CLI. The EPI translates structured programmatic commands into IOS CLI commands and parses CLI output into structured data formats, enabling automation without requiring direct interaction with the complex CLI interface.
Solution Approach 2:
The patent segments the router interface functionality into two distinct parts: the existing IOS CLI interface that maintains comprehensive functionality, and the new EPI that provides programmatic access. This segmentation allows the CLI to evolve independently while the EPI provides a clean, automated interface.
2Adaptability or versatility
If IOS CLI interface is used for router access and configuration, then comprehensive functionality and wide support are achieved, but ease of automation deteriorates
Solution Approach 1:
The EPI acts as a mediator that enables full automation by translating between structured programmatic commands and the text-based CLI. Automated systems can send high-level commands to the EPI, which handles the complexity of CLI syntax and state management, returning structured results that can be programmatically processed.
Solution Approach 2:
The patent replaces the manual, text-based mechanical interaction with CLI commands with an automated programmatic interface. The EPI substitutes the need for complex scripting and parsing by providing a direct programmatic interface that maintains compatibility with existing CLI functionality.
3Loss of information
If IOS CLI interface is used for data extraction, then access to router information is achieved, but data extraction complexity and cumbersomeness increase
Solution Approach 1:
The EPI intermediary translates CLI output into structured data formats automatically. Instead of requiring programs to parse text-based CLI output manually, the EPI captures the output, structures it according to the command data model, and returns it in a format suitable for programmatic processing, significantly reducing extraction complexity.
4Adaptability or versatility
If IOS CLI interface is used for router configuration, then comprehensive configuration options are available, but script complexity and maintenance burden increase
Solution Approach 1:
The patent segments the configuration interface into the existing comprehensive CLI (which provides all configuration options) and the new EPI (which provides simplified programmatic access). Scripts using the EPI work with high-level commands and structured data, eliminating the need for complex text parsing and state management while preserving access to all CLI configuration capabilities.
Data Source
AI summary
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.


