Forwarding path determination method, electronic device and readable storage medium

By utilizing network calculus algorithms and traditional path search algorithms to determine candidate forwarding paths in multi-service flow networks, the problem of inaccurate path planning in existing technologies is solved, achieving efficient and flexible path optimization and improving network efficiency and service quality.

WO2025241632A1PCT designated stage Publication Date: 2025-11-27ZTE CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/078775
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-05-20
Filing Date
2025-02-24
Publication Date
2025-11-27

AI Technical Summary

Technical Problem

Existing path planning schemes cannot cope with real-time changes in the network environment in networks with multiple service flows, resulting in inaccurate path planning. Furthermore, local dynamic planning cannot globally optimize the paths of all service flows, leading to paths that are not globally optimal.

Method used

By acquiring the service flow information of each target service flow, using network calculus algorithms and traditional path search algorithms, candidate forwarding paths are determined from the target logical network, and the target forwarding path is selected based on the service flow information. Combining network calculus algorithms and traditional path search algorithms, path planning is optimized to improve accuracy and flexibility.

Benefits of technology

It achieves high efficiency and flexibility in path planning in multi-service flow networks, ensuring that each service flow receives high-quality service guarantees and improving overall network efficiency and service quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025078775_27112025_PF_FP_ABST
    Figure CN2025078775_27112025_PF_FP_ABST
Patent Text Reader

Abstract

The present application belongs to the technical field of network communications. Disclosed are a forwarding path determination method, an electronic device and a readable storage medium. The method comprises: acquiring service flow information of each target service flow, wherein the target service flow is a service flow in a target logic network that corresponds to a target service flow category; on the basis of the service flow information corresponding to each target service flow and by means of a network calculus algorithm and a traditional path search algorithm, determining from the target logic network at least one candidate forwarding path corresponding to each target service flow; and on the basis of the network calculus algorithm and the service flow information corresponding to each target service flow, determining from among the at least one candidate forwarding path corresponding to each target service flow a target forwarding path for forwarding each target service flow.
Need to check novelty before this filing date? Find Prior Art

Description

Method for determining forwarding path, electronic device and readable storage medium

[0001] Cross-reference

[0002] The present application claims priority to the Chinese patent application No. 202410626423.8, filed on May 20, 2024, and entitled "Method for determining forwarding path, electronic device and readable storage medium", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD

[0003] Embodiments of the present application relate to the field of network communication technology, in particular to a method for determining a forwarding path, an electronic device and a readable storage medium. BACKGROUND

[0004] Currently, related path planning schemes usually use global static planning or local dynamic planning. However, in a network with multiple service flows coexisting, global static planning relies on network environment information obtained in advance, but the network environment may change with the determination of each path, so it cannot cope with real-time changes in the network, resulting in inaccurate path planning. Local dynamic planning may only consider the optimal solution of a certain service flow, but cannot globally optimize the paths of all service flows, resulting in a path that is not globally optimal, also having the problem of inaccurate path planning. SUMMARY

[0005] Embodiments of the present application provide a method for determining a forwarding path, an electronic device and a readable storage medium.

[0006] In a first aspect, a method for determining a forwarding path is provided. The method includes: obtaining service flow information of each target service flow, the target service flow being a service flow corresponding to a target service flow category in a target logical network; determining at least one candidate forwarding path corresponding to each target service flow from the target logical network based on the service flow information corresponding to each target service flow through a network calculus algorithm and a traditional path search algorithm; and determining a target forwarding path for forwarding each target service flow from the at least one candidate forwarding path corresponding to each target service flow according to the network calculus algorithm and the service flow information corresponding to each target service flow.

[0007] In a second aspect, an electronic device is provided. The electronic device includes a processor and a memory. The memory stores programs or instructions executable on the processor. When the programs or instructions are executed by the processor, the method of the first aspect is implemented.

[0008] In a third aspect, a readable storage medium is provided, and the readable storage medium stores at least one computer program. The computer program is loaded and executed by a processor to implement the method in the first aspect.

[0009] In a fourth aspect, a computer program product is provided, and the computer program product includes at least one computer program. The computer program is loaded and executed by a processor to implement the method in the first aspect.

[0010] It should be understood that the foregoing general description and the following detailed description are only exemplary and explanatory, and are not restrictive of the present application. BRIEF DESCRIPTION OF DRAWINGS

[0011] The accompanying drawings incorporated in and forming a part of the specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the application.

[0012] FIG. 1 shows a schematic diagram of a method for determining a forwarding path according to an example embodiment of the present application;

[0013] FIG. 2 shows a schematic diagram of modeling of arrival curve and service curve in the related art;

[0014] FIG. 3 shows a schematic diagram of analysis of end-to-end latency of TFA in the related art;

[0015] FIG. 4 shows a schematic diagram of analysis of end-to-end latency of PMOO in the related art;

[0016] FIG. 5 shows a network topology diagram according to an example embodiment of the present application;

[0017] FIG. 6 shows a schematic diagram of network path planning according to an example embodiment of the present application;

[0018] FIG. 7 shows another schematic diagram of a method for determining a forwarding path according to an example embodiment of the present application;

[0019] FIG. 8 is a structural schematic diagram of an electronic device according to an example embodiment. DETAILED DESCRIPTION

[0020] The example embodiments will be described in detail herein with reference to the accompanying drawings. The following description is with reference to the drawings, in which like numerals indicate like elements, unless otherwise described in the following description. The embodiments described in the following example embodiments are not representative of all embodiments consistent with the present application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of the present application as detailed in the appended claims.

[0021] FIG. 1 shows a flowchart of a method for determining a forwarding path according to an example embodiment of the present application. The method can be performed by an electronic device, which can include a network-side device. In other words, the method can be performed by software or hardware installed on the electronic device. The method can include the following steps:

[0022] S110: Obtain service flow information of each target service flow. The target service flow is a service flow in a target logical network corresponding to a target service flow category.

