Network configuration updating method and device for software defined network
By determining the gap and changing the cumulative value within the time window of the software-defined network, and optimizing the network configuration update strategy, the configuration update cost and efficiency problems caused by the growth of network scale in the existing technology are solved, and more efficient network adaptability and Scalability.
Patent Information
- Application Number
- CN202411634830.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-15
- Publication Date
- 2025-02-18
AI Technical Summary
When the network configuration update strategy of existing software-defined networks is in the face of network scale growth, the cost of global network configuration update cannot converge, the efficiency of configuration reconstruction has dropped significantly, and it has failed to effectively measure the cost and benefits of configuration adjustment.
A network configuration update method for software-defined networks is proposed. By determining the first gap and the second gap within the time window, it represents the gap after the update of global and local network configurations, and combining the conditions for measuring the smallest cumulative value, it determines the network configuration strategy. , including global, local updates and non-update.
By optimizing the network configuration update strategy, unnecessary network updates can be avoided, network adaptability to traffic changes, overall system scalability, and effectively control the cost of network configuration updates.
Smart Images

Figure CN119484282A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a method and device for updating network configuration of a software defined network. Background Art
[0002] In a software-defined network environment, in order to cope with changes in network traffic demand, a periodic network configuration update strategy can be used. This network configuration update strategy is to determine a fixed network configuration update cycle, regularly collect configuration information and traffic statistics of the entire network environment, centrally calculate and estimate the optimal configuration within the next configuration update cycle, and distribute the configuration to each network node to complete the configuration optimization of the entire network.
[0003] Although the periodic network configuration update strategy provides more unified control and higher flexibility, the existing network configuration update strategy only considers the optimal solution of the network configuration, that is, updating the global network configuration to the optimal state to meet the expected changes in network traffic. As the network scale grows, the cost of global network configuration updates cannot converge, and the efficiency of configuration reconstruction will drop significantly. In addition, the existing network configuration update strategy does not measure the benefits and costs of configuration adjustment. The existing network configuration update strategy is a timing strategy that reconstructs the global network configuration when the time point arrives. There is no quantitative measurement of the adjustment cost of adjusting the network to the optimal state and the benefits brought by the performance improvement after adjustment. This update strategy will bring lower returns in the case of complex networks.
[0004] Therefore, there is an urgent need for a solution to optimize the update strategy of network configuration under the condition that the network reconstruction cost is constrained. Summary of the invention
[0005] The present application provides a network configuration update method and device for a software-defined network, which are used to optimize the update strategy of the network configuration under the condition that the network reconstruction cost is constrained.
[0006] In a first aspect, the present application provides a method for updating a network configuration of a software defined network, the method comprising: for a time window [t n , t n+1 ), determining a first gap and a second gap corresponding to each time point; the first gap represents the gap between the time point after the global network configuration is updated and the optimal state; the second gap represents the gap between the time point after the local network configuration is updated and the optimal state;
[0007] The time window [t n , t n+1 ) is the condition for the minimum cumulative value of the change measurement corresponding to each time point to determine the time window [t n, t n+1 ) network configuration strategy; wherein the change measurement cumulative value is obtained by the first gap, the second gap and the time window [t n , t n+1 ) is determined by the network performance loss under the network configuration strategy of ; the network configuration strategy includes global network configuration update, local network configuration update and no update;
[0008] According to the time window [t n , t n+1 )’s network configuration strategy to perform network configuration on the software defined network at a corresponding time point.
[0009] In the above technical solution, the network configuration update strategy is optimized in terms of update frequency and update range, which avoids some unnecessary network-wide updates and improves the network's adaptability to traffic changes, especially for large data center networks, which improves the overall scalability of the system. In addition, by limiting the frequency and range of network configuration updates, the cost of network configuration updates, including the consumption of computing resources and network bandwidth, is effectively controlled.
[0010] In one possible design, the time window [t n , t n+1 ), performing network configuration of the software defined network at a corresponding time point, including:
[0011] If the time window [t n , t n+1 ) in which the network configuration strategy at the first time point is a local network configuration update, the adjustment range of the local network configuration update is determined according to the additional traffic demand at the first time point;
[0012] A local network configuration update is performed within the adjustment range.
[0013] In the above technical solution, when the local network configuration is updated, the adjustment range of the local network configuration update is dynamically determined according to the new traffic demand, thereby significantly reducing the scale of the network configuration update and controlling the cost of the network configuration update. And by setting a limit on the local network configuration update range, that is, determining a subset of network devices as the target of the network configuration update, the adaptability and scalability of the network can be improved, and rapid network configuration changes can be achieved by updating a smaller number of flows each time.
[0014] In a possible design, determining an adjustment range of a local network configuration update according to the new traffic demand at the first time point includes:
[0015] For any new traffic demand at the first time point, determine the impact value of the new traffic demand according to the impact weight between the new traffic demand and the first traffic demand and the second traffic demand; the first traffic demand is the initial traffic demand of the new traffic demand, and the second traffic demand is any traffic demand that has a shared path with the first traffic demand;
[0016] If the cumulative impact value of the newly added traffic demand is greater than or equal to the first set threshold, the path of the newly added traffic demand is used as the adjustment range of the local network configuration update.
[0017] In the above technical solution, by calculating the cumulative impact value of the new traffic demand, the flows most affected by delays and configuration changes in the next update time window are quantitatively identified, which helps to determine which parts of the network most need to be updated, so as to achieve rapid network configuration changes by updating a smaller number of flows each time.
[0018] In a possible design, the influence weight between the increased flow demand and the first flow demand and the second flow demand is determined in the following manner:
[0019] Determine the impact weight of the new traffic demand on the first traffic demand and the second traffic demand based on the new traffic demand, the maximum traffic that can be allocated on the path where the first traffic demand is located, the minimum capacity value on the path where the first traffic demand is located, the minimum capacity value on the path where the second traffic demand is located, the first traffic demand, the second traffic demand, the maximum available traffic from the shared path for the first traffic demand, the outflow traffic from the initial node of the first traffic demand, the maximum available traffic from the shared path for the second traffic demand, and the outflow traffic from the initial node of the second traffic demand.
[0020] In the above technical solution, when determining the impact weight of the new traffic demand on the first traffic demand and the second traffic demand, by considering the network path capacity, traffic allocation configuration and the impact of the network transmission that has occurred, the flow that is most affected by delays and configuration changes can be determined, which helps to determine which parts of the network most need to be updated, so as to achieve rapid network configuration changes by updating a smaller number of flows each time.
[0021] Based on the bottleneck situation caused by network allocation, we define the impact between two traffic demands f1 and f2. This impact is obviously related to the network path capacity, traffic allocation configuration and the network transmission that has occurred.
[0022] In one possible design, the time window [t n , t n+1 ) before the network configuration policy, and also includes:
[0023] Determining the number of local network configuration updates of the software defined network since the last global network configuration update;
[0024] If the number of times the local network configuration is updated is greater than the second set threshold, then determine the time window [t n , t n+1 ) in which the network configuration strategy at the first time point is a global network configuration update; the second set threshold is determined according to the impact of the new network demand in the software-defined network on the overall network performance and the change in the network status.
[0025] In the above technical solution, when the number of local network configuration updates is large enough to exceed the expectations brought by the new network demand, the cumulative performance gap is large enough, resulting in the need for global optimization. At this time, there is no need to consider other impacts and the global network configuration can be directly updated to ensure good network performance.
[0026] In one possible design, the first gap corresponding to each time point is determined as follows:
[0027] Based on time point t n-1 The gap between the global network configuration after update and the optimal state, the length of the time window, the frequency of global network configuration update that the software-defined network can withstand, and the previous time window [t n-1 , t n ) in each time point, determine the network configuration strategy at time point t n The gap between the global network configuration after update and the optimal state;
[0028] According to the time point t n The gap between the global network configuration update and the optimal state and the time window [t n , t n+1 ), and determining a first gap corresponding to each time point;
[0029] The second gap corresponding to each time point is determined by:
[0030] Based on time point t n-1 The difference between the local network configuration after update and the optimal state, the length of the time window, the frequency of local network configuration update that the software-defined network can withstand, and the previous time window [t n-1 , t n ) to determine the network configuration strategy at each time point, n The gap between the local network configuration after update and the optimal state;
[0031] According to the time point t nThe gap between the local network configuration update and the optimal state and the time window [t n , t n+1 ) at each time point in the network configuration strategy, and determine the second gap corresponding to each time point.
[0032] In the above technical solution, by considering the gap between the global network configuration after update and the optimal state, and the gap between the local network configuration after update and the optimal state, the network configuration update strategy is determined, which can balance the network update frequency and network status, and maintain good network performance while reducing network update overhead.
[0033] In one possible design, the time window [t n , t n+1 ) network performance loss under the network configuration strategy:
[0034] For the time window [t n , t n+1 ), determining a third gap between the global network configuration at each time point and the optimal network configuration;
[0035] Determining a fourth gap between the local network configuration and the optimal network configuration at each time point based on the number of local network configuration updates of the software-defined network since the last global network configuration update;
[0036] Determine the time window [t n , t n+1 )’s network performance loss under the network configuration strategy.
[0037] In the above technical solution, the time window [t n , t n+1 ) to control the loss within a balanced range, so that the network update strategy can adapt to changes in network demand and avoid overly frequent network updates, thereby improving the scalability and adaptability of the system while maintaining network performance.
[0038] In one possible design, for the time window [t n , t n+1 ), determining a third gap between the global network configuration at each time point and the optimal network configuration, including:
[0039] For the time window [t n , t n+1), based on the fifth gap between the global network configuration at the previous time point t-1 and the optimal network configuration, whether there is a new traffic demand at the time point t, the impact of the new traffic demand on the global network performance, and the self-recovery ability of the global network in the absence of external interference, estimate the third gap between the global network configuration at the time point t and the optimal network configuration;
[0040] Determining a fourth gap between the local network configuration and the optimal network configuration at each time point based on the number of local network configuration updates of the software-defined network since the last global network configuration update includes:
[0041] For the time window [t n , t n+1 ), based on the sixth gap between the local network configuration at the previous time point t-1 and the optimal network configuration, whether there is new traffic demand at the time point t, the impact of the new traffic demand on the local network performance, the self-recovery ability of the local network in the absence of external interference, the number of local network configuration updates since the last global network configuration update of the software-defined network, and the changes in the local network status, the fourth gap between the local network configuration at the time point t and the optimal network configuration is estimated.
[0042] In the above technical solution, after obtaining the optimal solution for the global network configuration update, the network status will change over time, and this global optimal solution will differ from the optimal solution under the actual network conditions; for local network configuration adjustment, after defining the network configuration adjustment range and obtaining the optimal solution for the local network configuration update, the optimal solution for the local network configuration update will also differ from the optimal solution under the actual network conditions. And the difference between the network configuration and the actual optimal network configuration strategy will gradually accumulate and increase. Based on this, the present application calculates the gap between the global network configuration and the optimal network configuration, as well as the gap between the local network configuration and the optimal network configuration, and determines at what point in time the local network configuration adjustment needs to be made and at what point in time the global network configuration adjustment needs to be made based on these two gaps.
[0043] In a second aspect, an embodiment of the present application provides a network configuration update device for a software defined network, the device comprising:
[0044] Analysis module, used for the time window [t n , t n+1 ), determining a first gap and a second gap corresponding to each time point; the first gap represents the gap between the time point after the global network configuration is updated and the optimal state; the second gap represents the gap between the time point after the local network configuration is updated and the optimal state;
[0045] The analysis module is also used to analyze the time window [t n , t n+1 ) is the condition for the minimum cumulative value of the change measurement corresponding to each time point to determine the time window [t n , t n+1 ) network configuration strategy; wherein the change measurement cumulative value is obtained by the first gap, the second gap and the time window [t n , t n+1 ) is determined by the network performance loss under the network configuration strategy of ; the network configuration strategy includes global network configuration update, local network configuration update and no update;
[0046] Processing module, used to process n , t n+1 )’s network configuration strategy to perform network configuration on the software defined network at a corresponding time point.
[0047] In one possible design, in the time window [t n , t n+1 ) network configuration strategy, when performing network configuration of the software defined network at a corresponding time point, the analysis module is used to n , t n+1 ) in which the network configuration strategy at the first time point is a local network configuration update, the adjustment range of the local network configuration update is determined according to the new traffic demand at the first time point; the processing module is used to perform the local network configuration update within the adjustment range.
[0048] In one possible design, when the analysis module determines the adjustment range of the local network configuration update based on the new traffic demand at the first time point, the analysis module is specifically used to determine the impact value of the new traffic demand for any new traffic demand at the first time point according to the impact weight of the new traffic demand on the first traffic demand and the second traffic demand; the first traffic demand is the initial traffic demand of the new traffic demand, and the second traffic demand is any traffic demand that shares a path with the first traffic demand; if the cumulative impact value of the new traffic demand is greater than or equal to a first set threshold, the path of the new traffic demand is used as the adjustment range of the local network configuration update.
[0049] In a possible design, the analysis module is specifically used to determine the influence weight between the increased flow demand and the first flow demand and the second flow demand in the following manner:
[0050] Determine the impact weight of the new traffic demand on the first traffic demand and the second traffic demand based on the new traffic demand, the maximum traffic that can be allocated on the path where the first traffic demand is located, the minimum capacity value on the path where the first traffic demand is located, the minimum capacity value on the path where the second traffic demand is located, the first traffic demand, the second traffic demand, the maximum available traffic from the shared path for the first traffic demand, the outflow traffic from the initial node of the first traffic demand, the maximum available traffic from the shared path for the second traffic demand, and the outflow traffic from the initial node of the second traffic demand.
[0051] In one possible design, the time window [t n , t n+1 ), the analysis module is further used to determine the number of local network configuration updates of the software defined network since the last global network configuration update; if the number of local network configuration updates is greater than a second set threshold, then determine the time window [t n , t n+1 ) in which the network configuration strategy at the first time point is a global network configuration update; the second set threshold is determined according to the impact of the new network demand in the software-defined network on the overall network performance and the change in the network status.
[0052] In a possible design, the analysis module is specifically configured to determine the first gap corresponding to each time point in the following manner:
[0053] Based on time point t n-1 The gap between the global network configuration after update and the optimal state, the length of the time window, the frequency of global network configuration update that the software-defined network can withstand, and the previous time window [t n-1 , t n ) in each time point, determine the network configuration strategy at time point t n The gap between the global network configuration after updating and the optimal state; according to the time point t n The gap between the global network configuration update and the optimal state and the time window [t n , t n+1 ), and determining a first gap corresponding to each time point;
[0054] The analysis module is further specifically configured to determine the second gap corresponding to each time point in the following manner:
[0055] Based on time point t n-1 The difference between the local network configuration after update and the optimal state, the length of the time window, the frequency of local network configuration update that the software-defined network can withstand, and the previous time window [tn-1 , t n ) to determine the network configuration strategy at each time point, n The gap between the local network configuration after updating and the optimal state; according to the time point t n The gap between the local network configuration update and the optimal state and the time window [t n , t n+1 ) at each time point in the network configuration strategy, and determine the second gap corresponding to each time point.
[0056] In a possible design, the analysis module is further specifically used to determine the time window [t n , t n+1 ) network performance loss under the network configuration strategy:
[0057] For the time window [t n , t n+1 ), determining a third gap between the global network configuration at each time point and the optimal network configuration; determining a fourth gap between the local network configuration at each time point and the optimal network configuration based on the number of local network configuration updates since the last global network configuration update of the software-defined network; determining the time window [t n , t n+1 )’s network performance loss under the network configuration strategy.
[0058] In a possible design, the analysis module performs the following operations on the time window [t n , t n+1 ), when determining the third gap between the global network configuration and the optimal network configuration at each time point, specifically for the time window [t n , t n+1 ), based on the fifth gap between the global network configuration at the previous time point t-1 and the optimal network configuration, whether there is a new traffic demand at the time point t, the impact of the new traffic demand on the global network performance, and the self-recovery ability of the global network in the absence of external interference, estimate the third gap between the global network configuration at the time point t and the optimal network configuration;
[0059] The analysis module is specifically used to determine the fourth gap between the local network configuration and the optimal network configuration at each time point based on the number of local network configuration updates since the last global network configuration update of the software-defined network, for the time window [t n , t n+1), based on the sixth gap between the local network configuration at the previous time point t-1 and the optimal network configuration, whether there is new traffic demand at the time point t, the impact of the new traffic demand on the local network performance, the self-recovery ability of the local network in the absence of external interference, the number of local network configuration updates since the last global network configuration update of the software-defined network, and the changes in the local network status, the fourth gap between the local network configuration at the time point t and the optimal network configuration is estimated.
[0060] In a third aspect, an embodiment of the present application further provides a computing device, including:
[0061] A memory for storing program instructions;
[0062] A processor is used to call the program instructions stored in the memory and execute the method described in any possible design of the first aspect according to the obtained program instructions.
[0063] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium, in which computer-readable instructions are stored. When a computer reads and executes the computer-readable instructions, the method described in any possible design of the above-mentioned first aspect is implemented.
[0064] In a fifth aspect, an embodiment of the present application further provides a computer program product, which includes a computer program code. When the computer program code runs on a computer, the computer executes a method as described in any possible design of the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS
[0065] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0066] Figure 1 A flowchart of a method for updating network configuration of a software defined network applicable to an embodiment of the present application;
[0067] Figure 2 A schematic diagram of a process for determining network performance loss provided in an embodiment of the present application;
[0068] Figure 3 A schematic diagram of a process for determining an adjustment range of a local network configuration update provided in an embodiment of the present application;
[0069] Figure 4 An example of determining an adjustment range for a local network configuration update provided in an embodiment of the present application;
[0070] Figure 5 A schematic diagram of the structure of a network configuration update device for a software defined network provided in an embodiment of the present application;
[0071] Figure 6 A schematic diagram of the structure of a computing device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0072] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.
[0073] In the embodiments of the present application, a plurality refers to two or more than two. The words "first", "second" and the like are only used for the purpose of distinguishing descriptions and cannot be understood as indicating or implying relative importance or order.
[0074] Software-defined networking (SDN) is a network virtualization and containerization approach that helps optimize network resources and quickly adjust the network to adapt to changing business needs, applications, and traffic. This approach builds a software-programmable infrastructure by separating the control plane and data plane of the network.
[0075] The Multi-commodity Flow Problem (MFP) is a network flow problem in which multiple items (or goods) flow from different source points to different sink points in a network.
[0076] Figure 1 A flowchart of a method for updating a network configuration of a software defined network provided in an embodiment of the present application is shown in FIG. Figure 1 As shown, the method includes:
[0077] Step 101: For the time window [t n , t n+1 ), determine the first gap and the second gap corresponding to each time point.
[0078] Among them, the time window [t n , t n+1 ) is a period of time for the network configuration strategy to be determined, and the time window [t n , t n+1 ) includes multiple time points t n ,tn +1, t n +2, ...t n+1 -1. The length of the time window and the interval distance between each time point in the time window can be set according to actual needs. The network configuration strategy includes global network configuration update, local network configuration update and no update. The embodiment of the present application defines a variable U(t) to represent a local network configuration update; U * (t) represents the global network configuration update, (U(t),U * When (t))=(0,0), it means that no adjustment is needed at time t, that is, no update;
[0079] (U(t),U * When (U(t))=(0,1), it means that the global network configuration is updated at time t; (U(t),U * When (U(t))=(1,0), it means that the local network configuration is updated at time t; (U(t),U * (t))=(1,1) is unreasonable. At this time, the global network configuration has been updated and there is no need to consider the local network configuration update.
[0080] The first gap represents the gap between the time point after the global network configuration is updated and the optimal state; the second gap represents the gap between the time point after the local network configuration is updated and the optimal state.
[0081] In a possible implementation manner, the first gap corresponding to each time point may be determined in the following manner: based on the time point t n-1 The gap between the global network configuration after update and the optimal state, the length of the time window, the frequency of global network configuration update that the software-defined network can withstand, and the previous time window [t n-1 , t n ) in each time point, determine the network configuration strategy at time point t n The gap between the global network configuration after update and the optimal state.
[0082] Reference formula 1:
[0083]
[0084] Among them, Q1(t n ) is the time point t n The gap between the global network configuration after update and the optimal state; Q1(t n-1 ) is the time point t n-1 The gap between the global network configuration after update and the optimal state; T n-1 is the length of the time window; The frequency of global network configuration updates that software-defined networks can sustain; *(t) indicates the global network configuration update.
[0085] According to the time point t n The gap between the global network configuration after update and the optimal state Q1(t n ) and time window [t n , t n+1 ) in each time point, determine the first gap corresponding to each time point
[0086] In a possible implementation manner, the second gap corresponding to each time point may be determined in the following manner:
[0087] Based on time point t n-1 The gap between the local network configuration after update and the optimal state, the length of the time window, the frequency of local network configuration update that the software-defined network can withstand, and the previous time window [t n-1 , t n ) to determine the network configuration strategy at each time point, n The gap between the local network configuration after update and the optimal state.
[0088] Reference formula 2:
[0089]
[0090] Among them, Q2(t n ) is the time point t n The gap between the local network configuration after update and the optimal state; Q2(t n-1 ) is the time point t n-1 The gap between the local network configuration after update and the optimal state; T n-1 is the length of the time window; f max The frequency of local network configuration updates that a software-defined network can withstand; U(t) represents the local network configuration update.
[0091] According to the time point t n The gap between the local network configuration after update and the optimal state Q2(t n ) and time window [t n , t n+1 ) in each time point, and determine the second gap corresponding to each time point
[0092] Step 102: Using the time window [t n , t n+1 ) is the condition for the minimum cumulative value of the change measurement corresponding to each time point to determine the time window [t n , t n+1)'s network configuration policy.
[0093] The cumulative change measurement value is obtained by combining the first gap, the second gap and the time window [t n , t n+1 )’s network performance loss under the network configuration strategy.
[0094] For example, it can be achieved by Figure 2 The time window [t n , t n+1 ) network performance loss under the network configuration strategy, such as Figure 2 As shown, the specific steps include:
[0095] Step 201: For the time window [t n , t n+1 ) at each time point in the experiment, and determining a third gap between the global network configuration at each time point and the optimal network configuration.
[0096] Calculating the impact of new network requirements on the existing network configuration is actually a process of solving a multi-commodity flow (MCF) problem. There are currently a variety of algorithms for solving the MCF problem, which obtain the global optimal solution through iteration and convergence. As time goes by, the network status will change, and this global optimal solution will differ from the optimal solution under the actual network conditions, that is, the third gap between the global network configuration and the optimal network configuration in the embodiment of the present application.
[0097] In a possible implementation, for the time window [t n , t n+1 ), determining the third gap between the global network configuration and the optimal network configuration at each time point, including: for the time window [t n , t n+1 ), based on the fifth gap between the global network configuration at the previous time point t-1 and the optimal network configuration, whether there is new traffic demand at time point t, the impact of the new traffic demand on the global network performance, and the self-recovery ability of the global network in the absence of external interference, the third gap between the global network configuration at time point t and the optimal network configuration is estimated.
[0098] Reference formula 3:
[0099] G * (t)=(1-ρ*)·G * (t-1)+J·A(t) Formula 3
[0100] Among them, G *(t) represents the gap between the global network configuration at time point t and the optimal network configuration; ρ * ∈(0,1), indicating the self-recovery ability of the global network without external interference; G * (t-1) represents the gap between the global network configuration at the previous time point t-1 and the optimal network configuration; A(t) represents whether there is new traffic demand at time point t, and A(t) can be a random value; J represents the impact of the new traffic demand on the global network performance.
[0101] Among them, the impact degree J of the new traffic demand on the global network performance is an expectation or mean value, and the statistical value can be used to define the impact degree of the new traffic as a constant to measure each new demand.
[0102] Step 202: Determine a fourth gap between the local network configuration and the optimal network configuration at each time point based on the number of times the local network configuration of the software-defined network has been updated since the last global network configuration was updated.
[0103] After determining that the network configuration strategy is a local network configuration update, the optimal solution for local network adjustment can be obtained through the MCF solver. This optimal solution for local network adjustment will also differ from the optimal solution for the current global network configuration. This difference is related to G * (t) is similar, but it is different from G * (t), only the optimal situation is considered in the local network, so this difference should be larger than G * (t) is larger. In the embodiment of the present application, this difference is defined as the fourth gap G(t) between the local network configuration and the optimal network configuration. As the number of local adjustments increases, the gap will have a cumulative effect.
[0104] Based on the number of times the local network configuration of the software-defined network is updated since the last global network configuration update, the fourth gap between the local network configuration and the optimal network configuration at each time point is determined, including:
[0105] For the time window [t n , t n+1 ), based on the sixth gap between the local network configuration at the previous time point t-1 and the optimal network configuration, whether there is new traffic demand at time point t, the impact of the new traffic demand on the local network performance, the self-recovery ability of the local network in the absence of external interference, the number of local network configuration updates since the last global network configuration update of the software-defined network, and the changes in the local network status, the fourth gap between the local network configuration at time point t and the optimal network configuration is estimated.
[0106] Reference formula 4:
[0107] G(t)-i·d=(1-ρ)(G(t-1)-i·d)+J·A(t) Formula 4
[0108] Among them, G(t) represents the gap between the local network configuration at time point t and the optimal network configuration; i represents the number of times the local network configuration of the software-defined network has been updated since the last global network configuration update; d represents the change in the local network state; ρ∈(0,1) represents the self-recovery ability of the local network in the absence of external interference; G(t-1) represents the gap between the local network configuration at the previous time point t-1 and the optimal network configuration; A(t) represents whether there is new traffic demand at time point t, and A(t) can be a random value; J represents the impact of the new traffic demand on the local network performance.
[0109] In reality, the changes in network status are usually relatively stable within a certain period of time. We define this gap as a constant d.
[0110] Step 203: Determine the time window [t n , t n+1 )’s network performance loss under the network configuration strategy.
[0111] According to the third gap G * (t) and the fourth gap G(t), we can get the difference between the actual network configuration after operation at time t and the optimal network configuration, that is, the loss of network performance over time H(t):
[0112] Reference formula 5:
[0113] H(t)=(1-U * (t))[(G(t)-G * (t))U(t)+(H(t-1)+ρ * G * (t-1))(1-U(t))) Formula 5
[0114] The goal of this application is to control H(t) within a balanced range through an update decision, and these update decisions can both adapt to changes in network requirements and avoid overly frequent network updates, thereby improving the scalability and adaptability of the system while maintaining network performance.
[0115] Exemplarily, the embodiment of the present application determines the update strategy based on Lyapunov optimization theory.
[0116] For a fixed network topology configuration, according to the Lyapunov optimization theory, we define two virtual queues, Q1(t) is used to measure the gap between the network state after the global network configuration is updated and the optimal state, and Q2(t) is used to measure the gap between the network state after the local network configuration is updated and the optimal state (the specific method of determining Q1(t) and Q2(t) refers to step 101), and the quadratic Lyapunov function is obtained, refer to formula 6:
[0117]
[0118] And Lyapunov drift, refer to formula 7:
[0119]
[0120] At this time, the penalty term should be the difference between the network state at time t and the optimal network state, that is, H(t). From this, we get the drift plus penalty term, refer to formula 8:
[0121]
[0122] Among them, V is the weight factor of the penalty term. A larger V indicates that the algorithm pays more attention to reducing the penalty term, and a smaller V indicates that the algorithm pays more attention to drift control. Expanding formula 8, we can deduce DPP h (h,t n ), refer to Formula 9:
[0123]
[0124] Where B is a constant that satisfies the following conditions:
[0125]
[0126] Here we can see that the number and frequency of update operations are affected by f max and The constraint of has a fixed upper limit. Therefore, it will not change the influence of the control decision on the overall trend of drift plus penalty term, that is, the value of B will not change the way the algorithm chooses control decisions. Ignoring the influence of B, the upper bound of drift plus penalty term can be obtained, refer to formula 10:
[0127]
[0128] Find in each change assessment window
[0129]
[0130] This can satisfy the performance and cost constraints of network updates.
[0131] From a practical point of view, That is, the network configuration update window T n The expected length is a statistical value based on the current network status, which is used to average the current performance loss over time. Therefore, it can be simplified to a fixed time window T′, and the optimization goal is simplified to Formula 10:
[0132]
[0133] Among them, λ=1-P(A(t)>0) represents the probability that the network is in a stable state.
[0134] According to the above formula + time window [t n , t n+1 ) is the condition for the minimum cumulative value of the change measurement corresponding to each time point to determine the time window [t n , t n+1 )'s network configuration policy.
[0135] Specifically, the corresponding (U(t),U * (t)) is the value of the network configuration update window T n The network configuration strategy that needs to be performed when the virtual queue is in the above formula 10 is determined. That is, the state of the virtual queue is determined. Based on the network configuration strategy (U(t), U * (t)) on the network performance loss over time H(t), we can construct a state transition diagram, at each time step k+1, there are 2 k -1 path converges to H(k+1)=0, and the same path converges to H(k+1)=
[0136] G(t)-G * (t). Therefore, this problem can be solved by standard dynamic programming. According to the optimization principle, the algorithm only needs to save the optimal path, so the number of paths generated per time step is 6k-3, which is linear, and the number of optimal paths stored is 2 k+1 is exponentially increasing, so this dynamic programming has a linear overall complexity. This makes the algorithm still have good scalability and computational efficiency when dealing with large-scale networks.
[0137] It should be noted that the embodiment of the present application weighs the computational complexity and the decision gap situation, and simplifies the optimization target. Without considering these simplifications, the true optimal solution can also be obtained through complex calculation methods, and the present application does not make specific restrictions on this.
[0138] In a possible implementation, the time window [t n , t n+1) before the network configuration strategy is implemented, the method further includes: determining the number of local network configuration updates of the software defined network since the last global network configuration update; if the number of local network configuration updates is greater than a second set threshold, determining the time window [t n , t n+1 ) is a global network configuration update. The second set threshold is determined according to the impact of the new network demand on the overall network performance and the change of the network state in the software defined network.
[0139] Specifically, according to the third gap G * (t) and the fourth gap G(t), when (i+1)·d is large enough and has exceeded the expectation brought by the new network demand, that is, J / 2, the cumulative performance gap is large enough, resulting in the network strategy to implement a global network configuration update. In other words, if (i+1)·d≥J / 2, there is no need to consider the influence of other factors at this time, and the global network configuration update can be directly implemented (U * (t)=1).
[0140] Step 103: According to the time window [t n , t n+1 )’s network configuration strategy to perform network configuration at the corresponding time point for the software-defined network.
[0141] When(U(t),U * When (U(t),U * When (U(t),U * When (t)) = (1,0), the local network configuration is updated at time t.
[0142] In a possible implementation, specifically, if the time window [t n , t n+1 ) in which the network configuration strategy at the first time point is a local network configuration update, the adjustment range of the local network configuration update can be determined according to the new traffic demand at the first time point, and the local network configuration update can be performed within the adjustment range.
[0143] For example, it can be achieved by Figure 3 In the manner shown, the adjustment range of the local network configuration update is determined according to the new traffic demand at the first time point, such as Figure 3 As shown, the specific steps include:
[0144] Step 301: For any new traffic demand at a first time point, determine the impact value of the new traffic demand according to the impact weight between the new traffic demand and the first traffic demand and the second traffic demand.
[0145] The first traffic demand is an initial traffic demand of a newly added traffic demand, and the second traffic demand is any traffic demand that has a shared path with the first traffic demand.
[0146] In one possible implementation, the impact weight between the increased traffic demand and the first traffic demand and the second traffic demand can be determined in the following manner: based on the newly increased traffic demand, the maximum traffic that can be allocated on the path where the first traffic demand is located, the minimum capacity value on the path where the first traffic demand is located, the minimum capacity value on the path where the second traffic demand is located, the first traffic demand, the second traffic demand, the maximum available traffic for the first traffic demand from the shared path, the outflow traffic from the initial node of the first traffic demand, the maximum available traffic for the second traffic demand from the shared path, and the outflow traffic from the initial node of the second traffic demand, the impact weight of the newly increased traffic demand on the first traffic demand and the second traffic demand is determined.
[0147] Reference formula 10:
[0148]
[0149] Among them, InR(f1,f2) is the impact weight of the new traffic demand on the first traffic demand and the second traffic demand; Δf1 is the new traffic demand of f1; R1 is the maximum traffic that can be allocated on the path where the first traffic demand is located. When R1>Δf1, that is, when the current network configuration cannot meet the incremental demand of f1, InR(f1,f2)=+∞; BL(f1) is the minimum capacity value on the path where the first traffic demand is located; BL(f2) is the minimum capacity value on the path where the second traffic demand is located; f1 is the first traffic demand; f2 is the second traffic demand; The maximum amount of traffic that can be obtained from the shared path for the first traffic demand; the maximum flow that can be obtained from the shared path for the second flow demand; The available outflow flow of the initial node for the first flow demand; It is the available outflow flow of the initial node of the second flow demand.
[0150] By way of example, the following describes the process of determining the minimum capacity value BL(f) on the path where the traffic demand is located: For a multi-hop network path p, the capacity Cap(p) of this path is the capacity value corresponding to the link with the smallest capacity on the path, refer to Formula 11:
[0151]
[0152] Among them, C e Represents the maximum capacity of network link e.
[0153] The bottleneck on a network path is not only related to the capacity of the network path, but also to the amount of network traffic allocated to the path. A network path with large capacity will also become a bottleneck on the entire path when carrying more network traffic. Partial derivatives can be used to measure the bottleneck of a network path, refer to Formula 12:
[0154]
[0155] Where L represents the average network transmission packet size.
[0156] For a network traffic configuration f, all of its traffic will be distributed to network paths of different capacities for transmission. The set of these network paths is denoted as P(f). When traffic demand increases, the newly added traffic tends to be distributed to the network configuration with a smaller bottleneck value. For an existing network configuration f, its minimum bottleneck value is denoted as the baseline of f, that is, the minimum capacity value BL(f) on the path where the traffic demand is located, refer to Formula 13:
[0157]
[0158] Furthermore, according to the influence weight InR(f1, f2) between the new traffic demand and the first traffic demand and the second traffic demand, the influence value of the new traffic demand is determined, referring to Formula 14.
[0159] IF(△f1)=△f1·InR(f1,f2) Formula 14
[0160] Among them, IF(Δf1) is the impact value of the new flow demand Δf1 on the first flow demand f1 and the second flow demand f2; Δf1 is the new flow demand of f1; InR(f1,f2) is the impact weight of the new flow demand Δf1 on the first flow demand f1 and the second flow demand f2.
[0161] Step 302: If the cumulative impact value of the newly added traffic demand is greater than or equal to the first set threshold, the path of the newly added traffic demand is used as the adjustment range of the local network configuration update.
[0162] The cumulative impact value of the new traffic demand is the sum of the new traffic demand and the impact value of the new traffic demand, that is, value(f i )=Δf i +IF(Δf i ), the value of the first set threshold can be an empirical value, or a boundary value calculated based on the image map and cost, or an optimal value calculated using machine learning, etc., and this application does not make any specific limitations on this.
[0163] In one possible implementation, after obtaining the cumulative impact value of the newly added traffic demand, an impact graph can be constructed based on the existing network topology of the software-defined network, where the nodes are the existing traffic configurations, and the edges represent the cumulative impact values of the traffic demand that has changed this time on the two traffic configurations. This graph can be obtained by using the existing network topology, using breadth-first traversal, and the above-mentioned impact value calculation formula. In order to meet the newly added network demand, this application tends to adjust the network configuration involved in the larger edges on this graph, and in order to control the cost of adjusting the network configuration update strategy, define r min ∈(0,+∞), indicating the lower limit of the impact value in this network configuration adjustment. min The set of edges of is used as the adjustment range of this local network configuration update, and the cumulative impact value is less than r min The edges of will not participate in this local network configuration update. Therefore, the adjustment range of the local network configuration update can be controlled according to the impact of the new network requirements on the existing network.
[0164] For ease of understanding, a specific example is used below to explain how to determine the adjustment range of a local network configuration update.
[0165] For example Figure 4 The network topology shown has 6 switches from S1 to S6, represented by a circular structure. The link capacity between the switches is 20Mbps or 30Mbps, represented by solid lines. There are two network flows f1 and f2, the flow demand of f1 is 20Mbps, and the flow demand of f2 is 30Mbps. The flow distribution caused by the actual network configuration is represented by dotted lines.
[0166] Both f1 and f2 are split into two sub-flows. f1 and f2 have a shared network link, from S4 to S6.
[0167] According to formula 12 and the differential division rule
[0168]
[0169] Because L and C e is a constant, we can get
[0170]
[0171] therefore
[0172]
[0173] Here, the size L of the average network transmission packet is simplified to unit 1. Combined with the case configuration, the bottleneck situation of each path can be obtained:
[0174]
[0175]
[0176] Then calculate the baseline of the two flows, that is, the minimum capacity value BL(f) on the path where the flow demand is located:
[0177] BL(f1)=min{BN(S1→S3→S6),BN(S1→S4→S6)}=0.1446
[0178] BL(f2)=min{BN(S2→S4→S6),BN(S2→S5→S6)}=0.1464
[0179] Assuming that the demand for traffic f1 is adjusted from 20 Mbps to 22 Mbps, that is, Δf1 = 2, the impact weight InR(f1,f2) and impact value IF(Δf1) of the additional traffic demand Δf1 on f1 and f2 can be calculated:
[0180]
[0181] IF(Δf1)=2·0.0197=0.0394
[0182] The calculation process of 18.7 in InR(f1,f2) is as follows: the amount of traffic that can be allocated on the path s1->s3->s6 is 20-11.2=8.8; on the path s1->s4->s6, the amount of traffic that can be allocated on s1->s4 is 20-8.8=11.2, and the amount of traffic that can be allocated on the path s4->s6 is 30-8.8-11.3=9.9, so s1->s4->s6 can still allocate 9.9. Therefore, the maximum amount of traffic that can be allocated on the path f1 is 8.8+9.9=18.7.
[0183] The calculation process of the 20 / 40 data set is as follows: is the maximum flow rate that can flow out of the initial node of the flow f1. In the figure, it is the maximum flow rate that can flow out of s1, 20+20=40. ) is the maximum flow that f1 can obtain from the shared path of (f1, f2). In the figure, the path shared by (f1, f2) is s4->s6. Since s1->s4 can only transmit 20, the maximum flow that f1 can obtain from s4->s6 is 20.
[0184] The cumulative impact value (f1) of the additional traffic demand Δf1 on f1 and f2 i )=2+0.0394I=2.0394. When ≥r minWhen , this traffic change will include the network link f1 in the scope of influence of the reconstruction; otherwise, it is considered that the change in network traffic does not meet the cost control range of network configuration adjustment, and no network configuration adjustment will be performed.
[0185] The following is the overall process of the network configuration update method of the software defined network provided in the embodiment of the present application:
[0186] Step 100: Initialize time t0 = 0, penalty weight factor V = 100, queue Update window start time ordered set
[0187] Step 110: If at time t, (i+1)·d≥J / 2, then S=S∪{t}.
[0188] Step 120: For t n ∈S, initialize U * (t n )=1.
[0189] Step 130: Update the queue
[0190]
[0191] Step 140: Using the algorithm above, the time window [t n , t n+1 ) is the condition for the minimum cumulative value of the change measurement corresponding to each time point, and the approximately optimal network configuration strategy set {(U * (t n +1),U(t n +1)),(U * (t n +2),U(t n +2)),…,U * (t n+1 -1),U(t n+1 -1)}.
[0192] Step 150: Perform network configuration update according to the network configuration policy. * When U(t)=1, the global network configuration is updated and the optimal solution of the multi-object network flow is calculated for the global network. When U(t)=1, steps 200 to 260 are executed to determine the adjustment range of the local network configuration update and the optimal solution is calculated within the adjustment range. In other cases, the network configuration is not updated at the current time.
[0193] Step 200: Given the network topology G, the number of network flows n, and the initial flow demand set New traffic demand set Initial Network Configuration Network configuration impact threshold r min .
[0194] Step 210: Create a collection Used to store the affected network flows.
[0195] Step 220: Construct directed graph G p ={f1,f2,…,f n}, its edge set If f1∈G p , f2∈G p , the paths between them share the same number of hops, then E=E∪{(f1,f2),(f2,f1)}.
[0196] Step 230: For each f i ∈G p , initialize its impact value according to the difference between the new demand and the initial demand
[0197] Step 240: For each f i ∈G p , if (f i ,f j )∈E, accumulating the impact of its network traffic change on the associated network traffic value(f i )=value(f i )+IF(Δf i ).
[0198] Step 250: For each f i ∈G p , if value(f i )>r min , then S=S∪{f i}.
[0199] Step 260: S is the adjustment range of this local network configuration update.
[0200] The embodiment of the present application provides a method for updating the network configuration of a software-defined network, which optimizes the update frequency and update range of the network configuration update strategy, avoids some unnecessary updates of the entire network, improves the adaptability of the network to traffic changes, and improves the overall scalability of the system, especially for large data center networks. In addition, by limiting the frequency and range of network configuration updates, the cost of network configuration updates is effectively controlled, including the consumption of computing resources and network bandwidth.
[0201] Based on the same technical concept, Figure 5 A schematic diagram of a network configuration update device for a software defined network provided in an embodiment of the present application is shown in FIG. Figure 5 As shown, the device comprises:
[0202] Analysis module 501, for analyzing the time window [t n , t n+1 ), determining a first gap and a second gap corresponding to each time point; the first gap represents the gap between the time point after the global network configuration is updated and the optimal state; the second gap represents the gap between the time point after the local network configuration is updated and the optimal state;
[0203] The analysis module 501 is also used to analyze the time window [t n , t n+1 ) is the condition for the minimum cumulative value of the change measurement corresponding to each time point to determine the time window [t n , t n+1 ) network configuration strategy; wherein the change measurement cumulative value is obtained by the first gap, the second gap and the time window [t n , t n+1 ) is determined by the network performance loss under the network configuration strategy of ; the network configuration strategy includes global network configuration update, local network configuration update and no update;
[0204] Processing module 501, for n , t n+1 )’s network configuration strategy to perform network configuration on the software defined network at a corresponding time point.
[0205] In one possible design, in the time window [t n , t n+1 ) network configuration strategy, when performing network configuration of the software defined network at a corresponding time point, the analysis module 501 is used to n , t n+1 ) in which the network configuration strategy at the first time point is a local network configuration update, the adjustment range of the local network configuration update is determined according to the new traffic demand at the first time point; the processing module 501 is used to perform the local network configuration update within the adjustment range.
[0206] In one possible design, when the analysis module 501 determines the adjustment range of the local network configuration update based on the new traffic demand at the first time point, it is specifically used to determine the impact value of the new traffic demand for any new traffic demand at the first time point according to the impact weight of the new traffic demand on the first traffic demand and the second traffic demand; the first traffic demand is the initial traffic demand of the new traffic demand, and the second traffic demand is any traffic demand that shares a path with the first traffic demand; if the cumulative impact value of the new traffic demand is greater than or equal to a first set threshold, the path of the new traffic demand is used as the adjustment range of the local network configuration update.
[0207] In a possible design, the analysis module 501 is specifically used to determine the influence weight between the increased flow demand and the first flow demand and the second flow demand in the following manner:
[0208] Determine the impact weight of the new traffic demand on the first traffic demand and the second traffic demand based on the new traffic demand, the maximum traffic that can be allocated on the path where the first traffic demand is located, the minimum capacity value on the path where the first traffic demand is located, the minimum capacity value on the path where the second traffic demand is located, the first traffic demand, the second traffic demand, the maximum available traffic from the shared path for the first traffic demand, the outflow traffic from the initial node of the first traffic demand, the maximum available traffic from the shared path for the second traffic demand, and the outflow traffic from the initial node of the second traffic demand.
[0209] In one possible design, the time window [t n , t n+1 ), the analysis module 501 is further used to determine the number of local network configuration updates of the software defined network since the last global network configuration update; if the number of local network configuration updates is greater than a second set threshold, then determine the time window [t n , t n+1 ) in which the network configuration strategy at the first time point is a global network configuration update; the second set threshold is determined according to the impact of the new network demand in the software-defined network on the overall network performance and the change in the network status.
[0210] In a possible design, the analysis module 501 is specifically configured to determine the first gap corresponding to each time point in the following manner:
[0211] Based on time point t n-1The gap between the global network configuration after update and the optimal state, the length of the time window, the frequency of global network configuration update that the software-defined network can withstand, and the previous time window [t n-1 , t n ) in each time point, determine the network configuration strategy at time point t n The gap between the global network configuration after updating and the optimal state; according to the time point t n The gap between the global network configuration update and the optimal state and the time window [t n , t n+1 ), and determining a first gap corresponding to each time point;
[0212] The analysis module 501 is further specifically configured to determine the second gap corresponding to each time point in the following manner:
[0213] Based on time point t n-1 The difference between the local network configuration after update and the optimal state, the length of the time window, the frequency of local network configuration update that the software-defined network can withstand, and the previous time window [t n-1 , t n ) to determine the network configuration strategy at each time point, n The gap between the local network configuration after updating and the optimal state; according to the time point t n The gap between the local network configuration update and the optimal state and the time window [t n , t n+1 ) at each time point in the network configuration strategy, and determine the second gap corresponding to each time point.
[0214] In a possible design, the analysis module 501 is further specifically configured to determine the time window [t n , t n+1 ) network performance loss under the network configuration strategy:
[0215] For the time window [t n , t n+1 ), determining a third gap between the global network configuration at each time point and the optimal network configuration; determining a fourth gap between the local network configuration at each time point and the optimal network configuration based on the number of local network configuration updates since the last global network configuration update of the software-defined network; determining the time window [t n , t n+1 )’s network performance loss under the network configuration strategy.
[0216] In a possible design, the analysis module 501 performs the following operations on the time window [tn , t n+1 ), when determining the third gap between the global network configuration and the optimal network configuration at each time point, specifically for the time window [t n , t n+1 ), based on the fifth gap between the global network configuration at the previous time point t-1 and the optimal network configuration, whether there is a new traffic demand at the time point t, the impact of the new traffic demand on the global network performance, and the self-recovery ability of the global network in the absence of external interference, estimate the third gap between the global network configuration at the time point t and the optimal network configuration;
[0217] The analysis module 501 is specifically used to determine the fourth gap between the local network configuration and the optimal network configuration at each time point based on the number of local network configuration updates since the last global network configuration update of the software-defined network, for the time window [t n , t n+1 ), based on the sixth gap between the local network configuration at the previous time point t-1 and the optimal network configuration, whether there is new traffic demand at the time point t, the impact of the new traffic demand on the local network performance, the self-recovery ability of the local network in the absence of external interference, the number of local network configuration updates since the last global network configuration update of the software-defined network, and the changes in the local network status, the fourth gap between the local network configuration at the time point t and the optimal network configuration is estimated.
[0218] Based on the same technical concept, the present application embodiment provides a computing device, such as Figure 6 As shown, it includes at least one processor 601 and a memory 602 connected to the at least one processor. The specific connection medium between the processor 601 and the memory 602 is not limited in the embodiment of the present application. Figure 6 For example, the processor 601 and the memory 602 are connected via a bus. The bus can be divided into an address bus, a data bus, a control bus, etc.
[0219] In an embodiment of the present application, the memory 602 stores instructions that can be executed by at least one processor 601. The at least one processor 601 can execute the network configuration update method of the software-defined network listed in any of the above methods by executing the instructions stored in the memory 602.
[0220] The processor 601 is the control center of the computing device, and can use various interfaces and lines to connect various parts of the computer device, and perform resource settings by running or executing instructions stored in the memory 602 and calling data stored in the memory 602.
[0221] Optionally, the processor 601 may include one or more processing units, and the processor 601 may integrate an application processor and a modem processor, wherein the application processor mainly processes an operating system, a user interface, and application programs, and the modem processor mainly processes wireless communications. It is understandable that the modem processor may not be integrated into the processor 601. In some embodiments, the processor 601 and the memory 602 may be implemented on the same chip, and in some embodiments, they may also be implemented separately on separate chips.
[0222] Processor 601 can be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application-specific integrated circuit (ASIC), a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, and can implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor can be a microprocessor or any conventional processor, etc. The steps of the method disclosed in the embodiments of the present application can be directly embodied as a hardware processor for execution, or can be executed by a combination of hardware and software modules in the processor.
[0223] The memory 602 is a non-volatile computer-readable storage medium that can be used to store non-volatile software programs, non-volatile computer executable programs and modules. The memory 602 may include at least one type of storage medium, such as a flash memory, a hard disk, a multimedia card, a card-type memory, a random access memory (Random Access Memory, RAM), a static random access memory (Static Random Access Memory, SRAM), a programmable read-only memory (Programmable Read Only Memory, PROM), a read-only memory (Read Only Memory, ROM), an electrically erasable programmable read-only memory (Electrically Erasable Programmable Read, Only Memory, EEPROM), a magnetic memory, a disk, an optical disk, etc. The memory 602 is any other medium that can be used to carry or store a desired program code in the form of an instruction or data structure and can be accessed by a computer, but is not limited thereto. The memory 602 in the embodiment of the present application can also be a circuit or any other device that can realize a storage function, for storing program instructions and / or data.
[0224] Based on the same technical concept, an embodiment of the present application also provides a computer-readable storage medium, which stores a computer-executable program. The computer-executable program is used to enable a computer to execute the network configuration update method of the software-defined network listed in any of the above methods.
[0225] Based on the same technical concept, an embodiment of the present application also provides a computer program product, which includes a computer program code. When the computer program code runs on a computer, the computer executes a network configuration update method for a software-defined network as listed in any of the above methods.
[0226] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD, ROM, optical storage, etc.) that contain computer-usable program code.
[0227] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0228] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0229] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1A process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0230] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.
[0231] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. A method for updating network configuration of a software defined network, characterized in that: The method comprises: For the time window [t n , t n+1 ), determining a first gap and a second gap corresponding to each time point; the first gap represents the gap between the time point after the global network configuration is updated and the optimal state; the second gap represents the gap between the time point after the local network configuration is updated and the optimal state; The time window [t n , t n+1 ) is the condition for the minimum cumulative value of the change measurement corresponding to each time point to determine the time window [t n , t n+1 ) network configuration strategy; wherein the change measurement cumulative value is obtained by the first gap, the second gap and the time window [t n , t n+1 ) is determined by the network performance loss under the network configuration strategy of ; the network configuration strategy includes global network configuration update, local network configuration update and no update; According to the time window [t n , t n+1 )’s network configuration strategy to perform network configuration on the software defined network at a corresponding time point.
2. The method according to claim 1, characterized in that According to the time window [t n , t n+1 ), performing network configuration of the software defined network at a corresponding time point, including: If the time window [t n , t n+1 ) in which the network configuration strategy at the first time point is a local network configuration update, the adjustment range of the local network configuration update is determined according to the additional traffic demand at the first time point; A local network configuration update is performed within the adjustment range.
3. The method according to claim 2, characterized in that Determining an adjustment range of the local network configuration update according to the additional traffic demand at the first time point includes: For any new traffic demand at the first time point, determine the impact value of the new traffic demand according to the impact weight between the new traffic demand and the first traffic demand and the second traffic demand; the first traffic demand is the initial traffic demand of the new traffic demand, and the second traffic demand is any traffic demand that has a shared path with the first traffic demand; If the cumulative impact value of the newly added traffic demand is greater than or equal to the first set threshold, the path of the newly added traffic demand is used as the adjustment range of the local network configuration update.
4. The method according to claim 3, characterized in that: The influence weight between the increased flow demand and the first flow demand and the second flow demand is determined by: Determine the impact weight of the new traffic demand on the first traffic demand and the second traffic demand based on the new traffic demand, the maximum traffic that can be allocated on the path where the first traffic demand is located, the minimum capacity value on the path where the first traffic demand is located, the minimum capacity value on the path where the second traffic demand is located, the first traffic demand, the second traffic demand, the maximum available traffic from the shared path for the first traffic demand, the outflow traffic from the initial node of the first traffic demand, the maximum available traffic from the shared path for the second traffic demand, and the outflow traffic from the initial node of the second traffic demand.
5. The method according to claim 1, characterized in that: Determine the time window [t n , t n+1 ) before the network configuration policy, and also includes: Determining the number of local network configuration updates of the software defined network since the last global network configuration update; If the number of times the local network configuration is updated is greater than the second set threshold, then determine the time window [t n , t n+1 ) in which the network configuration strategy at the first time point is a global network configuration update; the second set threshold is determined according to the impact of the new network demand in the software-defined network on the overall network performance and the change in the network status.
6. The method according to any one of claims 1 to 5, characterized in that: The first gap corresponding to each time point is determined by: Based on time point t n-1 The gap between the global network configuration after update and the optimal state, the length of the time window, the frequency of global network configuration update that the software-defined network can withstand, and the previous time window [t n-1 , t n ) in each time point, determine the network configuration strategy at time point t n The gap between the global network configuration after update and the optimal state; According to the time point t n The gap between the global network configuration update and the optimal state and the time window [t n , t n+1 ), and determining a first gap corresponding to each time point; The second gap corresponding to each time point is determined by: Based on time point t n-1 The difference between the local network configuration after update and the optimal state, the length of the time window, the frequency of local network configuration update that the software-defined network can withstand, and the previous time window [t n-1 , t n ) to determine the network configuration strategy at each time point, n The gap between the local network configuration after update and the optimal state; According to the time point t n The gap between the local network configuration update and the optimal state and the time window [t n , t n+1 ) at each time point in the network configuration strategy, and determine the second gap corresponding to each time point.
7. The method according to any one of claims 1 to 5, characterized in that: The time window [t n , t n+1 ) network performance loss under the network configuration strategy: For the time window [t n , t n+1 ), determining a third gap between the global network configuration at each time point and the optimal network configuration; Determining a fourth gap between the local network configuration and the optimal network configuration at each time point based on the number of local network configuration updates of the software-defined network since the last global network configuration update; Determine the time window [t n , t n+1 ) network performance loss under the network configuration strategy.
8. The method according to claim 7, characterized in that For the time window [t n , t n+1 ), determining a third gap between the global network configuration at each time point and the optimal network configuration, comprising: For the time window [t n , t n+1 ), based on the fifth gap between the global network configuration at the previous time point t-1 and the optimal network configuration, whether there is a new traffic demand at the time point t, the impact of the new traffic demand on the global network performance, and the self-recovery ability of the global network in the absence of external interference, estimate the third gap between the global network configuration at the time point t and the optimal network configuration; Determining a fourth gap between the local network configuration and the optimal network configuration at each time point based on the number of local network configuration updates of the software-defined network since the last global network configuration update includes: For the time window [t n , t n+1 ), based on the sixth gap between the local network configuration at the previous time point t-1 and the optimal network configuration, whether there is new traffic demand at the time point t, the impact of the new traffic demand on the local network performance, the self-recovery ability of the local network in the absence of external interference, the number of local network configuration updates since the last global network configuration update of the software-defined network, and the changes in the local network status, the fourth gap between the local network configuration at the time point t and the optimal network configuration is estimated.
9. A network configuration updating device, characterized in that: The method comprises: Processing module for the time window [t n , t n+1 ), determining a first gap and a second gap corresponding to each time point; the first gap represents the gap between the time point after the global network configuration is updated and the optimal state; the second gap represents the gap between the time point after the local network configuration is updated and the optimal state; The processing module is also used to use the time window [t n , t n+1 ) is the condition for the minimum cumulative value of the change measurement corresponding to each time point to determine the time window [t n , t n+1 ) network configuration strategy; wherein the change measurement cumulative value is obtained by the first gap, the second gap and the time window [t n , t n+1 ) is determined by the network performance loss under the network configuration strategy of ; the network configuration strategy includes global network configuration update, local network configuration update and no update; Execution module, used to execute n , t n+1 )’s network configuration strategy to perform network configuration on the software defined network at a corresponding time point.
10. A computing device, characterized in that include: A memory for storing program instructions; A processor is used to call the program instructions stored in the memory, and execute the method according to any one of claims 1 to 8 according to the obtained program instructions.
11. A computer-readable storage medium, characterized in that: The method comprises computer-readable instructions, and when a computer reads and executes the computer-readable instructions, the method according to any one of claims 1 to 8 is implemented.
12. A computer program product, characterized in that The computer program product comprises: a computer program code, and when the computer program code is run on a computer, the computer is enabled to execute the method according to any one of claims 1 to 8.
Citation Information
Cited By
Resource allocation method and device, electronic equipment, storage medium and program product
CN120602343A