Cross-domain network path selection method based on deep learning and multi-path A-star algorithm

By predicting network latency using deep learning and combining it with the multi-path A* algorithm, the problem of high path computation complexity in multi-domain SDN architecture is solved, enabling efficient and flexible cross-domain network path selection and ensuring QoS.

CN120166063BActive Publication Date: 2025-11-04JIUWEI DIGITAL INTELLIGENCE (BEIJING) TECHNOLOGY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510321037.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-18
Publication Date
2025-11-04
Estimated Expiration
2045-03-18

AI Technical Summary

Technical Problem

In multi-domain SDN architecture, cross-domain network path calculation and optimization are highly complex, and traditional methods are difficult to meet end-to-end quality of service (QoS) requirements, resulting in high network management costs and low flexibility.

Method used

A deep learning-based approach is used to predict network latency, construct a directed acyclic graph, and combine the multi-path A* algorithm to select paths that meet QoS requirements. Data forwarding is then achieved through switch flow table rules.

Benefits of technology

It reduces the complexity of information exchange and computation between networks, improves the efficiency and flexibility of network management, and ensures the quality of service for cross-domain network path selection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120166063B_ABST
    Figure CN120166063B_ABST
Patent Text Reader

Abstract

The application discloses a cross-domain network path selection method based on deep learning and a multi-path A-star algorithm, which comprises the following steps: step 1, defining a network topology structure; step 2, building a neural network for predicting effective delay, and taking the network topology structure as the neural network input to obtain network path and link delay characteristics; step 3, using the multi-path A-star algorithm to obtain a candidate path, verifying whether the candidate path meets the QoS requirement, and selecting a path with the minimum delay that meets the QoS requirement; and step 4, issuing a flow table rule to a switch through a communication protocol between a controller and the switch, and the switch completes data forwarding according to the flow table rule. The method disclosed by the application predicts effective delay through deep learning, and performs multi-path selection in a directed acyclic graph, and the method supports cross-domain network path selection on the basis of ensuring service quality. Compared with a traditional method, the method significantly reduces the complexity of network information exchange and calculation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communication technology, and in particular to a cross-domain network path selection method based on deep learning and the multi-path A* algorithm. Background Technology

[0002] With the rapid development of communication technology, network environments are becoming increasingly complex. On the one hand, the number of terminals accessing network resources is increasing, and applications are becoming more diversified. Because the coexistence of application services requires different strategies, network configuration and management have become extremely complex. In traditional network environments composed of network devices controlled by software from specific vendors, network flexibility is very low, and configuring the network to meet these complex needs is difficult, time-consuming, and costly. On the other hand, with the gradual expansion of network scale, service providers have been divided into multiple management domains, known as multi-domain networks. Path calculation and optimization in cross-domain networks cannot use traditional path optimization methods.

[0003] To address these challenges, a multi-domain SDN architecture is needed. Software-defined networking (SDN) technology operates the network by separating the control plane and data plane, centralizing control and programming, making network management more efficient, flexible, and easily automated. This makes it easier to ensure Quality of Service (QoS) and recover from failures compared to traditional networks. A multi-domain SDN architecture typically consists of local SDN controllers that operate independently in each domain and a global controller that integrates and manages them in a hierarchical manner. Supporting end-to-end QoS across multiple domains requires sophisticated traffic engineering.

[0004] In multi-domain networks, it is necessary to consider the network conditions of each domain and the traffic transmission methods between domains. Therefore, determining the end-to-end path selection that supports QoS requires a large amount of information exchange between the local controller and the global controller, resulting in very high computational complexity. Summary of the Invention

[0005] In this invention, an effective path selection method is proposed to address the cross-domain network transmission problem in a multi-domain SDN architecture. This method first predicts the effective latency in the network based on deep learning, creates a directed acyclic graph based on network information, performs multi-path selection in the directed acyclic graph for a given transmission task, and determines whether the QoS requirements of the network flow in the multi-domain SDN architecture are met based on the selected path and the effective latency.

[0006] This invention discloses a cross-domain network path selection method based on deep learning and the multi-path A* algorithm. The cross-domain network path selection method based on deep learning and the multi-path A* algorithm includes the following steps:

[0007] Step 1, Define the network topology G golbal =(Vglobal E global W global );

[0008] Step 2: Build a neural network for predicting effective latency, and use the network topology as input to the neural network to obtain network path and link latency features;

[0009] Step 3: Using the multipath A* algorithm, candidate paths are obtained based on the link delay characteristics predicted by the neural network, and it is verified whether the candidate paths meet the QoS requirements. The path with the minimum delay that meets the QoS requirements is selected.

[0010] Step 4: Select the path that meets QoS requirements and has the least latency as the target path, and send flow table rules to the switch through the communication protocol between the controller and the switch. The switch then forwards the data according to the flow table rules.

[0011] Furthermore, step 2 includes the following steps:

[0012] Step 21: Construct a graph neural network to model the network topology and obtain information on the traffic transmission between switches in historical time series.

[0013] Step 22: Construct an LSTM network. Based on the link characteristics output by the graph neural network, combined with bandwidth characteristics and task characteristics, predict the latency, jitter, packet loss rate, and available bandwidth at each time step.

[0014] Furthermore, in step 21, the graph neural network adopts an Encoder-Decoder architecture, and the input to the graph neural network is the graph signal X∈R. N×P This indicates the inflow and outflow traffic of the switch;

