Dynamic Deployment Method of SDN Controller Based on Adaptive Time Window

By optimizing the adaptive time window and the NSGA-II algorithm, the deployment of the SDN controller is dynamically adjusted, which solves the problem of balancing topology stability and migration cost in dynamic networks. This optimizes flow establishment time and migration cost, and improves network responsiveness and stability.

CN121037240BActive Publication Date: 2026-06-30BEIJING INST OF TECH

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING INST OF TECH
Filing Date
2025-08-22
Publication Date
2026-06-30

Smart Images

  • Figure CN121037240B_ABST
    Figure CN121037240B_ABST
Patent Text Reader

Abstract

This invention discloses a dynamic deployment method for SDN controllers based on adaptive time windows, which can achieve an optimal balance between topology stability and migration cost. Specifically, the method comprises the following steps: Step 1: For the current business scenario requiring controller deployment, read network node location data and pre-calculate the network topology and shortest path for each time slice to construct a network model. Step 2: Pre-calculate the topology change rate and coverage change rate for each time slice. Step 3: Perform adaptive time window division. Step 4: Pre-generate a ground user service flow matrix. Step 5: Determine whether all window migration scheme calculations have been completed. If completed, the process ends; otherwise, proceed to Step 6. Step 6: Construct a cross-window controller migration problem based on maximizing flow establishment time improvement and minimizing migration cost, and use NSGA-II to search for the optimal migration scheme within the current window. Step 7: Output the Pareto optimal set for the current time window and compromise to determine the required deployment scheme. Step 8: Return to Step 5.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communication network technology, and more specifically to a dynamic deployment method for SDN controllers based on adaptive time windows. Background Technology

[0002] With the rapid development of technologies such as the Internet of Things (IoT), modern communication networks are gradually evolving towards large-scale, distributed, and dynamic architectures. These networks typically consist of a massive number of heterogeneous nodes, including both fixed core equipment and numerous mobile terminal nodes, dynamically connected via wired or wireless links. The network topology continuously changes due to node migration, link connectivity issues, and fluctuations in service traffic, exhibiting high spatiotemporal instability. In this environment, Software Defined Networking (SDN), with its centralized control logic and flexible decoupling of data forwarding, provides a new technical path for dynamic network management. However, its core performance directly depends on the degree to which the controller deployment strategy adapts to the characteristics of the dynamic network.

[0003] Traditional SDN controller deployments often employ static strategies, determining controller locations based on historical data. This approach faces significant limitations in dynamic scenarios: statically deployed control nodes cannot keep pace with changes in network resource distribution, causing propagation latency between the controller and controlled switches to accumulate over time as the topology changes. For example, in connected vehicles, the movement of vehicle nodes can create gaps in the original controller's coverage area, leading to delays or even loss of control signaling. In the Industrial Internet of Things (IIoT), intermittent device node access can cause some controllers to remain under low load for extended periods, while bursts of traffic may result in detours in service flow paths due to insufficient control resources. These problems directly reduce network service quality and resource utilization efficiency.

[0004] To alleviate the rigidity of static deployments, existing technologies have proposed dynamic deployment schemes based on time windows, dividing the network operating cycle into fixed-length time periods (e.g., 10 minutes, 30 minutes) and recalculating the controller position within each window. However, fixed time windows have limitations in practical applications, lacking adaptability to dynamic network rates. When network conditions fluctuate drastically (e.g., rapid node migration, sudden traffic surges), excessively long windows cause controller deployment strategies to lag significantly, failing to respond to changes in a timely manner; while excessively shortening the window can improve sensitivity, it incurs high costs due to frequent migrations—including signaling storms during control transfer, bandwidth consumption for state synchronization, and the risk of brief service interruptions during migration.

[0005] Therefore, in the current SDN controller deployment technology in dynamic networks, how to achieve the optimal balance between topology stability and migration cost is a problem that ties need to solve. Summary of the Invention

[0006] In view of this, the present invention provides a dynamic deployment method for SDN controllers based on adaptive time windows, which is a method to achieve an optimal balance between topology stability and migration cost.

[0007] To achieve the above objectives, the present invention provides a dynamic deployment method for SDN controllers based on adaptive time windows, comprising the following steps:

[0008] Step 1: For the current business scenario that requires controller deployment, read the network node location data and pre-calculate the network topology and shortest path for each time slice, and then build a network model.

[0009] Step 2: Pre-calculate the topology change rate and coverage change rate for each time slice.

[0010] Step 3: Perform adaptive time window division.

[0011] Step 4: Pre-generate the ground user service flow matrix.

[0012] Step 5: Determine whether all window migration scheme calculations have been completed. If completed, the process ends; otherwise, proceed to Step 6.

[0013] Step 6: Based on maximizing the improvement in flow setup time and minimizing migration cost, construct a cross-window controller migration problem, and use NSGA-II to search for the optimal migration scheme under the current window.

[0014] Step 7: Output the Pareto optimal set for the current time window to determine the required deployment plan.

[0015] Step 8: Return to Step 5.

[0016] Further, in step two, the topological change rate for each time slice is calculated in the following manner:

[0017] The topology change rate is used to quantify the degree of difference in network topology between adjacent time slices, and its calculation method is as follows:

[0018]

[0019] Where Δ topo (r) represents the topological change rate of time slice r, E r E represents the set of links in time slice r. r-1 E represents the set of links in time slice r-1. r E r-1 Represents set E r The middle does not belong to set E r-1 The set of elements, E r-1 E r Represents set Er-1 The middle does not belong to set E r The set of elements.

