Dynamic Object-Model API Generation for Network Device CLI
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network management and monitoring in complex customer networks is cumbersome due to the complexity of existing APIs, leading to a preference for screen-scraping of command line interfaces, which is inefficient and requires specialized knowledge.
Innovation Solution
A dynamically generated interactive console that provides command line options based on object models from network devices, allowing inexperienced users to interact with various network devices using a standardized library of command line interfaces.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If existing APIs are used for network device management, then network management capabilities are provided, but the complexity of APIs makes them difficult to use and requires specialized knowledge
Solution Approach 1:
The patent introduces an intermediary layer that translates between simple natural language commands and complex API calls. This intermediary handles the complexity internally while presenting a simplified interface to users, resolving the contradiction between ease of operation and API complexity.
Solution Approach 2:
The system creates simplified copies or representations of the complex API functionality through pre-defined command templates and automation scripts. These copies provide the essential functionality without requiring users to understand the underlying complex API structure.
2Productivity
If screen-scraping of command line interface is used, then network device interaction is possible, but it is inefficient and requires specialized knowledge
Solution Approach 1:
The system implements self-service automation where pre-configured templates and scripts automatically perform network device interactions without requiring user intervention or specialized knowledge. The automation handles the complex operations autonomously, improving productivity while eliminating the need for specialized knowledge.
Solution Approach 2:
The patent applies preliminary action by pre-configuring command templates, automation scripts, and translation rules before execution. This preparation work is done in advance, so when users need to interact with network devices, they can simply select from pre-defined options rather than constructing complex commands manually.
3Adaptability or versatility
If complex APIs are used for network management, then comprehensive control is achieved, but usability deteriorates and specialized knowledge is required
Solution Approach 1:
The patent segments the complex API functionality into modular, reusable command templates and automation scripts. Each template handles a specific network management task, making the system adaptable to various scenarios while maintaining usability through standardized, easy-to-select options.
Solution Approach 2:
The system creates universal command templates and automation scripts that can handle multiple network device types and scenarios through a unified interface. This multi-functionality provides comprehensive control capability while maintaining consistent usability across different network management tasks.
Data Source
AI summary
Methods and systems provide a library of various language bindings for application programming interface enabled network devices. The library is generated on-demand based on respective capabilities of a target network device. In these methods, a computing device obtains a selection of a target network device among a plurality of network devices and one or more data models that represent capabilities of the target network device. The computing device generates a library of one or more object models, each of which respectively corresponds to one of the one or more data models. The one or more object models define command line options for interfacing with the target network device. In these methods, the computing device provides a language shell for interacting with the target network device based on the one or more object models in the library.


