Systems and methods for improving efficiency of yang-based device configuration

By defining specification data types and equipment specification constraint models in the YANG protocol, the problem of low configuration efficiency of equipment specification data in existing technologies is solved, and efficient constraints and verification of equipment specifications are achieved, thereby improving the accuracy and efficiency of equipment configuration.

CN119487792BActive Publication Date: 2026-01-13HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202280097685.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-29
Publication Date
2026-01-13
Estimated Expiration
2042-07-29

AI Technical Summary

Technical Problem

The existing YANG protocol does not provide an efficient process for constraining device specification data with a unique YANG data model, which makes it impossible for network management systems to accurately configure devices according to their capabilities. This is especially true when dealing with similar devices with different hardware and software specifications, where the configuration process is complex and prone to failure.

Method used

By creating specification data types and device specification constraint models, the device specification data model is defined using the YANG language and shared between the network management system and network devices to achieve efficient constraint and verification of configuration data.

Benefits of technology

It improves the efficiency of equipment configuration, ensures that configuration data conforms to equipment specifications, reduces the risk of configuration failure, and simplifies the management process of the network management system for various devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119487792B_ABST
    Figure CN119487792B_ABST
Patent Text Reader

Abstract

The disclosed systems and methods are used to: (i) create a specification data type using a yet another next generation (YANG) language to indicate device specification data associated with a network device; (ii) create a YANG-based device specification data model using the specification data type; (iii) create a YANG-based device specification constraint model; (iv) share the device specification data model and the device specification constraint model with a network management system and the network device; (v) create or validate device configuration data using the device specification data model and the device specification constraint model.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

[0002] This is the first application submitted for technology that allows for immediate public access. Technical Field

[0003] This invention generally relates to networking, and more particularly to a system and method for improving the efficiency of YANG-based device configuration. Background Technology

[0004] Yet Another Next Generation (YANG) is a data modeling language used to define data transmitted via network management protocols such as Network Configuration (NETCONF) and Representation State Transition Configuration (RESTCONF). The YANG data model describes device capabilities and status, facilitating device configuration through management software.

[0005] The YANG protocol is generally described by the Internet Engineering Task Force (IETF). To date, many YANG standards have been developed and evolved. For example, the Request for Comment (RFC) 6020 (YANG 1.0) and RFC 7950 (YANG 1.1) protocols define YANG. YANG is a data modeling language used to model configuration data, operational data, status data, Remote Procedure Calls (RPCs), and notifications for network management protocols.

[0006] RFC 6241 defines the NETCONF protocol, which provides mechanisms for installing, operating, and deconfiguring network devices. RFC 6241 relies on data encoding based on Extensible Markup Language (XML) to encode configuration data and protocol messages. RFC 6241 also defines the concept of data storage, a conceptual site for storing and accessing information. This is a fundamental concept for binding data models written in the YANG data modeling language with network management protocols such as NETCONF and RESTCONF.

[0007] RFC 8040 defines the RESTCONF protocol, which is an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG using the data storage concepts defined in NETCONF.

[0008] Based on experience gained from the initial, simpler model, the RFC 6244 and RFC 8342 protocols define an architectural framework for data storage, addressing needs that were not adequately supported in the initial model.

[0009] Using a standard data model based on NETCONF / YANG to model configuration and operational status data allows modelers to create data models that define how the data is organized and the constraints imposed on it. In commercial network products, service providers typically offer multiple devices of the same category to meet different market or customer needs. These devices have similar functions and feature sets but different specifications and capabilities, including hardware and software specifications.

[0010] While specifications directly impact device configuration capabilities, typical YANG protocols do not provide an efficient process for constraining device specification configuration data using a unique YANG data model. Without this process, network management (NM) systems are either unable to accurately configure devices based on their capabilities using YANG technology, or unable to manage specification constraints using a unique YANG data model.

[0011] Therefore, people have become interested in improving the efficiency of YANG-based device configuration. Summary of the Invention

[0012] The embodiments of this invention were developed based on the developer's understanding of the shortcomings of existing technologies. For example, using a standard data model based on NETCONF / YANG to model configuration data and operational status data helps create a data model that defines how the data is organized and the constraints on that data. In commercial network products, service providers typically offer multiple devices of the same category to meet different market or customer needs. These devices have similar functions and feature sets but different specifications and capabilities, including hardware and software specifications. While different specifications and capabilities can directly affect device configuration capabilities, typical YANG protocols do not provide an efficient process for constraining configuration data with specification data using a single YANG data model.

[0013] To address this, the developers of this invention designed a specification data type, using which a YANG-based device specification data model and a YANG-based device specification constraint model were created. The created models were then provided to the network management system and network devices. Compared to traditional technologies, the network management system can more efficiently configure a family of network devices using the YANG-based device specification data model and the YANG-based device specification constraint model.

[0014] According to a first general aspect of the present invention, a method is provided. The method includes: creating a specification data type using the Yet Another Next Generation (YANG) language to indicate device specification data associated with a network device; creating a YANG-based device specification data model using the specification data type; creating a YANG-based device specification constraint model; and sharing the device specification data model and the device specification constraint model with a network management system and the network device.

[0015] According to any embodiment of the present invention, the device specification data includes a mixture of configuration data and status data associated with the device specification model.

[0016] According to any embodiment of the present invention, the device specification data assists the network management system and the network device in verifying the configuration data.

[0017] According to any embodiment of the present invention, creating the specification data type includes: setting the value of the config statement to false in the YANG language, creating a YANG specification statement, and setting the value of the specification statement to true.

[0018] According to any embodiment of the present invention, the device specification data model defines the device specifications associated with the network device.

[0019] According to any embodiment of the present invention, the device specification constraint model defines constraint rules, wherein the network management system configures the network device according to the constraint rules.

[0020] According to a second broad aspect of the present invention, a method is provided. The method includes: a network management system creating a connection request to a network device; the network management system confirming the connection with the network device; the network management system receiving device specification data associated with the network device, wherein the device specification data is populated into a device specification data model based on Yetanother Next Generation (YANG) using a specification data type, the specification data type indicating the device specification associated with the network device; and storing the device specification data in a data storage.

[0021] According to any embodiment of the present invention, the method further includes: the network management system receiving a configuration request; the network management system determining when a new configuration corresponding to the configuration request needs to be calculated; and when it is determined that the new configuration needs to be calculated, the network management system calculating the new configuration according to the device specification data and constraint rules defined in the device specification constraint model based on Yet Another Next Generation (YANG), and the network management system sending the new configuration to the network device; and when it is determined that the new configuration does not need to be calculated, the network management system verifying the configuration associated with the configuration request according to the constraint rules and the device specification data, and when the configuration passes verification, the network management system sending the configuration to the network device, and when the configuration fails verification, the network management system rejecting the configuration request.

[0022] According to any embodiment of the present invention, the method further includes: the network management system determining a communication path from the network management system to the network device; when the communication path is determined, the network management system sending at least one of the configuration and the new configuration to the network device; when the communication path is not determined, the network management system rejecting the configuration request.