[0015] The encoder employs an improved GRU architecture, including reset gates, update gates, cell states, and hidden layer states. The reset and update gates are controlled by an attention mechanism. The reset gate is represented as follows:

[0016] r (t) For the reset gate, σ is the sigmoid function, which maps the computation result to the range (0, 1) to control information retention and output. `attention` represents a dynamic weighted summation using an attention mechanism; X (t) The signal is a graph, represented in Query matrix form; b r Indicates resetting the gate bias term, H (t-1) A key-value matrix;

[0017]

[0018] Where d k It is X(t) The dimension of the vector is used to scale the score and prevent gradient explosion. Attention Scores represent the matching degree or relevance between the query and the key, that is, the raw score that measures the similarity between two vectors.

[0019] Attention Weights=softmax(Attention Scores)

[0020] The softmax function normalizes each element to the range [0,1], making the sum of each row equal to 1; AttentionWeights represents the proportion of importance of each candidate information to the final output;

[0021] Output = Attention Weights × H (t-1)

[0022] Output represents the attention[X] corresponding to the update gate / reset gate after applying the attention mechanism. (t) H (t-1) ];

[0023] Finally, H (t-1) Multiplying by the attention weights, the cell state is represented as:

[0024] C (t) =tanh(f θ [X (t) ,(r (t) ⊙H (t-1) )]+b c )

[0025]

[0026] X is a graph signal representing the inflow and outflow of the exchange, X∈R N×P F θ It is a diffuse convolutional filter, where θ is a trainable parameter; θ k,1 θ k,2 Here are the filter parameters, k is the diffusion step (using a finite K-step stage), X is the graphical signal at a specific time step, and b... c To update the gate bias term; D o and D I These are the out-degree and in-degree diagonal matrices, respectively, and W is the weighted adjacency matrix;

[0027] Last updated hidden status:

[0028] H (t) =u (t) ⊙H (t-1) +(1-u (t) )⊙C(t)

[0029] u (t) =σ(attention[X (t) H (t-1) ]+b u )

[0030] b u This indicates the hidden state bias term;

[0031] Decoder outputs X′∈R N×P , representing the predicted value for the next time step, which serves as the input to the LSTM neural network.

[0032] Furthermore, in step 22, a first LSTM layer, a second LSTM layer, and a fully connected MLP layer are included, and the fully connected MLP layer is used to output four predicted features;

[0033] Decoder outputs X′∈R N×P The link features at each time step are obtained through the ReLU activation function and then input into the first LSTM layer.

[0034] At each time step of the second-layer LSTM, the output of the first-layer LSTM is concatenated with the network bandwidth embedding feature and used as the input of the second-layer LSTM. The output of the second-layer LSTM is activated by the ReLU function and then outputs four prediction features through a fully connected layer, representing the latency, jitter, packet loss rate, and available bandwidth at each time step.

[0035] Furthermore, in step 22, the delay is:

[0036]

[0037] τ total τ represents the total path delay, T represents the number of links in the path, and τ represents the total path delay. t This represents the time delay at the t-th time step;

[0038] Shaking:

[0039]

[0040] σ total_jitter This represents the total jitter of the path, where T represents the number of links in the path. This represents the jitter at the t-th time step;

[0041] Packet loss rate:

[0042]

[0043] P Total_lossThis represents the packet loss rate of the path, where T represents the number of links in the path. This represents the packet loss rate at time step t.

[0044] Available bandwidth:

[0045]

[0046] B total_avai1 This represents the available bandwidth of the path, and T represents the number of links in the path. This represents the available bandwidth at time step t.

[0047] Furthermore, step 2 also includes:

[0048] Step 23, train the LSTM network, specifically including the following steps:

[0049] Step 231: The Huber loss function is selected as the loss function. During calculation, a normalization operation is first performed to standardize each predicted feature to the same order of magnitude, including:

[0050]

[0051] τ norm τ represents the normalized time delay. exp Maximum tolerable delay, σ norm σ represents the normalized jitter. exp Maximum tolerable jitter, P norm P represents the normalized packet loss rate. exp Maximum tolerable packet loss rate, B norm B represents the normalized available bandwidth. exp Maximum tolerable available bandwidth;

[0052] After normalization, the Huber function is applied to each parameter. The threshold δ of Huber needs to be set according to the characteristics of the predicted features to determine when to switch from squared loss to linear loss. The latency threshold is selected as 0.1-0.3, the jitter threshold is selected as 0.2-0.3, the packet loss rate threshold is selected as 0.05-0.1, and the available bandwidth threshold is selected as 0.3-0.5.

[0053]

[0054] Δ is the threshold, and x is the predicted feature;

[0055] The final loss function takes the form of:

[0056]

[0057] Let δ be the normalized value of the i-th predicted feature.i w is the threshold for the i-th predicted feature. i The weights for the i-th prediction feature are: latency (0.3), jitter (0.2), packet loss rate (0.3), and available bandwidth (0.2).

[0058] Step 232: During training, the optimizer adopts the Adam optimizer and is first pre-trained on public datasets such as the Deep fingerping dataset.

[0059] Step 233: During initialization, the encoder and LSTM adopt the He normal distribution initializer. After the historical event sequence is input into the encoder, its final state is used to initialize the decoder.

[0060] Step 234: During training, an early stopping strategy is adopted to prevent overfitting and enhance generalization performance. After pre-training on a public dataset, data is collected in the target scenario for fine-tuning.

