Service path adjustment method and apparatus
By determining the pre-deployment path in the network that meets the delay requirements of the service flow to be deployed, and updating the delay of the deployed service flow based on the bandwidth utilization threshold and the upper bound of the port queue delay, the problem of re-judging all deployed service flows for each service flow deployed in the prior art is solved, and the effect of reducing network computing volume and reducing complexity is achieved.
Patent Information
- Application Number
- PCT/CN2024/124005
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-28
- Filing Date
- 2024-10-10
- Publication Date
- 2025-06-05
AI Technical Summary
The prior art needs to re-judgment whether the end-to-end delay of all deployed service flows exceeds the delay requirement, resulting in huge computing volume and increasing network load.
Business path adjustments are performed when the delay exceeds the demand for the required delays of the service flow.
It reduces the amount of recomputation of the network, reduces the complexity of service path measurement, and avoids the problems of increasing network load and changing packet encapsulation.
Smart Images

Figure CN2024124005_05062025_PF_FP_ABST
Abstract
Description
Service path adjustment method and device
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This disclosure is based on Chinese patent application CN202311615712.X, filed on November 28, 2023, entitled “Business Path Adjustment Method and Device,” and claims priority to the patent application. All of the disclosed contents are incorporated into this disclosure by reference. Technical Field
[0003] The embodiments of the present disclosure relate to the field of network communication technology, and in particular to a service path adjustment method and device. Background Art
[0004] Deterministic networks provide end-to-end latency guarantees for deterministic service flows. The end-to-end latency must be less than the service's end-to-end latency requirement. After a deterministic service flow is deployed, the service path is fixed. However, as the number of service flows in the network continues to increase, the end-to-end latency of the deployed deterministic service flow may change and no longer meet the service's end-to-end latency requirement.
[0005] In related technologies, end-to-end latency of service flows is often measured or detected through similar probing methods to determine whether it meets the end-to-end latency requirements of deterministic service flows. However, if the end-to-end latency of all deployed service flows is re-evaluated each time a service flow is deployed to determine whether it exceeds the latency requirement, a huge amount of computation would be required, increasing network load, changing packet encapsulation, and increasing device processing.
[0006] Summary of the Invention
[0007] The embodiments of the present disclosure provide a service path adjustment method and apparatus to at least solve the problem in related technologies that each time a service flow is deployed, it is necessary to re-determine whether the end-to-end delay of all deployed service flows exceeds the delay requirement, which increases the network burden.
[0008] According to one embodiment of the present disclosure, a service path adjustment method is provided, comprising: determining a pre-deployed path that meets the delay requirements of a service flow to be deployed, and the bandwidth utilization of a first priority queue of each node in the pre-deployed path; comparing the bandwidth utilization with a bandwidth utilization threshold corresponding to each node; and if there is a node whose bandwidth utilization is greater than the bandwidth utilization threshold, determining a new bandwidth utilization threshold and an upper bound of a port queuing delay corresponding to the node; updating the end-to-end delay of a deployed service flow corresponding to the node based on the new bandwidth utilization threshold and the upper bound of the port queuing delay, and performing service path adjustment if the end-to-end delay is greater than the delay requirement of the deployed service flow.
[0009] According to another embodiment of the present disclosure, a service path adjustment device is provided, comprising: a determination module for determining a pre-deployed path that meets the delay requirement of a service flow to be deployed, and a bandwidth utilization rate of a first priority queue of each node in the pre-deployed path; a comparison module for comparing the bandwidth utilization rate with a bandwidth utilization threshold corresponding to each node, and if there is a node whose bandwidth utilization rate is greater than the bandwidth utilization threshold, determining a new bandwidth utilization threshold and an upper bound of a port queuing delay corresponding to the node; and an adjustment module for updating the end-to-end delay of a deployed service flow corresponding to the node according to the new bandwidth utilization threshold and the upper bound of the port queuing delay, and performing service path adjustment if the end-to-end delay is greater than the delay requirement of the deployed service flow.
[0010] According to another embodiment of the present disclosure, a computer-readable storage medium is provided, in which a computer program is stored. The computer program is configured to execute the steps of any one of the above method embodiments when running.
[0011] According to another embodiment of the present disclosure, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to perform the steps in any one of the above method embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] FIG1 is a block diagram of the hardware structure of a switch running a service path adjustment method according to an embodiment of the present disclosure;
[0013] FIG2 is a network topology diagram of a deterministic network according to an embodiment of the present disclosure;
[0014] FIG3 is a flow chart of a service path adjustment method according to an embodiment of the present disclosure;
[0015] FIG4 is a structural block diagram of a service path adjustment device according to an embodiment of the present disclosure;
[0016] FIG5 is a flowchart of a method for threshold selection and queuing delay calculation according to an embodiment of the present disclosure;
[0017] FIG6 is a flowchart of a method for new service deployment and path delay update according to an embodiment of the present disclosure;
[0018] FIG7 is a second flowchart of a method for new service deployment and path delay update according to an embodiment of the present disclosure;
[0019] FIG8 is a schematic diagram of a service path according to the first embodiment of the present disclosure;
[0020] FIG9 is a schematic diagram of a service path according to a second embodiment of the present disclosure;
[0021] FIG10 is a schematic diagram of a service path according to the third embodiment of the present disclosure. DETAILED DESCRIPTION
[0022] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings and in conjunction with embodiments.
[0023] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0024] The method embodiments provided in the embodiments of the present disclosure can be executed in a router, a switch or a similar controller. Taking running on a switch as an example, FIG1 is a hardware structure block diagram of a switch running the service path adjustment method of the embodiment of the present disclosure. As shown in FIG1 , the switch may include one or more (only one is shown in FIG1 ) processors 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor or a programmable logic device) and a memory 104 for storing data, wherein the above-mentioned switch may also include a transmission device 106 and an input and output device 108 for communication functions. It can be understood by those skilled in the art that the structure shown in FIG1 is only for illustration and does not limit the structure of the above-mentioned switch. For example, the switch may also include more or fewer components than those shown in FIG1 , or have a configuration different from that shown in FIG1 .
[0025] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the service path adjustment method in the embodiment of the present disclosure. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, implementing the above-mentioned method. The memory 104 may include a high-speed random access memory and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely located relative to the processor 102, and these remote memories may be connected to the switch via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0026] The transmission device 106 is used to receive or transmit data via a network. A specific example of the aforementioned network may include a wireless network provided by the switch's communications provider. In one embodiment, the transmission device 106 includes a network interface controller (NIC), which can be connected to other switches via a base station to enable communication with the Internet. In another embodiment, the transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0027] The embodiment of the present disclosure can run on a deterministic network. Figure 2 is a network topology diagram of a deterministic network according to the embodiment of the present disclosure. As shown in Figure 2, the network includes: a controller and multiple nodes (node1 to node 8), wherein the controller orchestrates and deploys each node in the business path through network calculations.
[0028] In this embodiment, a service path adjustment method running on the above-mentioned switch or deterministic network is provided. FIG3 is a flow chart of the service path adjustment method according to an embodiment of the present disclosure. As shown in FIG3 , the flow chart includes the following steps:
[0029] Step S302: determining a pre-deployed path that meets the latency requirement of the service flow to be deployed, and a bandwidth utilization rate of a first priority queue of each node in the pre-deployed path;
[0030] In step S302 of this embodiment, determining a pre-deployment path that meets the latency requirement of the service flow to be deployed includes:
[0031] Step S1: for any node in a deterministic network, respectively configure a bandwidth utilization threshold ladder for multiple queues corresponding to the node, wherein the bandwidth utilization threshold ladder includes multiple bandwidth utilization value ranges divided by multiple bandwidth utilization thresholds.
[0032] For example, based on experience, multiple thresholds are set for different priority queues on a node: 10%, 20%, 30%, 40%, 50%, and 70%. The corresponding threshold steps are: [0, 10%] first step, [10%, 20%] second step, [20%, 30%] third step, [30%, 40%] fourth step, [40%, 50%] fifth step, [50%, 70%] sixth step, and [70%, 100%] seventh step.
[0033] In this embodiment, different queues at the same node or different nodes may be set with the same bandwidth utilization threshold level, or may be set with different bandwidth utilization threshold levels.
[0034] Step S2: Obtain the priority and end-to-end delay requirement of the service flow to be deployed, and determine the queue whose queue priority corresponds to the priority of the service flow to be deployed as the first priority queue.
[0035] For example, if the priority of the service flow to be deployed is level 5, the queue with a priority of 5 on the node is determined as the first priority queue, so as to transmit the service flow to be deployed through the first priority queue.
[0036] Step S3: Determine the bandwidth utilization threshold and the upper bound of the port queuing delay of the node according to the bandwidth utilization of the first priority queue.
[0037] Step S4, calculate the end-to-end delay by superimposing the node processing delay, the port queuing delay upper bound and the link delay, and obtain a pre-deployed path that meets the service delay requirement in step S2.
[0038] The upper bound of the end-to-end delay of deterministic business flows is dynamically calculated through network calculations to ensure the delay determinism of the business flows.
[0039] Step S304: Compare the bandwidth utilization with the bandwidth utilization threshold corresponding to each node. If there is a node whose bandwidth utilization is greater than the bandwidth utilization threshold, determine a new bandwidth utilization threshold and a new port queuing delay upper bound corresponding to the node.
[0040] In this embodiment, when the bandwidth utilization of the first priority queue is less than or equal to its corresponding bandwidth utilization threshold, it indicates that the pre-deployed path does not affect the end-to-end delay of other business flows, the path of the pre-deployed business flow is feasible, and the pre-deployed path can be directly deployed.
[0041] In step S304 of this embodiment, determining a new bandwidth utilization threshold corresponding to the node includes: determining a bandwidth utilization value range in which the bandwidth utilization corresponding to the node is located, and determining the maximum bandwidth utilization threshold corresponding to the bandwidth utilization value range as the new bandwidth utilization threshold.
[0042] For example, when the bandwidth utilization of the node is 55%, which is within the bandwidth utilization value range of the sixth step [50%, 70%], 70% is determined as the new bandwidth utilization threshold.
[0043] In step S304 of this embodiment, determining the upper bound of the port queuing delay corresponding to the node includes: determining, based on the bandwidth utilization of the second priority queue, the new upper bound of the port queuing delay of the first priority queue under the new bandwidth utilization threshold; wherein the second priority queue includes one or more queues, and the priority of the second priority queue is higher than that of the first priority queue.
[0044] Step S306: Update the end-to-end delay of the deployed service flow corresponding to the node according to the new bandwidth utilization threshold and the new upper bound of the port queuing delay, and adjust the service path when the end-to-end delay is greater than the delay requirement of the deployed service flow.
[0045] In step S306 of this embodiment, updating the end-to-end delay of the deployed service flow corresponding to the node includes calculating and updating a new end-to-end delay by superimposing the node processing delay, the new port queuing delay upper bound, and the link delay.
[0046] In one embodiment, the service path adjustment includes: reselecting a service path that meets the latency requirement of the service flow to be deployed from multiple service paths between the source node and the target node as a new pre-deployed path; determining the new pre-deployed path that does not affect the end-to-end latency of other deployed service flows after the path is deployed as the final pre-deployed path, and deploying the final pre-deployed path into the deterministic network.
[0047] In one embodiment, the adjusting the service path includes adjusting the service path of the deployed service flow until the service path of the deployed service flow meets the delay requirement of the deployed service flow again.
[0048] In one embodiment, the method further includes: deploying the pre-deployed path in the deterministic network when there is no node whose bandwidth utilization is greater than the current bandwidth utilization threshold; or deploying the pre-deployed path in the deterministic network when the end-to-end delay is not greater than the delay requirement of the deployed service flow.
[0049] Through the above steps, the new bandwidth utilization threshold and queuing delay upper bound are determined only when the bandwidth utilization of a node's queue exceeds the bandwidth utilization threshold. This eliminates the need to recalculate each time a new service flow is added, significantly reducing the amount of network recalculation. This solves the problem in related technologies where each time a service flow is deployed, the network burden is increased by re-determining whether the end-to-end delay of all deployed service flows exceeds the delay requirement, thereby reducing the complexity of service path measurement.
[0050] Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present disclosure is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, disk, CD), including a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, or switch, etc.) to execute the methods described in each embodiment of the present disclosure.
[0051] This embodiment also provides a service path adjustment device for implementing the above-mentioned embodiments and preferred implementations. Details already described will not be repeated. As used below, the term "module" may refer to a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation using hardware, or a combination of software and hardware, is also possible and contemplated.
[0052] FIG4 is a structural block diagram of a service path adjustment device according to an embodiment of the present disclosure. As shown in FIG4 , the device includes: a determination module 10 , a comparison module 20 and an adjustment module 30 .
[0053] A determination module 10 is configured to determine a pre-deployed path that meets the latency requirements of the service flow to be deployed, and a bandwidth utilization rate of a first priority queue of each node in the pre-deployed path;
[0054] a comparison module 20 configured to compare the bandwidth utilization with the bandwidth utilization threshold corresponding to each node, and if there is a node whose bandwidth utilization is greater than the bandwidth utilization threshold, determine a new bandwidth utilization threshold and a port queuing delay upper bound corresponding to the node;
[0055] The adjustment module 30 is configured to update the end-to-end delay of the deployed service flow corresponding to the node according to the new bandwidth utilization threshold and the upper bound of the port queuing delay, and adjust the service path when the end-to-end delay is greater than the delay requirement of the deployed service flow.
[0056] It should be noted that the above modules can be implemented through software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.
[0057] Deterministic networks provide end-to-end latency guarantees for deterministic service flows. This end-to-end latency must be less than the service's end-to-end latency requirements. Once a deterministic service flow is deployed, the service path becomes fixed. However, as the number of service flows in the network increases, the end-to-end latency of the deployed deterministic service flow may change and no longer meet the service's end-to-end latency requirements. Existing solutions measure the end-to-end latency of service flows (including sending measurement packets) to determine whether the end-to-end latency requirements are met. This measurement approach increases network load, changes packet encapsulation, and increases device processing.
[0058] In order to reduce complexity, the present disclosure proposes a method and device for updating path delays based on network calculus. Network calculus is an end-to-end delay calculation technology based on arrival curves and service curves. Network calculus theory transforms complex nonlinear queuing problems into mathematical models that are easy to analyze by introducing minimum addition algebra, and then derives system performance through the mathematical relationship between models, and can derive the network's delay and backlog boundaries. By establishing the arrival curve and service curve model of network nodes through network calculus, the upper bound of the end-to-end delay of the service flow can be accurately calculated for different service flows, providing guidance for delay assurance for deterministic service deployment.
[0059] In addition, if each time a service flow is deployed, the end-to-end delay of all deployed service flows is re-judged to see whether it exceeds the delay requirement, the amount of calculation will be huge, which will increase the burden on the system. In the embodiment of the present disclosure, an improved bandwidth utilization threshold method is also proposed, which can greatly reduce the amount of recalculation and optimize the path update method.
[0060] The embodiments of the present disclosure provide a method and apparatus for updating path delay based on network calculation. The method uses a network calculation algorithm when performing deterministic service path planning and calculation, calculates the upper bound of the end-to-end service delay, and selects a path that meets the deterministic service delay requirements.
[0061] The above-mentioned method for updating path delays based on network calculation includes threshold selection and queuing delay calculation methods, namely, preset bandwidth utilization threshold steps for the ports of all nodes in the network, calculate the threshold based on the bandwidth utilization of the current priority queue, and calculate the upper bound of the port queuing delay under the current threshold through a network calculation algorithm. Based on the calculated queuing delay, a method for updating the end-to-end service path delay is further proposed. Based on the calculated upper bound of the port queuing delay, a pre-deployed path that meets the end-to-end delay requirements of the newly deployed service is calculated. The bandwidth utilization of the current priority of the node ports passed through on the pre-deployed path is checked to see if it exceeds a threshold. If so, a new threshold is recalculated and selected. The upper bound of the port queuing delay under the new threshold is then calculated through network calculations. The end-to-end delay of the affected service flows of the same priority on this port is also recalculated. If the new end-to-end delay of all affected service flows is less than the delay requirement, the pre-deployed path meets the requirements and can be deployed. If the new end-to-end delay of some affected service flows exceeds the delay requirement, the path of the service flow pre-deployed according to the policy is infeasible and the route is reselected and recalculated, or the path of the affected service flow is adjusted.
[0062] In the disclosed embodiments, bandwidth utilization thresholds are preset for ports of all nodes in a deterministic network. Each node includes multiple queues of different priorities, wherein multiple thresholds are set for queues of different priorities. The thresholds can be set based on empirical values or obtained in other ways. For example, the thresholds can be set at 10%, 20%, 30%, 40%, 50%, and 70%, etc. Different thresholds are used as a step, with [0, 10%] being the first step, [10%, 20%] the second step, [20%, 30%] the third step, [30%, 40%] the fourth step, [40%, 50%] the fifth step, [50%, 70%] the sixth step, and [70%, 100%] the seventh step.
[0063] The thresholds of different priority queues can be set to the same or different thresholds can be set respectively;
[0064] The node ports of the entire network can be set to the same or different.
[0065] Business flows of different priorities enter queues of different priorities for queuing and forwarding.
[0066] In the network calculation algorithm, based on the bandwidth utilization thresholds of the different priority queues at the node port, the upper bound of the queuing delay of the corresponding priority queue under different bandwidth utilization thresholds can be calculated. Among them, the traffic of the high-priority queue will affect the upper bound of the queuing delay of the low-priority queue. When calculating the upper bound of the low-priority queue delay, it is necessary to also bring the bandwidth utilization of the high-priority queue into the network calculation algorithm for calculation. Regarding the selection of thresholds and the calculation of queuing delay, it is necessary to query the bandwidth utilization of the current priority queue and select the upper bound of the threshold step where the current bandwidth utilization is located as the bandwidth utilization threshold (Threshold) of the current priority queue. At the same time, the bandwidth utilization of the queuing high-priority queue is used as a parameter, and the network calculation algorithm is used to calculate the upper bound of the queuing delay D of the current priority queue at the bandwidth utilization threshold. When the bandwidth utilization of the current priority queue is less than the threshold, the queuing delay D will not exceed the threshold. As the number of service flows deployed at the current priority increases, the bandwidth utilization also increases. When it exceeds the threshold, the system enters the next threshold level. The upper limit of the next threshold level is selected as the bandwidth utilization threshold for the current priority queue. The queuing delay D under the current threshold is then calculated. This selection and calculation process is repeated in this order.
[0067] For example, assuming there are eight priority queues (0-7), when calculating the upper bound of the queuing delay for priority 5, the bandwidth utilization of priority 7 and priority 6 queues must be used as input parameters for the network calculation algorithm. Since the current bandwidth utilization of priority 5 queue is 5%, the first threshold step for this queue is [0, 10]. Therefore, the upper bound of the first step, 10%, is selected as the bandwidth utilization threshold for the current priority queue. Furthermore, the bandwidth utilization of priority 6 and 7 queues is used as a parameter to determine the upper bound D for the current priority 5 queue at the 10% bandwidth utilization threshold. This is the upper bound of the queuing delay for priority 5 queues below the 10% threshold. If the bandwidth utilization of priority 5 queue increases to 11% due to increased service flow deployment, the corresponding bandwidth utilization threshold, Threshold, is set to 20%.
[0068] In this embodiment, when multiple service flows of the same priority are forwarded from the queue of the same port of a certain node, these service flows are regarded as an aggregated flow.
[0069] FIG5 is a flow chart of a method for threshold selection and queuing delay calculation according to an embodiment of the present disclosure. As shown in FIG5 , the method includes the following steps:
[0070] Step S502, querying the bandwidth utilization of the current priority queue;
[0071] Step S504: Select the upper limit of the threshold step where the current bandwidth utilization is located as the bandwidth utilization threshold Threshold of the current priority queue;
[0072] Step S506: Query the bandwidth utilization of the high priority queue as a parameter and use the network calculation algorithm to calculate the upper limit D of the queuing delay of the current priority queue at the threshold Threshold;
[0073] Step S508: Determine whether the bandwidth utilization of the current priority exceeds the threshold. If so, go to step S504; otherwise, go to step S510.
[0074] Step S510, loop step S508.
[0075] The above process uses the maximum threshold within the bandwidth utilization tier to calculate the queuing delay upper bound for the current port. This simplifies the calculation of the queuing delay upper bound for aggregated flows of the same priority level, eliminating the need to calculate the queuing delay upper bound for each new service flow. The queuing delay upper bound is updated only when the aggregated flow bandwidth exceeds the preset bandwidth utilization threshold.
[0076] In the network-calculated path delay update method of this embodiment, the end-to-end service delay also needs to be determined. The end-to-end service delay is determined by superimposing the node processing delay, port queuing delay, and link delay. The port queuing delay is calculated using the above-mentioned queuing delay calculation method under different thresholds to obtain the queuing delay upper bound D.
[0077] When planning and calculating deterministic service paths, network calculation algorithms are used to select paths that meet service delay requirements and calculate the upper bound of the service end-to-end delay. When a new deterministic service needs to be deployed, the controller obtains the characteristic information of the deterministic service flow that needs to be deployed, including end-to-end delay requirements and priority, etc. When calculating the service path, the upper bound of the queuing delay on the port is obtained through the priority information and the current priority queue bandwidth utilization threshold, and the processing delay and link delay of each hop are superimposed. The calculated end-to-end delay is less than the service end-to-end delay requirement as the pre-deployed path. Afterwards, the controller compares the new bandwidth utilization of the current priority queue on all node ports on the pre-deployed path (the bandwidth utilization after pre-deploying the new service) with the current bandwidth utilization threshold;
[0078] If the bandwidth utilization is less than the current threshold, the newly pre-deployed service flow does not affect the end-to-end delay of other service flows, the path of the pre-deployed service flow is feasible, and the new service flow is directly deployed.
[0079] If the bandwidth utilization threshold is greater than the current bandwidth utilization threshold, the newly pre-deployed service flow will affect the upper bound of the port queuing delay for aggregated flows in other queues of the same priority, thus affecting the end-to-end delay. In this case, the bandwidth utilization threshold needs to be updated based on the threshold selection and queuing delay calculation methods described above, and the queuing delay upper bound D corresponding to the new bandwidth utilization threshold needs to be calculated.
[0080] That is, recalculate the end-to-end delay of each flow in the affected converged flow of the same priority queue to see if it exceeds its end-to-end delay requirement. If the end-to-end delay of each affected service flow after recalculation is less than the end-to-end delay requirement, the new pre-deployed service flow path is feasible and the new service flow is directly deployed. If the end-to-end delay of some affected flows after recalculation is greater than the end-to-end delay requirement, the pre-deployed service flow path is not feasible, or the path of the affected service flow is adjusted. There are many strategies to choose from, such as:
[0081] Strategy 1: If the current pre-deployed service flow path is not feasible, recalculate another path that meets the latency requirements and repeat the above process to check whether the new pre-deployed path affects other service flows. If no impact is found, the new pre-deployed path is feasible.
[0082] Strategy 2: Continue to use the path of the current pre-deployed service flow, adjust the paths of other affected service flows, and iteratively calculate new paths for other affected service flows until the end-to-end delay of all affected service flows is less than the delay requirement.
[0083] FIG6 is a flow chart of a method for new service deployment and path delay update according to an embodiment of the present disclosure. As shown in FIG6 , the method includes the following steps:
[0084] Step S601: The controller configures bandwidth utilization threshold ladders for ports of all nodes in the deterministic network;
[0085] Step S602: The controller obtains characteristic information of a deterministic service flow to be deployed, wherein the characteristic information includes end-to-end delay requirements and service priorities.
[0086] Step S603: The controller determines a bandwidth utilization threshold Threshold and a queuing delay upper bound D on the port according to the service priority and the current bandwidth utilization of the priority queue on the port.
[0087] Step S604: The controller calculates the end-to-end delay by adding the node processing delay, the port queuing delay upper bound, and the link delay, and calculates a pre-deployed path that meets the service delay requirement.
[0088] As shown in FIG7 , after step S604 of this embodiment, the method further includes the following steps:
[0089] Step S605: Determine whether the new bandwidth utilization of the current priority queue on all node ports along the pre-deployment path (the bandwidth utilization after pre-deploying the new service) exceeds the current threshold.
[0090] If the new bandwidth utilization does not exceed the bandwidth utilization threshold Threshold, step S606 is executed;
[0091] If the new bandwidth utilization exceeds the bandwidth utilization threshold Threshold, then execute step S607;
[0092] Step S606: The newly pre-deployed service flow does not affect the end-to-end delay of other service flows, the path of the pre-deployed service flow is feasible, and the new service flow is directly deployed;
[0093] Step S607: The newly pre-deployed service flow will affect the upper bound of the port queuing delay for the aggregated flows in other queues of the same priority, and will also affect the end-to-end delay. Based on the threshold selection and the updated bandwidth utilization threshold from the queuing delay calculation method, the queuing delay upper bound D corresponding to the new bandwidth utilization threshold is calculated.
[0094] Step S608: recalculate the end-to-end delay of each flow in the affected aggregated flow in the same priority queue, and determine whether it is greater than its end-to-end delay requirement;
[0095] If the recalculated end-to-end delay of each affected service flow is less than the required end-to-end delay value, the process returns to step S606;
[0096] If the recalculated end-to-end delay of each affected service flow is greater than or equal to the required end-to-end delay value, execute step S609;
[0097] Step S609: Select Strategy 1. If the pre-deployed path for the service flow is not feasible, recalculate another pre-deployed path that meets the latency requirement, and return to Step S605. Select Strategy 2. Adjust the paths of the affected service flows and iteratively calculate new paths for all affected service flows.
[0098] Step S610: Determine whether the end-to-end delay of all affected service flows is less than the delay requirement. If so, execute step S611; otherwise, execute step S612;
[0099] Step S611: Update the path of the affected service flow, and use the pre-deployed path for the new service;
[0100] Step S612: The new service path calculation fails and cannot be deployed.
[0101] To facilitate understanding of the technical solutions provided by the present disclosure, embodiments of specific scenarios will be described in detail below.
[0102] Scenario Example 1
[0103] The network topology diagram in this scenario embodiment is shown in Figure 2, which includes 8 nodes node1 to node8. The upper layer has a controller that orchestrates and deploys service paths through network calculations. All ports of the 8 nodes are configured with the same bandwidth utilization threshold. Each node has 8 priority queues: queues 0-7. Six bandwidth utilization thresholds are set for each priority queue, namely 10%, 20%, 30%, 40%, 50% and 70%.
[0104] As shown in Figure 8, assume that the source node of the deployed deterministic service flow 1 is node1, the destination node is node6, the end-to-end maximum delay requirement is 60us, and the priority is 5. Through network calculation, it is calculated that the path that meets the delay requirement is node1-node2-node4-node6, and the upper bound of the end-to-end delay is 47us. Through query, it is found that the bandwidth utilization rate of the queue with priority 5 on the egress port of node1 on the link node1-node2 is 3%, which is in the first step of the threshold step [0, 10%]. The upper limit of the threshold step is 10% as the bandwidth utilization threshold of the priority 5 queue. In addition, the bandwidth utilization values of the high-priority 6 and 7 are queried and brought into the network calculation algorithm. The upper bound of the queuing delay of the priority 5 queue at the threshold of 10% is calculated to be 0.5us. Similarly, the threshold of the priority 5 queue on the egress port of node2 on the link node2-node4 is 10%, and the upper limit of the delay is 0.8us. The threshold of the egress port of node4 on the link node4-node6 is 10%, and the upper limit of the delay is 0.9us.
[0105] The source node of the new deterministic service flow 2 to be deployed is node 1, the destination node is node 4, the priority is 5, and the maximum end-to-end delay requirement is 50 μs. Through network calculation, the pre-deployed path that meets the delay requirement is node 1-node 2-node 4, with an end-to-end delay upper bound of 34 μs. The new bandwidth utilization of the priority 5 queue on the egress port of node 1 on the link node 1-node 2 is checked to see if it exceeds the original threshold. The new bandwidth utilization of the priority 5 queue on node 1 on the egress port of node 1 is 4%, which does not exceed the 10% threshold. Therefore, the queuing delay upper bound of 0.5 μs remains unchanged. The new bandwidth utilization of the egress ports of nodes node 2 and node 4 also does not exceed the original 10% threshold, and the queuing delay upper bound remains unchanged. In other words, the end-to-end delay of service flow 1 on the pre-deployed path of service flow 2 remains unchanged. Therefore, the pre-deployed path of service flow 2 is feasible and can be deployed directly.
[0106] Scenario Example 2
[0107] The network topology diagram in this scenario embodiment is shown in Figure 2, which includes 8 nodes node1 to node8. The upper layer has a controller that orchestrates and deploys service paths through network calculations. All ports of the 8 nodes are configured with the same bandwidth utilization threshold. Each node has 8 priority queues: queues 0-7. Six bandwidth utilization thresholds are set for each priority queue, namely 10%, 20%, 30%, 40%, 50% and 70%.
[0108] As shown in Figure 9, assume that the source node of the deployed deterministic service flow 1 is node1, the destination node is node6, the end-to-end maximum delay requirement is 60us, and the priority is 5. Network calculations calculate that the path that meets the delay requirement is node1-node2-node4-node6, with an end-to-end delay upper bound of 58us. By querying the bandwidth utilization of the priority 5 queue on the node1-node2 egress port of node1, which is 9%, and is at the first step of the threshold step [0, 10%], the upper limit of the threshold step, 10%, is taken as the bandwidth utilization threshold of the priority 5 queue. In addition, the bandwidth utilization values of the higher priority queues 6 and 7 are queried and brought into the network calculation algorithm. The upper bound of the queuing delay of the priority 5 queue at the threshold of 10% is calculated to be 1.5us. Similarly, the threshold of the priority 5 queue of node2 on the link node2-node4 is 10%, and the upper limit of the delay is 1.6us. The threshold of the egress port of node4 on the link node4-node6 is 10%, and the upper limit of the delay is 1.9us.
[0109] The source node of the new deterministic service flow 2 that needs to be deployed is node 1, the destination node is node 4, the priority is 5, and the end-to-end maximum delay requirement is 50us. Through network calculation, the pre-deployed path that meets the delay requirement is node1-node2-node4, with an end-to-end delay upper bound of 44 μs. The new bandwidth utilization of the priority 5 queue on the egress port of the pre-deployed path is checked to see if it exceeds the original threshold. The new bandwidth utilization of the priority 5 queue on the egress port of node1 on the link node1-node2 is 11%, exceeding the threshold of 10%. Based on the above threshold selection and queuing delay calculation method, a new threshold of 20% is selected. Through network calculation, the queuing delay upper bound is reduced to 2.5 μs under the threshold of 20%. The new bandwidth utilization of the priority 5 queue on the egress port of node2 on the link node2-node4 is 12%, exceeding the threshold of 10%. A new threshold of 20% is selected through network calculation, and the queuing delay upper bound is reduced to 2.9 μs under the threshold of 20%. The new bandwidth utilization of the egress port of node4 does not exceed the original threshold of 10%, and the queuing delay upper bound remains unchanged. The thresholds for the egress ports of node1 and node2 change, affecting service flow 1. The recalculated end-to-end latency for service flow 1 is 60.3µs, exceeding the required latency of 60µs. Assuming the subsequent policy is now set to Policy 1, a new pre-deployed path that meets the latency requirements of service flow 2 is recalculated as node1-node3-node5-node4. The thresholds for node1's egress port on the node1-node3 link remain unchanged, as do the thresholds for node3 and node5. This does not affect the end-to-end latency of other service paths, making the new pre-deployed path feasible and can be deployed directly.
[0110] Scenario Example 3
[0111] The network topology diagram of this scenario embodiment is shown in Figure 2, which includes 8 nodes node1 to node8. The upper layer has a controller that orchestrates and deploys service paths through network calculations. All ports of the 8 nodes are configured with the same bandwidth utilization threshold. Each node has 8 priority queues: queues 0-7. The bandwidth utilization thresholds of each priority queue are set to 6, namely 7%, 15%, 25%, 35%, 55% and 75%.
[0112] As shown in Figure 10, assume that the source node of the deployed deterministic service flow 1 is node1, the destination node is node6, the end-to-end maximum delay requirement is 60us, and the priority is 5. Through network calculation, the path that meets the delay requirement is node1-node2-node4-node6, and the upper bound of the end-to-end delay is 58us. By querying the bandwidth utilization of the priority 5 queue on the node1-node2 egress port of node1, it is found to be 6%, which is in the first step of the threshold step [0, 7%]. The upper limit of the threshold step is 7% as the bandwidth utilization threshold of the priority 5 queue. In addition, the bandwidth utilization values of the higher priority 6 and 7 are queried and brought into the network calculation algorithm. The upper bound of the queuing delay of the priority 5 queue at the threshold of 7% is calculated to be 1.5us. Similarly, the threshold of the priority 5 queue of node2 on the link node2-node4 is 7%, and the upper limit of the delay is 1.6us. The threshold of the egress port of node4 on the link node4-node6 is 7%, and the upper limit of the delay is 1.9us.
[0113] The source node of the new deterministic service flow 2 that needs to be deployed is node 1, the destination node is node 4, the priority is 5, and the end-to-end maximum delay requirement is 50us. Through network calculation, the pre-deployed path that meets the latency requirement is node1-node2-node4, with an end-to-end latency upper bound of 44µs. The new bandwidth utilization of the priority 5 queue on the egress port of the pre-deployed path is checked to see if it exceeds the original threshold. The new bandwidth utilization of the priority 5 queue on the node1-node2 egress port of node1 is 9%, exceeding the 7% threshold. Using the method in process 1 again, a new threshold of 15% is selected. Through network calculation, the queuing latency upper bound is increased to 2.5µs at this threshold. The new bandwidth utilization of the priority 5 queue on the node2-node4 egress port of node2 is 8%, exceeding the 7% threshold. Using process 1 again, a new threshold of 15% is selected. Through network calculation, the queuing latency upper bound is increased to 2.9µs at this threshold. The new bandwidth utilization of the node4 egress port does not exceed the original 7% threshold, and the queuing latency upper bound remains unchanged. Therefore, the thresholds of the node1 and node2 egress ports have changed, and the affected service flow is service flow 1. If the subsequent policy is strategy 2, the end-to-end delay of the service flow is recalculated to 61us, exceeding the required delay of 60us. Assuming the subsequent strategy is set to 2, the path of the affected service flow 1 is adjusted. Another pre-deployed path that meets the delay requirement of service flow 1 is recalculated as node1-node3-node5-node6. The threshold of node1's egress port on the node1-node3 link remains unchanged. In addition, the thresholds of node3 and node5's egress ports remain unchanged, which does not affect the end-to-end delay of other service paths. Therefore, the pre-deployed path node1-node2-node4 of service flow 2 is feasible. The new path of the affected service flow 1 is adjusted to node1-node3-node5-node6 and deployed directly.
[0114] The embodiments of the present disclosure are also applied to scenarios where different thresholds are set for different priority queues. For specific examples, please refer to the examples described in the above scenario embodiments, and this embodiment will not be repeated here.
[0115] After the existing deterministic service flow is deployed, the end-to-end delay of the service flow is measured to determine whether the service end-to-end delay is met. This measurement solution will increase the load in the network, change the encapsulation of the message, and increase the processing flow of the equipment. In order to reduce the complexity, the end-to-end delay upper bound of the service flow is calculated through network calculation. The path can be dynamically calculated and updated according to the status of the network, reducing the complexity of the measurement.
[0116] In addition, if each time a service flow is deployed, the end-to-end delay of all deployed service flows is re-judged to see whether it exceeds the delay requirement, the amount of calculation is huge, which increases the burden on the system. The improved bandwidth utilization threshold method in the embodiment of the present disclosure can greatly reduce the amount of recalculation and optimize the path update method.
[0117] An embodiment of the present disclosure further provides a computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps of any one of the above method embodiments when run.
[0118] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.
[0119] An embodiment of the present disclosure further provides an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.
[0120] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.
[0121] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail here.
[0122] Obviously, those skilled in the art should understand that the modules or steps of the present disclosure described above can be implemented using a general-purpose computing device, they can be concentrated on a single computing device, or distributed across a network composed of multiple computing devices, they can be implemented using program code executable by the computing device, and thus, they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be performed in a different order than herein, or they can be fabricated into separate integrated circuit modules, or multiple modules or steps can be fabricated into a single integrated circuit module for implementation. Thus, the present disclosure is not limited to any particular combination of hardware and software.
[0123] The foregoing description is merely a preferred embodiment of the present disclosure and is not intended to limit the present disclosure. Those skilled in the art will readily appreciate that various modifications and variations of the present disclosure are possible. Any modifications, equivalent substitutions, or improvements made within the principles of the present disclosure shall be included within the scope of protection of the present disclosure.
Claims
1. A service path adjustment method, comprising: Determine a pre-deployment path that meets the latency requirements of the service flow to be deployed, and a bandwidth utilization rate of a first priority queue of each node in the pre-deployment path; Comparing the bandwidth utilization with the bandwidth utilization threshold corresponding to each node, and if there is a node whose bandwidth utilization is greater than the bandwidth utilization threshold, determining a new bandwidth utilization threshold and a port queuing delay upper bound corresponding to the node; The end-to-end delay of the deployed service flow corresponding to the node is updated according to the new bandwidth utilization threshold and the upper bound of the port queuing delay, and the service path is adjusted when the end-to-end delay is greater than the delay requirement of the deployed service flow.
2. The method according to claim 1, wherein: Before determining a pre-deployment path that meets the latency requirement of the service flow to be deployed, the method further includes: The priority of the service flow to be deployed is obtained, and a queue whose queue priority corresponds to the priority of the service flow to be deployed is determined as the first priority queue, so as to transmit the service flow to be deployed through the first priority queue.
3. The method according to claim 1, wherein: Before determining a pre-deployment path that meets the latency requirement of the service flow to be deployed, the method further includes: For any of the nodes, bandwidth utilization threshold ladders are respectively configured for multiple queues corresponding to the node, wherein the bandwidth utilization threshold ladders include multiple bandwidth utilization value ranges divided by multiple bandwidth utilization thresholds.
4. The method according to claim 3, wherein: Determine a new bandwidth utilization threshold corresponding to the node, including: The bandwidth utilization value range in which the bandwidth utilization corresponding to the node is located is determined, and the maximum bandwidth utilization threshold corresponding to the bandwidth utilization value range is determined as the new bandwidth utilization threshold.
5. The method according to claim 1, wherein: Determine the upper bound of the port queuing delay corresponding to the node, including: According to the bandwidth utilization of the second priority queue, determine the new upper bound of the port queuing delay of the first priority queue under the new bandwidth utilization threshold; wherein the second priority queue includes one or more queues, and the priority of the second priority queue is higher than that of the first priority queue.
6. The method according to claim 1, wherein: Determine the pre-deployment path that meets the latency requirements of the service flow to be deployed, including: Determine multiple service paths between a source node and a target node corresponding to the service flow to be deployed; For any of the service paths, the processing delay of each node in the service path, the upper bound of the port queuing delay corresponding to the bandwidth utilization, and the link delay of the service path are superimposed to determine the end-to-end delay of the service path; Any service path that meets the latency requirement of the service flow to be deployed is determined as the pre-deployed path.
7. The method according to claim 6, wherein: The service path adjustment includes: Among the multiple service paths between the source node and the target node, a time path that satisfies the service flow to be deployed is reselected. The service path with extended demand is used as the new pre-deployment path; A new pre-deployed path that does not affect the end-to-end delay of other deployed service flows after the path is deployed is determined as a final pre-deployed path, and the final pre-deployed path is deployed in the deterministic network.
8. The method according to claim 1, wherein: The service path adjustment includes: The service path of the deployed service flow is adjusted until the service path of the deployed service flow meets the delay requirement of the deployed service flow again.
9. The method according to claim 1, wherein: The method further comprises: In the absence of a node whose bandwidth utilization is greater than the bandwidth utilization threshold, deploying the pre-deployed path in a deterministic network; or, When the end-to-end delay is not greater than the delay requirement of the deployed service flow, the pre-deployed path is deployed in the deterministic network.
10. A service path adjustment device, comprising: A determination module, configured to determine a pre-deployment path that meets the latency requirements of the service flow to be deployed, and a bandwidth utilization rate of a first priority queue of each node in the pre-deployment path; A comparison module, configured to compare the bandwidth utilization with the bandwidth utilization threshold corresponding to each node, and determine a new bandwidth utilization threshold and a port queuing delay upper bound corresponding to the node when there is a node whose bandwidth utilization is greater than the bandwidth utilization threshold; The adjustment module is configured to update the end-to-end delay of the deployed service flow corresponding to the node according to the new bandwidth utilization threshold and the upper limit of the port queuing delay, and adjust the service path when the end-to-end delay is greater than the delay requirement of the deployed service flow.
11. A computer-readable storage medium having a computer program stored therein, wherein: When the computer program is executed by a processor, the steps of the method described in any one of claims 1 to 9 are implemented.
12. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the method described in any one of claims 1 to 9 when executing the computer program.
Citation Information
Patent Citations
Business deployment method and device and storage medium
CN110874223A
Flow forwarding control method and device
CN113765796A
Congestion processing method, network equipment and storage medium
CN113810309A
Cross-wide-area deterministic transmission method, system, equipment and medium
CN115632983A
Deterministic route setting method and device, electronic equipment and storage medium
CN116545915A