In some embodiments, there may be provided a method that includes receiving, as a first input to a first machine learning model, at least a first traffic matrix indicative of an amount of traffic routed among at least one node pair of an overlay network; receiving, as a second input to the first machine learning model, information indicative of overlay network routing among the at least one node pair of the overlay network; receiving, as a third input to the first machine learning model, measured delay between the at least one node pair of the overlay network; and learning, by the first machine learning model, a representation of an underlay network, the learning using a minimization of a difference between an average delay in the underlay network and the measured delay between the at least one node pair of the overlay network.
Legal claims defining the scope of protection, as filed with the USPTO.
receiving, as a first input to a first machine learning model, at least a first traffic matrix indicative of an amount of traffic routed among node pairs of an overlay network layered on an underlay network; receiving, as a second input to the first machine learning model, information indicative of overlay network routing among the node pairs of the overlay network; receiving, as a third input to the first machine learning model, measured delay between the node pairs of the overlay network; learning, by the first machine learning model, a representation of the underlay network, the learning using a minimization of a difference between an average delay between node pairs of the underlay network and the measured delay between the node pairs of the overlay network, wherein the average delay between the node pairs of the underlay network is a function of the average delay between the node pairs of the overlay network; and outputting, by the first machine learning model, the representation of the underlay network; wherein decision variables in the learning of the first machine learning model comprise parameters of the underlay network, and the learning comprises varying the parameters until the difference converges to a minimum difference. . A method comprising:
claim 1 the parameters comprise background traffic in the underlay network. . The method of, wherein:
claim 1 the parameters comprise underlay network routing in the underlay network. . The method of, wherein:
claim 1 learning, by a second machine learning model, one or more routing parameters for the overlay network, the learning using at least one of a representation of underlay network routing in the underlay network or a representation of background traffic in the underlay network. . The method offurther comprising:
claim 1 receiving, as a first input to a second machine learning model, at least a second traffic matrix for the overlay network. . The method offurther comprising:
claim 5 receiving, as a second input to the second machine learning model, a representation of underlay network routing in the underlay network. . The method offurther comprising:
claim 6 receiving, as a third input to the second machine learning model, a representation of background traffic in the underlay network. . The method offurther comprising:
claim 7 learning, by the second machine learning model, a representation of one or more routing parameters for the overlay network by minimizing a mean delay over the node pairs of the overlay network. . The method offurther comprising:
claim 8 outputting, by the second machine learning model, the representation of the one or more routing parameters for the overlay network to enable configuring routing in the overlay network. . The method offurther comprising:
claim 8 . The method of, wherein the second machine learning model includes an input layer to receive the second traffic matrix for the overlay network, the representation of the underlay network routing in the underlay network, and the representation of the background traffic in the underlay network, an intermediate layer to determine one or more intermediate values for one or more segment flows, one or more link flows, one or more link delays, and one or more computed delays, and an output layer to output the representation of the one or more routing parameters for the overlay network to enable configuring routing in the overlay network.
claim 1 . The method of, wherein the first machine learning model includes an input layer to receive the first input, the second input, and the third input, an intermediate layer to determine one or more intermediate values for one or more segment flows, one or more link delays, and one or more computed delays, and an output layer to output the representation of the underlay network.
at least one processor; and receiving, as a first input to a first machine learning model, at least a first traffic matrix indicative of an amount of traffic routed among node pairs of an overlay network layered on an underlay network; receiving, as a second input to the first machine learning model, information indicative of overlay network routing among the node pairs of the overlay network; receiving, as a third input to the first machine learning model, measured delay between the node pairs of the overlay network; learning, by the first machine learning model, a representation of the underlay network, the learning using a minimization of a difference between an average delay between node pairs of the underlay network and the measured delay between the node pairs of the overlay network, wherein the average delay between the node pairs of the underlay network is a function of the average delay between the node pairs of the overlay network; and at least one memory including instructions, which when executed by the at least one processor causes operations comprising: outputting, by the first machine learning model, the representation of the underlay network; wherein decision variables in the learning of the first machine learning model comprise parameters of the underlay network, and the learning comprises varying the parameters until the difference converges to a minimum difference. . An apparatus comprising:
claim 12 the parameters comprise background traffic in the underlay network. . The apparatus of, wherein:
claim 12 the parameters comprise underlay network routing in the underlay network. . The apparatus of, wherein:
claim 12 learning, by a second machine learning model, one or more routing parameters for the overlay network, the learning using at least one of a representation of underlay network routing in the underlay network or a representation of background traffic in the underlay network. . The apparatus of, wherein the instructions when executed by the at least one processor causes operations further comprising:
claim 12 receiving, as a first input to a second machine learning model, at least a second traffic matrix for the overlay network. . The apparatus of, wherein the instructions when executed by the at least one processor causes operations further comprising:
claim 16 receiving, as a second input to the second machine learning model, a representation of underlay network routing in the underlay network. . The apparatus of, wherein the instructions when executed by the at least one processor causes operations further comprising:
claim 17 receiving, as a third input to the second machine learning model, a representation of background traffic in the underlay network. . The apparatus of, wherein the instructions when executed by the at least one processor causes operations further comprising:
claim 18 learning, by the second machine learning model, a representation of one or more routing parameters for the overlay network by minimizing a mean delay over the node pairs of the overlay network; and outputting, by the second machine learning model, the representation of the one or more routing parameters for the overlay network to enable configuring routing in the overlay network. . The apparatus of, wherein the instructions when executed by the at least one processor causes operations further comprising:
receiving, as a first input to a machine learning model, at least a first traffic matrix indicative of an amount of traffic routed among node pairs of an overlay network layered on an underlay network; receiving, as a second input to the machine learning model, information indicative of overlay network routing among the node pairs of the overlay network; receiving, as a third input to the machine learning model, measured delay between the node pairs of the overlay network; learning, by the machine learning model, a representation of the underlay network, the learning using a minimization of a difference between an average delay between node pairs of the underlay network and the measured delay between the node pairs of the overlay network, wherein the average delay between the node pairs of the underlay network is a function of the average delay between the node pairs of the overlay network; and outputting, by the machine learning model, the representation of the underlay network; wherein decision variables in the learning of the machine learning model comprise parameters of the underlay network, and the learning comprises varying the parameters until the difference converges to a minimum difference. . A non-transitory computer readable storage medium including instructions, which when executed by at least one processor causes operations comprising:
Complete technical specification and implementation details from the patent document.
The subject matter described herein relates to networking and machine learning.
Machine learning (ML) models may learn via training. The ML model may take a variety of forms, such as an artificial neural network (or neural network, for short), decision trees, and/or the like. The training of the ML model may be supervised (with labeled training data), semi-supervised, or unsupervised. When trained, the ML model may be used to perform an inference task.
In some embodiments, there may be provided a method that includes receiving, as a first input to a first machine learning model, at least a first traffic matrix indicative of an amount of traffic routed among at least one node pair of an overlay network; receiving, as a second input to the first machine learning model, information indicative of overlay network routing among the at least one node pair of the overlay network; receiving, as a third input to the first machine learning model, measured delay between the at least one node pair of the overlay network; learning, by the first machine learning model, a representation of an underlay network, the learning using a minimization of a difference between an average delay in the underlay network and the measured delay between the at least one node pair of the overlay network; and outputting, by the first machine learning model, the representation of the underlay network.
In some variations, one or more of the features disclosed herein including the following features can optionally be included in any feasible combination. The learning may further include learning, by the first machine learning model, a representation of background traffic in the underlay network, the learning of the representation of the background traffic in the underlay network using the minimization of the difference between the average delay in the underlay network and the measured delay between the at least one node pair of the overlay network. The output may further include outputting the representation of the background traffic in the underlay network. A second machine model may learn one or more routing parameters for the overlay network, the learning using at least the representation of the underlay network and/or a representation of background traffic in the underlay network. A second machine learning model may receive, as a first input to the second machine learning model, at least a second traffic matrix for the overlay network. The second machine learning model may receive, as a second input to the second machine learning model, the representation of the underlay network. The second machine learning model may receive, as a third input to the second machine learning model, a representation of background traffic in the underlay network. The second machine learning model may learn a representation of one or more routing parameters for the overlay network by minimizing a mean delay over node pairs of the overlay network. The second machine learning model may output the representation of the one or more routing for the overlay network to enable configuring routing in the overlay network. The second machine learning model may include an input layer to receive the second traffic matrix for the overlay network, the representation of the underlay network, and the representation of background traffic in the underlay network, an intermediate layer to determine one or more intermediate values for one or more segment flows, one or more link flows, one or more link delays, and one or more computed delays, and an output layer to output the representation of the one or more routing parameters for the overlay network to enable configuring routing in the overlay network. The first machine learning model may include an input layer to receive the first input, the second input, and the third input, an intermediate layer to determine one or more intermediate values for one or more segment flows, one or more link delays, and one or more computed delays, and an output layer to output the representation of the underlay network.
The above-noted aspects and features may be implemented in systems, apparatus, methods, and/or articles depending on 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 description below. Features and advantages of the subject matter described herein will be apparent from the description and drawings, and from the claims.
Like labels are used to refer to same or similar items in the drawings.
1 FIG.A 150 154 150 150 151 154 155 illustrates an underlay networkA and an overlay networkA layered on the underlay networkA. The underlay network may include a plurality of nodesB-F coupled by one or more linksA-F and may use for example shortest path routing to route data, such as packets, between the underlay network's nodes. And, the overlay network may include a plurality of nodesB-F coupled by one or more segmentsA-G (each of which may include one or more underlay links), and segment routing may be used among the nodes. For example, the underlay network may correspond to a physical network coupled by physical links through which data are routed using shortest path routing, and the overlay network may correspond to a virtual private network layered on the physical underlay network.
1 FIG.A 154 154 150 150 154 154 In the example of, a user of the overlay networkA may be able to control routing using for example segment routing between the nodesB-F, but the user of the overlay network may have little if any insight into the underlay networkA. In other words, from the perspective of the overlay network, the underlay network is “opaque” with respect to underlay network details such as topology, routing being used, actual performance of the underlay nodes, actual performance of the underlay links, and/or other network information about the physical underlay network. For example, a service provider will not typically allow a user of the overlay network, such as a VPN, to access information about the network service provider's physical network providing the underlay networkA. Nor will the service provider typically allow the user of the overlay network to control routing or configuration of the underlay network. To illustrate further, supposing a user of the overlay network seeks to re-route traffic to improve performance or avoid a node of the overlay network by re-routing traffic between nodeB and nodeF. Although the overlay network user may not be able to control routing in the underlay network, this user may, however, configure routing via segments in the overlay routing. But as the underlay network is opaque, the user does not have any information into any effect(s) this change in the overlay network might have on the underlay network. For example, this re-routing may (or may not) provide the performance improvement expected or desired by the user.
1 FIG.B 1 FIG.A 1 FIG.B 1 FIG.B 150 154 154 154 155 151 151 151 151 155 150 151 151 151 151 151 151 151 151 ij ij ij ij ij depicts the underlay networkA and overlay networkA of, but further shows how data traffic in the underlay network maps to the overlay network. In the example of, traffic in the overlay network between node iB and node jE are routed over a segmentE, in which case the traffic may be routed via the underlay network via one or more physical links such as linksD andE and linksC and linkF. The traffic in the underlay network is denoted by β(), wherein β() denotes the fractional amount of traffic on a physical linkwhen a unit flow is sent between nodes i and j (e.g., via segmentE) in the overlay. In the example of, traffic leaving nodeB is split such that half the traffic traverses linksD andE and the other half traverses linksC and linkF. In this example, linksD andE each have a β()=½ and the linksC andF each have a β()=½. In other words, β() indicates the fractional amount of traffic from source node i to destination node j that is routed on a given link.
154 154 154 154 ij In the overlay networkA, the amount of traffic (also referred to traffic demand) routed between node iB and node jE in the overlay network at time t is denoted by d(t). This overlay traffic can be routed from nodes i to j along multiple hops on the overlay using segment routing, such as Single Deflection Segment Routing (SDSR) and the like. As noted, this overlay routing results in traffic in the links of the underlay network, and the corresponding delay of each link in the underlay is a function of at least the link's utilization (although the user of the overlay network will not have access to the actual delays of the physical links of the underlay network as it is opaque). The fraction of traffic sent from node i to node j deflected through an intermediate node k (e.g., nodeF) on the overlay network may be denoted by
as follows:
150 154 In the underlay networkA, the background traffic on a given linkin the underlay network may be denoted by of λ(). And, the background traffic λ() may be considered independent of any traffic generated by the overlay network. For example, the background traffic λ() may be other traffic being carried by the underlay network that is not associated with the overlay networkA.
154 150 154 154 155 As the underlay network is opaque to the user(s) of the overlay network, a user of the overlay networkA may not have information regarding the underlay networkA, but this overlay network user may still measure delay between any two nodes of the overlay network. For example, the delay between nodes iB and node jE (as well as other node pairs of the overlay network) may be measured by sending packets with a time stamp (e.g., using a ping or other type of probe) over the link or segmentE. The delay may be in terms of time, such as milliseconds, and the delay may represent an average delay, in which case multiple delay measurements between nodes are performed and then averaged.
ij In some embodiments, there is provided a way to route on an overlay network, such as a virtual private network, without having information about an “opaque” underlay network's topology and/or routing. For example, traffic may be routed on the overlay network (without knowledge of the underlay topology and/or routing) and one or more delays between node pairs of the overlay network may be measured. Next, a machine learning model may be used to learn how to model (e.g., represent) the underlay network's topology and/or routing, and this learning may be based at least on the one or more measured delays between node pairs of the overlay network. When the machine learning (ML) model is trained, the machine learning model may provide as an output a representation of the underlay network's topology and/or routing. This ML model output may comprise the underlay network's routing parameter β(). This output may then be used by a ML model to determine how to optimally route traffic on the overlay network.
Before providing additional details regarding the ML model based learning of the underlay network topology and routing and optimizing routing on the overlay network, the following provides additional details regarding segment routing on the overlay network, delay, underlay network routing (e.g., βij()), and the ML model's objective function using delays.
1 FIG.C 1 FIG.C 102 154 154 102 154 154 102 102 106 depicts an example of segment routing between two nodes i and j of the overlay network using segments. In the example of, there is a first segmentA between node iB and node kF and a second segmentB between node kF and node jE (wherein node k may be referred to as an intermediate or a deflection node). Within a given segment such as segmentA orB of the overlay network, shortest path routing may be used to determine one or more physical links(e.g., in the underlay network) used to carry physically the traffic, such as the packet, in the underlay network. Formally, a segment may represent a minimum weight path between a pair of nodes. For example, the segment between nodes i and j may be a minimum weight path between nodes i and j, wherein the minimum weight path is computed using a link metric.
106 108 108 154 106 154 102 154 102 106 154 1 FIG.C Referring to the packetat, the packet includes a segment label “k”A and a destination address ‘j”B. The segment label specifies to node iB that packetis to be forwarded to destination node jE over the segmentsA-B using for example segment based routing but deflected via intermediate node kF, while the physical links (within the segments) and associated link metrics may selected using a shortest path algorithm through the links of the segmentsA-B. Within each of the segments for example, shortest path routing may be used to determine the path through the physical links of the underlay network to carry the packetto intermediate node kF.
To illustrate further by way of a numerical example, the flow of traffic through any given segment (“segment traffic flow”) between nodes i and j may be represented as follows:
ij wherein the segment's traffic flow is φand is the total amount of traffic flow over a segment between node i and node j, the deflection parameters are
kj ik and d(t) and d(t) are indicative of an amount of traffic demand (which is obtained from a traffic matrix, for example). In other words, the amount of traffic flow (which is between nodes nodes i and j) that is deflected via node k is a function of the deflection parameters and the amount of traffic flow over the segment. For example, a deflection parameter of 0.75 for
168 168 1 FIG.D given a traffic demand of 10 Gigabyte between nodes i and node j, the amount of traffic flow over the segment via node k would be 7.5 Gigabytes. With respect to Equation 2, the amount of traffic flow over the segment is computed for a segment between nodes i and j, and this traffic flow takes into account that the segment might be a second hop of a two hop segmentA and a first hopB of a two hop segment as shown in.
ij The flow on linkin the underlay network due to unit flow on the segment between node i and node j in the overlay may be denoted by β() and the background traffic on linkis denoted by λ(). The background traffic in the underlay traffic is independent of the traffic in the overlay network segments. The total amount of flow F (, t) on a given linkat time t may be represented by
As noted, the delay in a link (“link delay”) is an increasing function of the link's utilization. As such, the delay of δ(, t) on a linkat time t may be represented as follows:
wherein c() is the capacity of the link.
Δ ij With respect to average delay between nodes of the overlay network, the average delay between node i and node j of the overlay network is a function of the average delay on the path between node i and node j on the underlay network. The average delay on the path between node i and node j at time t in the underlay network may be denoted asand represented by the following:
Δ ij The average delaymay be measured between some if not all of the nodes pairs of the overlay network.
Δ ij ij The underlay network routing may be indicated by the βij() values as these values encapsulate information about the underlay topology and routing. To train the ML model, learning may use as an objective (or loss) function to determine the βij() values that minimize a difference between the average delay(t) (which is not known to the overlay as the underlay network is opaque) and the measured delay in the overlay network ω(t) using for example the following:
2 FIG.A For example, the machine learning model (e.g., using a PyTorch framework) may learn using the noted objective function (using stochastic gradient descent as explained further with respect to) to determine a model (e.g., representation) of the underlay network without having information regarding the underlay network.
2 FIG.A 160 depicts an example of a machine learning modelfor learning a representation of an underlay network without having knowledge about the underlay network's topology and/or routing. The ML model (which in this example is a neural network) is trained using traffic matrices and corresponding measured delays over the node pairs of the overlay network. In an example training session of the ML model, a total number of training samples of about 100 is used and training is done batches of 10 picked at random from the 100 training samples (although other training set sizes and batch sizes may be used as well).
160 210 212 215 ij ij In the ML model, the decision variables in the learning of the ML model are the underlay network routing β() parametersand the background traffic λ() parameters. At each step during ML model training, a subset of the traffic matrices and their corresponding overlay delays are fed into the ML model. The ML model adjusts the decision variables β() and λ() based on an objective function (which attempts to converge to a minimum difference between the computed and observed delays noted above with respect to Equation 6 and shown at).
202 160 202 154 154 202 154 ij ij 1 FIG.A AtA-C, the ML modelmay receive, as an input, one or more traffic matrixes, in accordance with some embodiments. For example, the traffic matrixA may indicate an amount of traffic routed between any two nodes, such as nodes i and j, in the overlay networkA at time t. As noted, the amount of traffic between nodes i and j in the overlay networkA may be denoted by d(t). The traffic matrixA may include the amount of traffic between nodes pairs of the overlay network. In the example ofwhere there are 5 nodes, the traffic matrix includes 25 values for the d(t) node pairs.
204 160 At, the ML modelmay receive, as an input, information regarding the overlay routing, in accordance with some embodiments. For example, the ML model may receive values for the segment routing parameters, such as the deflection parameters
which indicates the topology and routing used on the overlay network.
206 160 154 1 FIG.A ij ij At, the ML modelmay receive, as an input, information regarding measured delay between nodes of the overlay network, in accordance with some embodiments. For example, the ML model may measure delay between pairs of nodes i and j of the overlay network. Referring to overlay networkA offor example, the ML model may receive 25 measured delay values (ω(t)) for the 5 nodes of the overlay network for a corresponding traffic matrix d(t).
202 204 206 160 210 212 215 210 212 215 ij ij ij ij Given the inputs atA-C,, and, the ML modelmay learn the underlay network's routing(e.g., underlay network routing β() parameters) and/or background traffic(e.g., background traffic λ() parameters) that minimizes ata difference between the average delay {circumflex over (Δ)}(t) values (which are not known as the underlay network and its links are opaque to the overlay network) and the measured delay ω(t) values (which are measured over the overlay network) using for example Equation 6 above. For example, the decision variables, such as β() parametersand the background traffic λ() parameters, may be varied using backpropagation until the objective function converges to a minimum difference between the computed and observed delays at.
2 FIG.A 160 220 222 224 226 215 ij ij As shown at, the ML modelcomputes as part of learning intermediate values for the segment flows(see, e.g., φat Equation 2), link flows(see, e.g., F (, t) at Equation 3), link delay(see, e.g., δ(, t) at Equation 4), and computed delay(see, e.g., {circumflex over (Δ)}(t) at Equation 5). These intermediate values are used to determine the difference values at.
2 FIG.A 160 202 204 206 220 222 224 226 210 In the example of, the machine learning modelhas a structure that includes an input layer (of, for example, one or more compute nodes) configured to receive the first input, the second input, and the third input (e.g., inputsA-C,, and). The machine learning model may further include an intermediate layer (of, for example, one or more compute nodes) configured to determine one or more intermediate values for one or more segment flows, one or more link delays, and one or more computed delays (e.g.,,,, and). The machine learning model may further include an output layer (of, for example, one or more compute nodes) configured to output the representation of the underlay network (e.g.,).
215 202 206 210 ij ij ij ij ij ij ij When the ML model converges and minimizes the difference atbetween the computed average delay {circumflex over (Δ)}(t) and the measured delay ω(t) across the traffic matrixesA-C and the measured delayvalues, the underlay routing β()parameters (e.g., values) serve as a model or representation of the underlay network. In other words, the underlay routing β() values provides a representation of the underlay topology and its routing. The β() values may, as noted, model the underlay network's topology and routing, and the β() values may (or may not) indicate actual routing values used in the opaque underlay network. Moreover, as the underlay network is opaque, the quantity of nodes in the underlay may not be known, so the ML model may use an initial quantity and proceed with the learning of β().
ij ij ij ij 210 210 212 160 Once the underlay topology is learned using the underlay routing parameters β(), this underlay information may be used to optimize traffic routing on the overlay (e.g., such that the routing minimizes average delay). For example, given ddenotes the traffic matrix that has to be routed over the overlay network and β{circumflex over ( )}() and λ{circumflex over ( )}() denote the β()and λ()values learned by the ML model, the decision variables are
which denotes overlay routing parameters, such as the fraction of traffic from nodes i to j that is deflected through node k with the constraint,
This constraint may be reformulated as an unconstrained optimization for the ML model. For
for example,
may be defined such that
wherein α>0 is a fixed constant, so the constraint of Equation 7 implies
wherein any
This transformation ensures
are satisfied. With this reformulation, the flow on linkin the underlay network is represented by the following:
The delay on linkin the underlay may be denoted as follows:
And, the average delay between nodes i and j in the overlay may be denoted as follows.
The overall optimization problem of minimizing the average delay may be represented as follows:
The variables β{circumflex over ( )}ij() and λ{circumflex over ( )}() are estimated from the ML learning using for example, a PyTorch machine learning framework.
2 FIG.B 260 depicts another example of a ML modelused to optimize traffic in an overlay network when the underlay network is opaque such that the overlay network (or its user) has no knowledge regarding at least the topology and/or routing of the underlay network, in accordance with some embodiments.
252 260 252 154 At, the ML modelmay receive, as an input, at least one traffic matrix, in accordance with some embodiments. For example, the traffic matrixmay indicate an amount of traffic routed between any two nodes, such as nodes i and j, in the overlay networkA at time t.
254 260 ij 2 FIG.A AtA, the ML modelmay receive, as an input, information regarding the underlay routing, in accordance with some embodiments. For example, the ML model may receive the underlay network routing β() parameters learned at; the learned underlay network routing parameters are denoted as β{circumflex over ( )}ij().
254 260 2 FIG.A AtB, the ML modelmay receive, as an input, information regarding the background traffic in the underlay network, in accordance with some embodiments. For example, the ML model may receive the background traffic λ() parameters learned atand denoted as learned background traffic λ{circumflex over ( )}().
252 254 254 260 270 Given the inputs at,A, andB, the ML modelmay learn the overlay network's routingparameters (e.g.,
280 280 270 ij ij values) that minimizes atthe objective function, which corresponds to mean delay. At, the computed delay Δis averaged based on the amount of traffic d. For example, the overlay network's routingparameters (e.g.,
280 values) may be varied using backpropagation until the objective function converges to a minimum difference between the computed and observed delays at.
2 FIG.B 260 220 222 224 226 260 280 ij ij As shown at, the ML modelcomputes as part of learning intermediate values for the segment flows(see, e.g., φat Equation 2), link flows(see, e.g., F (, t) at Equation 3), link delay(see, e.g., δ(, t) at Equation 4), and computed delay(see, e.g., {circumflex over (Δ)}(t) at Equation 5). When the ML modelconverges by finding a minimum for the mean delay at, the optimal overlay routing
270 parameters may be used as an output to configure segment routing on the overlay network.
2 FIG.B 260 252 254 220 222 224 226 270 In the example of, the machine learning modelhas a structure that includes an input layer (of, for example, one or more compute nodes) configured to receive the second traffic matrix for the overlay network, the representation of the underlay network, and the representation of background traffic in the underlay network (e.g.,andA-B). The machine leaning model may further include an intermediate layer (of, for example, one or more compute nodes) configured to determine one or more intermediate values for one or more segment flows, one or more link flows, one or more link delays, and one or more computed delays (e.g.,,,, and). And, the machine learning model may further include an output layer (of, for example, one or more compute nodes) configured to output the representation of the one or more routing parameters (e.g.,) for the overlay network to enable configuring routing in the overlay network.
270 175 175 175 175 1 2 1 2 1 FIG.E In some implementations, an un-split SDSR routing scheme may be derived from the split routing overlay parameters provided at. In the case of split routing, traffic from source node i to destination node j is split among multiple deflection points, such as node kand kas shown atA of. AtA, part of traffic from source node i to destination node j is deflected through kand the rest through node k. In the case of un-split SDSR, the traffic from source node i to destination node j is deflected through a single deflection node k as shown atB. As shown atB, with un-split SDSR all traffic from source i to destination j is deflected through a single node k.
To derive the un-split SDSR from the split SDSR, a corresponding
is determined as follows:
And, randomized rounding is performed. For example, for each ij pair, one k is picked by for example rolling a so-called n sided die where the probability of getting k is
Since
there is a valid probability distribution. Next,
if and only if there k* is obtained when the dies is rolled for ij. After all the ij are rounded, the resulting
represents an unsplit SDSR. This process of rounding can be repeated multiple times and the solution that results in the lowest maximum link utilization can be picked.
3 FIG.A depicts an example of a process for training of a ML model so that the ML model learns a representation of an opaque underlay network, in accordance with some embodiments.
305 202 154 At, a ML model may receive, as a first input, one or more traffic matrixes, in accordance with some embodiments. For example, a traffic matrixA may be received, and this traffic matrix may indicate an amount of traffic routed between any two node in the overlay network, such as overlay networkA at a given time t.
307 At, the ML model may receive, as a second input, information regarding overlay network routing, in accordance with some embodiments. For example, the second input may include values for the segment routing parameters
that indicate the topology and routing used on the overlay network.
309 160 154 ij ij At, the ML model may receive, as a third input, information regarding measured delay between nodes of the overlay network, in accordance with some embodiments. For example, the ML modelmay receive 25 measured delay values (ω(t)) for the 5 nodes of the overlay networkA for a corresponding traffic matrix d(t).
311 305 309 160 215 305 309 160 ij ij ij ij ij Δ Δ At, the ML model may learn a representation of the underlay network, in accordance with some embodiments. For example, given the inputs-, the ML modelmay learn the underlay network's routing parameters β() that minimize a difference between the average delay(t) values (which are not known as the underlay network is opaque) and the measured delay ω(t) values as noted atabove (see, also Equation 6 above). Alternatively, or additionally, given the inputs-, the ML modelmay learn the underlay network's background traffic λ() parameters that minimize a difference between the average delay(t) values and the measured delay ω(t) values.
Δ ij ij ij ij 160 313 210 160 212 210 212 When the ML model converges and minimizes the difference between the computed average delay(t) and the measured delay in the underlay ω(t), the machine learning modelmay output atthe representation of the underlay network, such as the underlay routing β() parameters. Alternatively, or additionally, the ML modelmay output the background traffic λ() parameters. The representation of the underlay network (e.g., underlay routing β() parameters) and/or background traffic (e.g., background traffic λ() parameters) may be output to enable use when optimizing routing of the overlay network.
3 FIG.B depicts an example of a process for optimizing routing of an overlay network using a ML model, in accordance with some embodiments.
345 260 154 At, a ML model, such as ML model, may receive, as a first input, one or more traffic matrixes, in accordance with some embodiments. For example, the first input may include at least one traffic matrix that indicates an amount of traffic routed between any two nodes in the overlay network, such as overlay networkA, at a given time t.
350 260 160 210 160 2 FIG.A At, a ML model, such as ML model, may receive, as a second input, information regarding the underlay routing learned by a ML model, such as ML model, in accordance with some embodiments. For example, the first input may include the learned underlay network routing β{circumflex over ( )}ij() provided atas an output of the ML modelof.
352 260 212 160 2 FIG.A At, a ML model, such as ML model, may receive, as a third input, information regarding learned background traffic in the underlay network, in accordance with some embodiments. For example, second input may include the learned background traffic λ{circumflex over ( )}() provided atas an output of the ML modelof.
345 352 260 355 270 Given the inputs at-, the ML modelmay learn, at, the overlay network's routingparameters (e.g.,
270 260 280 values) that minimize an objective function. For example, the ML modelmay minimize the mean delay as noted at.
260 280 260 360 270 270 When the ML modelconverges and minimizes mean delay, the machine learning modelmay output atthe overlay network's routingparameters. The overlay network's routingparameters may be use to configure segment routing on the overlay network.
4 FIG. 400 400 160 410 415 420 400 depicts an example of a ML model, in accordance with some embodiments. The ML modelmay be used as the ML model. The input layermay include a node for each node in the network. The ML model may include one or more hidden layersA-B (also referred to as intermediate layers) and an output layer. The machine learning modelmay be comprised in a network node, a user equipment, and/or other computer-based system. Alternatively, or additionally, 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).
5 FIG. 500 160 260 500 500 502 520 540 502 540 520 160 260 depicts a block diagram of a network node, in accordance with some embodiments. As noted, the machine learning modelormay be comprised in a network node. The network nodemay comprise or be comprised in one or more network side nodes or functions. The network nodemay include a network interface, a processor, and a memory, in accordance with some embodiments. The network interfacemay include wired and/or wireless transceivers to enable access other nodes including base stations, other network nodes, the Internet, other networks, and/or other nodes. The memorymay comprise volatile and/or non-volatile memory including program code, which when executed by at least one processorprovides, among other things, the processes disclosed herein. For example, a network node such as a network management system may include the ML modeland/orto learn the underlay network routing parameters and to optimize overlay routing when the underlay network is opaque.
6 FIG. 6 FIG. 700 150 160 400 700 700 710 720 730 740 710 720 730 740 750 710 700 710 710 710 710 720 730 740 720 700 720 730 700 730 740 700 740 740 740 740 depicts a block diagram illustrating a computing system, in accordance with some embodiments. For example, the network management systemand/or ML model(or) may be comprised the system. As shown in, the computing systemcan include a processor, a memory, a storage device, and input/output devices. The processor, the memory, the storage device, and the input/output devicescan be interconnected via a system bus. The processoris capable of processing instructions for execution within the computing system. In some implementations of the current subject matter, the processorcan be a single-threaded processor. Alternately, the processorcan be a multi-threaded processor. The process may be a multi-core processor have a plurality or processors or a single core processor. Alternatively, or additionally, the processorcan be a graphics processor unit (GPU), an AI chip, and/or the like. The processoris capable of processing instructions stored in the memoryand/or on the storage deviceto display graphical information for a user interface provided via the input/output device. The memoryis a computer readable medium such as volatile or non-volatile that stores information within the computing system. The memorycan store data structures representing configuration object databases, for example. The storage deviceis capable of providing persistent storage for the computing system. The storage devicecan be a floppy disk device, a hard disk device, an optical disk device, or a tape device, or other suitable persistent storage means. The input/output deviceprovides input/output operations for the computing system. In some implementations of the current subject matter, the input/output deviceincludes a keyboard and/or pointing device. In various implementations, the input/output deviceincludes a display unit for displaying graphical user interfaces. According to some implementations of the current subject matter, the input/output devicecan provide input/output operations for a network device. For example, the input/output devicecan include Ethernet ports or other networking ports to communicate with one or more wired and/or wireless networks (e.g., a local area network (LAN), a wide area network (WAN), the Internet).
Without in any way limiting the scope, interpretation, or application of the claims appearing below, a technical effect of one or more of the example embodiments disclosed herein may include enhanced optimization of networks, so networks can more efficiently route traffic on overlay networks without having knowledge of the underlay network's topology and/or routing.
In view of the above-described implementations of subject matter this application discloses the following list of examples, wherein one feature of an example in isolation or more than one feature of said example taken in combination and, optionally, in combination with one or more features of one or more further examples are further examples also falling within the disclosure of this application.
Example 1: A method comprising: receiving, as a first input to a first machine learning model, at least a first traffic matrix indicative of an amount of traffic routed among at least one node pair of an overlay network; receiving, as a second input to the first machine learning model, information indicative of overlay network routing among the at least one node pair of the overlay network; receiving, as a third input to the first machine learning model, measured delay between the at least one node pair of the overlay network; learning, by the first machine learning model, a representation of an underlay network, the learning using a minimization of a difference between an average delay in the underlay network and the measured delay between the at least one node pair of the overlay network; and outputting, by the first machine learning model, the representation of the underlay network
Example 2: The method of Example 1, wherein the learning further comprises: learning, by the first machine learning model, a representation of background traffic in the underlay network, the learning of the representation of the background traffic in the underlay network using the minimization of the difference between the average delay in the underlay network and the measured delay between the at least one node pair of the overlay network.
Example 3: The method of any of Examples 1-2, wherein the outputting further comprises outputting the representation of the background traffic in the underlay network.
Example 4: The method of any of Examples 1-3 further comprising: learning, by a second machine model, one or more routing parameters for the overlay network, the learning using at least the representation of the underlay network and/or a representation of background traffic in the underlay network.
Example 5: The method of any of Examples 1-4 further comprising: receiving, as a first input to a second machine learning model, at least a second traffic matrix for the overlay network.
Example 6: The method of any of Examples 1-5 further comprising: receiving, as a second input to the second machine learning model, the representation of the underlay network.
Example 7: The method of any of Examples 1-6 further comprising: receiving, as a third input to the second machine learning model, a representation of background traffic in the underlay network.
Example 8: The method of any of Examples 1-7 further comprising: learning, by the second machine learning model, a representation of one or more routing parameters for the overlay network by minimizing a mean delay over node pairs of the overlay network.
Example 9: The method of any of Examples 1-8 further comprising: outputting, by the second machine learning model, the representation of the one or more routing for the overlay network to enable configuring routing in the overlay network.
Example 10: The method of any of Examples 1-10, wherein the second machine learning model includes an input layer to receive the second traffic matrix for the overlay network, the representation of the underlay network, and the representation of background traffic in the underlay network, an intermediate layer to determine one or more intermediate values for one or more segment flows, one or more link flows, one or more link delays, and one or more computed delays, and an output layer to output the representation of the one or more routing parameters for the overlay network to enable configuring routing in the overlay network.
Example 11: The method of any of Examples 1-11, wherein the first machine learning model includes an input layer to receive the first input, the second input, and the third input, an intermediate layer to determine one or more intermediate values for one or more segment flows, one or more link delays, and one or more computed delays, and an output layer to output the representation of the underlay network.
Example 12: An apparatus comprising: at least one processor; and at least one memory including instructions, which when execute by the at least one processor causes operations comprising: receiving, as a first input to a first machine learning model, at least a first traffic matrix indicative of an amount of traffic routed among at least one node pair of an overlay network; receiving, as a second input to the first machine learning model, information indicative of overlay network routing among the at least one node pair of the overlay network; receiving, as a third input to the first machine learning model, measured delay between the at least one node pair of the overlay network; learning, by the first machine learning model, a representation of an underlay network, the learning using a minimization of a difference between an average delay in the underlay network and the measured delay between the at least one node pair of the overlay network; and outputting, by the first machine learning model, the representation of the underlay network
Example 13: The apparatus of Example 12, wherein the learning further comprises: learning, by the first machine learning model, a representation of background traffic in the underlay network, the learning of the representation of the background traffic in the underlay network using the minimization of the difference between the average delay in the underlay network and the measured delay between the at least one node pair of the overlay network.
Example 14: The apparatus of any of Examples 12-13, wherein the outputting further comprises outputting the representation of the background traffic in the underlay network.
Example 15: The apparatus of any of Examples 12-14 further comprising: learning, by a second machine model, one or more routing parameters for the overlay network, the learning using at least the representation of the underlay network and/or a representation of background traffic in the underlay network.
Example 16: The apparatus of any of Examples 12-15 further comprising: receiving, as a first input to a second machine learning model, at least a second traffic matrix for the overlay network.
Example 17: The apparatus of any of Examples 12-16 further comprising: receiving, as a second input to the second machine learning model, the representation of the underlay network.
Example 18: The apparatus of any of Examples 12-17 further comprising: receiving, as a third input to the second machine learning model, a representation of background traffic in the underlay network.
Example 19: The apparatus of any of Examples 12-18 further comprising: learning, by the second machine learning model, a representation of one or more routing parameters for the overlay network by minimizing a mean delay over node pairs of the overlay network.
Example 20: The apparatus of any of Examples 12-19 further comprising: outputting, by the second machine learning model, the representation of the one or more routing for the overlay network to enable configuring routing in the overlay network.
Example 21: The apparatus of any of Examples 12-20, wherein the second machine learning model includes an input layer to receive the second traffic matrix for the overlay network, the representation of the underlay network, and the representation of background traffic in the underlay network, an intermediate layer to determine one or more intermediate values for one or more segment flows, one or more link flows, one or more link delays, and one or more computed delays, and an output layer to output the representation of the one or more routing parameters for the overlay network to enable configuring routing in the overlay network.
Example 22: The apparatus of any of Examples 12-21, wherein the first machine learning model includes an input layer to receive the first input, the second input, and the third input, an intermediate layer to determine one or more intermediate values for one or more segment flows, one or more link delays, and one or more computed delays, and an output layer to output the representation of the underlay network.
Example 23: A non-transitory computer readable storage medium including instructions, which when execute by at least one processor causes operations comprising: receiving, as a first input to a first machine learning model, at least a first traffic matrix indicative of an amount of traffic routed among at least one node pair of an overlay network; receiving, as a second input to the first machine learning model, information indicative of overlay network routing among the at least one node pair of the overlay network; receiving, as a third input to the first machine learning model, measured delay between the at least one node pair of the overlay network; learning, by the first machine learning model, a representation of an underlay network, the learning using a minimization of a difference between an average delay in the underlay network and the measured delay between the at least one node pair of the overlay network; and outputting, by the first machine learning model, the representation of the underlay network.
The subject matter described herein may be embodied in systems, apparatus, methods, and/or articles depending on the desired configuration. For example, the base stations and user equipment (or one or more components therein) and/or the processes described herein can be implemented using one or more of the following: a processor executing program code, an application-specific integrated circuit (ASIC), a digital signal processor (DSP), an embedded processor, a field programmable gate array (FPGA), and/or combinations thereof. These various implementations may include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device. These computer programs (also known as programs, software, software applications, applications, components, program code, or code) include machine instructions for a programmable processor, and may be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. 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 (for example, magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions. Similarly, systems are also described herein that may include a processor and a memory coupled to the processor. The memory may include one or more programs that cause the processor to perform one or more of the operations described herein.
Although a few variations have been described in detail above, other modifications or additions are possible. In particular, further features and/or variations may be provided in addition to those set forth herein. Moreover, the implementations described above may be directed to various combinations and subcombinations of the disclosed features and/or combinations and subcombinations of several further features disclosed above. Other embodiments may be within the scope of the following claims.
If desired, the different functions discussed herein may be performed in a different order and/or concurrently with each other. Furthermore, if desired, one or more of the above-described functions may be optional or may be combined. Although various aspects of some of the embodiments are set out in the independent claims, other aspects of some of the embodiments comprise other combinations of features from the described embodiments and/or the dependent claims with the features of the independent claims, and not solely the combinations explicitly set out in the claims. It is also noted herein that while the above describes example embodiments, these descriptions should not be viewed in a limiting sense. Rather, there are several variations and modifications that may be made without departing from the scope of some of the embodiments as defined in the appended claims. Other embodiments may be within the scope of the following claims. The term “based on” includes “based on at least.” The use of the phase “such as” means “such as for example” unless otherwise indicated.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
September 13, 2023
June 16, 2026
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.