System and method for improving efficiency of YANG-based device configuration

By creating a YANG-based device specification data model and device specification constraint model, the problem of low efficiency in device specification data configuration in the YANG protocol is solved, and more efficient network device configuration and device capability matching is achieved.

CN119487792AActive Publication Date: 2025-02-18HUAWEI TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202280097685.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-07-29
Publication Date
2025-02-18
Estimated Expiration
2042-07-29

AI Technical Summary

Technical Problem

The typical YANG protocol does not provide an efficient process to constrain the configuration data of the device specification data using a unique YANG data model, making it difficult for the network management system to accurately configure the device according to the device capabilities.

Method used

Develop a specification data type, using it to create a YANG-based device specification data model and device specification constraint model, providing these models to network management systems and network devices to more efficiently configure a family of network devices.

Benefits of technology

By using YANG-based device specification data model and device specification constraint model, the network management system can configure network devices more efficiently, ensuring that the configuration data matches the device specifications and avoiding the problem of configuration exceeding the device's capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119487792A_ABST
    Figure CN119487792A_ABST
Patent Text Reader

Abstract

Systems and methods are disclosed for: (i) creating a specification data type using a Yet Anther Next Generation (YANG) language to indicate device specification data associated with a network device; (ii) creating a YANG-based device specification data model using the specification data type; (iii) creating an equipment specification constraint model based on YANG; (iv) sharing the device specification data model and the device specification constraint model with a network management system and the network device; (v) creating or validating 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-REFERENCE TO RELATED APPLICATIONS

[0002] This is the first application filed for an immediate disclosure technology. Technical Field

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

[0004] Yet Another Next Generation (YANG) is a data modeling language used to define data sent over network management protocols such as Network Configuration (NETCONF) and Representational State Transfer Configuration Protocol (RESTCONF). The YANG data model describes device capabilities and states to facilitate 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) protocol and the RFC 7950 (YANG 1.1) protocol define YANG, which is a data modeling language and is used to model configuration data, operation data, status data, remote procedure calls (RPCs), and notifications of network management protocols.

[0006] RFC 6241 defines the NETCONF protocol, which provides a mechanism for installing, operating, and deleting network device configurations. 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 a data store, a conceptual place to store and access information, which is the fundamental concept for binding data models written in the YANG data modeling language to 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 concept defined in NETCONF.

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

[0009] The configuration data and operation status data are modeled using a standard data model based on NETCONF / YANG, allowing the modeler to create a data model to define how the data in the model is organized and to define constraints on the data. In commercial network products, service providers usually provide 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 specifications and software specifications.

[0010] Although specification parameters can directly affect device configuration capabilities, typical YANG protocols do not provide an efficient process to constrain the configuration data of device specification data using a unique YANG data model. Without this process, network management (NM) either cannot use YANG technology to accurately configure devices based on device capabilities, or cannot manage specification constraints using a unique YANG data model.

[0011] Therefore, there is interest in improving the efficiency of YANG-based device configuration. Summary of the invention

[0012] Embodiments of the present invention are developed based on the developers' recognition of the shortcomings associated with the prior art. For example, modeling configuration data and operating status data using a standard data model based on NETCONF / YANG helps create a data model to define how the data in the model is organized and the constraints on the data. In commercial network products, service providers typically provide a variety of devices of the same category in order to meet different market or customer needs. These devices have similar functions and feature sets, but have different specifications and capabilities, including hardware specifications and software specifications. Although different specifications and capabilities can directly affect device configuration capabilities, the typical YANG protocol does not provide an efficient process for constraining configuration data of specification data using a unique YANG data model.

[0013] To this end, the developers of the present invention designed a specification data type, used the specification data type to create a YANG-based device specification data model, and created a YANG-based device specification constraint model. Then, the created model is provided to the network management system and the network device. Compared with the traditional technology, the network management system can use the YANG-based device specification data model and the YANG-based device specification constraint model to more efficiently configure a family of network devices.

[0014] According to a first broad aspect of the present invention, a method is provided. The method comprises: creating a specification data type using 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 comprises a hybrid feature of configuration data and state 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 a value of a config statement in the YANG language to false, creating a YANG specification statement, and setting a value of the specification statement to true.

[0018] According to any embodiment of the present invention, the device specification data model defines 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 comprises: 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 yetanother next generation (YANG) based device specification data model using a specification data type, the specification data type indicating a device specification associated with the network device; and storing the device specification data in a data store.