[0023] It can be understood that the service flow information refers to relevant parameters and attributes used to determine the forwarding path. Since the logical network includes multiple service flows, each service flow has a corresponding service flow category, and service flows of the same service flow category correspond to the same logical network, i.e., service flows of the same category are mapped to the same logical network for processing. In other words, the logical network is dynamically updated, and different service flow categories correspond to different logical networks. Therefore, the target logical network corresponds to the target service flow category, and the target service flow is a service flow in the target logical network corresponding to the target service flow category.

[0024] In addition, since some service flows may require higher bandwidth and priority, while other service flows may require lower bandwidth, if transmission paths are planned for all service flows at the same time, the requirements of different service flows may not be met. Therefore, determining the service flow path according to the service flow category can improve the overall network efficiency, service quality, and the flexibility and efficiency of path determination.

[0025] S120: Based on the service flow information corresponding to each target service flow, at least one candidate forwarding path corresponding to each target service flow is determined from the target logical network by using a network calculus algorithm and a traditional path search algorithm.

[0026] Understandably, calculating end-to-end latency for network traffic flows in deterministic networks is complex. End-to-end latency includes intra-node latency and link latency, with intra-node latency exhibiting greater fluctuations and thus higher analytical complexity. While queuing theory and stochastic processes can achieve good analytical results, the increasing demands for Quality of Service (QoS) reveal shortcomings in traditional theories for characterizing and analyzing the real-time network performance of complex traffic flows. For example, queuing theory, used to describe task arrival and processing and calculate performance metrics such as average waiting time and queue length, typically performs static analysis, making it difficult to adapt to the uncertainty and randomness of real-time networks. Therefore, Network Calculus (NC) theory is introduced. NC theory focuses on the limits and probability distributions of performance metrics, adapting to the uncertainties and randomness required by modern communication systems. Therefore, in this application, the latency cost on a global scale can be obtained through network calculation. Then, the latency cost is used as a constraint condition and superimposed into the traditional path algorithm for calculation, thereby obtaining at least one candidate forwarding path corresponding to each target service flow. At the same time, since the network environment is constantly changing, the multi-path strategy in this application can provide higher adaptability and flexibility.

[0027] In network computation, performance analysis of service flows and quality of service typically relies on modeling the arrival curves of service flows and the service capabilities of network nodes. Latency is then calculated using the modeled arrival and service curves.

[0028] (1) For the arrival curve

[0029] For all 0 ≤ s ≤ t, if the arrival process A(t) of the business flow satisfies: A(t) - A(s) ≤ α(ts);

[0030] The business flow then has a deterministic arrival curve α.

[0031] Furthermore, the definition of the arrival curve is equivalent to the following for all t≥0:

[0032] Typically, the token bucket model is a typical arrival curve flow modeling process, where the single-velocity single-bucket arrival curve can be: α(t)=ρt+σ;

[0033] Where (ρ,σ) are the parameters of the single-velocity single-bucket model, and the parameters correspond to... and l i , l i The length of the data packet representing the business flow, τ i This represents the data packet sending cycle.

[0034] (2) Regarding the service curve

[0035] The modeling of network node service capability uses a service curve, which describes the change of service rate of a network node or service over time when processing requests. It can be used to represent the processing capability and efficiency of a network node or service. The service curve is usually represented by a function, which represents the service rate changing over time.

[0036] Suppose a service system S has an arrival process A(t) and a departure process A*(t). When t≥0, it satisfies:

[0037] It is said that the service system provides service with a certain service curve β(t) to the input data. The typical service curve modeling is (R, e), assuming that the switch service rate is R0, and e is the additional device forwarding static delay of the data packet in the switch. The total service curve of the switch is: switch (t)=R0(t-e)

[0038] In the case of considering specific traffic models and server models, the upper bound of network performance can ensure a certain quality level in the network, including the upper bound of delay and the upper bound of packet loss. From the perspective of network calculus theory, if the traffic data input to the network has a certain arrival curve, and the system provides a clear service curve to the input traffic, the following delay calculation process will provide an upper bound of delay.

[0039] (3) Delay calculation

[0040] Traffic flow A flows into a network system with a service curve β, and it is known that traffic flow A has a certain arrival curve α. At time t, the upper bound of delay D(t) of the traffic flow is:

[0041] Where h(α, β) represents the maximum horizontal distance between the two curves α and β.

[0042] Modeling with a single-speed single-bar arrival curve, the service curve of the network service node is modeled as the delay upper bound horizontal distance of the (R, e) model, as shown in Figure 2.

[0043] Alternatively, the network calculus algorithm includes but is not limited to TFA algorithm (Total Flow Analysis), SFA algorithm (Separated Flow Analysis), and PMOO algorithm (Power of Paying Multiplexing Only Once).

[0044] TFA (True-Flatness Arrangement) considers the sum of all traffic flows in the network. It assumes that all traffic flows may arrive at any node in the network simultaneously, leading to the maximum latency. Its principle is shown in Figure 3. At each crossover node, all traffic flows f1, f2, and f3 passing through the same network node S4 are treated as a single aggregated flow. The arrival curves of all traffic flows arriving at that node are summed. Considering the global service curve within the node, the latency is calculated using the delay theorem. The upper bound of the latency of the aggregated flow at each crossover node is iteratively calculated. For nodes S0, S1, S2, and S3 without multiple aggregated flows, only the arrival curve of one traffic flow needs to be processed. The global service curve is used to calculate the latency, and the end-to-end latency is obtained by summing the latency of the traffic flow passing through each node. TFA is suitable for preliminary and rapid analysis, but it may not provide the most accurate latency limits, especially in networks with highly multiplexed traffic flows. The SFA (Side-Flatness Arrangement) algorithm considers the end-to-end service curve by connecting the remaining service curves, guaranteeing the latency boundaries of the flow within each crossover node. SFA considers each flow separately and does not combine all traffic flows for analysis. This method can provide more accurate results than TFA, especially when there are significant differences in the characteristics of service flows. SFA, by considering the characteristics of each flow separately, can more accurately reflect the actual network behavior.