[0020] Further, in step two, the coverage change rate for each time slice is calculated using the following method:

[0021] The coverage change rate is used to quantify the degree of change in the main coverage nodes of a ground area within two consecutive time windows. Its calculation method is as follows:

[0022]

[0023] Where, Δ cover (r) represents the rate of change of coverage for time slice r. This indicates the primary overlay node of block b under time slice r; The function is an indicator function. It takes the value 1 when the primary overlay node of block b under time slice r is different from that of time slice r-1, and 0 otherwise; B represents the total number of blocks.

[0024] Furthermore, in step three, the adaptive time window is divided using the following steps:

[0025] S301: Input includes a set of topology information {G} for all time slices within a node's runtime period T. r} and Overlay Map Set The initial window W1 is set to [1,1], indicating that starting from the first time slice, the current window number w is set to 1.

[0026] S302: For each time slice r from 2 to r max The partitioning mechanism performs the following operations:

[0027] First, calculate the topological change rate Δ of the current time slice r. topo (r) and coverage change rate Δ cover (r) represents the topological difference and coverage difference between the current time slice and the previous time slice, respectively.

[0028] If the rate of topological change Δ topo (r) and coverage change rate Δ cover (r) are all less than the preset threshold, that is

[0029] Δ topo (r)<θ topo ,Δ cover (r)<θ cover

[0030] Then the current window W w Extend to the current time slice r, i.e.

[0031] If the current time slice r does not meet the above threshold condition, then a new time window W is created. w = [r, r] and update the window number w = w + 1; at the same time set the maximum window length. and minimum window length

[0032] This completes the adaptive window division.

[0033] Further, in step three, after completing initialization S301 and dynamic window expansion S302, the post-processing optimization stage begins. The purpose of this stage is to further optimize the generated time windows. Post-processing optimization mainly includes two operations: window splitting and window merging.

[0034] The window splitting strategy is used to handle windows whose internal cumulative rate of change exceeds a preset threshold. If a certain window W... w If the cumulative rate of topological change or cover change exceeds a preset threshold, that is...

[0035]

[0036] OR

[0037]

[0038] ρ topo A preset threshold is set for the rate of topological change, ρ cover A preset threshold corresponding to the coverage change rate

[0039] The window will then be split using a binary search method.

[0040] The window merging strategy targets adjacent windows. When the rate of change of two adjacent windows is less than half of a preset threshold, they are merged into a larger window.

[0041] Further, step four, pre-generating the ground user service flow matrix, specifically involves the following steps:

[0042] Calculate the spherical distance D(i,j) between the center points of the two blocks using the Haversine formula:

[0043]

[0044] Where, φ i ,λ i Let φ be the latitude and longitude of block i. j ,λ j Let φ be the latitude and longitude of block j, and Δφ = φ j -φ i Δλ=λ j -λ iR represents the Earth's radius.

[0045] According to the gravity model, the traffic intensity from block i to block j is directly proportional to the number of users in both regions and inversely proportional to the distance between them. Therefore, the traffic intensity formula is:

[0046]

[0047] Where λ(i,j,t) is the traffic intensity from block i to block j at time t, P i and P j Let i and j represent the number of users in block i and block j, respectively. D(i,j) represents the spherical distance between block i and block j. α is the distance decay factor. τ(t) represents a time-dependent scaling function. k is an intensity constant, which is adjusted to ensure that the total traffic is consistent with the actual traffic scale. η represents the proportion of new data streams in the streams generated between block i and block j.

[0048] Let f(i,j,t) be the number of flows sent from block i to block j at time t, and let f(i,j,t) follow a Poisson distribution with a rate of λ(i,j,t).

[0049] f(i,j,t)~Poisson(λ(i,j,t))

[0050] The global ground user service flow matrix F is then represented as:

[0051] F t =[f(i,j,t)],i=0,1...11,j=0,1,...,23.

[0052] Furthermore, in step six, a cross-window controller migration problem is constructed based on maximizing the improvement in flow setup time and minimizing migration cost, which is formulated as the following multi-objective optimization problem:

[0053] find C w

[0054]

[0055] f1 indicates that in deployment scheme C w Below, the current time window W w Compared to the previous time window W w-1 The time difference of stream establishment; F w For time window W w The set of business flows within, |F w | Represents the time window W w Total number of internal business flows, F w-1 For the previous time window W w-1 The set of business flows within, |F w-1| indicates the previous time window W w-1 Total number of internal business flows; L w For time window W w Window length, L w-1 For the previous time window W w-1 Window length; R w Indicates the time window W w A set of consecutive time slices, R w-1 Indicates the time window W w-1 A set of consecutive time slices; D f,r The time for establishing the business flow f under time slice r.

[0056] f2 represents the current time window W. w When using deployment scheme C w Migration cost during the time; time window W w If a controller needs to be migrated to node i, then the data migration cost is configured as C. move (i); C add The overhead incurred in configuring a single controller; C remove Remove the overhead incurred by a single controller; E w To remove the set of controllers, |E w | represents the total number of controllers removed; A w For the set of newly added controllers, |A w | represents the total number of newly added controllers; Δ D Establish the time difference Δ between adjacent time windows caused by controller migration operations. min For Δ D The minimum improvement threshold; C Total For time window W w Total migration cost, C max This represents the maximum threshold for total migration cost.