[0021] According to any embodiment of the present invention, the method also includes: the network management system receives a configuration request; the network management system determines when it is necessary to calculate a new configuration corresponding to the configuration request; and when it is determined that the new configuration is to be calculated, the network management system calculates the new configuration according to the device specification data and the constraint rules defined in the device specification constraint model based on yet another next generation (YANG), and the network management system sends the new configuration to the network device; when it is determined that the new configuration is not to be calculated, the network management system verifies the configuration associated with the configuration request according to the constraint rules and the device specification data, when the configuration passes the verification, the network management system sends the configuration to the network device, and when the configuration fails the verification, the network management system rejects the configuration request.

[0022] According to any embodiment of the present invention, the method also includes: the network management system determines a communication path from the network management system to the network device; when the communication path is determined, the network management system sends 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 rejects the configuration request.

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

[0024] According to any embodiment of the present invention, the method further comprises: 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 comprises: including a device specification data model based on YANG and a device specification constraint model based on YANG in a network device, wherein the device specification data model comprises a specification data type defining a device specification associated with the network device, and the device specification constraint model defines a constraint rule, and a network management system configures a configuration for the network device according to the constraint rule; the network device uses the specification data type to fill the 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 also includes: the network device receives the configuration from the network management system; the network device verifies the configuration according to the configuration model, and when the configuration passes the verification according to the configuration model, the network device verifies according to the device specification data model and the device specification constraint model, when the configuration passes the verification according to the device specification data model and the device specification constraint model, the network device accepts the configuration, and when the configuration fails to pass the verification according to the device specification data model and the device specification constraint model, the network device rejects the configuration; when the configuration fails to pass the verification according to the configuration model, the network device rejects the configuration request.

[0027] According to any embodiment of the present invention, the method also includes: the network device detects any update in the device specifications associated with the network device; the network device updates data storage using updated device specification data; and the network device sends 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, comprising: a processor and a memory, wherein the memory comprises instructions executable by the processor, and the device is used to execute various methods disclosed in the present invention through the instructions.

[0029] According to a fifth broad aspect of the present invention, there is provided a computer program, wherein the computer program comprises instructions, wherein when executed on at least one processor in a computing device, the instructions cause the at least one processor to perform various methods disclosed in the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] Other features and advantages of the present invention will become apparent through the following detailed description in conjunction with the accompanying drawings, in which:

[0031] Figure 1 An environment including network devices used with systems and methods provided by various embodiments of the present invention is shown;

[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 The various embodiments of the present invention provide Figure 1 A high-level functional block diagram of the server-network equipment in the medium environment;

[0034] Figure 3A flowchart representing a process corresponding to a 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 by various embodiments of the present invention is shown;

[0036] Figure 5 A flowchart representing a process corresponding to a method for improving the efficiency of a client device / network management system provided by various embodiments of the present invention is shown;

[0037] Figure 6 A flowchart representing a process corresponding to a method for improving the efficiency of a server-network device provided by various embodiments of the present invention is shown;

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

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

[0040] It is to be understood that, in all drawings and corresponding descriptions, the same features are identified by the same reference numerals. In addition, it is to be understood that the drawings and the following descriptions are for illustration purposes only, and these disclosures do not limit the scope of the claims. DETAILED DESCRIPTION

[0041] The present invention aims to address at least some of the shortcomings of the prior art. Specifically, the present invention describes a system and method for improving the efficiency of YANG-based device configuration.

[0042] Unless otherwise defined or illustrated by 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 embodiments belong.

[0043] In the context of this specification, a "client device / network management system" is one or a group of applications used to manually or automatically identify, configure, monitor, update and troubleshoot 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.), smart phones and tablets, and can be web-based applications that can be used by clients. In addition, it is conceivable that the client device / network management system can be an automatic system in network automation and autonomous driving network scenarios. In certain non-limiting embodiments, the client device / network management system can be a software defined network (Software Defined Networking, SDN) controller, an element management system (Element Management System, EMS) or a command interface (Craft Interface, CI) client, etc. It should be noted that a device used as a client device / network management system in this context does not exclude the use of a server-network device as other client devices / network management systems. The use of the expression "client device / network management system" does not exclude that multiple client-devices / network management systems are used 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 method described herein.