[0061] Furthermore, step 3 also includes:

[0062] Step 31: Let the starting point be A and the ending point be B. Plan multiple paths from A to B and use the multi-path A-star algorithm to obtain the optimal path.

[0063] Furthermore, step 31 specifically includes the following steps:

[0064] Step 311: The search starts from point A. First, add point A to the open list. At this time, take the minimum value in the open list. In the initial stage, there is only one node A in the open list, so remove point A from the open list and add point A to the closed list. Take the adjacent points of point A and add them to the open list. Then add the adjacent points and point A to the trace table.

[0065] Step 312: For adjacent points, calculate the actual cost G(n) from the initial node to node n and the estimated cost H(n) from n to the target node in the state space of each point in turn, and finally obtain F(n) = G(n) + H(n);

[0066] Select the node with the smallest F(n) value in the open list, set this node as the current node, remove it from the open list and add it to the closed list, retrieve the neighboring nodes of the current node, check whether the neighboring nodes are in the open list, and add the neighboring nodes to the open list if they are not in the open list.

[0067] If the adjacent point is already in the open list, then the G(n) value needs to be determined;

[0068] Step 313: For adjacent points in the open list, calculate the G(n) value of the adjacent points, and calculate the G(n) value according to the current path and the G(n) value in the original open list.

[0069] If the current path G(n) value is less than the original open list G(n) value, then the adjacent point takes the current point as its parent node, adds the adjacent point and the current point to the traceability table, and updates the H(n) value of this adjacent point; if the current path G(n) value is greater than or equal to the original open list G(n) value, then the adjacent point follows the node relationship in the original open list, and the H(n) value remains unchanged.

[0070] Step 314: At this point, calculate the point with the smallest F(n) value in the open list, set this node as the current node, and rank the nodes with the smallest F(n) values ​​according to the order in which they were added to the open list, with the most recently added node being preferred.

[0071] Step 315: Repeat the search and determination process until endpoint B is added to the closed list, at which point the search is complete.

[0072] Furthermore, step 3 also includes:

[0073] Step 32: After completing the single A* algorithm process in Step 31, find n deviation points and expand into n different paths. The specific steps are as follows:

[0074] Step 321: Remove completed paths from the traceability table and sort them in ascending order based on F(n). Take out the first n points, which are the n deviation points.

[0075] Step 322: Based on the parent node information of the traceability table, reconstruct the path from the starting point A to a deviation point. At this time, it is necessary to calculate the open list, closed list, and traceability table of the path according to the A* algorithm.

[0076] Step 323: For each deviation path, start the A* algorithm process from the deviation point until the search is completed and new n paths are obtained. In the calculation process of the above n deviation paths, some redundant calculations are involved. At this time, the caching mechanism is used to reduce redundant calculations, and the A* algorithm process starting from the deviation point is processed concurrently to improve the calculation speed.

[0077] Finally, after all n+1 paths have been calculated, a path aggregation operation is performed using G(n) as the weight, which may result in a new path.

[0078] The beneficial effects achieved by this invention are:

[0079] The method proposed in this invention is implemented based on a Software-Defined Networking (SDN) architecture, ensuring high efficiency, flexibility, and automation in network management. By predicting effective latency through deep learning and performing multi-path selection within a Directed Acyclic Graph (DAG), this method supports cross-domain network path selection while guaranteeing Quality of Service (QoS). Compared to traditional methods, it significantly reduces the information exchange and computational complexity between networks. Attached Figure Description

[0080] Figure 1 This is a schematic diagram of the cross-domain SDN architecture proposed in this invention;

[0081] Figure 2 This is a schematic diagram of the neural network architecture proposed in this invention;

[0082] Figure 3 This is a schematic diagram of the data flow scheduling process proposed in this invention. Detailed Implementation

[0083] The present invention will be further described below with reference to specific embodiments, and the advantages and features of the present invention will become clearer as a result. However, these embodiments are merely exemplary and do not constitute any limitation on the scope of the present invention. Those skilled in the art should understand that modifications or substitutions can be made to the details and form of the technical solutions of the present invention without departing from the spirit and scope of the present invention, but all such modifications and substitutions fall within the protection scope of the present invention.

[0084] like Figure 1 As shown, this invention provides a cross-domain network path selection method based on deep learning and the multi-path A* algorithm. The main application scenario of this invention is multi-domain SDN network architecture, for cross-domain traffic path selection. It can also be used for intra-domain traffic path selection in single-domain SDN network architecture. In a multi-domain SDN network architecture, the network is divided into L regions, where the I-th region (I = 1, 2, ..., L) is composed of N... l It consists of several switches, which are managed by a local controller. The controller is software on a general server. Each switch exchanges information with its local controller via the Link Layer Discovery Protocol (LLDP), enabling the local controller to manage the data flow between the switches.

[0085] On the data plane, switches forward data based on flow table information provided by the SDN controller in the control plane. If no send / receive rules are registered in the local switch's flow table, it must request information from the local controller (LC) regarding the port to which traffic should be forwarded. At this point, the LC must consider whether the data transmission destination exceeds the current management domain, i.e., whether it is intra-domain traffic (local traffic) or cross-domain traffic. The LC performs path calculation and traffic scheduling for intra-domain traffic and forwards cross-domain traffic requests to the global controller. The global controller then distributes the calculated path and traffic scheduling policies to the LC or directly to the network devices.

