EP3804225A1 - Procédé et appareil pour fusionner une configuration yang et de données d'état dans des applications activées par le modèle - Google Patents
Procédé et appareil pour fusionner une configuration yang et de données d'état dans des applications activées par le modèleInfo
- Publication number
- EP3804225A1 EP3804225A1 EP18785533.3A EP18785533A EP3804225A1 EP 3804225 A1 EP3804225 A1 EP 3804225A1 EP 18785533 A EP18785533 A EP 18785533A EP 3804225 A1 EP3804225 A1 EP 3804225A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- data
- resource
- node
- configuration
- schema
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/0213—Standardised network management protocols, e.g. simple network management protocol [SNMP]
Definitions
- the present invention relates to a method and apparatus for obtaining state data and configuration data of a resource operating in a communications or data network, in general, and in particular to techniques for obtaining such data for a resource modelled in a YANG data model.
- YANG Yet Another Next Generation
- the language is flexible enough to model any set of resource types which are in a hierarchical relationship with each other.
- the YANG language is a public standard and is described in RFC 6020 (ref. 1) and RFC 7950 (ref. 2).
- RFC 6020 ref. 1
- RFC 7950 ref. 2
- An example of a YANG data model, taken from RFC 7223 (ref. 3), in simplified syntax, is shown in figure 1, where: - indentation indicates hierarchy,
- a schema node can be a“container” (if singleton, called a“list” is maximum cardinality is larger than 1) that holds other schema nodes, or can be a“leaf’ which is conceptually similar to a scalar (there are other things in YANG as well that can be schema nodes, which are not of relevance to the discussion at hand).
- a schema node is identified by namespace and name, the combination of which must be unique in the context of its parent schema node. Lists and leaves can have cardinality (a container has, by definition, a maximum cardinality of one).
- one or more leaves can be designated to be“keys”. Keys are used to uniquely identify instances.
- YANG allows multiple roots, that is, schema nodes which do not have a parent schema node, for the schema tree.
- An absolute root of a schema tree does not exist in terms of a modelled schema node. In figure 2, the top-most schema node named“/ (root) 002, does not exist in the actual data model and cannot have an instantiation.
- the left branch of the schema tree is used for configuration data; the right branch is used for state data.
- YANG This is common convention in YANG.
- the branch for the state data (right branch) is larger than the branch for the configuration data.
- a YANG data model i.e. actual data
- a“data node” Every data node is uniquely identifiable by an“instance identifier”, which is in effect a path that enables an agent to navigate down through the data tree to the data node.
- the syntax of an instance identifier is a subset of the XPath syntax.
- Figure 3 shows an example of a data tree, which is an instantiation of the simplified data model shown in figure 2.
- Figure 3 illustrates configuration data and state data of three resources of type “interface” .
- Each circle represents an instance of a“container” or“list” schema node.
- Each instance of a schema node is called a“data node”, and the totality of the data nodes is called the“data tree”.
- Some data nodes illustrated in figure 3, i.e. 020, 022, 024, 026, are singletons; that is, there is ever at most a single data node having this namespace and name under the same parent data node.
- the prefix“if:” is shown on each of the data nodes. This prefix can be resolved to a namespace; it is the exact same prefix and namespace are used for the schema node that is instantiated by the data node.
- the names of the two“interface” data nodes match up between the configuration data and the state data.
- the top-most data node named“/ (root) 028, does not exist in the actual instance model. It has been added here to show the structural relationships of the two branches of the data tree (configuration data on the left and state data on the right).
- YANG widely uses prefixes to make the data model and instance identifiers more concise.
- a prefix is simply a placeholder for a namespace.
- the mapping of prefixes to namespaces is part of a YANG data model.
- the first relative path is identified simply by the schema node prefix and name. This can be done as this schema node has a maximum cardinality of one, meaning it is a singleton.
- the second relative path requires additional information to identify the correct instance of“interface”.
- the name and value of the key attribute are used for this purpose. Note the name of the key attribute is“name”.
- Prefixes are used to identify the namespace of data nodes; here, the prefix“if” is used, which is the same as used inside the respective schema node.
- YANG distinguishes between configuration data and state data of resources.
- Configuration data is always read- write and denotes the actual configuration of the resource;
- state data is always read-only and denotes the state of the resource.
- the resource may be a network device, for example a network node.
- Typical examples for state data are operational states and performance counters.
- state data is denoted by using the keyword“config” and giving it the value“false”.
- YANG it is common convention to separate the configuration data from the state data of a resource inside the data model. This is achieved by using different branches in the hierarchy under a common root. Consider figures 1, 2 and 3 again which show this. It is common convention in YANG to use the suffix“-state” for a schema node name to indicate a schema node that holds state data.
- command line interface is used to retrieve the detailed data of a data node, identified by an instance identifier.
- the example corresponds with the data tree shown in figure 3.
- the CLI is model-driven and has no knowledge whatsoever about the resource“interface i.e. is completely agnostic to its function and meaning.
- figure 5 shows three requests for data relating to interface“eth2”. In the first request, the configuration data for this interface is retrieved; in the second request, some state data for this interface is requested and in the third request, some more state data for this interface is requested.
- Figure 6 likewise shows a model-driven application - here, a GUI, graphical user interface, is used to show the data tree in a topology, and the data that relates to each data node is shown in tabular form.
- the layout of the table, and to be more precise the number of rows and the names of the attributes shown, are taken from the model.
- the left-hand side of figure 6 shows a topological view of the data tree hierarchy. Interface“eth2” has been selected, and its configuration data is shown in tabular fashion on the right.
- OpenDayLight (open source): Has a GUI to visualize YANG data trees.
- a method for obtaining state data together with corresponding configuration data of a resource operating in a communications or data network comprising the steps of receiving a request for retrieving state data and configuration data of the resource, said request comprising an instance identifier of the resource and splitting the received instance identifier into relative paths according to syntax of a YANG data model.
- the method comprises identifying a configuration data schema node of the resource in the YANG data model of the resource based on the relative paths, identifying state data schema node of the resource in said YANG data model of the resource based on the identified configuration data schema node and constructing an instance identifier of the data node containing the state data.
- the method also comprises retrieving configuration data and state data from the configuration and state data nodes for this resource and merging said retrieved information for output.
- an apparatus for obtaining state data together with corresponding configuration data of a resource operating in a communications or data network wherein the resource is modelled in a YANG data model stored in a memory associated with said resource.
- the apparatus comprises a processing circuitry and a memory.
- the memory contains instructions executable by the processing circuitry such that the apparatus is operative to receive a request for retrieving state data and configuration data of the resource, said request comprising an instance identifier of the resource and to split the received instance identifier into relative paths according to syntax of a YANG data model.
- the apparatus is further operative to identify a configuration data schema node of the resource in the YANG data model of the resource based on the relative paths, identify state data schema node of the resource in said YANG data model of the resource based on the identified configuration data schema node and to construct an instance identifier of the data node containing the state data.
- the apparatus is also operative to retrieve configuration data and state data from the configuration and state data nodes for this resource and to merge this retrieved information for output.
- an apparatus for obtaining state data together with corresponding configuration data of a resource operating in a communications or data network wherein the resource is modelled in a YANG data model stored in a memory associated with said resource.
- the apparatus is adapted to receive a request for retrieving state data and configuration data of the resource, said request comprising an instance identifier of the resource and to split the received instance identifier into relative paths according to syntax of a Y ANG data model.
- the apparatus is further adapted to identify a configuration data schema node of the resource in the YANG data model of the resource based on the relative paths, identify state data schema node of the resource in said YANG data model of the resource based on the identified configuration data schema node and to construct an instance identifier of the data node containing the state data.
- the apparatus is also adapted to retrieve configuration data and state data from the configuration and state data nodes for this resource and to merge this retrieved information for output.
- a method implemented by a computing device, of providing resource information based on a YANG data model.
- the method comprises receiving a message comprising an instance identifier of a data node representing a resource that is modelled in a YANG data model and determining, based on the instance identifier, corresponding configuration and state data nodes of the resource within the YANG data model.
- the method also comprises obtaining configuration and state information of the resource using the corresponding configuration and state data nodes and responding to the message with the configuration and state information of the resource.
- a computing device for providing resource information based on a YANG data model.
- the computing device configured to receive a message comprising an instance identifier of a data node representing a resource that is modelled in a YANG data model and determine, based on the instance identifier, corresponding configuration and state data nodes of the resource within the YANG data model.
- the computing device is also configured to obtain configuration and state information of the resource using the corresponding configuration and state data nodes and respond to the message with the configuration and state information of the resource.
- a computing device for providing resource information based on a YANG data model.
- the computing device comprises a processor and a memory, the memory containing instructions executable by the processor whereby the device is operative to receive a message comprising an instance identifier of a data node representing a resource that is modelled in a YANG data model and to determine, based on the instance identifier, corresponding configuration and state data nodes of the resource modelled within the YANG data model.
- the computing device is also operative to use the corresponding configuration and state data nodes to obtain configuration and state information of the resource and respond to the message with the configuration and state information of the resource.
- the present invention provides the benefit of simplifying and making more efficient the work with YANG data models.
- a user can see both configuration and state data together and contextualize this and can do so with a single request.
- the user does not have to navigate or issue multiple requests and need not be aware of how exactly the state data is modelled.
- Figure 1 illustrates YANG data model for interface management, as specified by
- Figure 2 illustrates the same data model as shown in figure 1, but in an alternative notation with some of the elements have been omitted for brevity;
- Figure 3 illustrates an instantiation of the data model shown in figure 2
- Figure 4 illustrates an example of an instance identifier referring to a data node as shown in figure 3;
- Figure 5 illustrates an example of a naive model-driven CLI using the instance data shown in figure 3;
- Figure 6 illustrates an example of a naive model-driven GUI using the instance data shown in figure 3;
- Figure 7 presents an overview of actors, interfaces and artefacts involved
- Figure 8 illustrates one embodiment of a method for obtaining state data together with corresponding configuration data of a resource operating in a communications or data network
- Figure 9 illustrates an example of a data model used for explanation of the embodiment of the method
- Figure 10 illustrates an example of a data tree used for explanation of the embodiment of the method
- Figure 11 illustrates an example of an initial request for configuration and state data
- Figure 12 illustrates an instance identifier after having been split up and assigned to collection“P”
- Figure 13 illustrates an embodiment of a method for determining configuration data schema node based on relative paths
- Figures l4a and l4b illustrate an operation of finding the state data schema node based on configuration data schema node
- Figure 15 illustrates an initial position before searching for schema node containing definition of state data
- Figure 16 illustrates an intermediate state after having established Z successfully
- Figure 17 illustrates a schema node of the state data successfully found
- Figure 18 illustrates a collection P updated with the schema node names from stack L
- Figure 19 illustrates possible visualization of the result set
- Figure 20 illustrates one embodiment of an operation of caching
- Figure 21 illustrates possible visualization of the result set taken into consideration state data underneath the found state data schema node
- Figure 22 illustrates an alternative embodiment of the method for obtaining state data together with corresponding configuration data of a resource operating in a communications or data network
- Figure 23 illustrates one embodiment of an apparatus for obtaining state data together with corresponding configuration data of a resource operating in a communications or data network
- Figure 24 illustrates an embodiment of the method for providing resource information based on a YANG data model.
- network device may be a base station, such as eNodeB in Long Term Evolution (LTE), NodeB in Wideband Code Division Multiple Access (WCDMA) or other types of base stations, as well as a Radio Network Controller (RNC), a Base Station Controller (BSC), or other types of control nodes, in alternative embodiments the network device may also be a router or a switch.
- LTE Long Term Evolution
- WCDMA Wideband Code Division Multiple Access
- RNC Radio Network Controller
- BSC Base Station Controller
- the network device is modelled in a YANG data model stored in a memory associated with said network device.
- the method comprising the operations of receiving, 2202, a request for retrieving state data and configuration data of the network device, said request comprising an instance identifier of the configuration data node within the network device and splitting, 2204, the received instance identifier into relative paths according to syntax of a YANG data model.
- the splitting is carried out according to XPath syntax and the syntax of the YANG data model.
- the method includes the operations of identifying, 2206, a configuration data schema node of the network device in the YANG data model of the network device based on the relative paths and identifying, 2208, state data schema node of the network device in said YANG data model of the network device based on the identified configuration data schema node, retrieving, 2210, configuration data and state data from the configuration and state data nodes for this network device and merging, 2212, said retrieved information for output.
- the YANG data model is available to a network management system.
- the operation of splitting, 2204, the received instance identifier further extracts the node prefix, node namespace, node name and key according to the YANG data model.
- FIG 23 It is also described and illustrated in figure 23 an embodiment of an apparatus, 2300, for obtaining state data together with corresponding configuration data of a network device operating in a communications or data network.
- the apparatus 2300 illustrated in figure 23 represents one embodiment of the apparatus 100 illustrated in figure 7.
- the network device is modelled in a YANG data model stored in a memory associated with said network device.
- the apparatus, 2300 comprises a processing circuitry, 2302, and a memory, 2304.
- the memory, 2304 contains instructions executable by the processing circuitry, 2302, such that the apparatus, 2300, is operative to receive a request for retrieving state data and configuration data of the network device, said request comprising an instance identifier of the configuration data node within the network device and split the received instance identifier into relative paths according to syntax of a YANG data model.
- the splitting is carried out according to XPath syntax and the syntax of the YANG data model.
- the apparatus is operative to identify a configuration data schema node of the network device in the instance of the YANG data model of the network device based on the relative paths and identify state data schema node of the network device in said instance of the YANG data model of the network device based on the identified configuration data schema node. Further, by executing the instructions by the processing circuitry, 2302, the apparatus is operative to retrieve configuration data and state data from the configuration and state data nodes for this network device and merge this retrieved information for output.
- the processing circuitry 2302 may be a microprocessor, controller, microcontroller, central processing unit, digital signal processor, application specific integrated circuit, field programmable gate array, any other type of electronic circuitry, or any combination of one or more of the preceding.
- the processing circuitry 2302 may comprise one or more processor cores.
- some or all of the functionality described herein as being provided by the apparatus 2300 may be implemented by processing circuitry 2302 executing software instructions, either alone or in conjunction with other components of the apparatus 2300, such as memory 2304.
- Memory 2304 may store code (which is composed of software instructions and which is sometimes referred to as computer program code or a computer program) and/or data using non-transitory machine-readable (e.g., computer-readable) media, such as machine-readable storage media (e.g., magnetic disks, optical disks, solid state drives, read only memory (ROM), flash memory devices, phase change memory) and machine- readable transmission media (e.g., electrical, optical, radio, acoustical or other form of propagated signals - such as carrier waves, infrared signals).
- machine-readable storage media e.g., magnetic disks, optical disks, solid state drives, read only memory (ROM), flash memory devices, phase change memory
- machine-readable transmission media e.g., electrical, optical, radio, acoustical or other form of propagated signals - such as carrier waves, infrared signals.
- memory 2304 may comprise non-volatile memory containing code to be executed by processing circuitry 2302.
- memory 2304 is non-volatile
- the code and/or data stored therein can persist even when the network device is turned off (when power is removed).
- volatile memory e.g., dynamic random access memory (DRAM), static random access memory (SRAM)
- Interface 2306 may be used in the wired and/or wireless communication of signalling and/or data to or from the apparatus 2300.
- interface 2306 may perform any formatting, coding, or translating to allow the apparatus 2300 to send and receive data whether over a wired and/or a wireless connection.
- interface 2306 may comprise radio circuitry capable of receiving data from other devices in the network over a wireless connection and/or sending data out to other devices via a wireless connection.
- This radio circuitry may include transmitter(s), receiver(s), and/or transceiver(s) suitable for radio frequency communication.
- the radio circuitry may convert digital data into a radio signal having the appropriate parameters (e.g., frequency, timing, channel, bandwidth, etc.).
- interface 2306 may comprise network interface controller(s) (NICs), also known as a network interface card, network adapter, local area network (LAN) adapter or physical network interface.
- NICs network interface controller(s)
- the NIC(s) may facilitate in connecting the apparatus 2300 to other devices allowing them to communicate via wire through plugging in a cable to a physical port connected to a NIC.
- processor 2302 may represent part of interface 2306, and some or all of the functionality described as being provided by interface 2306 may be provided more specifically by processor 2302.
- the components of the apparatus 2300 are each depicted as separate boxes located within a single larger box for reasons of simplicity in describing certain aspects and features of the apparatus 2300 disclosed herein. In practice however, one or more of the components illustrated in the example apparatus 2300 may comprise multiple different physical elements (e.g., interface 2306 may comprise terminals for coupling wires for a wired connection and a radio transceiver for a wireless connection).
- interface 2306 may comprise terminals for coupling wires for a wired connection and a radio transceiver for a wireless connection).
- Model-driven applications are very powerful as they offer access to any data that is modelled. However, a naive implementation of such a model-driven application will only ever consider the data node that has been explicitly requested by the user.
- the problem at hand is solved by determining, in a fully automated fashion, the state data schema node in the respective YANG data model that contains the configuration data schema node, and from the state data schema node to construct the instance identifier to the data node containing the state data which corresponds to the configuration data node of the resource, and then subsequently to fetch both of these.
- Various extensions to this logic are also presented.
- the advantage of this solution is that a user can see both configuration and state data together and contextualize this and can do so with a single request. The user does not have to navigate or issue multiple requests and need not be aware of how exactly the state data is modelled. This simplifies the work of the user and makes the user work flow more efficient.
- An apparatus that is capable of accessing configuration data and state data of configured resources of a network device, or network service, or indeed any other hierarchically-related set of resources which are identifiable and whose data model is expressed in the YANG data modelling language, and a method to determine the identity of the data node or data nodes holding the state data based on the identity of the data node holding the configuration data, and a method to merge this data, as will now be presented.
- a Management Agent, 102 executing on a Host, 104, exposes the configuration data and state data of a related set of hierarchically- structured resources, 106.
- the configuration data or state data of an individual resource e.g. network device, for example a network node, a radio antenna, an IP transport interface, etc.
- a data node is uniquely identified by an instance identifier.
- Said resources, 106 are modelled by means of a data model expressed in the YANG data modelling language.
- the data model is referred to as“schema tree”, with each YANG container / list referred-to here as“schema node”.
- Schema nodes are instantiated by data nodes.
- Said Host, 104, containing said Management Agent, 102 may have a physical embodiment or may be virtualized.
- An apparatus, 100 communicates with said Management Agent, 102, using a suitable management protocol, including but not limited to NETCONF, possibly also using authentication / authorization to secure the connection to said Management Agent, 102.
- a suitable management protocol including but not limited to NETCONF, possibly also using authentication / authorization to secure the connection to said Management Agent, 102.
- Said apparatus, 100 will typically be realized by a software component, such as an application, or a function.
- Said apparatus, 100 may be physically executing on the same Host, 104, together with said Management Agent, 102, or indeed may be running on a separate host to that of said Management Agent, 102.
- Said apparatus, 100 may be executing on a host which has a physical embodiment, or which may be virtualized.
- Said apparatus, 100 possesses one or more interfaces, including, but not restricted to, a graphical user interface, 108, and/or a command line interface, 110, through which it is possible for human users, 112, to interact with said apparatus, 100, in order to perform management operations against said resources, 106.
- interfaces including, but not restricted to, a graphical user interface, 108, and/or a command line interface, 110, through which it is possible for human users, 112, to interact with said apparatus, 100, in order to perform management operations against said resources, 106.
- such management operations may include, for example, obtaining and/or setting one or more parameters relating to a radio interface, radio resource management, mobility management, security management, communication management, and/or network management.
- Such parameters may relate, for example, to idle/connected mode of a network device, time and/or frequency resources of an interface, channel coding, interleaving, modulation, link adaptation, flow control, multiplexing, handover, device power control, transmission power control, timing advance, channel management, paging, call session establishment/release/re-establishment, load management, positioning, location services, signal measurement, reference signals, subscription management, cell configuration, call/session routing, quality of service (QoS), billing, charging, policy management, bearer management, and/or timer control.
- setting such parameters may relate, for example, to enabling, disabling, or assigning a particular value to said parameters.
- Said apparatus, 100 may also offer machine-consumable interfaces, 114, such as, but not restricted to, a REST interface, through which it is possible for semi-automated or fully-automated machine agents, 116, to interact with said apparatus, 100, in order to perform management operations against said resources, 106.
- machine-consumable interfaces such as, but not restricted to, a REST interface, through which it is possible for semi-automated or fully-automated machine agents, 116, to interact with said apparatus, 100, in order to perform management operations against said resources, 106.
- Said users, 112, or machine agents, 116 use the interfaces 108, 110, 114 offered by said apparatus, 100, to read the current configuration data and state data of said resources, 106, and to manipulate the configuration of said resources, 106.
- Said apparatus, 100 has access to, by means including, but not limited to, locally installed copies of, and/or automatically or user-initiated downloaded or otherwise sourced copies of, the YANG Data Model, 118, that describes the structure of the configuration data and state data of said resources, 106.
- Step 1 Said users, 112, or machine agents, 116, wish to retrieve the configuration data and state data of a resource (in one embodiment this may be a network device, but in typical embodiments a network device comprises a plurality of resources).
- a resource in one embodiment this may be a network device, but in typical embodiments a network device comprises a plurality of resources.
- the instance identifier of the resource is included in this request.
- Step 2 The instance identifier received is split up into relative paths and each of these is further split up into various parts.
- Step 3 The schema node that contains the definition of the configuration data is identified in the schema tree.
- Step 4 The schema node that contains the definition of the state data is identified in the schema tree.
- Step 5 The instance identifier to the data node containing the state data is constructed.
- Step 6 Both the configuration data and state data are read, and the merged results returned.
- N(X) be the name of a schema node X
- PX(X) be the prefix of a schema node if
- NS(X) be the namespace of a schema node if
- C(X) be the maximum cardinality of a schema node X
- K(X) be the keys of a schema node X.
- Said apparatus, 100 uses a fictitious, un-modelled, schema node which for the purposes of this method is considered the singleton root schema node, under which the actual schema tree is mounted.
- This fictitious schema node is referred-to as“/ (root)
- the YANG data modelling language allows for multiple data models fragments, called modules and sub-modules, to form together the totality of the data model.
- all mentions of the YANG data model should be understood to mean the totality of all YANG modules and sub-modules which together form the data model.
- YANG container and list constructs are schema nodes.
- other constructs can be schema nodes as well; however, for the purposes of the method described herein these other constructs are ignored as they are not of relevance.
- the YANG language allows for containers and list constructs to be made conditional by various constructs, such as“when “choice “if-feature” and others.
- the method described herein considers all of these conditions to always be fulfilled, and further logically removes any of these conditionality constructs, some of which are also schema nodes in the YANG language, from the data model, such that only a container and list constructs remain, with their original relative hierarchy intact.
- An example data model shown in figure 9, with an example data tree shown in figure 10, may be used to help understand the method described.
- the data model illustrated in figure 9 shows an example of how the resources of an enclosure containing racks, line-cards and ports may be modelled in YANG.
- the top-most schema node named“/ (root)” does not exist in the actual data model and cannot have an instantiation. It is added by the apparatus to have a single true root of the data model.
- the left branch of the schema tree is used for configuration data, whereas the right branch is used for state data.
- the prefix for all elements in this data model is “en: Further, in the data model this prefix is mapped to namespace “com.acme/enclosure
- the data tree illustrated in figure 10 shows instance data (data nodes).
- Each circle represents an instance of a YANG container or an instance of a member of a YANG list.
- the top-most node named“/ (root)” does not exist in the actual data tree. It is used here to create a structural relationship between the two branches. Dashed lines denote hierarchical relationships to data nodes that are not of relevance to the example at hand, and which have been omitted for brevity.
- Step 1 Initial request by user or machine agent
- Said users, 112, or machine agents, 116 wish to retrieve the configuration data and state data of a resource (e.g. network device, a radio antenna, an IP interface), which is part of said resources 106, such that the data is presented together.
- a resource e.g. network device, a radio antenna, an IP interface
- Said users, 112, or machine agents, 116 supply the instance identity of a resource part of said resources, 106, to said apparatus, 100, on one of said interfaces, 108, 110, 114.
- This is supplied as a request to retrieve the configuration data and state data of the resource.
- FIG 11 which shows a request made to retrieve the configuration and state data for a resource identified by the given instance identifier.
- Shown in figure 11 is a request made on a Command Line Interface.
- the instance identifier identifies exactly one data node in the data tree. In figure 10, this data node is denoted by circle“S”, 1002.
- Each relative path of the instance identifier contains the name and prefix, and thereby implicitly the namespace of, a schema node in the schema tree.
- Step 2 Splitting the Instance Identifier into relative paths
- Said apparatus, 100 splits the instance identifier supplied into relative paths, and further splits these up into node prefix, node namespace, node name and keys values, as is now explained in the following. See figure 12, which shows a number of relative paths being result of processing of the instance identifier. Each relative path is separated into the node prefix and subsequently resolved to a namespace, the node name and node keys. Not all relative paths may have node keys - in the example shown in figure 12, container“enclosure” does not have a key, as it is a singleton.
- Said apparatus, 100 determines the relative paths by splitting the instance identifier based on the forward solidus 7 character, ignoring any leading forward solidus character 7 and ignoring any forward solidus character 7 used within the value part or parts of any key-value sequence used within any relative path. The result of this is an ordered collection of relative paths.
- Each relative path will be further separated into node prefix, node name and keys. This is done in accordance with XPath rules (see ref. 4). Each prefix is resolved to a namespace by consulting the prefix / namespace mapping inside the data model.
- Step 3 Finding the configuration data schema node based on relative paths
- Said apparatus, 100 consults said Data Model, 118, and locates the configuration data schema node that contains the definition of the requested resource, based on the relative paths extracted in the previous step, as is now explained in the following. See figure 13, which shows one embodiment of steps to be performed to find the configuration data schema node in the schema tree, 1302, based on the relative paths of an instance identifier, 1304. If a match on name and namespace of the relative path against a schema node cannot be found, 1306-No, the instance identifier is invalid. If all the entries in P are exhausted, 1308-No, the schema node S arrived-at, 1312, denotes the node in the schema tree that contains the configuration data definition of the resource identified through the instance identifier.
- Step 4 Finding the state data schema node based on configuration data schema node
- FIGs of figures l4a and l4b shows the method when trying to find the state data schema node, beginning with the configuration data schema node and working up the configuration branch until a suitable sibling of a schema node is found.
- a stack is created, 1402. Each entry of this stack will contain a reference to a schema node. Entries can be pushed onto the stack and can be popped from the stack (last-in first-out). A pushing of a value onto the stack will increase the number of entries on the stack by one; a popping of an entry will always return the last pushed value, and at the same time remove this value from the stack and thereby decrease the number of entries of the stack by one. Let T be this stack.
- a second stack is created, 1402. Each entry of this stack will contain the name of a schema node. The semantics of such a stack are the same as outline above.
- W be a schema node that is under consideration.
- W be initialized with S, 1402.
- W simply gets the value of S or, in other words, W points to the same schema node as S.
- FIG 15 for this initial state for the example data tree shown in figure 10.
- the same data model is shown as in figure 9, but only YANG“container” and“list” constructs, as only these are of relevance to the method.
- the initial state in the table shown in figure 15 is shown before the search for the state data schema node is started.
- Schema node W is initialized to the configuration data schema node S previously found. Stacks T and L are empty.
- Step 5 Constructing the instance identifier to the data node in the data tree containing the state data [05a] Assuming said apparatus, 100, has found the schema node of the definition of the state data for the requested resource as detailed before, said apparatus, 100, now calculates the identity of the instance identifier for the state data in the data tree, as is now explained in the following. Please also refer to figure 18, where the table shows the contents of collection P after the stack L has been unwound. The schema names taken off stack L have been used to overwrite the node names in P (5-th column). Note how in entry 1 the name of the node is now“enclosure-state in entry 4 the name of the node is now “port-state” . Compare this to the original content of this collection P that is shown in figure 12. The re-assembled instance identifier is now pointing at the data node for the state data, as opposed to pointing to the data node for the configuration data originally.
- Step 6 Reading configuration and state data and merging results
- Said apparatus, 100 retrieves the configuration data for the requested resource using the instance identifier as originally supplied by said users, 112, or machine agents, 116, in sub-step [Olb], from said Management Agent, 102, via suitable means, for example a NETCONF“get-config” command.
- Said apparatus, 100 retrieves the state data for the requested resource using the instance identifier for the state data in the data tree as constructed in step 5, from said Management Agent, 102, via suitable means, for example a NETCONF“get” command.
- Extension 1 Cache mapping from configuration data schema node to state data schema node
- Steps 3 and 4 of the method describe how the schema node of the configuration data node is determined, and then subsequently how the schema node for the state data is determined.
- a caching mechanism may be employed, as is now explained in the following (also see figure 20):
- mapping this to the entries of stack L (this is shown in the right-hand side of figure 20). In this way the information found by executing the method of this embodiment of the invention is recorded and can be re-used when the method is executed again.
- step [ExOlc] Further, when the method is executed again and before executing sub- step [03a], said apparatus, 100, consults this cache and tries to find an entry within the cache matching all NS(P[n]) and N(P[n]) with n being a number iterated from 1 up to and including the number of entries in P. Said apparatus 100 obtained a number of relative paths by executing step 2 (i.e. splitting the Instance Identifier into relative paths) and the output of step 2 is illustrated in figure 12. In the operation of the step [ExOlc] of extension 1 the output of step 2 is checked against the content of the cache. If no such entry is found, the method as described in steps 3 and 4 executes as normal. If, however, a matching entry is found, then the mapped-to values of that entry will be used as stack L, steps 3 and 4 are skipped, and the method continues execution with sub-step [05b]
- a cache may contain one or more mappings from a collection to a stack L.
- a cache key is the totality of the namespaces and names of the relative paths of an instance identifier.
- a cache value is the resulting stack L that is populated as part of the navigation from the configuration data schema node to the state data schema node. Repeated invocations of the method may consult such a cache to avoid having to perform repeated navigation through the schema tree, and thereby speed up overall processing.
- Extension 2 Multiple resources
- steps 1 to 6 reference is made to the retrieval of configuration data and state data of a resource.
- said users, 112, or machine agents, 116 request configuration data and state data of multiple resources of said resources, 106, as indicated by supplying multiple instance identifiers, the following applies: [Ex02b] Steps 2 to 5 are repeated for each resource.
- Step 6 the configuration data and state data read from said management agent is repeated for each resource. Further, the merging together of configuration data and state data happens for each resource.
- Extension 3 Different word used to indicate state branch [Ex03a] Given the name of a schema node defining the configuration data of a resource, it is common convention in YANG to append the hyphen character followed by the word“state to that node name to arrive at the name of the schema node containing the definition of the state data of that resource.
- said apparatus, 100 can be configured with one or multiple suffixes that are considered when testing for schema node names.
- the only suffix considered is“-state
- each one of these is tried in turn, and a match on any of them is considered the same as a match for“-state. This applies to all sub-steps in the method where a comparison is made on the name of a schema node with such a suffix.
- an additional instance identifier is created for each entry in B.
- the instance identifier for each entry in B is constructed by taking the instance identifier arrived-at in sub-step [05f], and appending the following: the forward solidus character“/”, PX(B[n]), the colon character and N(B[n]).
- FIG 21 shows how the configuration and state data may be displayed on a Command Line Interface for a request for a resource.
- Consult figure 3 for the data tree.
- the state data of container“statistics which has no corresponding container in the configuration, has also been retrieved and is shown in a form to visually separate it from other state data.
- sub-step [04g] If in sub-step [04g] the attempt to find schema node Z fails, the data model does not contain a definition of state data for the resource in accordance with general YANG conventions. All following sub-steps until [06b] are skipped, sub-step [06b] is executed, sub-step [06c] is skipped, and in sub-step [06d] only the configuration data is returned.
- sub-step [04i] If in sub-step [04i] the attempt to find schema node D fails, the data model does not contain a definition of state data for the resource in accordance with general YANG conventions. All following sub-steps until [06b] are skipped, sub-step [06b] is executed, sub-step [06c] is skipped, and in sub-step [06d] only the configuration data is returned.
- the method and apparatus described above are capable of determining the instance identifier to a state data node that corresponds, with the instance identifier, to a configuration data node of a resource in a fully automated fashion, by means of determining the state data schema node that corresponds with the configuration data schema node of a resource, modelled as part of a YANG data model, based on certain YANG conventions, in a fully automated fashion; and further to retrieve all relevant information from both configuration and state data nodes for this resource and to merge this data.
- Another embodiment of a method of providing resource information based on a YANG data model in illustrated in figure 24.
- the method is implemented by a computing device and it comprises operations of receiving, 2402, a message comprising an instance identifier of a data node representing a resource that is modelled in a YANG data model.
- the message comprises a request for retrieving state data and configuration data of the resource.
- corresponding configuration and state data nodes of the resource modelled in the YANG data model are then determined, 2404.
- configuration and state information of the resource is obtained, 2406, using the corresponding configuration and state data nodes.
- the method comprises responding, 2408, to the message with the obtained configuration and state information of the resource.
- obtaining the configuration and state information of the resource comprises fetching the configuration and state information of the resource from a remote device, wherein also preferably, the remote device comprises a plurality of resources.
- the remote device may be the resource.
- the instance identifier is used to determine the configuration data node and then the state data node is determined based on said configuration data node, which leads to determining the corresponding configuration and state data nodes.
- the operation of determining corresponding configuration and state data nodes of the resource modelled in the YANG data model comprises splitting, 2204, the received instance identifier into relative paths according to XPath syntax and the contents of the YANG data model and then identifying, 2206, a configuration data schema node of the network device in the YANG data model of the network device based on the relative paths.
- the method comprises identifying, 2208, state data schema node of the network device in said YANG data model of the network device based on said identified configuration data schema node as described earlier with reference to step 4 illustrated in figure 8 and step 2208 in figure 22.
- the operation of obtaining, 2406, configuration and state information of the resource using the corresponding configuration and state data nodes comprises constructing an instance identifier of the data node containing the state data. Further the operation of obtaining, 2406, comprises retrieving, 2210, configuration data and state data from the configuration and state data nodes for this network device and merging, 2212, said retrieved information for output. More details of the operations of constructing an instance identifier, retrieving configuration data and state data and merging can be found in description of steps 5 and 6 illustrated in figure 8.
- an apparatus, 2300 implemented as a computing device for providing resource information based on a YANG data model.
- the computing device is configured to receive a message comprising an instance identifier of a data node representing a resource that is modelled in a YANG data model and to determine, based on the instance identifier, corresponding configuration and state data nodes of the resource modelled in the YANG data model. Further, the computing device is configured to obtain configuration and state information of the resource using the corresponding configuration and state data nodes; and to respond to the message with the configuration and state information of the resource.
- the computing device which may be implemented in an arrangement as illustrated in figure 23, may be implemented using a processing circuitry, 2302, and a memory, 2304, wherein the memory, 2304, contains instructions executable by the processing circuitry, 2302, such that the computing device, 2300, is operative to perform according to embodiments of the method described above with reference to figures 24, 22, 8 as well as 13, l4a and l4b.
- Embodiments of the present disclosure additionally or alternatively include responsive to receiving a message comprising an instance identifier of a data node representing a resource that is modelled in a YANG data model, determining, based on the instance identifier, corresponding configuration and state data nodes of the resource modelled in the YANG data model and, using the corresponding configuration and state data nodes to obtain configuration and state information of the resource, and responding to the message with the configuration and state information of the resource.
- obtaining the configuration and state information of the resource comprises fetching the configuration and state information of the resource from a remote device.
- the remote device comprises a plurality of resources, but in some embodiments the remote device may be the resource
- determining corresponding configuration and state data nodes for the resource based on the instance identifier comprises determining the configuration data node based on the instance identifier and determining the state data node based on the configuration data node. In other embodiments, determining corresponding configuration and state data nodes for the resource comprises determining the state data node based on the instance identifier and determining the configuration data node based on the state data node.
- a computing device for obtaining state data together with corresponding configuration data of a resource operating in a communications or data network, wherein the resource is modelled in a YANG data model stored in a memory associated with said resource, the computing device configured to:
- a computing device for obtaining state data together with corresponding configuration data of a resource operating in a communications or data network, wherein the resource is modelled in a YANG data model stored in a memory associated with said resource, the device comprising:
- a receiving module configured to receive a request for retrieving state data and configuration data of the resource, said request comprising an instance identifier of the resource;
- a splitting module configured to split the received instance identifier into relative paths according to syntax of a YANG data model;
- a first identifying module configured to identify a configuration data schema node of the resource in the YANG data model of the resource based on the relative paths;
- a second identifying module configured to identify state data schema node of the resource in said YANG data model of the resource based on the identified configuration data schema node;
- a constructing module configured to construct an instance identifier of the data node containing the state data
- a retrieving module configured to retrieve configuration data and state data from the configuration and state data nodes for this resource
- a merging module configured to merge said retrieved information for output.
- a computing device for providing resource information based on a YANG data model comprising:
- a receiving module configured to receive a message comprising an
- a determining module configured to determine, based on the instance identifier, corresponding configuration and state data nodes of the resource modelled in the YANG data model;
- an obtaining module configured to use the corresponding configuration and state data nodes to obtain configuration and state information of the resource
- RFC 6020 “YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)” - https://tools.ietf.org/htmFrfc6020; 2.
- RFC 7950 “The YANG 1.1 Data Modeling Language” - https://tools.ietf.org/html/rfc7950;
- RFC 7223 “A YANG Data Model for Interface Management” - https://tools.ietf.org/html/rfc7223;
- XPath syntax The World Wide Web Consortium - XML Path Language (XPath) Version 1.0 - W3C Recommendation 16 November 1999 (Status updated October 2016)
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862681562P | 2018-06-06 | 2018-06-06 | |
PCT/EP2018/076511 WO2019233616A1 (fr) | 2018-06-06 | 2018-09-28 | Procédé et appareil pour fusionner une configuration yang et de données d'état dans des applications activées par le modèle |
Publications (1)
Publication Number | Publication Date |
---|---|
EP3804225A1 true EP3804225A1 (fr) | 2021-04-14 |
Family
ID=63833973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP18785533.3A Withdrawn EP3804225A1 (fr) | 2018-06-06 | 2018-09-28 | Procédé et appareil pour fusionner une configuration yang et de données d'état dans des applications activées par le modèle |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP3804225A1 (fr) |
WO (1) | WO2019233616A1 (fr) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113114479A (zh) * | 2020-01-10 | 2021-07-13 | 华为技术有限公司 | 一种数据获取方法及装置 |
CN113381870B (zh) * | 2020-03-09 | 2023-01-06 | 华为技术有限公司 | 报文处理方法和设备 |
US11502911B2 (en) | 2021-04-07 | 2022-11-15 | Cisco Technology, Inc. | Dynamic augmentation for functionally similar data models on network devices |
CN115695134A (zh) * | 2021-07-30 | 2023-02-03 | 华为技术有限公司 | 一种查询方法、装置及设备 |
CN114500299A (zh) * | 2022-02-14 | 2022-05-13 | 北京华环电子股份有限公司 | 光传送网设备的软件定义网络管控方法及系统 |
CN114205205A (zh) * | 2022-02-15 | 2022-03-18 | 北京华环电子股份有限公司 | 一种兼容不同yang模型的南向接口实现方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10785278B2 (en) * | 2016-11-04 | 2020-09-22 | Google Llc | Network management interface |
US20170187577A1 (en) * | 2017-03-14 | 2017-06-29 | Nuviso Networks Inc | System for configuring network devices |
-
2018
- 2018-09-28 EP EP18785533.3A patent/EP3804225A1/fr not_active Withdrawn
- 2018-09-28 WO PCT/EP2018/076511 patent/WO2019233616A1/fr unknown
Also Published As
Publication number | Publication date |
---|---|
WO2019233616A1 (fr) | 2019-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019233616A1 (fr) | Procédé et appareil pour fusionner une configuration yang et de données d'état dans des applications activées par le modèle | |
US8417803B2 (en) | Interfacing between a command line interface-based application program and a remote network device | |
US20230074815A1 (en) | Packet edit processing method and related device | |
US10476755B1 (en) | Multi vendor device support in network management systems | |
JP6269999B2 (ja) | パケット処理方法および装置 | |
US20050265342A1 (en) | System and method for transforming configuration commands | |
CN107113241B (zh) | 路由确定方法、网络配置方法以及相关装置 | |
US10326657B1 (en) | Multi vendor device support in network management systems | |
US11184281B2 (en) | Packet processing method and apparatus | |
AU2021261819B2 (en) | Data packet processing method and device | |
EP1357701A2 (fr) | Méthode et dispositif pour reconstituer la configuration d'un dispositif de réseau | |
US10984048B2 (en) | Efficient graph database traversal | |
US20220368592A1 (en) | Multi-fabric deployment and management platform | |
EP4329248A1 (fr) | Procédé et appareil d'acheminement de paquets, périphérique de réseau et support d'enregistrement | |
CN105207984A (zh) | 使用连续字节来表示通用格式报头的方法及其装置 | |
CN105187330A (zh) | 使用唯一分组标识符来标识分组的结构的方法及其装置 | |
JP2008167464A (ja) | Tlvに基づいたリンク状態のパケットの処理方法及び装置 | |
CN103581020B (zh) | 一种报文转发的方法、装置及系统 | |
CN105282137A (zh) | 将分组拆分成各层以供修改且之后将层拼接的方法及装置 | |
CN105323192A (zh) | 将分组修改成通用格式用于实现可编程修改的方法及装置 | |
CN105282033A (zh) | 允许报头层的扩展和塌缩以实现灵活修改的方法及其装置 | |
US11652726B2 (en) | Fragment modification of routing control functions | |
CN105282136A (zh) | 使用通用修改指令来实现分组的灵活修改的方法及其装置 | |
WO2023081397A1 (fr) | Adressage de structure de chaîne de bits récursive | |
CN117714398A (zh) | 一种数据传输系统、方法、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20201214 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
17Q | First examination report despatched |
Effective date: 20210430 |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) | ||
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R079 Free format text: PREVIOUS MAIN CLASS: H04L0012240000 Ipc: H04L0041085300 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: H04L 41/0213 20220101ALI20220916BHEP Ipc: H04L 43/0817 20220101ALI20220916BHEP Ipc: H04L 41/0853 20220101AFI20220916BHEP |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20230401 |