[0057] Furthermore, in step six, the NSGA-II search is used to find the optimal migration scheme within the current window, specifically including the following steps:

[0058] S601: Initialization phase, input network node parameters, block user number matrix, and controller number k; and complete network topology construction and ground user traffic demand generation according to network architecture and ground user service flow model based on gravity model; adaptive time window division obtains a time window number of N. w .

[0059] S602: During the dynamic optimization iteration process, for each time window W i First, the current state is loaded, which means obtaining the topology information of all time slices within the window.

[0060] {Gt |t∈W i}

[0061] And read the optimal controller deployment scheme C from the previous time window. i-1 .

[0062] The multi-objective optimization phase then begins, employing the NSGA-II algorithm.

[0063] First, randomly generate S individuals, each individual being an N-dimensional vector x = (x1, x2, ..., xn) consisting of 0s and 1s. N ), where N is the number of nodes, representing the location of the nodes deployed by the controller:

[0064]

[0065] Population initialization complete.

[0066] Next, fitness evaluation is performed. For each individual deployment plan, the average flow establishment time within the current time window and the time from deployment plan C in the previous time window are calculated. i-1 The migration cost to dynamically migrate to this individual.

[0067] After the evaluation is completed, evolutionary operations are performed, including selection operations based on non-dominated sorting and crowding distance to filter parents, crossover operations to generate offspring by two-point crossover and to force the maintenance of k controller constraints, and mutation operations to randomly replace controller nodes to avoid excessive concentration in the orbital plane.

[0068] After the evolutionary operation, Pareto solution set filtering is performed, and the Pareto front solution set P of the current window is output. i .

[0069] Finally, the network administrator selects the final deployment plan C for the current time window based on business needs. i The solution with the lowest latency is selected by default.

[0070] Finally, if C i With C i-1 If they are different, then calculate the set of nodes involved in the migration operation, including the newly added control set A. i and remove control set E i .

[0071] A i =C i \C i-1

[0072] E i =C i-1 \C i

[0073] E iThe controller in the middle is migrated to A i At the node in the network, update the status of the entire network controller.

[0074] Beneficial effects:

[0075] 1. The SDN controller dynamic deployment method based on adaptive time window provided by this invention addresses the problems of poor adaptability of static deployment strategies and insufficient sensitivity of fixed time window strategies in distributed dynamic networks. First, by analyzing the rate of network state change in real time (such as topology drift rate and traffic fluctuation intensity), the time window partitioning strategy is dynamically adjusted to ensure that the controller reconfiguration frequency is precisely matched with the network dynamics. Second, a joint optimization model is established with multiple objectives such as coverage flow establishment time and migration cost. Through efficient algorithms, a Pareto balance between performance gain and resource consumption is achieved, thereby achieving an optimal balance between topology stability and migration cost.

[0076] 2: The SDN controller dynamic deployment method based on adaptive time window provided by this invention can reduce the average flow establishment time over the entire cycle by 69%, with a maximum reduction of 79%; compared with the fixed time window method, the migration frequency is reduced by 40%, verifying the adaptability of this dynamic strategy in time-varying networks.

[0077] 3. In the network dynamic controller deployment scenario, the time window partitioning mechanism of this invention is designed based on two main considerations: First, compared to static deployment strategies, dynamic time windows can respond to the time-varying characteristics of the network through periodic optimization, thereby effectively solving problems such as poor controller coverage and suboptimal flow paths caused by network time-varying conditions in static deployment schemes. Each time window generates an adapted controller layout based on the relatively stable network state within the current window, ensuring that the control plane always conforms to the spatial distribution of the current network topology and service requirements. Second, to address the frequent migration problem that may result from time-by-time optimization, the time window mechanism aggregates the network dynamic characteristics within a time period and triggers a single optimization decision at the window boundary, reducing the frequency of controller migration. This batch processing method reduces the signaling overhead caused by frequent reconfiguration and reduces the demand for real-time complex calculations, effectively reducing the computational complexity of the algorithm. In summary, controller optimization deployment based on time window partitioning can significantly enhance system stability while maintaining network performance. Attached Figure Description

[0078] Figure 1 Flowchart of the adaptive time window controller migration decision method;

[0079] Figure 2 A flowchart of the inter-window migration decision-making process based on NSGA-II; Detailed Implementation

[0080] The present invention will now be described in detail with reference to the accompanying drawings and embodiments.

[0081] The deployment of SDN controllers in current dynamic networks urgently needs to break through the static technical framework and build an adaptive mechanism with environmental awareness and intelligent trade-off capabilities. This mechanism needs to achieve two fundamental improvements: First, by analyzing the rate of network state change in real time (such as topology drift rate and traffic fluctuation intensity), the time window partitioning strategy should be dynamically adjusted to ensure that the controller reconfiguration frequency is precisely matched with the network dynamics; Second, a joint optimization model should be established that considers multiple objectives such as coverage flow establishment time and migration cost, and a Pareto balance between performance gain and resource consumption should be achieved through efficient algorithms.

[0082] Based on the above principles, the present invention provides a dynamic deployment method for SDN controllers based on adaptive time windows, the process of which is as follows: Figure 1 As shown, it includes the following steps:

[0083] Step 1: For the current business scenario requiring controller deployment, read network node location data and pre-calculate the network topology and shortest path for each time slice, thereby constructing a network model; the network model for dynamic networks targeted by this method can be described as follows:

[0084] Assuming a network with N nodes, the locations of these nodes change in real time due to continuous node movement, resulting in a constantly evolving network topology. This dynamic change poses significant challenges to network management and optimization, especially for tasks such as path planning and load balancing, where traditional static analysis methods often prove inadequate. To effectively address the difficulties posed by this dynamic change, this model introduces the concept of "time slices." The node runtime is divided into several discrete time slices, denoted as r, at regular intervals. Each time slice (corresponding to a specific moment) records the network topology at that moment, resulting in a set R of time slices (the number of time slices is determined based on business requirements). This allows for snapshot-style analysis and optimization of the network state, enabling a relatively stable controller deployment strategy in dynamic environments.

[0085] To describe the topology of dynamic networks, a time-varying undirected graph G can be defined. r (V,E), where V={v1,v2,…,v n Let} represent the set of nodes, and E represent the set of links between nodes, to represent the network topology under time slice r. In this model, all nodes can deploy controllers and all have the function of switches. The controllers communicate with the switches using in-band control (i.e., using existing network links for communication instead of laying additional control links). Define an N-dimensional vector x = (x1, x2, ..., xn) consisting of 0s and 1s. N), indicating the location of the node where the controller is deployed:

[0086]

[0087] Define matrix U to represent the mapping relationship between the controller and the switch:

[0088] Row i, column j:

[0089] Where the subscript i indicates that at node v i Controller c deployed at location i The subscript j indicates that at node v j Switches deployed at the location j .

[0090] Step 2: Pre-calculate the topology change rate and coverage change rate for each time slice.

[0091] The topology change rate is a parameter used to quantify the degree of difference in network topology between adjacent time slices. Its calculation method is as follows:

[0092]

[0093] Where Δ topo (r) represents the topological change rate of time slice r, E r E represents the set of links in time slice r. r-1 E represents the set of links in time slice r-1. r E r-1 Represents set E r The middle does not belong to set E r-1 The set of elements, E r-1 E r Represents set E r-1 The middle does not belong to set E r The set of elements.

[0094] The formula for the rate of change in topology measures the degree of change in network topology by calculating the difference in the number of links between the current time slice and the previous time slice, and then dividing that difference by the total number of links between the two time slices. r-1 ∪E r | represents the number of elements in the set, and AB represents the set of elements in A that are not in B. This parameter helps assess network dynamics and provides decision support for adaptive time window partitioning. By analyzing the rate of topology change, critical periods of network topology change can be identified, thereby optimizing the length of the time window.

[0095] The parameter of coverage change rate is defined to quantify the degree of change in the main coverage nodes of the ground area within two consecutive time windows. Its calculation method is as follows:

[0096]

[0097] Among them, Δ cover (r) represents the rate of change of coverage for time slice r. This indicates the primary overlay node of block b under time slice r; The function is an indicator function. It takes the value 1 when the primary overlay node of block b under time slice r is different from that of time slice r-1, and 0 otherwise; B represents the total number of blocks.

[0098] The formula for the coverage change rate is derived by counting the number of times the primary coverage node of each block changes between two consecutive time slices, and then dividing this number by the total number of blocks B. By analyzing the coverage change rate, time slices with frequent coverage changes in the network can be identified, thus providing a basis for adaptive time window partitioning to adapt to constantly changing coverage requirements.

[0099] Step 3: Perform adaptive time window segmentation; the implementation process of the adaptive time window segmentation mechanism is explained in detail below.

[0100] S301: During the initialization phase, the input includes the set of topology information {G} for all time slices within a node's operating period T. r} and Overlay Map Set The initial window W1 is set to [1,1], indicating that starting from the first time slice, the current window number w is set to 1.

[0101] S302: For each time slice r from 2 to r max The partitioning mechanism performs the following operations:

[0102] 1. Calculate the rate of change

[0103] First, calculate the topological change rate Δ of the current time slice r. topo (r) and coverage change rate Δ cover (r) represents the topological difference and coverage difference between the current time slice and the previous time slice, respectively.

[0104] 2. Merger Conditions

[0105] If the rate of topological change Δ topo (r) and coverage change rate Δ cover (r) are all less than the preset threshold, that is

[0106] Δ topo (r)<θ topo , Δ cover (r)<θ cover (1)

[0107] Then the current window W w Extend to the current time slice r, i.e.

[0108] 3. Boundary Constraints

[0109] If the current time slice r does not meet the above threshold condition, then a new time window W is created. w = [r, r] and update the window number w = w + 1. At the same time, to prevent performance degradation due to excessively long windows, set the maximum window length. To avoid excessive fragmentation, set a minimum window length.

[0110] S303: After completing the initialization and dynamic window expansion steps, this mechanism will enter the post-processing optimization stage, which aims to further optimize the generated time windows. Post-processing optimization mainly includes two operations: window splitting and window merging.

[0111] 1. Window splitting

[0112] The window splitting strategy is used to handle windows with excessively high internal cumulative rates of change. Specifically, if a window W... w If the cumulative rate of topological change or cover change exceeds a preset threshold, that is...

[0113]

[0114] OR

[0115]

[0116] The window will then be split using a binary search method to capture network dynamics more precisely.

[0117] 2. Window merging

[0118] The window merging strategy targets adjacent small windows. When the rate of change of these small windows is low (e.g., less than half a preset threshold), they are merged into a larger window. This operation helps reduce the number of windows, simplifies network management, and avoids excessive fragmentation caused by excessively small windows.