[0086] The core of path computation is to first predict network link characteristics, such as latency, using deep learning methods based on network topology and other features. Then, the multi-path A* algorithm is used to obtain multiple candidate paths, perform QoS verification on multiple candidate paths, and select the path that meets QoS requirements and has the lowest latency.

[0087] Specifically, the cross-domain network path selection method based on deep learning and the multi-path A* algorithm includes the following steps:

[0088] Step 1, define the network topology;

[0089] The network topology can be represented by G = (V, E, W), where G local =(V local E local W local ) represents the local network topology within the domain, G golbal =(V global E global W global V represents the global network topology. global For V local The set, E global Including the edge E within the local domain local and the edge E of the connected domain inter It represents the connectivity relationships within and between domains, and W is a weighted adjacency matrix representing the proximity of nodes, where W∈R N×N N = |V|. Each element in the matrix (node ​​proximity) is a function of the distance between switches. The global controller can construct a global graph G using information received from the local controllers. global The information submitted by the local controller includes points within the local domain, edges within the local domain, and cross-domain connection switch (gateway switch) information.

[0090] Global graph G global The construction is based on the DFS method, and the specific process is as follows:

[0091] Initialize the Visited set for checking access status, the network device (switch) topology sorting array, the inter-device link array, the cross-domain link array, and the ingress node.

[0092] For each unvisited network device, the Depth-First Search (DFS) method is used for traversal. The DFS method first treats an unvisited node as visited and adds that vertex to the Visited list. Then, it checks the visit status of each adjacent vertex. If the adjacent node and the current node are in the same domain, the link (current node, adjacent node) is added to the inter-device link array. If they are in different domains, the link is added to the cross-domain link array, and DFS is recursively called on neighboring nodes. This process completes the topology sorting domain by domain.

[0093] At this time, the network device topology sort array is V. global It can be divided into V based on the cross-domain link array. local E global W global Similarly.

[0094] Switches need to periodically or irregularly report port traffic information to their local controllers for neural network calculation of finite latency.

[0095] Step 2: Build a neural network for predicting effective latency.

[0096] The overall network of this solution adopts a graph neural network Encoder–Decoder architecture combined with a two-layer LSTM timing module.

[0097] The input to the neural network is the network topology G. golbal =(V global E global W global The network topology is represented as a weighted graph, specifically a V×V adjacency matrix in the scheme. When inputting into the graph neural network, X∈R is used. N×P In the form of N, where N is the number of nodes and P is the number of node features, i.e., node information (input and output traffic of the switch), other information involved in the neural network includes link information (link bandwidth) and task information (number of bytes, data type, transmission frequency, request method, priority, duration, connection status). The output of the neural network is latency, jitter, packet loss rate, and available bandwidth.

[0098] Step 21: Construct a graph neural network to model the network topology and obtain information on the traffic transmission between switches in historical time series.

[0099] Graph neural networks adopt an Encoder-Decoder architecture, with both the Encoder and Decoder using the same two-layer network design. The network layers employ a modified GRU architecture. The input to the graph neural network is the graph signal X∈R. N×P This represents the inflow and outflow traffic of the switch, which is processed by the Encoder to obtain the hidden layer state H. (t) .

[0100] The specific calculation process can be expressed by the following formula.

[0101] r (t) =σ(attention[X (t) H (t-1) ]+b r )

[0102] u (t) =σ(attention[X (t) H (t-1) ]+b u )

[0103] C (t) =tanh(f θ [X (t) ,(r (t) ⊙H (t-1) )]+b c )

[0104] H (t) =u (t) ⊙H (t-1) +(1-u (t) )⊙C (t)

[0105] r (t) To reset the door, u (t) To update the gate, C (t) For the unit state, H (t) It is a hidden layer state.

[0106] The reset gate and update gate are controlled by an attention mechanism. The reset gate formula is:

[0107] r (t) =σ(attention[X (t) H (t-1) ]+b r )

[0108] r (t) For the reset gate, σ is the sigmoid function, which maps the computation result to the range (0, 1) to control information retention and output. `attention` represents a dynamic weighted summation using an attention mechanism; X (t)The signal is a graph, represented in Query matrix form; b r Indicates resetting the gate bias term, H (t-1) The calculation process for the key and value matrix is ​​as follows:

[0109]

[0110] Where d k It is X (t) The dimension of the vector is used to scale the score and prevent gradient explosion. Attention Scores represent the matching degree or relevance between the query and the key, that is, the raw score that measures the similarity between two vectors.

[0111] Attention Weights=softmax(Attention Scores)

[0112] The softmax function normalizes each element to the range [0,1], making the sum of each row equal to 1; AttentionWeights represents the proportion of importance of each candidate information to the final output.

[0113] Output = Attention Weights × H (t-1)

[0114] Output represents the attention[X] corresponding to the update gate / reset gate after applying the attention mechanism. (t) H (t-1) ].

[0115] Finally, H (t-1) Multiply by the attention weight.

[0116] Unit state calculation formula

[0117] C (t) =tanh(f θ [X (t) ,(r (t) ⊙H (t-1) )]+b c )

[0118]

[0119] Diffusion convolution is used to simulate the propagation of data flow between switches via random walks. X is a graph signal representing the inflow and outflow of data to the switch, X∈R. N×P f θ It is a diffuse convolutional filter, where θ is a trainable parameter; θ k,1 θ k,2Here are the filter parameters, k is the diffusion step (using a finite K-step stage), X is the graphical signal at a specific time step, and b... c To update the gate bias term. D o and D I These are the out-degree and in-degree diagonal matrices, respectively, and W is the weighted adjacency matrix.

[0120] Last update hidden status

[0121] H (t) =u (t) ⊙H (t-1) +(1-u (t) )⊙C (t)

[0122] u (t) =σ(attention[X (t) H (t-1) ]+b u )

[0123] b u This represents the hidden state bias term.

[0124] H (t) The Decoder outputs X′∈R N×P , representing the predicted value for the next time step, is used as the input to the LSTM neural network.

[0125] In the graph neural network part, Attention-GRU is used to enhance the capture of key time-series information, thereby more accurately extracting and transmitting important features in the data, and a diffusing convolution structure is used to capture the information of traffic transmission between switches.

[0126] Step 22: Construct an LSTM network. Based on the link characteristics output by the graph neural network, combined with bandwidth characteristics and task characteristics, predict the latency, jitter, packet loss rate and available bandwidth on each link (corresponding to each time step).

[0127] The LSTM network employs a two-layer LSTM structure, consisting of a first-layer LSTM, a second-layer LSTM, and a fully connected layer (MLP); the output of the LSTM is the hidden state h. t The MLP is used to decode it into four predictive features.

[0128] The Decoder's output X′∈R N×P The ReLU activation function is used to obtain the link features at each time step, which are then input into the first LSTM layer. The task information features, after being encoded, are input into the recurrent neural network as the initial state, including the number of bytes, data type, transmission frequency, request method, priority, duration, and connection state.

[0129] At each time step of the second-layer LSTM, the output of the first-layer LSTM is concatenated with the network bandwidth embedding feature, serving as the input to the second-layer LSTM. The output of the second-layer LSTM, after ReLU activation, is passed through a fully connected layer (MLP) to output four features representing latency, jitter, packet loss rate, and available bandwidth over a path (i.e., at each time step). The ReLU activation function is used for latency, jitter, and available bandwidth, while the Sigmoid activation function is used for packet loss rate.

[0130] For a path from the origin to the destination, the path is obtained from the predicted value of the path from the origin to the destination based on the predicted value of each link segment, calculated as follows:

[0131] Latency:

[0132]

[0133] τ total τ represents the total path delay, T represents the number of links in the path, and τ represents the total path delay. t This represents the time delay at the t-th segment (t-th time step).

[0134] Shaking:

[0135]

[0136] σ total_jitter This represents the total jitter of the path, where T represents the number of links in the path. This represents the jitter at the t-th link segment (t-th time step).

[0137] Packet loss rate:

[0138]

[0139] P total_loss This represents the packet loss rate of the path, where T represents the number of links in the path. This represents the packet loss rate at the t-th link segment (t-th time step).

[0140] Available bandwidth:

[0141]

[0142] B total_avail This represents the available bandwidth of the path, and T represents the number of links in the path. This represents the available bandwidth at the t-th link segment (t-th time step).

[0143] Step 23, the training strategy includes the following steps:

[0144] Step 231: Select the Huber loss function. During calculation, normalization is first required to standardize all parameters to the same order of magnitude, preventing numerical differences from affecting the effectiveness of the weights. For latency, jitter, and packet loss rate, divide by the maximum tolerable latency, jitter, and packet loss rate respectively. For available bandwidth, positive metrics need to be converted to negative metrics, i.e., (1 - available bandwidth / target bandwidth), as shown in the following formula:

[0145]

[0146] τ norm τ represents the normalized time delay. exp Maximum tolerable delay, σ norm σ represents the normalized jitter. exp Maximum tolerable jitter, P norm P represents the normalized packet loss rate. exp Maximum tolerable packet loss rate, B norm B represents the normalized available bandwidth. exp Maximum tolerable available bandwidth;

[0147] After normalization, the Huber function is applied to each parameter. The Huber threshold δ needs to be set according to the parameter characteristics to determine when to switch from squared loss to linear loss. For latency-sensitive parameters, a strict penalty for large deviations is required, so a threshold of 0.1-0.3 is chosen. Short-term fluctuations are acceptable, but continuous jitter is sensitive, so a jitter threshold of 0.2-0.3 is chosen. Packet loss has a significant impact, requiring rapid response to outliers, so a threshold of 0.05-0.1 is chosen. Bandwidth fluctuations are common, and short-term changes need to be tolerated, so a threshold of 0.3-0.5 is chosen.

[0148]

[0149] The final loss function is as follows, with relatively flexible weight allocation. For the standard case, the weight w... i You can select the following parameters: (latency: 0.3, jitter: 0.2, packet loss: 0.3, bandwidth: 0.2).

[0150]

[0151] Step 232: During training, the optimizer adopts the Adam optimizer and is first pre-trained on public datasets such as the Deep fingerping dataset.

[0152] Step 233: During initialization, the encoder and LSTM use a He normal distribution initializer. After inputting the historical event sequence into the encoder, its final state is used to initialize the decoder.

[0153] Step 234: During training, an early stopping strategy is adopted to prevent overfitting and enhance generalization performance. After pre-training on a public dataset, data is collected in the target scenario for fine-tuning.

[0154] LSTM performs well in modeling long-sequence dynamic changes and is suitable for processing complex network time-series data. The main reason for using two layers of LSTM in this scheme is to model time-series information in a hierarchical manner: the first layer of LSTM is used to initially capture the link time-series features output by the decoder, while the second layer of LSTM combines the output of the first layer with the network bandwidth embedding features at each time step to achieve deeper feature fusion and complex time-series relationship modeling, thereby predicting the latency, jitter, packet loss rate and available bandwidth on each path (corresponding to each time step).

[0155] By following the steps above, a trained neural network can be obtained. By inputting network topology, links, and task characteristics, it can predict latency, jitter, packet loss rate, and available bandwidth on any link, thereby obtaining the total latency, jitter, packet loss rate, and available bandwidth for a path.

[0156] Step 3: Using the multipath A* algorithm, multiple candidate paths are obtained based on the link latency characteristics predicted by the neural network. The candidate paths are then verified to meet QoS requirements based on jitter characteristics, packet loss rate characteristics, and available bandwidth characteristics. The path with the minimum latency that meets the QoS requirements is selected.

[0157] The multipath A* algorithm is used for path calculation, which is performed on the graph G = (V, E) of the network topology within the domain. The heuristic function used is F(n) = G(n) + H(n), where F(n) is the cost estimation function from the initial node to the target node n, G(n) is the actual cost from the initial node to node n in the state space, and a neural network is used to predict the delay. That is, after inputting the network topology and task information, the characteristics of each link in the multi-terminal link from the initial node to node n are input, and the neural network predicts the delay of each link. H(n) is the estimated cost from n to the target node, expressed as the number of hops * the average predicted delay (outliers removed). When the network topology does not change, the number of hops can be pre-calculated using Dijkstra's algorithm.

[0158] The multipath A* algorithm uses the predicted latency of the neural network to plan multiple candidate paths and verifies whether QoS requirements are met based on the jitter characteristics, packet loss rate characteristics, and available bandwidth characteristics of the neural network. The multipath A* algorithm sets the source switch and the target switch in the task information submitted by the switch to the controller as the start and end points of the A* algorithm, and sets the start and end points of the data flow as points A and B, respectively.

[0159] The process of the multipath A* algorithm is as follows:

[0160] Step 31: First, a standard A* algorithm process needs to be performed. Let the starting point be A and the ending point be B. Plan multiple paths from A to B. Initialize the open list, close list, and trace list to make all three lists empty.

[0161] Step 311: The search starts from point A. First, point A is added to the open list. At this point, the minimum value in the open list is taken. Initially, the open list only contains node A, so point A is removed from the open list and added to the closed list. According to G... golbal (G is the case where the data stream does not cross domains) local Extract the neighboring points of point A and add them to the open list. As shown in the figure, point A is now the parent node of the neighboring points. The arrow in the figure points to the parent node. Add the neighboring points and point A to the traceability table.

[0162] Step 312: For each adjacent point, calculate G(n) and H(n) one by one, finally obtaining F(n) = G(n) + H(n). Select the node with the smallest F(n) value in the open list, set this node as the current node, remove it from the open list, and add it to the closed list. Extract the adjacent points of the current point. Additionally, check if the adjacent points are in the open list; if not, add them to the open list. If the adjacent points are already in the open list, then a G(n) value determination is required.

[0163] Step 313: For adjacent points in the open list, calculate the G(n) value of the adjacent points, and compare the G(n) value according to the current path with the G(n) value in the original open list. If the current path G(n) value is less than the original open list G(n) value, the adjacent point is added to the traceability table with the current point as its parent node. Simultaneously, the H(n) value of this adjacent point is updated. If the current path G(n) value is greater than or equal to the original open list G(n) value, the adjacent points maintain the node relationship as in the original open list, and the H(n) value remains unchanged. Because in the diagram, the current point's G(n) value is greater than the original open list G(n) value, the node relationship follows the original parent-child relationship and the F value.

[0164] Step 314: Calculate the point with the smallest F(n) value in the open list, set this node as the current node, and list the nodes with the smallest F(n) values ​​in the open list according to the order in which they were added, with the most recently added node being preferred.

[0165] Step 315: Repeat the search and determination process until goal point B is added to the closed list, at which point the search is complete.

[0166] Step 32: After completing one iteration of the A* algorithm, find n deviation points and expand n different paths. The specific steps are as follows:

[0167] Step 321: Remove completed paths from the traceability table and sort them in ascending order based on F(n). Take out the first n points, which are the n deviation points.

[0168] Step 322: Based on the parent node information of the traceability table, reconstruct the path from the starting point A to a deviation point. At this point, it is necessary to calculate the open list, closed list, and traceability table of the path according to the A* algorithm.

[0169] Step 323: For each deviation path, start the A* algorithm process from the deviation point until the search is completed and new n paths are obtained. In the calculation process of the above n deviation paths, some redundant calculations are involved, namely the calculation results before the deviation point. By saving the global state of each step of the calculation in the previous steps, the cached global state can be used to reduce redundant calculations. At the same time, the A* algorithm process starting from the deviation point is processed concurrently to improve the calculation speed.

[0170] Finally, after all n+1 paths have been calculated, a path merging operation is performed using G(n) as the weight, which may result in a new path.

[0171] The specific process of path merging is as follows:

[0172] First, the calculated n+1 paths are collected together, each path represented by a sequence of nodes and accompanied by cumulative delay (g-value) information. Then, the longest common subsequence algorithm is used to extract common node segments as the merging skeleton. For fork segments and deviations, the delay of each path within that region is analyzed, and the branch with the smaller delay is selected as the representative scheme. Finally, the common segments and fork segments are concatenated to form the complete path.

[0173] Step 4: Select the path that meets QoS requirements and has the least latency as the target path, and send flow table rules to the switch through the communication protocol between the controller and the switch. The switch then forwards the data according to the flow table rules.

[0174] The above are merely specific steps of the present invention and do not constitute any limitation on the scope of protection of the present invention; all technical solutions formed by equivalent transformation or equivalent substitution fall within the scope of protection of the present invention; the parts of the present invention not described in detail are common knowledge to those skilled in the art.

Claims

1. A cross-domain network path selection method based on deep learning and the multi-path A* algorithm, characterized in that, The cross-domain network path selection method based on deep learning and the multi-path A* algorithm includes the following steps: Step 1, Define the network topology G golbal =(V global E global W global ); V global For all points V in the local domain local The set, E global For the edge E in the local domain local and the edge E of the connected domain inter W global This is a weighted adjacency matrix that characterizes the proximity of nodes; Step 2: Build a neural network for predicting effective latency, and use the network topology as input to the neural network to obtain network path and link latency features; Step 3: Using the multipath A* algorithm, candidate paths are obtained based on the link delay characteristics predicted by the neural network, and it is verified whether the candidate paths meet the QoS requirements. The path with the minimum delay that meets the QoS requirements is selected. Step 4: Select the path that meets QoS requirements and has the least latency as the target path, and send flow table rules to the switch through the communication protocol between the controller and the switch. The switch then forwards the data according to the flow table rules. The neural network is a graph neural network employing an Encoder-Decoder architecture. The input to the graph neural network is a graph signal X∈R. N×P This indicates the inflow and outflow traffic of the switch; The encoder employs an improved GRU architecture, including reset gates, update gates, cell states, and hidden layer states. The reset and update gates are controlled by an attention mechanism. The reset gate is represented as follows: r (t) =σ(attention[X (t) ,H (t-1) ]+b r ) r (t) For the reset gate, σ is the sigmoid function, which maps the computation result to the range (0, 1) to control information retention and output. `attention` represents a dynamic weighted summation using an attention mechanism; X (t) The signal is a graph, represented in Query matrix form; b r Indicates resetting the gate bias term, H (t-1) A key-value matrix; Where d k It is X (t) The dimension of the vector is used to scale the score and prevent gradient explosion. Attention Scores represent the matching degree or relevance between the query and the key, that is, the raw score that measures the similarity between two vectors. Attention Weights=softmax(Attention Scores) The softmax function normalizes each element to the range [0,1], making the sum of each row equal to 1; AttentionWeights represents the proportion of importance of each candidate information to the final output; Output=Attention Weights×H (t-1) Output represents the attention[X] corresponding to the update gate / reset gate after applying the attention mechanism. (t) H (t-1) ]; Finally, H (t-1) Multiplying by the attention weights, the cell state is represented as: C (t) =tanh(f θ [X (t) ,(r (t) ⊙H (t-1) )]+b c ) X is a graph signal representing the inflow and outflow of the exchange, X∈R N×P f θ It is a diffuse convolutional filter, where θ is a trainable parameter; θ k,1 θ k,2 Here are the filter parameters, k is the diffusion step (using a finite K-step stage), X is the graphical signal at a specific time step, and b... c To update the gate bias term; D o and D I These are the out-degree and in-degree diagonal matrices, respectively, and W is the weighted adjacency matrix; Last updated hidden status: H (t) =u (t) ⊙H (t-1) +(1-u (t) )⊙C (t) you (t) =σ(attention[X (t) ,H (t-1) ]+b u ) b u This indicates the hidden state bias term; Decoder outputs X′∈R N×P , representing the predicted value for the next time step, which serves as the input to the LSTM neural network.

