First node, second node and methods performed thereby for handling data models
A machine learning-based method addresses inefficiencies in mapping data models across vendors by using unsupervised, translation, and graph-based models, ensuring efficient and accurate vendor-specific data model determination.
Patent Information
- Application Number
- PCT/IN2024/050282
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-19
- Publication Date
- 2025-09-25
AI Technical Summary
Existing methods for mapping data models across multiple vendors in telecommunications networks are inefficient, requiring manual coding and are not scalable, and existing automated approaches like YANG and neural machine translation face limitations in accuracy and computational cost.
A machine learning-based approach using unsupervised, language translation, and graph-based link prediction models to determine vendor-specific data models from generic models, leveraging semantic information for accurate and efficient mapping.
The approach provides scalable, fast, and accurate data model handling, reducing manual effort and adapting dynamically to changes in network configurations.
Smart Images

Figure IN2024050282_25092025_PF_FP_ABST
Abstract
Description
[0001] FIRST NODE, SECOND NODE AND METHODS PERFORMED THEREBY FOR HANDLING
[0002] DATA MODELS
[0003] TECHNICAL FIELD
[0004] The present disclosure relates generally to a first node and methods performed thereby for handling data models. The present disclosure further relates generally to a second node and methods performed thereby, for handling the data models. The present disclosure also relates generally to computer programs and computer-readable storage mediums, having stored thereon the computer programs to carry out these methods.
[0005] BACKGROUND
[0006] Computer systems in a communications network or communications system may comprise one or more nodes. A node may comprise one or more processors which, together with computer program code may perform different functions and actions, a memory, a receiving port, and a sending port. A node may be, for example, a server. Nodes may perform their functions entirely on the cloud.
[0007] Computer systems may be comprised in a telecommunications network. The telecommunications network may cover a geographical area which may be divided into cell areas, each cell area being served by a type of node, a network node in the Radio Access Network (RAN), radio network node or Transmission Point (TP), for example, an access node such as a Base Station (BS), e.g., a Radio Base Station (RBS), which sometimes may be referred to as e.g., gNB, evolved Node B (“eNB”), “eNodeB”, “NodeB”, “B node”, or Base Transceiver Station (BTS), depending on the technology and terminology used. The base stations may be of different classes such as e.g., Wide Area Base Stations, Medium Range Base Stations, Local Area Base Stations and Home Base Stations, based on transmission power and thereby also cell size. A cell may be understood to be the geographical area where radio coverage may be provided by the base station at a base station site. One base station, situated on the base station site, may serve one or several cells. Further, each base station may support one or several communication technologies. The telecommunications network may also comprise network nodes which may serve receiving nodes, such as user equipments, with serving beams.
[0008] The standardization organization Third Generation Partnership Project (3GPP) is currently in the process of specifying a New Radio Interface called Next Generation Radio or New Radio (NR), as well as a Fifth Generation (5G) Packet Core Network, which may be referred to as 5G Core Network (5GC). The advantages of 5G NR may include higher bandwidth, more resources, low latency and network slicing. 5G may provide services to various applications, such as enhanced Mobile Broad Band (eMBB), machine to Machine type communication (mMTC), Ultra Reliable Low Latency Communication (URLLC), etc.
[0009] 5G may be understood to bring in sizeable flexibility with technological advancements along with innovations of cloud and AL This may be understood to bring a whole new set of opportunities in the enterprise segment.
[0010] For many enterprises, mobile cellular technology has already proven to bring great value to their digitalization process, which may include numerous use cases, such as autonomous robotics, enhanced video services, connected vehicles, remote operations, hazard, and maintenance sensors etc. This may be understood to not only enhance productivity in connected factories, but also make workplaces safer.
[0011] In the course of operations of the telecommunications network, data may be collected via the telecommunications network, which may enable to monitor and manage different functions.
[0012] The advent of for example, the Internet of Things (loT) has exponentially increased the amount of data to be monitored. The availability of large amounts of data, such as those collected for example, from loT devices, may be understood to enable the possibility of analysing such data to make predictions on events, with a high predictive power. To make predictions on events may be understood to refer to building mathematical models that may fit those data, which mathematical models may then be used to make predictions for such events. Within this context, machine learning models may be used to analyze the data collected, and enable an improved management of different types of operations via the telecommunications network.
[0013] Machine Learning
[0014] Machine learning (ML) may be understood as the study of computer algorithms that may improve automatically through experience. It is seen as a part of Artificial Intelligence (Al). ML algorithms may build a model based on sample data, known as "training data", in order to make predictions or decisions without being explicitly programmed to do so. ML algorithms may be used in a wide variety of applications, such as email filtering and computer vision, where it may be difficult or unfeasible to develop conventional algorithms to perform the needed tasks.
[0015] There may be basically 3 types of ML Algorithms: Supervised Learning, Unsupervised Learning, and Reinforcement Learning (RL).
[0016] Supervised Learning algorithms may comprise a target / outcome variable, or dependent variable, which may have to be predicted from a given set of predictors, that is, independent variables. Using this set of variables, a function may be generated that may map inputs to desired outputs. The training process may continue until the model may achieve a desired level of accuracy on the training data. Once an ML model may have been trained, an inference process may begin, whereby new data may be run through the ML model to calculate an output. Examples of Supervised Learning may be Regression, Decision Tree, Random Forest, KNN, Logistic Regression etc.
[0017] In Unsupervised Learning algorithms, there may be no target or outcome variable to predict / estimate. It may be used for clustering a population into different groups, which may be widely used for segmenting customers in different groups for specific intervention. Examples of Unsupervised Learning may be K-means, mean-shift clustering, Density-Based Spatial Clustering of Applications with Noise (DBSCAN), Expectation-Maximization (EM) Clustering using Gaussian Mixture Models (GMM), Agglomerative Hierarchical Clustering, etc....
[0018] Cluster analysis or clustering may be understood as an ML technique which may comprise grouping a set of objects in such a way that objects in the same group, which may be called a cluster, may be understood to be more similar, in some sense, to each other than to those in other groups, that is, other clusters. It may be understood as a main task of exploratory data mining, and a common technique for statistical data analysis, used in many fields, including pattern recognition, image analysis, information retrieval, bioinformatics, data compression, computer graphics and ML.
[0019] Using an RL algorithm, a machine may be trained to make specific decisions. It may be understood to work as follows: the machine may be exposed to an environment where it may train itself continually using trial and error. This machine may learn from past experience and may try to capture the best possible knowledge to make accurate decisions. An example of RL may be a Markov Decision Process (MDP). The training using RL may comprise generating an ML model. To train such an ML model, an agent, given a state of the environment, may take an action in this environment and receive a reward. The action may result in a new state of the environment. This process may be repeated in a loop. Over time, the agent may learn to take actions that may result in larger immediate and future rewards, meaning that it may be understood to be in the best interest of the agent not to take the action that may only lead to the highest reward in the next state, but the action that may cumulatively lead to the highest reward in the next state and in a future number of states.
[0020] The agent may comprise a neural network which may input the state and may produce an action. There may be several ML algorithms that may be used for training the network of the agent, e.g., policy-learning based, such as actor-critic approaches, or value-based learning, such as deep-q networks.
[0021] Network controllers may need to configure and manage network equipment from different vendors. Each vendor of network equipment may provide a different set of data models for configuring common network functions and retrieval of operational state. A data model may be understood as a data structure that may comprise one or more configurations for an equipment, such as a network equipment. For example, a global configuration for ‘Border Gate way Protocol (BGP) graceful restart’ may be considered to be applied to network equipment from different vendors. Configuration of this parameter given in an abstract data model format, may be understood to have to be translated to a corresponding configuration based on a vendor specific data model version used on a particular network equipment. Given input, outputs and human mapping between the input and output, the problem may be understood to be to learn the mapping or schema from source to target, vendor-specific, data model. A solution may be understood to need to be scalable across operators, driver Application Programming Interfaces (APIs), configurations etc.
[0022] Currently, multi-vendor network controllers use a manual approach to solve this problem, where for each network equipment vendor, a new data-model adaptor needs to be developed. Multi-vendor network controllers may manually code the mapping, based on vendor data model, to send to hardware equipment. However, manually writing plugins for each vendor and each configuration is time consuming and not scalable. It is also challenging to scale across multi-vendor network controllers and orchestration systems across local sites, variation of versions, equipment, and functionalities.
[0023] Some existing approaches attempt to address this problem while reducing the manual process in such scenarios. In one approach [1], a Yet Another Next Generation (YANG) model management system is disclosed which comprises an Application Programming Interface (API) Tools module for acquiring user YANG files and generating an API mapping Table according to the user YANG files. The API mapping Table may enable a mapping from source data model to target data model.
[0024] In another approach, the YANG Development Kit (YDK) may be used. The YDK is a software development tool, which may provide API for building applications based on YANG models. The YDK allows to generate a YANG model API and may provide services to apply the generated data model over various communication protocols. YDK may also provide codec services to translate API models to / from extensible Markup Language (XML) and JSON encoded strings.
[0025] In yet another approach [2], methods for automatic transformation of network data models using neural machine translation are described. Neural machine translation (NMT) of languages between network operation systems may be used. An NMT model may comprise an encoder and a decoder to implement the machine translation. The encoder encodes a source sentence as a sequence of encoder hidden states. The decoder may incorporate attention mechanism to generate a target sentence, conditioned on the encoder hidden states. The NMT model may also use a modified beam search with variable beam width and search scope for each search step to speed up search process with a balance of accuracy and processing cost. The disclosed mechanism may be used in a recommender system for XPath auto-generation between different network operation systems. In a further approach [3], a data model-based approach is used for building a transport Software-Defined Networking (SDN) platform that uses operator-defined data models to build common APIs as vendor-neutral network representations for managing multi-vendor optical networks consisting of terminal devices and line systems.
[0026] In yet another approach [4], data models may be mapped at a network device based on semantic matching for at least two of network data models for use in a network application. The semantic matching comprises computing labels for elements of the network data models utilizing label computation algorithms configured for notational conventions used in the network data models, computing contexts for the elements based on a hierarchy of each of the network data models, removing one or more of the labels used to form the contexts to create reduced contexts, and computing a semantic relationship for the reduced contexts of the network data models.
[0027] SUMMARY
[0028] As part of the development of embodiments herein, one or more problems with the existing technology will first be identified and discussed.
[0029] Existing approaches for mapping data models from a generic source to target, vendorspecific, data models do not handle the case where there may be many vendors and configurations. Some approaches may be specific to YANG only. Beam searching may reach saturation, based on beam width, and increase computational cost. Label computation algorithms for semantic matching may require a significant amount of labelled, that is, validated, data. Classical natural language processing techniques may translate to sub-par performance.
[0030] According to the foregoing, it is an object of embodiments herein to improve the handling of data models in a computer system.
[0031] According to a first aspect of embodiments herein, the object is achieved by a computer- implemented method, performed by a first node. The method is for handling data models. The first node operates in a computer system. The first node obtains a first data model. The first node selects a machine learning model to use for determining which second data model is specific to a first third party. The machine learning model is selected out of respective machine learning models trained based on one or more machine learning approaches selected from i) a first approach, the first approach being an unsupervised approach, ii) a second approach, the second approach being a language translation model based approach, and iii) a third approach, the third approach being a graph based link prediction model-based approach. The first node then determines, using the first data model as input to the selected machine learning model, which second data model is specific to the first third party, out of a plurality of third party specific models corresponding to the obtained first data model. The machine learning model uses semantic information in the first data model and the second data model to perform the determination. The first node then initiates outputting a first indication of the determined first third party-specific second data model.
[0032] According to a second aspect of embodiments herein, the object is achieved by a computer-implemented method, performed by the second node. The method is for handling data models. The second node operates in the computer system. The second node obtains a plurality of first training data models. The first training data models are generic data models. The second node also obtains a plurality of second training data models. Each of the second training data models is specific to a respective third party. The second node selects one or more machine learning approaches to use for training a machine learning model, out of: i) the first approach, the first approach being the unsupervised approach, ii) the second approach, the second approach being the language translation model based approach, and iii) the third approach, the third approach being the graph based link prediction model-based approach. The second node then trains, using machine learning, the machine learning model to map the plurality of first training data models to the plurality of second training data models. The training is performed so that the trained machine learning model is able to determine, using the first data model as input to the machine learning model, which second data model is specific to the first third party, out of the plurality of third party specific models corresponding to the obtained first data model. The machine learning model is to use the semantic information in the first data model and the second data model to perform the determination. The training is performed until the accuracy level of the machine learning model reaches the threshold. The second node then sends a second indication indicating the trained machine learning model to the first node operating in the computer system.
[0033] According to a third aspect of embodiments herein, the object is achieved by the first node. The first node may be understood to be for handling the data models. The first node is configured to operate in the computer system. The first node is configured to obtain the first data model. The first node is also configured to select the machine learning model to use for determining which second data model is specific to the first third party. The machine learning model is configured to be selected out of the respective machine learning models configured to be trained based on the one or more machine learning approaches configured to be selected from: i) the first approach, the first approach being configured to be the unsupervised approach, ii) the second approach, the second approach being configured to be the language translation model based approach, and iii) the third approach, the third approach being configured to be the graph based link prediction model-based approach. The first node is further configured to determine, using the first data model as input to the machine learning model configured to be selected, which second data model is specific to the first third party, out of the plurality of third party specific models configured to correspond to the obtained first data model. The machine learning model is configured to use the semantic information in the first data model and the second data model to perform the determination. The first node is further configured to initiate outputting the first indication of the first third party-specific second data model configured to be determined.
[0034] According to a fourth aspect of embodiments herein, the object is achieved by the second node. The second node may be understood to be for handling the data models. The second node is configured to operate in the computer system. The second node is configured to obtain the plurality of first training data models. The first training data models are configured to be generic data models. The second node is further configured to obtain the plurality of second training data models. Each of the second training data models are configured to be specific to a respective third party. The second node is also configured to select one or more machine learning approaches to use for training a machine learning model, out of: i) the first approach, the first approach being configured to be the unsupervised approach, ii) the second approach, the second approach being configured to be the language translation model based approach, and iii) the third approach, the third approach being configured to be the graph based link prediction model-based approach. The second node is further configured to, train, using machine learning, the machine learning model to map the plurality of first training data models to the plurality of second training data models, so that the trained machine learning model is configured to be able to determine, using the first data model as input to the machine learning model, which second data model is configured to be specific to the first third party, out of the plurality of third party specific models configured to correspond to the obtained first data model. The machine learning model is configured to be to use the semantic information in the first data model and the second data model to perform the determination. The training is configured to be performed until the accuracy level of the machine learning model reaches the threshold. The second node is further configured to send the second indication configured to indicate the trained machine learning model to the first node configured to operate in the computer system.
[0035] According to a fifth aspect of embodiments herein, the object is achieved by a computer program, comprising instructions which, when executed on at least one processing circuitry, cause the at least one processing circuitry to carry out the method performed by the first node.
[0036] According to a sixth aspect of embodiments herein, the object is achieved by a computer-readable storage medium, having stored thereon the computer program, comprising instructions which, when executed on at least one processing circuitry, cause the at least one processing circuitry to carry out the method performed by the first node.
[0037] According to a seventh aspect of embodiments herein, the object is achieved by a computer program, comprising instructions which, when executed on at least one processing circuitry, cause the at least one processing circuitry to carry out the method performed by the second node.
[0038] According to an eighth aspect of embodiments herein, the object is achieved by a computer-readable storage medium, having stored thereon the computer program, comprising instructions which, when executed on at least one processing circuitry, cause the at least one processing circuitry to carry out the method performed by the second node.
[0039] Certain embodiments herein may provide one or more of the following technical advantage(s). As a first advantage, embodiments herein may be understood to provide a methodology that may be scalable, fast, and accurate, subject to availability training data. Embodiments herein may be understood to save time and improve efficiency over the existing manual process.
[0040] A further advantage may be understood to be that embodiments herein may leverage machine learning, so they may be dynamic and adapt to change.
[0041] Yet another advantage may be understood to be that embodiments herein may address a relevant real-world problem.
[0042] As to the three approaches described herein, each may be understood to have advantages. The first approach, comprising usage of a retrieval model, may be understood to advantageously enable an unsupervised approach. Therefore it may be applied in absence of labelled data. Processing in the first approach may be understood to be faster.
[0043] The second approach, comprising usage of a language translation model, may be understood to be advantageously enable more accurate and more generalized.
[0044] The third approach, comprising usage of a graph based link prediction model, may be understood to advantageously enable fast running.
[0045] BRIEF DESCRIPTION OF THE DRAWINGS
[0046] Examples of embodiments herein are described in more detail with reference to the accompanying drawings, according to the following description.
[0047] Figure 1 is a schematic diagram illustrating two non-limiting examples, in panels a) and b), of a computer system, according to embodiments herein.
[0048] Figure 2 is a flowchart depicting a method in a first node, according to embodiments herein. Figure 3 is a flowchart depicting a method in a second node, according to embodiments herein.
[0049] Figure 4 is a schematic diagram depicting a non-limiting example of the method performed by the first node, according to embodiments herein. Figure 5 is a schematic diagram depicting particular aspects of a non-limiting example of the method performed by any of the first node or the second node, according to embodiments herein.
[0050] Figure 6 is a schematic diagram depicting particular aspects of another non-limiting example of the method performed by any of the first node and the second node, according to embodiments herein.
[0051] Figure 7 is a schematic diagram depicting particular aspects of another non-limiting example of the method performed by any of the first node and the second node, according to embodiments herein.
[0052] Figure 8 is a schematic diagram depicting particular aspects of a non-limiting example of generation of embeddings that may be performed by any of the first node and the second node, according to embodiments herein.
[0053] Figure 9 is a schematic diagram depicting particular aspects of another non-limiting example of the method performed by any of the first node and the second node, according to embodiments herein.
[0054] Figure 10 is a schematic diagram depicting particular aspects of another non-limiting example of the method performed by any of the first node and the second node, according to embodiments herein.
[0055] Figure 11 is a schematic diagram depicting particular aspects of another non-limiting example of the method performed by any of the first node and the second node, according to embodiments herein.
[0056] Figure 12 is a schematic diagram depicting particular aspects of another non-limiting example of the method performed by any of the first node and the second node, according to embodiments herein.
[0057] Figure 13 is a schematic diagram depicting particular aspects of another non-limiting example of the method performed by any of the first node and the second node, according to embodiments herein.
[0058] Figure 14 is a schematic diagram depicting particular aspects of another non-limiting example of the method performed by any of the first node and the second node, according to embodiments herein.
[0059] Figure 15 is a schematic block diagram illustrating an embodiment of a first node, according to embodiments herein.
[0060] Figure 16 is a schematic block diagram illustrating an embodiment of a second node, according to embodiments herein. DETAILED DESCRIPTION
[0061] Certain aspects of the present disclosure and their embodiments address the challenges identified in the Background and Summary sections with the existing methods and provide solutions to the challenges discussed.
[0062] The goal of embodiments herein may be understood to be to dynamically understand and generate the mapping of parameters to be used by an API to convert a data model from an abstract, generic form, to vendor specific form.
[0063] Embodiments herein may be understood to relate to a machine learning based data model adapter. Embodiments herein may be understood to provide an AI / ML based approach to learn the mapping or schema from an input abstract data model to a target vendor-specific data model. Once trained to learn the mapping, the ML model, given an input abstract data model, may provide a vendor-specific data model as output.
[0064] Embodiments herein may be understood to advantageously be scalable across multivendor network controllers and orchestration systems across local sites, variation of versions, equipment, functionalities, operators, driver APIs, configurations etc.
[0065] Some of the embodiments contemplated will now be described more fully hereinafter with reference to the accompanying drawings, in which examples are shown. In this section, the embodiments herein will be illustrated in more detail by a number of exemplary embodiments. Other embodiments, however, are contained within the scope of the subject matter disclosed herein. The disclosed subject matter should not be construed as limited to only the embodiments set forth herein; rather, these embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art. It should be noted that the exemplary embodiments herein are not mutually exclusive. Components from one embodiment may be tacitly assumed to be present in another embodiment and it will be obvious to a person skilled in the art how those components may be used in the other exemplary embodiments.
[0066] Several embodiments and examples are comprised herein. It should be noted that the embodiments and / or examples herein are not mutually exclusive. Components from one embodiment or example may be tacitly assumed to be present in another embodiment or example and it will be obvious to a person skilled in the art how those components may be used in the other exemplary embodiments and / or examples.
[0067] Figure 1 depicts two non-limiting examples, in panels “a” and “b”, respectively, of a computer system 100, in which embodiments herein may be implemented. In some example implementations, such as that depicted in the non-limiting examples of Figure 1 , the computer system 100 may be a computer network. In other example implementations, such as that depicted in panel b) of Figure 1 , the computer system 100 may be implemented in a telecommunications system, sometimes also referred to as a cellular radio system, cellular network or wireless communications system. In some examples, the telecommunications system may comprise network nodes which may serve receiving nodes, such as wireless devices, with serving beams.
[0068] In some examples, the telecommunications system may be, for example, a communications network, such as 5G system, or Next Gen network. The telecommunications system may also, or alternatively, support other technologies, such as LTE, e.g., LTE Frequency Division Duplex (FDD), LTE Time Division Duplex (TDD), LTE Half-Duplex Frequency Division Duplex (HD-FDD), LTE operating in an unlicensed band, Wideband Code Division Multiple Access (WCDMA), Universal Terrestrial Radio Access (UTRA) TDD, Global System for Mobile communication (GSM) / Enhanced Data Rate for GSM Evolution (EDGE) Radio Access Network (GERAN) network, Ultra-Mobile Broadband (UMB), EDGE network, network comprising of any combination of Radio Access Technologies (RATs) such as e.g., Multi-Standard Radio (MSR) base stations, multi-RAT base stations etc., any 1 rd Generation Partnership Project (3GPP) cellular network, Wireless Local Area Network / s (WLAN) or WiFi network / s, Worldwide Interoperability for Microwave Access (WiMax), Internet of Things (loT), Machine Type Communication (MTC), IEEE 802.15.4-based low-power short-range networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LowPAN), Zigbee, Z-Wave, Bluetooth Low Energy (BLE), or any cellular network or system.
[0069] The computer system 100 comprises nodes, whereof a first node 111 and a second node 112 are depicted in Figure 1 . In some examples, such as that depicted in Figure 1 a), the first node 111 and the second node 112 may be co-located or be the same node. The computer system 100 may comprise additional nodes.
[0070] Any of the first node 111 and the second node 112 may be understood, respectively, as a first computer system or server and a second computer system or server. Any of the first node 111 and the second node 112 may be implemented as a standalone server in e.g., a host computer in the cloud 115, as depicted in the non-limiting example of Figure 1b) for the first node 111 and the second node 112. In other examples, any of the first node 111 and the second node 112 may be a distributed node or distributed server, such as a virtual node in the cloud 115, and may perform some of its respective functions locally, e.g., by a client manager, and some of its functions in the cloud 115, by e.g., a server manager. In other examples, any of the first node 111 and the second node 112 may perform its functions entirely on the cloud 115, or partially, in collaboration or collocated with a radio network node. Yet in other examples, any of the first node 111 and the second node 112 may also be implemented as processing resources in a server farm. In yet other examples, any of the first node 111 and the second node 112 may be comprised in a device, such as the device 140 described below, or on the edge. Any of the first node 111 and the second node 112 may be under the ownership or control of a service provider or may be operated by the service provider, or on behalf of the service provider. Any of the first node 1 11 , and the second node 112 may have a capability to perform machine-implemented learning procedures, which may be also referred to as “machine learning” (ML).
[0071] In some examples, any of the first node 1 11 , and the second node 112 may have a capability to manage an artificial neural network 121. The artificial neural network 121 may be understood as a machine learning framework, which may comprise a collection of connected nodes, where in each node or perceptron, there may be an elementary decision unit. Each such node may have one or more inputs and an output. The input to a node may be from the output of another node or from a data source. Each of the nodes and connections may have certain weights or parameters associated with it. In order to solve a decision task, the weights may be learnt or optimized over a data set which may be representative of the decision task. The most commonly used node may have each input separately weighted, and the sum may be passed through a non-linear function which may be known as an activation function. The nature of the connections and the node may determine the type of the neural network, for example a feedforward network, recurrent neural network etc. That any of the first node 11 1 and the second node 1 12 may have the capability to manage the artificial neural network 121 may be understood herein as having the capability to store the training data set and the models that may result from the machine learning, to train a new model, and once the model may have been trained, to use this model for prediction. In some embodiments, such as those depicted in Figure 1 b), the system that may be used for training the model and the one used for prediction may be different. That is, the first node 1 11 may be different from the second node 1 12. In some embodiments, the first node 11 1 may be understood as a node having a capability to use the model, once the model may have already been trained. However, in other embodiments, the first node 11 1 may also have a capability to train the artificial neural network 121 .
[0072] Any of the second node 1 12, and in some embodiments, the first node 1 11 , used for training the artificial neural network 121 may require more computational resources than the first node 11 1 that may use the trained model to make predictions. Therefore, any of the second node 1 12, and in some embodiments, the first node 1 11 , used for training the artificial neural network 121 may, for example, support running python / Java with Tensorflow or Pytorch, Theano etc... Any of the first node 1 11 and the second node 1 12 may also have GPU capabilities.
[0073] In some embodiments, any of the first node 11 1 and the second node 112 may be a core network node.
[0074] In other examples not depicted in Figure 1 , any of the first node 1 11 and the second node 112 may be a radio network node, such as radio network node 130, depicted in Figure 1 b). The radio network node 130 may be, e.g., comprised in a Radio Access Network of the telecommunications system. That is, the radio network node 130 may be a transmission point such as a radio base station, for example a gNB, an eNB, or any other network node with similar features capable of serving a wireless device, such as a user equipment or a machine type communication device, in the computer system 100. In typical examples, the radio network node 130 may be a base station, such as a gNB or an eNB. In other examples, the radio network node 130 may be a distributed node, such as a virtual node in the cloud 115, and may perform its functions entirely on the cloud 115, or partially, in collaboration with a radio network node.
[0075] The telecommunications system may cover a geographical area, which in some embodiments may be divided into cell areas, wherein each cell area may be served by a radio network node 130, although, one radio network node 130 may serve one or several cells. In the example of Figure 1 , the cells are not depicted to simplify the figure. The radio network node 130 may be of different classes, such as, e.g., macro eNodeB, home eNodeB or pico base station, based on transmission power and thereby also cell size. In some examples, the radio network node 130 may serve receiving nodes with serving beams. The radio network node 130 may be directly connected to one or more core networks.
[0076] Any of the first node 111 and the second node 112, and / or any of the nodes comprised in the computer system 100 may support one or several communication technologies, and its name may depend on the technology and terminology used.
[0077] A device 140 may be comprised in the telecommunication network. The device 140 comprised in the computer system 100 may be a wireless communication device such as a 5G UE, or a UE, which may also be known as e.g., mobile terminal, wireless terminal and / or mobile station, a Customer Premises Equipment (CPE) a mobile telephone, cellular telephone, or laptop with wireless capability, just to mention some further examples. The device 140 comprised in the telecommunications system may be, for example, portable, pocket-storable, hand-held, computer-comprised, or a vehicle-mounted mobile device, enabled to communicate voice and / or data, via the RAN, with another entity, such as a server, a laptop, a Personal Digital Assistant (PDA), or a tablet, Machine-to-Machine (M2M) device, device equipped with a wireless interface, such as a printer or a file storage device, modem, sensor, loT device, or any other radio network unit capable of communicating over a radio link in a communications system. In typical examples, the device 140 may be, or comprise, a microphone. The device 140 comprised in the telecommunications system may be enabled to communicate wirelessly in the telecommunications system. The communication may be performed e.g., via a RAN, and possibly the one or more core networks, which may be comprised within the telecommunications system.
[0078] It may be understood that the telecommunications network may comprise additional radio network nodes 130 and / or additional devices 140. The first node 1 11 may be configured to communicate within the computer system 100 with the second node 1 12 over a first link 141 , e.g., a radio link, or a wired link. The first node 11 1 may be configured to communicate within the computer system 100 with the radio network node 130 over a second link 142, e.g., a radio link, or a wired link. The second node 112 may be configured to communicate within the computer system 100 with the radio network node 130 over a third link 143, e.g., a radio link, or a wired link. The radio network node 130 may be configured to communicate within the computer system 100 with the device 140 over a fourth link 144, e.g., a radio link.
[0079] Any of the first link 141 , the second link 142, the third link 143 and the fourth link 144, may be a direct link or may be comprised of a plurality of individual links, wherein it may go via one or more computer systems or one or more core networks in the computer system 100, which are not depicted in Figure 1 , or it may go via an optional intermediate network. The intermediate network may be one of, or a combination of more than one of, a public, private or hosted network; the intermediate network, if any, may be a backbone network or the Internet; in particular, the intermediate network may comprise two or more sub-networks, which is not shown in Figure 1 .
[0080] In general, the usage of “first”, “second”, “third” and / or “fourth”, herein may be understood to be an arbitrary way to denote different elements or entities, and may be understood to not confer a cumulative or chronological character to the nouns they modify.
[0081] Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. Other embodiments, however, are contained within the scope of the subject matter disclosed herein, the disclosed subject matter should not be construed as limited to only the embodiments set forth herein; rather, these embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art.
[0082] It may be noted that, while some examples herein may be illustrated with YANG data models, embodiments herein do not require the data models to be YANG data models.
[0083] Embodiments of a computer-implemented method, performed by the first node 1 11 , will now be described with reference to the flowchart depicted in Figure 2. The method is for handling data models. The first node 11 1 operates in the computer system 100.
[0084] Several embodiments are comprised herein. In some embodiments all the actions may be performed. In some embodiments, some actions may be optional. In Figure 2, optional actions are indicated with dashed lines. It should be noted that the examples herein are not mutually exclusive. Components from one embodiment may be tacitly assumed to be present in another embodiment and it will be obvious to a person skilled in the art how those components may be used in the other exemplary embodiments. One or more embodiments may be combined, where applicable. All possible combinations are not described to simplify the description.
[0085] Action 201
[0086] In this Action 201 , the first node 111 may obtain a plurality of first training data models. The first training data models may be understood to be generic data models. A training data model may be used herein to refer to a data model to be used for the purpose of training a machine learning model. A training data model may be understood to otherwise be structure wise, and content wise equivalent to any other a data model.
[0087] Any “first data model”, or first training data model, may refer to herein to a data model that may be generic. That is, any of the first training data models may be understood to be a first data structure comprising a first configuration, wherein the first configuration may lack a direct applicability to an equipment of a third party. This may be understood to be due to the fact that the first training data model may be generic, that is, abstract, data models and the equipment of the third party may require a third-party specific configuration. The first configuration may comprise one or more first parameters, that is, one or more first configuration parameters.
[0088] Any of the first training data models may be understood to be network data model.
[0089] Obtaining in this Action 201 may comprise receiving from another node in the computer system 100, or fetching or retrieving from a memory.
[0090] Any of the first data models, either the first training data models using for training or the first data models later used during an inference phase, may be e.g., Internet Engineering Task Force (IETF), OpenConfig in YANG language, alternately, Command Line Interface (CLI) may also exist. For example, a first training data model may be e.g., a configuration file for source data model configuration parameters, such as graceful restart, with parameter 1 , parameter 2... parameter N. Any of the first data models, or the first training data models may be operational data models as well, that is, data models that may be used. A source data model, such as any of the first training data models, for a specific configuration, that is, a functionality, may comprise of a set of paths, e.g., Yang / experimental / ietf-extracted-YANG- modules / bgp@2015-05-15, Bgp-neighbor-timers_config / hold-time, which may exist at different levels. In summary, Data model (source, functionality) Set of paths, at different levels.
[0091] Any of the first data models, either the first training data models using for training or the first data models later used during an inference phase, may be referred to as source data models and may be available as public repositories, e.g., Telecommunication equipment manufacturer A, Telecommunication equipment manufacturer B, IETF, etc.
[0092] A non-limiting example of a first training data model may be, e.g., Yang / experimental / ietf-extracted-YANG-modules / bgp@2015-05-15 Bgp-neighbor-timers_config / hold-time.
[0093] Action 202
[0094] In this Action 202, the first node 111 may obtain a plurality of second training data models. Each of the second training data models may be understood to be specific to a respective third party.
[0095] Any of the second training data models may be understood to be a second data structure comprising a second configuration that may be directly applicable to the equipment of the third party.
[0096] Any of the second training data models may be understood to be vendor-specific data model.
[0097] The first configuration may comprise one or more second parameters, that is, one or more second configuration parameters.
[0098] Obtaining in this Action 202 may comprise receiving from another node in the computer system 100, or fetching or retrieving from a memory.
[0099] Any of the second data models, either the second training data models used for training or the second data models later used during an inference phase, may be referred to as target data models and may be also available as public repositories, e.g., Telecommunication equipment manufacturer A, Telecommunication equipment manufacturer B, IETF, etc.
[0100] A non-limiting example of a second training data model may be, e.g., yang / vendor / cisco / xe / 1651 / Cisco-IOS-XE-bgp bgp / neighbor / timers / holdtime
[0101] Whenever a new vendor may be added, their data models may need to be extracted from the hardware or from a public repository.
[0102] Action 203
[0103] In this Action 203, the first node 111 may select one or more machine learning approaches to use for training, in Action 204, of a machine learning model. The machine learning model may be understood to be to ultimately determine, using a first data model as input, that is, using a generic data model as input, which second data model may be specific to a first third party, out of a plurality of third party specific models corresponding to the first data model. The plurality of third party specific models corresponding to the first data model may be understood to mean, that for a certain generic first data model for a certain function, there may be a group of, e.g., vendor, specific models, for that particular function, that is, third party model A for vendor 1 , third party model B for vendor 2, third party model C for vendor 3, and so and so forth. Out of this group of third party models, model C may be the second model for vendor 3 corresponding to the generic input first model. For example, given a configuration file, which may have abstract data model parameter paths, a vendor, such as Telecommunication equipment manufacturer A, Telecommunication equipment manufacturer B, etc. and data model version, the expected output(s) that may be provided by the machine learning model, once trained, may be a set of vendor specific paths, at different levels. A path may be understood to be to a configuration represented by a data model, or to a node in a data model. A path may be, for example, Yang / experimental / ietf-extracted-YANG- modules / bgp@2015-05-15 Bgp-neighbor-timers_config / hold-time. The level may be understood to indicate the depth of a node that may exist in a data model, represented as a tree. For example, level 0 may be understood to correspond to the root of the tree, e.g., Yang / in the example path just provided.
[0104] It may be noted that the machine learning model may need to be trained to perform the determination out of the plurality of third party specific models, and not necessarily, out of the plurality of second training data models. This may be understood to mean that the plurality of “second training” data models may not necessarily be the same plurality that may later be available during the inference phase of the machine learning model, although it may happen that they may be the same.
[0105] The machine learning model may use semantic information in the input first data model and the output second data model to perform the determination during the inference phase. In fact, the machine learning model may use semantic information in the input first data model and the plurality of third party specific models to perform the determination during the inference phase.
[0106] Semantic information may be understood to refer to a meaning, e.g., relationships, between different sequences of words. In a data model, nodes may have descriptive text which may be considered as a sequence of words. Textual attributes may include one or more words or characters.
[0107] The selecting of the one or more machine learning approaches in this Action 203 may be out of a first approach, a second approach and a third approach. The first approach may be an unsupervised approach, that is, an unsupervised learning approach. The first approach may consider the mapping to be determined as a retrieval problem. The second approach may be a language translation model based approach, that is, the second approach may consider the mapping to be determined as a translation problem. The third approach may be a graph based link prediction model-based approach, that is, the third approach may consider the mapping to be determined as a graph problem, using two dimensional (2D) and three dimensional (3D) tensors, and proposed machine learning approaches. The selecting of the approach in this Action 203 may be realized using only one of these approaches, or a combination of one or more approaches. The selecting of the one or more machine learning approaches for the training of the machine learning model in this Action 203 out of the first approach, the second approach and the third approach may be as follows. Selection of the first approach
[0108] The motivation for selecting the first approach may be understood to be that mapping of a source data model, e.g., the first data model, to a target data model, e.g., the second data model, may be formulated as an unsupervised problem. The problem may be modelled as a retrieval problem. That is, retrieval of the closest data model of a specific target vendor / version, out of the plurality of third party specific data models. In general, selecting the first approach may be useful in scenarios where manual mapping may not be present or may be insufficient for training models.
[0109] With the proviso labelled data of the obtained plurality of first training data models and of the plurality of second training data models may not be available, the first approach may be selected. That is, the selection may depend on the non-availability of labelled data. The labelled data may be understood to correspond to a tuple of first training data model and second training data model. A tuple may be understood to comprise mapped instances of a source data model A, which may be the expected input, to its corresponding instance in a target data model B, which may be understood to be the expected output. For example, between a source data model IETF for bgp@2015-05-15 and a target data model cisco / xe / 1651 / Cisco-IOS-XE-bgp, a tuple may be (Bgp-neighbor-timers_config / hold-time, bgp / neighbor / timers / holdtime ). The labelled data may be understood to refer to a set of input samples that may have an output sample association identified, either manually or by rules or through a reliable upstream model. Labeled data may be data that may have been validated by an expert and tagged as such.
[0110] As an example, the training data for a source data model A to target data model B may comprise many instances of tuples. Each tuple may be understood to have one instance of source data model, which may be understood to be the input, and target data models, which may be understood to be the expected output. If then, it may be required to map from a source data model A to a target data model C, it may be required to have training data in the form of tuples between instances of source data model A and target data model C. Selection of the second approach
[0111] The selection of the second approach may depend on the availability of labeled data. The second approach may be chosen when there may be labeled data available for training the machine learning model.
[0112] The selection of the second approach may depend on a mapping of parameters to be independent of the interface used, e.g., BGP interface. That is, many of the parameters under one hood, e.g., BGP interface, such as hold time, keep alive time, etc, may either be jointly mapped or may be treated as individual mapping elements . The selection of the second approach or the third approach may be based on performance of the machine learning model(s) on an evaluation dataset, or via the discretion of a Subject Matter Expert.
[0113] In some instances, manual mapping may have been captured in a computer consumable way for machine learning model training or an output from the first approach, that is, a retrieval based system, may have been vetted by a human.
[0114] With the proviso the labelled data of the obtained plurality of first training data models and of the plurality of second training data models may be available, and a first correspondence between subgroups of data in the obtained plurality of first training data models and respective subgroups of data of the plurality of second training data models may be available, the second approach or the third approach may be selected. The subgroups of data may correspond to leaf data structures. A respective data structure of the plurality of first training data models and of the plurality of second training data models may comprise paths, descriptions, containers and leafs.
[0115] A data model, e.g., a YANG data model, may have a tree-like hierarchy where each node may be identified through a schema path. A node in a data model may be understood to represent an attribute of a configuration in the data model. For example, hold-time may be understood to be a node. A path may be understood to refer to such a path.
[0116] A description may be understood to correspond to a small technical documentation of path or category or nodes and their functionality, and / or range of values.
[0117] A container may be understood to indicate a node that may have a list of child nodes.
[0118] A leaf may be understood to correspond to the last element or node of a tree-like data structure. This may be the last child node of a particular path. It may contain elements whose type may be either single valued or a list.
[0119] Selection of the third approach
[0120] With the proviso the labelled data of the obtained plurality of first training data models and of the plurality of second training data models may be available, and a second correspondence between groups of subgroups of data in the obtained plurality of first training data models and respective groups of subgroups of data of the plurality of second training data models may be available, the third approach may be selected. The subgroups of data may correspond to leaf data structures. The respective data structure of the plurality of first training data models and of the plurality of second training data models may comprise paths, descriptions, containers and leafs.
[0121] Considering that a subgroup of data may correspond to leaf data structures, a respective group of subgroups of data may be understood to refer to a “branch” type of structure, that is a higher level in the organization of the data in the data structure. Accordingly, the third approach may be chosen when the correspondence “branch to branch” between the first training data models and the second training data models may be available. The selection of the third approach may be based on all the parameters of a source data model, that is, a first training data model, to be jointly mapped per the interface of the solution .
[0122] Action 204
[0123] In this Action 204, the first node 111 may train, using machine learning, the machine learning model. The training of the machine learning model may be to map the plurality of first training data models to the plurality of second training data models.
[0124] A respective machine learning model may be trained for each of the first approach, the second approach and the third approach.
[0125] A first respective machine learning model may be trained with the first approach.
[0126] A second respective machine learning model may be trained with the second approach. A third respective machine learning model may be trained with the third approach.
[0127] The first respective machine learning model
[0128] Overview of the operation
[0129] The first respective machine learning model may be understood to be a retrieval model. The first respective machine learning model trained with the first approach may use an encoder function to generate first embeddings of the semantic information in the first training data model that may be used as input and a decoder architecture to map the generated first embeddings to a plurality of second embeddings of a second training data model, out of a plurality of respective embeddings of the plurality of second training data models. In other words, the first node 111 may encode the first training data model, that is, the source data model, and the second training data models, that is, the target data models as embeddings, and then the first respective machine learning model may be trained to learn to retrieve the closest vendor / version specific output embeddings. The embeddings may be mapped back to the output sequence of words / path and description using decoder architecture.
[0130] It may be noted that the decoder architecture of embodiments herein may refrain from using a beam search method.
[0131] Embedding, or text embedding, may be understood to be a process of converting a sequence of text into a vector of numbers, in a higher dimensional space, such that a word and its context may be captured in most optimal way. In addition to existing off-the-shelf embeddings, the first node 111 may utilize information that may be present as comments at the groupings, leaf / node levels. For this, a domain-tuned embedding model may be created, as illustrated in Figure 8, and described below under the section “Embedding Generation Details”. Domain tuned may be understood to imply that embedding may be aware that certain terms, such as time out or keep alive, may be in the context of BGP, as against normal English usage. Hence, the vector representation in a domain tuned embedding may be different.
[0132] The semantic information may comprise sequences of words and an associated path. That is, the input and output of the first respective machine learning model may be understood to be sequences of words and an associated path. A sequence of words may be, for example “hold-time”, and the associated path may be “Yang / experimental / ietf-extracted-YANG- modules / bgp@2015-05-15 Bgp-neighbor-timers_config / hold-time”. For example, if a goal may be to map a “hold-time of bgp-neighbor-timers_config” data model to an e.g., Cisco specific data model version, an exemplary mapping between the input first training data model and the output second training data model may be as follows:
[0133] Input data model:
[0134] Yang / experimental / ietf-extracted-YANG-modules / bgp@2015-05-15 Bgp-neighbor-timers_config / hold-time
[0135] Output data model: yang / vendor / cisco / xe / 1651 / Cisco-IOS-XE-bgp bgp / neighbor / timers / holdtime
[0136] The embeddings may correspond to a respective mapping of a respective sequence of words to a respective numeric vector. The respective numeric vector may be understood to be a result of the embedding. The respective sequence of words may be, for example, “Bgp- neighbor-timers_config / hold-time”. The associated path may be understood to be “Yang / experimental / ietf-extracted-YANG-modules / bgp@2015-05-15”. The respective numeric vector may be, not necessarily for this example, for example of the type [x1 ,x2,..,xN], where each x may be a real number for an embedding of size ’N’. In addition, the sum of the numbers in the embedding may be 1 . This normalisation may be often performed for computational convenience.
[0137] Whenever a new vendor may be added, word embeddings may need to be created for the new vendor data models.
[0138] The plurality of second embeddings may be determined according to a relevance level. That is, a threshold for relevance.
[0139] For the training in this Action 204 of the first respective machine learning model, in a first sub-action, the first node 111 may train a word2vec or a similar model to create an embeddings vector. Some ML models may take the text from the data model, e.g., a tuple, and encode, that is, embed, it into a numeric vector, thus generating the embedding.. The embeddings vector may comprise, for both of the first training data models, and the second training data models, a representation of tuple of a data model, description and path hierarchy. The training dataset may comprise a first data set of (data model, description, path) tuples and first training data model, that is, source second training data models, that is target data model mappings. That is, the machine learning model may be trained with a first data set comprising: a) a set of tuples, each tuple comprising a respective data model, a respective description and a respective path, and b) respective mappings of first training data models, that is, source data models to second training data models, that is, target data models. The first node 11 1 may use an encoding function that may convert the input and output set of tuples, e.g., (data model, description, path hierarchy) into context-aware embeddings, e.g., word vectors using Word to Vector (word2vec) / Bidirectional Encoder Representations from Transformers (BERT) embedding.
[0140] The first embeddings and the plurality of second embeddings may be context-aware. That is, the embeddings may be understood to be representative of the information in the surrounding, adjacent, nodes and / or leafs.
[0141] The first embeddings and the plurality of second embeddings may be further based on numeric attributes of the respective data models. As an example, in Figure 6, a default value of “connect-retry” as “30” may be understood to be a numeric attribute.
[0142] The first node 11 1 may create a set of positive mappings and a set of negative mappings. For the training in this Action 204 of the first respective machine learning model, in a second sub-action, once the first respective machine learning model may have been trained, the first node 11 1 may get an embeddings vector for each new tuple of (data model, description, path). The first node 111 may then compute a cosine similarity of the new vector with the existing list of data model vectors. Based on the similarity, the first node 11 1 may then be able to identify the top target data model candidates.
[0143] In a third sub-action, validation of the mapping from first training data model to second training data model, that is, source to target data model mapping, may be performed by Subject Matter Experts (SMEs).
[0144] As a non-limiting illustrative example of the first respective machine learning model, the first node 11 1 may use sentence embedding of the query “Bgp-neighbor-timers_config / hold-time” as first training data model. The first node 1 11 may then evaluate similarity against potential candidates, that is, against a plurality of third party specific second data models, such as:
[0145] • bgp / neighbor / timers / keepalive-interval.
[0146] • bgp / neighbor / timers / holdtime.
[0147] • bgp / neighbor / timers / minimum-neighbor-hold
[0148] • bgp / neighbor / translate-update / ipv4 / multicast / unicast
[0149] • bgp / neighbor / transport / multi-session • bgp / neighbor / transport / path-mtu-discovery / disable
[0150] • bgp / neighbor / ttl-security / hops
[0151] • bgp / neighbor / unsuppress-map
[0152] • bgp / neighbor / update-source
[0153] • bgp / neighbor / version
[0154] • bgp / neighbor / weight
[0155] The first node 111 may then output as the top-3 results:
[0156] 1. bgp / neighbor / timers / holdtime
[0157] 2. bgp / neighbor / transport / path-mtu-discovery / disable
[0158] 3. bgp / neighbor / timers / keepalive-interval
[0159] Embedding Generation - Details
[0160] The generation of the embeddings will not be described in further detail, as illustrated in Figure 8. It may be noted that these embeddings may be used in various embodiments herein according to different machine learning approaches.
[0161] Node embeddings may be generated using properties and labels of a node, that is a node in a data model. The labels may be understood to refer to properties or attributes of a node in the data model. The properties may include descriptive textual attributes, such as e.g., a description of a leaf, e.g., hold-time, as in Figure 6, as well as numeric attributes, such as e.g., hold-time value of 90, as shown in Figure 6. The approach may leverage both the similarity in textual attributes in source, e.g., the first training data models, and target, e.g., the second training data models, data models, as well as learning the parameter values, e.g., numeric attributes, of the source and target data models. Parameter values may be understood to be values associated with leaf nodes. The following may be understood to be the sub-actions that may be taken for the embedding generation. First, a textual data aggregator may retrieve textual attributes of the node that may be converted into embeddings. Second, a pre-processing module may use domain-specific vocabulary / ontology to expand / add context to specific terms in the textual description, e.g., those related to the telecommunications domain. Third, the embeddings may be generated from a language model, that may additionally be tuned, that is, adapted, from a telecommunications -domain specific dataset. This may be understood to help generate telecommunications-specific embeddings, as opposed to general language embeddings, which such models may have been originally trained on. Fourth, the vector embedding generated from the language model may be normalized. This may be understood to mean making an embedding vector to be unit norm by applying suitable operations. Fifth, the additional attributes, including numeric node properties, may be also represented in the node embedding. It may be noted that this may enable the third respective machine learning model, that is, the link-prediction model, to learn such parameters as well.
[0162] The second respective machine learning model
[0163] With the second respective machine learning model, which may be understood to be a language translation model, the mapping of the source data model, e.g., a first training data model, to the target data model, e.g., a training second data model, may be modelled as a translation problem. The second respective machine learning model may translate from a first training data model having a model (source, functionality) represented by a set of paths, at different levels, and translate to the second training data model having a (target, functionality) represented by a set of vendor specific paths, at a different level in a hierarchy of the data model. Functionality may be understood to refer to a configuration in a data model.
[0164] For the second respective machine learning model, the training data may comprise tuples of embeddings of first training data models and second training data models, that is, source embedding, target embedding (X,y) tuples, obtained as described for the first respective machine learning mode, post human verification stage.
[0165] Typical Neural Machine Translation (NMT) tasks may be optimized on cross-entropy loss function. In embodiments wherein the second respective machine learning model may be trained with the second approach, the machine learning model may be trained using a loss function that may be based on minimizing classification loss function and maximizing semantic similarity between the first training data model and the second training data model. That is, the second training data model that may be determined to correspond to the first training data model during training according to the first approach, out of the plurality of second training data models. In the translation formulation according to embodiments herein, the first node 111 may use a new loss function of minimizing cross-entropy and maximizing cosine similarity, or contrastive loss, e.g., L = min Crossentropy + max Similarity .
[0166] For example, training samples (X,y) that may be outcome of the first approach, vetted by SME, tuple may be:
[0167] Samplel : (neiqhbor-qroup-timers / hold-time, bgp / neighbor / timers / holdtime)
[0168] Sample2: (neighbor-group-timers / keepalive, bgp / neighbor / timers / keepalive-interval) Sample3:(neighbor-group-transport-config / mtu-discovery, bgp / neighbor / transport / path-mtu-discovery / disable)
[0169] And so on...
[0170] Then, a sample test query for such as: graceful-restart-config / stale-routes-time from a first training data model, an abstract model, may be e xpected to produce an output such as: bgp-address-family-grouping / bgp / graceful- restart / stalepath-time for Cisco vendor v1651 and global-bgp-grouping / graceful- restart / stalepath-time for Cisco vendor v1791 .
[0171] This may be possible because the embeddings according to the first approach may be understood to show similarity that may be measured through such embeddings. With aid of supervised translation according to the second approach, the performance of the mapping may be advantageously improved and scaled across vendors.
[0172] As an exemplary, the YANG IETF initial path, e.g., yang / experimental / ietf-extracted- YANG-modules / ietf-bgp-common@2023-07-05.yang and yang / vendor / cisco / xe / 1651 / Cisco- lOS-XE-bgp.yang may be considered as exemplary source and target data models, corresponding to the first and second data model.
[0173] A manual verification / acceptance may serve as ground truth for the second approach, which may be understood to use the second respective machine learning model, as well as for the third approach, which may be understood to use the third respective machine learning model.
[0174] The third respective machine learning model
[0175] The third respective machine learning model may be a graph based link prediction model.
[0176] According to the third approach which may use the third respective machine learning model, the first training data models and the second training data models, that is, the source and target data models, may be represented as graphs. Graphs may be understood to comprise nodes and links. According to embodiments herein wherein the third approach may be used, the nodes in the graphs may correspond to the parent representations in the data model, and they may have associated node properties, as shown in Figures 10 and 11 . A parent representation may be understood to be capturing the hierarchical structure of a data model.
[0177] According to the third approach, the nodes may be connected by a link in the graph for a corresponding representation in the data model. A corresponding representation may be understood to be a subgroup of data, e.g., a leaf structure. Figure 10 shows the graph representation for a sample first training data model, that is a source data model, while Figure 11 shows the representation for a sample second training data model, that is, a target data model.
[0178] Building a Graph Neural Network Model
[0179] Using the first training data model, that is the source and the second training data model, that is, the target data model representations as graphs, the first node 111 may be enabled to computationally represent these graphs as adjacency matrices that may capture the node representations, generated from the data model, and embeddings, generated previously as explained under the section entitled “Embedding Generation - Details", along with the links between the nodes. A non-limiting example of such a generalized representation for the source and target data model(s) is shown in Figure 12. It may also be noted that multiple such graph representations, and corresponding adjacency matrices may be obtained for multiple source model(s) or multiple versions of the target model(s), including for specific vendors. This may serve as training data for the third respective machine learning model, that is, the graph neural network model.
[0180] An alternative representation of such a matrix may involve tensors, where multiple such adjacency matrices may be concatenated to obtain a third dimension, in this case for multiple configurations, as shown in Figure 13. The third respective machine learning model may then learn in the tensor space of samples, as opposed to the 2D matrix representation shown previously. Another advantage may be understood to be that this may allow for a set of parameters, that is, configuration parameters, to be obtained in one shot. A configuration may be represented by a data model.
[0181] For example, the first node 111 may obtain the following as training example (X,y) as tensor input / outputs for joint estimation:
[0182] Samplel : (neighbor-group-timers / hold-time, neighbor-group-timers / keepalive, ) to (neighbor-timers-grouping / timers / holdtime, neighbor-timers-grouping / timers / keepalive- interval)
[0183] Sample2: (neighbor-group-config / route-flap-damping / enable, neighbor-group-config / route-flap-damping / reach-decay, neighbor-group-config / route-flap-damping / reuse-above, neighbor-group-config / route-flap-damping / suppress-above, neighbor-group-config / route-flap- damping / max-flap) to (bgp-dampening-grouping / dampening-choice / route-map, bgp- dampening-grouping / dampening-choice / dampening / dampen / half-life-time, bgp-dampening- grouping / dampening-choice / dampening / dampen / reuse-time, bgp-dampening- grouping / dampening-choice / dampening / dampen / suppress-time, bgp-dampening- grouping / dampening-choice / dampening / dampen / max-suppress-time)
[0184] And so on.
[0185] The advantage may be understood to be that input / output mappings from same / similar containers / groupings and leaf and nodes may be considered together, along with their descriptors to improve the performance of group of parameter mapping.
[0186] Training and Inference using a Graph Neural Network as the third respective machine learning model
[0187] A graph neural network may be trained, and subsequently used for inference, from the adjacency matrix representations obtained previously, as shown later in Figure 14. The following may be understood to be the salient features for the graph neural network (GNN) model. The GNN may be used to learn vendor and version-specific representations of the data model. This may be modelled as a link prediction problem. A pre-requisite may be that training of the network may require vendor-specific configurations and data models as ground truth for training. These may be derived from the first approach, in cases where limited samples may be available. The graph neural network may leverage the similarity in textual attributes of nodes via the embeddings and learn from parameters as well. This may enable the network to efficiently determine links based on a combination of similarity in textual attributes as well as mapping of parameters from source to target data models for multiple vendors and versions.
[0188] In embodiments wherein the third respective machine learning model may be trained with the third approach, the first training data model may be a first graph and the second training data model may be a second graph, and the machine learning model may be trained using a plurality of first training data models, and a plurality of second training data models, wherein each of the plurality of second training respective machine learning models may correspond to a respective third party, and respective graphs and corresponding adjacency matrices. The corresponding adjacency matrices may be one of two dimensional parameter matrices and three dimensional respective parameter matrices for each of a plurality of configurations.
[0189] Action 205
[0190] In this Action 205, the first node 11 may obtain the machine learning model. The obtaining in this Action 205 of the machine learning model may be by one of training the machine learning model and obtaining the trained machine learning model from the second node 112 operating in the computer system 100.
[0191] In some embodiments, the obtaining in this Action 205 of the machine learning model may be performed by training the machine learning model in Action 204. The obtained machine learning model in this Action 205 may be the trained machine learning model once an accuracy level of the machine learning model may reach a threshold.
[0192] Action 206
[0193] Once the machine learning model may have been obtained in Action 205 by reaching the accuracy level reaching the threshold, the machine learning model may be used in an inference phase.
[0194] In this Action 206, the first node 111 obtains a first data model. That is, a generic data model to be used during the inference phase. The first data model obtained in this Action 206 may be understood to be equivalent to any of the first training data models obtained in Action 201 , but this time it may be understood to be a new data model. The first data model may be obtained in a similar way as to how any of the first training data models were obtained in Action 201 .
[0195] The first data model may be understood to be a network data model.
[0196] The first node 111 may also obtain, e.g., retrieve, the plurality of third party specific models. As explained earlier, the plurality of third party specific models may be the same, partially overlap, or be different from the plurality of second training data models.
[0197] Action 207
[0198] In this Action 207, the first node 111 selects the machine learning model to use for determining, as will be described in Action 213, which second data model is specific to the first third party. The machine learning model is selected in this Action 207 out of respective machine learning models trained based on one or more machine learning approaches selected from i) the first approach, the first approach being the unsupervised approach, ii) the second approach, the second approach being the language translation model based approach, and iii) the third approach, the third approach being the graph based link prediction model-based approach.
[0199] This Action 207 may be understood to be performed in embodiments wherein a respective machine learning model may have been trained for each of the first approach, the second approach and the third approach. The following may apply.
[0200] With the proviso the labelled data of the obtained first data model and of the plurality of third party specific models may not be available, the first respective machine learning model trained with the first approach may be selected. The labelled data may correspond to a tuple of the first data model and the second data model,
[0201] With the proviso the labelled data of the obtained first data model and of the plurality of third party specific models may be available, and the first correspondence between subgroups of data in the obtained first data model and respective subgroups of data of the third party specific models in the plurality may be available, the second respective machine learning model trained with the second approach or the third respective machine learning model trained with the third approach may be selected. The subgroups of data may correspond to leaf data structures. A respective data structure of the first data model and of the plurality of third party specific models may comprise paths, descriptions, containers and leafs.
[0202] With the proviso the labelled data of the obtained first data model and of the plurality of third party specific models may be available, and a second correspondence between groups of subgroups of data in the obtained first data model and respective groups of subgroups of data of the third party specific models in the plurality may be available, the third respective machine learning model trained with the third approach may be selected. The subgroups of data may correspond to leaf data structures. The respective data structure of the first data model and of the plurality of third party specific models may comprise paths, descriptions, containers and leafs.
[0203] In embodiments wherein the first respective machine learning model trained with the first approach may be selected, at least one of the following options may apply. The following options may be understood to be as described before for the training of the machine learning model, but now applied to the first data model obtained in Action 206.
[0204] According to a first option, the machine learning model may use the encoder function to generate the first embeddings of the semantic information in the first data model and the decoder architecture to map the generated first embeddings to the plurality of second embeddings of the second data model, out of the plurality of respective embeddings of the plurality of third party specific models. For one embedding of source data model, a similarity may be determined with multiple embeddings of a target data model.
[0205] According to a second option, the embeddings may correspond to the respective mapping of the respective sequence of words to the respective numeric vector.
[0206] According to a third option, the plurality of second embeddings may be determined according to the relevance level.
[0207] According to a fourth option, the semantic information may comprise sequences of words and the associated path.
[0208] According to a fifth option, the first embeddings and the plurality of second embeddings may be context-aware.
[0209] According to a sixth option, the first embeddings and the plurality of second embeddings may be further based on numeric attributes of the respective data models.
[0210] According to a seventh option, the machine learning model may have been trained with the first data set comprising: a) the set of tuples, each tuple comprising the respective data model, the respective description and the respective path, and b) respective mappings of source data models to target data models.
[0211] In embodiments wherein the second respective machine learning model trained with the second approach may be selected, the machine learning model may have been trained using the loss function that may be based on minimizing classification loss function and maximizing semantic similarity between the first data model and the second data model.
[0212] In embodiments wherein the third respective machine learning model trained with the third approach may have be selected, the first data model may be the first graph and the second data model may be the second graph, and the machine learning model may have been trained using the plurality of first training data models, and the plurality of second training data models based, wherein each of the plurality of second training data models may correspond to the respective third party, and respective graphs and corresponding adjacency matrices. The corresponding adjacency matrices may be one of two dimensional parameter matrices and three dimensional respective parameter matrices for each of the plurality of configurations.
[0213] Action 208
[0214] In some embodiments, in this Action 208, the first node 1 11 may retrieve the textual attributes of the first data model that may have to be converted to embeddings.
[0215] In some of these embodiments, the first respective machine learning model trained with the first approach may have been selected in Action 207.
[0216] Action 209
[0217] In some embodiments, in this Action 209, the first node 1 11 may pre-process the retrieved textual attributes to add domain-specific information.
[0218] In some of these embodiments, the first respective machine learning model trained with the first approach may have been selected in Action 207.
[0219] Action 210
[0220] In some embodiments, in this Action 210, the first node 1 11 may generate the first embeddings.
[0221] In some of these embodiments, the first respective machine learning model trained with the first approach may have been selected in Action 207.
[0222] Action 211
[0223] In some embodiments, in this Action 21 1 , the first node 1 11 may normalize the generated first embeddings.
[0224] In some of these embodiments, the first respective machine learning model trained with the first approach may have been selected in Action 207.
[0225] Action 212
[0226] In some embodiments, in this Action 212, the first node 1 11 may post-process the normalized first embeddings with the numeric attributes of the information in the first data model.
[0227] In some of these embodiments, the first respective machine learning model trained with the first approach may have been selected in Action 207. Action 213
[0228] In this Action 213, the first node 111 determines, using the first data model obtained in Action 212 as input to the selected machine learning model, which second data model is specific to the first third party, out of the plurality of third party specific models corresponding to the obtained first data model. The machine learning model uses semantic information in the first data model and the second data model to perform the determination.
[0229] Determining may be understood as calculating, estimating, deriving, or similar, or obtaining or receiving from another node.
[0230] The first data model, as stated earlier, may be understood to be a network data model, and the plurality of third party specific models may be understood to be a plurality of vendorspecific data models.
[0231] The determining in this Action 213 may comprise that the machine learning model may map a correspondence between the first data model and the second data model.
[0232] The determining in this Action 213 of the second data model may comprise predicting and mapping a specific network configuration parameter to a vendor specific configuration data model parameter and generating a corresponding configuration.
[0233] To perform this Action 213, the first node 111 may have obtained the first third party for which the determination may have to be performed in this Action 213. In other words, the first node 111 may obtain the source first data model, and the target first third party, e.g., the target vendor. This may be understood to be in an effort to find out the specific configuration, e.g., the specific configuration parameters for the vendor that may correspond to the abstract first data model.
[0234] In some embodiments wherein the first respective machine learning model trained with the first approach may be selected, the determining in this Action 213 may be based on a computation of a similarity measure between an embeddings vector corresponding to the first data model, as generated by the machine learning model, and an existing list of respective embeddings vectors of the plurality of third party specific models.
[0235] In some embodiments wherein the first respective machine learning model trained with the first approach may be selected, the determining in this Action 213 may be performed using multiple data models .
[0236] In some embodiments wherein the second respective machine learning model trained with the first approach may be selected, the determining in this Action 213 may be performed using translation models.
[0237] In some embodiments wherein the third respective machine learning model trained with the first approach may be selected, the determining in this Action 213 may be performed using a graph neural network. The determining in this Action 213 may be performed in real time.
[0238] By determining the second data model in this Action 213, the first node 111 may use AI / ML techniques with all available network data models to dynamically predict and map a parameter of a source data model to a parameter of a vendor-specific target data model and generate a corresponding configuration for the specific vendor. The first node 111 may therefore be enabled to refrain from using south bound plugins of multi-vendor network controllers, therefore enabling efficiency of resources and scalability.
[0239] The first node 111 may enable scalability as it may be implemented as a common computation node for multiple network controllers. In an example of a scalable architecture, the first node 111 may be one centralized AI / ML, language model or graph, server that may serve multiple nodes and handle multiple translations at the same time.
[0240] The scalable architecture may also comprise having the single machine learning model for multiple nodes.
[0241] Action 214
[0242] In this Action 214, the first node 111 initiates outputting a first indication of the determined first third party-specific second data model.
[0243] Initiating may be understood as triggering, enabling, beginning, or similar.
[0244] Outputting in this Action 214 may be understood as displaying, e.g., on an interface or sending, for example, via the a link to another node.
[0245] Whenever a new vendor may need to be added, the data models for the new vendor may be extracted from the hardware or from a public repository. Word embeddings may then be created for the new vendor data models. The remaining actions may be understood to be the same as described earlier.
[0246] In some embodiments, the first node 111 may obtain the machine learning model in Action 1206 by receiving it from the second node 112, which may perform the training of the machine learning model. The method performed by the second node 112 is described next, in relation to Figure 3. It may be understood that Actions 301 -305 may correspond to Actions 201-205 as already described for the first node 111. Hence any claims provided in the description of Figure 2 may be understood to equally apply to the description of the actions performed by the second node 112.
[0247] Embodiments of a computer-implemented method, performed by the second node 112, will now be described with reference to the flowchart depicted in Figure 3. The method is for handling data models. The second node 112 operates in the computer system 100. Several embodiments are comprised herein. In some embodiments all the actions may be performed. In some embodiments, some embodiments of the actions may be optional. It should be noted that the examples herein are not mutually exclusive. Components from one embodiment may be tacitly assumed to be present in another embodiment and it will be obvious to a person skilled in the art how those components may be used in the other exemplary embodiments. One or more embodiments may be combined, where applicable. All possible combinations are not described to simplify the description. The detailed description of some of the following corresponds to the same references provided above, in relation to the actions described for the first node 111 , and will thus not be repeated here. For example, the embeddings may be derived as described in relation to the first node 111.
[0248] Action 301
[0249] In this Action 301 , the second node 112 obtains the plurality of first training data models. The first training data models are generic data models.
[0250] Action 302
[0251] In this Action 302, the second node 112 obtains the plurality of second training data models. Each of the second training data models is specific to the respective third party.
[0252] Action 303
[0253] In in this Action 303, the second node 112 selects one or more machine learning approaches to use for the training in Action 304 of the machine learning model, out of: i) the first approach, the first approach being the unsupervised approach, ii) the second approach, the second approach being the language translation model based approach, and iii) the third approach, the third approach being the graph based link prediction model-based approach.
[0254] This Action 303 may be understood to be performed in embodiments wherein the respective machine learning model may be trained for each of the first approach, the second approach and the third approach.
[0255] With the proviso labelled data of the obtained plurality of first training data models and of the plurality of second training data models may not be available, the first approach may be selected. The labelled data may correspond to the tuple of the first training data model and the second training data model.
[0256] With the proviso the labelled data of the obtained plurality of first training data models and of the plurality of second training data models may be available, and the first correspondence between the subgroups of data in the obtained plurality of first training data models and the respective subgroups of data of the plurality of second training data models may be available, the second approach or the third approach may be selected. The subgroups of data may correspond to leaf data structures. The respective data structure of the plurality of first training data models and of the plurality of second training data models may comprise paths, descriptions, containers and leafs, see Figure 6.
[0257] With the proviso the labelled data of the obtained plurality of first training data models and of the plurality of second training data models may be available, and the second correspondence between the groups of subgroups of data in the obtained plurality of first training data models and the respective groups of subgroups of data of the plurality of second training data models may be available, the third approach may be selected. The subgroups of data may correspond to leaf data structures. The respective data structure of the plurality of first training data models and of the plurality of second training data models may comprise paths, descriptions, containers and leafs.
[0258] Action 304
[0259] In in this Action 304, the second node 112, trains, using machine learning, the machine learning model to map the plurality of first training data models to the plurality of second training data models. The training is performed so that the trained machine learning model is able to determine, using the first data model as input to the machine learning model, which second data model is specific to a first third party, out of the plurality of third party specific models corresponding to the obtained first data model. The machine learning model is to use semantic information in the first data model and the second data model to perform the determination. The training in this Action 204 is performed until the accuracy level of the machine learning model reaches the threshold.
[0260] The machine learning model may be understood to be trained with the selected one or more machine learning approaches.
[0261] The first data model may be the first data structure comprising the first configuration. The first configuration may lack the direct applicability to the equipment of the first third party. The second data model may be the second data structure comprising the second configuration that may be directly applicable to the equipment of the first third party. The machine learning model may be trained to map the correspondence between the first data model and the second data model.
[0262] The first data model may be the network data model, and the plurality of third party specific models may be the plurality of vendor-specific data models.
[0263] The determining of the second data model may comprise predicting and mapping the specific network configuration parameter to the vendor specific configuration data model parameter and generating the corresponding configuration.
[0264] In some embodiments, wherein the first approach may be selected, the machine learning model may be the first respective machine learning model and at least one of the following may apply: a) the first respective machine learning model may use the encoder function to generate the first embeddings of the semantic information in the first data model and the decoder architecture to map the generated first embeddings to the plurality of second embeddings of the second data model, out of the plurality of respective embeddings of the plurality of third party specific models, b) the embeddings may correspond to the respective mapping of the respective sequence of words to the respective numeric vector, c) the plurality of second embeddings may be determined according the a relevance level, d) the semantic information may comprise the sequences of words and the associated path, e) the first embeddings and the plurality of second embeddings may be context-aware, f) the first embeddings and the plurality of second embeddings may be further based on the numeric attributes of the respective data models, g) the first respective machine learning model may have been trained with the first data set comprising: a) the set of tuples, each tuple comprising the respective data model, the respective description and the respective path, and b) the respective mappings of the first training data models to second training data models, and h) the mapping may be based on the computation of the similarity measure between the embeddings vector corresponding to the first data model, as generated by the first respective machine learning model, and the existing list of respective embeddings vectors of the plurality of third party specific models.
[0265] In some embodiments, the mapping may further comprise: retrieving the textual attributes of the first data model that may have to be converted to embeddings, pre-processing the retrieved textual attributes to add the domain-specific information, generating the first embeddings, normalizing the generated first embeddings, and post-processing the normalized first embeddings with the numeric attributes of the information in the first data model.
[0266] In some embodiments wherein the second approach may be selected, the machine learning model may be the second respective machine learning model and may be trained using the loss function that may be based on minimizing classification loss function and maximizing semantic similarity between the first data model and the second data model.
[0267] In some embodiments wherein the third may be is selected, the machine learning model may be the third respective machine learning model, and the first data model may be the first graph and the second data model may be the second graph, and the third respective machine learning model may be trained using the plurality of first training data models, the plurality of second training data models, each of the plurality of second data models corresponding to a respective third party, and respective graphs and corresponding adjacency matrices. The corresponding adjacency matrices may be one of two dimensional parameter matrices and three dimensional respective parameter matrices for each of a plurality of configurations. Action 305
[0268] In this Action 305, the second node 112 sends the second indication indicating the trained machine learning model to the first node 11 1 operating in the computer system 100.
[0269] Figure 4 is a schematic diagram depicting an overview of how embodiments herein may be realized in multiple embodiments. According to embodiments herein, a plurality first data models, that is, abstract data models, may be obtained by the first node 111 as input, together with a target third party, that is, a target vendor, and a target version, and a vendor specific data model and configuration may be determined in accordance with Action 213, by using the machine learning model based on one of the first approach, the unsupervised approach, the second approach, the language-translation model-based approach and the third approach, the graph neural network-based approach that may be understood to involve link prediction. The respective machine learning model may have been trained for each of the first approach, the second approach and the third approach, and may be selected according to Action 207. In accordance with Action 214, the first indication may be output indicating the determined second data model, that is, the vendor specific data model and the configuration.
[0270] Figure 5 is a schematic diagram depicting the first approach according to embodiments herein. In the first sub-action of the first approach, the first node 11 1 may train a word2vec or a similar model to create an embeddings vector, according to Action 204. The embeddings vector may be representative of, for both of the first training data models, and the second training data models, a tuple of data model, description and path hierarchy. The training dataset may comprise the set of (data model, description, path) tuples and source target data model mappings. The first training data models and the second training data models may have been obtained according to Action 201 and Action 202, respectively. The first node 11 1 may create a set of positive mappings and a set of negative mappings. The first embeddings and the plurality of second embeddings may be context-aware. For every third party, that is, vendor, the obtained context aware embeddings may be stored a database (DB), e.g., DB vendor 1 , DB vendor 2, ... DB vendor N. The first respective machine learning model may be trained to retrieve the closest data model of the queried target vendor / version. The retriever may be optimized on cosine similarity, contrastive loss. In the second sub-action of the first approach, once the model may be trained, the first node 1 11 may get an embeddings vector for each new tuple of (data model, description, path) obtained according to Action 206. This may be a context-aware encoded source embedding, e.g., X. A target vendor and version may also be input. The first node 1 11 may then compute the cosine similarity of the new vector with the existing list of data model vectors e.g., stored in the DBs. Based on the similarity, the first node 111 may identify the top target data model candidates and output them according to Action 214. During the training of the first respective machine learning model, in a third sub-action, validation of source to target data model mapping may be performed by SMEs.
[0271] Figure 6 is a schematic diagram depicting a non-limiting example of a mapping between a first data model, or source data model, and the determined second data model for a particular third party. As indicated in Figure 6, for every third party, a second data model may be determined. For each of the data models depicted, the corresponding path, container and leaf are indicated in bold boxes. The mapping between the path, container and leaf of each of the first data model and the second data model is indicated by arrows.
[0272] Figure 7 is a schematic diagram depicting a non-limiting example of a sample t-distributed Stochastic Neighbor Embedding (t-SNE) plot for embeddings corresponding to the illustrative example provided in Action 204 for the first respective machine learning model, wherein the first node 111 may use sentence embedding with the query “Bgp-neighbor-timers_config / hold-time” as first training data model. As shown in Figure 7, framed by the dashed box, the query and its similar neighbours, in the lower dimension representation.
[0273] Figure 8 is a schematic diagram depicting a non-limiting example of how the embeddings may be generated according to embodiments herein. The representation in Figure 5 be used to construct embeddings as shown in Figure 8. Node embeddings may be generated using properties and labels of a node, which may be obtained as part of data model components at 801 , in accordance with any of Actions 201 , 202 and 206. The properties may include descriptive textual attributes, as well as numeric attributes. The approach may leverage both the similarity in textual attributes in source, e.g., the first training data models, and target, e.g., the second training data models, data models, as well as learning the parameter values, e.g., numeric attributes, of the source and target data models. The following may be understood to be the sub-actions that may be taken for the embedding generation. At 802, the textual data aggregator may retrieve textual attributes of the node that may be converted into embeddings. For example, the textual data aggregator may aggregate the first data set for a data model, which may comprise “connect_retry” as a configuration parameter of the respective data model, the respective path “Parent: bgp-neighbor-timers_config”, and the respective description “Time interval in seconds between attempts to establish a session with the peer”. At 803, the pre-processing module may use domain-specific vocabulary / ontology to expand / add context to specific terms in the textual description, e.g., those related to the telecommunications domain. For example, for the example data model provided above, “connect retry”, the respective path may be adapted to “Parent: (Border Gateway Protocol) bgp-neighbor-timers_config”, and the respective description may be adapted to “(Configuration Timer) Time interval in seconds between attempts to establish a session with the peer”. At 804 and 805, the embeddings may be generated from a language model, that may additionally be tuned, that is, adapted, from a telecommunications -domain specific dataset. This may be understood to help generate telecommunications-specific embeddings, as opposed to general language embeddings, which such models may have been originally trained on. At 806, the vector embedding generated from the language model may be normalized. At 807, the additional attributes, including numeric node properties, may be also represented in the node embedding during a post-processing sub-action. The post-processing sub-action may yield value parameters that may be understood to correspond to specific numeric values of the configuration parameters in the data model. It may be noted that this may enable the third respective machine learning model, that is, the link-prediction model, to learn such parameters as well.
[0274] Figure 9 is a schematic diagram depicting a non-limiting example of the second respective machine learning model, a translation model, of embodiments herein, which may be used to translate from source data model to target data model. As depicted in Figure 9, the second respective machine learning model may obtain the first data model according to Action 206 as an input query, and the target vendor and version. In the same way as described in Figure 8, the context-aware encoded source vector may be obtained, and used as input to the trained second respective machine learning model corresponding to the input vendor and version. Other models specific for other vendors and versions may be available. The trained second respective machine learning model may then determine the second data model according to Action 213, and output the first indication of the second data model as a context aware encoded target vector, in accordance with Action 214.
[0275] Figure 10 is a schematic diagram depicting a non-limiting example of the graph representation for a sample first training data model, that is a source data model, as a graph. The first training data model “bgp@2015-05-15.yang” is depicted on the left side of the Figure, whereas the corresponding graph representation is depicted on the right side. As shown on the right side, the node at the top of the graph corresponds to the parent representation in the data model “bpg-neighbor-timers_config”, having a description of “Config parameters related to timers associated with the BGP peer”. The nodes is connected by a link in the graph for a corresponding representation in the data model. In this example the node has a first link to a first leaf structure “connect retry” of type “decimal64”, and a second link to a second leaf structure “hold time” of type “decimal64”. The first leaf has a node embedding derived from the attributes fraction-digits:2, default: 30 and description: “Time interval in seconds between attempts to establish a session with the peer”. The second leaf has a node embedding derived from the attributes fraction-digits:2, default: 90 and description: “Time interval in seconds that a BGP session will be considered active in the absence of keepalive or other messages from the peer”. The hold-time is typically set to 3x the keepalive interval. Reference: RFC 4271 -A border Gateway protocol 4, sec. 10.
[0276] Figure 11 is a schematic diagram depicting a non-limiting example of the graph representation for a sample second training data model, that is a target data model, as a graph. The second training data model “Cisco-IOS-XE-bgp.yang” is depicted on the left side of the Figure, whereas the corresponding graph representation is depicted on the right side. As shown on the right side, the node at the top of the graph corresponds to the parent representation in the data model “Timers”, having a description of “BGP per neighbor timers”. The nodes is connected by a link in the graph for a corresponding representation in the data model. In this example the node has a first link to a first leaf structure “keepalive-interval” of type “uintl 6”, a second link to a second leaf structure “minimum-neighbor-hold” of type “uintl 6” and a third link to a third data structure “holdtime” of a type “decimal64”. Each of the first leaf, the second leaf and the third leaf has a node embedding for range: 0...65535.
[0277] Figure 12 is a schematic diagram depicting a non-limiting example of an adjacency matrix representation for data models, according to embodiments herein. The left side of Figure 12 shows a graph representation for a sample first training data model, that is a source data model. As shown on the left side, the node 1201 on the left of the graph corresponds to the parent representation in the data model. The node 1201 in this example has a first link to a first container structure, corresponding to a first configuration, “Config 1”. The first configuration is in turn associated to a number K of leaf structures, each corresponding to a different parameter: parameter (Param) 1, Param 2, Param K. The node 1201 also has a second link to a second container structure, corresponding to a second configuration, “Config 2”. The second configuration is also in turn associated to a number K of leaf structures, each corresponding to a different configuration parameter: parameter (Param) 1, Param 2, ... , Param K. On the right side of Figure 12, a mapping matrix 1202 for a configuration path corresponding to the first data model depicted on the left is show at the top. Each of the columns in the matrix represents if a path exists between the parameter represented at that column with each of the other parameters represented by the rows of the matrix. If a path exists, the corresponding node embedding may also be linked. Each of the rows in the matrix represents if a path exists between the parameter represented by the row with each of the other parameters represented by the columns of the matrix. Each node of the data model may have embedding ‘e’ derived from description or other fields. On the right side of Figure 12, a mapping matrix 1203 for a configuration path corresponding to the data model of a specific first vendor 1 is shown. Each of the columns and each of the rows in the matrix may be understood to represent the same as earlier, for the target data model. Each node in the target data model may have embedding ‘e’ derived from description or other fields.
[0278] Figure 13 is a schematic diagram depicting a non-limiting example of an adjacency matrix representation as tensors, according to embodiments herein. The description is similar to that provided for Figure 12, with the difference that a third dimension is added to each of the mapping matrices depicted, so that one such matrix is provided for each of a plurality of configurations.
[0279] Figure 14 is a schematic diagram depicting a non-limiting example of a Graph Neural Network for Link Prediction training, according to embodiments herein. As depicted in the Figure, a mapping matrix for a configuration path for a first, abstract, data model, such as that described in Figure 13, and a mapping matrix for a configuration path, specific to a vendor data model, such as that described in Figure 13, may be input into a graph neural network, which may be trained for link prediction on heterogeneous graphs, according to embodiments herein. The graph neural network may subsequently used for inference.
[0280] As a summarized overview of the foregoing, embodiments herein may be understood to provide embodiments that may enable to dynamically pull a requirement, that is, a usecase to derive a target data model from a source data mode, and generate the mapping from abstract data models to the vendor specific and configuration specific data models that may work at various levels of the hierarchy. The mapping problem may be formulated, according to embodiments herein, as a retrieval problem, a translation problem or graph problem. The first node 111 may have an ability to perform the modelling from an unsupervised to a supervised approach. That is, the first node 111 may be able to select the approach to use for the training of the machine learning model. The first node 111 may, in some examples, be a system with an encoding and a decoding module, and mapping generator module.
[0281] Certain embodiments herein may provide one or more of the following technical advantage(s). As a first advantage, embodiments herein may be understood to provide a methodology that may be scalable, fast, and accurate, subject to availability training data. Embodiments herein may be understood to save time and improve efficiency over the existing manual process.
[0282] A further advantage may be understood to be that embodiments herein may leverage machine learning, so they may be dynamic and adapt to change. Yet another advantage may be understood to be that embodiments herein may address a relevant real-world problem.
[0283] As to the three approaches described herein, each may be understood to have advantages and disadvantages. The first approach, comprising usage of a retrieval model, may be understood to advantageously enable an unsupervised approach. Therefore it may be applied in absence of labelled data. Embeddings may be understood to be well known in the ML world and several open-source libraries etc may be available. Processing in the first approach may be understood to be faster. Also, may be visualized using models such as t- SNE, as depicted in Figure 7. As a disadvantage, retraining may be needed periodically, and it may be less accurate sometimes.
[0284] The second approach, comprising usage of a language translation model, may be understood to be advantageously enable more accurate and more generalized. As a disadvantage, training may be costlier, and may need a larger model size. Labelling from subject matter experts may be needed.
[0285] The third approach, comprising usage of a graph based link prediction model, may be understood to advantageously enable fast running. As a disadvantage, the third approach may require to construct the adjacency matrix, which may be time consuming and may need some additional pre-processing computation.
[0286] Figure 15 depicts an example of the arrangement that the first node 11 1 may comprise to perform the method described in Figure 2 and / or Figures 3-14. The first node 1 11 may be understood to be for handling data models. The first node 1 11 is configured to operate in the computer system 100.
[0287] Several embodiments are comprised herein. It should be noted that the examples herein are not mutually exclusive. One or more embodiments may be combined, where applicable. All possible combinations are not described to simplify the description. Components from one embodiment may be tacitly assumed to be present in another embodiment and it will be obvious to a person skilled in the art how those components may be used in the other exemplary embodiments. The detailed description of some of the following corresponds to the same references provided above, in relation to the actions described for the first node 11 1 , and will thus not be repeated here. For example, the first data model may be configured to be an abstract data model.
[0288] The first node 1 11 is configured to obtain the first data model.
[0289] The first node 1 11 is further configured to select the machine learning model to use for the determining which second data model is specific to the first third party. The machine learning model is configured to be selected out of the respective machine learning models configured to be trained based on the one or more machine learning approaches configured to be selected from: i) the first approach, the first approach being configured to be the unsupervised approach, ii) the second approach, the second approach being configured to be the language translation model based approach, and iii) the third approach, the third approach being configured to be the graph based link prediction model-based approach.
[0290] The first node 111 is also configured to determine, using the first data model as input to the machine learning model configured to be selected, which second data model is specific to the first third party, out of the plurality of third party specific models configured to correspond to the obtained first data model. The machine learning model is configured to use the semantic information in the first data model and the second data model to perform the determination.
[0291] The first node 111 is further configured to initiate outputting the first indication of the first third party-specific second data model configured to be determined.
[0292] In some embodiments, the first data model may be configured to be the first data structure configured to comprise the first configuration. The first configuration may be configured to lack a direct applicability to the equipment of the first third party. The second data model the configured to be the second data structure comprising the second configuration that may be configured to be directly applicable to the equipment of the first third party. The determining may be configured to comprise that the machine learning model may map the correspondence between the first data model and the second data model.
[0293] In some embodiments, the first data model may be configured to be the network data model, and the plurality of third party specific models may be configured to be the plurality of vendor-specific data models.
[0294] In some embodiments, the determining of the second data model may be configured to comprise predicting and mapping a specific network configuration parameter to the vendor specific configuration data model parameter and generating the corresponding configuration.
[0295] In some embodiments, the first node 111 may be further configured to obtain the machine learning model, by one of training the machine learning model and obtaining the trained machine learning model from the second node 112 configured to operate in the computer system 100.
[0296] In some embodiments wherein the obtaining of the machine learning model may be configured to be performed by training the machine learning model, the first node 111 may be further configured with at least one of the following three configurations.
[0297] In some embodiments, the first node 111 may be further configured to obtain the plurality of first training data models. The first training data models may be configured to be generic data models.
[0298] In some embodiments, the first node 111 may be further configured to obtain the plurality of second training data models. Each of the second training data models may be configured to be specific to a respective third party. In some embodiments, the first node 111 may be further configured to train, using machine learning, the machine learning model to map the plurality of first training data models to the plurality of second training data models. The machine learning model configured to be obtained may be configured to be the trained machine learning model once the accuracy level of the machine learning model may reach the threshold.
[0299] In some embodiments, the first node 111 may be further configured to select the one or more machine learning approaches to use for the training of the machine learning model, out of the first approach, the second approach and the third approach. With the proviso labelled data of the obtained plurality of first training data models and of the plurality of second training data models is not available, the first approach may be configured to be selected. The labelled data may be configured to correspond to the tuple of first training data model and second training data model. With the proviso the labelled data of the obtained plurality of first training data models and of the plurality of second training data models may be available, and the first correspondence between the subgroups of data in the obtained plurality of first training data models and the respective subgroups of data of the plurality of second training data models may be available, the second approach or the third approach may be configured to be selected. The subgroups of data may be configured to correspond to leaf data structures, wherein the respective data structure of the plurality of first training data models and of the plurality of second training data models may be configured to comprise paths, descriptions, containers and leafs.
[0300] With the proviso the labelled data of the obtained plurality of first training data models and of the plurality of second training data models may be available, and the second correspondence between the groups of subgroups of data in the obtained plurality of first training data models and the respective groups of subgroups of data of the plurality of second training data models may be available, the third approach may be configured to be selected. The subgroups of data may be configured to correspond to leaf data structures, wherein the respective data structure of the plurality of first training data models and of the plurality of second training data models may be configured to comprise paths, descriptions, containers and leafs.
[0301] In some embodiments wherein the respective machine learning model may be configured to be trained for each of the first approach, the second approach and the third approach, the following may apply. With the proviso labelled data of the obtained first data model and of the plurality of third party specific models may be not available, the first respective machine learning model trained with the first approach may be configured to be selected. The labelled data may be configured to correspond to the tuple of the first data model and the second data model. With the proviso labelled data of the obtained first data model and of the plurality of third party specific models may be available, and the first correspondence between the subgroups of data in the obtained first data model and the respective subgroups of data of the third party specific models in the plurality may be available, the second respective machine learning model trained with the second approach or the third respective machine learning model trained with the third approach may be configured to be selected. The subgroups of data may be configured to correspond to leaf data structures. The respective data structure of the first data model and of the plurality of third party specific models may be configured to comprise paths, descriptions, containers and leafs. With the proviso labelled data of the obtained first data model and of the plurality of third party specific models may be available, and the second correspondence between groups of subgroups of data in the obtained first data model and the respective groups of subgroups of data of the third party specific models in the plurality may be available, the third respective machine learning model trained with the third approach may be configured to be selected. The subgroups of data may be configured to correspond to leaf data structures. The respective data structure of the first data model and of the plurality of third party specific models may be configured to comprise paths, descriptions, containers and leafs.
[0302] In some embodiments, the first respective machine learning model trained with the first approach may be configured to be selected and at least one of the following may apply: a) the machine learning model may be configured to use the encoder function to generate first embeddings of the semantic information in the first data model and the decoder architecture to map the generated first embeddings to the plurality of second embeddings of the second data model, out of the plurality of respective embeddings of the plurality of third party specific models, b) the embeddings may be configured to correspond to the respective mapping of the respective sequence of words to the respective numeric vector, c) the plurality of second embeddings may be configured to be determined according to the relevance level, d) the semantic information may be configured to comprise the sequences of words and the associated path, e) the first embeddings and the plurality of second embeddings may be configured to be context-aware, f) the first embeddings and the plurality of second embeddings may be configured to be further based on the numeric attributes of the respective data models, g) the machine learning model may be configured to been trained with the first data set configured to comprise: i) the set of tuples, each tuple comprising the respective data model, the respective description and the respective path, and ii) the respective mappings of first training data models to second training data models, and h) the determining may be configured to be based on the computation of the similarity measure between the embeddings vector corresponding to the first data model, as configured to be generated by the machine learning model, and the existing list of respective embeddings vectors of the plurality of third party specific models. In some embodiments, the first node 111 may be further configured with at least one of the following five configurations.
[0303] In some embodiments, the first node 111 may be further configured to retrieve the textual attributes of the first data model that may be to be converted to embeddings.
[0304] In some embodiments, the first node 111 may be further configured to pre-process the retrieved textual attributes to add the domain-specific information.
[0305] In some embodiments, the first node 111 may be further configured to generate the first embeddings.
[0306] In some embodiments, the first node 111 may be further configured to normalize the generated first embeddings.
[0307] In some embodiments, the first node 111 may be further configured to post-process the normalized first embeddings with the numeric attributes of the information in the first data model.
[0308] In some embodiments, the second respective machine learning model trained with the second approach may be configured to be selected and the machine learning model may be configured to have been trained using the loss function that is configured to be based on minimizing classification loss function and maximizing semantic similarity between the first data model and the second data model.
[0309] In some embodiments, the third respective machine learning model trained with the third approach may be configured to be selected and the first data model may be configured to be the first graph and the second data model may be configured to be the second graph, and the machine learning model may be configured to have been trained using the plurality of first training data models, the plurality of second training data models, each of the plurality of second training data models being configured to correspond to the respective third party, and the respective graphs and the corresponding adjacency matrices. The corresponding adjacency matrices may be configured to be one of two dimensional parameter matrices and three dimensional respective parameter matrices for each of a plurality of configurations.
[0310] The embodiments herein in the first node 111 may be implemented through one or more processors, such as a processing circuitry 1501 in the first node 111 depicted in Figure 15, together with computer program code for performing the functions and actions of the embodiments herein. A processor, as used herein, may be understood to be a hardware component. The program code mentioned above may also be provided as a computer program product, for instance in the form of a data carrier carrying computer program code for performing the embodiments herein when being loaded into the first node 111. One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick. The computer program code may furthermore be provided as pure program code on a server and downloaded to the first node 111. The first node 111 may further comprise a memory 1502 comprising one or more memory units. The memory 1502 is arranged to be used to store obtained information, store data, configurations, schedulings, and applications etc. to perform the methods herein when being executed in the first node 111.
[0311] In some embodiments, the first node 111 may receive information from, e.g., the second node 112, the radio network node 130, the device 140, and / or another structure in the computer system 100, through a receiving port 1503. In some embodiments, the receiving port 1503 may be, for example, connected to one or more antennas in first node 111. In other embodiments, the first node 111 may receive information from another structure in the computer system 100 through the receiving port 1503. Since the receiving port 1503 may be in communication with the processing circuitry 1501 , the receiving port 1503 may then send the received information to the processing circuitry 1501 . The receiving port 1503 may also be configured to receive other information.
[0312] The processing circuitry 1501 in the first node 111 may be further configured to transmit or send information to e.g., the second node 112, the radio network node 130, the device 140, and / or another structure in the computer system 100, through a sending port 1504, which may be in communication with the processing circuitry 1501 , and the memory 1502.
[0313] Those skilled in the art will also appreciate that the units comprised within the first node 111 described above as being configured to perform different actions, may refer to a combination of analog and digital circuits, and / or one or more processors configured with software and / or firmware, e.g., stored in memory, that, when executed by the one or more processors such as the processing circuitry 1501 , perform as described above. One or more of these processors, as well as the other digital hardware, may be included in a single Application-Specific Integrated Circuit (ASIC), or several processors and various digital hardware may be distributed among several separate components, whether individually packaged or assembled into a System-on-a-Chip (SoC).
[0314] The first node 111 may be configured to perform any of the Actions described in relation to Figure 2 and / or Figures 3-14, e.g., by means of the processing circuitry 1501 within the first node 111 , configured to perform any of such actions.
[0315] Also, in some embodiments, different units comprised within the first node 111 may be configured to perform the different actions described above, implemented as one or more applications running on one or more processors such as the processing circuitry 1501.
[0316] Thus, the methods according to the embodiments described herein for the first node 111 may be respectively implemented by means of a computer program 1505 product, comprising instructions, i.e., software code portions, which, when executed on at least one processing circuitry 1501 , cause the at least one processing circuitry 1501 to carry out the actions described herein, as performed by the first node 111. The computer program 1505 product may be stored on a computer-readable storage medium 1506. The computer- readable storage medium 1506, having stored thereon the computer program 1505, may comprise instructions which, when executed on at least one processing circuitry 1501 , cause the at least one processing circuitry 1501 to carry out the actions described herein, as performed by the first node 111. In some embodiments, the computer-readable storage medium 1506 may be a non-transitory computer-readable storage medium, such as a CD ROM disc, or a memory stick. In other embodiments, the computer program 1505 product may be stored on a carrier containing the computer program 1505 just described, wherein the carrier is one of an electronic signal, optical signal, radio signal, or the computer-readable storage medium 1506, as described above.
[0317] The first node 111 may comprise a communication interface configured to facilitate, or an interface unit to facilitate, communications between the first node 111 and other nodes or devices, e.g., the second node 112, the radio network node 130, the device 140, and / or another structure in the computer system 100, The interface may, for example, include a transceiver configured to transmit and receive radio signals over an air interface in accordance with a suitable standard.
[0318] In other embodiments, the first node 111 may comprise a radio circuitry 1507, which may comprise e.g., the receiving port 1503 and the sending port 1504.
[0319] The radio circuitry 1507 may be configured to set up and maintain at least a wireless connection with the second node 112, the radio network node 130, the device 140, and / or another structure in the computer system 100. Circuitry may be understood herein as a hardware component.
[0320] Hence, embodiments herein also relate to the first node 111 operative to operate in the computer system 100. The first node 111 may comprise the processing circuitry 1501 and the memory 1502, said memory 1502 containing instructions executable by said processing circuitry 1501 , whereby the first node 111 is further operative to perform the actions described herein in relation to the first node 111 , e.g., in Figure 2 and / or Figures 3-14.
[0321] Figure 16 depicts an example of the arrangement that the second node 112 may comprise to perform the method described in Figure 3 and / or Figures 3-14. The second node 112 may be understood to be for handling the data models. The second node 112 is configured to operate in the computer system 100.
[0322] Several embodiments are comprised herein. It should be noted that the examples herein are not mutually exclusive. One or more embodiments may be combined, where applicable. All possible combinations are not described to simplify the description. Components from one embodiment may be tacitly assumed to be present in another embodiment and it will be obvious to a person skilled in the art how those components may be used in the other exemplary embodiments. The detailed description of some of the following corresponds to the same references provided above, in relation to the actions described for the second node 112, and will thus not be repeated here. For example, the first data model may be configured to be an abstract data model.
[0323] The second node 112 is configured to obtain the plurality of first training data models. The first training data models are configured to be generic data models.
[0324] The second node 112 is further configured to obtain the plurality of second training data models. Each of the second training data models are configured to be specific to a respective third party.
[0325] The second node 112 is also configured to select the one or more machine learning approaches to use for the training of the machine learning model, out of: i) the first approach, the first approach being configured to be the unsupervised approach, ii) the second approach, the second approach being configured to be the language translation model based approach, and iii) the third approach, the third approach being configured to be the graph based link prediction model-based approach.
[0326] The second node 112 is further configured to, train, using machine learning, the machine learning model to map the plurality of first training data models to the plurality of second training data models, so that the trained machine learning model is configured to be able to determine, using the first data model as input to the machine learning model, which second data model is configured to be specific to the first third party, out of the plurality of third party specific models configured to correspond to the obtained first data model. The machine learning model is configured to be to use the semantic information in the first data model and the second data model to perform the determination. The training is configured to be performed until the accuracy level of the machine learning model reaches the threshold.
[0327] The second node 112 is further configured to send the second indication configured to indicate the trained machine learning model to the first node 111 configured to operate in the computer system 100.
[0328] In some embodiments, the first data model may be configured to be the first data structure configured to comprise the first configuration. The first configuration may be configured to lack a direct applicability to the equipment of the first third party. The second data model may be configured to be the second data structure configured to comprise the second configuration that may be configured to be directly applicable to the equipment of the first third party. The machine learning model may be configured to be trained to map the correspondence between the first data model and the second data model.
[0329] In some embodiments, the first data model may be configured to be the network data model, and the plurality of third party specific models may be configured to be the plurality of vendor-specific data models. In some embodiments, the determining of the second data model may be configured to comprise predicting and mapping the specific network configuration parameter to the vendor specific configuration data model parameter and generating the corresponding configuration.
[0330] In some embodiments wherein the respective machine learning model may be configured to be trained for each of the first approach, the second approach and the third approach the first approach, the second approach and the third approach, the following may apply. With the proviso labelled data of the obtained plurality of first training data models and of the plurality of second training data models may be not available, the first approach may be configured to be selected. The labelled data may be configured to correspond to the tuple of the first training data model and the second training data model. With the proviso the labelled data of the obtained plurality of first training data models and of the plurality of second training data models may be available, and the first correspondence between the subgroups of data in the obtained plurality of first training data models and the respective subgroups of data of the plurality of second training data models may be available, the second approach or the third approach may be configured to be selected. The subgroups of data may be configured to correspond to leaf data structures, wherein the respective data structure of the plurality of first training data models and of the plurality of second training data models may be configured to comprise paths, descriptions, containers and leafs. With the proviso the labelled data of the obtained plurality of first training data models and of the plurality of second training data models may be available, and the second correspondence between the groups of subgroups of data in the obtained plurality of first training data models and the respective groups of subgroups of data of the plurality of second training data models may be available, the third approach may be configured to be selected. The subgroups of data may be configured to correspond to leaf data structures. The respective data structure of the plurality of first training data models and of the plurality of second training data models may be configured to comprise paths, descriptions, containers and leafs.
[0331] In some embodiments, wherein the first approach may be configured to be selected, the machine learning model may be configured to be the first respective machine learning model and at least one of the following may apply: a) the first respective machine learning model may be configured to use the encoder function to generate the first embeddings of the semantic information in the first data model and the decoder architecture to map the generated first embeddings to the plurality of second embeddings of the second data model, out of the plurality of respective embeddings of the plurality of third party specific models, b) the embeddings may be configured to correspond to the respective mapping of the respective sequence of words to the respective numeric vector, c) the plurality of second embeddings may be configured to be determined according to the relevance level, d) the semantic information may be configured to comprise the sequences of words and the associated path, e) the first embeddings and the plurality of second embeddings may be configured to be context-aware, f) the first embeddings and the plurality of second embeddings may be configured to be further based on numeric attributes of the respective data models, g) the first respective machine learning model may be configured to have been trained with the first data set configured to comprise: i) the set of tuples, each tuple being configured to comprise the respective data model, the respective description and the respective path, and ii) the respective mappings of first training data models to the second training data models, and h) the mapping may be configured to be based on the computation of the similarity measure between the embeddings vector corresponding to the first data model, as configured to be generated by the first respective machine learning model, and the existing list of respective embeddings vectors of the plurality of third party specific models.
[0332] In some embodiments, the first node 111 may be further configured with at least one of the following five configurations.
[0333] In some embodiments, the mapping may be further configured to comprise retrieving textual attributes of the first data model that may have to be converted to embeddings.
[0334] In some embodiments, the mapping may be further configured to comprise preprocessing the retrieved textual attributes to add domain-specific information.
[0335] In some embodiments, the mapping may be further configured to comprise generating the first embeddings.
[0336] In some embodiments, the mapping may be further configured to comprise normalizing the generated first embeddings.
[0337] In some embodiments, the mapping may be further configured to comprise postprocessing the normalized first embeddings with the numeric attributes of the information in the first data model.
[0338] In some embodiments, the second approach may be configured to be selected, wherein the machine learning model may be configured to be the second respective machine learning model and may be configured to be trained using the loss function that may be configured to be based on minimizing classification loss function and maximizing semantic similarity between the first data model and the second data model.
[0339] In some embodiments, the third approach may be configured to be selected and the machine learning model may be configured to be the third respective machine learning model, and the first data model may be configured to be the first graph and the second data model may be configured to be the second graph, and the third respective machine learning model may be configured to be trained using the plurality of first training data models, the plurality of second training data models, each of the plurality of second training data models being configured to correspond to the respective third party, and the respective graphs and the corresponding adjacency matrices. The corresponding adjacency matrices may be configured to be one of two dimensional parameter matrices and three dimensional respective parameter matrices for each of a plurality of configurations.
[0340] The embodiments herein in the second node 112 may be implemented through one or more processors, such as a processing circuitry 1601 in the second node 112 depicted in Figure 16, together with computer program code for performing the functions and actions of the embodiments herein. A processor, as used herein, may be understood to be a hardware component. The program code mentioned above may also be provided as a computer program product, for instance in the form of a data carrier carrying computer program code for performing the embodiments herein when being loaded into the second node 112. One such carrier may be in the form of a CD ROM disc. It is however feasible with other data carriers such as a memory stick. The computer program code may furthermore be provided as pure program code on a server and downloaded to the second node 112.
[0341] The second node 112 may further comprise a memory 1602 comprising one or more memory units. The memory 1602 is arranged to be used to store obtained information, store data, configurations, schedulings, and applications etc. to perform the methods herein when being executed in the second node 112.
[0342] In some embodiments, the second node 112 may receive information from, e.g., the first node 111 , the radio network node 160, the device 140, and / or another structure in the computer system 100, through a receiving port 1603. In some embodiments, the receiving port 1603 may be, for example, connected to one or more antennas in second node 112. In other embodiments, the second node 112 may receive information from another structure in the wireless communications network 160 through the receiving port 1603. Since the receiving port 1603 may be in communication with the processing circuitry 1601 , the receiving port 1603 may then send the received information to the processing circuitry 1601 . The receiving port 1603 may also be configured to receive other information.
[0343] The processing circuitry 1601 in the second node 112 may be further configured to transmit or send information to e.g., the first node 111 , the radio network node 160, the device 140, and / or another structure in the computer system 100, through a sending port 1604, which may be in communication with the processing circuitry 1601 , and the memory 1602.
[0344] Those skilled in the art will also appreciate that the units comprised within the second node 112 described above as being configured to perform different actions, may refer to a combination of analog and digital circuits, and / or one or more processors configured with software and / or firmware, e.g., stored in memory, that, when executed by the one or more processors such as the processing circuitry 1601 , perform as described above. One or more of these processors, as well as the other digital hardware, may be included in a single Application-Specific Integrated Circuit (ASIC), or several processors and various digital hardware may be distributed among several separate components, whether individually packaged or assembled into a System-on-a-Chip (SoC).
[0345] The second node 112 may be configured to perform any of the Actions described in relation to Figure 3 and / or Figures 3-14, e.g., by means of the processing circuitry 1601 within the second node 112, configured to perform any of such actions.
[0346] Also, in some embodiments, different units comprised within the second node 112 may be configured to perform the different actions described above, implemented as one or more applications running on one or more processors such as the processing circuitry 1601.
[0347] Thus, the methods according to the embodiments described herein for the second node 112 may be respectively implemented by means of a computer program 1605 product, comprising instructions, i.e., software code portions, which, when executed on at least one processing circuitry 1601 , cause the at least one processing circuitry 1601 to carry out the actions described herein, as performed by the second node 112. The computer program 1605 product may be stored on a computer-readable storage medium 1606. The computer- readable storage medium 1606, having stored thereon the computer program 1605, may comprise instructions which, when executed on at least one processing circuitry 1601 , cause the at least one processing circuitry 1601 to carry out the actions described herein, as performed by the second node 112. In some embodiments, the computer-readable storage medium 1606 may be a non-transitory computer-readable storage medium, such as a CD ROM disc, or a memory stick. In other embodiments, the computer program 1605 product may be stored on a carrier containing the computer program 1605 just described, wherein the carrier is one of an electronic signal, optical signal, radio signal, or the computer-readable storage medium 1606, as described above.
[0348] The second node 112 may comprise a communication interface configured to facilitate, or an interface unit to facilitate, communications between the second node 112 and other nodes or devices, e.g., the first node 111 , the radio network node 160, the device 140, and / or another structure in the computer system 100. The interface may, for example, include a transceiver configured to transmit and receive radio signals over an air interface in accordance with a suitable standard.
[0349] In other embodiments, the second node 112 may comprise a radio circuitry 1607, which may comprise e.g., the receiving port 1603 and the sending port 1604.
[0350] The radio circuitry 1607 may be configured to set up and maintain at least a wireless connection with the first node 111 , the radio network node 160, the device 140, and / or another structure in the computer system 10OCircuitry may be understood herein as a hardware component.
[0351] Hence, embodiments herein also relate to the second node 112 operative to operate in the wireless communications network 160. The second node 112 may comprise the processing circuitry 1601 and the memory 1602, said memory 1602 containing instructions executable by said processing circuitry 1601 , whereby the second node 112 is further operative to perform the actions described herein in relation to the second node 112, e.g., in Figure 3 and / or Figures 3-14.
[0352] When using the word "comprise" or “comprising”, it shall be interpreted as non- limiting, i.e., meaning "consist at least of".
[0353] The embodiments herein are not limited to the above-described preferred embodiments. Various alternatives, modifications and equivalents may be used. Therefore, the above embodiments should not be taken as limiting the scope of the invention.
[0354] Generally, all terms used herein are to be interpreted according to their ordinary meaning in the relevant technical field, unless a different meaning is clearly given and / or is implied from the context in which it is used. All references to a / an / the element, apparatus, component, means, step, etc. are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. The steps of any methods disclosed herein do not have to be performed in the exact order disclosed, unless a step is explicitly described as following or preceding another step and / or where it is implicit that a step must follow or precede another step. Any feature of any of the embodiments disclosed herein may be applied to any other embodiment, wherever appropriate. Likewise, any advantage of any of the embodiments may apply to any other embodiments, and vice versa. Other objectives, features and advantages of the enclosed embodiments will be apparent from the following description.
[0355] As used herein, the expression “at least one of:” followed by a list of alternatives separated by commas, and wherein the last alternative is preceded by the “and” term, may be understood to mean that only one of the list of alternatives may apply, more than one of the list of alternatives may apply or all of the list of alternatives may apply. This expression may be understood to be equivalent to the expression “at least one of:” followed by a list of alternatives separated by commas, and wherein the last alternative is preceded by the “or” term.
[0356] Any of the terms processor and circuitry may be understood herein as a hardware component.
[0357] As used herein, the expression “in some embodiments” has been used to indicate that the features of the embodiment described may be combined with any other embodiment or example disclosed herein.
[0358] As used herein, the expression “in some examples” has been used to indicate that the features of the example described may be combined with any other embodiment or example disclosed herein. Examples related to embodiments herein
[0359] The following are examples related to embodiments herein. The actions and features correspond to those described in relation to Figures 2-16. In the examples related to embodiments herein, any of the features described in relation to Figures 2-16 may be combined with the actions of the examples related to embodiments herein, described in relation to Figures 2-16.
[0360] Example 1 . A computer-implemented method performed by a first node (1 11 ), the method being for handling data models, the first node (11 1 ) operating in a computer system (100), the method comprising:
[0361] - obtaining (206) a first data model,
[0362] - determining (213), using the first data model as input to a machine learning model, which second data model is specific to a first third party, out of a plurality of third party specific models corresponding to the obtained first data model, wherein the machine learning model uses semantic information in the first data model and the second data model to perform the determination, wherein the machine learning model is based on one or more machine learning approaches selected from: i. a first approach, the first approach being an unsupervised approach, ii. a second approach, the second approach being a language translation model based approach, and iii. a third approach, the third approach being a graph based link prediction model-based approach, and
[0363] - initiating (214) outputting a first indication of the determined first third partyspecific second data model.
[0364] Example 2. The method according to example 1 , wherein the first data model is a first data structure comprising a first configuration, wherein the first configuration lacks a direct applicability to an equipment of the first third party, wherein the second data model is a second data structure comprising a second configuration that is directly applicable to the equipment of the first third party, and wherein the determining (213) comprises that the machine learning model maps a correspondence between the first data model and the second data model.
[0365] Example 3. The method according to any of examples 1 -2, wherein the first data model is a network data model, and the plurality of third party specific models are a plurality of vendorspecific data models. Example 4. The method according to example 3, wherein the determining (213) of the second data model comprises predicting and mapping a specific network configuration parameter to a vendor specific configuration data model parameter and generating a corresponding configuration.
[0366] Example 5. The method according to any of examples 1 -4, wherein the method further comprises:
[0367] - obtaining (205) the machine learning model, by one of training the machine learning model and obtaining the trained machine learning model from a second node (112) operating in the computer system (100).
[0368] Example 6. The method according to example 5, wherein the obtaining (205) of the machine learning model is performed by training the machine learning model and wherein the method further comprises:
[0369] - obtaining (201 ) a plurality of first training data models, the first training data models being generic data models,
[0370] - obtaining (202) a plurality of second training data models, each of the second training data models being specific to a respective third party,
[0371] - training (204), using machine learning, the machine learning model to map the plurality of first training data models to the plurality of second training data models, and wherein the obtained machine learning model is the trained machine learning model once an accuracy level of the machine learning model reaches a threshold.
[0372] Example 7. The method according to example 6, wherein the method further comprises:
[0373] - selecting (203) the approach to use for the training (204) of the machine learning model, out of the first approach, the second approach and the third approach, wherein: i. with the proviso labelled data of the obtained plurality of first training data models and of the plurality of second training data models is not available, the first approach is selected, wherein the labelled data corresponds to a tuple of the first training data model and the second training data model, ii. with the proviso the labelled data of the obtained plurality of first training data models and of the plurality of second training data models is available, and wherein a first correspondence between subgroups of data in the obtained plurality of first training data models and respective subgroups of data of the plurality of second training data models is available, the second approach or the third approach is selected, wherein the subgroups of data correspond to leaf data structures, wherein a respective data structure of the plurality of first training data models and of the plurality of second training data models comprises paths, descriptions, categories and leafs, and iii. with the proviso the labelled data of the obtained plurality of first training data models and of the plurality of second training data models is available, and wherein a second correspondence between groups of subgroups of data in the obtained plurality of first training data models and respective groups of subgroups of data of the plurality of second training data models is available, the third approach is selected, wherein the subgroups of data correspond to leaf data structures, wherein the respective data structure of the plurality of first training data models and of the plurality of second training data models comprises paths, descriptions, categories and leafs.
[0374] Example 8. The method according to any of examples 6-7, wherein a respective machine learning model is trained for each of the first approach, the second approach and the third approach, and wherein the method further comprises:
[0375] - selecting (207) the machine learning model to use for the determining (213) of the second data model out of the respective machine learning models, wherein: i. with the proviso labelled data of the obtained first data model and of the plurality of third party specific models is not available, a first respective machine learning model trained with the first approach is selected, wherein the labelled data corresponds to a tuple of the first data model and the second data model, ii. with the proviso labelled data of the obtained first data model and of the plurality of third party specific models is available, and wherein a first correspondence between subgroups of data in the obtained first data model and respective subgroups of data of the third party specific models in the plurality is available, a second respective machine learning model trained with the second approach or a third respective machine learning model trained with the third approach is selected, wherein the subgroups of data correspond to leaf data structures, wherein a respective data structure of the first data model and of the plurality of third party specific models comprises paths, descriptions, categories and leafs and iii. with the proviso labelled data of the obtained first data model and of the plurality of third party specific models is available, and wherein a second correspondence between groups of subgroups of data in the obtained first data model and respective groups of subgroups of data of the third party specific models in the plurality is available, a third respective machine learning model trained with the third approach is selected, wherein the subgroups of data correspond to leaf data structures, wherein the respective data structure of the first data model and of the plurality of third party specific models comprises paths, descriptions, categories and leafs.
[0376] Example 9. The method according to example 8, wherein the first respective machine learning model trained with the first approach is selected and wherein at least one of:
[0377] - the machine learning model uses an encoder function to generate first embeddings of the semantic information in the first data model and a decoder architecture to map the generated first embeddings to a plurality of second embeddings of the second data model, out of a plurality of respective embeddings of the plurality of third party specific models,
[0378] - the embeddings correspond to a respective mapping of a respective sequence of words to a respective numeric vector,
[0379] - the plurality of second embeddings are determined according to a relevance level,
[0380] - the semantic information comprises sequences of words and an associated path,
[0381] - the first embeddings and the plurality of second embeddings are context-aware,
[0382] - the first embeddings and the plurality of second embeddings are further based on numeric attributes of the respective data models,
[0383] - the machine learning model has been trained with a first data set comprising: a) a set of tuples, each tuple comprising a respective data model, a respective description and a respective path, and b) respective mappings of first training data models to second training data models, and
[0384] - the determining (213) is based on a computation of a similarity measure between an embeddings vector corresponding to the first data model, as generated by the machine learning model, and an existing list of respective embeddings vectors of the plurality of third party specific models. Example 10. The method according to example 9, wherein the method further comprises:
[0385] - retrieving (208) textual attributes of the first data model that are to be converted to embeddings,
[0386] - pre-processing (209) the retrieved textual attributes to add domain-specific information,
[0387] - generating (210) the first embeddings,
[0388] - normalizing (211) the generated first embeddings, and
[0389] - post-processing (212) the normalized first embeddings with the numeric attributes of the information in the first data model.
[0390] Example 11 . The method according to example 8, wherein the second respective machine learning model trained with the second approach is selected and wherein the machine learning model has been trained using a loss function that is based on minimizing classification loss function and maximizing semantic similarity between the first data model and the second data model.
[0391] Example 12. The method according to example 8, wherein the third respective machine learning model trained with the third approach is selected and wherein the first data model is a first graph and the second data model is a second graph, and wherein the machine learning model has been trained using a plurality of first training data models, a plurality of second training data models , each of the plurality of second training data models corresponding to a respective third party, and respective graphs and corresponding adjacency matrices, the corresponding adjacency matrices being one of two dimensional parameter matrices and three dimensional respective parameter matrices for each of a plurality of configurations.
[0392] Example 13. A computer-implemented method performed by a second node (112), the method being for handling data models, the second node (112) operating in a computer system (100), the method comprising:
[0393] - obtaining (301 ) a plurality of first training data models, the first training data models being generic data models,
[0394] - obtaining (302) a plurality of second training data models, each of the second training data models being specific to a respective third party,
[0395] - training (304), using machine learning, a machine learning model to map the plurality of first training data models to the plurality of second training data models, so that the trained machine learning model is able to determine, using a first data model as input to the machine learning model, which second data model is specific to a first third party, out of a plurality of third party specific models corresponding to the obtained first data model, wherein the machine learning model is to use semantic information in the first data model and the second data model to perform the determination, and wherein the training (204) is performed until an accuracy level of the machine learning model reaches a threshold, and wherein the machine learning model is based on one or more approaches selected from: i. a first approach, the first approach being an unsupervised approach, ii. a second approach, the second approach being a language translation model based approach, and iii. a third approach, the third approach being a graph based link prediction model-based approach, and
[0396] - sending (305) a second indication indicating the trained machine learning model to a first node (111) operating in the computer system (100).
[0397] Example 14. The method according to example 13, wherein the first data model is a first data structure comprising a first configuration, wherein the first configuration lacks a direct applicability to an equipment of the first third party, wherein the second data model is a second data structure comprising a second configuration that is directly applicable to the equipment of the first third party, and wherein the machine learning model is trained to map a correspondence between the first data model and the second data model.
[0398] Example 15. The method according to any of examples 13-14, wherein the first data model is a network data model, and the plurality of third party specific models are a plurality of vendorspecific data models.
[0399] Example 16. The method according to example 15, wherein the determining of the second data model comprises predicting and mapping a specific network configuration parameter to a vendor specific configuration data model parameter and generating a corresponding configuration.
[0400] Example 17. The method according to any of examples 13-16, wherein a respective machine learning model is trained for each of the first approach, the second approach and the third approach, and wherein the method further comprises:
[0401] - selecting (303) the approach to use for the training (304) of the machine learning model, out of the first approach, the second approach and the third approach, wherein: i. with the proviso labelled data of the obtained plurality of first training data models and of the plurality of second training data models is not available, the first approach is selected, wherein the labelled data corresponds to a tuple of the first training data model and the second training data model, ii. with the proviso the labelled data of the obtained plurality of first training data models and of the plurality of second training data models is available, and wherein a first correspondence between subgroups of data in the obtained plurality of first training data models and respective subgroups of data of the plurality of second training data models is available, the second approach or the third approach is selected, wherein the subgroups of data correspond to leaf data structures, wherein a respective data structure of the plurality of first training data models and of the plurality of second training data models comprises paths, descriptions, categories and leafs and iii. with the proviso the labelled data of the obtained plurality of first training data models and of the plurality of second training data models is available, and wherein a second correspondence between groups of subgroups of data in the obtained plurality of first training data models and respective groups of subgroups of data of the plurality of second training data models is available, the third approach is selected, wherein the subgroups of data correspond to leaf data structures, wherein the respective data structure of the plurality of first training data models and of the plurality of second training data models comprises paths, descriptions, categories and leafs.
[0402] Example 18. The method according to example 17, wherein the first approach is selected, wherein the machine learning model is a first respective machine learning model and wherein at least one of:
[0403] - the first respective machine learning model uses an encoder function to generate first embeddings of the semantic information in the first data model and a decoder architecture to map the generated first embeddings to a plurality of second embeddings of the second data model, out of a plurality of respective embeddings of the plurality of third party specific models,
[0404] - the embeddings correspond to a respective mapping of a respective sequence of words to a respective numeric vector, - the plurality of second embeddings are determined according to a relevance level,
[0405] - the semantic information comprises sequences of words and an associated path,
[0406] - the first embeddings and the plurality of second embeddings are context-aware,
[0407] - the first embeddings and the plurality of second embeddings are further based on numeric attributes of the respective data models,
[0408] - the first respective machine learning model has been trained with a first data set comprising: a) a set of tuples, each tuple comprising a respective data model, a respective description and a respective path, and b) respective mappings of first training data models to second training data models, and
[0409] - the mapping is based on a computation of a similarity measure between an embeddings vector corresponding to the first data model, as generated by the first respective machine learning model, and an existing list of respective embeddings vectors of the plurality of third party specific models.
[0410] Example 19. The method according to example 18, wherein the mapping further comprises:
[0411] - retrieving textual attributes of the first data model that are to be converted to embeddings,
[0412] - pre-processing the retrieved textual attributes to add domain-specific information,
[0413] - generating the first embeddings,
[0414] - normalizing the generated first embeddings, and
[0415] - post-processing the normalized first embeddings with the numeric attributes of the information in the first data model.
[0416] Example 20. The method according to example 17, wherein the second approach is selected, wherein the machine learning model is a second respective machine learning model and is trained using a loss function that is based on minimizing classification loss function and maximizing semantic similarity between the first data model and the second data model.
[0417] Example 21. The method according to example 17, wherein the third approach is selected and wherein the machine learning model is a third respective machine learning model, and wherein the first data model is a first graph and the second data model is a second graph, and wherein the third respective machine learning model is trained using a plurality of first training data models , a plurality of second training data models, each of the plurality of second training data models corresponding to a respective third party, and respective graphs and corresponding adjacency matrices, the corresponding adjacency matrices being one of two dimensional parameter matrices and three dimensional respective parameter matrices for each of a plurality of configurations.
[0418] Example 22. A first node (111 ), for handling data models, the first node (111 ) being configured to operate in a computer system (100), the first node (111) being further configured to:
[0419] - obtain a first data model,
[0420] - determine, using the first data model as input to a machine learning model, which second data model is specific to a first third party, out of a plurality of third party specific models configured to correspond to the obtained first data model, wherein the machine learning model is configured to use semantic information in the first data model and the second data model to perform the determination, wherein the machine learning model is configured to be based on one or more machine learning approaches selected from: i. a first approach, the first approach being configured to be an unsupervised approach, ii. a second approach, the second approach being configured to be a language translation model based approach, and iii. a third approach, the third approach being configured to be a graph based link prediction model-based approach, and
[0421] - initiate (214) outputting a first indication of the first third party-specific second data model configured to be determined.
[0422] Example 23. The first node (111) according to example 22, wherein the first data model is configured to be a first data structure configured to comprise a first configuration, wherein the first configuration is configured to lack a direct applicability to an equipment of the first third party, wherein the second data model is configured to be a second data structure comprising a second configuration that is configured to be directly applicable to the equipment of the first third party, and wherein the determining is configured to comprise that the machine learning model maps a correspondence between the first data model and the second data model.
[0423] Example 24. The first node (111) according to any of examples 22-23, wherein the first data model is configured to be a network data model, and the plurality of third party specific models are configured to be a plurality of vendor-specific data models.
[0424] Example 25. The first node (111) according to example 24, wherein the determining of the second data model is configured to comprise predicting and mapping a specific network configuration parameter to a vendor specific configuration data model parameter and generating a corresponding configuration.
[0425] Example 26. The first node (111) according to any of examples 22-25, wherein the first node (111 ) is further configured to:
[0426] - obtain the machine learning model, by one of training the machine learning model and obtaining the trained machine learning model from a second node (112) configured to operate in the computer system (100).
[0427] Example 27. The first node (111) according to example 26, wherein the obtaining of the machine learning model is configured to be performed by training the machine learning model and wherein the first node (111) is further configured to:
[0428] - obtain a plurality of first training data models, the first training data models being configured to be generic data models,
[0429] - obtain a plurality of second training data models, each of the second training data models being configured to be specific to a respective third party,
[0430] - train, using machine learning, the machine learning model to map the plurality of first training data models to the plurality of second training data models, and wherein the machine learning model configured to be obtained is configured to be the trained machine learning model once an accuracy level of the machine learning model reaches a threshold.
[0431] Example 28. The first node (111) according to example 27, wherein the first node (111) is further configured to:
[0432] - select the approach to use for the training of the machine learning model, out of the first approach, the second approach and the third approach, wherein: i. with the proviso labelled data of the obtained plurality of first training data models and of the plurality of second training data models is not available, the first approach is configured to be selected, wherein the labelled data is configured to correspond to a tuple of the first training data model and the second training data model, ii. with the proviso the labelled data of the obtained plurality of first training data models and of the plurality of second training data models is available, and wherein a first correspondence between subgroups of data in the obtained plurality of first training data models and respective subgroups of data of the plurality of second training data models is available, the second approach or the third approach is configured to be selected, wherein the subgroups of data are configured to correspond to leaf data structures, wherein a respective data structure of the plurality of first training data models and of the plurality of second training data models is configured to comprise paths, descriptions, categories and leafs, and iii. with the proviso the labelled data of the obtained plurality of first training data models and of the plurality of second training data models is available, and wherein a second correspondence between groups of subgroups of data in the obtained plurality of first training data models and respective groups of subgroups of data of the plurality of second training data models is available, the third approach is configured to be selected, wherein the subgroups of data are configured to correspond to leaf data structures, wherein the respective data structure of the plurality of first training data models and of the plurality of second training data models is configured to comprise paths, descriptions, categories and leafs.
[0433] Example 29. The first node (111) according to any of examples 27-28, wherein a respective machine learning model is configured to be trained for each of the first approach, the second approach and the third approach, and wherein the first node (111) is further configured to:
[0434] - select the machine learning model to use for the determining of the second data model out of the respective machine learning models, wherein: i. with the proviso labelled data of the obtained first data model and of the plurality of third party specific models is not available, a first respective machine learning model trained with the first approach is configured to be selected, wherein the labelled data is configured to correspond to a tuple of the first data model and the second data model, ii. with the proviso labelled data of the obtained first data model and of the plurality of third party specific models is available, and wherein a first correspondence between subgroups of data in the obtained first data model and respective subgroups of data of the third party specific models in the plurality is available, a second respective machine learning model trained with the second approach or a third respective machine learning model trained with the third approach is configured to be selected, wherein the subgroups of data are configured to correspond to leaf data structures, wherein a respective data structure of the first data model and of the plurality of third party specific models is configured to comprise paths, descriptions, categories and leafs, and iii. with the proviso labelled data of the obtained first data model and of the plurality of third party specific models is available, and wherein a second correspondence between groups of subgroups of data in the obtained first data model and respective groups of subgroups of data of the third party specific models in the plurality is available, a third respective machine learning model trained with the third approach is configured to be selected, wherein the subgroups of data are configured to correspond to leaf data structures, wherein the respective data structure of the first data model and of the plurality of third party specific models is configured to comprise paths, descriptions, categories and leafs.
[0435] Example 30. The first node (111) according to example 29, wherein the first respective machine learning model trained with the first approach is configured to be selected and wherein at least one of:
[0436] - the machine learning model is configured to use an encoder function to generate first embeddings of the semantic information in the first data model and a decoder architecture to map the generated first embeddings to a plurality of second embeddings of the second data model, out of a plurality of respective embeddings of the plurality of third party specific models,
[0437] - the embeddings are configured to correspond to a respective mapping of a respective sequence of words to a respective numeric vector,
[0438] - the plurality of second embeddings are configured to be determined according to a relevance level,
[0439] - the semantic information is configured to comprise sequences of words and an associated path,
[0440] - the first embeddings and the plurality of second embeddings are configured to be context-aware,
[0441] - the first embeddings and the plurality of second embeddings are configured to be further based on numeric attributes of the respective data models,
[0442] - the machine learning model is configured to been trained with a first data set configured to comprise: a) a set of tuples, each tuple comprising a respective data model, a respective description and a respective path, and b) respective mappings of first training data models to second training data models, and
[0443] - the determining is configured to be based on a computation of a similarity measure between an embeddings vector corresponding to the first data model, as configured to be generated by the machine learning model, and an existing list of respective embeddings vectors of the plurality of third party specific models.
[0444] Example 31 . The first node (111) according to example 30, wherein the first node (111 ) is further configured to:
[0445] - retrieve textual attributes of the first data model that are to be converted to embeddings,
[0446] - pre-process the retrieved textual attributes to add domain-specific information,
[0447] - generate the first embeddings,
[0448] - normalize the generated first embeddings, and
[0449] - post-process the normalized first embeddings with the numeric attributes of the information in the first data model.
[0450] Example 32. The first node (111) according to example 29, wherein the second respective machine learning model trained with the second approach is configured to be selected and wherein the machine learning model is configured to have been trained using a loss function that is configured to be based on minimizing classification loss function and maximizing semantic similarity between the first data model and the second data model.
[0451] Example 33. The first node (111) according to example 29, wherein the third respective machine learning model trained with the third approach is configured to be selected and wherein the first data model is configured to be a first graph and the second data model is configured to be a second graph, and wherein the machine learning model is configured to have been trained using a plurality of first training data models, a plurality of second training data models, each of the plurality of second training data models being configured to correspond to a respective third party, and respective graphs and corresponding adjacency matrices, the corresponding adjacency matrices being configured to be one of two dimensional parameter matrices and three dimensional respective parameter matrices for each of a plurality of configurations.
[0452] Example 34. A second node (112), for handling data models, the second node (112) being configured to operate in a computer system (100), the second node (112) being further configured to:
[0453] - obtain a plurality of first training data models, the first training data models being configured to be generic data models, - obtain a plurality of second training data models, each of the second training data models being configured to be specific to a respective third party,
[0454] - train, using machine learning, a machine learning model to map the plurality of first training data models to the plurality of second training data models, so that the trained machine learning model is configured to be able to determine, using a first data model as input to the machine learning model, which second data model is configured to be specific to a first third party, out of a plurality of third party specific models configured to correspond to the obtained first data model, wherein the machine learning model is configured to be to use semantic information in the first data model and the second data model to perform the determination, and wherein the training is configured to be performed until an accuracy level of the machine learning model reaches a threshold, and wherein the machine learning model is configured to be based on one or more approaches selected from: i. a first approach, the first approach being configured to be an unsupervised approach, ii. a second approach, the second approach being configured to be a language translation model based approach, and iii. a third approach, the third approach being configured to be a graph based link prediction model-based approach, and
[0455] - send a second indication configured to indicate the trained machine learning model to a first node (111) configured to operate in the computer system (100).
[0456] Example 35. The second node (112) according to example 34, wherein the first data model is configured to be a first data structure configured to comprise a first configuration, wherein the first configuration is configured to lack a direct applicability to an equipment of the first third party, wherein the second data model is configured to be a second data structure configured to comprise a second configuration that is configured to be directly applicable to the equipment of the first third party, and wherein the machine learning model is configured to be trained to map a correspondence between the first data model and the second data model.
[0457] Example 36. The second node (112) according to any of examples 34-35, wherein the first data model is configured to be a network data model, and the plurality of third party specific models are configured to be a plurality of vendor-specific data models.
[0458] Example 37. The second node (112) according to example 36, wherein the determining of the second data model is configured to comprise predicting and mapping a specific network configuration parameter to a vendor specific configuration data model parameter and generating a corresponding configuration.
[0459] Example 38. The second node (112) according to any of examples 34-37, wherein a respective machine learning model is configured to be trained for each of the first approach, the second approach and the third approach, and wherein the second node (112) is further configured to:
[0460] - select the approach to use for the training of the machine learning model, out of the first approach, the second approach and the third approach, wherein: i. with the proviso labelled data of the obtained plurality of first training data models and of the plurality of second training data models is not available, the first approach is configured to be selected, wherein the labelled data is configured to correspond to a tuple of the first training data model and the second training data model, ii. with the proviso the labelled data of the obtained plurality of first training data models and of the plurality of second training data models is available, and wherein a first correspondence between subgroups of data in the obtained plurality of first training data models and respective subgroups of data of the plurality of second training data models is available, the second approach or the third approach is configured to be selected, wherein the subgroups of data are configured to correspond to leaf data structures, wherein a respective data structure of the plurality of first training data models and of the plurality of second training data models is configured to comprise paths, descriptions, categories and leafs, and iii. with the proviso the labelled data of the obtained plurality of first training data models and of the plurality of second training data models is available, and wherein a second correspondence between groups of subgroups of data in the obtained plurality of first training data models and respective groups of subgroups of data of the plurality of second training data models is available, the third approach is configured to be selected, wherein the subgroups of data are configured to correspond to leaf data structures, wherein the respective data structure of the plurality of first training data models and of the plurality of second training data models is configured to comprise paths, descriptions, categories and leafs. Example 39. The second node (112) according to example 38, wherein the first approach is configured to be selected, wherein the machine learning model is configured to be a first respective machine learning model and wherein at least one of:
[0461] - the first respective machine learning model is configured to use an encoder function to generate first embeddings of the semantic information in the first data model and a decoder architecture to map the generated first embeddings to a plurality of second embeddings of the second data model, out of a plurality of respective embeddings of the plurality of third party specific models,
[0462] - the embeddings are configured to correspond to a respective mapping of a respective sequence of words to a respective numeric vector,
[0463] - the plurality of second embeddings are configured to be determined according to a relevance level,
[0464] - the semantic information is configured to comprise sequences of words and an associated path,
[0465] - the first embeddings and the plurality of second embeddings are configured to be context-aware,
[0466] - the first embeddings and the plurality of second embeddings are configured to be further based on numeric attributes of the respective data models,
[0467] - the first respective machine learning model is configured to have been trained with a first data set configured to comprise: a) a set of tuples, each tuple being configured to comprise a respective data model, a respective description and a respective path, and b) respective mappings of first training data models to second training data models, and
[0468] - the mapping is configured to be based on a computation of a similarity measure between an embeddings vector corresponding to the first data model, as configured to be generated by the first respective machine learning model, and an existing list of respective embeddings vectors of the plurality of third party specific models.
[0469] Example 40. The second node (112) according to example 39, wherein the mapping is further configured to comprise:
[0470] - retrieving textual attributes of the first data model that are to be converted to embeddings,
[0471] - pre-processing the retrieved textual attributes to add domain-specific information,
[0472] - generating the first embeddings,
[0473] - normalizing the generated first embeddings, and post-processing the normalized first embeddings with the numeric attributes of the information in the first data model.
[0474] Example 41 . The second node (112) according to example 38, wherein the second approach is configured to be selected, wherein the machine learning model is configured to be a second respective machine learning model and is configured to be trained using a loss function that is configured to be based on minimizing classification loss function and maximizing semantic similarity between the first data model and the second data model.
[0475] Example 42. The second node (112) according to example 38, wherein the third approach is configured to be selected and wherein the machine learning model is configured to be a third respective machine learning model, and wherein the first data model is configured to be a first graph and the second data model is configured to be a second graph, and wherein the third respective machine learning model is configured to be trained using a plurality of first training data models, a plurality of second training data models, each of the plurality of second training data models being configured to correspond to a respective third party, and respective graphs and corresponding adjacency matrices, the corresponding adjacency matrices being configured to be one of two dimensional parameter matrices and three dimensional respective parameter matrices for each of a plurality of configurations.
[0476] REFERENCES
[0477] 1 . CN111988179B, YANG model management system, method and storage medium.
[0478] 2. US11681880B2, Auto transformation of network data models using neural machine translation.
[0479] 3. Shaikh, Anees, et al. "Vendor-neutral network representations for transport SDN." Optical Fiber Communication Conference. Optica Publishing Group, 2016.
[0480] 4. US20180013662A1 , Method and apparatus for mapping network data models.
[0481] 5. Liu, Yongbo, et al. "MAYA: Exploring multiform attributes of node to align YANG data models." Computer Networks 222 (2023): 109538.
Claims
CLAIMS:1 . A computer-implemented method performed by a first node (111 ), the method being for handling data models, the first node (111 ) operating in a computer system (100), the method comprising:- obtaining (206) a first data model,- selecting (207) a machine learning model to use for determining (213) which second data model is specific to a first third party, wherein the machine learning model is selected out of respective machine learning models trained based on one or more machine learning approaches selected from: i. a first approach, the first approach being an unsupervised approach, ii. a second approach, the second approach being a language translation model based approach, and iii. a third approach, the third approach being a graph based link prediction model-based approach,- determining (213), using the first data model as input to the selected machine learning model, which second data model is specific to the first third party, out of a plurality of third party specific models corresponding to the obtained first data model, wherein the machine learning model uses semantic information in the first data model and the second data model to perform the determination, and- initiating (214) outputting a first indication of the determined first third partyspecific second data model.
2. The method according to claim 1 , wherein the first data model is a first data structure comprising a first configuration, wherein the first configuration lacks a direct applicability to an equipment of the first third party, wherein the second data model is a second data structure comprising a second configuration that is directly applicable to the equipment of the first third party, and wherein the determining (213) comprises that the machine learning model maps a correspondence between the first data model and the second data model.
3. The method according to any of claims 1 -2, wherein the first data model is a network data model, and the plurality of third party specific models are a plurality of vendorspecific data models.
4. The method according to claim 3, wherein the determining (213) of the second data model comprises predicting and mapping a specific network configuration parameter to a vendor specific configuration data model parameter and generating a corresponding configuration.
5. The method according to any of claims 1 -4, wherein the method further comprises:- obtaining (205) the machine learning model, by one of training the machine learning model and obtaining the trained machine learning model from a second node (112) operating in the computer system (100).
6. The method according to claim 5, wherein the obtaining (205) of the machine learning model is performed by training the machine learning model and wherein the method further comprises:- obtaining (201 ) a plurality of first training data models, the first training data models being generic data models,- obtaining (202) a plurality of second training data models, each of the second training data models being specific to a respective third party,- training (204), using machine learning, the machine learning model to map the plurality of first training data models to the plurality of second training data models, and wherein the obtained machine learning model is the trained machine learning model once an accuracy level of the machine learning model reaches a threshold.
7. The method according to claim 6, wherein the method further comprises:- selecting (203) the one or more machine learning approaches to use for the training (204) of the machine learning model, out of the first approach, the second approach and the third approach, wherein: i. with the proviso labelled data of the obtained plurality of first training data models and of the plurality of second training data models is not available, the first approach is selected, wherein the labelled data corresponds to a tuple of first training data model and second training data model, ii. with the proviso the labelled data of the obtained plurality of first training data models and of the plurality of second training data models is available, and wherein a first correspondence between subgroups of data in the obtained plurality of first training data models and respective subgroups of data of the plurality of second training data models isavailable, the second approach or the third approach is selected, wherein the subgroups of data correspond to leaf data structures, wherein a respective data structure of the plurality of first training data models and of the plurality of second training data models comprises paths, descriptions, containers and leafs, and iii. with the proviso the labelled data of the obtained plurality of first training data models and of the plurality of second training data models is available, and wherein a second correspondence between groups of subgroups of data in the obtained plurality of first training data models and respective groups of subgroups of data of the plurality of second training data models is available, the third approach is selected, wherein the subgroups of data correspond to leaf data structures, wherein the respective data structure of the plurality of first training data models and of the plurality of second training data models comprises paths, descriptions, containers and leafs.
8. The method according to any of claims 1 -7, wherein a respective machine learning model is trained for each of the first approach, the second approach and the third approach, and wherein: i. with the proviso labelled data of the obtained first data model and of the plurality of third party specific models is not available, a first respective machine learning model trained with the first approach is selected, wherein the labelled data corresponds to a tuple of the first data model and the second data model, ii. with the proviso labelled data of the obtained first data model and of the plurality of third party specific models is available, and wherein a first correspondence between subgroups of data in the obtained first data model and respective subgroups of data of the third party specific models in the plurality is available, a second respective machine learning model trained with the second approach or a third respective machine learning model trained with the third approach is selected, wherein the subgroups of data correspond to leaf data structures, wherein a respective data structure of the first data model and of the plurality of third party specific models comprises paths, descriptions, containers and leafs and iii. with the proviso labelled data of the obtained first data model and of the plurality of third party specific models is available, and wherein a secondcorrespondence between groups of subgroups of data in the obtained first data model and respective groups of subgroups of data of the third party specific models in the plurality is available, a third respective machine learning model trained with the third approach is selected, wherein the subgroups of data correspond to leaf data structures, wherein the respective data structure of the first data model and of the plurality of third party specific models comprises paths, descriptions, containers and leafs.
9. The method according to claim 8, wherein the first respective machine learning model trained with the first approach is selected and wherein at least one of:- the machine learning model uses an encoder function to generate first embeddings of the semantic information in the first data model and a decoder architecture to map the generated first embeddings to a plurality of second embeddings of the second data model, out of a plurality of respective embeddings of the plurality of third party specific models,- the embeddings correspond to a respective mapping of a respective sequence of words to a respective numeric vector,- the plurality of second embeddings are determined according to a relevance level,- the semantic information comprises sequences of words and an associated path,- the first embeddings and the plurality of second embeddings are context-aware,- the first embeddings and the plurality of second embeddings are further based on numeric attributes of the respective data models,- the machine learning model has been trained with a first data set comprising: a) a set of tuples, each tuple comprising a respective data model, a respective description and a respective path, and b) respective mappings of first training data models to second training data models, and- the determining (213) is based on a computation of a similarity measure between an embeddings vector corresponding to the first data model, as generated by the machine learning model, and an existing list of respective embeddings vectors of the plurality of third party specific models.
10. The method according to claim 9, wherein the method further comprises:- retrieving (208) textual attributes of the first data model that are to be converted to embeddings,- pre-processing (209) the retrieved textual attributes to add domain-specific information,- generating (210) the first embeddings,- normalizing (211) the generated first embeddings, and- post-processing (212) the normalized first embeddings with the numeric attributes of the information in the first data model.11 . The method according to claim 8, wherein the second respective machine learning model trained with the second approach is selected and wherein the machine learning model has been trained using a loss function that is based on minimizing classification loss function and maximizing semantic similarity between the first data model and the second data model.
12. The method according to claim 8, wherein the third respective machine learning model trained with the third approach is selected and wherein the first data model is a first graph and the second data model is a second graph, and wherein the machine learning model has been trained using a plurality of first training data models, a plurality of second training data models, each of the plurality of second training data models corresponding to a respective third party, and respective graphs and corresponding adjacency matrices, the corresponding adjacency matrices being one of two dimensional parameter matrices and three dimensional respective parameter matrices for each of a plurality of configurations.
13. A computer-implemented method performed by a second node (112), the method being for handling data models, the second node (112) operating in a computer system (100), the method comprising:- obtaining (301 ) a plurality of first training data models, the first training data models being generic data models,- obtaining (302) a plurality of second training data models, each of the second training data models being specific to a respective third party,- selecting (303) one or more machine learning approaches to use for training (304) a machine learning model, out of: i. a first approach, the first approach being an unsupervised approach, ii. a second approach, the second approach being a language translation model based approach, and iii. a third approach, the third approach being a graph based link prediction model-based approach, and- training (304), using machine learning, the machine learning model to map the plurality of first training data models to the plurality of second training data models, so that the trained machine learning model is able to determine, using a first data model as input to the machine learning model, which second data model is specific to a first third party, out of a plurality of third party specific models corresponding to the obtained first data model, wherein the machine learning model is to use semantic information in the first data model and the second data model to perform the determination, and wherein the training (204) is performed until an accuracy level of the machine learning model reaches a threshold, and- sending (305) a second indication indicating the trained machine learning model to a first node (111) operating in the computer system (100).
14. The method according to claim 13, wherein the determining of the second data model comprises predicting and mapping a specific network configuration parameter to a vendor specific configuration data model parameter and generating a corresponding configuration.
15. The method according to any of claims 13-14, wherein a respective machine learning model is trained for each of the first approach, the second approach and the third approach, and wherein: i. with the proviso labelled data of the obtained plurality of first training data models and of the plurality of second training data models is not available, the first approach is selected, wherein the labelled data corresponds to a tuple of the first training data model and the second training data model, ii. with the proviso the labelled data of the obtained plurality of first training data models and of the plurality of second training data models is available, and wherein a first correspondence between subgroups of data in the obtained plurality of first training data models and respective subgroups of data of the plurality of second training data models is available, the second approach or the third approach is selected, wherein the subgroups of data correspond to leaf data structures, wherein a respective data structure of the plurality of first training data models and of the plurality of second training data models comprises paths, descriptions, containers and leafs andiii. with the proviso the labelled data of the obtained plurality of first training data models and of the plurality of second training data models is available, and wherein a second correspondence between groups of subgroups of data in the obtained plurality of first training data models and respective groups of subgroups of data of the plurality of second training data models is available, the third approach is selected, wherein the subgroups of data correspond to leaf data structures, wherein the respective data structure of the plurality of first training data models and of the plurality of second training data models comprises paths, descriptions, containers and leafs.
16. A first node (111 ), for handling data models, the first node (111 ) being configured to operate in a computer system (100), the first node (111) being further configured to:- obtain a first data model,- select a machine learning model to use for determining which second data model is specific to a first third party, wherein the machine learning model is configured to be selected out of respective machine learning models configured to be trained based on one or more machine learning approaches configured to be selected from: i. a first approach, the first approach being configured to be an unsupervised approach, ii. a second approach, the second approach being configured to be a language translation model based approach, and iii. a third approach, the third approach being configured to be a graph based link prediction model-based approach,- determine, using the first data model as input to the machine learning model configured to be selected, which second data model is specific to the first third party, out of a plurality of third party specific models configured to correspond to the obtained first data model, wherein the machine learning model is configured to use semantic information in the first data model and the second data model to perform the determination, and- initiate (214) outputting a first indication of the first third party-specific second data model configured to be determined.
17. A second node (112), for handling data models, the second node (112) being configured to operate in a computer system (100), the second node (112) being further configured to:- obtain a plurality of first training data models, the first training data models being configured to be generic data models,- obtain a plurality of second training data models, each of the second training data models being configured to be specific to a respective third party,- select one or more machine learning approaches to use for training a machine learning model, out of: i. a first approach, the first approach being configured to be an unsupervised approach, ii. a second approach, the second approach being configured to be a language translation model based approach, and iii. a third approach, the third approach being configured to be a graph based link prediction model-based approach, and- train, using machine learning, the machine learning model to map the plurality of first training data models to the plurality of second training data models, so that the trained machine learning model is configured to be able to determine, using a first data model as input to the machine learning model, which second data model is configured to be specific to a first third party, out of a plurality of third party specific models configured to correspond to the obtained first data model, wherein the machine learning model is configured to be to use semantic information in the first data model and the second data model to perform the determination, and wherein the training is configured to be performed until an accuracy level of the machine learning model reaches a threshold, and- send a second indication configured to indicate the trained machine learning model to a first node (111) configured to operate in the computer system (100).
Citation Information
Patent Citations
First node, second node, third node and methods performed thereby for handling predictive models
WO2023187793A1