[0044] In the context of this specification, unless otherwise expressly provided, the purpose of using the words "first", "second", "third", etc. as adjectives is only to distinguish the nouns they modify, rather than to describe any specific relationship between these nouns. Thus, for example, it should be understood that the use of the terms "first processor" and "third processor" does not indicate any specific order, type, chronological order, hierarchy or ranking (for example) between / of server-network devices, nor does the use of these two terms (by themselves) indicate that there must be any "second server-network device" in any given case. In addition, as discussed in other contexts herein, reference to a "first" element and a "second" element does not exclude that the two elements are elements in the same actual real world. Thus, for example, in some cases, the "first" server-network device and the "second" server-network device may be the same software and / or hardware, while in other cases, they may be different software and / or hardware.

[0045] It is understood that when an element is referred to as being "connected" or "coupled" to another element, the element may be directly or indirectly connected or coupled to the other element or to any intermediate elements that may exist. In contrast, when an element is referred to as being "directly connected" or "directly coupled" to another element, there are no intermediate elements. Other words used to describe the relationship between elements (e.g., "between" versus "directly between", "adjacent" versus "directly adjacent", etc.) should also 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 employs the first element, etc., without limiting the scope of the present invention.

[0047] The terms used herein are only used to describe specific representative embodiments, rather than to limit the present technology. The singular forms "a" and "the" used herein also include plural forms, unless the context clearly indicates otherwise. It can be further understood that the terms "comprises / comprising" used in this specification indicate the presence of the features, integers, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or combinations thereof.

[0048] The implementation of the present technology has at least one of the above-mentioned objectives and / or aspects, but does not necessarily have all of these objectives and / or aspects. It should be understood that some aspects of the present technology are generated in an attempt to achieve the above-mentioned objectives, and these aspects may not meet the objectives and / or may meet other objectives not specifically described herein.

[0049] The examples and conditional language described in this article are mainly to help readers understand the principles of the present 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, although not explicitly described or shown in this article, embody the principles of the present technology and are included in the spirit and scope of the present technology.

[0050] In addition, to facilitate understanding, the following description may describe a relatively simplified implementation of the present technology. It will be appreciated by those skilled in the art that various implementations of the present technology may have greater complexity.

[0051] In some cases, useful examples of modifications to the present technology may also be listed. This is done only to aid understanding and is not intended to define the scope of the present technology or to define the limits of the present technology. These modifications are only some examples, and those skilled in the art may make other modifications without departing from the scope of the present technology. In addition, where no modification examples are listed, it should not be interpreted as impossible to modify and / or that the content described is the only way to implement the elements of the present technology.

[0052] In addition, 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 developed in the future. Thus, 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 that embodies the principles of the present technology. Similarly, it will be understood that any flow chart, flow chart, state transition diagram, pseudo code, etc. represent various processes that can be substantially represented in a computer-readable medium and thus executed by a computer or processor, whether or not such computer or processor is explicitly shown.

[0053] The functions of the various elements shown in the figure (including any functional blocks marked as "processor" or "processing unit") can be provided by using dedicated hardware and hardware capable of executing software in association with appropriate software. When the processor provides functions, these functions can be provided by a single dedicated processor, a single shared processor, or multiple separate processors, some of which can be shared. In some embodiments of the present technology, the processor can be a general-purpose processor, for example, a central processing unit (CPU), or a processor dedicated to a specific purpose, for example, a graphics processing unit (GPU). In addition, the explicit use of the term "processor" or "controller" should not be interpreted as specifically referring to hardware capable of executing software, and may also implicitly include but are not limited to digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read-only memory (ROM), random access memory (RAM) and non-volatile memory for storing software. Other traditional and / or custom hardware may also be included.

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

[0055] In the context of this specification, unless explicitly stated otherwise, a "database" is any structured collection of data, regardless of the specific structure of the database, the database management software, or the computer hardware that stores, implements, or otherwise presents the data for use. The database may be located on the same hardware as the processes that store or use the information stored in the database, or it may be located on separate hardware, for example, on 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 flow chart elements or any combination of other elements indicating execution process steps and / or text descriptions. These modules may be executed by hardware shown explicitly or implicitly.

[0057] With these basic principles, the present invention aims to address at least some of the shortcomings of the prior art. Specifically, the present 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 that is used to define data sent through network management protocols such as NETCONF and RESTCONF. The YANG data modeling language is maintained by the Network Modeling (NETMOD) Working Group in the Internet Engineering Task Force (IETF). The YANG data model can model both the configuration data of network devices and the status data of network devices.

