Telemetry-based segment routing using machine learning

Through machine learning models, the processing of link load, network topology and deflection parameters is optimized, network routing is solved, network congestion problems caused by dynamic link load, and more efficient routing optimization and parameter determination are achieved.

CN119150493APending Publication Date: 2024-12-17NOKIA NETWORKS OY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410763196.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-16
Filing Date
2024-06-13
Publication Date
2024-12-17

AI Technical Summary

Technical Problem

Existing network routing policies are difficult to effectively handle dynamically changing link loads, resulting in network congestion problems, and prior art is difficult to determine a routing scheme that minimizes maximum link utilization.

Method used

Using the machine learning model, by receiving link load, network topology and deflection parameters as inputs, learning updated deflection parameters and dual variables to minimize the maximum link utilization in the network, providing a set of routing parameters for optimizing segment routing Strategy.

Benefits of technology

It improves the network's routing optimization efficiency, can handle dynamic link load more effectively, reduce network congestion, and enhances the learning and determination speed of routing parameters.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119150493A_ABST
    Figure CN119150493A_ABST
Patent Text Reader

Abstract

In some embodiments, a method may be provided that includes: receiving a measurement link load as a first input to a machine learning model; receiving information indicative of the network topology as a second input to the machine learning model; receiving at least one deflection parameter as a third input to the machine learning model; learning the first output through a machine learning model to provide at least one updated deflection parameter, wherein the at least one updated deflection parameter indicates a fraction number of traffic to be transmitted between the source node and the destination node and deflected through the intermediate node; and learning the second output by a machine learning model to provide a dual variable, the dual variable serving as an alternative to a traffic matrix that is originally capable of generating a measured link load measured for a link of the network.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The topics described in this article involve networking and machine learning. Background Art

[0002] Machine learning (ML) models can learn through training. ML models can take many forms, such as artificial neural networks (or simply neural networks), decision trees, etc. The training of ML models can be supervised (using labeled training data), semi-supervised, or unsupervised. Once trained, ML models can be used to perform reasoning tasks. Summary of the invention

[0003] In some embodiments, a method may be provided, the method comprising: receiving a measured link load measured for a link of a network as a first input to a machine learning model; receiving information indicating a network topology of the network as a second input to the machine learning model; receiving at least one deflection parameter as a third input to the machine learning model, wherein the at least one deflection parameter indicates a fraction of traffic currently being transmitted between a source node and a destination node and deflected through an intermediate node; learning a first output through the machine learning model to provide at least one updated deflection parameter, wherein the at least one updated deflection parameter indicates a fraction of traffic to be transmitted between the source node and the destination node and deflected through an intermediate node; and learning a second output through the machine learning model to provide a dual variable, the dual variable serving as a substitute for a traffic matrix that would otherwise be capable of generating a traffic matrix of the measured link load measured for a link of the network.

[0004] In some variants, one or more features disclosed herein (including the following features) may be optionally included in any feasible combination. The network topology may represent the amount of flow in one or more links of the network, the amount of flow being caused by a unit of flow sent between two nodes of the network. The learning of the first output and the second output may minimize an objective function, the objective function comprising a dual variable, at least one deflection parameter, a measured link load, and a penalty for implementing at least one constraint on the dual variable, and / or wherein the minimization of the objective function provides a set of deflection parameters for segment routing on the network. The learning of the first output may be repeated using at least one updated deflection parameter as a third input. The dual variable is used as a substitute for at least one traffic matrix, the at least one traffic matrix providing a minimum value of the maximum link utilization of the first link given the measured link load for the second link. The learning of the second output may be repeated to provide updates to the dual variable, the updated dual variable using different link pairs for the first link and the second link. The machine learning model comprises: a first layer of inputs, receiving at least the first input, the second input, and the third input; an intermediate layer; and an output layer comprising an objective function.

[0005] The above aspects and features can be implemented in systems, devices, methods and / or articles according to the desired configuration. The details of one or more variations of the subject matter described herein are set forth in the accompanying drawings and the following description. The features and advantages of the subject matter described herein will be apparent from the description and drawings as well as the claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0006] In the accompanying drawings,

[0007] Figure 1A depicts an example of a network management system including a machine learning (ML) model according to some embodiments;

[0008] Figure 1B Depicting an example of segment routing between nodes i and j using segments according to some embodiments;

[0009] Figure 1C depicts a single segment including a plurality of links according to some example embodiments;

[0010] Figure 1D depicts an example of a 2-hop segment according to some embodiments;

[0011] Figure 2 depicts an example of a machine learning (ML) model according to some embodiments;

[0012] Figure 3 depicts an example of a process for determining a routing solution using machine learning according to some embodiments;

[0013] Figure 4 depicts an example of an ML model according to some embodiments;

[0014] Figure 5 depicts an example of a network node according to some embodiments; and

[0015] Figure 6 An example of a computing system in accordance with some embodiments is depicted.

[0016] Like reference numbers are used to refer to the same or similar items in the drawings. DETAILED DESCRIPTION

[0017] For telemetry-based routing, measurements are collected from time to time at a device (such as a network management system). For example, the network management system can be a centralized management system that collects these measurements (such as link load measurements, etc.). The network management system can also collect other information, such as the topology of the network ("network topology"), the capacity of the links in the network ("link capacity"), the current routing paths used to route traffic from a given source to a destination, etc. Unlike link load measurements, which change relatively frequently over time and are therefore collected and measured, these other measurements may not be as dynamic and may be known (or knowable) to the network management system. Given the link load measurements and other information, the network management system can attempt to determine a routing strategy (also called a routing scheme) that minimizes congestion in the network ("network congestion"). The amount of network congestion can be measured using the maximum link utilization on a given link.