[0045] The main idea of ​​the PMOO algorithm is based on the phenomenon of stream serialization on the computational flow path to compute more stringent end-to-end latency boundaries. This is achieved by defining a smart order of application of the concatenated convolution theorem and the residual service theorem to begin connecting service curves of as many nodes as possible, these curves being formed by f... i The same set of interference flows passes through (applying the cascaded convolution theorem); then the calculation guarantees f. i The residual service curves (residual service theorem) of the cascaded system are shown in Figure 4. When calculating the end-to-end delay of f1, the common flow path of f1 and f2 can be obtained first. The service nodes S0, S1, and S2 are concatenated and treated as a single network service node. The residual service theorem is then applied to S3 and S4 respectively to calculate the service curves of f1 and f2. In this process, only one calculation along f1 is needed. i Interference flows along the path. The PMOO algorithm considers the multiplexing of service flows in the network, calculating the delay only once for the multiplexed portion. This method can more accurately capture the interaction of service flows in the network and provide a delay limit that is closer to reality.

[0046] Alternatively, traditional path search algorithms include, but are not limited to, the A* algorithm, policy routing algorithms, and heuristic path selection algorithms.

[0047] S130: determining, according to the network calculus algorithm and the service flow information corresponding to each target service flow, a target forwarding path for forwarding each target service flow from at least one candidate forwarding path corresponding to each target service flow.

[0048] It can be understood that at least one candidate forwarding path corresponding to each target service flow is determined at S120, different candidate forwarding paths can have different delay costs, and the network calculus algorithm can be used to evaluate the delay costs of multiple candidate forwarding paths at the same time, so as to determine the target forwarding path for forwarding each target service flow.

[0049] In the embodiments of the present application, by obtaining the service flow information of each target service flow, the target service flow is the service flow corresponding to the target service flow category in the target logical network, and then based on the service flow information corresponding to each target service flow, at least one candidate forwarding path corresponding to each target service flow is determined from the target logical network by using the network calculus algorithm and the traditional path search algorithm, and finally the target forwarding path for forwarding each target service flow is determined from at least one candidate forwarding path corresponding to each target service flow according to the network calculus algorithm and the service flow information corresponding to each target service flow, which realizes path planning based on the network calculus algorithm, ensures that each service flow obtains high-quality service guarantee in terms of delay, and simplifies the constraint conditions of planning all service flows together by using service flow classification, improves the accuracy, flexibility and efficiency of path planning, and thus improves the overall network efficiency and service quality.

[0050] In one implementation manner, the service flow information includes a source node, a destination node, a maximum packet length, a burst size and an arrival curve model; and based on the service flow information corresponding to each target service flow, at least one candidate forwarding path corresponding to each target service flow is determined from the target logical network by using the target logical network, the network calculus algorithm and the traditional path search algorithm, which can include: for each target service flow, based on the source node, the destination node, the maximum packet length, the burst size and the arrival curve model corresponding to the target service flow, a comprehensive cost value of the target service flow for each target node in the target logical network is determined by using the network calculus algorithm, wherein the comprehensive cost value is used to represent the cost of the target service flow from the source node to the destination node through the target node; target constraint conditions corresponding to each target node of each target service flow are determined according to each comprehensive cost value; and at least one candidate forwarding path of each target service flow satisfying the corresponding target constraint condition is determined according to the traditional path search algorithm and the target constraint conditions corresponding to each target node of each target service flow.

[0051] Wherein, the source node and the destination node respectively refer to the starting point and the end point of the service flow transmission, the maximum packet length refers to the maximum size limit of the service flow data, the burst size refers to the burstiness of the service flow transmission, and the arrival curve model refers to a mathematical model for describing and predicting the change of the service flow, which is based on the arrival curve and reflects the change of the arrival rate of the service flow at different nodes.

[0052] In this implementation, the network calculus algorithm is used to calculate multiple path schemes on the basis of the traditional path algorithm, that is, the service flow information is taken as the input to search for multiple path schemes, and in each path scheme search, the network calculus algorithm is used to quickly calculate the comprehensive cost value from the current node to the target node, which is taken as the highest path screening item of the path search.

[0053] Optionally, the traditional path search algorithm can be a heuristic algorithm, wherein the comprehensive cost value calculated by the network calculus algorithm can be taken as the preferred item of the heuristic function.

[0054] Wherein, in one implementation, the comprehensive cost value includes the sum of the products of each target cost and the corresponding preset weight; and the target cost includes at least one of the following:

[0055] (1) the delay cost of the target service flow from the target node to the destination node.

[0056] (2) the cost of the arrival rate of the target service flow at the target node occupying the service rate of the target node.

[0057] (3) the load cost of the target node.

[0058] (4) the bandwidth utilization cost of the target node.

[0059] (5) the packet loss rate cost of the target node.

[0060] Further, in another implementation, the target cost includes the delay cost, and before determining the comprehensive cost value of the target service flow for each target node in the target logical network by the network calculus algorithm, the method further includes: for any target node, determining the delay cost of the target service flow from the target node to the destination node according to the arrival curve of at least one first service flow, wherein the first service flow is the service flow corresponding to the category of the target service flow and determined at least one candidate forwarding path before the target service flow, and the at least one candidate forwarding path corresponding to the first service flow includes the target node.

[0061] It can be understood that, in the case that the target cost includes the delay cost, when the delay cost is calculated, the arrival curve of the service flow corresponding to the path passing through the node needs to be merged to calculate the delay cost. In the implementation manner, by using the existing path information, the delay of the target service flow at the current node can be determined more accurately, thereby further improving the accuracy of the candidate forwarding path determination.