[0023] According to any embodiment of the present invention, verifying the configuration includes: the network management system determining whether the network device has sufficient resources to implement the configuration based on the device specification data stored in the data storage.

[0024] According to any embodiment of the present invention, the method further includes: updating the data storage using updated device specification data received from the network device.

[0025] According to a third broad aspect of the present invention, a method is provided. The method includes: including a device specification data model based on Yetanother Next Generation (YANG) and a device specification constraint model based on YANG in a network device, wherein the device specification data model includes a specification data type defining device specifications associated with the network device, and the device specification constraint model defines constraint rules; a network management system configures a configuration for the network device according to the constraint rules; the network device uses the specification data type to populate device specification data into the specification data model; the network device receives a connection request from the network management system; the network device confirms the connection with the network management system; and the network device sends the device specification data to the network management system.

[0026] According to any embodiment of the present invention, the method further includes: the network device receiving the configuration from the network management system; the network device verifying the configuration according to a configuration model; when the configuration passes verification according to the configuration model, the network device verifying it according to the device specification data model and the device specification constraint model; when the configuration passes verification according to the device specification data model and the device specification constraint model, the network device accepting the configuration; and when the configuration fails verification according to the device specification data model and the device specification constraint model, the network device rejecting the configuration; and when the configuration fails verification according to the configuration model, the network device rejecting the configuration request.

[0027] According to any embodiment of the present invention, the method further includes: the network device detecting any updates in the device specifications associated with the network device; the network device updating data storage using the updated device specification data; and the network device sending the updated device specification data to the network management system.

[0028] According to a fourth broad aspect of the present invention, a system is provided. The system includes a processor and a memory, wherein the memory includes instructions executable by the processor, and the device is configured via the instructions to perform the various methods disclosed in the present invention.

[0029] According to a fifth broad aspect of the present invention, a computer program is provided. The computer program includes instructions, wherein, when executed on at least one processor in a computing device, the instructions cause the at least one processor to perform the various methods disclosed in the present invention. Attached Figure Description

[0030] Other features and advantages of the present invention will become apparent from the following specific embodiments, taken in conjunction with the accompanying drawings, in which:

[0031] Figure 1 This illustrates an environment including a network device used with the system and method, provided by various embodiments of the present invention;

[0032] Figure 2A A high-level block diagram of components in a client device / network management system provided by various embodiments of the present invention is shown;

[0033] Figure 2B Various embodiments of the present invention are shown. Figure 1 Advanced functional block diagram of server-network devices in a medium environment;

[0034] Figure 3A flowchart illustrating the process corresponding to the method for improving the efficiency of YANG-based device configuration provided by various embodiments of the present invention is shown;

[0035] Figure 4 A high-level functional block diagram of a computer system provided in various embodiments of the present invention is shown;

[0036] Figure 5 Flowcharts illustrating processes corresponding to methods for improving the efficiency of client devices / network management systems, provided by various embodiments of the present invention;

[0037] Figure 6 Flowcharts illustrating processes corresponding to methods for improving the efficiency of server-network devices, provided by various embodiments of the present invention, are shown.

[0038] Figures 7 to 9 Representative examples of equipment specification data models, equipment specification constraint models, and equipment specification data provided in various non-limiting embodiments of the present invention are shown respectively;

[0039] Figures 10 to 12 Representative examples of equipment specification data models, equipment specification constraint models, and equipment specification data provided by various non-limiting embodiments of the present invention are shown respectively.

[0040] It is understood that in all the drawings and corresponding descriptions, the same features are identified by the same reference numerals. Furthermore, it is understood that the drawings and the following description are for illustrative purposes only, and that this disclosure does not limit the scope of the claims. Detailed Implementation

[0041] This invention aims to address at least some of the shortcomings of existing technologies. Specifically, this invention describes a system and method for improving the efficiency of YANG-based device configuration.

[0042] Unless otherwise defined or specified in the context, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the described embodiments pertain.

[0043] In the context of this specification, a "client device / network management system" is one or a set of applications used for manually or automatically identifying, configuring, monitoring, updating, and troubleshooting network devices. Therefore, some (non-limiting) examples of client devices / network management systems can be deployed on computer servers, computer clusters, workstations, personal computers (desktops, laptops, netbooks, etc.), smartphones, and tablets, and can be web-based applications usable by clients. Furthermore, it is conceivable that client devices / network management systems can be automated systems in network automation and autonomous driving network scenarios. In some non-limiting embodiments, a client device / network management system can be a Software Defined Networking (SDN) controller, an Element Management System (EMS), or a Craft Interface (CI) client, etc. It should be noted that using a device as a client device / network management system in this context does not preclude the use of server-network devices as other client devices / network management systems. The use of the term "client device / network management system" does not preclude the use of multiple client devices / network management systems to receive / send, perform, or cause the performance of any task or request, or the consequences of any task or request, or the steps of any methods described herein.

[0044] In the context of this specification, unless otherwise expressly stated, the terms “first,” “second,” “third,” etc., are used as adjectives solely to distinguish the nouns they modify, and not to describe any specific relationship between these nouns. Therefore, for example, it should be understood that the use of the terms “first processor” and “third processor” does not imply any specific order, type, chronological order, hierarchy, or ranking (for example) between server-network devices, nor does the use of these terms (in themselves) imply the necessity of the existence of any “second server-network device” in any given situation. Furthermore, as discussed elsewhere in this document, references to “first” and “second” elements do not preclude the two elements from being the same actual real-world element. Thus, for example, in some cases, a “first” server-network device and a “second” server-network device may be the same software and / or hardware, while in others they may be different software and / or hardware.

[0045] Understandably, when an element is described as "connected" or "coupled" to another element, that element can be directly or indirectly connected or coupled to other elements or possible intermediary elements. Conversely, when an element is described as "directly connected" or "directly coupled" to another element, there are no intermediary elements. Other terms used to describe the relationship between elements (e.g., "between" and "directly between," "adjacent" and "directly adjacent," etc.) should be interpreted similarly.

[0046] In the context of this specification, when an element is referred to as being “associated” with another element, in some embodiments the two elements may be directly or indirectly linked, related, connected, coupled, or the second element may adopt the first element, etc., without limiting the scope of the invention.

[0047] The terminology used herein is for the purpose of describing specific, representative embodiments only and is not intended to limit the technology. The singular forms “a” and “the” used herein also include the plural forms unless the context clearly indicates otherwise. It will be further understood that the term “comprises” as used herein indicates the presence of the stated features, integers, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or combinations thereof.

[0048] All implementations of this technology have at least one of the aforementioned objectives and / or aspects, but not necessarily all of them. It should be understood that some aspects of this technology were created in an attempt to achieve the aforementioned objectives, and these aspects may not satisfy those objectives and / or may satisfy other objectives not specifically described herein.

[0049] The examples and conditional language described herein are primarily intended to help the reader understand the principles of this technology, rather than to limit its scope to these specific examples and conditions. It is understood that those skilled in the art can design various devices that, while not explicitly described or shown herein, embody the principles of this technology and are included within its spirit and scope.