[0018] Figure 1A An example of a network management system 150 is depicted that collects telemetry information about a network 154 at 152, such as network topology, link weights, measured link load measurements, etc., and then the network management system outputs a routing policy at 156, such as a routing policy for segment routing of the network 154 ("segment routing policy"). The network 154 may include n nodes (represented as circles) connected via m physical links (depicted as lines between the nodes). Although Figure 1A An example of a network 156 is depicted, but this is merely an example as other numbers of nodes, links, and configurations thereof may be implemented.

[0019] The traffic transmitted between source node i and destination node j can be called d ij For example, routing on each hop between the source node and the destination node may use a routing protocol such as Equal Cost Multi-Path Routing (ECMP). In the case of ECMP, β ij (l) represents the amount of flow in link l if one unit of flow is sent from node i to node j.

[0020] exist Figure 1A In an example of , the network management system 150 includes one or more machine learning (ML) models, such as the ML model 160, which determines a routing scheme (e.g., routing parameters) that minimizes a maximum link utilization for any traffic matrix that may cause a measured link load L(l). The measured link load L on link l is referred to as L(l). In other words, given a measured link load L(l) on link l, the ML model 160 determines segment routing parameters that minimize a maximum link utilization (e.g., minimize congestion on link l) across any traffic matrix that may cause the measured link load L(l).

[0021] Regarding link utilization, when a unit of flow is sent from source node i to destination node j via intermediate node k, the routing parameter can represent the flow on link l. And the flow It can be calculated according to the ECMP parameter βij(l) as follows:

[0022]

[0023] The measured link load L(l) can be expressed as

[0024]

[0025] in It represents the amount of flow on link l when a unit of flow is sent from source node i to destination node j through intermediate node k. The current segment routing parameter is given by indicates that, and d ij represents the traffic transmitted between source node i and destination node j. The value used for βij(l) (and the corresponding ), and L(l)) are known to the network management system 150, but d ij (ie, traffic transmitted between source node i and destination node j) may be unknown to the network management system 150.

[0026] In addition, since the solution set of the traffic matrix is ​​unsolvable (eg, or infinite) given the measured link load, we can thus obtain ij The specific traffic matrix formed cannot be determined based on the measured link load L(l). For example, given a traffic flow β ij (l)(or ), the underlying physical routing of the current segment routing scheme (e.g., Dynamic Segment Routing (DSR), Secure DSR (SDSR)) and the current measured link load L(l), the traffic matrix set P(α, g, L) can be expressed as follows:

[0027]

[0028] The traffic matrix set P(α, g, L) represents the traffic matrix set that satisfies the equation, and the number of variables in the traffic matrix set is O(n 2 ), and the number of constraints is O(m), so there may be an infinite number of traffic matrices in the set P(α, g, L).

[0029] In some embodiments, a network management system 150 including at least one machine learning model 160 may be used to determine (using at least the link load L(l) measured on link l) a routing strategy (also referred to as a routing plan and / or a segment routing plan) including segment routing parameters (or ), the segment routing parameters minimize the maximum link utilization across or for any traffic matrix that may cause measured link load. As described above, β ij (l)(or ) indicates whether a given link l physically carries any traffic flow (e.g., using underlying routing such as a shortest path first scheme), while Indicates the current overlay routing scheme used by the segment.

[0030] However, the optimization problem 160 considering the ML model may be formulated as determining the traffic matrix in P(α, g, L) that maximizes the load on link l′, where different traffic matrices in P(α, g, L) may maximize the flow on link l′ for different links l′, but the dual of these optimization problems is used to find a routing strategy (e.g., Also known as ), which minimizes the maximum link load for any traffic matrix in P(α, g, L). Therefore, minimization of the objective function provides a set of deflection parameters for segment routing on the network (e.g., ).

[0031] Regarding the maximum link utilization on link l′, Denote a segment routing strategy (e.g., a scheme) that minimizes the maximum link utilization for any traffic matrix in P(α, g, L). Maximizing the traffic matrix in P(α, g, L) upstream of link l′ can be expressed as the following optimization problem:

[0032]

[0033] The variable in the traffic matrix is ​​d ij ,and is the segment routing strategy (also known as ), and the traffic matrix d ij Not relevant.