[0119] Step 4: Pre-generate the ground user service flow matrix.

[0120] In this embodiment of the invention, the Earth's surface is divided into 15°×15° latitude and longitude blocks. Latitude is divided into 12 layers, each 15° apart, ranging from [90°-15°×k, 90°-15°×(k+1)], where k = 0, 1, ..., 11. Latitude is also divided into 24 layers, each 15° apart, ranging from [-180°+15°×m, -180°+15°×(m+1)], where m = 0, 1, ..., 23, resulting in a total of 12×24 = 288 blocks. The spherical distance D(i,j) between the center points of two blocks is calculated using the Haversine formula:

[0121]

[0122] Where, φ i ,λ i Let φ be the latitude and longitude of block i, and Δφ = φ j -φ i Δλ=λ j -λ i R represents the Earth's radius.

[0123] The gravitational model, drawing upon the fundamental principles of Newton's law of universal gravitation, is a classic analytical tool widely used to predict the interaction between two regions. This model assumes that the interaction between regions is directly proportional to their size (such as population size) and inversely proportional to the distance between them, thus providing a theoretical framework for quantifying interactions between regions. Its basic principle is as follows:

[0124]

[0125] Where F represents the gravitational force between the two particles, G represents the gravitational constant, m1 and m2 are the masses of the two particles, and d is the distance between the two particles.

[0126] According to the gravity model, the traffic intensity from block i to block j is directly proportional to the number of users in both regions and inversely proportional to the distance between them. Therefore, the traffic intensity formula can be derived as follows:

[0127]

[0128] Where λ(i,j,t) is the traffic intensity from block i to block j at time t, P i and P jLet represent the number of users in block i and block j, respectively. D(i,j) represents the spherical distance between block i and block j, which can be calculated using a formula. α is the distance decay factor. τ(t) represents a time-dependent scaling function that dynamically adjusts traffic demand based on the local time of each region, thus more accurately simulating the flow volume in different time periods. k is an intensity constant, adjusted to ensure the total traffic matches the actual traffic scale. η represents the proportion of new data flows in the flows generated between block i and block j. Let f(i,j,t) be the number of flows sent from block i to block j at time t. Assuming it follows a Poisson distribution with a rate of λ(i,j,t), that is:

[0129] f(i,j,t)~Poisson(λ(i,j,t))

[0130] In summary, the global ground user service flow matrix F can be expressed as:

[0131] F t =[f(i,j,t)],i=0,1...11,j=0,1,...,23

[0132] Step 5: Determine whether all window migration scheme calculations have been completed. If completed, the process ends; otherwise, proceed to Step 6.

[0133] Step 6: Construct a cross-window controller migration problem based on maximizing the improvement in flow setup time and minimizing migration cost, and use NSGA-II to search for the optimal migration scheme within the current window;

[0134] In this embodiment of the invention, the time window partitioning mechanism in the network dynamic controller deployment scenario is designed based on two main considerations: First, compared to static deployment strategies, dynamic time windows can respond to the time-varying characteristics of the network through periodic optimization, thereby effectively solving problems such as poor controller coverage and suboptimal flow paths caused by network time-varying conditions in static deployment schemes. Each time window generates an adapted controller layout based on the relatively stable network state within the current window, ensuring that the control plane always conforms to the spatial distribution of the current network topology and service requirements. Second, to address the frequent migration problem that may result from time-by-time optimization, the time window mechanism aggregates the network dynamic characteristics within a time period and triggers a single optimization decision at the window boundary, reducing the frequency of controller migration. This batch processing method reduces the signaling overhead caused by frequent reconfiguration and reduces the demand for real-time complex calculations, effectively reducing the computational complexity of the algorithm. In summary, controller optimization deployment based on time window partitioning can significantly enhance system stability while maintaining network performance.

[0135] For a specific time period T during which a network node operates, it is divided into several time windows. Specifically, the operating time period of a network node is divided into a continuous sequence of time windows T = {W1, W2, ..., W...}. N}; Each window W w Contains a set of continuous time slices Among them, L w For time window W w The window length, i.e., L w =|R w |

[0136] The specific in-window flow setup time model is as follows:

[0137] Time slice r w,i Under (hereinafter referred to as r), the flow establishment time of business flow f can be expressed as:

[0138]

[0139] Where, d r,i,j f represents the propagation delay between node i and node j in time slice r. src and f dst C represents the source node and destination node of the business flow f, respectively. w Indicates the time window W w Internal controller deployment node set, p f,r δ represents the set of switches along the path f of the service flow. s,f Indicates whether the controller is the source node of the business flow f:

[0140]

[0141] μ s,c This indicates the mapping relationship between the controller and the switch:

[0142]

[0143] Γ c,s,s′ Indicate whether switch s and its upstream switch s′ both belong to controller c:

[0144]

[0145] Time window W w The total flow setup time within is:

[0146]

[0147] Among them, F w For time window W w The set of business flows within the time window W. w The average flow setup time within is:

[0148]

[0149] Among them, |F w | Represents the time window W w Total number of internal business flows.

[0150] To quantitatively describe the performance improvement in flow establishment time between adjacent time windows, a performance metric is introduced: the difference in flow establishment time between the previous time window and the current time window. This metric is used to measure the degree of improvement in flow establishment efficiency.

[0151]

[0152] Cross-window controller migration cost model