[0050] Furthermore, to aid understanding, the following description illustrates a relatively simplified implementation of this technology. Those skilled in the art will understand that various implementations of this technology may involve greater complexity.

[0051] In some cases, beneficial examples of modifications to this technology may also be provided. This is done merely to aid understanding, and not to define the scope or limits of this technology. These modifications are only examples, and those skilled in the art can make other modifications without exceeding the scope of this technology. Furthermore, where no examples of modifications are provided, it should not be construed as impossible to modify and / or as the only way to implement the elements of this technology.

[0052] Furthermore, all statements herein describing the principles, aspects, and implementations of the present technology, and specific examples thereof, are intended to cover their structural and functional equivalents, whether they are currently known or will be developed in the future. Therefore, for example, it will be understood by those skilled in the art that any block diagram herein is a conceptual view of an illustrative circuit embodying the principles of the present technology. Similarly, it will be understood that any flowchart, diagrammatic flowchart, state transition diagram, pseudocode, etc., represents various processes that can be substantially represented in a computer-readable medium and therefore executed by a computer or processor, whether or not such computer or processor is explicitly shown.

[0053] The functionality of the various elements shown in the figure (including any functional blocks labeled "processor" or "processing unit") can be provided by using dedicated hardware and hardware capable of executing software in association with appropriate software. When a processor provides functionality, this functionality can be provided by a single dedicated processor, a single shared processor, or multiple separate processors, some of which may share resources. In some embodiments of this technology, the processor can be a general-purpose processor, such as a central processing unit (CPU), or a purpose-specific processor, such as a graphics processing unit (GPU). Furthermore, the explicit use of the terms "processor" or "controller" should not be construed as referring specifically to hardware capable of executing software, but may also implicitly include, but is not limited to, digital signal processor (DSP) hardware, network processors, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), read-only memory (ROM), random access memory (RAM), and non-volatile memory for storing software. Other conventional and / or custom hardware may also be included.

[0054] In the context of this specification, the term "data" includes data of any nature or kind that can be stored in a database (which may also be referred to as a data store). Therefore, data includes, but is not limited to, audiovisual works (images, films, recordings, presentations, etc.), data (location data, digital data, etc.), text (opinions, comments, questions, messages, etc.), documents, spreadsheets, etc.

[0055] In the context of this specification, unless otherwise expressly stated, "database" means any structured collection of data, without regard to the specific structure of the database, the database management software, or the computer hardware that stores, implements, or otherwise presents the data for use. A database may reside on the same hardware as the processes that store or use the information stored in the database, or it may reside on separate hardware, such as a dedicated server-network device or multiple server-network devices.

[0056] Software modules, or modules or units represented as software, may be represented herein as flowchart elements or any combination of other elements indicating steps of execution and / or textual descriptions. These modules may be executed by hardware, whether explicitly or implicitly shown.

[0057] Based on these fundamental principles, this invention aims to address at least some of the shortcomings of existing technologies. Specifically, this invention describes a system and method for improving the efficiency of YANG-based device configuration.

[0058] As mentioned above, YANG is a data modeling language used to define data transmitted via network management protocols such as NETCONF and RESTCONF. The YANG data modeling language is maintained by the Network Modeling (NETMOD) working group within the Internet Engineering Task Force (IETF). YANG data models can model both configuration data and status data of network devices.

[0059] Modeling configuration and operational status data using the NETCONF / YANG standard data model helps create a data model that defines how the data is organized and the constraints on that data. In commercial network products, service providers typically offer multiple devices of the same category to meet different market or customer needs. These devices have similar functions and feature sets but different specifications and capabilities, including hardware and software specifications.

[0060] Here are some examples of the associated specifications and capability differences among various devices that may directly or indirectly affect configuration data:

[0061] i. In one example, various Multiprotocol Label Switching (MPLS) routers support 1000 Resource Reservation Protocol (RSVP) Label Switching Paths (LSPs). In another example, the enhanced model supports 100,000 RSVP LSPs, which share system memory with other services.

[0062] CPU time and interface bandwidth;

[0063] ii. In one example, an optical service board supports up to two port groups. Each port group can support up to four ports, and the ports in each port group can share one cross-connect chip. Each cross-connect chip can support up to 10Gbps of data. Other optical service boards of the same category support up to four port groups. Each port group can support up to eight ports, and the ports in each port group...

[0064] They can share one cross-connect chip, and each cross-connect chip can support data speeds up to 40Gbps;

[0065] iii. In one example, a wireless base station can support up to 400 user equipment (UEs) with up to 100

[0066] Real-time connections. In another example, a wireless base station with less memory and a slower CPU within the same family can support up to 200 UEs.

[0067] It has up to 20 real-time connections;

[0068] iv. In one example, a network gateway with a silver license can support data rates up to 20Gbps and 300 access control rules. In another example, a network gateway with a gold license can support data rates up to 80Gbps and 6000 access control rules.

[0069] Although specifications can directly affect device configuration capabilities, typical YANG protocols do not provide an efficient process for constraining configuration data with a unique YANG data model.

[0070] For example, without knowing the device's capabilities and specifications, the network management (NM) might send invalid configurations that exceed the device's capabilities and could be rejected by the device. In a network-wide configuration transaction, when one device in the network rejects a configuration change, it may require all other devices in the network that have made the requested changes to roll back those changes, and may require the NM to provide / compute a new configuration.

[0071] The following section discusses some non-restricted scenarios for NM (Network Manager) managing devices. One such scenario might be that an NM manages two devices of the same category: device (A) and device (B). Both device (A) and device (B) support a service (X). Supporting service (X) requires one resource (M) from both device (A) and device (B). Based on hardware capabilities, device (A) has 1000 resources (M), while device (B) has 100000 resources (M).

[0072] The problem with the above scenario is that NM needs to detect different specification data and avoid configuring 1001 services (X) for device (A) because device (A)'s resources (M) are constrained to 1000. Furthermore, it's best to ensure that information associated with device capabilities is consistent with NM. If device (A) and device (B) are modeled using different YANG data models, NM may lose the ability to use a common model for multiple devices in the same family that support the same set of features. However, different specifications and / or capabilities can complicate NM software, especially when there is a wide variety of devices.

[0073] Another scenario could be that an NM manages a device (C) that supports services (X) and (Y). Service (X) requires one resource (P), one resource (Q), and one resource (R) from device (C). Similarly, service (Y) requires one resource (P), one resource (Q), and one resource (R) from device (C). Depending on hardware capabilities, device (C) might have 50 resources (P), 120 resources (Q), and 200 resources (R).

[0074] The problem in the above scenario is how to coordinate the configuration between services (X) and services (Y). For example, due to resource (Q) constraints, it is best to require NM to avoid configuring 40 services (X) and 90 services (Y), because the number of resources (Q) is 120, and the device (C) may not be able to configure any additional services for itself.

[0075] Traditional techniques used to configure devices can complicate the configuration process.

[0076] Therefore, there has been interest in developing systems and methods to improve the efficiency of YANG-based device configuration.