2. The cross-domain network path selection method based on deep learning and the multi-path A* algorithm as described in claim 1, characterized in that, Step 2 includes the following steps: Step 21: Construct a graph neural network to model the network topology and obtain information on the traffic transmission between switches in historical time series. Step 22: Construct an LSTM network. Based on the link characteristics output by the graph neural network, combined with bandwidth characteristics and task characteristics, predict the latency, jitter, packet loss rate, and available bandwidth at each time step.

3. The cross-domain network path selection method based on deep learning and the multi-path A* algorithm as described in claim 2, characterized in that, In step 22, the process includes a first LSTM layer, a second LSTM layer, and a fully connected MLP layer. The fully connected MLP layer is used to output four predicted features. Decoder outputs X ′ ∈R N×P The link features at each time step are obtained through the ReLU activation function and then input into the first LSTM layer. At each time step of the second-layer LSTM, the output of the first-layer LSTM is concatenated with the network bandwidth embedding feature and used as the input of the second-layer LSTM. The output of the second-layer LSTM is activated by the ReLU function and then outputs four prediction features through a fully connected layer, representing the latency, jitter, packet loss rate, and available bandwidth at each time step.

4. The cross-domain network path selection method based on deep learning and the multi-path A* algorithm as described in claim 3, characterized in that, In step 22, the delay is: τ total τ represents the total path delay, T represents the number of links in the path, and τ represents the total path delay. t This represents the time delay at the t-th time step; Shaking: σ total_jitter This represents the total jitter of the path, where T represents the number of links in the path. This represents the jitter at the t-th time step; Packet loss rate: P total_loss This represents the packet loss rate of the path, where T represents the number of links in the path. This represents the packet loss rate at time step t. Available bandwidth: B total_avail This represents the available bandwidth of the path, and T represents the number of links in the path. This represents the available bandwidth at time step t.