[0153] The controller migration process incurs three types of costs: the cost of removing the old controller, the cost of configuring the new controller, and the cost of the migration operation. These three types of costs will be analyzed and explained in detail below.

[0154] Old controller removal overhead

[0155] During the dynamic migration of SDN controllers, the overhead of removing the old controller refers to the total time cost required to unload the controller from the old node. Its core consists of two parts: resource release and state backup. Resource release aims to reclaim the computing resources occupied by the old node, ensuring they can be reused by other tasks. State backup is to prevent the loss of critical runtime data after the controller is unloaded. The overhead of removing a single controller is...

[0156] C remove =T teardown +T backup

[0157] Where T teardown and T backup These represent the overhead of resource release and state backup, respectively.

[0158] New controller configuration overhead

[0159] The overhead of adding a controller refers to the total time required to deploy and activate the SDN controller on the target node. Its core consists of three parts: resource initialization, state synchronization, and protocol handshake. The resource initialization phase involves configuring the necessary computing resources for the target node and starting relevant processes. The state synchronization step aims to obtain the necessary data for controller operation from the controller node closest to the target node. The protocol handshake process aims to establish communication connections between the newly deployed controller and switches, as well as other controllers. These steps are crucial for ensuring a smooth controller migration and continuous network operation. The overhead of configuring a single controller is...

[0160] C add =T init +T sync +T handshake

[0161] Where T init T sync T handshake These represent the overhead incurred by resource initialization, state synchronization, and protocol handshake, respectively.

[0162] Configure data migration overhead

[0163] Controller migration requires copying configuration data from the existing controller closest to the new location; the propagation delay in this process is the configuration data migration overhead. Time window W w The set of controller nodes under C is w Then the set of newly added controllers in this time window is

[0164] A w =C w \C w-1

[0165] The set of controllers to be removed

[0166] E w =C w-1 \C w

[0167] The set of unchanged controllers is

[0168] H w =C w ∩C w-1

[0169] If time window W w If a controller needs to be migrated to node i, then the data migration cost is configured as follows:

[0170] C move (i)=d(i,π(i))

[0171] in

[0172]

[0173] This represents the nearest unchanged controller to node i.

[0174] In summary, time window W w The total migration cost is

[0175]

[0176] Among them, |Aw | represents the number of newly added controllers, |E w | indicates the number of controllers removed.

[0177] Dynamic deployment problem modeling

[0178] Determining which controllers need to be migrated and to which nodes they should be migrated to focuses on two main optimization objectives: First, maximizing the difference in flow establishment time between the current and previous time windows. Given the drastic dynamic changes in network topology during operation, the controller deployment scheme of the previous time window is often difficult to adapt to the needs of the current window. Therefore, it is necessary to shorten the flow establishment time as much as possible by reasonably migrating controllers. Second, minimizing migration costs. While effectively reducing flow establishment time through controller migration, it is essential to strictly control the time overhead incurred during the migration process and seek the optimal balance between optimizing flow establishment time and controlling migration costs.

[0179] If it is necessary to determine the time window W at present w Below is the deployment scheme C after the controller migration. w Let f1 represent the deployment scheme C. w Below, the current time window W w Compared to the previous time window W w-1 Stream establishment time difference:

[0180]

[0181] Let f2 represent the current time window W. w When using deployment scheme C w Migration cost during the process:

[0182]

[0183] The overall optimization objective of this problem is:

[0184] maxαf1

[0185] min(1-α)f2

[0186] Where α∈[0,1] are weighting coefficients, used to reflect the preference between reducing flow establishment time and migration cost during the optimization process. Network administrators can weigh these two optimization objectives according to specific business needs and network conditions.

[0187] Also consider the following constraints. First, constraint (1) ensures that the number of controllers remains the same before and after the migration:

[0188] |A w |=|E w | Constraint (I)

[0189] Constraint (ii) ensures that migration is only allowed when the difference in flow establishment time between adjacent time windows caused by the controller migration operation reaches or exceeds a preset minimum improvement threshold; otherwise, the controller maintains the position of the previous time window.

[0190] If |A w |=|E w |≠0, then Δ D >Δ min Constraint (II)

[0191] This constraint prevents migrations from being triggered by minor improvements, reducing unnecessary resource consumption and network instability.

[0192] Constraint (iii) ensures that the total cost of controller migration does not exceed a pre-set threshold, thus avoiding unnecessary economic burdens due to excessive migration costs and preventing frequent migration operations from negatively impacting network stability and service quality.

[0193] C Total <C max Constraint (III)

[0194] Combining the above objectives and constraints, the cross-window controller migration problem, based on maximizing flow establishment time gains and minimizing migration costs, can be formulated as the following multi-objective optimization problem:

[0195] find C w

[0196]

[0197] f1 indicates that in deployment scheme C w Below, the current time window W w Compared to the previous time window W w-1 The time difference of stream establishment; F w For time window W w The set of business flows within, |F w | Represents the time window W w Total number of internal business flows, F w-1 For the previous time window W w-1 The set of business flows within, |F w-1 | indicates the previous time window W w-1 Total number of internal business flows; L w For time window W w Window length, L w-1 For the previous time window W w-1 Window length; R w Indicates the time window W w A set of consecutive time slices, R w-1 Indicates the time window Ww-1 A set of consecutive time slices; D f,r For time slice r, the flow establishment time of service flow f;