[0077] Figure 1 An environment 100, including network devices used with systems and methods, is illustrated according to various embodiments of the present invention. Environment 100 may include multiple server-network devices 114 (only one server-network device 114 is shown for simplicity) and multiple client devices / network management systems 110 located in different geographical locations (only one client device / network management system 110 is shown for simplicity), which are used to communicate with each other via a communication network 112. In some embodiments, the multiple client devices / network management systems 110 may be associated with individual users (e.g., users of personal computers, laptops, or desktops, etc.) or parts of a network (e.g., client devices / network management systems in an organization, etc.).

[0078] Figure 2A A high-level block diagram of the components in a client device / network management system 110 provided in various embodiments of the present invention is shown. It should be understood that... Figure 2A The illustration provided is only one implementation of the client device / network management system 110 and does not imply any limitation on the environment in which different embodiments can be implemented. Many modifications can be made to the described environment to implement the client device / network management system 110 without departing from the principles set forth herein. Those skilled in the art will understand that the client device / network management system 110 can be a server-network device, a desktop computer, a laptop computer, or any device that can be used to implement this technology.

[0079] As shown in the figure, the client device / network management system 110 uses one or more processors 202, one or more computer-readable random access memory (RAM) 204, one or more computer-readable read-only memory (ROM) 206, one or more computer-readable storage media 208, device drivers 214, read / write (R / W) driver interfaces 216, and network interfaces 218, all of which are interconnected through a communication structure 220. The communication structure 220 can be implemented by any architecture designed for transmitting data and / or control information between processors (e.g., microprocessors, communication and network processors, etc.), system memory, peripheral devices, and any other hardware components within the system.

[0080] One or more operating systems 210 and one or more application programs 212 are stored in one or more computer-readable storage media 208 for execution by one or more processors 202 via one or more corresponding RAMs 204 (typically including cache memory). In the illustrated embodiment, each computer-readable storage medium 208 may be a disk storage device such as an internal hard disk, CD-ROM, DVD, Memory Stick, magnetic tape, disk, optical disk, semiconductor storage device such as RAM, ROM, EPROM, flash memory, or any other computer-readable tangible storage device capable of storing computer programs and digital information.

[0081] R / W drive interface 216 reads from and writes to one or more portable computer-readable storage media 226. Application program 212 may relate to improving the efficiency of YANG-based device configuration and is stored in one or more portable computer-readable storage media 226, read from and loaded into the corresponding computer-readable storage media 208 via the corresponding R / W drive interface 216.

[0082] Furthermore, network interface 218 can be based on a TCP / IP adapter card or a wireless communication adapter (e.g., a 4G wireless communication adapter using OFDMA technology). Application 212 in client device / network management system 110 can be downloaded to client device / network management system 110 from an external computer or external storage device via a communication network (e.g., the Internet, LAN, or other WAN or wireless network) and network interface 218. Application 212 can be loaded from network interface 218 onto computer-readable storage medium 208. Client device / network management system 110 can connect to routers, firewalls, switches, gateway computers, and / or edge server-network devices in the communication network using methods such as copper wire, fiber optic, and wireless transmission.

[0083] The client device / network management system 110 may also include a display screen 222, a keyboard or keypad 224, and a computer mouse or touchpad 228. The device driver 214 may be connected to the display screen 222 for imaging, to the keyboard or keypad 224, to the computer mouse or touchpad 228, and / or to the display screen 222 (which may be a touch-sensitive display) for inputting alphanumeric characters and making user selections. The device driver 214, R / W driver interface 216, and network interface 218 may include hardware and software (stored in computer-readable storage media 208 and / or ROM 206).

[0084] Figure 2B Various embodiments of the present invention are shown. Figure 1A high-level functional block diagram of server-network device 114 within environment 100. In one embodiment, server-network device 114 can be a device that integrates an Internet router, a Multiprotocol Label Switching (MPLS) router or switch, a Multi-Service Provisioning Platform (MSPP), a Digital Cross-Connect (DCS), an Ethernet and / or Optical Transport Network (OTN) switch, a Wave Division Multiplexing (WDM) / DWDM platform, a Packet Optical Transport System (POTS), etc., into a single high-capacity intelligent switching system. In another embodiment, server-network device 114 can be any of the following: an OTN Add / Drop Multiplexer (ADM), a Multi-Service Provisioning Platform (MSPP), a Digital Cross-Connect (DCS), an Optical Cross-Connect, a POTS, an optical switch, a router, a switch, a WDM / DWDM terminal, an access / aggregation device, a wireless base station, etc. In other words, the server-network device 114 can be any of digital, wireless (radio frequency, RF) and / or optical systems, including functions such as switching channels, time slots, tributary units, wavelengths, etc. Furthermore, the server-network device 114 can be a physical device and a virtual device (e.g., a Virtual Network Function (VNF)).

[0085] It is conceivable that server-network device 114 can communicate with other server-network devices 114, including but not limited to software-defined networking (SDN) controllers, orchestrators, network management systems (NMS), and element management systems (EMS).

[0086] In some non-limiting embodiments, the server-network device 114 may include a processor 252, a memory 254, and a network interface 256. It should be noted that the server-network device 114 may include other components, but for simplicity, these components are not listed here. Figure 2B As shown in the image.

[0087] In some non-limiting embodiments, the processor 252 in the server-network device 114 may include one or more of a CPU, accelerator, microprocessor, GPU, ASIC, FPGA, dedicated logic circuit, dedicated artificial intelligence processor unit, or a combination thereof.

[0088] Memory 254 may include volatile memory (e.g., RAM) and non-volatile or non-transient memory (e.g., flash memory, magnetic storage, and / or ROM). One or more non-transient memories store the platform for the overall operation of the control server-network device 114. When executed by processor 252, this platform implements applications related to improving the efficiency of YANG-based device configuration.

[0089] Network interface 256 may include one or more wireless transceivers for wireless communication with communication network 112, or one or more network adapters for wired communication with communication network 112. Generally, network interface 256 may be used to correspond to a network architecture for implementing a link for communication between server-network device 114 and communication network 112. In some embodiments, network interface 256 may be implemented similarly to network interface 218.

[0090] Server-network device 114 may include a system bus 258 for communicatively coupling processor 252, memory 254, and network interface 256. For example, system bus 258 may be a backplane, middleboard, bus, optical connector, and / or electrical connector.

[0091] It should be noted that server-network device 114 is shown as a standalone computer. However, various other implementations of the present invention may include any client-server-network device model, wherein the client device / network management system 110 may run a client version of an application related to improving the efficiency of YANG-based device configuration. Other examples of server-network device 114 may include a distributed computing system running a server-network device version of an application related to improving the efficiency of YANG-based device configuration, a virtual machine (or multiple virtual machines) instantiated by public or private cloud infrastructure, or a cloud service provider offering the application related to improving the efficiency of YANG-based device configuration as a service (SaaS). These implementations or any other similar implementations should not limit the scope of the present invention.