[0059] Modeling configuration data and operational status data using a standard data model based on NETCONF / YANG helps create a data model to define how the data in the model is organized and the constraints on the data. In commercial network products, service providers usually provide 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 specifications and software specifications.

[0060] The following are some examples of differences in various devices, associated specifications, and capabilities that may directly or indirectly affect configuration data:

[0061] i. In one example, various Multiprotocol Label Switching (MPLS) routers support 1,000 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 2 port groups. Each port group can support up to 4 ports. The ports in each port group can share 1 cross-connect chip. Each cross-connect chip can support up to 10Gbps data. Other optical service boards of the same category support up to 4 port groups. Each port group can support up to 8 ports. The ports in each port group can share 1 cross-connect chip.

[0064] Can share 1 cross-connect chip, each cross-connect chip can support up to 40Gbps data;

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

[0066] In another example, a wireless base station with smaller memory and slower CPU in the same family can support up to 200 UEs.

[0067] With up to 20 real-time connections;

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

[0069] Although specification parameters can directly affect device configuration capabilities, typical YANG protocols do not provide an efficient process to constrain the configuration data of specification data using a unique YANG data model.

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

[0071] Some non-limiting scenarios for NMs to manage devices are discussed below. One 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 service (X). Supporting service (X) requires a resource (M) of both device (A) and (B). Based on hardware capabilities, device (A) has 1,000 resources (M) and device (B) has 100,000 resources (M).

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

[0073] Another scenario may be that an NM manages a device (C), which supports service (X) and service (Y). Service (X) requires one resource (P), one resource (Q), and one resource (R) of device (C). Similarly, service (Y) requires one resource (P), one resource (Q), and one resource (R) of device (C). Based on hardware capabilities, device (C) has 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 the constraints on resources (Q), 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 device (C) may not be able to configure additional services for itself.

[0075] Traditional techniques for configuring devices can complicate the configuration process.

[0076] To this end, there has been interest in developing systems and methods for improving the efficiency of YANG-based device configuration.

[0077] Figure 1 An environment 100 including network devices used with systems and methods provided by various embodiments of the present invention is shown. The environment 100 may include multiple server-network devices 114 (for simplicity, only one server-network device 114 is shown) and multiple client devices / network management systems 110 located in different geographical locations (for simplicity, only one client device / network management system 110 is shown), which are used to communicate with each other through 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, desktops, etc.) or a portion of a network (e.g., client devices / network management systems in an organization, etc.).

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

[0079] As shown, the client device / network management system 110 uses one or more processors 202, one or more computer-readable random access memories (RAM) 204, one or more computer-readable read-only memories (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 to transmit 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 through one or more corresponding RAMs 204 (typically including cache memory). In the illustrated embodiment, each computer-readable storage medium 208 may be a magnetic disk storage device such as an internal hard disk, a CD-ROM, a DVD, a memory stick, a tape, a magnetic disk, an optical disk, a semiconductor storage device such as a RAM, a ROM, an EPROM, a flash memory, or any other computer-readable tangible storage device that can store computer programs and digital information.

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

[0082] In addition, the 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). The application 212 in the client device / network management system 110 can be downloaded from an external computer or an external storage device to the client device / network management system 110 through a communication network (e.g., the Internet, a local area network or other wide area network or wireless network) and the network interface 218. The application 212 can be loaded from the network interface 218 to the computer-readable storage medium 208. The client device / network management system 110 can be connected to routers, firewalls, switches, gateway computers and / or edge servers-network devices in the communication network using copper wires, optical fibers 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, the R / W drive interface 216, and the network interface 218 may include hardware and software (stored in the computer-readable storage medium 208 and / or the ROM 206).

[0084] Figure 2B The various embodiments of the present invention provide Figure 11 is a high-level functional block diagram of a server-network device 114 within the environment 100. In one embodiment, the server-network device 114 may 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, the server-network device 114 may be any one of an OTN Add / Drop Multiplexer (ADM), a Multi-Service Provisioning Platform (MSPP), a Digital Cross-Connect (DCS), an Optical Cross-Connect, POTS, an Optical Switch, a Router, a Switch, a WDM / DWDM Terminal, an Access / Aggregation Device, a Wireless Base Station, etc. That is, the server-network device 114 can be any of a digital, wireless (Radio Frequency (RF)) and / or optical system, including the functionality of switching channels, time slots, tributary units, wavelengths, etc. In addition, 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 the server-network device 114 can communicate with other server-network devices 114, which include but are not limited to software-defined network (SDN) controllers, orchestrators, network management systems (NMS) and element management systems (EMS), etc.