[0198] f2 represents the current time window W. w When using deployment scheme C w Migration cost during the time; time window W w If a controller needs to be migrated to node i, then the data migration cost is configured as C. move (i); C add The overhead incurred in configuring a single controller; C remove Remove the overhead incurred by a single controller; E w To remove the set of controllers, |E w | represents the total number of controllers removed; A w For the set of newly added controllers, |A w | represents the total number of newly added controllers; Δ D Establish the time difference Δ between adjacent time windows caused by controller migration operations. min For Δ D The minimum improvement threshold; C Total For time window W w Total migration cost, C max This represents the maximum threshold for total migration cost.

[0199] This invention is based on NSGA-II for inter-window migration decision-making, and its process is as follows: Figure 2 As shown, the specific steps include the following:

[0200] S601: Initialization

[0201] During the initialization phase, network node parameters, the block user quantity matrix, and the number of controllers (k) are input. Based on the network architecture and the ground user service flow model based on the gravity model, network topology construction and ground user traffic demand generation are completed. Furthermore, an adaptive time window partitioning mechanism is used to divide the network operation cycle into several time windows, denoted as N. w .

[0202] S602: Dynamic Optimization Iteration

[0203] During the dynamic optimization iteration process, for each time window W i First, the current state is loaded, which means obtaining the topology information of all time slices within the window.

[0204] {G t |t∈W i}

[0205] And read the optimal controller deployment scheme C from the previous time window. i-1The multi-objective optimization phase then begins, employing the NSGA-II algorithm.

[0206] First, randomly generate S individuals, each individual being an N-dimensional vector x = (x1, x2, ..., xn) consisting of 0s and 1s. N ), where N is the number of nodes, representing the location of the nodes deployed by the controller:

[0207]

[0208] Population initialization is complete. Next, fitness evaluation is performed. For each individual's deployment plan, the average flow establishment time within the current time window and the time from the previous time window's deployment plan C are calculated. i-1 The migration cost to this individual is dynamically calculated. After evaluation, evolutionary operations are performed, including selection of parents based on non-dominated ranking and crowding distance, crossover to generate offspring using two-point crossover while maintaining k controller constraints, and mutation to randomly replace controller nodes to avoid over-concentration within the orbital plane. After the evolutionary operations, Pareto solution set selection is performed, and the Pareto front solution set P of the current window is output. i Finally, the network administrator selects the most suitable final deployment solution C based on business needs and the current time window. i The solution with the lowest latency is selected by default. Finally, if C i With C i-1 If they are different, then calculate the set of nodes involved in the migration operation, including the newly added control set A. i and remove control set E i

[0209] A i =C i \C i-1

[0210] E i =C i-1 \C i

[0211] E i The controller in the middle is migrated to A i At the node in the network, update the status of the entire network controller.

[0212] Step 7: Output the Pareto optimal set for the current time window and determine the required deployment plan.

[0213] Step 8: Return to Step 5.

[0214] In this embodiment of the invention, a complete simulation system was built using STK and Python. This simulation system enables controller deployment decisions for software-defined LEO satellite networks. The complete simulation process mainly consists of the following steps: First, STK software is used to dynamically simulate the target satellite constellation, collecting the three-dimensional position coordinate data of each satellite at different times using time slicing. Then, the simulated satellite position information is exported to an Excel spreadsheet for structured storage according to the time series. Next, the Pandas library in Python is used to read and parse the spatiotemporal data in the Excel spreadsheet, converting it into a set of timestamp-satellite node spatiotemporal coordinates. Based on this, a dynamic network topology model is constructed using the NetworkX library—for each time slice, a corresponding graph structure network is generated according to the inter-satellite link connection rules. Finally, based on the aforementioned algorithm, an algorithm simulation program is developed. After inputting the constructed network topology and algorithm parameters, the optimal controller deployment scheme is output, and the results are analyzed.

[0215] In summary, the above are merely preferred embodiments of the present invention and are not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.

Claims

1. A dynamic deployment method for SDN controllers based on adaptive time windows, characterized in that, include: Step 1: For the current business scenario that requires controller deployment, read the network node location data and pre-calculate the network topology and shortest path for each time slice, and then build a network model; Step 2: Pre-calculate the topology change rate and coverage change rate for each time slice; Step 3: Perform adaptive time window division; Step 4: Pre-generate the ground user service flow matrix; Step 5: Determine whether all window migration scheme calculations have been completed. If completed, the process ends; otherwise, proceed to Step 6. Step Six: Construct a cross-window controller migration problem based on maximizing the improvement in flow setup time and minimizing migration cost, and use NSGA-II to search for the optimal migration solution within the current window; the cross-window controller migration problem based on maximizing the improvement in flow setup time and minimizing migration cost is formulated as the following multi-objective optimization problem: Indicating in the deployment plan Below, the current time window Compared to the previous time window The time difference between stream establishment; For time window The set of business flows within, Indicates time window Total number of internal business flows For the previous time window The set of business flows within, Indicates the previous time window Total number of internal business flows; For time window Window length, For the previous time window Window length; R w Indicates time window A set of consecutive time slices, R w-1 Indicates time window It contains a set of consecutive time slices; For time slices Next, business flow Stream establishment time; Indicates the current time window When adopting a deployment scheme Migration cost during the time; time window A controller needs to be migrated to a node. In this case, the data migration cost is configured as follows: ; The overhead incurred in configuring a single controller; Remove the overhead incurred by a single controller; To remove the collection of controllers, The total number of controllers to be removed; For the collection of newly added controllers, This represents the total number of newly added controllers; Establish the time difference for the flow between adjacent time windows caused by controller migration operations. for The minimum improvement threshold; For time window The total migration cost, This represents the maximum threshold for total migration cost. Step 7: Output the Pareto optimal set for the current time window to determine the required deployment plan; Step 8: Return to Step 5.