[0092] In various non-limiting embodiments, the client device / network management system 110 can be used to provide various configurations to the server-network device 114. As described above, for simplicity, only one server-network device 114 is shown. In various non-limiting embodiments, the server-network device 114 may include multiple server-network devices 114. Furthermore, the multiple server-network devices 114 may have the same or different specifications and / or capabilities, including hardware and software specifications.

[0093] The various techniques discussed in this invention can be used to extend YANG data types, YANG data storage, and network management data storage architectures to improve the efficiency of YANG-based device configuration.

[0094] Various non-limiting embodiments of the present invention may rely on the same YANG data model for a given family of devices, rather than on different YANG data models for each device. In other words, devices belonging to the same family but with different specifications and / or capabilities (e.g., multiple server-network devices 114) may share the same YANG data model. According to various non-limiting embodiments, the YANG data model may include a data pattern through which differences in device specifications and capabilities among the multiple server-network devices 114 can be carried by filled data.

[0095] In various non-limiting embodiments, hidden or hard-coded background information associated with the specifications and capabilities of the multiple server-network devices 114 may be replaced using a structured data model. This could result in the decoupling of the multiple server-network devices 114 from the client devices / network management system 110, standardization of management interfaces, and improved device interoperability and network programmability.

[0096] Furthermore, unlike the static hardcoding or transmission of device specifications and capabilities through traditional proprietary methods (e.g., hardcoding with XML, Excel spreadsheets, YAML files, formatted text files, etc.), in various non-limiting embodiments, device specifications and capabilities can be transmitted to the client device / network management system 110 using modeling data instead of the YANG data model itself. This technology can migrate specification data from a static model schema to dynamic modeling data and allows for real-time updates of device specification and capability changes to the client device / network management system 110.

[0097] In addition to using the same specification and constraint model to handle specification data discrepancies, Environment 100 can also rely on a centralized specification data store to manage all device resources. The device specification and constraint model can be used to describe the constraint rules between specification data and configuration data in a structured schema. The specification and constraint model can cross-reference specification data to validate configuration data. In this way, each business / feature may only need to focus on its own resources without needing to evaluate dependencies across businesses / features. In other words, the specification and constraint model can be a centralized place to coordinate resources across businesses / features.

[0098] Figure 3 A flowchart of process 300, representing a method for improving the efficiency of YANG-based device configuration, is shown in various embodiments of the present invention.