[0062] The above implementation manners are described below by taking a traditional path search algorithm as the A* algorithm and a network calculus algorithm as the TFA algorithm. The A* algorithm is a heuristic search algorithm. By using a heuristic function to estimate the minimum cost from the current node to the target node, the search space is reduced and the search speed is accelerated.

[0063] In the A* algorithm, the path selection candidate set of the service flow is output according to the input service flow information. The following formula is used as an important decision criterion for path search in the A* algorithm: f(n) = g(n) + heuristic(n); wherein f(n) is the comprehensive cost value of node n. When the next node to be traversed is selected, the node with the minimum comprehensive cost value is always selected. g(n) is the cost of node n from the starting point. The bandwidth, service rate and packet loss rate in the network passing through the node are mainly used for constraint. The actual cost of the node is set as the ratio of the service rate of the node to the node load, the load condition, the current bandwidth utilization rate of the node, the packet loss rate and the sum of the path length. heuristic(n) is the estimated cost of node n from the end point. For heuristic(n), the heuristic function between node n and the target node is used. According to the service rate R of the adjacent nodes around the current node and the conflict between multiple service flows in the same type of service flow, the estimated delay from the current node to the target node is calculated by using the TFA method, and is added to the estimated cost.

[0064] It should be noted that g(n) is recursively generated from the source node, and heuristic(n) is recursively generated from the destination node.

[0065] Exemplarily, it is assumed that FIG. 5 is a network topology diagram of a target logical network, wherein src0, src1 and src2 are the sending nodes of the service flow, sink0, sink1 and sink2 are the receiving nodes of the service flow, and the intermediate S iNetwork nodes (i = 0, 1, 2, 3, ..., 8) are service forwarding nodes. Taking a target service flow f0 as an example, its source0 = src1, destination0 = sink1. After going from src1 to S3, the comprehensive cost of the neighboring node S0 of node S3 is calculated as follows: f(0) = g(0) + heuristic(0);

[0066] Among them, S i ∈neighbor(S0) represents S i L is an adjacent node of S0. 30 This represents the link between nodes S3 and S0; R3 represents the ratio of the service curve parameter rate used by the current business flow through this node, which is used to measure the current load of the node. R3 will be updated as the logical network is updated; PLR0 represents the packet loss rate of the current node S0. This indicates the link utilization rate, and it's necessary to determine if it exceeds a threshold. Increasing by 1 indicates adding the path length traversed; one is added for each additional node traversed. However, when using PMOO to optimize the network structure, it's necessary to mark that the logical node actually represents two path node lengths, requiring an increment of two. TFA(ρ0,L) 0i )=h(α0,β0) is used to calculate f0 in L 0i The latency on the link is h(α0,β0), which is the maximum horizontal distance between the f0 arrival curve and the S0 service curve, where: α0(t)=ρ0t+σ0, β0(t)=R0(t-e0).

[0067] It should be noted that, based on the existing path f0, when searching for the shortest path f1, when passing through the path f0, the arrival curves need to be merged (α0(t)+α1(t)) to calculate the TFA delay.

[0068] In another implementation, based on the traditional path search algorithm and the target constraints of each target service flow at each target node, at least one candidate forwarding path is determined for each target service flow that satisfies the corresponding target constraints. This includes: for each target service flow, after determining the first candidate forwarding path based on the traditional path search algorithm and the target constraints of each target node, proceeding to the step of determining the comprehensive cost of the target service flow for each target node in the target logical network based on the source node, destination node, maximum packet length, burst size, and arrival curve model corresponding to the target service flow, through network calculus algorithm, until at least one candidate forwarding path corresponding to the target service flow is determined.

[0069] Exemplarily, based on the first shortest path, at least one candidate forwarding path corresponding to the target service flow is determined by taking the traditional path algorithm, for example, K-shortest pathes (KSP). After the candidate forwarding path from the source node to the destination node is found by using the A* algorithm, the found candidate forwarding path is put into a result set, and is set as the first candidate forwarding path of f0. Based on the first candidate forwarding path of the current f0, the step of determining the comprehensive cost value of the target service flow for each target node in the target logical network by using the network calculus algorithm based on the source node, the destination node, the maximum packet length, the burst size and the arrival curve model corresponding to the target service flow can introduce additional constraint conditions into the path exploration algorithm, for example, the weight of the node can be considered in the search process, the length of the path is limited, the specific node or area passed through by the path is limited, and the like, that is, the repeated path is avoided by modifying the heuristic function of the algorithm, adding the weight of the edge or introducing the pruning strategy, and the like. Exemplarily, the finally planned path is shown in FIG. 6.

[0070] Further, in yet another implementation manner, the method further includes: in a case where the first candidate forwarding path cannot be determined, the target service flow is prohibited from joining the network, and until the first candidate forwarding path is determined, the target service flow is allowed to join the network.

[0071] In an implementation manner, before the at least one candidate forwarding path meeting the corresponding target constraint condition of each target service flow is determined, the method further includes: for any current target service flow in each target service flow, based on the arrival curve of the current target service flow at each target node, the residual service curve of each target node is determined respectively, wherein the arrival curve is determined based on the arrival curve model corresponding to the current target service flow; for any current target node in each target node, in a case where the residual service curve does not meet the transmission requirement of a second service flow, or the residual service curve does not meet the basic resource requirement of the current target node, the current target node is set to prohibit the current target service flow to pass through, wherein the second service flow is a service flow whose candidate forwarding path is determined after the current target service flow.

