Change of communication patterns in a network
By employing a digital twin to simulate and reconfigure communication patterns in networks, the method addresses inefficiencies in WPANs and BANs, optimizing parameters like energy consumption and latency through dynamic adjustments.
Patent Information
- Application Number
- PCT/EP2024/068904
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-04
- Publication Date
- 2026-01-08
AI Technical Summary
Existing networks, such as WPANs and BANs, lack the ability to optimize communication patterns effectively due to network devices being oblivious to alternative communication paths and producing redundant data, leading to inefficient communication flows.
A controller device creates a digital twin of the network to simulate different scenarios and determine trigger conditions for optimizing communication patterns by reconfiguring network devices based on performance criteria, using a digital twin to model and simulate network behavior and adjust communication patterns dynamically.
This approach enables networks to optimize parameters like energy consumption, latency, and information redundancy by identifying and altering suboptimal communication patterns in real-time, enhancing network performance and efficiency.
Smart Images

Figure EP2024068904_08012026_PF_FP_ABST
Abstract
Description
[0001] CHANGE OF COMMUNICATION PATTERNS IN A NETWORK
[0002] TECHNICAL FIELD
[0003] Embodiments presented herein relate to methods, a controller device, a network device, computer programs, and a computer program product for changing communication pattern in a network comprising a set of network devices.
[0004] BACKGROUND
[0005] In general terms, a personal area network (PAN) can be defined as a set of electronic devices with communication capabilities, hereinafter referred to as network devices, being within a user's immediate area. The physical distance between the network devices in a PAN can range from a few centimeters to a few meters. As an illustrative and non-limiting example, a headphone and a smartphone, connected via a short-range communication interface, can define a PAN. In this respect, a PAN might comprise a plurality of network devices in terms of interconnected wearables, e.g., smartwatches, wearables sensors, etc. However, a PAN might also comprise network devices in terms of interconnected non-wearables, such as laptop computers, tablet computers, printers, keyboards, and other computerized devices. More generally, a PAN might comprise a combination of interconnected wearables and non-wearables.
[0006] A related concept is a body area network (BAN), which can be defined as a PAN where the network devices are provided in terms of sensors. These sensors can be placed on, embedded in, or carried near, the human body. BANs can be used for tracking or supporting biomedical functions (for example, a pacemaker with wireless capabilities).
[0007] A wireless personal area network (WPAN) is a set of electronic devices with communication capabilities that can be operatively connected to each other without the use of wires or cables. Hence, a WPAN can be defined as a PAN where the interconnected network devices are configured for wireless communication with each other. WPANs are based on close-range wireless connectivity protocols, such as Bluetooth. The range of a WPAN is usually very small, as short-range wireless protocols like Bluetooth are not efficient over distances larger than 5- 10 meters.
[0008] Based on the assumption that the network devices are configured for communication with each other, a PAN might have several different communication paths. Each network device in the PAN may be oblivious to communication paths not involving the network device itself. Further, the network devices might produce data at a rate, or with a content, that is redundant for the intended receiver. All this could make it difficult to optimize communication flows in PANs. Furthermore, even in PANs where the communication paths are known by the network devices, the ability to optimize the PAN for a certain goal may be lacking. As is understood, the same principles apply not only to WPANs or BANs but also to other types of networks comprising network devices.
[0009] In view of the above, there is still a need for improved communication in WPANs, BANs, or other types of networks comprising network devices.
[0010] SUMMARY
[0011] An object of embodiments herein is to address the above issues.
[0012] The ability to optimize the network for a certain goal may be lacking as the impact of alternative communication patterns are not well understood in the network.
[0013] A particular object is therefore to take alternative communication patterns into consideration when seeking to improve the communication in a network comprising network devices.
[0014] According to a first aspect there is presented a method for changing communication pattern in a network comprises a set of network devices. The method is performed by a controller device. The method comprises creating a digital twin that models the network based on information received from the set of network devices. The method comprises determining trigger conditions to change between communication patterns according to which the network devices communicate with each other during runtime operation of the network by simulating, in the digital twin, different scenarios in the network based on the information received from the set of network devices. The trigger condition for one of the communication patterns is fulfilled in case there is another of the communication patterns that, with respect to a given scenario, yield better performance of the network than this one of the communication patterns. The method comprises reconfiguring at least one of the network devices to change its communication pattern responsive to one of the trigger conditions is fulfilled during runtime operation of the network devices. Which at least one of the network devices to reconfigure and how the communication pattern is to be changed is defined by which of the trigger conditions is fulfilled.
[0015] According to a second aspect there is presented a controller device for changing communication pattern in a network comprises a set of network devices. The controller device comprises processing circuitry. The processing circuitry is configured to cause the controller device to create a digital twin that models the network based on information received from the set of network devices. The processing circuitry is configured to cause the controller device to determine trigger conditions to change between communication patterns according to which the network devices communicate with each other during runtime operation of the network by simulating, in the digital twin, different scenarios in the network based on the information received from the set of network devices. The trigger condition for one of the communication patterns is fulfilled in case there is another of the communication patterns that, with respect to a given scenario, yield better performance of the network than this one of the communication patterns. The processing circuitry is configured to cause the controller device to reconfigure at least one of the network devices to change its communication pattern responsive to one of the trigger conditions is fulfilled during runtime operation of the network devices. Which at least one of the network devices to reconfigure and how the communication pattern is to be changed is defined by which of the trigger conditions is fulfilled.
[0016] According to a third aspect there is presented a computer program for changing communication pattern in a network comprising a set of network devices. The computer program comprises computer code which, when run on processing circuitry of a controller device, causes the controller device to perform actions. One action comprises the controller device to create a digital twin that models the network based on information received from the set of network devices. One action comprises the controller device to determine trigger conditions to change between communication patterns according to which the network devices communicate with each other during runtime operation of the network by simulating, in the digital twin, different scenarios in the network based on the information received from the set of network devices. The trigger condition for one of the communication patterns is fulfilled in case there is another of the communication patterns that, with respect to a given scenario, yield better performance of the network than this one of the communication patterns. One action comprises the controller device to reconfigure at least one of the network devices to change its communication pattern responsive to one of the trigger conditions is fulfilled during runtime operation of the network devices. Which at least one of the network devices to reconfigure and how the communication pattern is to be changed is defined by which of the trigger conditions is fulfilled.
[0017] According to a fourth aspect there is presented a method for changing communication pattern in a network comprises a set of network devices. The method is performed by one of the network devices. The method comprises providing information to a controller device of the network. The method comprises receiving at least one trigger condition from the controller device. The trigger condition for one communication pattern is fulfilled in case there is another communication pattern that, with respect to a given scenario, yield better performance of the network device than this one communication pattern. The method comprises evaluating, based on runtime data, performance of the network device with respect to the at least one trigger condition. The method comprises sending an indication to the controller device responsive to the at least one trigger condition is fulfilled. The method comprises obtaining reconfiguration from the controller device to change communication pattern. The method comprises reconfiguring the communication pattern for the network device in accordance with the reconfiguration.
[0018] According to a fifth aspect there is presented a network device for changing communication pattern in a network comprises a set of network devices. The network device comprises processing circuitry. The processing circuitry is configured to cause the network device to provide information to a controller device of the network. The processing circuitry is configured to cause the network device to receive at least one trigger condition from the controller device. The trigger condition for one communication pattern is fulfilled in case there is another communication pattern that, with respect to a given scenario, yield better performance of the network device than this one communication pattern. The processing circuitry is configured to cause the network device to evaluate, based on runtime data, performance of the network device with respect to the at least one trigger condition. The processing circuitry is configured to cause the network device to send an indication to the controller device responsive to the at least one trigger condition is fulfilled. The processing circuitry is configured to cause the network device to obtain reconfiguration from the controller device to change communication pattern. The processing circuitry is configured to cause the network device to reconfigure the communication pattern for the network device in accordance with the reconfiguration.
[0019] According to a sixth aspect there is presented a computer program for changing communication pattern in a network comprising a set of network devices. The computer program comprises computer code which, when run on processing circuitry of one of the network devices, causes this network device to perform actions. One action comprises this network device to provide information to a controller device of the network. One action comprises this network device to receive at least one trigger condition from the controller device. The trigger condition for one communication pattern is fulfilled in case there is another communication pattern that, with respect to a given scenario, yield better performance of the network device than this one communication pattern. One action comprises this network device to evaluate, based on runtime data, performance of the network device with respect to the at least one trigger condition. One action comprises this network device to send an indication to the controller device responsive to the at least one trigger condition is fulfilled. One action comprises this network device to obtain reconfiguration from the controller device to change communication pattern. One action comprises this network device to reconfigure the communication pattern for the network device in accordance with the reconfiguration.
[0020] According to a seventh aspect there is presented a computer program product comprising a computer program according to at least one of the third aspect and the sixth aspect and a computer readable storage medium on which the computer program is stored. The computer readable storage medium could be a non-transitory computer readable storage medium.
[0021] Advantageously, by creating a digital twin of the network, the controller device is able to establish triggers that can be used to indicate that the network is in a certain environment or is operating in a certain scenario.
[0022] Advantageously, these triggers enable the controller device to stop communication flows which become redundant in certain scenario (e.g., a shoe sensor worn by a person measuring ground conditions when the person is sitting down). The trigger in such a scenario may, e.g., be accelerometer input which indicates idleness for over a threshold of time.
[0023] Advantageously, the digital twin may be configured to simulate the network in an effort to optimize different parameters, such as battery consumption, network reaction time, or information redundancy. For this purpose, the controller device may receive instructions (e.g., from user interaction or external communication) which parameters should be most important during the simulation. Advantageously, these aspects enable networks comprising several constrained devices (e.g., a WPAN or BAN) to use a capable device, i.e., the controller device, as present in the network to optimize the network functionality.
[0024] Other objectives, features and advantages of the enclosed embodiments will be apparent from the following detailed disclosure, from the attached dependent claims as well as from the drawings.
[0025] Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to "a / an / the element, apparatus, component, means, module, step, etc." are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, module, step, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.
[0026] BRIEF DESCRIPTION OF THE DRAWINGS
[0027] The inventive concept is now described, by way of example, with reference to the accompanying drawings, in which:
[0028] Fig. 1 is a schematic diagram illustrating a network according to embodiments;
[0029] Figs. 2, 3 and 4 are flowcharts of methods according to embodiments;
[0030] Figs. 5 and 6 are block diagrams of network devices in a network according to embodiments;
[0031] Fig. 7 is a schematic diagram showing structural units of a controller device according to an embodiment;
[0032] Fig. 8 is a schematic diagram showing structural units of a network device according to an embodiment; and
[0033] Fig. 9 shows one example of a computer program product comprising computer readable means according to an embodiment.
[0034] DETAILED DESCRIPTION
[0035] The inventive concept will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments of the inventive concept are shown. This inventive concept may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete, and will fully convey the scope of the inventive concept to those skilled in the art. Like numbers refer to like elements throughout the description. Any step or feature illustrated by dashed lines should be regarded as optional.
[0036] Fig. 1 is a schematic diagram illustrating a network 100 where embodiments presented herein can be applied.
[0037] The network 100 can be a freestanding peer-to-peer network having at least one common communication point (e.g., an access network node or a wireless network router). The network 100 comprises network devices 120a: 120N. The network devices 120a: 120N are provided in at least one set, or group, of network devices. In Fig. 1 there are two such groups 130a, 130b. Each such group could be a part of a WPAN or BAN, or define a respective WPAN or BAN. Therefore, in some aspects, each group 130a, 130b defines a sub-network. Further, some of the network devices 120a: 120N might be part of two or more such groups 130a, 130b. The network devices 120a: 120N are controlled by a controller device 110a, 110b. In Fig. 1, there is one controller device 110a, 110b for each of the groups 130a, 130b of network devices 120a: 120N. Further details of the controller device 110a, 110b and the network devices 120a: 120N will be disclosed below. In some examples, the network 100 comprises of several complex groups 130a, 130b of network devices 120a: 120N. Each such group 130a, 130b might comprise a respective disjoint set of network devices 120a: 120N. In such a case, it may not be possible select a single controller device in the network but instead an select one controller device 110a, 110b per group 130a, 130b of network devices 120a: 120N. In this respect, a set of controller devices 110a, 110b might be configured to negotiate among each other, and / or simulate, to find which topology the network 100 should have. In a first example, the network 100 has a star topology and a single controller device 110a is selected (and any other controller device 110b leave their role). In a second example, the network 110 has a multiple-star topology, and each controller device 110a, 110b (and its respective group 130a, 130b of network devices 120a: 120N) is separately connected to the network 100. In a third example the network 100 has a tree topology, where at least one controller device 110a selects another controller device 110b as its controller, thus creating a multi-layer network.
[0038] In general terms, the controller device is configured to fulfill at least a part of a-priory set conditions set by the network. One such condition might require the controller device to read data for the network devices, and based on the read data, to create a digital twin of the network. One such condition might require the controller device to act as a device which produces or consumes communication data (e.g., generates device originated data or receives device terminated data). The controller device might be selected based on the controller device possessing certain capabilities, such as providing a common service to the network device, fulfilling some reliability, quality of service, and / or codependency target with respect to the network devices, etc. Further, in case the network devices are geographically stationary, or can be assumed to have continuous network connectivity, the controller device might be implemented in at least one (radio) access network node, such as a gNB. Further, for network devices that are not geographically stationary, the controller device might be implemented deeper in the network, such as in anode of the core network or in a node of the data network. In some scenarios, where (some of) the network devices have long-range communication abilities, the controller device may obtain information about network devices in the network from an external access node, e.g., a radio access node. The external node may provide insights into the network-internal and external communication patterns of the network devices. Each of the network devices might be configured to take at least one input from a sensor or another network device in the network and / or supplying at least one output to another network device in the network. On or more of the network devices might further be configured to request another of the network devices to take the role of the controller device if there is no controller device present in the network or if the controller device becomes unavailable. Additionally, or alternatively, the aforementioned access network node or wireless network router might be included in the process of selecting the controlling device for the network.
[0039] As disclosed above, there is still a need for improved communication in WPANs, BANs, or other types of networks comprising network devices.
[0040] At least some of the herein disclosed embodiments are based on the controller device setting up an ad-hoc digital twin of the network. The digital twin can be regarded as a digital copy, or software representation, of the network, including the behavior of the network devices, the data transmitted between the network devices, and the processes executed by the network devices for this purpose. In some aspects, the digital twin is simulated with a goal to, through use of an event-driven architecture, find communication patterns between the network devices in the network that optimizes some goal. There may be different such goals, for example, minimizing the energy consumption of the network devices, minimizing latency of transmissions in the network, minimizing the amount of transmissions in the network, etc. Generally, a communication pattern is a pattern according to which the different network devices communicate with each other. In some aspects, the communication pattern also includes what information is communicated; some data may be relevant in some scenarios but not in other scenarios, whereas other data may be relevant in all scenarios, etc.), and the different types of communication (e.g., traffic rate, QoS requirement, etc.). The controller device is therefore configured to, from the network devices, acquire the information needed (e.g., the communication patterns and the related data) for the digital twin to be set up and simulated.
[0041] Different scenarios can be simulated in digital twin, where each scenario can be considered as a respective contexts, for the controller device to determine if there are any communication paths that, for a given scenario, or context, can be altered in order for some parameters in the network (e.g., energy consumption, latency of transmissions, amount of transmissions, etc.) to be optimized, or at least for some corresponding operation criteria to be improved. The scenarios, or contexts, can be pre-defined from use cases or be extracted from observed communication behavior. The output from the digital twin is a set of trigger conditions for, for example, removing some communication path, throttling some communication path, altering some communication path, adding some communication path, activating some network device, deactivating some network device, etc. It is thus the implementation of these changes (as appropriate for a given scenario) that enables the parameters in the network to be optimized for the given scenario. Hence, the simulation can be used for finding a specific configuration of the network, with respect to communication patterns among the network devices, that enables the optimization goal to be achieved (or at least improve the performance). The controller device then configures the network devices with the trigger conditions. During runtime, upon a trigger condition being fulfilled, the controller device can then reconfigure the communication pattern for at least one of the network devices.
[0042] To keep the digital twin fresh, a new simulation can be performed when enough trigger conditions have been fulfilled, when some a time limit has been reached, and / or upon some new network device appearing in the set of network devices.
[0043] Furthermore, as disclosed above, a new controller device can be selected in case the controller device becomes unavailable (or at least is incapable of acting as controller device for the network devices).
[0044] Reference is now made to Fig. 2 illustrating a method for changing communication pattern in a network 100 comprising a set of network devices 120a: 120N as performed by the controller device 110a according to an embodiment.
[0045] The controller device creates a digital twin based on information received from the network devices, as in step S106.
[0046] S106: The controller device 110a creates a digital twin that models the network 100 based on information received from the set of network devices 120a: 120N.
[0047] The digital twin is used for simulating different scenarios based on pre-determined contexts and optimization parameters defining the possible inputs to, and the output from, the network devices 120a: 120N. That is, in the digital twin, each network device 120a: 120N can be represented as a digital entity and each communication path can be represented with an input, an output, and a frequency of use. Generally, a model of each network device 120a: 120N in the network 100 is built in the digital twin. Each simulation is performed for a specific scenario. Each scenario can be defined by at least one type of input / output values being in a certain value range and / or a certain activity being in a certain state. For each simulation, the digital twin simulates several different configurations of the network devices 120a: 120N to find the optimal setup with respect to communication patterns for a certain criterion, e.g., minimizing power consumption, optimizing the reactivity of the network, etc. An action can be mapped with a state update (e.g., an action such as "sending a message” for a network device 120a: 120N might equal (and thus be mapped to) the state update "0.01 mV less in remaining battery power” for the same network device 120a: 120N). Each trigger condition can thus be associated with a certain parameter, e.g., power consumption or network performance, where the controller device may receive external input (e.g., from user interaction or external communication) regarding which parameter should be prioritized for a given scenario. The digital twin can thereby determine input triggers to enable reconfigurations of communication patterns in the network 100 (implemented as actions, such as throttling, sleep, activation, deactivation, etc.). The controller device 110a can store the actions associated with the different trigger conditions in a key-value store where the trigger condition is the key, and the action is the value. The same key can be connected to more than one action. The output of the simulation for each defined scenario is either that no change is necessary, or that a change is necessary. The former case implies that the used communication patterns for the given scenario is optimal, whereas the latter indicates that there could be a better communication pattern for the given scenario. Based on the simulation, triggers conditions indicating that the current communication patterns are suboptimal and actions to alter the communication patterns of at least one of the network devices can thus be determined, as in step S108.
[0048] S108: The controller device 110a determines trigger conditions to change between communication patterns according to which the network devices 120a: 120N communicate with each other during runtime operation of the network 100. The trigger conditions are determined by simulating, in the digital twin, different scenarios in the network 100 based on the information received from the set of network devices 120a: 120N. The trigger condition for one of the communication patterns is fulfilled in case there is another of the communication patterns that, with respect to a given scenario, yield better performance of the network 100 than this one of the communication patterns.
[0049] The controller device 110a can thereby be regarded as acting as a scheduler, e.g., for configuring, or controlling, the resource allocation, polling configuring, transmission opportunities / periodicities, etc. of the network devices 120a:120N.
[0050] Upon receiving an indication of one of the trigger conditions being fulfilled, the controller device sends an instruction to alter the communication patterns of the at least one network device, as in step S114.
[0051] S114: The controller device 110a reconfigures at least one of the network devices 120a: 120N to change its communication pattern responsive to one of the trigger conditions being fulfilled during runtime operation of the network devices 120a: 120N . Which at least one of the network devices 120a: 120N to reconfigure and how the communication pattern is to be changed is defined by which of the trigger conditions is fulfilled.
[0052] In this respect, the actions associated with the reconfiguration of the communication patterns can be distributed prematurely to the network devices 120a: 120N, meaning that the network devices 120a: 120N do not have to receive any explicit action when a trigger condition is fulfilled, but rather an instruction to activate one or more of the distributed actions.
[0053] The trigger conditions can be regarded as being defined by values or device states which require the controller device 110a to invoke an action to change the communication pattern for at least one of the network devices 120a: 120N. Different ways in which the communication patterns can be changed will be disclosed below.
[0054] In this way, a method is provided for altering the communication patterns to optimize specific parameters in the network. This is achieved by building a digital twin of the network devices and simulating the digital twin for setting up an event-driven configuration of the communication paths in the network. Embodiments relating to further details of changing communication pattern in a network 100 comprising a set of network devices 120a: 120N as performed by the controller device 110a will now be disclosed with continued reference to Fig. 2.
[0055] There may be different types of information received from the set of network devices 120a: 120N based on which the digital twin is created in step S106. In some non-limiting examples, the information received from the set of network devices 120a: 120N pertains to any, or any combination of: information of connections of the network devices 120a: 120N, inputs to the network devices 120a: 120N, outputs from the network devices 120a: 120N, rate of input data consumption, communication rates of the network devices 120a: 120N, capabilities of the network devices 120a: 120N, key performance indicators of the network devices 120a: 120N, quality of service targets of the network devices 120a: 120N.
[0056] As specified in step S108, the trigger conditions are determined by simulating, in the digital twin, different scenarios in the network 100 based on the information received from the set of network devices 120a: 120N. These scenarios can be defined in different ways. In some embodiments, each scenario is associated with a combination of state and communication pattern, where the states and the communication patterns are derivable from the information received from the network devices 120a: 120N. Further, each scenario might be associated with at least one type of input / output values being in a certain value range and / or a certain activity being in a certain state. That is, in some embodiments, each of the network devices 120a: 120N is associated with input / output values and activities, and wherein each state is defined by at least one of: a respective value range of the input / output values, a respective activity of the activities.
[0057] As specified in step S108, the trigger condition for one of the communication patterns is fulfilled in case there is another of the communication patterns that, with respect to a given scenario, yield better performance of the network 100 than this one of the communication patterns. In this respect, in some embodiments, the performance is defined according to at least one performance criterion for the network devices 120a: 120N. Further in this respect, in some non-limiting examples, the performance criterion pertains to any, or any combination of: power consumption of the network devices 120a: 120N, reaction times of the network devices 120a:120N, quality of traffic sent between the network devices 120a: 120N, quality of traffic sent between at least one of the network devices 120a: 120N and a device outside the network 100, task completion time for tasks executed on at least one of the network devices 120a: 120N, load distribution of the network devices 120a: 120N. Here the quality of traffic could refer to throughput (where higher throughput yields higher quality, and vice versa), jitter (where lower throughput yields higher quality, and vice versa), packet loss (where lower packet loss yields higher quality, and vice versa), latency (where lower latency yields higher quality, and vice versa), etc.
[0058] Further, the digital twin might also be used for determining the actions, i.e., the type of reconfiguration, and to thereby find the optimal setup for a certain criterion. In particular, in some embodiments, which at least one of the network devices 120a: 120N to reconfigure and how the communication pattern is to be changed is determined by simulating, in the digital twin, the different scenarios in the network 100 in accordance with the at least one performance criterion for the network devices 120a: 120N.
[0059] Furter aspects of the trigger conditions will be disclosed next.
[0060] In some aspects, at least some of the trigger conditions pertain to a single parameter value, where the trigger condition is fulfilled in case this parameter value crosses some threshold value. That is, in some embodiments, one of the trigger conditions is fulfilled in case at least one respective value crosses (i.e., exceeds or falls below) a corresponding threshold value.
[0061] As an illustrative and non-limiting example, a trigger condition might pertain to a temperature value, where the trigger condition is fulfilled when the temperature value is higher (or lower, depending how the trigger condition is set) than some threshold temperature value, e.g., a temperature sensor indicates that the temperature is subzero.
[0062] In some aspects, at least some of the trigger conditions are associated with a time duration component, where the trigger condition is fulfilled in case some parameter value crosses some threshold value at least during some predetermined time duration. As an illustrative and non-limiting example, a trigger condition might pertain to a temperature value and a time duration, where the trigger condition is fulfilled only when the temperature value is higher (or lower, depending how the trigger condition is set) than some threshold temperature value during some predetermined time duration, e.g., a temperature sensor indicates that the temperature is sub-zero for 10 consecutive readings or for one minute or the like.
[0063] In some aspects, at least some of the trigger conditions pertain to a at least two parameter values, where the trigger condition is fulfilled in case all these parameter values crosses (such as exceeds or falls below) some respective threshold value. As an illustrative and non-limiting example, a trigger condition might pertain to a temperature value and a movement value, where the trigger condition is fulfilled when the temperature value is higher (or lower, depending how the trigger condition is set) than some threshold temperature value and where a movement value is above a movement threshold, e.g., a temperature sensor indicates that the temperature is sub-zero and a movement sensor indicates a non-zero movement.
[0064] In some aspects, at least some of the trigger conditions pertain to activity of at least one of the network devices, where the trigger condition is fulfilled in case the least one network device is no longer active, for example by the at least one network device becoming unresponsive for a certain amount of times, or communication attempts. That is, in some embodiments, one of the trigger conditions is fulfilled in case at least one of the network devices 120a: 120N becomes unresponsive for a predetermined number of communication attempts and / or for a predetermined time interval.
[0065] In some embodiments, the controller device 110a is configured to perform (optional) step S112. S112: The controller device 110a obtains an indication that one of the trigger conditions is fulfilled. The indication is either received from one of the network devices 120a: 120N, or derived by the controller device 110a based on runtime data received from at least one of the network devices 120a: 120N.
[0066] For example, this at least one network device might either report back to the controller device in case the trigger condition is fulfilled or just report data pertaining to the trigger condition to the controller device. In this respect, there could be different types of trigger conditions. For example, the trigger conditions could be either internal or external. In this respect, an internal trigger condition is a trigger condition monitored by the controller device itself. In contrast, an external trigger condition is a trigger condition that at least one network device is, by the controller device, configured to monitor. In particular, in some embodiments, the controller device 110a is configured to perform (optional) step S110.
[0067] S110: The controller device 110a provides the trigger conditions to the network devices 120a: 120N.
[0068] Step S110 could thus be performed in case the trigger conditions are external.
[0069] As disclosed above, the controller device in step S114 reconfigures at least one of the network devices 120a: 120N to change its communication pattern. There could be different ways in which the communication patterns are changed. In some non-limiting examples, the communication patterns are defined by communication links extending between the network devices 120a: 120N, and wherein the communication pattern is changed by at least one of: inactivating, throttling, activating, and / or altering at least one of the communication links, reducing activity, increasing activity of at least one of the network devices 120a: 120N. In this respect, there can be different ways in which the controller device 110a can cause the at least one of the network devices 120a: 120N to reduce its activity or increase its activity. For example, the controller device 110a might instruct at least one of the network devices 120a: 120N to start, stop, or alter a software component, executing locally on a hardware component in the network device 120a: 120N. For example, the controller device 110a might instruct at least one of the network devices 120a: 120N to power on, power off, or alter the operation of at least one of its hardware components. For example, the controller device 110a might instruct at least one of the network devices 120a: 120N to alter the internal connections between at least two of its hardware components.
[0070] As disclosed above, the controller device might be selected to act as controller device by the network device. This selection might be based on set of pre-determined rules, and capabilities of the controller device. Therefore, in some embodiments, the controller device 110a is configured to perform (optional) step S102.
[0071] S102: The controller device 110a indicates a capability of the controller device 110a to the network device 120a for the controller device 110a to be selected to create the digital twin.
[0072] Examples of such pre-determined rules and capabilities will be disclosed below. In some aspects, the selection is performed by means of negotiation among the network devices, taking into consideration which network devices that have the required capabilities and that can fulfil the pre-determined rules. Therefore, in some embodiments, the controller device 110a is configured to perform (optional) step S104.
[0073] S104: The controller device 110a receives information that the controller device 110a has been selected to create the digital twin.
[0074] As disclosed above with reference to Fig. 1 , in some examples, the network 100 comprises of several complex groups 130a, 130b of network devices 120a: 120N, where each group 130a, 130b defines a sub-network. In this respect, in some embodiments, either the digital twin pertains only to the network devices 120a: 120N of one of the sub-networks (e.g., as defined by group 130a in Fig. 1), or the digital twin pertains to the network devices 120a: 120N of at least two of the sub-networks (e.g., as defined by groups 130a, 130b in Fig. 1). In the latter case, the digital twin may contain network devices 120a: 120N the controller device 110a is aware of but is not able to reconfigure.
[0075] Aspects of trust in the network 100 will be disclosed next.
[0076] In general terms, the controller device 110a should be able to control other devices, such as the network devices 110a: 110N, in the network 100, for example in terms of granting administrative privileges for these devices. In the present context, the administrative privileges at least enables, or allows, the controller device 110a to reconfigures at least one of the network devices 120a: 120N to change its communication pattern, as in step S114. In some aspects, an authentication procedure is performed for the controller device 110a before it can reconfigure any of the network devices 120a: 120N. This might not be needed in case the controller device 110a is implemented in a network node, such as a gNB. On the other hand, an authentication procedure might be performed in case the controller device 110a is implemented in one of the network devices 120a: 120N. In this respect, in a first non-limiting example, all devices (both the controller device 110a and the network devices 120a: 120N) are assumed to be able to verify cryptographic signatures and the controller device presents its public key to all network devices 120a: 120N in the network 100 and sign any trigger and / or action-related messages which are sent with its cryptographic signatures. Furthermore, to ensure replay protection, a counter or a timestamp could be used with each message. In a second non-limiting example, not all of the network devices 120a: 120N are able to validate cryptographic signatures. In this case, the network devices 120a: 120N might be configured for other alternatives to ensure that a legitimate controller device is sending instructions, or other types of messages. Here, in one option, one of the network devices 120a: 120N, or some trusted third-party device, acts as a trusted pair-device and is configured to validate the cryptographic signature on behalf of the other network devices 120a: 120N. In another option, pre-distributed codes can be used to validate authenticity of the instruction or other type of message. Reference is now made to Fig. 3 illustrating a method for changing communication pattern in a network 100 comprising a set of network devices 120a: 120N as performed by one of the network devices 120a according to an embodiment.
[0077] As disclosed above, the digital twin as created by the controller device 110 models the network 100 based on information received from the set of network devices 120a: 120N. The network device 120a is therefore configured to perform step S206.
[0078] S206: The network device 120a provides information to the controller device 110a of the network 100.
[0079] As disclosed above, the controller device 110a in (optional) step S110 provides trigger conditions to the network devices 120a: 120N. The network device 120a is therefore configured to perform step S208.
[0080] S208: The network device 120a receives at least one trigger condition from the controller device 110a.
[0081] As disclosed above, the trigger condition for one communication pattern is fulfilled in case there is another communication pattern that, with respect to a given scenario, yield better performance of the network device 120a than this one communication pattern. The network device 120a therefore checks whether or not the at least one trigger condition is fulfilled, as in step S210.
[0082] S210: The network device 120a evaluates, based on runtime data, performance of the network device 120a with respect to the at least one trigger condition.
[0083] In case the at least one trigger condition is not fulfilled, the network device 120a continues its operations, and performs a new evaluation after some time duration. However, in case the at least one trigger condition indeed is fulfilled, then the network device 120a informs the controller device 110a, as in step S212.
[0084] S212: The network device 120a sends an indication to the controller device 110a responsive to the at least one trigger condition being fulfilled.
[0085] As disclosed above, upon receiving an indication of one of the trigger conditions being fulfilled, the controller device sends an instruction to alter the communication patterns of the at least one network device. The network device 120a is therefore configured to perform steps S214 and S216.
[0086] S214: The network device 120a obtains reconfiguration from the controller device 110a to change communication pattern.
[0087] S216: The network device 120a reconfigures the communication pattern for the network device 120a in accordance with the reconfiguration. Embodiments relating to further details of changing communication pattern in a network 100 comprising a set of network devices 120a: 120N as performed by the network device 120a will now be disclosed with continued reference to Fig. 3.
[0088] As disclosed above, there may be different types of information received from the set of network devices 120a: 120N based on which the digital twin is created in step S106. As further disclosed above, in some nonlimiting examples, the information pertains to any, or any combination of: information of connections of the network device 120a, input to the network device 120a, output from the network device 120a, rate of input data consumption, communication rate of the network device 120a, capability of the network device 120a, key performance indicator of the network device 120a, quality of service target of the network device 120a.
[0089] As disclosed above, in some embodiments, the performance is defined according to at least one performance criterion for the network device 120a. Further in this respect, in some non-limiting examples, the performance criterion pertains to any, or any combination of: power consumption of the network device 120a, reaction time of the network device 120a, quality of traffic sent between the network devices 120a: 120N, quality of traffic sent between at least one of the network devices 120a: 120N and a device outside the network 100, task completion time for tasks executed on at least one of the network devices 120a: 120N, load distribution of the network devices 120a: 120N. As above, the quality of traffic could refer to throughput (where higher throughput yields higher quality, and vice versa), jitter (where lower throughput yields higher quality, and vice versa), packet loss (where lower packet loss yields higher quality, and vice versa), latency (where lower latency yields higher quality, and vice versa), etc.
[0090] As disclosed above, in some aspects, at least some of the trigger conditions pertain to a single parameter value, where the trigger condition is fulfilled in case this parameter value crosses some threshold value. That is, in some embodiments, one of the at least one trigger condition is fulfilled in case at least one respective value crosses a corresponding threshold value.
[0091] As disclosed above, in some aspects, at least some of the trigger conditions pertain to activity of at least one of the network devices, where the trigger condition is fulfilled in case the least one network device is no longer active, for example by the at least one network device becoming unresponsive for a certain amount of times, or communication attempts. Therefore, in some embodiments, one of the at least one trigger condition is fulfilled in case at least one other network device 120b: 120N with which the network device 120a communicates becomes unresponsive for a predetermined number of communication attempts and / or for a predetermined time interval.
[0092] There can be different ways in which the communication pattern is changed. In some aspects, the communication pattern is defined by communication links extending between the network device 120a and at least one other network device 120a in the network 100. Then, in some embodiments, changing communication pattern comprises at least one of: inactivating, throttling, activating, and / or altering at least one of the communication links, reducing activity, increasing activity of the network device 120a. As disclosed above, the controller device 110a can cause the at least one of the network devices 120a: 120N to reduce its activity or increase its activity. For example, upon instructions from the controller device 110a, the network device 120a might start, stop, or alter a software component, executing locally on a hardware component in the network device 120a. For example, upon instructions from the controller device 110a, the network device 120a might power on, power off, or alter the operation of at least one of its hardware components. For example, upon instructions from the controller device 110a, the network device 120a might alter the internal connections between at least two of its hardware components.
[0093] As disclosed above, the controller device 110a can be selected for determining the trigger conditions (and thus to create the digital twin and run the simulations in the digital twin) based on negotiation between the network devices 120a: 120N. This selection can, for example, be based on capabilities of candidate controller devices. Therefore, in some embodiments, the network device 120a is configured to perform (optional) step S202.
[0094] S202: The network device 120a obtains a capability of the controller device 110a for the controller device 110a to be selected to create a digital twin for determining the trigger conditions.
[0095] In some examples, the network device 120a sends a broadcast, groupcast, or multicast message requesting a device in the network 100 to act as controller device 110a. In one example this is done by the network device 120a requesting resources for transmission. In another example the network devices 120a: 120N attempt transmission when the channel is free and resolves collisions. The other network devices 120b: 120N may then hear the sent broadcast, groupcast, or multicast message. In some examples, at least one network device responds with a unicast request to take the role of controller device 110a.
[0096] Some non-limiting criteria for a device to be selected as controller device 110a are: connectivity or interface to all, or a majority, of the network devices 120a: 120N in the network 100, best communication, or radio, or access network, conditions to the serving network node in the network 100, best communication, or radio, or access network, conditions to the network devices 120a: 120N in network 100, processing power capabilities, ability to create a digital twin and perform simulations in the digital twin, ability to analyze or predict environment, radio conditions, energy harvesting conditions, etc., of the network devices 120a: 120N. If no device fulfills all these criteria, then the set of criteria may be reduced according to some pre-determined rule, creating a fallback set of criteria. The network devices 120a: 120N might enter a waiting mode in case no device fulfils the fallback set of criteria (possibly after some further reduction).
[0097] Some examples of selecting a device as controller device 110a will be disclosed next.
[0098] In a first example, the controller device 110a is selected based on a pre-defined set of rules. As above, the network device 120a might send a broadcast, groupcast, or multicast message requesting a device in the network 100 to act as controller device 110a, and one of the network device might respond with a unicast request to take the role of controller device 110a. This network device can then be selected as controller device 110a in case it fulfils the above listed non-limiting criteria for a device to be selected as controller device 110a.
[0099] In a second example, the controller device 110a is selected based on pre-defined rules or negotiation among the network devices 120a: 120N. This can be regarded as an extension of the first example, where there are more than one device responding with a unicast request to take the role of controller device 110a, e.g., in case there are N responding devices. A selection can then be made with respect to which of the responding devices that fulfils the highest number of the above listed non-limiting criteria for a device to be selected as controller device 110a. In case two or more devices fulfil the same amount of criteria, then either a selection can be made based on a prioritization among the criteria, or a random selection can be made. The selection process may be performed by one dedicated network device 120a, be distributively performed among two or more of the network devices 120a: 120N, or be performed by another device not part of the network.
[0100] In a third example, the controller device 110a is selected based on a recommendation from a previous controller device. For example, in case a current controller is leaving the network 100 (thus becoming a previous controller device), this controller device might, based on data it has collected from the network devices 120a: 120N recommend a new controller device to take its place.
[0101] The network device 120a might then inform the controller device 110a upon the network devices 120a: 120N having selected the controller device 110a for determining the trigger conditions. Therefore, in some embodiments, the network device 120a is configured to perform (optional) step S204.
[0102] S204: The network device 120a sends information that the controller device 110a has been selected to create the digital twin.
[0103] More details regarding how the controller device 110a can be selected for determining the trigger conditions will be disclosed below with reference to Fig. 4.
[0104] One particular embodiment for changing communication pattern in a network 100 comprising a set of network devices 120a: 120N based on at least some of the above disclosed embodiments will now be disclosed in detail with reference to the flowchart of Fig. 4.
[0105] S301 : At least one network device in network obtains a set of criteria defining requirements for a device to take the role of controller device in the network, and a set of scenarios for which the controller device should simulate communication patterns in the network. Additionally, the at least one network device may receive a set of optimization parameters, indicating the performance goals for the network. This may be obtained from e.g., a network node, a provisioning server, or a smart home hub.
[0106] S302: The least one network device initiates the process of selecting a controller device for the network. S303: The controller device is selected from any of the methods described above.
[0107] S304: The controller device broadcasts its existence and capability to administer to network devices in its vicinity.
[0108] S305: The controller device requests information regarding the network devices. As disclosed above, the information might pertain to any, or any combination of: information of connections of the network devices, inputs to the network devices, outputs from the network devices, rate of input data consumption, communication rates of the network devices, capabilities of the network devices, key performance indicators of the network devices, quality of service targets of the network devices, current device activity of the network devices, expected traffic or traffic pattern of the network devices, network capabilities (such as access network capabilities, core network capabilities, application layer capabilities, etc.), user assistance information, etc.
[0109] The controller device may further attach its public key or request other security-related information from the network devices to enable secure invocation of actions at a later point in time.
[0110] S306: The network devices respond to the controller device with the requested information.
[0111] S307: The controller device creates a digital twin that models the network based on the information received from the network devices. Aspects of the digital twin as disclosed above apply here as well.
[0112] S308: The controller device, in the digital twin, simulates different scenarios in the network based on the information received from the network devices for the controller device to determine whether a certain communication path is redundant in a certain scenario or not. A trigger condition for one of the communication patterns is fulfilled in case there is another of the communication patterns that, with respect to a given scenario, yield better performance of the network 100 than this one of the communication patterns.
[0113] S309: The controller device, based on the output from the digital twin, sets up some internal and / or external trigger conditions. If an external trigger condition is set up, the network devices relevant for this trigger condition are informed of the trigger condition (as in above steps S110 and S208). In this respect, a trigger condition may consider more than one device, e.g., a trigger condition might be fulfilled when a first value of a first network device crosses some threshold value and second value of a second network device crosses the same threshold value.
[0114] S310: The controller device awaits a trigger condition to be fulfilled.
[0115] S311 : The controller device receives information indicating that one of the trigger conditions is fulfilled. This can be accomplished either by the controller device itself monitoring an internal trigger condition or the controller device receiving information from one of the network devices that an external trigger condition has been fulfilled. S312: The controller device reconfigures at least one of the network devices to change its communication pattern responsive to the trigger condition being fulfilled. In case the actions associated with the reconfiguration of the communication patterns have been distributed prematurely to the network devices, the controller device only needs to instruct the relevant network device(s) to activate one or more of the distributed actions. Otherwise, the controller device explicitly sends the one or more of the distributed actions to the relevant network device(s).
[0116] S313: The relevant network device(s) reconfigure(s) its / their communication pattern(s) in accordance with the reconfiguration.
[0117] Step S310 can then be entered again until at least one of the following conditions occurs: (i) a specific number of trigger conditions have been fulfilled, (ii) a pre-determined amount of time has passed since the last simulation, (iii) a new network device joins the network, or a network device leaves the network, (iv) the controller device leaves the network. Step S305 is entered once any of conditions (i)-(iii) occurs. Step S301 is entered once condition (iv) occurs.
[0118] One illustrative example where communication patterns are changed in a network comprising a set of network devices based on at least some of the above disclosed embodiments will now be disclosed with reference to the block diagrams of Fig. 5 and Fig. 6. In each block diagram is illustrated a network 500, 600 comprising a controller device 110a and three network devices 120a, 120b, 120c, hereinafter referred to as network devices A, B, C, respectively. Here, Fig. 5 represents the network 500 before reconfiguration, and Fig. 6 represents the network 600 after reconfiguration. Assume that the network devices A, B, C represent a wireless BAN. Network device A is configured to process sensor readings as provided from network devices B and C. For this purpose, network device B comprises a sensor configured to obtain sensor readings of type 1, and network device C comprises a sensor configured to obtain sensor readings of type 2. Network device B might be a smart watch placed on the wrist of the user where the sensor readings of type 1 is the pulse of the reader. Assume further that network device C is placed in a shoe worn by the user and the sensor in network device C is a shoe sensor capable to measure the current temperature and texture beneath the shoe. That is, the sensor readings of type 2 are current temperature and texture beneath the shoe. Further, the controller device 110a is configured to receive sensor readings of type 3. Assume further that the parameter to be optimized in the wireless BAN is the power consumption of the sensors. Assume a scenario where the sensor readings which the shoe sensor is supplying is only relevant information when the user is moving. The controller device 110a can then, based on positioning information (e.g., as provided from an inertial measurement unit or as positioning system information), create a digital twin that sets trigger conditions that determine when it is sensible for the shoe sensor to supply sensor readings to network device A. That is, the sensor readings of type 3 is positioning information. When the trigger condition is fulfilled (e.g., when the positioning information indicates that the user is not moving), the controller device 110a reconfigures network device C by providing instructs for network device C to halt sensor readings from the shoe sensor, thus inactivating the shoe sensor, and thereby stop supplying output values, as in Fig. 6. Fig. 7 schematically illustrates, in terms of a number of structural units, the components of a controller device 700 according to an embodiment. Processing circuitry 710 is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions stored in a computer program product 910a (as in Fig. 9), e.g. in the form of a storage medium 730. The processing circuitry 710 may further be provided as at least one application specific integrated circuit (ASIC), or field programmable gate array (FPGA).
[0119] Particularly, the processing circuitry 710 is configured to cause the controller device 700 to perform a set of operations, or steps, as disclosed above. For example, the processing circuitry 710 is configured to implement the digital twin and perform simulations, in the digital twin, of different scenarios in the network 100 based on the information received from the set of network devices 120a: 120N, and to thereby determine the trigger conditions. For example, the storage medium 730 may store the set of operations, and the processing circuitry 710 may be configured to retrieve the set of operations from the storage medium 730 to cause the controller device 700 to perform the set of operations. The set of operations may be provided as a set of executable instructions. Thus the processing circuitry 710 is thereby arranged to execute methods as herein disclosed.
[0120] The storage medium 730 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.
[0121] The controller device 700 may further comprise a communications (comm.) interface 720 for communications with other entities, functions, nodes, and devices, as in Fig. 1. As such the communications interface 720 may comprise one or more transmitters and receivers, comprising analogue and digital components. For example, the communications interface 720 might receive information from the set of network devices 120a: 120N and provide instructions to the network devices 120a: 120N for reconfiguring the network devices 120a: 120N to change their communication patterns.
[0122] The processing circuitry 710 controls the general operation of the controller device 700 e.g. by sending data and control signals to the communications interface 720 and the storage medium 730, by receiving data and reports from the communications interface 720, and by retrieving data and instructions from the storage medium 730. Other components, as well as the related functionality, of the controller device 700 are omitted in order not to obscure the concepts presented herein.
[0123] Fig. 8 schematically illustrates, in terms of a number of structural units, the components of a network device 800 according to an embodiment. Processing circuitry 810 is provided using any combination of one or more of a suitable central processing unit (CPU), multiprocessor, microcontroller, digital signal processor (DSP), etc., capable of executing software instructions stored in a computer program product 910b (as in Fig. 9), e.g. in the form of a storage medium 830. The processing circuitry 810 may further be provided as at least one application specific integrated circuit (ASIC), or field programmable gate array (FPGA). Particularly, the processing circuitry 810 is configured to cause the network device 800 to perform a set of operations, or steps, as disclosed above. For example, the storage medium 830 may store the set of operations, and the processing circuitry 810 may be configured to retrieve the set of operations from the storage medium 830 to cause the network device 800 to perform the set of operations. The set of operations may be provided as a set of executable instructions. Thus the processing circuitry 810 is thereby arranged to execute methods as herein disclosed.
[0124] The storage medium 830 may also comprise persistent storage, which, for example, can be any single one or combination of magnetic memory, optical memory, solid state memory or even remotely mounted memory.
[0125] The network device 800 may further comprise a communications interface 820 for communications with other entities, functions, nodes, and devices, as in Fig. 1. As such the communications interface 820 may comprise one or more transmitters and receivers, comprising analogue and digital components.
[0126] The processing circuitry 810 controls the general operation of the network device 800 e.g. by sending data and control signals to the communications interface 820 and the storage medium 830, by receiving data and reports from the communications interface 820, and by retrieving data and instructions from the storage medium 830. Other components, as well as the related functionality, of the network device 800 are omitted in order not to obscure the concepts presented herein.
[0127] Fig. 9 shows one example of a computer program product 910a, 910b comprising computer readable means 930. On this computer readable means 930, a computer program 920a can be stored, which computer program 920a can cause the processing circuitry 710 and thereto operatively coupled entities and devices, such as the communications interface 720 and the storage medium 730, to execute methods according to embodiments described herein. The computer program 920a and / or computer program product 910a may thus provide means for performing any steps of the controller device 700 as herein disclosed. On this computer readable means 930, a computer program 920b can be stored, which computer program 920b can cause the processing circuitry 810 and thereto operatively coupled entities and devices, such as the communications interface 820 and the storage medium 830, to execute methods according to embodiments described herein. The computer program 920b and / or computer program product 910b may thus provide means for performing any steps of the network device 800 as herein disclosed.
[0128] In the example of Fig. 9, the computer program product 910a, 910b is illustrated as an optical disc, such as a CD (compact disc) or a DVD (digital versatile disc) or a Blu-Ray disc. The computer program product 910a, 910b could also be embodied as a memory, such as a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), or an electrically erasable programmable read-only memory (EEPROM) and more particularly as a non-volatile storage medium of a device in an external memory such as a USB (Universal Serial Bus) memory or a Flash memory, such as a compact Flash memory. Thus, while the computer program 920a, 920b is here schematically shown as a track on the depicted optical disk, the computer program 920a, 920b can be stored in any way which is suitable for the computer program product 910a, 910b.
[0129] The inventive concept has mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the inventive concept, as defined by the appended patent claims.
Claims
CLAIMS1 . A method for changing communication pattern in a network (100) comprising a set of network devices (120a: 120N), the method being performed by a controller device (110a), the method comprising: creating (S106) a digital twin that models the network (100) based on information received from the set of network devices (120a: 120N); determining (S108) trigger conditions to change between communication patterns according to which the network devices (120a: 120N) communicate with each other during runtime operation of the network (100) by simulating, in the digital twin, different scenarios in the network (100) based on the information received from the set of network devices (120a: 120N), wherein the trigger condition for one of the communication patterns is fulfilled in case there is another of the communication patterns that, with respect to a given scenario, yield better performance of the network (100) than said one of the communication patterns; and reconfiguring (S114) at least one of the network devices (120a: 120N) to change its communication pattern responsive to one of the trigger conditions being fulfilled during runtime operation of the network devices (120a: 120N), wherein which at least one of the network devices (120a: 120N) to reconfigure and how the communication pattern is to be changed is defined by which of the trigger conditions is fulfilled.
2. The method according to claim 1 , wherein the information received from the set of network devices (120a: 120N) pertains to any, or any combination of: information of connections of the network devices(120a: 120N), inputs to the network devices (120a: 120N), outputs from the network devices (120a: 120N), rate of input data consumption, communication rates of the network devices (120a: 120N), capabilities of the network devices (120a: 120N), key performance indicators of the network devices (120a: 120N), quality of service targets of the network devices (120a:120N).
3. The method according to claim 1 , wherein the performance is defined according to at least one performance criterion for the network devices (120a: 120N).
4. The method according to claim 3, wherein which at least one of the network devices (120a: 120N) to reconfigure and how the communication pattern is to be changed is determined by simulating, in the digital twin, the different scenarios in the network (100) in accordance with the at least one performance criterion for the network devices (120a: 120N).
5. The method according to claim 3 or 4, wherein the performance criterion pertains to any, or any combination of: power consumption of the network devices (120a: 120N), reaction times of the network devices (120a: 120N), quality of traffic sent between the network devices (120a: 120N), quality of traffic sent between at least one of the network devices (120a: 120N) and a device outside the network (100), task completion time fortasks executed on at least one of the network devices (120a: 120N), load distribution of the network devices (120a:120N).
6. The method according to any preceding claim, wherein each scenario is associated with a combination of state and communication pattern, wherein the states and the communication patterns are derivable from the information received from the network devices (120a: 120N).
7. The method according to claim 6, wherein each of the network devices (120a: 120N) is associated with input / output values and activities, and wherein each state is defined by at least one of: a respective value range of the input / output values, a respective activity of the activities.
8. The method according to any preceding claim, wherein one of the trigger conditions is fulfilled in case at least one respective value crosses a corresponding threshold value.
9. The method according to any preceding claim, wherein one of the trigger conditions is fulfilled in case at least one of the network devices (120a: 120N) becomes unresponsive for a predetermined number of communication attempts and / or for a predetermined time interval.
10. The method according to any preceding claim, wherein the method further comprises: providing (S110) the trigger conditions to the network devices (120a: 120N).11 . The method according to any preceding claim, wherein the method further comprises: obtaining (S112) an indication that said one of the trigger conditions is fulfilled, wherein the indication is either received from one of the network devices (120a: 120N), or derived by the controller device (110a) based on runtime data received from at least one of the network devices (120a: 120N).
12. The method according to any preceding claim, wherein the communication patterns are defined by communication links extending between the network devices (120a: 120N), and wherein the communication pattern is changed by at least one of: inactivating, throttling, activating, and / or altering at least one of the communication links, reducing activity, increasing activity of at least one of the network devices (120a: 120N).
13. The method according to any preceding claim, wherein the method further comprises: indicating (S102) a capability of the controller device (110a) to the network device (120a) for the controller device (110a) to be selected to create the digital twin; and receiving (S104) information that the controller device (110a) has been selected to create the digital twin.
14. The method according to any preceding claim, wherein the network (100) comprises sub-networks (130a, 130b), and wherein either the digital twin pertains only to the network devices (120a: 120N) of one of the subnetworks (130a, 130b) or the digital twin pertains to the network devices (120a: 120N) of at least two of the subnetworks (130a, 130b).
15. A method for changing communication pattern in a network (100) comprising a set of network devices (120a:120N), the method being performed by one of the network devices (120a:120N), the method comprising: providing (S206) information to a controller device (110a) of the network (100); receiving (S208) at least one trigger condition from the controller device (110a), wherein the trigger condition for one communication pattern is fulfilled in case there is another communication pattern that, with respect to a given scenario, yield better performance of the network device (120a) than said one communication pattern; evaluating (S210), based on runtime data, performance of the network device (120a) with respect to the at least one trigger condition; sending (S212) an indication to the controller device (110a) responsive to the at least one trigger condition being fulfilled; obtaining (S214) reconfiguration from the controller device (110a) to change communication pattern; and reconfiguring (S216) the communication pattern for the network device (120a) in accordance with the reconfiguration.
16. The method according to claim 15, wherein the information pertains to any, or any combination of: information of connections of the network device (120a), input to the network device (120a), output from the network device (120a), rate of input data consumption, communication rate of the network device (120a), capability of the network device (120a), key performance indicator of the network device (120a), quality of service target of the network device (120a).
17. The method according to claim 15 or 16, wherein the performance is defined according to at least one performance criterion for the network device (120a).
18. The method according to claim 17, wherein the performance criterion pertains to any, or any combination of: power consumption of the network device (120a), reaction time of the network device (120a), quality of traffic sent between the network devices (120a: 120N), quality of traffic sent between at least one of the network devices (120a: 120N) and a device outside the network (100), task completion time for tasks executed on at least one of the network devices (120a:120N), load distribution of the network devices (120a: 120N).
19. The method according to any of claims 15 to 18, wherein one of the at least one trigger condition is fulfilled in case at least one respective value crosses a corresponding threshold value.
20. The method according to any of claims 15 to 19, wherein one of the at least one trigger condition is fulfilled in case at least one other network device (120b: 120N) with which the network device (120a) communicates becomes unresponsive for a predetermined number of communication attempts and / or for a predetermined time interval.
21. The method according to any of claims 15 to 20, wherein the communication pattern is defined by communication links extending between the network device (120a) and at least one other network device (120a) in the network (100), and wherein changing communication pattern comprises at least one of: inactivating, throttling, activating, and / or altering at least one of the communication links, reducing activity, increasing activity of the network device (120a).
22. The method according to any of claims 15 to 21 , wherein the method further comprises: obtaining (S202) a capability of the controller device (110a) for the controller device (110a) to be selected to create a digital twin for determining the trigger conditions; and sending (S204) information that the controller device (110a) has been selected to create the digital twin.
23. A controller device (110a) for changing communication pattern in a network (100) comprising a set of network devices (120a:120N), the controller device (110a) comprising processing circuitry (710), the processing circuitry being configured to cause the controller device (110a) to: create a digital twin that models the network (100) based on information received from the set of network devices (120a:120N); determine trigger conditions to change between communication patterns according to which the network devices (120a: 120N) communicate with each other during runtime operation of the network (100) by simulating, in the digital twin, different scenarios in the network (100) based on the information received from the set of network devices (120a: 120N), wherein the trigger condition for one of the communication patterns is fulfilled in case there is another of the communication patterns that, with respect to a given scenario, yield better performance of the network (100) than said one of the communication patterns; and reconfigure at least one of the network devices (120a: 120N) to change its communication pattern responsive to one of the trigger conditions being fulfilled during runtime operation of the network devices (120a: 120N), wherein which at least one of the network devices (120a: 120N) to reconfigure and how the communication pattern is to be changed is defined by which of the trigger conditions is fulfilled.
24. The controller device (110a) according to claim 23, further being configured to perform the method according to any of claims 2 to 14.
25. A network device (120a) for changing communication pattern in a network (100) comprising a set of network devices (120a: 120N), the network device (120a) comprising processing circuitry (810), the processing circuitry being configured to cause the network device (120a) to: provide information to a controller device (110a) of the network (100); receive at least one trigger condition from the controller device (110a), wherein the trigger condition for one communication pattern is fulfilled in case there is another communication pattern that, with respect to a given scenario, yield better performance of the network device (120a) than said one communication pattern; evaluate, based on runtime data, performance of the network device (120a) with respect to the at least one trigger condition; send an indication to the controller device (110a) responsive to the at least one trigger condition being fulfilled; obtain reconfiguration from the controller device (110a) to change communication pattern; and reconfigure the communication pattern for the network device (120a) in accordance with the reconfiguration.
26. The network device (120a) according to claim 25, further being configured to perform the method according to any of claims 16 to 22.
27. A computer program (920a) for changing communication pattern in a network (100) comprising a set of network devices (120a: 120N), the computer program comprising computer code which, when run on processing circuitry (710) of a controller device (110a), causes the controller device (110a) to: create (S106) a digital twin that models the network (100) based on information received from the set of network devices (120a: 120N); determine (S108) trigger conditions to change between communication patterns according to which the network devices (120a: 120N) communicate with each other during runtime operation of the network (100) by simulating, in the digital twin, different scenarios in the network (100) based on the information received from the set of network devices (120a: 120N), wherein the trigger condition for one of the communication patterns is fulfilled in case there is another of the communication patterns that, with respect to a given scenario, yield better performance of the network (100) than said one of the communication patterns; andreconfigure (S114) at least one of the network devices (120a: 120N) to change its communication pattern responsive to one of the trigger conditions being fulfilled during runtime operation of the network devices (120a: 120N), wherein which at least one of the network devices (120a: 120N) to reconfigure and how the communication pattern is to be changed is defined by which of the trigger conditions is fulfilled.
28. A computer program (920b) for changing communication pattern in a network (100) comprising a set of network devices (120a: 120N), the computer program comprising computer code which, when run on processing circuitry (810) of a network device (120a), causes the network device (120a) to: provide (S206) information to a controller device (110a) of the network (100); receive (S208) at least one trigger condition from the controller device (110a), wherein the trigger condition for one communication pattern is fulfilled in case there is another communication pattern that, with respect to a given scenario, yield better performance of the network device (120a) than said one communication pattern; evaluate (S210), based on runtime data, performance of the network device (120a) with respect to the at least one trigger condition; send (S212) an indication to the controller device (110a) responsive to the at least one trigger condition being fulfilled; obtain (S214) reconfiguration from the controller device (110a) to change communication pattern; and reconfigure (S216) the communication pattern for the network device (120a) in accordance with the reconfiguration.
29. A computer program product (910a, 910b) comprising a computer program (920a, 920b) according to at least one of claims 27 and 28, and a computer readable storage medium (930) on which the computer program is stored.
Citation Information
Patent Citations
Virtual network function migration method for digital twinning assisted dynamic resource demand prediction
CN116137593A
System and method of controlling operation of connected devices
US20180331782A1
Relocation of user equipment connection
US20230209428A1
Method and system for enhancing performance of a physical network under real-time control using simulation of a reference model
US7774440B1