2. The method as described in claim 1, characterized in that, Step two involves calculating the topological change rate for each time slice using the following method: The topology change rate is used to quantify the degree of difference in network topology between adjacent time slices, and its calculation method is as follows: in This represents the rate of topological change of time slice r. Indicates time slice The set of links, This represents the set of links in time slice r-1. Represents a set The middle does not belong to the set The set of elements, Represents a set The middle does not belong to the set The set of elements.

3. The method as described in claim 1, characterized in that, Step two involves calculating the coverage change rate for each time slice using the following method: The coverage change rate is used to quantify the degree of change in the main coverage nodes of the ground area within two consecutive time windows, and its calculation method is as follows: in, This represents the rate of change of coverage for time slice r. Indicates time slice Next block The main coverage node; As an indicator function, when the time slice Next block Main Coverage Node and Time Slice If they are different, the value is 1; otherwise, it is 0. This indicates the total number of blocks.

4. The method as described in claim 1, characterized in that, Step three involves adaptive time window segmentation using the following steps: S301: Input includes a node runtime cycle. The set of topological information for all time slices within the time slice. and overlay map set Initial window Set as This indicates the current window number starting from the first time slice. Set to 1; S302: For each time slice From 2 to The partitioning mechanism performs the following operations: First, calculate the current time slice. topological change rate and coverage change rate , representing the topological and coverage differences between the current time slice and the previous time slice, respectively; If the rate of topological change and coverage change rate All are less than the preset threshold, i.e. Then the current window Extend to the current time slice ,Right now ; If the current time slice If the above threshold conditions are not met, a new time window will be created. And update the window number. Simultaneously set the maximum window length. and minimum window length ; This completes the adaptive window division.

5. The method as described in claim 4, characterized in that, Step three, after completing initialization S301 and dynamic window expansion S302, enters the post-processing optimization stage, the purpose of which is to further optimize the generated time window; the post-processing optimization mainly includes two operations: window splitting and window merging; The window splitting strategy is used to handle windows whose internal cumulative rate of change exceeds a preset threshold. If a window... If the cumulative rate of topological change or cover change exceeds a preset threshold, that is... ; ρ topo A preset threshold is set for the rate of topological change, ρ cover A preset threshold corresponding to the coverage change rate The window will then be split using a binary search method; The window merging strategy targets adjacent windows. When the rate of change of two adjacent windows is less than half of a preset threshold, they are merged into a larger window.

6. The method as described in claim 1, characterized in that, Step four, pre-generating the ground user service flow matrix, is specifically executed as follows: Calculate the spherical distance between the center points of the two blocks using the Haversine formula. : in, For blocks i latitude and longitude For blocks j latitude and longitude , , Indicates the Earth's radius; According to the gravity model, the block To block Traffic intensity is directly proportional to the number of users in the two regions and inversely proportional to the distance between the two regions. Therefore, the traffic intensity formula is: in, For blocks To block At any moment The flow intensity below, and Representing blocks and blocks The number of users, Represents a block and blocks The spherical distance between them For distance attenuation factor, This represents a scaling function associated with time. As a constant of strength, adjust To ensure that the total traffic volume matches the actual traffic volume, Represents a block and blocks The proportion of new data streams in the streams generated between them; Timekeeping By block Send to block The number of streams is And it follows a Poisson distribution with a rate of ,Right now: Then the global ground user business flow matrix Represented as: 。 7. The method as described in claim 1, characterized in that, In step six, the NSGA-II search is used to find the optimal migration scheme within the current window, which specifically includes the following steps: S601: Initialization phase, input network node parameters, block user number matrix, and controller number k; and complete network topology construction and ground user traffic demand generation according to network architecture and ground user service flow model based on gravity model; the adaptive time window division obtains the number of time windows as follows: ; S602: During the dynamic optimization iteration process, for each time window First, load the current state, that is, obtain the topology information of all time slices within the window; And read the optimal controller deployment plan from the previous time window. ; Then, the multi-objective optimization phase is entered, using the NSGA-II algorithm; First, generate randomly. S There are 1 individual, each consisting of 0 and 1. N dimensional vector ,in N The number of nodes indicates the location of the nodes deployed by the controller. Complete population initialization; Next, fitness assessment is performed. For each individual deployment plan, the average flow establishment time within the current time window and the time from the deployment plan in the previous time window are calculated. The migration cost to this individual; After the evaluation is completed, evolutionary operations are performed, including selection of parents based on non-dominated ranking and crowding distance, generation of offspring using two-point crossover and forced preservation. k Cross operations of controller constraints, and mutation operations that randomly replace controller nodes to avoid excessive concentration within the orbital plane; After the evolutionary operation, Pareto solution set filtering is performed, and the Pareto front solution set of the current window is output. ; Finally, the network administrator selects the final deployment plan for the current time window based on business needs. The solution with the lowest latency is selected by default. Finally, if and If they differ, the set of nodes involved in the migration operation is calculated, including the newly added control set. and remove control set ; Will Controller migration in At the node in the network, update the status of the entire network controller.