[0086] In certain 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 shown in the figure. Figure 2B Shown in.

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

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

[0089] The network interface 256 may include one or more wireless transceivers for wireless communication with the communication network 112, or one or more network adapters for wired communication with the communication network 112. In general, the network interface 256 may be used to correspond to a network architecture that implements a link for communication between the server-network device 114 and the communication network 112. In some embodiments, the network interface 256 may be implemented in a manner similar to the implementation of the network interface 218.

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

[0091] It should be noted that the server-network device 114 is shown as a stand-alone computer. However, implementations of various other embodiments 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 the 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 a public cloud or private cloud infrastructure, or a cloud service provider that provides an 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 can include multiple server-network devices 114. In addition, the multiple server-network devices 114 can have the same or different specifications and / or capabilities, including hardware specifications and software specifications.

[0093] The various techniques discussed in the present invention can be used to extend the YANG data type, YANG data storage, and network management data storage architecture 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 device family, rather than relying on a different YANG data model for each device. In other words, devices belonging to the same family and having 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 schema through which the differences in device specifications and capabilities of the multiple server-network devices 114 may be carried by populated data.

[0095] In various non-limiting embodiments, hidden or hard-coded background information associated with the specifications and capabilities of the plurality of server-network devices 114 may be replaced with a structured data model. This may result in decoupling of the plurality of 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, instead of statically hard-coding or transmitting device specifications and capabilities through traditionally used proprietary methods (e.g., hard-coding using XML, Excel spreadsheets, YAML files, formatted text files, etc.), in various non-limiting embodiments, modeling data rather than the YANG data model itself may be used to transmit device specifications and capabilities to the client device / network management system 110. This technique may migrate specification data from a static modeling schema to dynamic modeling data and allow device specification and capability changes to be refreshed to the client device / network management system 110 in real time.

[0097] In addition to using the same specification and constraint model to handle specification data differences, 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 model. The specification and constraint model can cross-reference the specification data to verify the configuration data. In this way, each business / feature may only need to focus on its own resources without evaluating dependencies across businesses / features. In other words, the specification and constraint model can be a centralized place to coordinate resources between businesses / features.

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

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

[0100] In addition, 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 present invention.

[0101] Process 300 begins at step 302 , where computer system 400 creates a specification data type using the YANG language 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 data and state data of the server-network device 114. In general, the configuration data includes a set of writable data of the server-network device 114 required to transform the server-network device 114 from an initial state to a current state. The state data includes other data of the server-network device 114 that is not configuration data, such as read-only state information and collected statistical data. The computer system 400 can create a specification data type to indicate device specifications associated with the server-network device 114.

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

[0104] In certain non-limiting embodiments, the device specification may include a hybrid feature of configuration data and status data associated with the device specification model. Similar to the configuration data, the device specification data may participate in configuration data verification. The device specification data may assist the client device / network management system 110 and the server-network device 114 in verifying the configuration data. In certain non-limiting embodiments, when the client device / network management system 110 uses certain services (e.g., optical paths, OTN paths, RSVP tunnels, Layer 2 Provider Provisioned Virtual Private Network (L2VPN) services, Layer 2 Provider Provisioned Virtual Private Network (L3VPN) services, or wireless call connections, etc.) to start the configuration of the server-network device 114, based on the device specification data, the server-network device 114 may determine whether a given service can be configured for the server-network device 114.

[0105] In addition, 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 use the specification data type to write device specification data. In some non-limiting embodiments, when the server-network device 114 is in factory mode and is about to initiate initial communication with the client device / network management system 110, the server-network device 114 may write device specification data.

[0106] In some non-limiting embodiments, the computer system 400 may create a specification data type by setting the value of a "config" statement in the YANG language to "false." The computer system 400 may create a YANG "spec" statement and may set the value of the "spec" 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 having write 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 can include the specification data type in the YANG-based device specification data model. Thus, the device specification data model can define device specifications associated with the network device. For example, the device specification model can describe the device type and device 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 may define constraint rules according to which client device / network management system 110 may configure server-network device 114. The constraint rules may include information associated with device resources required by client device / network management system 110 to perform services to be configured on server-network device 114, and the device resources are associated with server-network device 114.

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

