Method and device for constructing a network digital twin of a communications network
The method addresses the challenge of scaling and synchronizing complex communication networks by using a 'zoom/unzoom' and incremental 'clustering' approach within the network digital twin framework, resulting in efficient resource management and optimization.
Patent Information
- Application Number
- FR2024005646
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-21
- Filing Date
- 2024-05-30
- Publication Date
- 2025-06-27
AI Technical Summary
Existing technologies face challenges in scaling and synchronizing complex communication networks, particularly in constructing a network digital twin that efficiently manages resources and maintains accuracy in real-time scenarios.
The method involves a 'zoom/unzoom' procedure to adjust the level of detail in the physical communication network and an incremental 'clustering' procedure to construct a holistic network digital twin. This approach includes periodic synchronization mechanisms between physical and virtual components, targeting specific parts of the network to reduce resource consumption.
This solution achieves significant gains in network resource consumption by focusing on relevant parameters and incrementally generating the digital twin, enabling efficient management and optimization of complex communication networks.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Method and device for constructing a network digital twin of a communications network Field of the invention
[0001] The present invention relates to the field of communication network management. More particularly, the invention concerns the construction of a network digital twin of a physical (real) communication network. State of the art
[0002] Communication networks are currently experiencing exponential growth both in terms of deployment of network infrastructures (in particular those of operators through the progressive and sustained evolution towards 6G), but also in terms of machines, covering a wide range of equipment from Cloud servers to lightweight embedded IoT components (for example “System on Chip” SoCs) and mobile terminals such as smart phones (“smartphones”).
[0003] This ecosystem is all the richer in equipment as in software components ranging from the application (such as for example Audio / Video “streaming”) to the protocols of the different layers of network communication.
[0004] Such an ecosystem, when operational, is in perpetual change, changes whose nature can be explained in the following: - changes in network topology: due to, for example, hardware or software failures, user mobility, operator network resource management policies, etc. - changes in the rate of use / consumption of network resources (bandwidth, memory, CPU, battery, etc.) due to user needs and operator network resource management policies, etc.
[0005] To ensure supervision, or more generally, management of such communication networks, whether fine or synthetic / summary, various network management services or platforms can be used, alone or combined. It is possible to cite services such as SNMP, CMIP, LWM2M, CoMI, SDN, etc. well known to those skilled in the art.
[0006] However, such services do not guarantee risk-free or intrinsic error-free configuration or reconfiguration. This is found in fairly common and critical use cases such as real-time network optimization, operational mode test analysis (“what-if” type analyses), planning updates or modernizations or extensions of the communications network, etc.
[0007] For such scenarios, a new network management paradigm has emerged in recent years through a technology using a "network digital twin" also referred to as "Network Digital Twin" in English and acronym (NDT).
[0008] The paper by C. Zhou et al., “Digital Twin Network: Concepts and Reference Architecture,” Internet Draft, July 2023, Work In Progress, provides the basic definitions and principles of digital twin network technology.
[0009] The NDT is defined as being a digital twin of a physical network, i.e. of a physical network which is designated as "Physical Twin Network" in English and acronym (PTN). It is possible with an NDT to manipulate without risk, a digital copy of the real network, i.e. the physical network. This makes it possible in particular to visualize, to predict the evolution or the behavior or the state of the physical network, if such or such network configuration were to be applied.
[0010] Beyond this prediction aspect, the NDT and the PTN exchange information via one or more communication interfaces in order to maintain good synchronization between them.
[0011] However, implementing a network digital twin (NDT) is not a simple task. Indeed, PTN-NDT synchronization, especially when it is frequent or in real time, poses a problem of scalability when it comes to complex networks where each piece of network information is likely to be reported at the NDT level.
[0012] A network is generally considered to be complex when it contains a very large number of network entities and / or very dynamic topologies and / or a large volume of information per node / per network link, for example.
[0013] In the aforementioned document, the difficulty and challenge of being able to represent a large-scale physical network by a digital twin is recalled.
[0014] Various scientific works have attempted to address the issue of network digital twin (NDT), such as the article by LU Khan et al., “Digital-Twin-Enabled 6G: Vision, Architectural Trends, and Future Directions,” IEEE Communications Magazine, pp. 74-80, 2022. In this document, it is a question of defining scenarios, requirements and an architecture of the NDT. However, the issue of scaling in the NDT has not been addressed, and in general is not addressed in the literature.
[0015] There is therefore a need for an appropriate solution for the management of complex communication networks and in particular to resolve the problem of scaling inherent in the use of the network digital twin for the management of such networks.
[0016] The present invention meets this need. Summary of the invention
[0017] An aim of the present invention is to remedy the aforementioned drawbacks, by proposing a method and an associated device for constructing a virtual representation of a communication network, in particular constructing a digital network twin.
[0018] The general principle of the invention for solving the technical problem of scaling mentioned above, consists of using two mechanisms, which are on the one hand a so-called "zoom / unzoom" procedure of the physical communication network according to the level of detail required for a part of the physical communication network, and on the other hand an incremental "clustering" procedure with a view to developing a complete and holistic network digital twin of a physical communication network.
[0019] These two methods are based on periodic synchronization and resynchronization mechanisms between a set of components of the physical network, the PTN, and the virtual components associated in the network digital twin, the NDT.
[0020] The main advantage of the present invention is that the periodic synchronizations target each time a part of the PTN communication network, which allows a significant gain in consumption of network resources (in terms of bandwidth, memory, CPU, energy) while intelligently supervising / managing the PTN communication network, i.e. by collecting only relevant parameters of the network (thanks to the zoom / unzoom procedure) and by carrying out an incremental generation of the complete digital twin of the communication network (thanks to the incremental clustering procedure).
[0021] The invention will find advantageous applications in numerous technical fields using critical communication networks such as industrial networks, vehicular networks, operator networks, smartgrids, etc.
[0022] In such networks, the invention can be used for real-time optimization of the network, analysis of tests in operational mode, planning of updates or modernizations or extensions of the communication network, for example.
[0023] To obtain the desired results, a method is proposed for constructing a network digital twin of a physical (real) communication network, the physical network being composed of a plurality of devices and links between the devices, and consuming resources.
[0024] The method is computer implemented and comprises an initialization phase and an incremental phase repeated until an end condition is reached.
[0025] The initialization phase of a network digital twin consists of: - receive a list of objects designating the plurality of equipment and links of the physical network, each object designating a network equipment or a network link; - select a first group of objects from the list of objects, a group of objects grouping equipment and links between this equipment; - generating a group description for the first group of objects, a group description constituting a representation for the network digital twin of a group of objects in the form of a tree structure, and comprising information relating to the equipment and links of said group of objects and information relating to resources associated with each object of said group of objects.
[0026] The phase of incremental construction of a network digital twin which follows the initialization phase, comprises successive steps each consisting of: - selecting a new group of objects from the list of objects; and - generating a group description for said new group of objects, such that the group description of said new group of objects is different from each group description generated in the previous steps; successive steps are iterated until an end condition is reached.
[0027] The present invention may be implemented according to alternative or combined embodiments, such as the following.
[0028] In one embodiment, the step of receiving a list of objects comprises a step of sending a request to a network management server of the physical network, and receiving a list comprising an identifier of each network device and an identifier for each network link.
[0029] In one embodiment, the step of selecting a first group of objects or the step of selecting a new group of objects consists of selecting a group of objects based on events occurring in the physical network.
[0030] In one embodiment, the step of selecting a first group of objects or the step of selecting a new group of objects comprises selecting a group of objects based on a pseudo-random function, for example over an interval.
[0031] In one embodiment, the step of selecting a first group of objects or the step of selecting a new group of objects comprises selecting a group of objects based on a group size.
[0032] In one embodiment, the step of generating a group description for a group of objects consists of sending a description request to a network management server of the physical network, receiving a list of resources comprising all of the resources associated with each object of said group, and generating a structured and hierarchical description of the objects and resources associated with each object of said group of objects.
[0033] In one embodiment, the step of generating a group description for a group of objects further comprises a step of uniting different objects, represented through their description.
[0034] In one embodiment, the step of generating a group description for a new group of objects comprises a step of comparing all of the objects of the new group to all of the objects of all of the previously generated groups.
[0035] In one embodiment, the method further comprises for each successive step a step consisting of generating a prediction for the last object group description generated.
[0036] In one embodiment, the method further comprises a step of comparing a predicted object group description with a description of the corresponding objects of the physical network, and a step of resynchronizing the two descriptions in the event of a difference.
[0037] In one embodiment, the comparing step includes determining differences between objects in a predicted group of objects and a group of objects in the physical network, and determining differences between resources present for the predicted group of objects and the group of objects in the physical network.
[0038] In one embodiment, the resynchronization step implements network management protocols of the SNMP, CoAP, MQTT, XML type.
[0039] In one embodiment, the resynchronization step is implemented at a frequency depending on the value of the difference.
[0040] In one embodiment, the method further comprises a step of zooming in on a group of objects making it possible to obtain more information from the physical network on the resources of said group of objects.
[0041] In one embodiment, the method further comprises a step of zooming out on a group of objects making it possible to obtain less information from the physical network on the resources per object of said group of objects.
[0042] In one embodiment, the de-zooming step comprises a step of reducing the number of objects in a group of objects and generating a new object description.
[0043] In one embodiment, the successive steps are iterated until a representation of the physical network by a network digital twin is reached.
[0044] Another object of the invention is a computer program product which comprises code instructions making it possible to carry out the steps of the method according to the invention, when the program is executed on a computer.
[0045] The invention also addresses a device for constructing a digital network twin of a physical communication network, the physical network being composed of a plurality of equipment and links between the equipment, and consuming resources, the device comprising means for implementing the method of the invention in its different embodiments. Description of the figures
[0046] Different aspects and advantages of the invention will appear in support of the description of a preferred but non-limiting mode of implementation of the invention, with reference to the figures below:
[0047] [Fig. 1] is a schematic representation of a context for implementing the method of the invention in one embodiment.
[0048] [Fig.2] is a flowchart of the steps of the method of constructing a network digital twin in one embodiment.
[0049] [Fig.3] is an illustration of a tree structure according to the invention for representing network information by groups of objects.
[0050] [Fig.4] is an example to illustrate a description of a group of objects and associated resources, for a network digital twin constructed according to the principles of the invention.
[0051] [Fig.5] is a flowchart detailing steps of the initialization phase of a network digital twin according to one embodiment of the invention.
[0052] Figures 6a to 6d are a representation of an incremental construction of a network digital twin of a physical network, according to the principles of the invention.
[0053] [Fig.7] is a flowchart of the steps of the incremental construction phase of a network digital twin according to one embodiment of the invention.
[0054] [Fig.8] is a representation of an incremental construction of a network digital twin of a physical network according to an embodiment with prediction of descriptions of groups of objects.
[0055] [Fig.9] is a flowchart of the steps of resynchronizing a group of objects according to one embodiment of the invention. Detailed description of the invention
[0056] [Fig. 1] is a schematic representation of a context for implementing the method of the invention for constructing a network digital twin 102 of a real communication network or physical network 104, composed of a plurality of devices, links between the devices, and consuming resources.
[0057] The device of the invention is based on a central module 110 or network digital twin management agent, also designated by the acronym (NDT-MA) for “Network Digital Twin Management Agent” in English. The central module NDT-MA allows the construction and management of a network digital twin, and it comprises input / output (I / O) interfaces to different external modules (106, 108, 112). It It should be noted that the functionalities associated with external modules are not within the scope of the invention.
[0058] A first I / O interface allows the central NDT-MA module to communicate with a first external module 108 which is a conventional physical network management server. The server may for example be an SNMP, CMIP, LWM2M, CoMI, SDN, etc. network server.
[0059] A second I / O interface allows the central NDT-MA module to communicate with a second external module 108 or prediction module, which is configured to perform prediction calculations. This may be a machine learning agent for example.
[0060] A third I / O interface allows the central NDT-MA module to be coupled to a graphical user interface 112 also referred to as (NDT-GUI) for displaying the network digital twin during the various phases of its construction and updating. The specification of the graphical interface of the network digital twin is not part of the scope of this invention, only input / output mechanisms to and from such an NDT-GUI are described.
[0061] As will be detailed later, the present invention relies on new mechanisms for exchanging supervision and configuration messages between a physical network (PTN) and its digital twin (NDT).
[0062] The NDT-MA is responsible for generating an NDT and updating it, proceeding incrementally by part or group ("cluster" in English) of the physical network. Each group is described by the NDT-MA through a data structure called "description". This description is filled in by the NDT-MA through exchanges of network information with the two external modules, i.e. the network management module and the prediction module.
[0063] Advantageously, a new formalism is proposed for representing network information in the form of a tree-like and hierarchical structure to enable the construction and management of the NDT.
[0064] Existing models of network information representation structures, such as the SMI model (Structure of Management Information), offer very few possibilities for representing exhaustive information relating to network links, such as statistical data associated with a network interface, an input / output rate, a signal / noise ratio (S / N), the power of a received signal (RSSI), etc. To have statistical data at the level of a network link (for example, a type of flow (A / V, TPC / UDP, etc.), a link occupancy rate, etc.), it would then be necessary to use dedicated software tools. This complicates network management, and in fact complicates the management of a network digital twin.
[0065] Unlike the prior art, in the present invention there is no need for additional tools. A new representation of network information is proposed, which covers both information inherent to a network device and information related to traffic on a network link.
[0066] The information inherent to network equipment includes, for example, the protocols used and their configurations, the resources (CPU, memory, voltage, etc.), information on the network interfaces (PHY / MAC / IP address, bandwidth, open ports, I / O rate, S / N, RSSI, etc.).
[0067] Information related to traffic on a network link includes, for example, a type of flow (A / V, TPC / UDP, etc.), a link occupancy rate, etc.
[0068] [Fig.2] shows a flowchart of the steps of the method of constructing a network digital twin in one embodiment.
[0069] Generally, the method 200 for constructing a network digital twin of a physical communication network which is composed of a plurality of devices and links between the devices and which consumes resources, comprises two phases.
[0070] A first phase 210 or initialization phase of a network digital twin, and a second phase 220 or incremental construction phase of the network digital twin.
[0071] The method 200 is initiated when the network digital twin management agent (NDT-MA) considers that the fine management of the communication network may present a scaling problem.
[0072] To do this the NDT-MA can use network data / statistics such as the total number of managed network nodes, the total number of network connections, the average volume of traffic in the network, the number of terminals, number of end users, the NDT-MA's own computing resources, etc. These statistical data can be collected by conventional network management protocols SNMP, CMIP, LWM2M, CoMI, SDN or their underlying message exchange mechanisms such as SNMP, CoAP, MQTT, XML, etc.
[0073] In a preferred implementation, the NDT-MA initiates the process 200 based on a threshold associated with one or more types of collected network data / statistics. For example, the threshold for initiating the process may be associated with the total number of managed network nodes.
[0074] Returning to [Fig.2], during the initialization phase 210, the method comprises a step 212 consisting of receiving a list of objects designating the plurality of equipment and links of the physical network.
[0075] In one embodiment, each object in the list is an identifier designating a network device or a network link.
[0076] The method continues with a step 214 consisting of selecting a first group of objects from the list of objects.
[0077] A group of objects that is selected groups together a list of network equipment and links between these equipment.
[0078] In a following step 216, the method makes it possible to generate a group description for the first group of objects.
[0079] Advantageously, a group description according to the invention constitutes, for the network digital twin, a representation of a group of objects in the form of a tree structure. A group description which is created includes information relating to the equipment and links of this group of objects, and information relating to resources associated with each object of this group of objects.
[0080] After the initialization phase 210, the method 200 enters the phase 220 of incremental construction of the network digital twin which comprises successive steps (222, 224) which are iterated (226) until an end condition is reached.
[0081] At each iteration, the method allows a step 222 to select a new group of objects from the list of objects, followed by a step 224 to generate a group description for the new group of objects.
[0082] The new selected group of objects is such that the group description for this new group of objects is different from each group description that was generated in the previous steps of the iteration including the group description generated for the first group of objects.
[0083] In one embodiment, the incremental construction steps may be continued to result in the full processing of the physical network and produce a network digital twin that represents the complete physical network.
[0084] In an alternative embodiment, an end condition can be defined which limits the execution of the incremental procedure to a limited number of iterations without going as far as processing the complete network.
[0085] [Fig.3] is a simplified illustration of a tree structure for representing network information by groups of objects, according to the invention.
[0086] To facilitate the identification of a network entity at the NDT level, such as identifying a router, an interface, a network, a network link, etc., a network identifier follows a hierarchical structure of the Group-Object-Resource type, which will identify membership in a group (Group 1, Group i, Group n), then identify a description of the object(s) in the group (Object 1.1 to Object ln, Object i.1 to Object in, Object N.1 to Object Nn), then identify a description of the resource(s) associated with the objects in the group (Resources of Object 1.1 to Resources of Object ln, Resource of Object il to Resources of Object in, Resources of Object Nl to Resources of Object Nn).
[0087] As illustrated in [Fig.3] with the example of group 302-1, a group may be composed of one or more network objects 304-1.1 to 304-ln, each object identifying a network entity (a device or a network link). Each object of group 302-l may have one or more associated resources 306-1.1 to 306-ln (for example, CPU characteristics, characteristics of a network interface of a device, etc.).
[0088] As already indicated, a network object (or network entity) can be of two types: either designate a network device, or designate a network link.
[0089] A network resource represents any type of information that can characterize a network object. For example, for a network device, a resource can be an IP address, CPU usage, location of the device, communication protocols used and their configurations, data flows, etc.
[0090] For a network link, a resource may be, for example, a transmission technology such as PHY / MAC protocols and associated parameters. A resource may also designate the available bandwidth, a number of traffic flows, a traffic type (e.g., TCP, UDP, etc.), etc.
[0091] Those skilled in the art understand that the examples given are not limiting, and that the network objects or entities are any type of equipment and communication links between equipment, and that the network resources are all available data that can characterize or be associated with an equipment or a link.
[0092] [Fig.4] is an example to illustrate an object group description for a set of objects and associated resources, to construct a network digital twin according to the principles of the invention.
[0093] Advantageously, to facilitate both fine and summary supervision and configuration of the network information at the level of a digital twin, the network information is represented in the form of a tree-like and hierarchical structure.
[0094] The general structure allows to define each object in a group of objects and the resources associated with each object.
[0095] A first structure 400 makes it possible to define the information relating to the network objects. In one embodiment, the structure of the objects is a table having a first Attribute column 402 defining attributes for objects and for associated resources (for example identifier, type, value, relationship between object attributes), and having a second Description column 404 containing information relating to each corresponding attribute.
[0096] Thus, in the example of the structure 400, an “Obj_ID” attribute can be assigned as an identifier of an object, and the corresponding description can be an IP address if this object is a node of the network. An “Obj_Type” attribute can be assigned as identifying the type of the object, and the corresponding description can be “node” or “link” information depending on the nature of the object in the physical network.
[0097] Similarly, the Attribute column 402 defines different identifier, type, value attributes for each resource associated with the object, with a corresponding description, such as "RAM, CPU, IF" to describe a type of resource, or "percentage / usage rate" to describe a value of the resource.
[0098] It should be noted that a resource can be of different types which can take several possible values. Also, the structure of the objects 400 can be associated with a second structure 410 which makes it possible to define for each resource recorded in the table of objects 400, attributes in a Resource Attribute column 412 and provide a corresponding description in a Resource Description column 414.
[0099] The type of a resource, however, depends on the type of associated object. For example, if the object is a node, an associated resource can be volatile memory (RAM), a CPU, a network interface ('IF'), etc. If the object is a link, an associated resource can be of type packet loss rate ('pkt_loss_ratio'), or number of flows ('nb_flows'), or type of flow (TCP, UDP, etc.).
[0100] Furthermore, a resource of a certain type may have several subtypes. For example, a resource of type 'flow' may have subtypes related to a protocol type ('proto_type'), an input port number ('in_port'), an output port number ('out_port'), etc.
[0101] Thus, in a general manner, for a group grouping a set of objects, a description of the group can be a union of the different objects, represented through their description. Each of the objects can have one or more resources, and each resource of a given type can itself have zero or more subtypes.
[0102] [Fig.5] is a flowchart detailing the steps 210 of [Fig.2] of the initialization phase of a network digital twin, according to one embodiment of the invention.
[0103] In the initial phase of incremental group construction, the method allows to discover all the network objects (i.e. all the equipment and links of the physical network). The NDT is then initialized with the list of all the objects of the physical network. As mentioned previously, the object can be of two different types: network equipment or network link.
[0104] The list of objects is collected by the manager of the NDT-MA network digital twin by sending in a step 502 a request of type 'Request_listobjets()' to a network management server available in the physical network (for example, SNMP, CMIP, LWM2M, CoMI, SDN, etc.).
[0105] In a preferred implementation, the NDT-MA sends the request to a conventional network management server which is capable of interpreting it and converting it into conventional network requests through the underlying network management message exchange mechanism (e.g., SNMP, CoAP, MQTT, XML, etc.).
[0106] The request is sent via a communication interface of the NDT-MA dedicated to the exchange of messages with the conventional management module of the communication network.
[0107] The management server returns a list of objects to the network digital twin manager. In a preferred embodiment, the list of objects contains only discovered objects and does not contain information relating to resources associated with the objects.
[0108] In one embodiment, the list of objects can take the following form: List_objects= {{N1,N2, Nm], {L13, L34, L3m]], where 'Ni' is an identifier of node i (i.e. network equipment i), and where 'Lij' is an identifier of the network link (i.e. communication link) between a node i and a node j.
[0109] Once the list of objects has been received by the NDT-MA, the method allows in a following step 5041 to select an initial group CL1, or initial “cluster”.
[0110] In the remainder of the description, the term 'cluster' may be used to designate a 'group'.
[0111] Thus, the choice of a cluster, whether the initial cluster (CL1) in the initialization phase or an intermediate cluster during the iterative phases, can be made according to different alternative or combined options.
[0112] In a first embodiment option, the method allows the determination of a cluster to be based on the occurrence of recent events in the physical network. Such events may, for example, have been reported by the conventional management server to the NDT-MA in the form of logs (latest operating anomalies (hardware / software failures, abnormally low / high network parameters, etc.), latest proven or potential vulnerabilities, latest security anomalies detected (of nodes as observed by a HIDS system (Host Intrusion Detection System) or of links as observed by a NIDS system (Network Intrusion Detection System), latest software updates of the nodes, latest reconfigurations of the nodes, latest maintenance / repair / replacement operations of the nodes, etc.).
[0113] In a second embodiment option, the method allows the determination of a cluster to be based on a pseudo-random function making it possible to select a subset of objects from the list of objects. In this specific case, the choice of an object (for example a node) can for example be done in a pseudo-random manner over an interval [ObjectIDmin, ObjectIDmax] (using, for example, the rand() function) of the C language library), where 'ObjectIDmin' and 'ObjectIDmax' are the min and max identifiers of all objects in the object list, respectively. The 'ObjectIDmin' and 'ObjectIDmax' values can also be extracted from a subset of objects in the object list (e.g., nodes only, objects not yet selected to be part of a cluster, etc.).
[0114] In another embodiment option, the method allows the determination of a cluster to be based on a "good size" of the cluster. In this case, the NDT-MA uses the first or the second option, or uses a combination of the two, while verifying that the operations generated or to be generated by the cluster in question do not exceed the available resources of the NDT-MA and its neighborhood (for example, bandwidth). The determination of the "good size" of a cluster can be carried out according to the resources available to the NDT-MA (computation, storage, etc.), or according to the quantity of data that the NDT-MA will have to manage at each iteration (information obtained by querying the network management server) and the time it will have to process this data. This time is dependent on the frequency of the iterations.
[0115] In an implementation variant, the selection of the cluster can be carried out by an external module and not by the NDT-MA, for example via the graphical interface of the NDT, for example by making a selection via the mouse. The cluster is then communicated by the external module to the manager of the NDT-MA digital twin via a dedicated interface.
[0116] In another implementation variant, the clusters (initial or subsequent) can be defined or updated as results of a machine learning algorithm, for example of the unsupervised, self-supervised (clustering type), supervised, or semi-supervised (classification type) type.
[0117] Returning to [Fig.5], once a group of objects has been selected, the method allows, in a following step 506, synchronization of the chosen cluster with its correspondent in the physical network.
[0118] To do this, the method allows the NDT-MA to generate a description request for the initial cluster to the network management server via its dedicated communication interface. The objective of the description request is to discover the potential resources of each object of the cluster for which it is requested.
[0119] In one embodiment, a 'Request_desc()' description request may have the following general format: Request_desc({ObjectID, Expression], {ObjectID, Expression}), where 'ObjectID' is the identifier of an object. Values in the 'Expression' field may include: a value equal to 'ALL_RES' to obtain all resources of the object, or a value equal to 'NONE' to ignore the resources of the object.
[0120] A person skilled in the art may adapt any other complex expression, such as, for example, defining a query for resources satisfying a certain condition (for a given resource, this may be a threshold of values or an interval of values). The exact form of such a complex expression is outside the scope of the invention.
[0121] As an example, such a description request can be: Request_desc ({N1,ALL_RES}, {N2, ALL_RES],{L13,ALL_RES] ).
[0122] When the network management server collects and sends to the NDT-MA the network information associated with the description request, (i.e. a list of resources per object “list_resources”), the method in a following step 508 allows the NDT-MA to fill (i.e. the NDT-MA is configured to fill) the description of the cluster CL1 with the information received from the network management server.
[0123] Once the description of the CL1 cluster has been generated, the method allows in a following step 510 to share the information via the graphical interface 112 of the NDT, for display and to allow a user to visualize the construction of the network digital twin.
[0124] Figures 6a and 6b are a representation of the initialization phase of an incremental construction of a network digital twin 610 of a physical network 600, according to the principles of the invention. [Fig.6a] illustrates the discovery of the objects of the physical network and [Fig.6b] illustrates the selection of an initial group or cluster CL1 in the physical network and the synchronization of the initial cluster in the network digital twin.
[0125] [Fig.7] is a flowchart detailing the steps 220 of [Fig.2] of the incremental construction phase of a network digital twin according to one embodiment of the invention.
[0126] The incremental clustering construction phase may contain one or more intermediate construction phases before the completion of the construction of a network digital twin, which may be all or part of a physical network.
[0127] Each intermediate phase 700 begins with a step 702 allowing a new cluster CLn (n>l) to be selected from the list of objects.
[0128] In a following step 704, the method makes it possible to verify that a new cluster which is selected satisfies the condition that its description 'desc_CLn' is different from the description of any cluster previously selected by the current construction procedure, including the description of the initial cluster.
[0129] Thus, it is verified according to the following equation that: desc_CLn desc_CLi, 1
[0130] To ensure such inequality, the method allows the NTD-MA in a following step 704 to make a comparison between the set of objects associated with the cluster CLn and the set of objects associated with the clusters CLi, 1
[0131] The set of objects of the new cluster CLn and the set of objects of the cluster CLi can present 2 cases: either they are completely disjoint, or they share a subset of common objects (nodes and / or links).
[0132] Furthermore, it should be noted that it is excluded to have the set of objects of a cluster CLi included in the set of objects of the new cluster CLn and vice versa. This allows the incremental construction procedure to converge (towards an NDT of the complete network), while preserving the advantage of scaling.
[0133] If the inequality condition is not verified, the process ends (No branch).
[0134] If the inequality condition is verified (branch yes), the process continues with a step 706 of synchronization of the selected cluster, with its correspondent in the physical network.
[0135] To do this, the method allows the NDT-MA to generate a description request for the selected cluster to the network management server via its dedicated communication interface. The objective of the description request is to discover the potential resources of each object of the selected cluster for which it is requested.
[0136] In a following step 708, the method allows the manager of the NDT-MA network digital twin to fill in the description of the new cluster with the information received from the network management server.
[0137] Once the description of the new cluster has been generated, the method allows in a following step 710 to share the information via the graphical interface 112 of the NDT, for display and to allow a user to visualize the construction in progress of the network digital twin.
[0138] Figures 6c and 6d are a representation of an incremental construction of a network digital twin of a physical network, according to the principles of the invention, during intermediate phases, which follow the initial phase represented in Figures 6a and 6b. Thus, in [Fig.6c], the selection and synchronization of a new cluster CL2 is illustrated, the description of which is different from the initial cluster CLI, and in [Fig.6d], the selection and synchronization of a new cluster CL3 is illustrated, the description of which is different from the initial cluster CLI and the description of the previous cluster CL2.
[0139] For illustrative purposes, the network objects (nodes and links) of the digital twin left grayed out are not affected by synchronization.
[0140] In one embodiment, in order to ensure that all the CLI to CLn clusters at the NDT level are up to date in terms of description (i.e. in order to ensure temporal consistency between the different clusters of the NDT at each instant), the method allows during each intermediate phase generating a new CLn cluster (n>l), to make a prediction of the last description of all previous clusters CLi (1 <i < n).
[0141] Thus, for example, during step 706 of sending a description request, it is possible for the external prediction module 110 to make a prediction calculation for the new cluster in progress. It should be noted that a detailed description of this prediction is not within the scope of the invention, and various predictive models commonly used to characterize communication networks can be used as part of an integrated NDT solution and including the incremental clustering approach of the present invention. Among said predictive models, mention may be made of machine learning models, such as GNN (“Graph Neural Networks”), DRL (“Deep Reinforcement Learning”), LSTM (“Long Short-Term Memory”) models, etc.
[0142] [Fig.8] schematically illustrates an incremental construction of a network digital twin for a physical network having four groups of objects CLI to CL4, according to an embodiment with prediction of object group descriptions. Thus, in the initial phase 802, an initial CLI cluster is constructed and synchronized. In a first intermediate phase 804, a new cluster CL2 is constructed and synchronized, and a prediction of the initial CLI cluster is made. Then during the second intermediate phase 806, a new cluster CL3 is constructed and synchronized, and a prediction of the previous clusters CLI and CL2 is made. This process is repeated in a similar manner for the third and last intermediate phase 808 (i.e. an end condition is reached), where a new cluster CL4 is constructed and synchronized, and a prediction of the previous clusters CLI, CL2 and CL3 is made.
[0143] [Fig.8] illustrates two subsequent phases 810 and 812, consisting for phase 810 of a prediction of the last cluster CL4, and consisting for phase 812 of a specific request for resynchronization of a cluster, the initial cluster CLI, associated with a calculation of prediction of the other clusters CL2 to CL4 of the network digital twin NDT.
[0144] The resynchronization phase is a transverse phase with respect to the initial and intermediate phases of incremental clustering. Here, it is a synchronization or a resynchronization between a cluster in the physical network (PTN) and its equivalent in the NDT network.
[0145] Synchronization begins with a dynamic selection of a target cluster in order to dynamically generate its counterpart in the NDT through the synchronization phase.
[0146] In one embodiment, the dynamic selection of a target cluster in the PTN may be dictated by observed events (such as network outages), by application needs, by user needs, etc.
[0147] The synchronization phase aims to collect all the information requested by the NDT-MA. This synchronization phase can be provided by various network resource discovery protocols, including conventional network management protocols SNMP, CMIP, LWM2M, CoMI, SDN or their underlying message exchange mechanisms such as SNMP, CoAP, MQTT, XML, etc.
[0148] For a given cluster, the resynchronization frequency may depend on various factors, such as the dynamism of the network topology (frequency of route changes, appearance of new nodes in the network, disappearances of nodes from the network, etc.) or the dynamism of the network traffic pattern (number of flows per link, bandwidth occupancy rate per link, etc.). Other factors may also be considered, such as end-to-end jitter (latency variation).
[0149] Thus, for example, if one of the factors listed above exceeds a given threshold, the NDT-MA manager can decide to increase the resynchronization frequency of the cluster. Otherwise (i.e. the factor decreases below a predefined threshold), the NDT-MA can decide to decrease the resynchronization frequency of the cluster.
[0150] [Fig.9] is a flowchart illustrating a method 900 for resynchronizing a group of objects according to an embodiment of the invention.
[0151] As indicated, the NDT-MA can at any time request a new description of a given CLi cluster, for which a description already exists in the NDT. Thus, the method allows the selection of a cluster (step 902), the sending of a description request (step 904) and the generation of a description (step 906). Steps 902 to 906 are equivalent to steps 702 to 706.
[0152] In a following step 908, the method allows the NDT-MA to compare the description received from the CLi for the physical network with its predicted equivalent existing in the NDT, then to determine (step 910) if there is a discrepancy.
[0153] If the NDT-MA notes a discrepancy between the two descriptions (branch no), the method makes it possible to carry out a resynchronization of the cluster concerned on the NDT, by updating its description (step 916).
[0154] Once the description has been updated, the method allows in a following step 918 to share the information via the graphical interface 112 of the NDT, for display and to allow a user to visualize the construction in progress of the network digital twin.
[0155] If the NDT-MA finds that there is no gap between the two descriptions (yes branch), the process ends.
[0156] The method also makes it possible to send (step 914) a notification to the prediction module (for example a machine learning module) so that the latter takes into account the observed difference. The machine learning module can then for example, implementing reinforcement learning approaches in order to improve future predictions thanks to this “feedback”.
[0157] The difference between a description of a predicted cluster CLi_pred (desc_CLi_pred) and a description of the actual cluster CLi_reel (desc_CLi_reel), can be measured first at the scale, at the level of the objects of the cluster, then at the level of the resources of each object. In this specific case, the measurement of the difference considers the difference in the value of a given resource between the CLi_pred and the CLi_reel or by the difference between all the resources present in the CLi_pred and all the resources present in the CLi_reel.
[0158] In one embodiment, the difference is represented by a difference threshold. Thus, the difference between the objects of the predicted description desc_CLi_pred and the actual description desc_CLi_reel may be the threshold of the number of different, if not missing, objects between the two clusters.
[0159] The resource gap of a given object can represent a threshold of the number of different or missing resources taking into account both the actual and predicted clusters. In this specific case, the resource gap can also be formulated in terms of a threshold of difference in the value of a resource of a given object existing in the two clusters.
[0160] In an alternative embodiment, the difference between a predicted cluster description CLi_pred and a real cluster description CLi_reel can be measured directly at the level of a selected object, present both in the predicted cluster CLi_pred and the real cluster CLi_reel. In this specific case, the measurement of the difference considers the difference in the value of a given resource between the two clusters CLi_pred and the CLi_reel, or considers the difference between the resources present in the predicted cluster CLi_pred and those present in the real cluster CLi_reel.
[0161] In another embodiment variant, if the difference between the description of the predicted cluster CLi_pred (desc_CLi_pred) and the description of the actual cluster (desc_CLi_reel) during an iteration of the incremental procedure is too large (or too often large over a succession of resynchronization operations of said cluster), the method allows the NDT-MA to increase the resynchronization frequency for this / these cluster(s). In the opposite case (said difference is negligible), the NDT-MA can decide to reduce the resynchronization frequency for the cluster(s) concerned, which allows the NDT-MA, in this specific case, to preserve network resources (in particular those of the NDT-MA and its neighborhood).
[0162] Zoom in and out operations
[0163] In an alternative embodiment, the method for constructing a network digital twin according to the invention makes it possible to perform so-called zoom or zoom out operations. A zoom or zoom out operation is a transverse operation with respect to in the initial and intermediate phases of incremental construction, which is not carried out systematically, but punctually depending on various reasons explained below.
[0164] A zoom / unzoom request for a given cluster is formulated by the NDT-MA and is received by the conventional network management module which translates it into underlying network messages, according to the same principles described previously. The network management server responds to the NDT-MA manager which updates the description of the cluster concerned.
[0165] A zoom operation allows targeted supervision / management of network components (equipment / nodes and links).
[0166] The need to carry out targeted management may be dictated by various reasons such as making a diagnosis, searching for anomalies or breakdowns in a part of the communication network.
[0167] For example, network resources (memory or CPU of the NDT-MA or bandwidth in the vicinity of the NDT-MA) have just been released, which then allows for a more detailed analysis of the physical network, and therefore there is a need for more information to be returned.
[0168] A de-zoom operation may be dictated by the desire to free up resources at the NDT level for example (free up memory and CPU of the machine in which the NDT-MA operates), in order to subsequently generate descriptions of new clusters.
[0169] For a zoom, the NDT-MA is configured to decide to launch a zoom operation on a given cluster in order to obtain all the "resource" level information associated with this cluster. Such an operation is then equivalent to a targeted synchronization of a part of the cluster. It assumes that the current description of the cluster concerned is in two possible states: either the cluster includes predicted values of the resources targeted by the zoom operation (for example in the case of an intermediate operation of the incremental clustering), or the cluster does not include the resources targeted by the zoom operation (for example, in the case where the last operation on the cluster is a de-zoom operation).
[0170] For a zoom out, the NDT-MA is configured to launch a zoom out operation on a given cluster in order to obtain all the "object" level information associated with this cluster. Such an operation assumes that the current description of the cluster concerned is in two possible states: either the cluster includes predicted values of the resources (for example in the case of an intermediate operation of the incremental clustering), or the cluster includes actual values of the resources (for example, in the case where the last operation on the cluster is a synchronization operation in the context of an incremental clustering).
[0171] Those skilled in the art may note that after having undergone a de-zoom operation, according to the preferred variant, a CLi cluster (J <i < n), qui dans ce cas-là, contient des objets sans ressources, peut continuer à opérer une procédure de construction incrémentale du ndt-ma, selon le procédé l’invention. en outre, ndt-ma procède la prédiction dernier descriptif cluster cli (i.e. les ressources associées) en utilisant un algorithme module externe.
[0172] As an illustrative example, “zoom in” and “zoom out” requests may be in the following formats: - Zoom query for n objects of a cluster identified by ClusterlD: zoomin (C lusterlD / ObjectIDI,.. .ObjectIDn). - zoom-out request for a cluster identified by Cluster ID: zoomout (ClusterlD).
[0173] As an illustrative example, responses to “zoom in” and “zoom out” requests may be in the following formats: - All resources (types, subtype(s) and values) of any relevant object mentioned in the zoom request: z oomin_ack desc_CluslterID (ObjectIDI,... ObjectIDn). - All objects in the cluster identified by ClusterlD: z oomout_ack (ClusterlD / ObjectIDI,... ObjectIDn).
[0174] In an alternative embodiment of de-zooming, the de-zooming operation on a given cluster CLi (i E [ 1, n ], n being the number of clusters in the network) consists for the NDT-MA manager in reducing the size of the cluster CLi in terms of number of objects, and therefore in having fewer nodes and / or fewer links compared to its version before de-zooming). In this case, the description of the cluster CLi is not limited to 'objects' (as for the preferred variant), but it also includes the resources of each object resulting from the de-zooming. Advantageously, such a reduction in the size of the cluster CLi makes it possible to free up resources at the level of the NDT-MA manager (CPU, memory, etc.) as well as in its vicinity (i.e. bandwidth), which gives the possibility of creating new clusters.
[0175] In an alternative embodiment, after having undergone a de-zoom operation according to the preferred variant, a CLi cluster (i E [ L n ], n being the number of clusters in the network), which in this case contains objects without resources, can continue to operate an incremental construction procedure. In addition, the manager makes it possible to predict the last description of the CLi cluster (objects and associated resources) using a prediction algorithm of the external prediction module.
[0176] A method for constructing a digital twin network of a physical network has thus been described, and various implementation variants. The method described, through its incremental approach to constructing clusters, makes it possible to resolve the technical problem of scaling up and synchronizing the two real and twin networks.
Claims
Claims
1. A method (200) for constructing a network digital twin of a physical communication network, the physical network being composed of a plurality of devices and links between the devices, and consuming resources, the method being implemented by computer and comprising: - a phase (210) of initializing a network digital twin consisting of: - receiving (212) a list of objects designating the plurality of devices and links of the physical network, each object designating a network device or a network link; - selecting (214) a first group of objects from the list of objects, a group of objects grouping devices and links between these devices;- generating (216) a group description for the first group of objects, a group description constituting a representation for the network digital twin of a group of objects in the form of a tree structure, and comprising information relating to the equipment and links of said group of objects and information relating to resources associated with each object of said group of objects; and - a phase (220) of incremental construction of the network digital twin comprising successive steps each consisting of: - selecting (222) a new group of objects from the list of objects; and - generating (224) a group description for said new group of objects, such that the group description of said new group of objects is different from each group description generated in the preceding steps; the successive steps being iterated (226) until an end condition is reached.;
2. The method of claim 1 wherein the step of receiving a list of objects comprises a step of sending a request to a network management server of the physical network, and receiving a list comprising an identifier of each network equipment and an identifier for each network link.
3. The method of claim 1 or 2 wherein the step of selecting a first group of objects or the step of selecting a new group of objects comprises selecting a group of objects based on events occurring in the physical network.
4. The method according to claim 1 or 2 wherein the step of selecting a first group of objects or the step of selecting a new group of objects consists of selecting a group of objects on the basis of a pseudo-random function for example on an interval.
5. The method of any preceding claim wherein the step of selecting a first group of objects or the step of selecting a new group of objects comprises selecting a group of objects based on a group size.
6. The method according to any one of the preceding claims wherein the step of generating a group description for a group of objects comprises sending a description request to a network management server of the physical network, receiving a list of resources comprising all the resources associated with each object of said group, and generating a structured and hierarchical description of the objects and the resources associated with each object of said group of objects.
7. The method according to any one of the preceding claims wherein the step of generating a group description for a group of objects further comprises a step of uniting different objects, represented through their description.
8. The method of any preceding claim wherein the step of generating a group description for a new group of objects comprises a step of comparing the set of objects in the new group to the set of objects in all previously generated groups.
9. The method of any preceding claim further comprising for each successive step a step of generating a prediction for the last generated object group description.
10. The method according to the preceding claim further comprising a step of comparing a predicted object group description with a description of the corresponding objects of the physical network, and a step consisting of resynchronizing the two descriptions in the event of a difference.
11. The method according to the preceding claim wherein the comparing step consists of determining differences between the objects of a predicted group of objects and a group of objects of the physical network, and determining differences between the resources present for the predicted group of objects and the group of objects of the physical network.
12. The method according to claim 10 or 11 wherein the resynchronization step implements network management protocols of the SNMP, CoAP, MQTT, XML type.
13. The method of any one of claims 10 to 12 wherein the resynchronizing step is carried out at a frequency depending on the value of the difference.
14. The method according to any one of the preceding claims further comprising a step of zooming in on a group of objects making it possible to obtain more information from the physical network on the resources of said group of objects.
15. The method of any preceding claim further comprising a step of zooming out of a group of objects to obtain less information from the physical network about the resources per object of said group of objects.
16. The method according to the preceding claim wherein the de-zooming step comprises a step of reducing the number of objects in a group of objects and generating a new object description.
17. The method according to any one of the preceding claims in the successive steps are iterated until a representation of the physical network by a network digital twin is reached.
18. A computer program product, said computer program comprising code instructions for carrying out the steps of the method according to any one of claims 1 to 17, when said program is executed on a computer.
19. Device for constructing a network digital twin of a physical communication network, the physical network being composed of a plurality of devices and links between the devices, and consuming resources, the device comprising means for implementing the method according to any one of claims 1 to 17.
Citation Information
Patent Citations
Ai extensions and intelligent model validation for an industrial digital twin
US20200265329A1