[0034] However, the dual of the maximum link utilization on link l' can be implemented using the dual variable π(l, l'). Here the dual is derived from the primal maximization of Eq. 4-5, such that the variables in the primal become constraints in the dual, the constraints in the primal become variables in the dual, and the target direction is reversed so that the maximum in the primal becomes the minimum in the dual. The dual variable π(l, l') is associated with the link measurement constraint (e.g., the measured link load L(l)), so the dual can be written as

[0035]

[0036] in addition, Satisfy the following linear constraints

[0037]

[0038] The 160 dual objective function of the ML model is ∑ l The minimum value (min) of L(l)π(l,l′) is equal to the original objective function (i.e., the maximum utilization of link l′), so the objective function is as follows:

[0039]

[0040] It can be expressed as follows to transform the objective function so that it is linear:

[0041]

[0042] Also, the activity function of the ML model 160 (e.g., rectified linear unit ReLU(x)) can be represented by x + Therefore, the best routing solution The determination can be expressed as follows:

[0043]

[0044] where the value of λ is chosen to ensure the constraint

[0045]

[0046] is satisfied. λ represents a penalty to ensure that the inequality constraint is satisfied. For example, since π(l,l′) is constrained, there are no additional constraints, and the ML model 160 can learn to solve the objective function using an ML model (e.g., via gradient descent learning).

[0047] Before providing additional description regarding the ML model 160, additional description regarding routing and segment routing between nodes is provided below. To route traffic on the network 154, each physical link in the network 154 may have an associated link metric (also referred to as a link weight or link cost). For example, to route from node i to node j of the network, the network may route traffic based on an underlying routing scheme, such as a shortest path (e.g., a minimum weight path) or an Open Shortest Path First (OSPF) protocol between two nodes, such as node i and node j. The shortest path may be determined using the link metrics of the physical links between nodes i and j. For example, each node along the path between nodes i and j may check the destination address of a packet and may then forward the packet to the destination node j based on the shortest path (determined based on the link metrics). The physical flow of traffic in the underlying routing may be determined by the shortest path (e.g., the minimum weight path) or the Open Shortest Path First (OSPF) protocol between two nodes, such as node i and node j. and / or βij(l) indication.

[0048] In the case of segment routing as an overlay routing scheme on top of underlying routing, traffic is also routed based on segments. With segment routing, one or more segments between a source and a destination are specified from the source node to the destination node, but the physical link (or links) within a given segment can use shortest path routing. In the case of shortest path routing, routing can also be based on, for example, equal cost multi-path routing (ECMP). In ECMP, packets are forwarded to a given destination via multiple "equal" cost best paths using equal routing priorities.

[0049] Figure 1B Depicts an example of segment routing between nodes i and j using segments. Figure 1B In the example of , there is a first segment 102A between node i 110A and node k 110B, and there is a second segment 102B between node k 110B and node j 110C (where node k may be referred to as an intermediate node or a deflection node). Within a given segment (such as segment 102A or 102B), shortest path routing may be used to determine a physical link l (e.g., an underlying physical link) used to transmit traffic (such as packet 106). Formally, a segment may represent a minimum weight path between a pair of nodes. For example, a segment between nodes i and j may be a minimum weight path between nodes i and j, where the minimum weight path is calculated using a link metric.

[0050] refer to Figure 1B108B. The segment tag specifies to node i 110A that packet 106 will be forwarded to destination node j 110C via segment 102A-B, but deflected via intermediate node k 110B, and the physical links (within the segment) and associated link metrics can be selected through the links of segment 102A-B using a shortest path algorithm. For example, within each segment, shortest path routing can be used to determine a path through the physical links to transmit packet 106 to intermediate node k 110B.

[0051] To further illustrate by numerical example, the traffic flow through a segment between nodes i and j ("segment traffic flow") may be represented as follows:

[0052]

[0053] The segment traffic flow is φ ij , which is the total amount of traffic on the segment between node i and node j, and the deflection parameter is and (Also referred to as segment routing parameters above and / or ), and d kj (t) and d ik (t) indicates the traffic demand (which is obtained from the traffic matrix). In other words, the amount of traffic diverted via node k (which is between node i and node j) is a function of the diversion parameter and the amount of traffic on the segment. For example, for With a deflection parameter of 0.75, given a traffic demand of 10 Gigabytes between nodes i and j, the amount of traffic flowing on the segment via node k will be 7.5 Gigabytes. With respect to equation 18, for the segment between nodes i and j, the amount of traffic flowing on the segment is calculated, and the traffic flow takes into account that the segment may be the second hop 168A of a two-hop segment and the first hop 168B of a two-hop segment, as Figure 1D shown.

[0054] Figure 2 An example of a machine learning (ML) model 160 according to some embodiments is depicted. Specifically, Figure 2 Depicting the training of the ML model 160 such that the ML model determines the segment routing parameters The segment routing parameters minimize the maximum link utilization across any traffic matrix that could result in a given, measured link load L(l).

[0055] At 202, according to some embodiments, the ML model 160 may receive as input a measured link load measured for a link of a network (e.g., a second link l). For example, the machine learning model may receive a measured link load L(l) 202 for link l of a network (such as network 154). To further illustrate, the network 154 may include one or more links, and the network management system 150 including the ML model 160 may receive a link load measurement L(l) for the second link l. To further illustrate, given link l, the link load for link l may be measured as 10 megabits per second (Mbps), so in this example, the measured link load for link l is 10 Mbps (e.g., L(l)=10 Mbps). The measured link load (e.g., for one or more links, if not some or all links in the network) may be measured from time to time and reported to the network management system 150, so the most recently measured link load may be referred to as the current measured link load.

[0056] At 204, according to some embodiments, the ML model 160 may receive as input information about the amount of flows on a link between a source node and a destination node of the network. For example, the ML model 160 may receive the amount of flows, where the number of flows 204 may be represented as β ij (l), which represents the amount of flow in link l if one unit of flow is sent from node i to node j. Therefore, β ij (l) represents the underlying topology of the links and the underlying routing of the network.

[0057] For example, refer to Figure 1B , segment 102A-B corresponds to a pair of nodes node i 110A and node j 110C, and intermediate node k 110B. In this example, a segment may include one or more links (e.g., physical links), and these links may each be associated with link information (e.g., mapped to link information). For example, the link information may include information for β ij The link information may include one or more values ​​of (l) indicating the fractional amount of traffic carried on link l when the traffic is routed on the segment from node i to node j, although the link information may also include other link information such as the capacity of the link ("link capacity") and / or other types of link information including characteristics. The amount of traffic on link l, β ij (l) may correspond to the underlying routing parameters. For example, within each segment, minimum hop routing with ECMP may be used between the links of the segment for routing.

[0058] Figure 1CA segment between nodes i and j including multiple links is depicted, where the nodes are represented by circles and the links are represented by lines coupling the nodes. Links correspond to physical links or connections between nodes of the network, such that node i can communicate with node j only if one or more links exist between nodes i and j. The fraction of traffic carried by a given link (e.g., if a unit of flow is sent from node i to node j) is represented by βij(l). For example, link 275A carries all of the traffic for the segment, link 275B carries half of the segment traffic destined for node j, and the other half of the segment traffic is carried by link 275C, and so on (e.g., a segment-to-link mapping appears next to each link). The segment-to-link mapping βij(l) is represented by the segment-to-link mapping βij(l). ij (l) (e.g., 1, 1 / 2, 1 / 2, 1 / 2, 1 / 4, 1 / 4, and 3 / 4) define the underlying or physical link layer flows and routes between nodes for the segment between nodes i and j. Therefore, the segment-to-link mapping parameter β ij (l) describes the underlying or physical link layer flow on the link, and thus describes which portion of the segment traffic flow is carried by the corresponding link of the segment. In other words, βij(l) indicates the fraction of traffic from source i to destination j that is routed on a given link l (such as link l275A, link l275B, etc.).

[0059] Reference again Figure 2 According to some embodiments, the ML model 160 may receive at least one deflection parameter as input, as shown at 206. The deflection parameter (also referred to as a segment routing parameter above) and / or ) indicates the fraction of traffic that is transmitted on a segment (eg, overlay route) between a source node and a destination node and is deflected through an intermediate node. For example, the deflection parameter 206 (which may also be referred to as a segment routing parameter or scheme) may be composed of Denote , where i is a source node, j is a destination node, and k is an intermediate node. To further illustrate, the deflection parameter may indicate a current overlay (or segment) route between source node j and destination node k via a deflection (or route) for intermediate node k.

