YANG Module Version Alias and Compatibility Labeling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The YANG data modeling language lacks mechanisms to indicate non-backwards-compatible changes and specify version requirements, leading to rigid or loose module structures that do not fit vendor requirements, and existing versioning schemes fail to distinguish between compatible and non-compatible revisions.
Innovation Solution
The introduction of version alias and backwards compatibility extensions in revision labels allows for the identification of aliases and compatibility between YANG module versions, enabling network devices and users to determine NBC and BC relationships without full schema comparison.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the YANG syntax precludes non-backwards-compatible changes to ensure functional compatibility across revisions, then backwards compatibility is improved, but the ability to adapt to vendor platform changes deteriorates
Solution Approach 1:
The patent introduces version label parameters (NBC and BC flags) that can be set on YANG module revisions to indicate compatibility characteristics. This allows the system to track and communicate compatibility information without changing the core YANG syntax, enabling vendors to adapt their platforms while maintaining awareness of compatibility implications for network devices.
Solution Approach 2:
The patent introduces an intermediary version labeling mechanism that sits between the YANG module revisions and the network devices. These version labels act as a mediator, providing compatibility information to network devices without requiring changes to the YANG modules themselves or the underlying syntax constraints.
2Adaptability or versatility
If the YANG module structure is made loose to allow vendor-specific revisions, then adaptability to vendor requirements is improved, but the ability to ensure functional compatibility across revisions deteriorates
Solution Approach 1:
The patent adds version label parameters to YANG module revisions that explicitly indicate NBC and BC status. This allows loose vendor-specific revisions to be created while maintaining reliability information through the version labels, enabling network devices to make informed decisions about compatibility without restricting vendor adaptability.
3Measurement precision
If full schema comparison is performed to determine compatibility between YANG module versions, then measurement precision of compatibility is improved, but the time and computational resources required deteriorates
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing version label information (NBC and BC flags) with each YANG module revision. This preliminary tagging of compatibility characteristics eliminates the need for time-consuming full schema comparisons at runtime, as network devices can quickly determine compatibility by checking the pre-computed version labels.
Solution Approach 2:
The patent creates a simplified copy of compatibility information in the form of version labels that replicate the essential compatibility characteristics without requiring the full schema. This copy allows rapid compatibility determination without performing complete schema comparisons, significantly reducing time and computational resources while maintaining sufficient precision for compatibility assessment.
Data Source
AI summary
A method includes determining whether the first version is an alias with respect to the second version, the alias being defined as an equivalent version of the YANG module. Based at least in part on a determination that the first version is the alias with respect to the second version, a version alias extension is inserted into a revision label of the first and/or second version. Based on a determination that the second version is backwards compatible with respect to the first version, a version backwards compatible extension is inserted into the revision label of the second version. Based at least in part on a determination that the second version is not backwards compatible with respect to the first version, a version non-backwards compatible extension is inserted into the revision label of the second version.