[0099] It should be noted that process 300 can be performed on any suitable computer system (e.g., Figure 4 The computer system 400 shown is implemented on a computer system including one or more processors and one or more storage elements. The one or more storage elements can be used to store instructions that, when implemented by the one or more processors, cause the one or more processors to execute method 300. In some non-limiting embodiments, the computer system 400 can be implemented in conjunction with the client device / network management system 110 (previously implemented on...). Figure 2A The implementation method is similar to that discussed earlier. In other words, the components included in the computer system 400 can be similar to those included in the client device / network management system 110.

[0100] Furthermore, the computer system 400 can be used to communicate with the client device / network management system 110 and the server-network device 114 using any suitable communication technology (e.g., wireless communication technology or wired communication technology, etc.). Although the computer system 400 is shown as a separate system, the computer system 400 can be implemented on the client device / network management system 110 or on the server-network device 114 without limiting the scope of the invention.

[0101] Process 300 begins at step 302, in which computer system 400 uses the YANG language to create specification data types to indicate device specification data associated with server-network device 114.

[0102] As described above, the YANG data model can be used to model the configuration and status data of server-network device 114. Generally, configuration data includes a set of writable data for server-network device 114 required to transform it from an initial state to its current state. Status data includes other data of server-network device 114 that is not configuration data, such as read-only status information and collected statistics. Computer system 400 can create specification data types to indicate the device specifications associated with server-network device 114.

[0103] In some non-limiting embodiments, server-network device 114 may use a specification data type to provide client device / network management system 110 with information associated with the specifications of server-network device 114. Specifications may include multiple resources of a given type present in server-network device 114. For example, resources may include processors, storage elements, application contexts, handles, link bandwidth, or chipset throughput bandwidth, etc. How server-network device 114 populates device specifications into the specification data type will be discussed later in this invention.

[0104] In some non-limiting embodiments, device specifications may include a mixture of features of configuration data and status data associated with a device specification model. Similar to configuration data, device specification data can participate in configuration data verification. Device specification data can assist client device / network management system 110 and server-network device 114 in verifying configuration data. In some non-limiting embodiments, when client device / network management system 110 initiates the configuration of server-network device 114 using certain services (e.g., optical path, OTN path, RSVP tunnel, Layer 2 Provider Provisioned Virtual Private Network (L2VPN) service, Layer 3 Provider Provisioned Virtual Private Network (L3VPN) service, or wireless call connection, etc.), server-network device 114 can determine, based on the device specification data, whether it is possible to configure a given service for server-network device 114.

[0105] Furthermore, similar to operational data, from an operator's perspective, the client device / network management system 110 may not be able to write device specification data. However, the server-network device 114 may optionally write device specification data using a specification data type. In some non-limiting embodiments, the server-network device 114 may write device specification data when it is in factory mode and about to initiate initial communication with the client device / network management system 110.

[0106] In some non-limiting embodiments, the computer system 400 can create a specification data type by setting the value of a “config” statement in the YANG language to “false”. The computer system 400 can create a YANG “specification” statement and can set the value of the “specification” statement to “true”.

[0107] In other non-limiting embodiments, the computer system 400 may set the value of the "config" statement to "true". However, in these embodiments, the computer system 400 may use access control to prevent operators of the client device / network management system 110 from writing access to the "config" statement.

[0108] Process 300 proceeds to step 304, where computer system 400 creates a YANG-based device specification data model using the specification data type. Computer system 400 may include the specification data type in the YANG-based device specification data model. Therefore, the device specification data model can define the device specifications associated with network devices. For example, the device specification model may describe the device type and quantity associated with server-network device 114.

[0109] Process 300 proceeds to step 306, where computer system 400 creates a YANG-based device specification constraint model. The YANG-based constraint model can define constraint rules that client device / network management system 110 can use to configure server-network device 114. These constraint rules may include information associated with the device resources required by client device / network management system 110 to perform services configured on server-network device 114, and these device resources are associated with server-network device 114.

[0110] It should be noted that how the computer system 400 creates the equipment specification data model and the equipment specification constraint model should not limit the scope of this invention. In some non-limiting embodiments, the modeling of the equipment specification data model and the equipment specification constraint model may rely on the existing YANG language, including the standard language syntax and user-extended syntax.

[0111] In some non-limiting embodiments, the range of constraints on device specification data can be modeled using standard or extended YANG data types and constraint statements. For example, for a family of server-network devices 114, the total bandwidth constraint for each member device in these server-network devices 114 is 400G. This constraint can be modeled using YANG statements (but not limited to "range", "pattern", "max-elements", "min-elements", "default", and "must").

[0112] In some non-limiting embodiments, constraints between specification data (e.g., dependencies, resource sharing, etc.) can be modeled using standard or extended YANG constraint statements. For example, a subrack-level cross-connect capability of 800G with a maximum of 114 for a family of server-network devices with full-size subracks can be modeled using "when" and "must" YANG statements.

[0113] In some non-limiting embodiments, constraints between resources and services / features can be modeled using standard or extended YANG constraint statements. For example, when configuring a new optical cross-connect on a family of server-network devices 114, each member device can have different specification constraints. For instance, the total Network Element (NE) level cross-connections can not exceed the NE cross-connection specification limit, the total Subrack level cross-connections can not exceed the subrack cross-connection specification limit, the total service board level bandwidth can not exceed the board bandwidth specification limit, the total service board level cross-connections can not exceed the connection port bandwidth specification limit, and so on. These constraints can use, but are not limited to, XPATH 1.0 expressions defined in YANG, and cross-module constraints can be implemented using the "when" and "must" statements in YANG.

[0114] It should be noted that the location where the constraint rules are implemented should not limit the scope of this invention. In some non-limiting embodiments, the computer system 400 may include the constraint rules in one or more of the device specification data model, device specification constraint model, and service / feature model. In some non-limiting embodiments, the computer system 400 may store the constraint rules in a separate YANG file that includes YANG enhancement statements to extend the above-described models.

[0115] Alternatively, in some non-limiting embodiments, the computer system 400 may rely on W3C standard query languages ​​to simplify modeling. The computer system 400 may be the XPATH standard XPATH 2.0, XPATH 3.0, XPATH 3.1, XQUERY, or other query languages.

[0116] Finally, process 300 proceeds to step 308, where computer system 400 can share the device specification data model and device specification constraint model with client device / network management system 110 and server-network device 114. It should be noted that how computer system 400 shares the device specification data model and device specification constraint model should not limit the scope of this invention. In some embodiments, sharing can be performed over a wireless communication channel. In other embodiments, sharing can be performed over a wired communication channel. Sharing may be referred to as sending the device specification data model and device specification constraint model from computer system 400 to client device / network management system 110 and server-network device 114. Client device / network management system 110 and server-network device 114 can be used to install the device specification data model and device specification constraint model.

[0117] In some non-limiting embodiments, computer system 400 may statically publish the device specification data model and device specification constraint model to a server or cloud. Client device / network management system 110 and server-network device 114 may download the device specification data model and device specification constraint model from the server or cloud.

[0118] In some non-limiting embodiments, the computer system 400 may provide the device specification data model and device specification constraint model as part of the device software package. In some embodiments, the client device / network management system 110 and the server-network device 114 may obtain the device specification data model and device specification constraint model from the device software package. In other embodiments, the client device / network management system 110 and the server-network device 114 may obtain the device specification data model and device specification constraint model from NETCONFRPC "get-schema" at runtime.

[0119] Figure 5 A flowchart illustrating a process 500 corresponding to a method for improving the efficiency of a client device / network management system 110, as provided in various embodiments of the present invention, is shown. Process 500 can be implemented on the client device / network management system 110.

[0120] Process 500 begins at step 502, where the client device / network management system 110 creates a connection request to the server-network device 114. In some non-limiting embodiments, the client device / network management system 110 may send the connection request to the server-network device 114. How the connection request is created and sent should not limit the scope of the invention.

[0121] Process 500 proceeds to step 504, where the client device / network management system 110 acknowledges the connection with the server-network device 114. In some non-limiting embodiments, based on the connection request received from the client device / network management system 110, the server-network device 114 may send an acknowledgment signal to the client device / network management system 110. In some non-limiting embodiments, the acknowledgment may be based on a NETCONF / RESTCONF handshake. Based on the acknowledgment signal, the client device / network management system 110 may acknowledge the connection with the server-network device 114.

[0122] Process 500 proceeds to step 506, where the client device / network management system 110 receives device specification data associated with the server-network device 114. In some non-limiting embodiments, after a connection is established between the client device / network management system 110 and the server-network device 114, the server-network device 114 may provide the associated device specification data to the client device / network management system 110. The device specification data may be populated by the server-network device 114 into a YANG-based device specification data model using a specification data type. As described above, the specification data type can indicate the device specifications associated with the server-network device 114.

[0123] Process 500 proceeds to step 508, where the client device / network management system 110 stores device specification data in a centralized data store. The client device / network management system 110 can query the data store to verify configuration requests. In the centralized data store for all device specification data, each configuration / service / feature may need to focus on its own resources without any cross-configuration / service / feature dependencies.

[0124] In some non-limiting embodiments, the client device / network management system 110 may receive configuration requests. Configuration requests may be referred to as configuration operations requested by the operator of the client device / network management system 110, network automation API calls of advanced applications, or any similar operations requesting changes to the configuration of the client device / network management system 110. Such changes may be referred to as adding, deleting, or modifying parameters.

[0125] The client device / network management system 110 can determine whether a new configuration corresponding to the configuration request needs to be calculated. In some non-limiting embodiments, if it is determined that a new configuration needs to be calculated, the client device / network management system 110 can calculate the new configuration based on device specification data and constraint rules. The client device / network management system 110 can then send the new configuration to the server-network device 114.

[0126] In some non-limiting embodiments, if it is determined that no new configuration should be computed, the client device / network management system 110 can verify a configuration associated with the configuration request based on constraint rules and device specification data. In some non-limiting embodiments, to verify such a configuration, the client device / network management system 110 can determine whether the server-network device 114 has sufficient resources to implement such a configuration based on the device specification data stored in the data store.

[0127] If the configuration passes verification, the client device / network management system 110 can send the configuration to the server-network device 114. On the other hand, if the configuration fails verification, the client device / network management system 110 can reject the configuration request.

[0128] Once this configuration is verified, in some non-limiting embodiments, the client device / network management system 110 can determine the communication path from the client device / network management system 110 to the network-server device 114. When the communication path is determined, the client device / network management system 110 can send at least one of the above-described configuration and the new configuration to the server-network device 114. Sending at least one of the above-described configuration and the new configuration can be a process of allocating network settings, policies, flow and control rules to provide services or identifiable portions of services. However, if the communication path is not determined, the client device / network management system 110 can reject the configuration request.

[0129] Figure 6 A flowchart illustrating a process 600 corresponding to a method for improving the efficiency of a server-network device 114, as provided in various embodiments of the present invention, is shown. Process 600 can be implemented on the server-network device 114.

[0130] Process 600 begins at step 602, where a YANG-based device specification data model and a YANG-based device specification constraint model are included in the server-network device 114. As described above, the computer system 400 can provide the device specification data model and the device specification constraint model to the server-network device 114. Furthermore, the device specification data model can include specification data types. The server-network device 114 can use specification data types to define associated device specifications. Additionally, the device specification constraint model can define constraint rules, which the client device / network management system 110 can use to configure a configuration for the server-network device 114.

[0131] Process 600 proceeds to step 604, where server-network device 114 uses a specification data type to populate specification data into the device specification data model. As described above, the device specification data can indicate the device specifications associated with server-network device 114.

[0132] It should be noted that the method of filling in the server-network device 114 should not limit the scope of the present invention. In some non-limiting embodiments, the server-network device 114 may rely on internal network management software (e.g., it may have a special access permission mode or a factory mode) to change and / or fill in the device specification data. In the network management software, under the special access permission mode, the device specification data can be processed in the same way as the configuration data on the client device / network management system 110 and the server-network device 114.

[0133] In some non-limiting embodiments, the server-network device 114 may rely on build scripts or software applications to populate data using built-in software data. In some non-limiting embodiments, the server-network device 114 may rely on build scripts or software applications to populate data with the help of a product specification server, a product specification spreadsheet, or any other suitable data file format and data source.

[0134] In some non-limiting embodiments, device specification data may be created during the product development phase (e.g., during the load build time or software packaging phase at software release). Device specification data may be presented as part of a device software package or patch. In some non-limiting embodiments, device specification data may be dynamically populated by the device software of server-network device 114 during device initialization / startup.

[0135] Process 600 proceeds to step 606, where server-network device 114 receives a connection request from client device / network management system 110. As described above, client device / network management system 110 can send a connection request to server-network device 114.

[0136] Process 600 proceeds to step 608, where server-network device 608 confirms the connection with client device / network management system 110. In some non-limiting embodiments, based on the connection request received from client device / network management system 110, server-network device 114 and client device / network management system 110 may perform a NETCONF / RESTCONF handshake. Based on the NETCONF / RESTCONF handshake, server-network device 114 may confirm the connection with client device / network management system 110.

[0137] Process 600 proceeds to step 610, in which the network-server device 114 sends device specification data to the client device / network management system 110. It should be noted that the method by which the server-network device 114 provides / sends device specification data to the client device / network management system 110 should not limit the scope of this invention.

[0138] In some non-limiting embodiments, server-network device 114 may rely on a specification data notification model based on YANG notification remote procedure call (RPC). In other non-limiting embodiments, server-network device 114 may rely on the YANG push procedure defined in RFC 8641. In some non-limiting embodiments, server-network device 114 may create NETCONF / RESTCONF RPCs. <get-specification> 。 <get-specification>The function can be with <get-config>The functions are similar, the only difference being that the server-network device 114 can be configured using specification data instead of configuration data. <get-specification>In other non-limiting embodiments, the server-network device 114 may rely on a NETCONF / RESTCONF RPC with parameters of the root node in the device specification model. <get>The server-network device 114 can select one or more techniques discussed above to provide the device specification data to the client device / network management system 110.

[0139] In certain non-limiting embodiments, additionally or alternatively, the server- network device 114 can store the device specification data in a data store. It is noted that, additionally or alternatively, the client device / network management system 110 can store the device specification data. In some scenarios, the device specification can change, for example, due to addition and / or removal of new device components, or the server-network device 114 is operating in an overload mode, a maintenance mode, or a license type change, among other special conditions. In these scenarios, the server-network device 114 can determine any changes / updates to the associated device specification. The server-network device 114 can use the updated device specification data to update the data store. The server-network device 114 can send the updated specification data to the client device / network management system 110.

[0140] In certain non-limiting embodiments, the server-network device 114 can receive a configuration from the client device / network management system 110. The server- network device 114 can validate the configuration. In other words, the server-network device 114 can validate whether the server-network device 114 has the capability to implement the configuration. In certain non-limiting embodiments, the server- network device 114 can validate the configuration against a predefined configuration model. Once the configuration passes the validation, the server-network model 114 can validate the configuration against the device specification model and the device constraint model. When the configuration passes the validation against the device specification data model and the device specification constraint model, the server-network device 114 can accept the configuration. However, when the configuration fails the validation against the configuration model or against the device specification data model and the device specification constraint model, the server-network device 114 can reject the configuration.

[0141] Figures 7 to 9 Representative examples of the device specification data model 700, the device specification constraint model 800, and the device specification data 900 provided by various non-limiting embodiments of the present disclosure are shown, respectively. In certain non-limiting embodiments, the client device / network management system 110 and the server-network device 114 can have the device specification model 700 and the device specification constraint model 800. In Figures 7 to 9 In a representative example, the client device / network management system 110 intends to configure a family of server-network devices 114.

[0142] In some non-limiting embodiments, the client device / network management system 110 can configure the device specification model 700 by modeling resources (M) (also called specifications) as list members in a resource list, and setting data types, range attributes, and other general constraints that a family of server-network devices 114 may follow. For example, the data type can be an unsigned integer, and the data range can be 0 to 1,000,000. The resource (M) can represent a specific type of specification associated with the server-network device 114.

[0143] In some non-limiting embodiments, the client device / network management system 110 may use constraint rules on the resources (M) corresponding to the service (X) to configure the device specification constraint model 800. The service (X) may be a configuration that the client device / network management system 110 intends to configure for a family of server-network devices 114. The constraint rule "count( / services / service[X]) <=." can verify that each device in the family of server-network devices 114 has sufficient resources to implement the service (X).

[0144] In some non-limiting embodiments, each device in a family of server-network devices 114 can populate the corresponding device specification data into the device specification data model. It should be noted that each device in a family of server-network devices 114 can use the same device specification data model. For example... Figure 9 As shown, the first device (A) in a family of server-network devices 114 can fill the corresponding specification value into device specification data 902. For example, the first device (A) may have 1000 resources (M), so the first device (A) can fill the value 1000 into the resource list. Similarly, the second device (B) in the family of server-network devices 114 can fill the corresponding specification value into device specification data 904. For example, the second device (B) may have 100000 resources (M), so the first device (A) can fill the value 100000 into the resource list. Both the first device (A) and the second device (B) can forward specification data 902 and 904 to the client device / network management system 110.

[0145] In the above scenario, assume that the resources of the first device (A) and the second device (B) are already occupied by 1000 services. The client device / network management system 110 can receive new requests from users to configure services (X) for the first device (A) and the second device (B). The client device / network management system 110 can verify these new requests. Based on this scenario, if all resources of the first device (A) are already occupied by other services, the client device / network management system 110 can reject the new request to configure the first device (A) and accept the new request to configure the second device (B).

[0146] Figures 10 to 12 Representative examples of device specification data model 1000, device specification constraint model 1100, and device specification data 1200 provided in various non-limiting embodiments of the present invention are shown. In some non-limiting embodiments, the client device / network management system 110 and the server-network device 114 may have device specification model 1000 and device specification constraint model 1100. Figures 10 to 12 In a representative example, the client device / network management system 110 intends to configure more than one service / feature for the server-network device 114.

[0147] In some non-limiting embodiments, the client device / network management system 110 can configure the device specification model 1000 by modeling resources (A), resources (B), and resources (C) as list members in a resource list, and set the data types, scope attributes, and other general constraints that the server-network device 114 may follow.

[0148] For example, corresponding to resource (A), the client device / network management system 110 can set the data type to an unsigned integer, with a data range of 0 to 1000. Corresponding to resource (B), the client device / network management system 110 can set the data type to an unsigned integer, with a data range of 50 to 3000, and the intra-model constraint is ".+.. / resource(C)<=6,000". Corresponding to resource (C), the client device / network management system 110 can set the data type to an unsigned integer, with a data range of 50 to 3000, and the inter-model constraint is ".+.. / resource(B)<=6,000". The inter-model constraint may have dependencies on resources (B) and (C). Resources (A), (B), and (C) can represent different types of specifications associated with the server-network device 114.

[0149] In some non-limiting embodiments, the client device / network management system 110 may configure the device specification constraint model 1100 using constraint rules on resources (A), resources (B), and resources (C) corresponding to services (X) and (Y). Services (X) and (Y) may be a configuration that the client device / network management system 110 intends to configure for the server-network device 114. The constraint rule "count( / services / service[X])+count( / services / service[Y])<=." can verify that the server-network device 114 has sufficient resources to implement services (X) and (Y).

[0150] In some non-limiting embodiments, the server-network device 114 may populate device specification data into the device specification data model 1000. For example... Figure 9 As shown, server-network device 114 can fill the corresponding specification values ​​associated with resources (A), (B), and (C) into device specification data 1200. For example, server-network device 114 can fill the resource list with the value 50 corresponding to resource (A), the value 120 corresponding to resource (B), and the value 200 corresponding to resource (C). Server-network device 114 can forward specification data 1200 to client device / network management system 110.

[0151] In the above scenario, assume that server-network device 114 is configured with 40 services (X) and 70 services (Y). Client device / network management system 110 can receive a new request from the user to configure a set of 20 services (Y) for server-network device 114. Client device / network management system 110 can verify this new request. Based on the above scenario, client device / network management system 110 may reject the new request to configure server-network device 114 because the device specification constraint model 1100 corresponding to resources (A) and (B) fails to verify. In the above scenario, the configuration request can be rejected before any configuration is sent to server-network device 114.

[0152] It should be noted that various non-limiting embodiments can help simplify the software development of the client device / network management system 110 and the server-network device 114. Decoupling the client device / network management system 110 from the server-network device 114 using a device specification data model and a device specification constraint model can simplify the management interface, eliminate hard-coded rules, hidden protocols, and manual coordination, while keeping the client device / network management system 110 aware of the device specifications in a clear and documented manner, thus improving correctness and consistency.

[0153] Various non-limiting embodiments of the present invention can be backward compatible and interoperable, and can interoperate with peer devices that are not configured with the data model discussed in this invention.

[0154] It is understood that the operation and function of environment 100, its components, and related processes can be implemented using one or more hardware-based, software-based, and firmware-based elements. These alternative operational methods do not limit the scope of the invention in any way.

[0155] It is also understood that, although the embodiments presented herein have been described with reference to specific features and structures, it will be apparent that various modifications and combinations can be made without departing from these disclosures. Therefore, the specification and drawings are to be regarded only as illustrative of the implementations or embodiments of the arguments and their principles as defined in the appended claims, and are intended to cover any and all modifications, variations, combinations, or equivalents that fall within the scope of this invention.< / get> < / get-specification>

Claims

1. A method for improving efficiency of YANG-based device configuration, characterized in that, comprising: creating a specification data type using a yet another next generation (YANG) language to indicate device specification data associated with a network device; creating a YANG-based device specification data model using the specification data type; creating a YANG-based device specification constraint model; and sharing the device specification data model and the device specification constraint model with a network management system and the network device.

2. The method of claim 1, wherein, The device specification data includes a mix of configuration data and state data associated with the device specification model.

3. The method of claim 2, wherein, The device specification data assists the network management system and the network device in verifying the configuration data.

4. The method of claim 1, wherein, Creating the specification data type includes setting a value of a config statement to false in the YANG language, creating a YANG specification statement, and setting a value of the specification statement to true.

5. The method of claim 1, wherein, The device specification data model defines device specifications associated with the network device.

6. The method according to any one of claims 1 to 5, characterized in that, The device specification constraint model defines constraint rules according to which the network management system configures the network device.

7. A method for improving efficiency of YANG-based device configuration, characterized in that, comprising: a network management system creating a connection request to a network device; the network management system confirming a connection with the network device; the network management system receiving device specification data associated with the network device, wherein, the device specification data is populated into a yet another next generation (YANG)-based device specification data model using a specification data type that indicates device specifications associated with the network device; and storing the device specification data in a data store.

8. The method of claim 7, wherein, further comprising: the network management system receiving a configuration request; the network management system determining when to calculate a new configuration corresponding to the configuration request; and in a case where it is determined to calculate the new configuration, the network management system calculating the new configuration according to the device specification data and constraint rules defined in a yet another next generation (YANG)-based device specification constraint model, and the network management system sending the new configuration to the network device; in a case where it is determined not to calculate the new configuration, the network management system verifying a configuration associated with the configuration request according to the constraint rules and the device specification data, when the configuration passes verification, the network management system sending the configuration to the network device, and when the configuration fails verification, the network management system rejecting the configuration request.

9. The method of claim 8, wherein, further comprising: the network management system determining a communication path from the network management system to the network device, when the communication path is determined, the network management system sending at least one of the configuration and the new configuration to the network device, when the communication path is not determined, the network management system rejecting the configuration request.

10. The method of claim 8, wherein, verifying the configuration includes: the network management system determining whether the network device has sufficient resources to implement the configuration according to the device specification data stored in the data store.

11. The method according to any one of claims 7 to 10, characterized in that, further comprising: updating the data store with updated device specification data received from the network device.

12. A method for improving efficiency of YANG-based device configuration, the method comprising: comprising: including a yet another next generation (YANG) based device specification data model and a YANG based device specification constraint model in a network device, wherein, the device specification data model comprises a specification data type defining device specifications associated with the network device, and the device specification constraint model defines constraint rules according to which a network management system configures a configuration for the network device; the network device populates device specification data into the specification data model using the specification data type; the network device receives a connection request from the network management system; the network device confirms connection with the network management system; and the network device sends the device specification data to the network management system.

13. The method of claim 12, wherein, further comprising: the network device receives the configuration from the network management system; the network device validates the configuration according to a configuration model, when the configuration is validated according to the configuration model, the network device validates according to the device specification data model and the device specification constraint model, when the configuration is validated according to the device specification data model and the device specification constraint model, the network device accepts the configuration, and when the configuration is not validated according to the device specification data model and the device specification constraint model, the network device rejects the configuration; when the configuration is not validated according to the configuration model, the network device rejects the configuration request.

14. The method according to claim 12 or 13, characterized in that, further comprising: the network device detects any updates in the device specifications associated with the network device; the network device updates a data store with updated device specification data; and the network device sends the updated device specification data to the network management system.

15. A system for improving efficiency of YANG-based device configuration, characterized in that, comprising: a processor and a memory, wherein the memory comprises instructions executable by the processor, the device being configured by the instructions to perform the method according to any one of claims 1 to 14.

16. A computer program, characterized in that, comprising instructions which, when executed on at least one processor in a computing device, cause the at least one processor to perform the method according to any one of claims 1 to 14.

Citation Information

Patent Citations

  • Network verification method and device

    CN111835532A

  • Packet processing method and device

    WO2021179977A1