[0072] Wherein, the residual service curve not meeting the transmission requirement of the second service flow means that if the current target service flow is allowed to pass through the current target node, the transmission of the subsequent service flow, that is, the second service flow, will be affected; assuming that the current target service flow f9 passes through the current target node, the residual service curve is calculated as If the current service curve of the node, that is, the residual service curve β i (t)<mink∈{0,1,2,3…,11}(α k(t), i.e. the joining of the current target service flow f9, will greatly affect the transmission of the second service flow, the current target node is set to prohibit the current target service flow to pass through. The residual service curve not satisfying the basic resource requirement of the current target node means that the joining of the current target service flow will make the service capacity of the current target node insufficient. That is, the joining makes the service capacity of this node insufficient, and the node will be set to prohibit the target service flow to pass through. In this way, the congestion risk of the node can be reduced, and the network performance can be optimized and the transmission delay can be reduced, so as to improve the overall network quality.

[0073] In an implementation manner, the target forwarding path for forwarding each target service flow is determined from at least one candidate forwarding path corresponding to each target service flow according to a network calculus algorithm and service flow information corresponding to each target service flow, and includes the following steps:

[0074] S132: At least one candidate path set is determined according to at least one candidate forwarding path corresponding to each target service flow, wherein each candidate path set includes one candidate forwarding path determined by each target service flow under the same target logical network.

[0075] Exemplarily, the target service flows include f0, f1 and f2, the candidate forwarding path corresponding to f0 includes A0, A1 and A2, the candidate forwarding path corresponding to f1 includes B0, B1 and B2, and the candidate forwarding path corresponding to f2 includes C0, C1 and C2. The at least one candidate set can include: {A0, B0, C0}, {A0, B1, C0}, {A0, B2, C0}, {A0, B3, C0}, {A0, B3, C0}……, a total of 3! * 3 = 27 candidate sets, wherein "!" represents factorial.

[0076] S133: The service curve of each related node is determined based on the service flow information of each target service flow, wherein each related node is a node passed through by at least one candidate forwarding path corresponding to each target service flow.

[0077] S134: The end-to-end delay of each candidate forwarding path of each target service flow is determined based on a network calculus algorithm and the service curve of each related node.

[0078] That is, the end-to-end delay of each candidate forwarding path is accurately recalculated by using network calculus in combination with the service curve of each related node and the service flow arrival curve.

[0079] S136: The total delay of each candidate path set is determined based on the end-to-end delay of each candidate forwarding path.

[0080] S138: determine the candidate forwarding path corresponding to each target service flow in the candidate path set with the minimum total delay as the target forwarding path of the target service flow.

[0081] It can be understood that after obtaining the end-to-end delay of each candidate forwarding path, the total delay of each candidate path set can be determined, and the candidate forwarding path corresponding to each target service flow in the candidate path set with the minimum total delay is determined as the target forwarding path of the target service flow.

[0082] In this implementation, after calculating multiple path schemes on the traditional path algorithm by using the network calculus algorithm, the total delay of each candidate path set is determined by using the network calculus algorithm, so as to obtain the optimal path set, i.e., the candidate path set with the minimum total delay.

[0083] Optionally, in another implementation, the target forwarding path for forwarding each target service flow is determined from at least one candidate forwarding path corresponding to each target service flow according to the network calculus algorithm and the service flow information corresponding to each target service flow, and includes the following steps:

[0084] S132: determine at least one candidate path set according to at least one candidate forwarding path corresponding to each target service flow, wherein each candidate path set includes one candidate forwarding path determined under the same target logical network for each target service flow.

[0085] S133: determine the service curve of each related node based on the service flow information of each target service flow, wherein each related node is a node passed through by at least one candidate forwarding path corresponding to each target service flow.

[0086] S134: determine the end-to-end delay of each candidate forwarding path of each target service flow based on the network calculus algorithm and the service curve of each related node.

[0087] S140: obtain the end-to-end delay constraint of each target service flow.

[0088] S142: determine the candidate forwarding path set that satisfies the end-to-end delay constraint most based on the end-to-end delay constraint of each target service flow and the end-to-end delay of each candidate forwarding path.

[0089] S144: for the candidate path set satisfying the same number of candidate forwarding paths, determine the total delay of the candidate path set based on the end-to-end delay of each candidate forwarding path.

[0090] S146: determine the candidate forwarding path corresponding to each target service flow in the candidate path set with the minimum total delay as the target forwarding path of the target service flow.

[0091] In this way, the overall delay can be further optimized on the basis of meeting the delay constraint.

[0092] In an implementation, before obtaining the service flow information of each target service flow, the method further comprises: obtaining network information of the target network, and service priorities corresponding to each service flow in the target network; classifying each service flow according to the service priority to obtain at least one service flow category, wherein each service flow in each service flow category has the same service priority, and the at least one service flow category includes the target service flow category; and constructing the target logical network according to the at least one service flow category and the network information of transmitting each service flow.

[0093] It can be understood that the implementation proposes a target logical network construction manner, which is used to generate a target logical network corresponding to different categories of service flows according to an actual physical network topology before path planning. In this way, service flows in the same category are mapped into the same target logical network for processing.

[0094] Further, in another implementation, after determining the target forwarding path for forwarding each target service flow from at least one candidate forwarding path corresponding to each target service flow, the method further comprises: updating the logical network based on the target forwarding path corresponding to each target service flow; obtaining a next service flow category, wherein the service flows in the next service flow category have a priority lower than that of the target service flow; determining the next service flow category as the target service flow category, and returning to the step of obtaining the service flow information of each target service flow until the target forwarding path corresponding to each service flow in all service flow categories is obtained.

[0095] That is, the target logical network corresponding to the service flow category with the highest priority is the initial logical network, and after determining the target forwarding path corresponding to each service flow in the current service flow category, the target network is updated, and the target forwarding path corresponding to each service flow in the service flow category with the next priority is determined, that is, the target forwarding path is determined for each service flow in each category in a descending order of priority.

[0096] Further, in yet another implementation, the target logical network includes a plurality of nodes, and each node has a service curve for each service flow; updating the logical network based on the target forwarding path corresponding to each target service flow comprises: for each forwarding node included in each target forwarding path, determining a residual service curve according to the service curve and an arrival curve of a third service flow, and updating the service curve based on the residual service curve, wherein the third service flow includes the target service flow passing through the node, and a service flow passing through the node and having a priority higher than that of the target service flow.

[0097] It can be understood that the logical network includes a plurality of nodes, each node has a service curve for each service flow, each service curve is determined based on the switch service rate of each node and the forwarding static delay of the corresponding service flow in the switch; for each forwarding node included in each target forwarding path, the residual service curve is determined as the difference between the service curve and the sum of the arrival curves of each service flow passing through the node. Illustratively, continuing to refer to FIG. 6, according to the nodes passing through the f0 and f1 paths, the new logical network node service model parameters β i (t) = β i (t) - α0(t) (i = 3, 4, 5), β i (t) = β i (t) - α1(t) (i = 0, 3, 6). In addition, the service flow with the sink0 destination node must pass through S1 and S2, and by using this, S1 and S2 can be concatenated into a network node S9, and the S9 network node service model parameters (R9, e9) are updated by concatenation.

[0098] The construction and updating of the logical network are described below.

[0099] The logical network is an abstract representation independent of the actual network, and by using the related theories of network calculus, a calculable network model is established for the current type of service flow according to the provided network service node model and service flow arrival model. The flow of applying the logical network can include the following steps:

[0100] Step 1: Obtain the network service node model and the service flow arrival model and related parameters.

[0101] Step 2: Initialize the logical network: for the first type of service flow, the connection relationship and performance parameters of the logical network nodes and links are set according to the actual network, for example, according to the network service node model and the service flow arrival model.

[0102] Step 3: Update the logical network: for subsequent types of service flows, the occupation of the network node service capacity by high priority needs to be considered, and the residual service curve that guarantees the current service flow in the network is calculated.

[0103] In an implementation, the method further comprises: in the case of adding the at least one new service flow, assigning a target priority to the new service flow, wherein the target priority is lower than the corresponding lowest priority among the service flows. That is, if the new service flow is given priority in determining the transmission path, it can cause the transmission path of the existing service flow to be adjusted, thereby interfering with or affecting the existing service flow. To avoid this, a target priority is assigned to the new service flow. If the priorities of the at least one new service flow are different, the target priority of each new service flow is re-set according to the original priority order corresponding to each new service flow, and it should be noted that the target priority is lower than the corresponding lowest priority among the service flows. The implementation is described below through a specific example.

[0104] Suppose four new service flows f i (i = 9, 10, 11, 12) are added, the source node of each new service flow is denoted as source i (i = 9, 10, 11, 12), and the destination node is denoted as destination i (i = 9, 10, 11, 12), the maximum packet length is l i (i = 9, 10, 11, 12), and the packet sending interval is τ i (i = 9, 10, 11, 12), and the arrival curve parameters are and σ i = l i In this example, a target priority is assigned to the new service flow, i.e., the paths of the service flows are maintained, and a new logical network is obtained by subtracting the services of the original service flow paths in the logical network. The service curve of node S i is and the (R i , e i ) parameters of each node are obtained. Then, f9 is priority 2, f 10 , f 11 is priority 1, and f 12 is priority 0, and they are processed in the order of priorities 2, 1, and 0. After the service flow classification, a logical network is constructed, and at this time, a node in the logical network can be set with an attribute for indicating prohibited passage and permissible passage, which can be saved using a Boolean variable. In the new logical network, for the current highest priority 2, i.e., the new service flow f9, whose source node is src2 and destination node is sink2, when calculating the remaining service of each node, the service curve of node S i is and the (R i , e i) parameter, determine whether the node can pass through, assuming that f9 will pass through the node, calculate the remaining service curve as If the current service curve β i (t) < min k∈{0, 1, 2, 3…, 12} (α k (t)), that is, the addition of the current service flow f9 will greatly affect the transmission of the low-priority 1,0 service flow, the node is set to prohibit the newly added priority 2 service flow from passing through.

[0105] After obtaining the candidate forwarding path of the newly added service flow f9 using the A* algorithm, the end-to-end delay of each candidate forwarding path is calculated, and an optimal one is selected as the target forwarding path of f9. Then the logical network is updated, at this time, the arrival curve of f 10 , f 11 and α 10 (t) + α 11 (t) are used to determine whether the addition of f 10 , f 11 will cause the service capacity of a node to be insufficient, at this time, the source node of f 11 is src0 and the destination node is sink0, but S2 node is prohibited from passing through, so there is no reachable path for the service flow, f 11 is not added to the network, which will compete for the service of the original network, congest the network, and the service flow is discarded until other service flows exit the network, the service capacity of a node is left, and a reachable path can be constructed, then the service flow is added to the network. Then the paths of f 10 and f 11 are planned, the logical network of f 12 for priority 0 is updated, it is determined whether it is prohibited from passing through a node, then n reachable path schemes are calculated, and finally the target forwarding path is determined. From now on, all newly added service flows are added to the network to plan paths or discarded.

[0106] It should be noted that the determination of the target forwarding path of the newly added service flow is the same as the steps in the embodiment shown in FIG. 1, and the same technical effects can be achieved. To avoid repetition, details are not repeated here.

[0107] Based on the above various embodiments, another flowchart of a method for determining a forwarding path is provided, as shown in FIG. 7, which can include the following steps:

[0108] S710: Obtain network information and service flow information, and classify.

[0109] Obtain network information, including but not limited to network topology, network node service model, device node service rate, link transmission rate, node scheduling strategy, etc., obtain service flow information, including but not limited to source node, destination node, service flow category, maximum packet length, burst size, arrival curve model. And classify the service flow, which can be classified according to the priority of the service.

[0110] S720: Initialize the logical network.

[0111] According to the network information and the information after the network classification of the service flow, a logical network is constructed, and the service capability of the service node of the logical network is initialized as the equivalent node service rate under the network service model.

[0112] S730: Whether the last category service flow.

[0113] According to the service flow classification of S710, it is judged whether it is the last category service flow, if yes, go to S380; otherwise, continue;

[0114] S740: Calculate multiple path schemes on the traditional path algorithm using the network calculus TFA algorithm.

[0115] Take the service flow information and network information as input, search for multiple path schemes, in each path scheme search, use the network calculus TFA algorithm to quickly calculate the delay cost of the current node to the target node, the cost of the service flow arrival rate occupying the node service rate, the load cost, the bandwidth utilization cost and the packet loss rate cost, and take the sum of the above costs as the highest path screening item of the path search. The specific algorithm can be a traditional path search algorithm and a heuristic algorithm, etc., wherein the TFA calculation delay cost is the preferred item of the heuristic function.

[0116] S750: Recalculate the end-to-end delay for each path scheme through network calculus.

[0117] After multiple path schemes are given by S740, according to each generated path scheme and the different scheduling modes of the nodes, determine the service curve thereof. Combine the service curve of the corresponding node and the service flow arrival curve, and use network calculus to accurately calculate the end-to-end delay of each flow in each scheme. Any one of TFA, SFA, PMOO algorithm can be selected, or each is calculated once, and the smallest one is selected.

[0118] S760: Compare and select the target forwarding path scheme for the current service flow.

[0119] Compare and select the target forwarding path scheme. Compare the calculated path schemes, and select the path that meets the constraint condition and has the optimal end-to-end delay.

[0120] S770: update the logical network.

[0121] According to the currently selected target forwarding path scheme, the logical network is updated, and the service capability parameters of each network service node are updated.

[0122] S780: output all service flow paths.

[0123] The all service flow deterministic paths are output, and the deterministic end-to-end delay of the service flow and the remaining service capability parameters of the network nodes are given.

[0124] In this embodiment, through the superposition of network calculus principles, the planned path is more accurate and efficient. Based on the given service model and arrival curve model, the business flow classification is used to simplify the constraint conditions of planning all service flows together, and then the logical network is constructed, the model of network calculus is embedded in the path planning, and various applications obtain high-quality service guarantee in terms of delay, thereby improving the overall network efficiency and service quality.

[0125] As shown in FIG. 8, the embodiment of the present application further provides an electronic device 800, which comprises a processor 810 and a memory 820, and the memory 820 stores programs or instructions executable on the processor 810. When the programs or instructions are executed by the processor 810, the processes of the above-mentioned embodiments shown in FIGS. 1 to 7 are implemented, and the same technical effects are achieved. To avoid repetition, details are not described herein.

[0126] The embodiment of the present application further provides a readable storage medium, and the readable storage medium stores programs or instructions executable by a processor. When the programs or instructions are executed by the processor, the processes of the above-mentioned embodiments shown in FIGS. 1 to 7 are implemented, and the same technical effects are achieved. To avoid repetition, details are not described herein.

[0127] The processor is the processor in the terminal in the above-mentioned embodiments. The readable storage medium includes a computer readable storage medium, such as a computer readable only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc. In some examples, the readable storage medium can be a non-transitory readable storage medium.

[0128] The embodiment of the present application further provides a chip, which comprises a processor and a communication interface. The communication interface is coupled with the processor, and the processor is configured to execute programs or instructions to implement the processes of the above-mentioned embodiments shown in FIGS. 1 to 7, and achieve the same technical effects. To avoid repetition, details are not described herein.

[0129] It should be understood that the chip mentioned in the embodiments of the present application can also be referred to as a system chip, a system chip, a chip system or a system on chip, etc.

[0130] The embodiment of the present application further provides a computer program / program product stored in a storage medium, which is executed by at least one processor to implement the processes of the above-mentioned embodiments shown in FIG. 1 to FIG. 7, and can achieve the same technical effects. To avoid repetition, details are not described herein.

[0131] It should be noted that, in this document, the terms "comprising", "including", or any other variant thereof are intended to cover a non-exclusive inclusion, so that processes, methods, articles, or devices that comprise a list of elements not only include those elements, but also include other elements that are not expressly listed, or other elements inherent in such processes, methods, articles, or devices. Without more limitations, the element defined by the sentence "comprising a" does not exclude the presence of additional identical elements in the process, method, article, or device that includes the element. In addition, it should be pointed out that the scope of the methods and devices in the embodiments of the present application is not limited to the order of performing the functions shown or discussed, and can also include performing the functions in a substantially simultaneous manner or in a reverse order, for example, the described method can be performed in an order different from that described, and various steps can also be added, omitted or combined. In addition, the features described with reference to certain examples can be combined in other examples.

[0132] From the above description of the embodiments, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be realized by means of computer software products and general hardware platforms, and of course, can also be realized by hardware. The computer software product is stored in a storage medium (such as ROM, RAM, magnetic disc, optical disc, etc.), and includes a plurality of instructions for making the terminal or network side device execute the method described in each embodiment of the present application.

[0133] The embodiments of the present application are described above in combination with the drawings, but the present application is not limited to the above-mentioned specific embodiments, and the above-mentioned specific embodiments are only illustrative, but not restrictive. Those skilled in the art can make many forms of embodiments under the inspiration of the present application without departing from the scope of the present application and the protection scope of the claims, and these embodiments all belong to the protection scope of the present application.

Claims

1. A method for determining a forwarding path, the method comprising: obtaining traffic flow information of each target traffic flow, the target traffic flow being a traffic flow in a target logical network corresponding to a target traffic flow category; determining, based on the traffic flow information corresponding to each target traffic flow, at least one candidate forwarding path corresponding to each target traffic flow in the target logical network by using a network calculus algorithm and a traditional path search algorithm; and determining, according to the network calculus algorithm and the traffic flow information corresponding to each target traffic flow, a target forwarding path for forwarding each target traffic flow from the at least one candidate forwarding path corresponding to each target traffic flow. The traffic flow information comprises a source node, a destination node, a maximum packet length, a burst size and an arrival curve model. The determining, based on the traffic flow information corresponding to each target traffic flow, at least one candidate forwarding path corresponding to each target traffic flow in the target logical network by using the target logical network, the network calculus algorithm and the traditional path search algorithm, comprises: determining, for each target traffic flow, a comprehensive cost of the target traffic flow with respect to each target node in the target logical network based on the source node, the destination node, the maximum packet length, the burst size and the arrival curve model corresponding to the target traffic flow by using the network calculus algorithm, wherein the comprehensive cost is used to represent a cost of the target traffic flow from the source node to the destination node through the target node; determining target constraint conditions corresponding to each target node for each target traffic flow according to the comprehensive costs; and determining at least one candidate forwarding path for each target traffic flow satisfying the target constraint condition corresponding to the target traffic flow according to the traditional path search algorithm and the target constraint conditions corresponding to each target node for each target traffic flow. The comprehensive cost comprises a sum of products of each target cost and a corresponding preset weight. The target cost comprises at least one of: a delay cost of the target traffic flow from the target node to the destination node; a cost of an arrival rate of the target traffic flow at the target node occupying a service rate of the target node; a load cost of the target node; a bandwidth utilization rate cost of the target node; and a packet loss rate cost of the target node. When the target cost comprises the delay cost, the method further comprises, before the determining, by using the network calculus algorithm, the comprehensive cost of the target traffic flow with respect to each target node in the target logical network: determining, for any target node, a delay cost of the target traffic flow from the target node to the destination node according to an arrival curve of at least one first traffic flow, wherein the first traffic flow is a traffic flow corresponding to the target traffic flow category and determined before the target traffic flow, and the target node is included in at least one candidate forwarding path of the first traffic flow. Before the determining at least one candidate forwarding path for each target traffic flow satisfying the target constraint condition corresponding to the target traffic flow, the method further comprises: ​ ​ ​ 2. The method of claim 1, wherein, ​ ​ ​ ​ ​ 3. The method of claim 2, wherein, ​ ​ ​ ​ ​ ​ ​ 4. The method of claim 3, wherein, ​ ​ 5. The method of claim 2, wherein, ​ For any current target service flow in the target service flows, a residual service curve of each target node is determined based on an arrival curve of the current target service flow at each target node, wherein the arrival curve is determined based on an arrival curve model corresponding to the current target service flow; For any current target node in the target nodes, if the residual service curve does not meet the transmission requirement of a second service flow, or the residual service curve does not meet the basic resource requirement of the current target node, the current target node is set to prohibit the current target service flow from passing through, wherein the second service flow is a service flow for which a candidate forwarding path is determined after the current target service flow.

6. The method of claim 1, wherein, The determining of the target forwarding path for forwarding each target service flow from at least one candidate forwarding path corresponding to each target service flow according to the network calculus algorithm and service flow information corresponding to each target service flow comprises: At least one candidate path set is determined according to at least one candidate forwarding path corresponding to each target service flow, wherein each candidate path set comprises one candidate forwarding path determined by each target service flow under the same target logical network. Service curves of each related node are determined based on service flow information of each target service flow, wherein each related node is a node through which at least one candidate forwarding path corresponding to each target service flow passes. An end-to-end delay of each candidate forwarding path of each target service flow is determined based on the network calculus algorithm and the service curves of each related node. A total delay of each candidate path set is determined based on the end-to-end delay of each candidate forwarding path. A candidate forwarding path corresponding to each target service flow in the candidate path set with the minimum total delay is determined as the target forwarding path of each target service flow.

7. The method of any one of claims 1-6, wherein, Before the obtaining of the service flow information of each target service flow, the method further comprises: Network information of a target network and service priorities corresponding to each service flow in the target network are obtained. Each target service flow is classified according to the service priorities, to obtain at least one service flow category, wherein the service priorities of each service flow in each service flow category are the same, and the at least one service flow category comprises the target service flow category. The target logical network is constructed according to the at least one service flow category and network information for transmitting each service flow.

8. The method of claim 7, wherein, After the determining of the target forwarding path for forwarding each target service flow from at least one candidate forwarding path corresponding to each target service flow, the method further comprises: The target logical network is updated based on the target forwarding path corresponding to each target service flow. A next service flow category is obtained, wherein the service flow in the next service flow category has a priority lower than that of the target service flow. The next service flow category is determined as the target service flow category, and the step of obtaining the service flow information of each target service flow is performed until the target forwarding path corresponding to each service flow in all service flow categories is obtained.

9. The method of claim 8, wherein, The target logical network comprises a plurality of nodes, each node having a service curve for each service flow; The updating of the logical network based on the target forwarding paths corresponding to the target service flows comprises: For each forwarding node included in each target forwarding path, a residual service curve is determined according to the service curve and an arrival curve of a third service flow, and the service curve is updated based on the residual service curve, wherein the third service flow comprises a target service flow passing through the node and a service flow passing through the node and having a higher priority than the target service flow.

10. The method of claim 7, wherein, The method further comprises: In the case of adding at least one new service flow, a target priority is assigned to the new service flow, wherein the target priority is lower than a corresponding lowest priority among the service flows. 11.An electronic device comprising a processor, a memory, and a program or instructions stored on the memory and executable on the processor, the program or instructions being executed by the processor to implement the steps of the method for determining a forwarding path according to any one of claims 1-10. 12.A readable storage medium having a program or instructions stored thereon, the program or instructions being executed by a processor to implement the steps of the method for determining a forwarding path according to any one of claims 1-10.

Citation Information

Patent Citations

  • Transmission path determination method and device, server and storage medium

    CN114040467A

  • Single-domain customizable QoS routing method and device, electronic equipment and storage medium

    CN115834471A

  • Deterministic route setting method and device, electronic equipment and storage medium

    CN116545915A

  • Path selection method and control server

    US20130308463A1