5. The cross-domain network path selection method based on deep learning and the multi-path A* algorithm according to claim 2, characterized in that, Step 2 also includes: Step 23, train the LSTM network, specifically including the following steps: Step 231: The Huber loss function is selected as the loss function. During calculation, a normalization operation is first performed to standardize each predicted feature to the same order of magnitude, including: τ norm This represents the normalized delay. exp Maximum tolerable delay, σ norm σ represents the normalized jitter. exp Maximum tolerable jitter, P norm P represents the normalized packet loss rate. exp Maximum tolerable packet loss rate, B norm B represents the normalized available bandwidth. exp Maximum tolerable available bandwidth; After normalization, the Huber function is applied to each parameter. The threshold δ of Huber needs to be set according to the characteristics of the predicted features to determine when to switch from squared loss to linear loss. The latency threshold is selected as 0.1-0.3, the jitter threshold is selected as 0.2-0.3, the packet loss rate threshold is selected as 0.05-0.1, and the available bandwidth threshold is selected as 0.3-0.

5. Δ is the threshold, and x is the predicted feature; The final loss function takes the form of: Let δ be the normalized value of the i-th predicted feature. i w is the threshold for the i-th predicted feature. i The weights for the i-th prediction feature are: latency (0.3), jitter (0.2), packet loss rate (0.3), and available bandwidth (0.2). Step 232: During training, the optimizer adopts the Adam optimizer and is first pre-trained on public datasets such as the Deep fingerping dataset. Step 233: During initialization, the encoder and LSTM adopt the He normal distribution initializer. After the historical event sequence is input into the encoder, its final state is used to initialize the decoder. Step 234: During training, an early stopping strategy is adopted to prevent overfitting and enhance generalization performance. After pre-training on a public dataset, data is collected in the target scenario for fine-tuning.