[0111] In certain non-limiting embodiments, the scope of the constraints of the 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 of each member device in these server-network devices 114 is 400G. Such constraints can be modeled using YANG statements (but not limited to "range", "pattern", "max-elements", "min-elements", "default", "must").

[0112] In certain 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, for a family of server-network devices 114 with full-size subracks, a subrack-level cross-connect capability with a maximum value of 800G can be modeled using "when", "must" YANG statements.

[0113] In certain non-limiting embodiments, constraints between resources and services / features may be modeled using standard or extended YANG constraint statements. For example, when configuring a new optical cross-connection on a family of server-network devices 114, each member device may have different specification constraints. For example, the total network element (NE) level cross-connection may not exceed the NE's cross-connection specification limit, the total sub-rack level cross-connection may not exceed the sub-rack's cross-connection specification limit, the total service board-level bandwidth may not exceed the board's bandwidth specification limit, the total service board-level cross-connection may not exceed the connection port's bandwidth specification limit, and so on. These constraints may use, but are not limited to, XPATH1.0 expressions defined in YANG, and use the "when" and "must" statements in YANG to implement cross-module constraints.

[0114] It should be noted that the location where the constraint rules are implemented should not limit the scope of the present 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, the device specification constraint model, and the business / feature model. In some non-limiting embodiments, the computer system 400 may store the constraint rules in a separate YANG file including YANG enhancement statements to extend the above models.

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

[0116] Finally, process 300 proceeds to step 308, where the computer system 400 can share the device specification data model and the device specification constraint model with the client device / network management system 110 and the server-network device 114. It should be noted that how the computer system 400 shares the device specification data model and the device specification constraint model should not limit the scope of the present 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 can be referred to as sending the device specification data model and the device specification constraint model from the computer system 400 to the client device / network management system 110 and the server-network device 114. The client device / network management system 110 and the server-network device 114 can be used to install the device specification data model and the device specification constraint model.

[0117] In some non-limiting embodiments, the computer system 400 can statically publish the device specification data model and the device specification constraint model to a server or cloud. The client device / network management system 110 and the server-network device 114 can download the device specification data model and the 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 the 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 the 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 the device specification constraint model from NETCONFRPC "get-schema" at runtime.

[0119] Figure 5 A flowchart showing a process 500 corresponding to a method for improving the efficiency of a client device / network management system 110 provided by various embodiments of the present invention is shown. The 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 certain 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 present invention.

[0121] Process 500 proceeds to step 504, where the client device / network management system 110 confirms 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 a confirmation signal to the client device / network management system 110. In some non-limiting embodiments, the confirmation may be based on a NETCONF / RESTCONF handshake. Based on the confirmation signal, the client device / network management system 110 may confirm 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 certain 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 into a YANG-based device specification data model by the server-network device 114 using a specification data type. As described above, the specification data type may indicate 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 the device specification data in a centralized data store. The client device / network management system 110 may query the data store to verify the configuration request. 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 certain non-limiting embodiments, the client device / network management system 110 may receive a configuration request. A configuration request may be referred to as a configuration operation requested by an operator of the client device / network management system 110, a network automation API call by a high-level application, or any similar operation requesting a change in the configuration of the client device / network management system 110. Such a change may be referred to as adding a parameter, deleting a parameter, or modifying a parameter.

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

[0126] In some non-limiting embodiments, upon determining not to compute a new configuration, the client device / network management system 110 may validate a configuration associated with the configuration request based on the constraint rules and the device specification data. In some non-limiting embodiments, to validate the configuration, the client device / network management system 110 may determine whether the server-network device 114 has sufficient resources to implement the configuration based on the device specification data stored in the data store.

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

[0128] Once such configuration is verified, in certain non-limiting embodiments, the client device / network management system 110 may determine a 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 may send at least one of the above configuration and the new configuration to the network device-server-network device 114. Sending at least one of the above configuration and the new configuration may be a process of allocating network settings, policies, flows, and control rules to provide a service or an identifiable portion of a service. However, if the communication path is not determined, the client device / network management system 110 may reject the configuration request.

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

