Congestion link handling method, apparatus, and network controller
By optimizing the link processing order based on business priorities and congestion levels, and by employing methods such as path adjustment and load balancing, the link congestion problem under multi-service slice deployment was solved, achieving efficient traffic migration and improved link utilization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA TELECOM CORP LTD
- Filing Date
- 2022-11-09
- Publication Date
- 2026-06-12
Smart Images

Figure CN115865812B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of network communication technology, and in particular to a method, apparatus and network controller for handling congested links. Background Technology
[0002] Currently, multiple service slices (or service planes) can be deployed in carrier networks using IPv6-based segment routing policies (SRv6 Policy) to carry differentiated services. For example, three logical slices can be deployed: a low-latency, high-guarantee service slice, a flexible, high-bandwidth service slice, and an internet service slice, to achieve differentiated service delivery. Different slice policies have different service priorities.
[0003] The link congestion solutions in related technologies are not suitable for link congestion scenarios in multi-service slice deployments. Summary of the Invention
[0004] This disclosure presents a method, apparatus, and network controller for handling congested links.
[0005] According to a first aspect of this disclosure, a congestion link processing method is provided, comprising: determining a processing order of the plurality of congestion links based on the highest service priority corresponding to each congestion link; determining the traffic to be migrated for a currently pending congestion link among the plurality of congestion links according to the processing order; determining a set of paths to be adjusted and the traffic to be diverted for each path in the set of paths to be adjusted based on the service priorities of multiple paths passing through the currently pending congestion link, the traffic of each path in the multiple paths, and the traffic to be migrated; determining a target path for carrying the traffic to be diverted; and generating a congestion link processing strategy based on the set of paths to be adjusted, the traffic to be diverted for each path in the set of paths to be adjusted, and the target path.
[0006] In some embodiments, determining the processing order of the multiple congested links based on the highest service priority corresponding to each congested link includes: sorting the multiple congested links in descending order of the highest service priority corresponding to the congested links; and sorting the at least two congested links in descending order of congestion degree when at least two congested links have the same highest service priority.
[0007] In some embodiments, determining the set of paths to be adjusted and the traffic to be diverted for each path in the set of paths to be adjusted, based on the service priorities of multiple paths passing through the currently congested link to be processed, the traffic of each of the multiple paths, and the traffic to be migrated, includes: determining candidate adjustment paths based on a comparison between the traffic to be migrated and the total traffic of paths passing through at least one service priority of the currently congested link to be processed; and determining the set of paths to be adjusted and the traffic to be diverted for each path in the set of paths to be adjusted from the candidate adjustment paths.
[0008] In some embodiments, determining the set of paths to be adjusted and the traffic to be redirected for each path in the set of paths to be adjusted from the candidate adjustment paths includes: when the candidate adjustment paths have the same service priority, determining the set of paths to be adjusted and the traffic to be redirected for each path in the set of paths to be adjusted with the goal of minimizing the number of adjusted paths; when the candidate adjustment paths have different service priorities, determining the set of paths to be adjusted and the traffic to be redirected for each path in the set of paths to be adjusted from the candidate adjustment paths based on the service priority and the total number of adjustment paths.
[0009] In some embodiments, determining a candidate adjustment path based on a comparison between the traffic to be migrated and the total traffic of paths passing through at least one service priority of the currently congested link includes: if the paths passing through the currently congested link include paths of first to third service priorities, determining whether the traffic to be migrated is less than or equal to the total traffic of paths of the first service priority of the currently congested link; if so, using the path of the first service priority as a candidate adjustment path, where the first service priority is the lowest service priority among the first to third service priorities.
[0010] In some embodiments, determining a candidate adjustment path based on a comparison between the traffic to be migrated and the total traffic of paths under at least one service priority of the currently congested link further includes: if the traffic to be migrated is greater than the total traffic of paths under the first service priority of the currently congested link, determining whether the traffic to be migrated is less than or equal to the total traffic of paths under the first to second service priorities of the currently congested link; if so, the paths under the first to second service priorities are selected as candidate adjustment paths, wherein the second service priority is lower than the third service priority.
[0011] In some embodiments, determining a candidate adjustment path based on a comparison between the traffic to be migrated and the total traffic of paths passing through at least one service priority of the currently congested link further includes: if the traffic to be migrated is greater than the total traffic of paths passing through the first to second service priorities of the currently congested link, then the path of the third service priority is selected as a candidate adjustment path.
[0012] In some embodiments, determining a target path for carrying the traffic to be diverted includes: determining candidate carrying paths for carrying the traffic to be diverted; and, if there are multiple candidate carrying paths, determining a target path from the candidate carrying paths based on the historical fluctuation index of the path.
[0013] In some embodiments, the historical fluctuation index of the path is determined as follows: based on the historical load change values of each link included in the path over multiple monitoring periods, the historical fluctuation index of each link included in the path is determined; the maximum value among the historical fluctuation indices of each link included in the path is taken as the historical fluctuation index of the path.
[0014] In some embodiments, determining the traffic to be migrated for the currently congested link includes: determining the traffic to be migrated for the currently congested link based on the total bandwidth of the currently congested link, the bandwidth utilization of the currently congested link, the bandwidth utilization threshold set in the service protocol level, and the bandwidth utilization reservation.
[0015] In some embodiments, determining a candidate bearer path for carrying the traffic to be diverted includes: if the path to be adjusted has a load-sharing link and the load-sharing link is capable of carrying the traffic to be diverted from the path to be adjusted, using the load-sharing link as a candidate bearer path; if the path to be adjusted does not have a load-sharing link or the load-sharing link is unable to carry the traffic to be diverted from the path to be adjusted, determining a candidate bearer path through path splitting or path re-optimization.
[0016] In some embodiments, the highest service priority corresponding to a congested link is determined as follows: the service priority of each path passing through the congested link is determined based on the service slice to which each path belongs; the maximum value among the service priorities of all paths passing through the congested link is taken as the highest service priority corresponding to the congested link.
[0017] According to a second aspect of this disclosure, a congestion link processing apparatus is provided, comprising: a sorting module configured to determine a processing order of the plurality of congestion links based on the highest service priority corresponding to each congestion link among the plurality of congestion links; a traffic determination module configured to determine, according to the processing order, the traffic to be migrated for a currently pending congestion link among the plurality of congestion links; a path to be adjusted determination module configured to determine a set of paths to be adjusted and the traffic to be diverted for each path in the set of paths to be adjusted based on the service priority of a plurality of paths passing through the currently pending congestion link, the traffic of each path in the plurality of paths, and the traffic to be migrated; a target path determination module configured to determine a target path for carrying the traffic to be diverted; and a generation module configured to generate a congestion link processing strategy based on the set of paths to be adjusted, the traffic to be diverted for each path in the set of paths to be adjusted, and the target path.
[0018] According to a third aspect of this disclosure, a network controller is provided, comprising: an alarm management module configured to determine whether a link is congested based on the link's performance indicators, and to output alarm information to a congested link processing device if link congestion is determined; and a congested link processing device configured to execute the congested link processing method as described above after receiving the alarm information.
[0019] In some embodiments, the system further includes: a data acquisition module configured to acquire performance metrics of the link and send the performance metrics of the link to the alarm management module.
[0020] In some embodiments, the congestion link processing apparatus is further configured to send the congestion link processing policy to a network device, so that the network device performs traffic migration according to the congestion link processing policy.
[0021] According to a third aspect of this disclosure, a congestion link processing apparatus is provided, comprising: a memory; and a processor coupled to the memory, the processor being configured to execute the congestion link processing method as described above based on instructions stored in the memory.
[0022] According to a fourth aspect of this disclosure, a computer-storeable medium is provided having computer program instructions stored thereon, which, when executed by a processor, implement the congestion link processing method described in any of the above embodiments. Attached Figure Description
[0023] The accompanying drawings, which form part of this specification, illustrate embodiments of this disclosure and, together with the specification, serve to explain the principles of this disclosure.
[0024] This disclosure will become clearer with reference to the accompanying drawings and the following detailed description, wherein:
[0025] Figure 1 This is a flowchart illustrating a congestion link processing method according to some embodiments of the present disclosure;
[0026] Figure 2 This is a flowchart illustrating the determination of a set of paths to be adjusted according to some embodiments of the present disclosure;
[0027] Figure 3 This is a flowchart illustrating the determination of a target path according to some embodiments of the present disclosure;
[0028] Figure 4 This is a flowchart illustrating a congestion link handling method according to other embodiments of this disclosure;
[0029] Figure 5 This is a block diagram illustrating a congestion link processing apparatus according to some embodiments of the present disclosure;
[0030] Figure 6 This is a block diagram illustrating a network controller according to some embodiments of the present disclosure;
[0031] Figure 7 This is a block diagram illustrating a congestion link processing apparatus according to other embodiments of the present disclosure;
[0032] Figure 8 This is a block diagram illustrating a computer system for implementing some embodiments of the present disclosure. Detailed Implementation
[0033] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that, unless otherwise specifically stated, the relative arrangement, numerical expressions, and values of the components and steps set forth in these embodiments do not limit the scope of the present disclosure.
[0034] At the same time, it should be understood that, for ease of description, the dimensions of the various parts shown in the accompanying drawings are not drawn according to actual scale.
[0035] The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit this disclosure or its application or use.
[0036] Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment should be considered part of the specification.
[0037] In all examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values.
[0038] It should be noted that similar labels and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.
[0039] Figure 1 This is a flowchart illustrating a congestion link handling method according to some embodiments of this disclosure. For example... Figure 1 As shown, the congestion link processing method of this disclosure includes:
[0040] Step S110: Determine the processing order of multiple congested links based on the highest service priority corresponding to each congested link.
[0041] In some embodiments, in step S110, multiple congested links are sorted in descending order of the highest service priority corresponding to the congested link to obtain the processing order of the multiple congested links.
[0042] The highest service priority corresponding to a congested link is the maximum value among the service priorities of the paths passing through that congested link. For example, suppose there are 5 paths (p1 to p5) passing through congested link A, and the service priorities of p1 to p5 are low, medium, medium, low, and high, respectively. Then the highest service priority corresponding to congested link A is high.
[0043] In some embodiments, the highest service priority corresponding to a congested link is determined as follows: based on the service slice to which each path through the congested link belongs, the service priority of each path through the congested link is determined; the maximum value among the service priorities of all paths through the congested link is taken as the highest service priority corresponding to the congested link. For example, three service slices are pre-configured: an Internet service slice, an elastic high-bandwidth service slice, and a low-latency high-guarantee service slice. The priority of the Internet service slice is set to low priority, the priority of the elastic high-bandwidth service slice is set to medium priority, and the priority of the low-latency high-guarantee service slice is set to high priority.
[0044] In other embodiments, in step S110, the processing order of multiple congested links is determined based on the highest service priority corresponding to each congested link and the congestion level of each congested link.
[0045] For example, multiple congested links are first sorted in descending order of their highest service priority. If at least two congested links have the same highest service priority, these at least two links are then sorted in descending order of their congestion severity to determine the processing order of the multiple congested links. By determining the processing order of congested links based on their highest service priority and congestion severity, it is possible to prioritize the user experience of high-priority links while addressing severely congested links, thereby helping to quickly alleviate link congestion problems and improve link congestion handling efficiency.
[0046] In some other embodiments, in step S110, the processing order of multiple congested links is determined based on the highest service priority corresponding to each congested link, the congestion degree of each congested link, and the congestion occurrence time of the congestion link.
[0047] For example, based on the highest service priority, congestion level, and congestion occurrence time of each congested link, the processing urgency of each congested link is determined. The multiple congested links are then sorted in descending order of processing urgency to obtain the processing order of the multiple congested links.
[0048] Step S120: According to the processing order, determine the traffic to be migrated for the currently unprocessed congested link among multiple congested links.
[0049] In some embodiments, the traffic to be migrated for the current congested link is determined based on the total bandwidth of the current congested link, the bandwidth utilization of the current congested link, the bandwidth utilization threshold set in the service protocol level, and the bandwidth utilization reservation.
[0050] For example, the migration traffic of the currently congested link to be processed is calculated using the following formula:
[0051] f = W × (c - a + b)
[0052] Where f is the traffic to be migrated on the congested link, W is the total bandwidth of the congested link, c is the bandwidth utilization rate of the congested link, a is the bandwidth utilization threshold set in the service protocol level, and b is the bandwidth utilization reserve.
[0053] The bandwidth utilization reserve can be flexibly set. For example, the bandwidth utilization reserve can be set to 5% through the operation and maintenance management platform. In this embodiment of the disclosure, setting the bandwidth utilization reserve helps to effectively alleviate the current link congestion, reduce the frequency of subsequent congestion on the link, and improve the governance effect of the congested link.
[0054] Step S130: Based on the service priority of multiple paths passing through the currently congested link to be processed, the traffic of each path in the multiple paths, and the traffic to be migrated, determine the set of paths to be adjusted and the traffic to be transferred for each path in the set of paths to be adjusted.
[0055] In some embodiments, a set of paths to be adjusted is determined from multiple paths passing through the currently congested link, taking into account the service priority of the path, the comparison result of the path's traffic and the traffic to be migrated on the congested link. For example, the set of paths to be adjusted and the traffic to be diverted for each path in the set of paths to be adjusted are determined from multiple paths passing through the currently congested link, with the conditions of prioritizing the adjustment of low-priority paths and minimizing the total number of adjusted paths.
[0056] In some embodiments, according to Figure 2 The process shown determines the set of paths to be adjusted, and the traffic to be redirected for each path in the set of paths to be adjusted.
[0057] Step S140: Determine the target path to carry the traffic to be diverted.
[0058] In step S140, a target path is planned based on the set of paths to be adjusted and the traffic to be diverted for each path in the set. For example, the target path is planned according to the set path selection conditions, such as path selection conditions related to factors such as bandwidth, latency, link metric, and hop count.
[0059] In some embodiments, adopt Figure 3 The process shown determines the target path.
[0060] Step S150: Generate a congestion link handling strategy based on the set of paths to be adjusted, the traffic to be diverted for each path in the set of paths to be adjusted, and the target path.
[0061] In some embodiments, the congestion link processing method further includes: after step S150, sending a congestion link processing policy to a network device so that the network device performs traffic migration according to the congestion link processing policy.
[0062] In this embodiment of the disclosure, by determining the processing order of multiple congested links based on service priority, the user experience of high-priority links can be well guaranteed. By considering the traffic to be migrated on the congested link, the service priority of multiple paths passing through the congested link, and the traffic of multiple paths passing through the congested link when determining the congested link processing strategy, a link congestion processing strategy suitable for multi-service slice deployment can be generated. This can quickly and effectively alleviate link congestion in multi-service slice deployment scenarios while meeting the service guarantee requirements of different priority slices in the operator network.
[0063] Figure 2 This is a flowchart illustrating the determination of a set of paths to be adjusted according to some embodiments of this disclosure. For example... Figure 2 As shown in this embodiment of the disclosure, the process of determining the set of paths to be adjusted includes:
[0064] Step S131: Based on the comparison between the traffic to be migrated and the total traffic of the path under at least one service priority through the currently pending congested link, determine the candidate adjustment path.
[0065] In some embodiments, if the path through the currently congested link includes paths with first to third service priorities, candidate adjustment paths are determined according to steps a to e.
[0066] Step a: Determine whether the traffic to be migrated is less than or equal to the total traffic of the first service priority path passing through the currently pending congestion link.
[0067] Among them, the first business priority is the lowest business priority among the first to third business priorities, and the second business priority is lower than the third business priority but higher than the first priority.
[0068] If the result of step a is yes, proceed to step b; if the result of step a is no, proceed to step c.
[0069] Step b: Select the path with the highest business priority as the candidate adjustment path.
[0070] Step c: Determine whether the traffic to be migrated is less than or equal to the total traffic of the first to second service priority paths passing through the currently congested link to be processed.
[0071] If the result of step c is yes, proceed to step d; if the result of step c is no, proceed to step e.
[0072] Step d: Select the paths with the first to second business priorities as candidate adjustment paths.
[0073] Step e: Select the path with the third business priority as a candidate adjustment path.
[0074] For example, suppose the path information through the congested link is as shown in Table 1.
[0075] Table 1
[0076]
[0077]
[0078] As shown in Table 1, the total traffic of paths under the first priority level through the congested link is 30G, and the total traffic of paths under the first and second priorities level through the congested link is 75G. Assuming the traffic to be migrated on the congested link is 8G, since this is less than the total traffic of paths under the first priority level, Policy 1, Policy 2, and Policy 3 are selected as candidate adjustment paths. Assuming the traffic to be migrated on the congested link is 40G, since this is greater than the total traffic of paths under the first priority level but less than the total traffic of paths under the first and second priorities level, Policy 1 through Policy 6 are selected as candidate adjustment paths.
[0079] In this embodiment of the disclosure, by determining the candidate adjustment path according to the above process, we can adjust the low-priority path as much as possible and avoid adjusting the high-priority path as much as possible, thereby reducing the impact on the business of high-priority users and ensuring the business experience of high-priority users.
[0080] Step S132: Determine the set of paths to be adjusted from the candidate adjustment paths, and the traffic to be adjusted for each path in the set of paths to be adjusted.
[0081] In some embodiments, with the goal of minimizing the number of adjusted paths, a set of paths to be adjusted and the traffic to be diverted for each path in the set of paths to be adjusted are determined from the candidate adjusted paths. Furthermore, when multiple sets of paths satisfy the condition of minimizing the number of adjusted paths, at least one of the following factors can be considered to determine the set of paths to be adjusted from the multiple sets of paths: path priority, proximity between path traffic and traffic to be migrated, etc.
[0082] For example, assuming the traffic to be migrated on the congested link is 8G, and the candidate adjustment paths are Policy1, Policy2 and Policy3 in Table 1, with the goal of minimizing the number of adjusted paths, Policy1 and Policy2 can be selected. Then, based on the similarity between the path traffic and the traffic to be migrated, Policy2, which is closer to the traffic to be migrated, is selected as the path to be adjusted.
[0083] For example, assuming the traffic to be migrated on a congested link is 20G, and the candidate adjustment paths are Policy1, Policy2 and Policy3 in Table 1, with the goal of minimizing the number of adjusted paths, combinations of Policy1 and Policy2 and Policy1 and Policy3 can be selected. Then, by combining the historical congestion information of the path, the corresponding service information of the path and other information, the set of paths to be adjusted is selected from these two path combinations.
[0084] In this embodiment of the disclosure, by determining the set of paths to be adjusted with the goal of minimizing the number of adjusted paths, the impact of path adjustments can be minimized, effectively ensuring the service experience of users with different priorities.
[0085] In some embodiments, the set of paths to be adjusted is determined as follows: when candidate adjustment paths have the same service priority, the set of paths to be adjusted and the traffic to be redirected for each path in the set of candidate adjustment paths are determined with the goal of minimizing the number of paths to be adjusted; when candidate adjustment paths have different service priorities, the set of paths to be adjusted and the traffic to be redirected for each path in the set of candidate adjustment paths are determined based on the service priority and the total number of adjustment paths. For example, an objective function is set with the principle of minimizing the number of paths to be adjusted and prioritizing the adjustment of low-priority paths, and the set of paths to be adjusted is determined from the candidate adjustment paths based on the objective function.
[0086] In this embodiment of the disclosure, by combining path priority and the number of adjusted paths to determine the set of paths to be adjusted in the congested link, it is possible to minimize the impact of path adjustment while ensuring the service experience of high-priority users as much as possible, thereby effectively ensuring the service experience of users with different priorities.
[0087] Figure 3 This is a flowchart illustrating the determination of a target path according to some embodiments of the present disclosure. For example... Figure 3 As shown, the process for determining the target path includes:
[0088] Step S141: Determine the candidate bearer path for carrying the traffic to be diverted.
[0089] In some embodiments, step S141 includes: if there is a load-sharing link in the path to be adjusted and the load-sharing link can carry the traffic to be transferred in the path to be adjusted, the load-sharing link is selected as a candidate bearer path; if there is no load-sharing link in the path to be adjusted, or the load-sharing link cannot carry the traffic to be transferred in the path to be adjusted, a candidate bearer path is determined by path splitting or path re-optimization.
[0090] For example, suppose the set of paths to be adjusted includes a low-priority path Policy8, on which the traffic to be diverted is 2G. Suppose that this path and the path Policy9, which does not pass through a congested link, are load-sharing links. Then, first determine whether Policy9 can carry the 2G traffic to be diverted. If so, Policy9 is selected as the candidate bearer path corresponding to Policy8. If not, the candidate bearer path corresponding to Policy8 is determined through path splitting or path re-optimization.
[0091] In practice, when migrating traffic from Policy 8 to Policy 9, this can be achieved by adjusting the load weight ratio of these two load-sharing paths.
[0092] In this embodiment of the disclosure, by combining multiple methods such as load balancing adjustment, path splitting, and path re-optimization to determine candidate bearer links, the impact of traffic migration can be minimized, link utilization can be more balanced, and the success rate of traffic adjustment can be higher.
[0093] Step S142: When there are multiple candidate bearer paths, determine the target path from the candidate bearer paths based on the historical fluctuation index of the path.
[0094] For example, the candidate bearer path with the smallest historical fluctuation index is selected from multiple candidate bearer links as the target path.
[0095] In some embodiments, the historical fluctuation index of each link included in the path is determined based on the historical load change values of each link in the path over multiple monitoring periods; the maximum value of the historical fluctuation index of each link included in the path is taken as the historical fluctuation index of the path.
[0096] For example, the historical volatility index of the link can be calculated using the following formula:
[0097]
[0098] Where f(i+1) is the load value of the link at time i+1, f(i) is the load value of the link at time i, and F is the historical fluctuation index of the link. For example, the time interval and duration range required for calculating the historical fluctuation index of the link can be set through the management interface of the operation and maintenance management platform. For example, the historical fluctuation index of the link can be calculated at 1-hour intervals within 24 hours.
[0099] In this embodiment of the disclosure, candidate bearer paths are measured by measuring the historical fluctuation index of the path, and the target path is selected accordingly. This helps to obtain better target path planning results, improve the effectiveness of congestion link processing, and greatly reduce the probability of congestion alarms being triggered again in the future due to unreasonable target paths.
[0100] Figure 4 This is a flowchart illustrating a congestion link handling method according to other embodiments of this disclosure. For example... Figure 4 As shown, the congestion link processing method in this embodiment includes:
[0101] Step S410: The data acquisition module collects the performance indicators of the link and sends the performance indicators of the link to the alarm management module.
[0102] For example, the data acquisition module collects performance indicators such as link traffic and bandwidth utilization in real time and sends these performance indicators to the alarm management module.
[0103] Step S420: The alarm management module determines whether the link is congested based on the link's performance indicators, and outputs alarm information to the congested link processing device if the link is confirmed to be congested.
[0104] In some embodiments, the alarm management module determines whether the bandwidth utilization of the link exceeds a preset threshold; if the bandwidth utilization of the link exceeds the preset threshold, it determines that the link is congested, generates a congestion alarm, and sends the congestion alarm to the congestion link processing device.
[0105] In some embodiments, the alarm management module determines whether the bandwidth utilization of the link exceeds a preset threshold; if the bandwidth utilization of the link exceeds the preset threshold, a continuous monitoring window is triggered; after the bandwidth utilization exceeding the limit is detected for a certain period of time, the link is determined to be congested, a congestion alarm is generated, and the congestion alarm is sent to the congestion link processing device.
[0106] Step S430: The congestion link processing device generates a congestion link processing strategy.
[0107] In some embodiments, after receiving a congestion alarm message, the congestion link processing device, according to... Figure 1 The process shown generates a congestion link handling strategy.
[0108] Step S440: The congestion link processing device sends the congestion link processing policy to the network device.
[0109] In some embodiments, the congestion link handling method further includes: after sending the congestion link handling strategy to the network device for execution, monitoring the effect of link congestion handling by collecting link performance indicators. If the link congestion is relieved, the process ends; if the congestion is not relieved, a new congestion link handling strategy is generated by the congestion link handling device.
[0110] In some embodiments, the congestion link processing method further includes: if a congestion link processing strategy cannot be determined in a certain instance, then re-planning through the congestion link processing device to determine the congestion link processing strategy.
[0111] In this embodiment of the disclosure, the above method enables congestion link processing for differentiated service plane scenarios. This not only ensures compliance with the Service Level Agreement (SLA) requirements of high-priority service planes but also automatically matches the optimal traffic adjustment range globally. Furthermore, by combining various methods such as load balancing adjustment, path splitting, and low-to-medium priority traffic offloading, as well as determining the target path based on volatility indices, congestion can be quickly relieved, improving the congestion handling effect.
[0112] Figure 5 This is a block diagram illustrating a congestion link processing apparatus according to some embodiments of the present disclosure. Figure 5 As shown, the congestion link processing device 500 of this embodiment includes: a sorting module 510, a traffic determination module 520, a path to be adjusted determination module 530, a target path determination module 540, and a generation module 550.
[0113] The sorting module 510 is configured to determine the processing order of multiple congested links based on the highest service priority corresponding to each congested link.
[0114] In some embodiments, the sorting module 510 sorts multiple congested links in descending order of the highest service priority corresponding to the congested link to obtain the processing order of the multiple congested links.
[0115] In other embodiments, the sorting module 510 determines the processing order of multiple congested links based on the highest service priority corresponding to each congested link and the congestion level of each congested link.
[0116] For example, multiple congested links are first sorted in descending order of their highest service priority. If at least two congested links have the same highest service priority, these at least two links are then sorted in descending order of their congestion severity to determine the processing order of the multiple congested links. By determining the processing order of congested links based on their highest service priority and congestion severity, it is possible to prioritize the user experience of high-priority links while addressing severely congested links, thereby helping to quickly alleviate link congestion problems and improve link congestion handling efficiency.
[0117] In some other embodiments, the sorting module 510 determines the processing order of multiple congested links based on the highest service priority corresponding to each congested link, the degree of congestion of each congested link, and the time when congestion occurred in the congested link.
[0118] The traffic determination module 520 is configured to determine the traffic to be migrated from the currently pending congestion link among multiple congestion links, according to the processing order.
[0119] In some embodiments, the traffic determination module 520 determines the traffic to be migrated for the current congested link based on the total bandwidth of the current congested link, the bandwidth utilization rate of the current congested link, the bandwidth utilization threshold set in the service protocol level, and the bandwidth utilization reserve.
[0120] The path to be adjusted determination module 530 is configured to determine the set of paths to be adjusted and the traffic to be transferred for each path in the set of paths to be adjusted based on the service priority of multiple paths passing through the currently congested link to be processed, the traffic of each path in the multiple paths, and the traffic to be migrated.
[0121] In some embodiments, the path determination module 530 determines the path to be adjusted according to... Figure 2 The process shown determines the set of paths to be adjusted, and the traffic to be redirected for each path in the set of paths to be adjusted.
[0122] The target path determination module 540 is configured to determine the target path used to carry the traffic to be diverted.
[0123] In some embodiments, the target path determination module 540 follows... Figure 3 The process shown determines the target path.
[0124] The generation module 550 is configured to generate a congestion link processing strategy based on the set of paths to be adjusted, the traffic to be diverted for each path in the set of paths to be adjusted, and the target path.
[0125] In this embodiment of the disclosure, by determining the processing order of multiple congested links based on service priority, the user experience of high-priority links can be well guaranteed. By considering the traffic to be migrated on the congested link, the service priority of multiple paths passing through the congested link, and the traffic of multiple paths passing through the congested link when determining the congested link processing strategy, a link congestion processing strategy suitable for multi-service slice deployment can be generated. This can quickly and effectively alleviate link congestion in multi-service slice deployment scenarios while meeting the service guarantee requirements of different priority slices in the operator network.
[0126] Figure 6 This is a block diagram illustrating a network controller according to some embodiments of the present disclosure. Figure 6 As shown, the network controller 600 of this embodiment includes: an alarm management module 610 and a congestion link processing device 620.
[0127] The alarm management module 610 is configured to determine whether the link is congested based on the link's performance indicators, and to output alarm information to the congested link processing device if the link is determined to be congested.
[0128] In some embodiments, the alarm management module 610 determines whether the bandwidth utilization of the link exceeds a preset threshold; if the bandwidth utilization of the link exceeds the preset threshold, it determines that the link is congested, generates a congestion alarm message, and sends the congestion alarm message to the congestion link processing device.
[0129] In some embodiments, the alarm management module 610 determines whether the bandwidth utilization of the link exceeds a preset threshold; if the bandwidth utilization of the link exceeds the preset threshold, a continuous monitoring window is triggered; after the bandwidth utilization exceeds the limit for a certain period of time, the link is determined to be congested, a congestion alarm is generated, and the congestion alarm is sent to the congestion link processing device.
[0130] The congestion link processing device 620 is configured to execute the aforementioned congestion link processing method after receiving an alarm message, so as to generate a congestion link processing strategy.
[0131] In some embodiments, the network controller further includes a data acquisition module configured to acquire link performance metrics and send the link performance metrics to the alarm management module 610.
[0132] The data acquisition module is used to collect and manage information from various network devices. In some embodiments, the data acquisition module is responsible for physical and logical topology acquisition, link performance indicator acquisition, alarm information acquisition, traffic flow acquisition, routing information acquisition, and basic maintenance information acquisition. It can support the acquisition of new SDN network technology protocols such as NETCONF, SNMP, Telemetry, and BGP-LS, and can achieve functions such as second-level performance indicator acquisition, rapid collection of network topology information, topology change awareness, and SRv6 path performance indicator awareness.
[0133] In some embodiments, the congestion link processing apparatus 620 is further configured to send a congestion link processing policy to a network device, so that the network device performs traffic migration according to the congestion link processing policy.
[0134] In some embodiments, the congestion link processing apparatus 620 is further configured to send the path re-optimization results involved in the current congestion link processing to the operation and maintenance management platform.
[0135] The operation and maintenance management platform is used to realize the visualization of intelligent network control. It can provide configuration management and display pages for capabilities such as topology management, path management, device management, alarm management, operation and maintenance.
[0136] In this embodiment of the disclosure, the above system realizes congestion link processing for differentiated service plane scenarios. It can not only ensure the service level protocol requirements of high-priority service planes, but also automatically match the optimal traffic adjustment range globally, quickly relieve congestion, and improve the congestion handling effect.
[0137] Figure 7 This is a block diagram illustrating a congestion link processing apparatus according to other embodiments of the present disclosure.
[0138] like Figure 7 As shown, the congestion link processing apparatus 700 includes a memory 710 and a processor 720 coupled to the memory 710. The memory 710 is used to store instructions for executing embodiments of the congestion link processing method. The processor 720 is configured to execute the congestion link processing method in any of the embodiments of this disclosure based on the instructions stored in the memory 710.
[0139] Figure 8 This is a block diagram illustrating a computer system for implementing some embodiments of the present disclosure.
[0140] like Figure 8 As shown, the computer system 800 can be represented in the form of a general computing device. The computer system 800 includes a memory 810, a processor 820, and a bus 830 connecting different system components.
[0141] The memory 810 may include, for example, system memory, non-volatile storage media, etc. The system memory may store, for example, an operating system, application programs, a boot loader, and other programs. The system memory may include volatile storage media, such as random access memory (RAM) and / or cache memory. The non-volatile storage media may store, for example, instructions for executing at least one embodiment of the congestion link processing method. Non-volatile storage media include, but are not limited to, disk storage, optical storage, flash memory, etc.
[0142] The processor 820 can be implemented using a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete hardware components such as discrete gates or transistors. Correspondingly, each module, such as the sorting module, the flow determination module, the path to be adjusted determination module, and the target path determination module, can be implemented by executing instructions from the central processing unit (CPU)'s runtime memory to perform the corresponding steps, or by dedicated circuitry executing the corresponding steps.
[0143] Bus 830 can use any of a variety of bus architectures. For example, bus architectures include, but are not limited to, Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, and Peripheral Component Interconnect (PCI) bus.
[0144] The computer system 800 may also include an input / output interface 840, a network interface 850, and a storage interface 860. These interfaces 840, 850, and 860, as well as the memory 810 and processor 820, can be connected via a bus 830. The input / output interface 840 provides a connection interface for input / output devices such as a monitor, mouse, and keyboard. The network interface 850 provides a connection interface for various networked devices. The storage interface 860 provides a connection interface for external storage devices such as floppy disks, USB flash drives, and SD cards.
[0145] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus, and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations thereof, can be implemented by computer-readable program instructions.
[0146] These computer-readable program instructions are provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable device to produce a machine, such that execution of the instructions by the processor produces means for implementing the functions specified in one or more boxes of the flowchart and / or block diagram.
[0147] These computer-readable program instructions may also be stored in a computer-readable storage medium. These instructions cause a computer to work in a particular manner to produce an article of manufacture, including instructions that implement the functions specified in one or more boxes in a flowchart and / or block diagram.
[0148] This disclosure may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects.
[0149] The congestion link processing method and apparatus in the above embodiments can quickly and effectively alleviate link congestion in multi-service slice deployment scenarios while meeting the service guarantee requirements of slices with different priorities in the operator network.
[0150] The congestion link processing method and apparatus according to this disclosure have now been described in detail. To avoid obscuring the concept of this disclosure, some details known in the art have not been described. Those skilled in the art can fully understand how to implement the technical solutions disclosed herein based on the above description.
Claims
1. A method for handling congested links, comprising: The processing order of the multiple congested links is determined based on the highest service priority corresponding to each congested link. The highest service priority corresponding to the congested link is determined as follows: the service priority of each path passing through the congested link is determined based on the service slice to which each path belongs; the maximum value of the service priorities of all paths passing through the congested link is taken as the highest service priority corresponding to the congested link. According to the processing order, the traffic to be migrated for the current congested link among the plurality of congested links is determined; wherein, the traffic to be migrated for the current congested link is determined based on the total bandwidth of the current congested link, the bandwidth utilization rate of the current congested link, the bandwidth utilization rate threshold set in the service protocol level, and the bandwidth utilization rate reservation. Based on the service priorities of multiple paths passing through the currently congested link to be processed, the traffic of each of the multiple paths, and the traffic to be migrated, determine the set of paths to be adjusted and the traffic to be transferred for each path in the set of paths to be adjusted. Determine the target path to carry the traffic to be diverted; Based on the set of paths to be adjusted, the traffic to be diverted from each path in the set of paths to be adjusted, and the target path, a congestion link handling strategy is generated.
2. The congested link handling method of claim 1, wherein, The processing order of the multiple congested links is determined based on the highest service priority corresponding to each congested link, including: Sort multiple congested links in descending order of the highest service priority corresponding to the congested link; If at least two congested links have the same highest service priority, the at least two congested links shall be sorted in descending order of congestion level.
3. The congestion link processing method according to claim 1, wherein, Based on the service priorities of multiple paths passing through the currently congested link to be processed, the traffic of each of the multiple paths, and the traffic to be migrated, a set of paths to be adjusted and the traffic to be diverted for each path in the set of paths to be adjusted are determined, including: Candidate adjustment paths are determined based on the comparison between the traffic to be migrated and the total traffic of paths under at least one service priority that pass through the currently pending congested links. The set of paths to be adjusted and the traffic to be diverted for each path in the set of paths to be adjusted are determined from the candidate adjustment paths.
4. The congestion link processing method according to claim 3, wherein, Determining the set of paths to be adjusted from the candidate adjustment paths, and the traffic to be redirected for each path in the set of paths to be adjusted, includes: When the candidate adjustment paths have the same service priority, with the goal of minimizing the number of adjusted paths, a set of paths to be adjusted and the traffic to be diverted for each path in the set of paths to be adjusted are determined from the candidate adjustment paths. When the candidate adjustment paths have different service priorities, the set of paths to be adjusted and the traffic to be transferred for each path in the set of paths to be adjusted are determined from the candidate adjustment paths according to the service priority and the total number of adjustment paths.
5. The congestion link processing method according to claim 3, wherein, Based on the comparison between the traffic to be migrated and the total traffic of at least one path under the current service priority that passes through the currently congested link, the candidate adjustment paths are determined as follows: If the path through the currently congested link includes paths with the first to third service priorities, determine whether the traffic to be migrated is less than or equal to the total traffic through the first service priority path through the currently congested link. If so, the path with the first service priority is taken as the candidate adjustment path, where the first service priority is the lowest service priority among the first to third service priorities.
6. The congestion link processing method according to claim 5, wherein, Based on the comparison between the traffic to be migrated and the total traffic of at least one path under the service priority that passes through the currently pending congested link, the candidate adjustment paths also include: If the traffic to be migrated is greater than the total traffic of the path with the first service priority through the current congested link to be processed, determine whether the traffic to be migrated is less than or equal to the total traffic of the path with the first to second service priorities through the current congested link to be processed. If so, the path with the first to second service priorities is taken as the candidate adjustment path, where the second service priority is lower than the third service priority.
7. The congestion link processing method according to claim 6, wherein, Based on the comparison between the traffic to be migrated and the total traffic of at least one path under the service priority that passes through the currently pending congested link, the candidate adjustment paths also include: If the traffic to be migrated is greater than the total traffic of the paths with the first to second service priorities passing through the currently congested links, the path with the third service priority will be selected as a candidate adjustment path.
8. The congestion link processing method according to claim 1, wherein, Determining the target path for carrying the traffic to be diverted includes: Determine candidate bearer paths to carry the traffic to be diverted; When there are multiple candidate bearer paths, the target path is determined from the candidate bearer paths based on the historical fluctuation index of the path.
9. The congestion link processing method according to claim 8, wherein, The historical volatility index of the path is determined as follows: Based on the historical load change values of each link included in the path over multiple monitoring periods, determine the historical fluctuation index of each link included in the path. The maximum value among the historical volatility indices of each link segment contained in the path is taken as the historical volatility index of the path.
10. The congestion link processing method according to claim 8, wherein, Determining candidate bearer paths for carrying the traffic to be diverted includes: If a load-sharing link exists on the path to be adjusted, and the load-sharing link is capable of carrying the traffic to be diverted from the path to be adjusted, the load-sharing link will be used as a candidate bearer path. If there is no load-sharing link on the path to be adjusted, or if the load-sharing link cannot carry the traffic to be diverted from the path to be adjusted, a candidate carrying path is determined through path splitting or path re-optimization.
11. A congestion link processing apparatus, comprising: The sorting module is configured to determine the processing order of the multiple congested links based on the highest service priority corresponding to each congested link. The highest service priority corresponding to the congested link is determined as follows: the service priority of each path passing through the congested link is determined based on the service slice to which each path belongs; the maximum value of the service priorities of all paths passing through the congested link is taken as the highest service priority corresponding to the congested link. The traffic determination module is configured to determine the traffic to be migrated for the current congested link among the plurality of congested links according to the processing order; wherein the traffic to be migrated for the current congested link is determined based on the total bandwidth of the current congested link, the bandwidth utilization rate of the current congested link, the bandwidth utilization rate threshold set in the service protocol level, and the bandwidth utilization rate reservation. The path to be adjusted determination module is configured to determine the set of paths to be adjusted and the traffic to be transferred for each path in the set of paths to be adjusted based on the service priority of multiple paths passing through the currently congested link to be processed, the traffic of each of the multiple paths, and the traffic to be migrated. The target path determination module is configured to determine the target path used to carry the traffic to be diverted; The generation module is configured to generate a congestion link handling strategy based on the set of paths to be adjusted, the traffic to be diverted for each path in the set of paths to be adjusted, and the target path.
12. A network controller, comprising: The alarm management module is configured to determine whether a link is congested based on the link's performance indicators, and to output alarm information to the congested link processing device if link congestion is determined. A congestion link processing apparatus is configured to execute the congestion link processing method according to any one of claims 1 to 10 after receiving an alarm message.
13. The network controller of claim 12, further comprising: The data acquisition module is configured to acquire the performance metrics of the link and send the performance metrics of the link to the alarm management module.
14. The network controller according to claim 12, wherein, The congestion link processing device is further configured to: The congestion link handling policy is sent to the network device so that the network device performs traffic migration according to the congestion link handling policy.
15. A congestion link processing apparatus, comprising: Memory; as well as A processor coupled to the memory, the processor being configured to execute the congestion link processing method as described in any one of claims 1 to 10 based on instructions stored in the memory.
16. A computer-storeable medium having stored thereon computer program instructions that, when executed by a processor, implement the congestion link processing method as described in any one of claims 1 to 10.