6. The cross-domain network path selection method based on deep learning and the multi-path A* algorithm according to claim 1, characterized in that, Step 3 also includes: Step 31: Let the starting point be A and the ending point be B. Plan multiple paths from A to B and use the multi-path A-star algorithm to obtain the optimal path.

7. The cross-domain network path selection method based on deep learning and the multi-path A* algorithm according to claim 6, characterized in that, Step 31 specifically includes the following steps: Step 311: The search starts from point A. First, add point A to the open list. At this time, take the minimum value in the open list. In the initial stage, there is only one node A in the open list, so remove point A from the open list and add point A to the closed list. Take the adjacent points of point A and add them to the open list. Then add the adjacent points and point A to the trace table. Step 312: For adjacent points, calculate the actual cost G(n) from the initial node to node n and the estimated cost H(n) from n to the target node in the state space of each point in turn, and finally obtain F(n) = G(n) + H(n); Select the node with the smallest F(n) value in the open list, set this node as the current node, remove it from the open list and add it to the closed list, retrieve the neighboring nodes of the current node, check whether the neighboring nodes are in the open list, and add the neighboring nodes to the open list if they are not in the open list. If the adjacent point is already in the open list, then the G(n) value needs to be determined; Step 313: For adjacent points in the open list, calculate the G(n) value of the adjacent points, and calculate the G(n) value according to the current path and the G(n) value in the original open list. If the current path G(n) value is less than the original open list G(n) value, then the adjacent point takes the current point as its parent node, adds the adjacent point and the current point to the traceability table, and updates the H(n) value of this adjacent point; if the current path G(n) value is greater than or equal to the original open list G(n) value, then the adjacent point follows the node relationship in the original open list, and the H(n) value remains unchanged. Step 314: At this point, calculate the point with the smallest F(n) value in the open list, set this node as the current node, and rank the nodes with the smallest F(n) values ​​according to the order in which they were added to the open list, with the most recently added node being preferred. Step 315: Repeat the search and determination process until endpoint B is added to the closed list, at which point the search is complete.

8. The cross-domain network path selection method based on deep learning and the multi-path A* algorithm as described in claim 6, characterized in that, Step 3 also includes: Step 32: After completing the single A* algorithm process in Step 31, find n deviation points and expand into n different paths. The specific steps are as follows: Step 321: Remove completed paths from the traceability table and sort them in ascending order based on F(n). Take out the first n points, which are the n deviation points. Step 322: Based on the parent node information of the traceability table, reconstruct the path from the starting point A to a deviation point. At this time, it is necessary to calculate the open list, closed list, and traceability table of the path according to the A* algorithm. Step 323: For each deviation path, start the A* algorithm process from the deviation point until the search is completed and new n paths are obtained. In the calculation process of the above n deviation paths, some redundant calculations are involved. At this time, the caching mechanism is used to reduce redundant calculations, and the A* algorithm process starting from the deviation point is processed concurrently to improve the calculation speed. Finally, after all n+1 paths have been calculated, a path aggregation operation is performed using G(n) as the weight, which may result in a new path.

Citation Information

Patent Citations

  • SDN (Software Defined Network) routing path preferential method and device based on graph neural network, and medium

    CN118233363A