[0130] The 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. In addition, the device specification data model can include a specification data type. The server-network device 114 can use the specification data type to define associated device specifications. In addition, the device specification constraint model can define constraint rules, and the client device / network management system 110 can configure a configuration for the server-network device 114 according to these constraint rules.

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

[0132] It should be noted that the way the server-network model 114 is filled in should not limit the scope of the present invention. In some non-limiting embodiments, the server-network device 114 can rely on internal network management software (e.g., it can have a special access permission mode, a factory mode) to change the device specification data and / or fill in the device specification data. In the network management software, in 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 certain non-limiting embodiments, the server-network device 114 may rely on a load build script or software application to fill in the data using software built-in data. In certain non-limiting embodiments, the server-network device 114 may rely on a load build script or software application to fill in the 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 certain non-limiting embodiments, the device specification data may be created during the product development phase (e.g., during the load build time or software packaging phase when the software is released). The device specification data may be presented as part of a device software package or patch. In certain non-limiting embodiments, the device specification data may be dynamically populated by the device software of the server-network device 114 during device initialization / startup.

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

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

[0137] Process 600 proceeds to step 610, where the network-server device 114 sends device specification data to the client device / network management system 110. It should be noted that the manner in 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 the present invention.

[0138] In some non-limiting embodiments, the server-network device 114 can rely on a specification data notification model based on a YANG notification remote procedure call (RPC). In other non-limiting embodiments, the server-network device 114 can rely on the YANG push process defined in RFC 8641. In some non-limiting embodiments, the server-network device 114 can create a NETCONF / RESTCONF RPC <get-specification> 。 <get-specification>The function can be used with <get-config>The only difference is 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 may select one or more of the techniques discussed above to provide 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 may store device specification data in a data store. It should be noted that additionally or alternatively, the client device / network management system 110 may store device specification data. In some scenarios, device specifications may change, for example, due to the addition and / or removal of new device components, or the server-network device 114 is operating under special conditions such as an overload mode, a maintenance mode, or a license type change. In these scenarios, the server-network device 114 can determine any changes / updates to the associated device specifications. The server-network device 114 can update the data store with the updated device specification data. 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 may receive a configuration from the client device / network management system 110. The server-network device 114 may verify the configuration. In other words, the server-network device 114 may verify that the server-network device 114 has the ability to implement the configuration. In certain non-limiting embodiments, the server-network device 114 may verify the configuration according to a predefined configuration model. Once the configuration is verified, the server-network model 114 may verify the configuration according to the device specification model and the device constraint model. When the configuration is verified according to the device specification data model and the device specification constraint model, the server-network device 114 may accept the configuration. However, when the configuration is not verified according to the configuration model or according to the device specification data model and the device specification constraint model, the server-network device 114 may reject the configuration.

[0141] Figures 7 to 9 1 and 12 respectively show representative examples of device specification data model 700, device specification constraint model 800, and device specification data 900 provided by various non-limiting embodiments of the present invention. In some non-limiting embodiments, client device / network management system 110 and server-network device 114 may have device specification model 700 and device specification constraint model 800. Figures 7 to 9 In the representative example, the client device / network management system 110 is intended to configure a family of server-network devices 114.

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

[0143] In certain non-limiting embodiments, the client device / network management system 110 may configure the device specification constraint model 800 using constraint rules on resources (M) corresponding to a service (X). 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]) <=." may verify that each device in the family of server-network devices 114 has sufficient resources to implement service (X).

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

[0145] In the above scenario, it is assumed 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 a new request from the user to configure the service (X) for the first device (A) and the second device (B). The client device / network management system 110 can verify the new request. Based on the above scenario, if all the 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 by various non-limiting embodiments of the present invention are shown respectively. In some non-limiting embodiments, client device / network management system 110 and server-network device 114 may have device specification model 1000 and device specification constraint model 1100. Figures 10 to 12 In the 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 certain non-limiting embodiments, the client device / network management system 110 may configure the device specification model 1000 by modeling resource (A), resource (B), and resource (C) as list members in a resource list, and set data types, range 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, and the data range can be 0 to 1000. Corresponding to resource (B), the client device / network management system 110 can set the data type to an unsigned integer, and the data range can be 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, and the data range can be 50 to 3000, and the inter-model constraint is ".+.. / resource(B)<=6,000". The inter-model constraint may have a dependency relationship with resource (B) and resource (C). Resource (A), resource (B), and resource (C) can represent different types of specifications associated with the server-network device 114.