[0060] Given the inputs at 202, 204, and 206, the ML model 160 may learn a first output that includes new or updated deflection parameters (where the new deflection parameters indicate the fractional amount of traffic to be transmitted between the source node and the destination node and deflected on the segment through the intermediate nodes), and may learn a dual variable as a second output. For example, the ML model may minimize the objective function at 250, and the outputs may be fed back at 254A / 254B as part of back-propagation to learn new or updated deflection parameters at 256, and 254B may be fed back as part of back-propagation to learn the dual variable π(l,l'). In other words, the output at 250 is used to allow the ML model 160 to learn the deflection parameter(s) (e.g., segment routing parameters ) and a dual variable π(l,l′), where the deflection parameter(s) define a routing scheme for the network (e.g., a routing scheme using “covered” segments).

[0061] The 160 objective function of the ML model at 250 corresponds to the following

[0062]

[0063] in Figure 2 M 245 in represents a given measured link load L(l), the minimum value of the dual variable π(l,l') is expressed as follows

[0064]

[0065] and Figure 2 P 247 in corresponds to the above penalty, which is

[0066]

[0067] In other words, the learning performed by the ML model is not sufficient for the first output (corresponding to (Eq. 19) and provide (multiple) new or updated deflection parameters) for learning and for learning the second output (corresponding to the dual variable π(l,l')).

[0068] The dual variables π(l, l') of equations 19 and 20 are used in the objective function for the ML model 160 and, as described above, are derived from the original maximization objective function of equations 4-5. In addition, the dual variable π(l, l') is a function of the link pair l, l'. For example, if there are 20 links l in the network, there are 20x 20 (e.g., 400) link pairs l, l'. The use of link pairs l, l' in the network is used to converge the solution set, so given an infinite number of traffic matrices that can generate the measured link load L(l), the link pairs l, l' enable the ML model to find a solution. In other words, the dual variable π(l, l') provides a substitute for the worst-case traffic matrix in a sense, which can load the link l' while confirming the traffic flow on the measured link load L(l). As described above, link l is a link for which we have a link load measurement, and l' is another link for which we try to minimize the maximum link load for any traffic matrix in P(α, g, L).

[0069] The first output 254A and the second output 254B are used as part of the learning at 254A-B (in this example, the ML model 160 using back-propagation), so the ML model 160 uses the new or updated Repeat the iterations using another link pair (l,l') for the dual variable π(l,l') at 252 as the overlay deflection parameter at 256. The first and second outputs are updated using backpropagation and π(l,l') values, so that the objective function is reduced. In this way, the ML model converges to until the ML model determines the routing parameters So far, the routing parameters minimize the maximum link utilization for the traffic matrix that may cause the measured link load L(l).

[0070] Referring again to Equation 21, the only unknown variable is Therefore, the ML model 160 can use Equation 21 as the loss (or objective function), so the only unknown variable that can be adjusted by the ML learning model 160 to affect the result is the deflection parameter For example, backpropagation and gradient descent may be used to train an ML model by updating the weights of the ML model to minimize a loss function, such as Equation 21.

[0071] Figure 3 An example of a process for training an ML model according to some embodiments is depicted, such that the ML model learns a routing solution. Figure 3 In the example, the ML model 160 is trained to determine the segment routing parameters The routing parameters minimize the maximum link utilization across any traffic matrix that could result in a given measured link load L(l).

[0072] At 305, according to some embodiments, the ML model may receive as a first input a measured link load measured for a link (e.g., a second link l) of the network. For example, the ML model 160 may receive as a first input a measured link load L(l) for at least link l of the network 154, such as Figure 2 As shown in 202.

[0073] At 307, the ML model may receive information about the network topology of the network as a second input. For example, the network topology may be represented by the amount of flow in one or more links of the network caused by one unit of flow sent between two nodes of the network. To further illustrate, Figure 2 The ML model 160 shown in FIG. 1 may receive information about the network topology of the network as quantities of flow (such as β ij (l)) as the second input. Figure 1C The amount of flow (such as β ij (l)) indicates not only the topology of the network, but also the underlying routing used for the links within the segment. Figure 1C In the example of , the fractional amount indicates the amount of flow sent between nodes i and j caused by one unit of flow sent between two nodes of the network, so for example link 275B transmits half of the flow between nodes i and j (while with β ij Links with (l) zero do not carry any flows and are therefore not part of the topology and routing between nodes i and j).

[0074] At 309, according to some embodiments, the ML model may receive at least one deflection parameter as a third input, wherein the at least one deflection parameter indicates a fraction of traffic currently being transmitted between the source node and the destination node and being deflected through the intermediate node. For example, the ML model 160 may receive at least one deflection parameter as a third input, such as As described above at 206, where i is the source node, j is the destination node, and k is the intermediate node. Figure 1B The deflection parameter(s) represent overlay or segment routing parameters currently being used on the network.

[0075] At 311, according to some embodiments, the ML model may learn a first output that provides at least one updated deflection parameter, wherein the at least one updated deflection parameter indicates a fractional amount of traffic to be transmitted between the source node and the destination node and deflected through the intermediate node. For example, the ML model 160 may learn a first output that includes a new or updated deflection parameter (of Equation 19) To further illustrate, given the inputs at 202, 204, and 206, the ML model may minimize the objective function at 250 (see, e.g., Equation 19), and the output at 260 is fed back 254A as part of backpropagation to provide (as part of learning via gradient descent) new or updated deflection parameters at 256 The deflection parameter Provides routing schemes or parameters for segment routing on a network.

[0076] According to some embodiments, at 313, the ML model may learn a second output to provide a dual variable that serves as a substitute for a traffic matrix that would otherwise be capable of generating a measured link load measured for at least one link of the network. For example, the ML model 160 may learn a second output including a dual variable π(l,l'). The dual variable π(l,l') provides a substitute for the traffic matrix during optimization. For example, to further illustrate, given the inputs at 202, 204, and 206, the ML model may minimize the objective function at 250 (see, e.g., Equation 19), and the output is feedback 254B as part of backpropagation to provide (as part of learning via gradient descent) an updated dual variable π(l,l') at 256. As described above, the updated dual variable acts as a substitute for the traffic matrix that provides a minimum value of the maximum link utilization of the first link (l') given the measured link load for the second link (l). In short, the learning at 311 and 312 is used to determine (given at least a measured link load L(l) on link l) a segment routing scheme (e.g., one or more segment routing parameters ), the segment routing scheme minimizes the maximum link utilization across or for any traffic matrix that may cause a measured link load L(=l) on link (l) using the dual variable π(l,l′).

[0077] The learning at 311 and 313 uses the objective function (M+λP) at 250, which includes dual variables π(l,l′), at least one deflection parameter, measured link load, and a penalty (P at 247) that enforces at least one constraint on the dual variables (e.g., λ as described in Equation 17).

[0078] After learning provides at least one deflection parameter and dual variable, learning is repeated to generate additional deflection parameters and dual variables until the objective function at 254 converges to provide an optimal set of deflection parameters for the links of the network (e.g., optimal in the sense that they provide a minimum of maximum link utilization for the first link (l') given a measured link load for the second link (=l)). In other words, the ML learns and outputs an optimal set of deflection parameters that define an overlay or segment routing on the network. Additionally, when the dual variables are updated as part of the learning, the updated dual variables use different link pairs for the first link (l') and the second link (l).

[0079] exist Figure 2 In the example of FIG. 1 , the first layer of the ML model 160 includes an input layer, such as a first input including a measured link load 202, and a second input including information about the amount of flow (e.g., β ij (l)), the third input includes at least one deflection parameter (e.g., and / or ). The input layer may also include dual variables 252 and new or updated As the overlay deflection parameter 256. The output layer of the ML model 160 includes the objective function (M+λP) at 250. As previously described, the intermediate layer 269 determines the intermediate results used at 250 for (M+λP).

[0080] Figure 4 An example of an ML model 400 according to some embodiments is depicted. The ML model 400 may be used as the ML model 160. An input layer 410 may include a node for each node in the network. The ML model may include one or more hidden layers 415A-B (also referred to as intermediate layers) and an output layer 420. The machine learning model 400 may be included in a network node, a user device, and / or other computer-based system. Alternatively, or in addition, the ML model may be provided as a service, such as a cloud service (accessible at a computing system such as a server via a network such as the Internet or other type of network).

[0081] Figure 5 A block diagram of a network node 500 according to some embodiments is depicted. As previously described, the machine learning model 400 or 160 (and / or the network management system 150) may be included in the network node. The network node 500 may include or be included in one or more network-side nodes or functions.

[0082] According to some embodiments, the network node 500 may include a network interface 502, a processor 520, and a memory 504. The network interface 502 may include a wired and / or wireless transceiver to enable access to other nodes, including base stations, other network nodes, the Internet, other networks, and / or other nodes. The memory 504 may include volatile and / or non-volatile memory containing program code that, when executed by at least one processor 520, provides, among other things, the processes disclosed herein. For example, the network management system 150 and / or the ML model 160 may be included in the network node.

[0083] Figure 6 1 depicts a block diagram of a computing system 700 according to some embodiments. For example, the network management system 150 and / or the ML model 160 (or 400) may be included in the system 700. Figure 6 As shown, the computing system 700 may include a processor 710, a memory 720, a storage device 730, and an input / output device 740. The processor 710, the memory 720, the storage device 730, and the input / output device 740 may be interconnected via a system bus 750. The processor 710 is capable of processing instructions to be executed within the computing system 700. In some implementations of the current subject matter, the processor 710 may be a single-threaded processor. Alternatively, the processor 710 may be a multi-threaded processor. The processor may be a multi-core processor or a single-core processor having multiple processors. Alternatively, or in addition, the processor 710 may be a graphics processor unit (GPU), an AI chip, etc. The processor 710 is capable of processing instructions stored in the memory 720 and / or on the storage device 730 to display graphical information for a user interface provided via the input / output device 740. The memory 720 is a computer-readable medium, such as volatile or non-volatile, which stores information within the computing system 700. For example, the memory 720 may store a data structure representing a configuration object database. Storage device 730 can provide persistent storage for computing system 700. Storage device 730 can be a floppy disk device, a hard disk device, an optical disk device or a magnetic tape device, or other suitable persistent storage components. Input / output device 740 provides input / output operation for computing system 700. In some implementations of current theme, input / output device 740 includes a keyboard and / or a click device. In various implementations, input / output device 740 includes a display unit for displaying a graphical user interface. According to some implementations of this theme, input / output device 740 can provide input / output operation for network equipment. For example, input / output device 740 can include an Ethernet port or other network ports to communicate with one or more wired and / or wireless networks (e.g., local area network (LAN), wide area network (WAN), the Internet).

[0084] Without limiting the scope, interpretation, or application of the following claims in any way, the technical effects of one or more of the example embodiments disclosed herein may include enhancing optimization of a network so that the network can more efficiently route traffic (e.g., using routing parameters for segment routing). Alternatively, or in addition, the technical effects of one or more of the example embodiments disclosed herein may include enhancing the speed of learning and / or determining routing parameters for segment routing.

[0085] In view of the implementation of the above-mentioned subject matter, the present application discloses the following list of examples, wherein one feature of the example alone or more than one feature combination of the example and optionally combined with one or more features of one or more additional examples are additional examples that also fall within the scope of the disclosure of the present application.

[0086] Example 1: A method comprising: receiving a measured link load measured for a link of a network as a first input to a machine learning model; receiving information indicating a network topology of the network as a second input to the machine learning model; receiving at least one deflection parameter as a third input to the machine learning model, wherein the at least one deflection parameter indicates a fraction of traffic currently being transmitted between a source node and a destination node and deflected through an intermediate node; learning a first output through the machine learning model to provide at least one updated deflection parameter, wherein the at least one updated deflection parameter indicates a fraction of traffic to be transmitted between the source node and the destination node and deflected through an intermediate node; and learning a second output through the machine learning model to provide a dual variable, the dual variable serving as a substitute for a traffic matrix that would otherwise be capable of generating the measured link load measured for a link of the network.

[0087] Example 2: The method of Example 1, wherein the network topology represents an amount of flow in one or more links of the network, the amount of flow caused by one unit of flow sent between two nodes of the network.

[0088] Example 3: The method of any of Examples 1 to 2, wherein the learning of the first output and the second output minimizes an objective function, the objective function comprising a dual variable, at least one deflection parameter, a measured link load, and a penalty for implementing at least one constraint on the dual variable, and / or wherein minimization of the objective function provides a set of deflection parameters for segment routing on the network.

[0089] Example 4: The method of any of Examples 1 to 3, further comprising: repeating the learning of the first output using at least one updated deflection parameter as a third input.

[0090] Example 5: The method of any one of claims 1 to 4, wherein the dual variable is used as a substitute for at least one traffic matrix that provides a minimum value of the maximum link utilization of the first link given a measured link load for the second link.

[0091] Example 6: The method of any one of claims 1 to 5, further comprising: repeating the learning of the second output to provide an update to the dual variable, the updated dual variable using a different link pair for the first link and the second link.

[0092] Example 7: The method of any one of claims 1 to 6, wherein the machine learning model comprises: a first layer of inputs that receives at least a first input, a second input, and a third input; intermediate layers; and an output layer that includes an objective function.

[0093] Example 8: An apparatus comprises: at least one processor; and at least one memory comprising instructions that, when executed by the at least one processor, cause operations comprising: receiving a measured link load measured for a link of a network as a first input to a machine learning model; receiving information indicating a network topology of the network as a second input to the machine learning model; receiving at least one deflection parameter as a third input to the machine learning model, wherein the at least one deflection parameter indicates a fraction of traffic currently being transmitted between a source node and a destination node and deflected through an intermediate node; learning a first output through the machine learning model to provide at least one updated deflection parameter, wherein the at least one updated deflection parameter indicates a fraction of traffic to be transmitted between the source node and the destination node and deflected through an intermediate node; and learning a second output through the machine learning model to provide a dual variable, the dual variable serving as a substitute for a traffic matrix that would otherwise be capable of generating the measured link load measured for a link of the network.

[0094] Example 9: The apparatus of Example 8, wherein the network topology represents an amount of flow in one or more links of the network, the amount of flow caused by one unit of flow being sent between two nodes of the network.

[0095] Example 10: An apparatus of any of Examples 8 to 9, wherein learning of the first output and the second output minimizes an objective function, the objective function comprising a dual variable, at least one deflection parameter, a measured link load, and a penalty for implementing at least one constraint on the dual variable, and / or wherein minimization of the objective function provides a set of deflection parameters for segment routing on the network.

[0096] Example 11: The apparatus of any of Examples 8 to 10, wherein the operations further comprise: repeating the learning of the first output using at least one updated deflection parameter as a third input.

[0097] Example 12: The apparatus of any one of Examples 8 to 11, wherein the dual variable is used as a substitute for at least one traffic matrix that provides a minimum value of the maximum link utilization of the first link given a measured link load for the second link.

[0098] Example 13: The apparatus of any one of Examples 8 to 12, further comprising: repeating the learning of the second output to provide an update to the dual variable, the updated dual variable using different link pairs for the first link and the second link.

[0099] Example 14: An apparatus of any one of Examples 8 to 13, wherein the machine learning model comprises: a first layer of input, receiving at least a first input, a second input, and a third input; an intermediate layer; and an output layer comprising an objective function.

[0100] Example 15: A non-transitory computer-readable storage medium comprising instructions that, when executed by at least one processor, cause operations comprising: a component for receiving a measured link load measured for a link of a network as a first input to a machine learning model; a component for receiving information indicating a network topology of the network as a second input to the machine learning model; a component for receiving at least one deflection parameter as a third input to the machine learning model, wherein the at least one deflection parameter indicates a fraction of traffic currently being transmitted between a source node and a destination node and deflected through an intermediate node; a component for learning a first output through the machine learning model to provide at least one updated deflection parameter, wherein the at least one updated deflection parameter indicates a fraction of traffic to be transmitted between the source node and the destination node and deflected through an intermediate node; and a component for learning a second output through the machine learning model to provide a dual variable, the dual variable being used as a substitute for a traffic matrix that would otherwise be capable of generating the measured link load measured for the link of the network.

[0101] Example 16: An apparatus comprising: a component for receiving a measured link load measured for a link of a network as a first input to a machine learning model; a component for receiving information indicating a network topology of the network as a second input to the machine learning model; a component for receiving at least one deflection parameter as a third input to the machine learning model, wherein the at least one deflection parameter indicates a fraction of traffic currently being transmitted between a source node and a destination node and deflected through an intermediate node; a component for learning a first output through the machine learning model to provide at least one updated deflection parameter, wherein the at least one updated deflection parameter indicates a fraction of traffic to be transmitted between the source node and the destination node and deflected through an intermediate node; and a component for learning a second output through the machine learning model to provide a dual variable, the dual variable being used as a substitute for a traffic matrix that would otherwise be capable of generating the measured link load measured for the link of the network.

[0102] Example 17: The apparatus according to claim 16 further comprises a component for performing any function described in any one of claims 1 to 7.

[0103] The subject matter described herein may be embodied in a system, apparatus, method and / or article according to the desired configuration. For example, the base station and user equipment (or one or more components thereof) and / or the process described herein may be implemented using one or more of the following: a processor that executes program code, an application-specific integrated circuit (ASIC), a digital signal processor (DSP), an embedded processor, a field programmable gate array (FPGA), and / or a combination thereof. These various implementations may include implementations in one or more computer programs that may be executed and / or interpreted on a programmable system that includes at least one programmable processor that may be dedicated or general-purpose, coupled to receive data and instructions from a storage system, at least one input device, and at least one output device, and to send data and instructions thereto. These computer programs (also referred to as programs, software, software applications, applications, components, program codes, or codes) include machine instructions for programmable processors and may be implemented in high-level procedures and / or object-oriented programming languages ​​and / or assembly / machine languages. As used herein, the term "computer-readable medium" refers to any computer program product, machine-readable medium, computer-readable storage medium, apparatus, and / or device (e.g., disk, optical disk, memory, programmable logic device (PLD)) used to provide machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions. Similarly, systems that may include a processor and a memory coupled to the processor are also described herein. The memory may include one or more programs that cause the processor to perform one or more operations described herein.

[0104] Although some variations have been described in detail above, other modifications or additions are possible. Specifically, in addition to the features and / or variations described herein, additional features and / or variations may also be provided. In addition, the above implementations may be directed to various combinations and subcombinations of the disclosed features and / or combinations and subcombinations of several additional features disclosed above. Other embodiments may be within the scope of the following claims.

[0105] If desired, the different functions discussed herein may be performed in a different order and / or concurrently with each other. In addition, if desired, one or more of the above functions may be optional or may be combined. Although various aspects of some embodiments are set forth in the independent claims, other aspects of some embodiments include other combinations of features of the embodiments and / or dependent claims with features of the independent claims, rather than just the combinations explicitly set forth in the claims. It is also noted herein that although example embodiments are described above, these descriptions should not be considered restrictive. On the contrary, several variations and modifications may be made without departing from the scope of some embodiments defined in the appended claims. Other embodiments may be within the scope of the following claims. The term "based on" includes "at least based on". Unless otherwise stated, the use of the phrase "such as" means "such as, for example".

Claims

1. A method for communication, comprising: receiving, as a first input to a machine learning model, a measured link load measured for a link of a network; receiving information indicating a network topology of the network as a second input to the machine learning model; receiving at least one deflection parameter as a third input to the machine learning model, wherein the at least one deflection parameter indicates: a fraction of traffic currently being transmitted between a source node and a destination node and being deflected through an intermediate node; learning the first output by the machine learning model to provide at least one updated deflection parameter, wherein the at least one updated deflection parameter indicates: the fractional amount of traffic to be transmitted between the source node and the destination node and deflected through the intermediate node; as well as A second output is learned by the machine learning model to provide a dual variable that serves as a substitute for a traffic matrix that would otherwise be capable of generating the measured link loads measured for the links of the network. 2 . The method of claim 1 , wherein the network topology represents an amount of flow in one or more links of the network, the amount of flow being caused by one unit of flow being sent between two nodes of the network.

3. The method of claim 1 , wherein the learning of the first and second outputs minimizes an objective function comprising the dual variables, the at least one deflection parameter, the measured link load, and a penalty for enforcing at least one constraint on the dual variables, and / or wherein the minimization of the objective function provides a set of deflection parameters for segment routing on the network.

4. The method according to claim 1, further comprising: The learning of the first output is repeated using the at least one updated deflection parameter as the third input.

5. The method of claim 1, wherein the dual variable is used as a substitute for at least one traffic matrix, the at least one traffic matrix providing a minimum value of a maximum link utilization of a first link given the measured link load for a second link.

6. The method according to claim 5, further comprising: The learning of the second output is repeated to provide updates to the dual variables, the updated dual variables using different link pairs for the first link and the second link.

7. The method of claim 1, wherein the machine learning model comprises: An input first layer receiving at least the first input, the second input and the third input; an intermediate layer; and an output layer including an objective function.

8. An apparatus for communication, comprising: at least one processor; as well as at least one memory including instructions that, when executed by the at least one processor, cause operations comprising: receiving, as a first input to a machine learning model, a measured link load measured for a link of a network; receiving information indicating a network topology of the network as a second input to the machine learning model; receiving at least one deflection parameter as a third input to the machine learning model, wherein the at least one deflection parameter indicates: a fraction of traffic currently being transmitted between a source node and a destination node and being deflected through an intermediate node; learning the first output by the machine learning model to provide at least one updated deflection parameter, wherein the at least one updated deflection parameter indicates: the fractional amount of traffic to be transmitted between the source node and the destination node and deflected through the intermediate node; and A second output is learned by the machine learning model to provide a dual variable that serves as a substitute for a traffic matrix that would otherwise be capable of generating the measured link loads measured for the links of the network.

9. The apparatus of claim 8, wherein the network topology represents an amount of flow in one or more links of the network, the amount of flow caused by one unit of flow being sent between two nodes of the network.

10. The apparatus of claim 8, wherein the learning of the first and second outputs minimizes an objective function comprising the dual variables, the at least one deflection parameter, the measured link load, and a penalty for enforcing at least one constraint on the dual variables, and / or wherein the minimization of the objective function provides a set of deflection parameters for segment routing on the network.

11. The apparatus of claim 8, wherein the operations further comprise: The learning of the first output is repeated using the at least one updated deflection parameter as the third input.

12. The apparatus of claim 8, wherein the dual variable is used as a substitute for at least one traffic matrix that provides a minimum value of a maximum link utilization for a first link given the measured link load for a second link.

13. The apparatus according to claim 12, further comprising: The learning of the second output is repeated to provide updates to the dual variables, the updated dual variables using different link pairs for the first link and the second link.

14. The apparatus of claim 8, wherein the machine learning model comprises: An input first layer receiving at least the first input, the second input and the third input; an intermediate layer; and an output layer including an objective function.

15. A non-transitory computer-readable storage medium comprising instructions that, when executed by at least one processor, cause operations comprising: means for receiving, as a first input to a machine learning model, a measured link load measured for a link of a network; means for receiving, as a second input to the machine learning model, information indicative of a network topology of the network; means for receiving at least one deflection parameter as a third input to the machine learning model, wherein the at least one deflection parameter indicates: a fraction of traffic currently being transmitted between a source node and a destination node and being deflected through an intermediate node; means for learning the first output by the machine learning model to provide at least one updated deflection parameter, wherein the at least one updated deflection parameter indicates: the fractional amount of traffic to be transmitted between the source node and the destination node and deflected through the intermediate node; as well as Means for learning a second output by the machine learning model to provide a dual variable, the dual variable serving as a substitute for a traffic matrix that would otherwise be capable of generating the measured link loads measured for the links of the network.

16. An apparatus for communication, comprising: means for receiving, as a first input to a machine learning model, a measured link load measured for a link of a network; means for receiving, as a second input to the machine learning model, information indicative of a network topology of the network; means for receiving at least one deflection parameter as a third input to the machine learning model, wherein the at least one deflection parameter indicates: a fraction of traffic currently being transmitted between a source node and a destination node and being deflected through an intermediate node; means for learning the first output by the machine learning model to provide at least one updated deflection parameter, wherein the at least one updated deflection parameter indicates: the fractional amount of traffic to be transmitted between the source node and the destination node and deflected through the intermediate node; as well as Means for learning a second output by the machine learning model to provide a dual variable, the dual variable serving as a substitute for a traffic matrix that would otherwise be capable of generating the measured link loads measured for the links of the network.