[0149] In certain non-limiting embodiments, the client device / network management system 110 may use constraint rules on resources (A), resources (B), and resources (C) corresponding to services (X) and services (Y) to configure the device specification constraint model 1100. Services (X) and services (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])<=." may verify that the server-network device 114 has sufficient resources to implement services (X) and services (Y).

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

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

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

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

[0154] It is understood that the operation and functionality of the environment 100, the components and the related processes can be implemented by any one or more of hardware-based, software-based and firmware-based elements. These operational alternatives are not intended to limit the scope of the present 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 is apparent that various modifications and combinations may be made without departing from these disclosures. Therefore, the specification and drawings are only to be regarded as illustrations of the implementations or embodiments discussed and their principles as defined by the appended claims, and are intended to cover any and all modifications, variations, combinations or equivalents within the scope of the present invention.< / get> < / get-specification>

Claims

1. A method, characterized in that include: Creating a specification data type using 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; Create a YANG-based device specification constraint model; and The device specification data model and the device specification constraint model are shared with a network management system and the network device.

2. The method according to claim 1, characterized in that The device specification data includes a hybrid feature of configuration data and state data associated with the device specification model.

3. The method according to claim 1 or 2, characterized in that: The device specification data assists the network management system and the network device in verifying the configuration data.

4. The method according to any one of claims 1 to 3, characterized in that Creating the specification data type includes: setting a value of a config statement in the YANG language to false, creating a YANG specification statement, and setting a value of the specification statement to true.

5. The method according to any one of claims 1 to 4, characterized in that 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, wherein the network management system configures the network device according to the constraint rules.

7. A method, characterized in that include: The network management system creates a connection request to the network device; The network management system confirms the connection with the network device; The network management system receives 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, the specification data type indicating a device specification associated with the network device; and The device specification data is stored in a data store.

8. The method according to claim 7, characterized in that Also includes: The network management system receives a configuration request; The network management system determines when a new configuration corresponding to the configuration request needs to be calculated; as well as In the case where it is determined that the new configuration is to be calculated, The network management system calculates the new configuration according to the device specification data and the constraint rules defined in the yet another next generation (YANG)-based device specification constraint model, and The network management system sends the new configuration to the network device; In the case where it is determined not to calculate the new configuration, The network management system verifies the configuration associated with the configuration request according to the constraint rule and the device specification data, When the configuration passes the verification, the network management system sends the configuration to the network device, and When the configuration fails to pass the verification, the network management system rejects the configuration request.

9. The method according to claim 8, characterized in that Also includes: The network management system determines a communication path from the network management system to the network device, When the communication path is determined, the network management system sends 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 rejects the configuration request.

10. The method according to claim 8 or 9, characterized in that: Verifying the configuration includes: The network manager determines, based on the device specification data stored in the data storage, that the network device has sufficient resources to implement the configuration.

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

12. A method, characterized in that include: A yet another next generation (YANG)-based device specification data model and a YANG-based device specification constraint model are included in the network device, wherein: The device specification data model includes a specification data type defining a device specification associated with the network device, and The device specification constraint model defines constraint rules, and the network management system configures a configuration for the network device according to the constraint rules; The network device uses the specification data type to fill the device specification data into the specification data model; 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 according to claim 12, characterized in that Also includes: The network device receives the configuration from the network management system; The network device verifies the configuration according to the configuration model, When the configuration passes verification according to the configuration model, The network device is verified 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 accepts the configuration, and When the configuration fails verification according to the device specification data model and the device specification constraint model, the network device rejects the configuration; When the configuration fails to pass verification according to the configuration model, the network device rejects the configuration request.

14. The method according to claim 12 or 13, characterized in that Also includes: the network device detecting any update in the device specification associated with the network device; The network device updates the data storage using the updated device specification data; as well as The network device sends the updated device specification data to the network management system.

15. A system, characterized in that: include: A processor and a memory, wherein the memory comprises instructions executable by the processor, and the device is configured to execute the method according to any one of claims 1 to 14 through the instructions.

16. A computer program, characterized in that The method comprises 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

  • Method and apparatus for modeling netconf-based network system instructions with YANG language

    US20190132213A1

  • Method and apparatus for model mapping and dynamically enabling external model on the network device

    US20200328948A1

  • Device management method, device, system and device, and storage medium

    WO2021057605A1

  • Packet processing method and device

    WO2021179977A1